diff options
16 files changed, 838 insertions, 62 deletions
diff --git a/app-admin/lnav/Manifest b/app-admin/lnav/Manifest index f458805e36e4..384cccc9a04c 100644 --- a/app-admin/lnav/Manifest +++ b/app-admin/lnav/Manifest @@ -1,2 +1 @@ -DIST lnav-0.11.0.tar.gz 9586979 BLAKE2B fa333d2dbc3c2a5cb8b96ea4cbf84412be117b9d9ec999bab784e7aefab25cd01edcb65617468b8a1fbc46d554cf20a02bc901c9d75f2c5831359da37a19fd22 SHA512 f10938aacb1e170a6912090c5de8e85e9aae5bc456e57b49192a21020e7dfa20414d1f5b66fd25b3c1ea5a3d1fd3bd92af6fe7e0c6b73953688c3d861266fd97 DIST lnav-0.11.1.tar.gz 10268167 BLAKE2B d490c6798685e80021437e1771742dee59c3b5109a43591581f4ddc15528c5b616ab915418fa78b7cf13a82bce582baf0516b5b2339f5fa32054359c21908852 SHA512 6c7d2b603ee04bb2cee16bf28b0161ebe7bf3ec838bed765f9852f79ee1ff8a56691dcaa66998e0ef58f16f16274bf93c7f2eb8f2e58264faf284bcfd25818ef diff --git a/app-admin/lnav/lnav-0.11.0.ebuild b/app-admin/lnav/lnav-0.11.0.ebuild deleted file mode 100644 index 7847867ce5a0..000000000000 --- a/app-admin/lnav/lnav-0.11.0.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic - -DESCRIPTION="A curses-based tool for viewing and analyzing log files" -HOMEPAGE="https://lnav.org" -SRC_URI="https://github.com/tstack/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="pcap test" -RESTRICT="!test? ( test )" - -RDEPEND=" - app-arch/bzip2:0= - app-arch/libarchive:= - >=dev-db/sqlite-3.9.0 - dev-libs/libpcre[cxx] - >=net-misc/curl-7.23.0 - sys-libs/ncurses:= - sys-libs/readline:= - sys-libs/zlib:= - pcap? ( net-analyzer/wireshark[tshark] )" -# The tests use ssh-keygen and use dsa and rsa keys (which is why ssl is required) -DEPEND="${RDEPEND} - test? ( - net-misc/openssh[ssl] - dev-cpp/doctest - )" - -DOCS=( AUTHORS NEWS README ) - -PATCHES=( - "${FILESDIR}"/${PN}-0.11.0-disable-tests.patch - # https://github.com/tstack/lnav/pull/1041 - "${FILESDIR}"/${PN}-0.11.0-conditional-ssh-keygen.patch -) - -src_prepare() { - default - - eautoreconf -} - -src_configure() { - filter-lto - - econf \ - --disable-static \ - --with-ncurses \ - $(use_with test system-doctest) -} diff --git a/app-office/libreoffice/libreoffice-7.4.9999.ebuild b/app-office/libreoffice/libreoffice-7.4.9999.ebuild index 738a0daa6f5e..36ed04a552ca 100644 --- a/app-office/libreoffice/libreoffice-7.4.9999.ebuild +++ b/app-office/libreoffice/libreoffice-7.4.9999.ebuild @@ -181,7 +181,7 @@ COMMON_DEPEND="${PYTHON_DEPS} ) coinmp? ( sci-libs/coinor-mp ) cups? ( net-print/cups ) - dbus? ( sys-apps/dbus[X] ) + dbus? ( sys-apps/dbus ) eds? ( dev-libs/glib:2 gnome-base/dconf diff --git a/app-office/libreoffice/libreoffice-7.5.9999.ebuild b/app-office/libreoffice/libreoffice-7.5.9999.ebuild index b00d6175767d..941b2c21607a 100644 --- a/app-office/libreoffice/libreoffice-7.5.9999.ebuild +++ b/app-office/libreoffice/libreoffice-7.5.9999.ebuild @@ -180,7 +180,7 @@ COMMON_DEPEND="${PYTHON_DEPS} ) coinmp? ( sci-libs/coinor-mp ) cups? ( net-print/cups ) - dbus? ( sys-apps/dbus[X] ) + dbus? ( sys-apps/dbus ) eds? ( dev-libs/glib:2 gnome-base/dconf diff --git a/app-office/libreoffice/libreoffice-9999.ebuild b/app-office/libreoffice/libreoffice-9999.ebuild index 2d2b44bdb227..3f227c0a320f 100644 --- a/app-office/libreoffice/libreoffice-9999.ebuild +++ b/app-office/libreoffice/libreoffice-9999.ebuild @@ -179,7 +179,7 @@ COMMON_DEPEND="${PYTHON_DEPS} ) coinmp? ( sci-libs/coinor-mp ) cups? ( net-print/cups ) - dbus? ( sys-apps/dbus[X] ) + dbus? ( sys-apps/dbus ) eds? ( dev-libs/glib:2 gnome-base/dconf diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.0-userscripts-loading.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.0-userscripts-loading.patch new file mode 100644 index 000000000000..6a5802829bb4 --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-6.5.0-userscripts-loading.patch @@ -0,0 +1,112 @@ +https://github.com/qutebrowser/qutebrowser/issues/7662 +https://bugreports.qt.io/browse/QTBUG-113109 + +https://codereview.qt-project.org/c/qt/qtwebengine/+/474114 +From: Allan Sandfeld Jensen <allan.jensen@qt.io> +Date: Mon, 24 Apr 2023 17:33:17 +0200 +Subject: [PATCH] Fix user script management when subframes are present + +Only the main frames should administer scripts associated with it. + +Pick-to: 6.5 +Fixes: QTBUG-113109 +Change-Id: Ibda66f55ef99da632134a9de1425797262faba9b +--- a/src/core/renderer/user_resource_controller.cpp ++++ b/src/core/renderer/user_resource_controller.cpp +@@ -289,10 +289,11 @@ + FrameUserScriptMap::iterator it = m_frameUserScriptMap.find(renderFrame); + if (it == m_frameUserScriptMap.end()) // ASSERT maybe? + return; +- for (uint64_t id : std::as_const(it.value())) { +- m_scripts.remove(id); ++ if (renderFrame->IsMainFrame()) { ++ for (uint64_t id : std::as_const(it.value())) ++ m_scripts.remove(id); + } +- m_frameUserScriptMap.remove(renderFrame); ++ m_frameUserScriptMap.erase(it); + } + + void UserResourceController::addScriptForFrame(const QtWebEngineCore::UserScriptData &script, +@@ -304,7 +305,8 @@ + + if (!(*it).contains(script.scriptId)) + (*it).append(script.scriptId); +- m_scripts.insert(script.scriptId, script); ++ if (!frame || frame->IsMainFrame()) ++ m_scripts.insert(script.scriptId, script); + } + + void UserResourceController::removeScriptForFrame(const QtWebEngineCore::UserScriptData &script, +@@ -315,7 +317,8 @@ + return; + + (*it).removeOne(script.scriptId); +- m_scripts.remove(script.scriptId); ++ if (!frame || frame->IsMainFrame()) ++ m_scripts.remove(script.scriptId); + } + + void UserResourceController::clearScriptsForFrame(content::RenderFrame *frame) +@@ -323,8 +326,10 @@ + FrameUserScriptMap::iterator it = m_frameUserScriptMap.find(frame); + if (it == m_frameUserScriptMap.end()) + return; +- for (uint64_t id : std::as_const(it.value())) +- m_scripts.remove(id); ++ if (!frame || frame->IsMainFrame()) { ++ for (uint64_t id : std::as_const(it.value())) ++ m_scripts.remove(id); ++ } + + m_frameUserScriptMap.remove(frame); + } +--- a/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp ++++ b/tests/auto/widgets/qwebenginescript/tst_qwebenginescript.cpp +@@ -76,6 +76,7 @@ + void scriptsInNestedIframes(); + void matchQrcUrl(); + void injectionOrder(); ++ void reloadWithSubframes(); + }; + + void tst_QWebEngineScript::domEditing() +@@ -694,6 +695,38 @@ + QTRY_COMPARE(page.log, expected); + } + ++void tst_QWebEngineScript::reloadWithSubframes() ++{ ++ class Page : public QWebEnginePage ++ { ++ public: ++ Page() : QWebEnginePage() {} ++ QVector<QString> log; ++ ++ protected: ++ void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel, const QString &message, int, ++ const QString &) override ++ { ++ log.append(message); ++ } ++ } page; ++ ++ QWebEngineScript s; ++ s.setInjectionPoint(QWebEngineScript::DocumentCreation); ++ s.setSourceCode(QStringLiteral("console.log('Hello');")); ++ page.scripts().insert(s); ++ ++ page.setHtml(QStringLiteral("<body>" ++ " <h1>Test scripts working on reload </h1>" ++ " <iframe src='about://blank'>" ++ " </iframe>" ++ "</body>")); ++ QTRY_COMPARE(page.log.size(), 1); ++ ++ page.triggerAction(QWebEnginePage::Reload); ++ QTRY_COMPARE(page.log.size(), 2); ++} ++ + QTEST_MAIN(tst_QWebEngineScript) + + #include "tst_qwebenginescript.moc" diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.0-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.0-r2.ebuild index f8bac25f51b1..912effe24979 100644 --- a/dev-qt/qtwebengine/qtwebengine-6.5.0-r1.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-6.5.0-r2.ebuild @@ -87,7 +87,10 @@ DEPEND="${RDEPEND} media-libs/libglvnd " -PATCHES=( "${FILESDIR}/${PN}-6.5.0-gcc-13-build.patch" ) +PATCHES=( + "${FILESDIR}/${PN}-6.5.0-gcc-13-build.patch" + "${FILESDIR}/${PN}-6.5.0-userscripts-loading.patch" +) python_check_deps() { python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]" diff --git a/games-emulation/mgba-jg/Manifest b/games-emulation/mgba-jg/Manifest index cc60171758b9..eed77a8b3f25 100644 --- a/games-emulation/mgba-jg/Manifest +++ b/games-emulation/mgba-jg/Manifest @@ -1 +1,2 @@ DIST mgba-0.10.1.tar.bz2 12984463 BLAKE2B 8cdd3ee302ba29febbdd255582b2c071543bbe9e483a302c2e2116444662ace9e8988acead32be2b84361b6145099a1a76c2391a938069e3dddba83e76070842 SHA512 69d7f1a8973159cf6dab21aa669bd29e8344efad1a5ffaa77fc94ad02ce1f3c2f74692bdce896cee394ffcdbecfe7d91c0f51bc89fbb65a16cf44801e26d8412 +DIST mgba-0.10.2.tar.bz2 12925327 BLAKE2B 73a4a969ea99cde7d928d04ef43208b378784c73f39f6e8bc62f02da3df31ff45c82360cd3184b94e835a355bb3ccb05c2f7b70290aa886a1df7619e319cfb56 SHA512 6bf50bf4ec172fae8a8f5495bbed646f32f978ffcf271531aecea1b56b69788da1ea84bbbab4d22ae5bec0a4e64035209d5719bb5d574981770b7cd3a531798b diff --git a/games-emulation/mgba-jg/mgba-jg-0.10.2.ebuild b/games-emulation/mgba-jg/mgba-jg-0.10.2.ebuild new file mode 100644 index 000000000000..11cad347f454 --- /dev/null +++ b/games-emulation/mgba-jg/mgba-jg-0.10.2.ebuild @@ -0,0 +1,45 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_PN=${PN%-*} +MY_P=${MY_PN}-${PV} +DESCRIPTION="Jolly Good Port of mGBA" +HOMEPAGE="https://gitlab.com/jgemu/mgba" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/jgemu/${MY_PN}.git" +else + SRC_URI="https://gitlab.com/jgemu/${MY_PN}/-/archive/${PV}/${MY_P}.tar.bz2" + S="${WORKDIR}/${MY_P}" + KEYWORDS="~amd64" +fi + +LICENSE="BSD-2 MPL-2.0" +SLOT="1" + +DEPEND=" + media-libs/jg:1= +" +RDEPEND=" + ${DEPEND} + games-emulation/jgrf +" +BDEPEND=" + virtual/pkgconfig +" + +src_compile() { + emake -C jollygood CC="$(tc-getCC)" PKG_CONFIG="$(tc-getPKG_CONFIG)" +} + +src_install() { + emake -C jollygood install \ + DESTDIR="${D}" \ + PREFIX="${EPREFIX}"/usr \ + DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" +} diff --git a/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-ar.patch b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-ar.patch new file mode 100644 index 000000000000..fbd6ca925945 --- /dev/null +++ b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-ar.patch @@ -0,0 +1,42 @@ +https://github.com/OpenSMTPD/OpenSMTPD/pull/1199 +https://bugs.gentoo.org/720782 + +From 92ada4471602fc737113b8dfe1b9b8e8e0aab7e0 Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Tue, 25 Apr 2023 09:13:51 -0700 +Subject: [PATCH] configure: Use AM_PROG_AR + +Automake provides AM_PROG_AR as a standard way of finding ar(1). + +Reference: https://www.gnu.org/software/automake/manual/html_node/Public-Macros.html + +Closes: https://github.com/OpenSMTPD/OpenSMTPD/pull/1177 +--- + configure.ac | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 00450485..5b12b67e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -67,7 +67,7 @@ AC_C_BIGENDIAN + AC_PROG_CPP + AC_PROG_INSTALL + AC_PROG_LIBTOOL +-AC_PATH_PROG([AR], [ar]) ++AM_PROG_AR + AC_PATH_PROG([CAT], [cat]) + AC_PATH_PROG([CHMOD], [chmod]) + AC_PATH_PROG([CHOWN], [chown]) +@@ -84,11 +84,6 @@ AC_PROG_YACC + + AC_SUBST([ZCAT]) + +- +-if test -z "$AR"; then +- AC_MSG_ERROR([*** 'ar' missing, please install or fix your \$PATH ***]) +-fi +- + if test -z "$LD"; then + LD=$CC + fi diff --git a/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch new file mode 100644 index 000000000000..11af2aa7630c --- /dev/null +++ b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch @@ -0,0 +1,303 @@ +https://github.com/OpenSMTPD/OpenSMTPD/pull/1195 +https://bugs.gentoo.org/727260 +https://bugs.gentoo.org/896050 +https://bugs.gentoo.org/899876 + +From 7abe6305f864113aec4c6fc55cccabdc55959252 Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Thu, 13 Apr 2023 11:04:14 -0700 +Subject: [PATCH] build: Fix -Werror=implicit-function-declaration + +On a system with musl these functions are not available, but they are +found by the build system inside of libbsd instead. However many of the +relevant headers are never incuded resulting in many implicit function +declarations. Additionally clang-16 is more strict about these turning +them into errors. + +* While libbsd contains symbols for inet_net_pton() they do not have any + headers with the function prototype. Upstream has marked this function + for removal since it is now provided in glibc even when musl doesn't + have it. This can be fixed by not looking for inet_net_pton() in libbsd. +--- + configure.ac | 6 +++++- + openbsd-compat/openbsd-compat.h | 4 +++- + usr.sbin/smtpd/aliases.c | 3 +++ + usr.sbin/smtpd/config.c | 6 ++++++ + usr.sbin/smtpd/control.c | 3 +++ + usr.sbin/smtpd/envelope.c | 3 +++ + usr.sbin/smtpd/forward.c | 3 +++ + usr.sbin/smtpd/mail.maildir.c | 1 + + usr.sbin/smtpd/mda.c | 2 ++ + usr.sbin/smtpd/mda_variables.c | 3 +++ + usr.sbin/smtpd/mta_session.c | 3 +++ + usr.sbin/smtpd/parse.y | 3 +++ + usr.sbin/smtpd/smtp_session.c | 2 ++ + usr.sbin/smtpd/ssl.c | 6 ++++++ + usr.sbin/smtpd/table.c | 3 +++ + usr.sbin/smtpd/to.c | 3 +++ + usr.sbin/smtpd/util.c | 3 +++ + 17 files changed, 55 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c215f3bf..cf6fa675 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -119,6 +119,10 @@ AC_SUBST([MANFMT]) + # + AC_CHECK_HEADERS([ \ + arpa/nameser_compat.h \ ++ bsd/stdlib.h \ ++ bsd/string.h \ ++ bsd/unistd.h \ ++ bsd/vis.h \ + crypt.h \ + dirent.h \ + err.h \ +@@ -442,7 +446,7 @@ AC_SEARCH_LIBS([dirname], + ]) + + AC_SEARCH_LIBS([inet_net_pton], +- [resolv bsd], ++ [resolv], + [ + AC_DEFINE([HAVE_INET_NET_PTON], [1], + [Define if you have the inet_net_pton() function.]) +diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h +index dcb643f1..5bebd78b 100644 +--- a/openbsd-compat/openbsd-compat.h ++++ b/openbsd-compat/openbsd-compat.h +@@ -41,7 +41,9 @@ + + #include <sys/queue.h> + #include <sys/tree.h> ++#ifndef HAVE_BSD_VIS_H + #include "bsd-vis.h" ++#endif + + #ifdef HAVE_SYS_TIME_H + #include <sys/time.h> +@@ -67,7 +69,7 @@ size_t strlcpy(char *dst, const char *src, size_t size); + size_t strlcat(char *dst, const char *src, size_t size); + #endif + +-#ifndef HAVE_STRMODE ++#if !defined(HAVE_STROMODE) && !defined(HAVE_BSD_STRING_H) + void strmode(int mode, char *p); + #endif + +diff --git a/usr.sbin/smtpd/aliases.c b/usr.sbin/smtpd/aliases.c +index 0f8a5c1e..f66d13e4 100644 +--- a/usr.sbin/smtpd/aliases.c ++++ b/usr.sbin/smtpd/aliases.c +@@ -37,6 +37,9 @@ + #ifdef HAVE_LIBUTIL_H + #include <libutil.h> + #endif ++#ifdef HAVE_BSD_LIBUTIL_H ++#include <bsd/libutil.h> /* needed for fparseln */ ++#endif + + #include "smtpd.h" + #include "log.h" +diff --git a/usr.sbin/smtpd/config.c b/usr.sbin/smtpd/config.c +index 8fe983d6..e1056b1d 100644 +--- a/usr.sbin/smtpd/config.c ++++ b/usr.sbin/smtpd/config.c +@@ -30,9 +30,15 @@ + #include <netdb.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for freezero */ ++#endif + #include <limits.h> + #include <string.h> + #include <unistd.h> ++#ifdef HAVE_BSD_UNISTD_H ++#include <bsd/unistd.h> /* needed for setproctitle */ ++#endif + + #include <openssl/ssl.h> + +diff --git a/usr.sbin/smtpd/control.c b/usr.sbin/smtpd/control.c +index dbb2840d..b9f0df88 100644 +--- a/usr.sbin/smtpd/control.c ++++ b/usr.sbin/smtpd/control.c +@@ -40,6 +40,9 @@ + #include <string.h> + #include <time.h> + #include <unistd.h> ++#ifdef HAVE_BSD_UNISTD_H ++#include <bsd/unistd.h> /* needed for getpeereid */ ++#endif + #include <limits.h> + + #include "smtpd.h" +diff --git a/usr.sbin/smtpd/envelope.c b/usr.sbin/smtpd/envelope.c +index 35d98b79..0bb45aae 100644 +--- a/usr.sbin/smtpd/envelope.c ++++ b/usr.sbin/smtpd/envelope.c +@@ -39,6 +39,9 @@ + #include <limits.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <time.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/forward.c b/usr.sbin/smtpd/forward.c +index 7494c6ce..cf8dc6ef 100644 +--- a/usr.sbin/smtpd/forward.c ++++ b/usr.sbin/smtpd/forward.c +@@ -36,6 +36,9 @@ + #ifdef HAVE_LIBUTIL_H + #include <libutil.h> + #endif ++#ifdef HAVE_BSD_LIBUTIL_H ++#include <bsd/libutil.h> /* needed for fparseln */ ++#endif + #include <unistd.h> + #include <limits.h> + +diff --git a/usr.sbin/smtpd/mail.maildir.c b/usr.sbin/smtpd/mail.maildir.c +index fe6adba6..1f613b36 100644 +--- a/usr.sbin/smtpd/mail.maildir.c ++++ b/usr.sbin/smtpd/mail.maildir.c +@@ -34,6 +34,7 @@ + #include <string.h> + #include <time.h> + #include <sysexits.h> ++#include <time.h> + #include <unistd.h> + + #define MAILADDR_ESCAPE "!#$%&'*/?^`{|}~" +diff --git a/usr.sbin/smtpd/mda.c b/usr.sbin/smtpd/mda.c +index 5e8fec19..9bc31be6 100644 +--- a/usr.sbin/smtpd/mda.c ++++ b/usr.sbin/smtpd/mda.c +@@ -44,6 +44,8 @@ + #include <limits.h> + #if defined(HAVE_VIS_H) && !defined(BROKEN_STRNVIS) + #include <vis.h> ++#elif defined(HAVE_BSD_VIS_H) ++#include <bsd/vis.h> /* needed for strnvis */ + #else + #include "bsd-vis.h" + #endif +diff --git a/usr.sbin/smtpd/mda_variables.c b/usr.sbin/smtpd/mda_variables.c +index b672e492..10cb1cd0 100644 +--- a/usr.sbin/smtpd/mda_variables.c ++++ b/usr.sbin/smtpd/mda_variables.c +@@ -29,6 +29,9 @@ + #include <imsg.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <unistd.h> + #include <limits.h> +diff --git a/usr.sbin/smtpd/mta_session.c b/usr.sbin/smtpd/mta_session.c +index 327502b7..72f8d29b 100644 +--- a/usr.sbin/smtpd/mta_session.c ++++ b/usr.sbin/smtpd/mta_session.c +@@ -42,6 +42,9 @@ + #include <signal.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <time.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/parse.y b/usr.sbin/smtpd/parse.y +index a82f8206..6510936d 100644 +--- a/usr.sbin/smtpd/parse.y ++++ b/usr.sbin/smtpd/parse.y +@@ -50,6 +50,9 @@ + #include <resolv.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <syslog.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/smtp_session.c b/usr.sbin/smtpd/smtp_session.c +index e8167fca..8bc877ea 100644 +--- a/usr.sbin/smtpd/smtp_session.c ++++ b/usr.sbin/smtpd/smtp_session.c +@@ -43,6 +43,8 @@ + #include <unistd.h> + #if defined(HAVE_VIS_H) && !defined(BROKEN_STRNVIS) + #include <vis.h> ++#elif defined(HAVE_BSD_VIS_H) ++#include <bsd/vis.h> /* needed for strnvis */ + #else + #include "bsd-vis.h" + #endif +diff --git a/usr.sbin/smtpd/ssl.c b/usr.sbin/smtpd/ssl.c +index 97f7b1df..1ef692e5 100644 +--- a/usr.sbin/smtpd/ssl.c ++++ b/usr.sbin/smtpd/ssl.c +@@ -34,7 +34,13 @@ + #include <pwd.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for freezero */ ++#endif + #include <string.h> ++#ifdef HAVE_BSD_STRING_H ++#include <bsd/string.h> /* needed for strmode */ ++#endif + #include <unistd.h> + + #include <openssl/ssl.h> +diff --git a/usr.sbin/smtpd/table.c b/usr.sbin/smtpd/table.c +index 6d3292ce..ed3ba6d3 100644 +--- a/usr.sbin/smtpd/table.c ++++ b/usr.sbin/smtpd/table.c +@@ -34,6 +34,9 @@ + #include <imsg.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <regex.h> + #include <limits.h> + #include <string.h> +diff --git a/usr.sbin/smtpd/to.c b/usr.sbin/smtpd/to.c +index 81a1bb54..1068b1a9 100644 +--- a/usr.sbin/smtpd/to.c ++++ b/usr.sbin/smtpd/to.c +@@ -43,6 +43,9 @@ + #include <stdarg.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <time.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/util.c b/usr.sbin/smtpd/util.c +index b2b1458c..7b1b5876 100644 +--- a/usr.sbin/smtpd/util.c ++++ b/usr.sbin/smtpd/util.c +@@ -47,6 +47,9 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#ifdef HAVE_BSD_STRING_H ++#include <bsd/string.h> /* needed for strmode */ ++#endif + #include <syslog.h> + #include <time.h> + #include <unistd.h> diff --git a/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-strict-prototypes.patch b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-strict-prototypes.patch new file mode 100644 index 000000000000..44736bff5598 --- /dev/null +++ b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-strict-prototypes.patch @@ -0,0 +1,74 @@ +https://github.com/OpenSMTPD/OpenSMTPD/pull/1198 + +From 84331a266b7d8d8e469aea8b85d1e493725807ae Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Thu, 13 Apr 2023 11:19:53 -0700 +Subject: [PATCH 1/2] build: Fix -Werror=strict-prototypes + +Clang-16 is more strict about these so make the compiler happy. +--- + usr.sbin/smtpd/bounce.c | 2 +- + usr.sbin/smtpd/ioev.c | 2 +- + usr.sbin/smtpd/mda.c | 4 ++-- + usr.sbin/smtpd/smtpd.c | 2 +- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/usr.sbin/smtpd/bounce.c b/usr.sbin/smtpd/bounce.c +index bb08f90e..7fb1cf32 100644 +--- a/usr.sbin/smtpd/bounce.c ++++ b/usr.sbin/smtpd/bounce.c +@@ -243,7 +243,7 @@ bounce_timeout(int fd, short ev, void *arg) + } + + static void +-bounce_drain() ++bounce_drain(void) + { + struct bounce_message *msg; + struct timeval tv; +diff --git a/usr.sbin/smtpd/ioev.c b/usr.sbin/smtpd/ioev.c +index 747b3a51..3e3e68f4 100644 +--- a/usr.sbin/smtpd/ioev.c ++++ b/usr.sbin/smtpd/ioev.c +@@ -228,7 +228,7 @@ io_frame_leave(struct io *io) + } + + void +-_io_init() ++_io_init(void) + { + static int init = 0; + +diff --git a/usr.sbin/smtpd/mda.c b/usr.sbin/smtpd/mda.c +index 6a28b923..bd963e54 100644 +--- a/usr.sbin/smtpd/mda.c ++++ b/usr.sbin/smtpd/mda.c +@@ -386,12 +386,12 @@ mda_imsg(struct mproc *p, struct imsg *imsg) + } + + void +-mda_postfork() ++mda_postfork(void) + { + } + + void +-mda_postprivdrop() ++mda_postprivdrop(void) + { + tree_init(&sessions); + tree_init(&users); +diff --git a/usr.sbin/smtpd/smtpd.c b/usr.sbin/smtpd/smtpd.c +index 26078c49..830417e6 100644 +--- a/usr.sbin/smtpd/smtpd.c ++++ b/usr.sbin/smtpd/smtpd.c +@@ -353,7 +353,7 @@ parent_send_config_dispatcher(void) + } + + void +-parent_send_config_lka() ++parent_send_config_lka(void) + { + log_debug("debug: parent_send_config_ruleset: reloading"); + m_compose(p_lka, IMSG_CONF_START, 0, 0, -1, NULL, 0); + diff --git a/mail-mta/opensmtpd/opensmtpd-6.8.0_p2-r3.ebuild b/mail-mta/opensmtpd/opensmtpd-6.8.0_p2-r3.ebuild new file mode 100644 index 000000000000..aeba246f0bdd --- /dev/null +++ b/mail-mta/opensmtpd/opensmtpd-6.8.0_p2-r3.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools pam systemd + +DESCRIPTION="Lightweight but featured SMTP daemon from OpenBSD" +HOMEPAGE="https://www.opensmtpd.org" +SRC_URI="https://www.opensmtpd.org/archives/${P/_}.tar.gz" + +LICENSE="ISC BSD BSD-1 BSD-2 BSD-4" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="berkdb +mta pam split-usr" + +# < openssl 3 for bug #881701 +DEPEND=" + acct-user/smtpd + acct-user/smtpq + <dev-libs/openssl-3:= + elibc_musl? ( sys-libs/fts-standalone ) + sys-libs/zlib + pam? ( sys-libs/pam ) + berkdb? ( sys-libs/db:= ) + dev-libs/libevent:= + app-misc/ca-certificates + net-mail/mailbase + net-libs/libasr + virtual/libcrypt:= + !mail-mta/courier + !mail-mta/esmtp + !mail-mta/exim + !mail-mta/mini-qmail + !mail-mta/msmtp[mta] + !mail-mta/netqmail + !mail-mta/nullmailer + !mail-mta/postfix + !mail-mta/qmail-ldap + !mail-mta/sendmail + !mail-mta/ssmtp[mta] +" +RDEPEND="${DEPEND}" +BDEPEND="app-alternatives/yacc" + +S=${WORKDIR}/${P/_} + +PATCHES=( + "${FILESDIR}"/${P}-ar.patch #720782 + "${FILESDIR}"/${P}-implicit-function-declaration.patch #727260, 896050, 899876 + "${FILESDIR}"/${P}-strict-prototypes.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + --sysconfdir=/etc/smtpd \ + --with-path-mbox=/var/spool/mail \ + --with-path-empty=/var/empty \ + --with-path-socket=/run \ + --with-path-CAfile=/etc/ssl/certs/ca-certificates.crt \ + --with-user-smtpd=smtpd \ + --with-user-queue=smtpq \ + --with-group-queue=smtpq \ + --with-libevent="$(get_libdir)" \ + --with-libssl="$(get_libdir)" \ + $(use_with pam auth-pam) \ + $(use_with berkdb table-db) +} + +src_install() { + default + newinitd "${FILESDIR}"/smtpd.initd smtpd + systemd_dounit "${FILESDIR}"/smtpd.{service,socket} + use pam && newpamd "${FILESDIR}"/smtpd.pam smtpd + dosym smtpctl /usr/sbin/makemap + dosym smtpctl /usr/sbin/newaliases + if use mta ; then + dodir /usr/sbin + dosym smtpctl /usr/sbin/sendmail + # on USE="-split-usr" system sbin and bin are merged + # so symlink made above will collide with one below + use split-usr && dosym ../sbin/smtpctl /usr/bin/sendmail + mkdir -p "${ED}"/usr/$(get_libdir) || die + ln -s --relative "${ED}"/usr/sbin/smtpctl "${ED}"/usr/$(get_libdir)/sendmail || die + fi +} diff --git a/media-libs/libde265/libde265-1.0.11.ebuild b/media-libs/libde265/libde265-1.0.11.ebuild index ca34a4a3dccb..a34eb37675a0 100644 --- a/media-libs/libde265/libde265-1.0.11.ebuild +++ b/media-libs/libde265/libde265-1.0.11.ebuild @@ -10,7 +10,7 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/strukturag/libde265/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~loong ~ppc64 ~riscv x86" fi DESCRIPTION="Open h.265 video codec implementation" diff --git a/net-vpn/tor/files/tor-0.4.7.13-libressl.patch b/net-vpn/tor/files/tor-0.4.7.13-libressl.patch new file mode 100644 index 000000000000..76d52fd1c54e --- /dev/null +++ b/net-vpn/tor/files/tor-0.4.7.13-libressl.patch @@ -0,0 +1,161 @@ +Upstream-MR: https://gitlab.torproject.org/tpo/core/tor/-/merge_requests/598 +Upstream-Commit: https://gitlab.torproject.org/tpo/core/tor/-/commit/da52d7206a4a8e4fa8b5e80b5ed73de50fbe8692 + +From f3dabd705f26c56076934323f24b5b05ecdfd39c Mon Sep 17 00:00:00 2001 +From: "Alex Xu (Hello71)" <alex_y_xu@yahoo.ca> +Date: Tue, 5 Jul 2022 11:37:30 -0400 +Subject: [PATCH 1/2] LibreSSL 3.5 compatibility + +LibreSSL is now closer to OpenSSL 1.1 than OpenSSL 1.0. According to +https://undeadly.org/cgi?action=article;sid=20220116121253, this is the +intention of OpenBSD developers. + +According to #40630, many special cases are needed to compile Tor against +LibreSSL 3.5 when using Tor's OpenSSL 1.0 compatibility mode, whereas only a +small number of #defines are required when using OpenSSL 1.1 compatibility +mode. One additional workaround is required for LibreSSL 3.4 compatibility. + +Compiles and passes unit tests with LibreSSL 3.4.3 and 3.5.1. +--- + configure.ac | 2 +- + src/lib/crypt_ops/compat_openssl.h | 22 +++++++++++++--------- + src/lib/crypt_ops/crypto_openssl_mgt.h | 3 +-- + src/lib/crypt_ops/crypto_rsa_openssl.c | 8 +++++--- + 4 files changed, 20 insertions(+), 15 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 8baae007cf..6ab7903010 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1022,7 +1022,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_MSG_CHECKING([for OpenSSL < 1.0.1]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <openssl/opensslv.h> +-#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1000100fL ++#if OPENSSL_VERSION_NUMBER < 0x1000100fL + #error "too old" + #endif + ]], [[]])], +diff --git a/src/lib/crypt_ops/compat_openssl.h b/src/lib/crypt_ops/compat_openssl.h +index 0f56f338b5..c5eccdb015 100644 +--- a/src/lib/crypt_ops/compat_openssl.h ++++ b/src/lib/crypt_ops/compat_openssl.h +@@ -20,32 +20,36 @@ + * \brief compatibility definitions for working with different openssl forks + **/ + +-#if !defined(LIBRESSL_VERSION_NUMBER) && \ +- OPENSSL_VERSION_NUMBER < OPENSSL_V_SERIES(1,0,1) ++#if OPENSSL_VERSION_NUMBER < OPENSSL_V_SERIES(1,0,1) + #error "We require OpenSSL >= 1.0.1" + #endif + +-#if OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,1,0) && \ +- ! defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,1,0) + /* We define this macro if we're trying to build with the majorly refactored + * API in OpenSSL 1.1 */ + #define OPENSSL_1_1_API + #endif /* OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,1,0) && ... */ + +-#ifndef OPENSSL_1_1_API +-#define OpenSSL_version(v) SSLeay_version(v) +-#define tor_OpenSSL_version_num() SSLeay() ++/* LibreSSL claims to be OpenSSL 2.0 but lacks these OpenSSL 1.1 APIs */ ++#if !defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + #define RAND_OpenSSL() RAND_SSLeay() + #define STATE_IS_SW_SERVER_HELLO(st) \ + (((st) == SSL3_ST_SW_SRVR_HELLO_A) || \ + ((st) == SSL3_ST_SW_SRVR_HELLO_B)) + #define OSSL_HANDSHAKE_STATE int + #define CONST_IF_OPENSSL_1_1_API +-#else /* defined(OPENSSL_1_1_API) */ +-#define tor_OpenSSL_version_num() OpenSSL_version_num() ++#else + #define STATE_IS_SW_SERVER_HELLO(st) \ + ((st) == TLS_ST_SW_SRVR_HELLO) + #define CONST_IF_OPENSSL_1_1_API const ++#endif ++ ++/* OpenSSL 1.1 and LibreSSL both have these APIs */ ++#ifndef OPENSSL_1_1_API ++#define OpenSSL_version(v) SSLeay_version(v) ++#define tor_OpenSSL_version_num() SSLeay() ++#else /* defined(OPENSSL_1_1_API) */ ++#define tor_OpenSSL_version_num() OpenSSL_version_num() + #endif /* !defined(OPENSSL_1_1_API) */ + + #endif /* defined(ENABLE_OPENSSL) */ +diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.h b/src/lib/crypt_ops/crypto_openssl_mgt.h +index c6f63ffa08..96a37721dd 100644 +--- a/src/lib/crypt_ops/crypto_openssl_mgt.h ++++ b/src/lib/crypt_ops/crypto_openssl_mgt.h +@@ -54,8 +54,7 @@ + #define DISABLE_ENGINES + #endif + +-#if OPENSSL_VERSION_NUMBER >= OPENSSL_VER(1,1,0,0,5) && \ +- !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= OPENSSL_VER(1,1,0,0,5) + /* OpenSSL as of 1.1.0pre4 has an "new" thread API, which doesn't require + * setting up various callbacks. + * +diff --git a/src/lib/crypt_ops/crypto_rsa_openssl.c b/src/lib/crypt_ops/crypto_rsa_openssl.c +index a21c4a65cf..544d72e6ca 100644 +--- a/src/lib/crypt_ops/crypto_rsa_openssl.c ++++ b/src/lib/crypt_ops/crypto_rsa_openssl.c +@@ -572,7 +572,9 @@ static bool + rsa_private_key_too_long(RSA *rsa, int max_bits) + { + const BIGNUM *n, *e, *p, *q, *d, *dmp1, *dmq1, *iqmp; +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) && \ ++ (!defined(LIBRESSL_VERSION_NUMBER) || \ ++ LIBRESSL_VERSION_NUMBER >= OPENSSL_V_SERIES(3,5,0)) + + #if OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,1,1) + n = RSA_get0_n(rsa); +@@ -591,7 +593,7 @@ rsa_private_key_too_long(RSA *rsa, int max_bits) + + if (RSA_bits(rsa) > max_bits) + return true; +-#else /* !defined(OPENSSL_1_1_API) */ ++#else /* !defined(OPENSSL_1_1_API) && ... */ + n = rsa->n; + e = rsa->e; + p = rsa->p; +@@ -600,7 +602,7 @@ rsa_private_key_too_long(RSA *rsa, int max_bits) + dmp1 = rsa->dmp1; + dmq1 = rsa->dmq1; + iqmp = rsa->iqmp; +-#endif /* defined(OPENSSL_1_1_API) */ ++#endif /* defined(OPENSSL_1_1_API) && ... */ + + if (n && BN_num_bits(n) > max_bits) + return true; +-- +GitLab + + +From b1545b6d18fbef6c790e2731a814fa54230d8857 Mon Sep 17 00:00:00 2001 +From: "Alex Xu (Hello71)" <alex_y_xu@yahoo.ca> +Date: Tue, 19 Jul 2022 16:18:29 -0400 +Subject: [PATCH 2/2] Changes file for #40630 (LibreSSL 3.5 compatibility) + +--- + changes/issue40630 | 3 +++ + 1 file changed, 3 insertions(+) + create mode 100644 changes/issue40630 + +diff --git a/changes/issue40630 b/changes/issue40630 +new file mode 100644 +index 0000000000..faf04941b6 +--- /dev/null ++++ b/changes/issue40630 +@@ -0,0 +1,3 @@ ++ o Minor features (portability, compilation): ++ - Use OpenSSL 1.1 APIs for LibreSSL, fixing LibreSSL 3.5 compatibility. ++ Fixes issue 40630; patch by Alex Xu (Hello71). +-- +GitLab + diff --git a/net-vpn/tor/tor-0.4.7.13-r1.ebuild b/net-vpn/tor/tor-0.4.7.13-r1.ebuild index 8333b20dfdbc..b553be2e1e0f 100644 --- a/net-vpn/tor/tor-0.4.7.13-r1.ebuild +++ b/net-vpn/tor/tor-0.4.7.13-r1.ebuild @@ -59,6 +59,7 @@ DOCS=() PATCHES=( "${FILESDIR}"/${PN}-0.2.7.4-torrc.sample.patch + "${FILESDIR}"/${PN}-0.4.7.13-libressl.patch ) pkg_setup() { |