summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/cairo/Manifest1
-rw-r--r--x11-libs/cairo/cairo-1.18.2.ebuild95
-rw-r--r--x11-libs/cairo/cairo-9999.ebuild11
-rw-r--r--x11-libs/fox/fox-1.7.84.ebuild2
-rw-r--r--x11-libs/gdk-pixbuf/Manifest1
-rw-r--r--x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.12.ebuild106
-rw-r--r--x11-libs/gtk+/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch90
-rw-r--r--x11-libs/gtk+/gtk+-2.24.33-r3.ebuild2
-rw-r--r--x11-libs/gtk+/gtk+-3.24.41-r1.ebuild205
-rw-r--r--x11-libs/gtk+/gtk+-3.24.42-r1.ebuild (renamed from x11-libs/gtk+/gtk+-3.24.42.ebuild)5
-rw-r--r--x11-libs/gtksourceview/files/3.24.11-gcc14.patch62
-rw-r--r--x11-libs/gtksourceview/gtksourceview-3.24.11-r2.ebuild54
-rw-r--r--x11-libs/libFS/Manifest1
-rw-r--r--x11-libs/libFS/libFS-1.0.10.ebuild22
-rw-r--r--x11-libs/libX11/Manifest1
-rw-r--r--x11-libs/libX11/libX11-1.8.10.ebuild43
-rw-r--r--x11-libs/libXfont2/Manifest1
-rw-r--r--x11-libs/libXfont2/libXfont2-2.0.7.ebuild35
-rw-r--r--x11-libs/libXi/Manifest1
-rw-r--r--x11-libs/libXi/libXi-1.8.2.ebuild29
-rw-r--r--x11-libs/libXtst/Manifest1
-rw-r--r--x11-libs/libXtst/libXtst-1.2.5.ebuild19
-rw-r--r--x11-libs/libclxclient/libclxclient-3.9.2-r1.ebuild47
-rw-r--r--x11-libs/libdrm/Manifest3
-rw-r--r--x11-libs/libdrm/files/libdrm-2.4.120-backport-pr353.patch62
-rw-r--r--x11-libs/libdrm/libdrm-2.4.120.ebuild83
-rw-r--r--x11-libs/libdrm/libdrm-2.4.122.ebuild2
-rw-r--r--x11-libs/libdrm/libdrm-2.4.123.ebuild (renamed from x11-libs/libdrm/libdrm-2.4.121.ebuild)2
-rw-r--r--x11-libs/libfm-qt/libfm-qt-2.0.2-r1.ebuild2
-rw-r--r--x11-libs/libxkbcommon/files/libxkbcommon-1.7.0-symbol-ver.patch104
-rw-r--r--x11-libs/libxkbcommon/libxkbcommon-1.7.0-r1.ebuild (renamed from x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild)4
-rw-r--r--x11-libs/motif/motif-2.3.8-r6.ebuild120
-rw-r--r--x11-libs/qtermwidget/qtermwidget-2.0.1.ebuild2
-rw-r--r--x11-libs/qwtplot3d/Manifest1
-rw-r--r--x11-libs/qwtplot3d/qwtplot3d-0.2.ebuild65
-rw-r--r--x11-libs/vte/Manifest3
-rw-r--r--x11-libs/vte/files/vte-0.76.3-stdint.patch34
-rw-r--r--x11-libs/vte/vte-0.76.3.ebuild117
-rw-r--r--x11-libs/wxGTK/Manifest2
-rw-r--r--x11-libs/wxGTK/files/wxGTK-3.2.5-dont-break-flags.patch18
-rw-r--r--x11-libs/wxGTK/wxGTK-3.2.2.1-r5.ebuild262
-rw-r--r--x11-libs/wxGTK/wxGTK-3.2.5.ebuild258
-rw-r--r--x11-libs/xapp/Manifest2
-rw-r--r--x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch80
-rw-r--r--x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch102
-rw-r--r--x11-libs/xapp/xapp-2.6.1.ebuild102
-rw-r--r--x11-libs/xapp/xapp-2.8.5.ebuild125
-rw-r--r--x11-libs/xbae/files/xbae-4.60.4-c99.patch24
-rw-r--r--x11-libs/xbae/files/xbae-4.60.4-configure-c99.patch57
-rw-r--r--x11-libs/xbae/files/xbae-4.60.4-modern-autotools.patch28
-rw-r--r--x11-libs/xbae/xbae-4.60.4-r1.ebuild75
-rw-r--r--x11-libs/xbae/xbae-4.60.4.ebuild2
-rw-r--r--x11-libs/xcb-imdkit/xcb-imdkit-1.0.9.ebuild2
53 files changed, 2250 insertions, 327 deletions
diff --git a/x11-libs/cairo/Manifest b/x11-libs/cairo/Manifest
index 644677d49780..508127478c88 100644
--- a/x11-libs/cairo/Manifest
+++ b/x11-libs/cairo/Manifest
@@ -1 +1,2 @@
DIST cairo-1.18.0.tar.bz2 43979246 BLAKE2B 1afb01a934a41c9f4c2cac0d6f1fd842bfd3297378b7692a0c38786d151ca568a63707ceee4b220da7ec9a605f65eb87b546a78392c5fe652345e749e6d3da6b SHA512 bd702f3b64061f8add954c243c9b59f5d44271adfa76d997941ddab629ff8018c2a1d3368edf2362573e0018c342c61483de58240c63e15e1e6035d2511d3e40
+DIST cairo-1.18.2.tar.bz2 42905863 BLAKE2B 2788b9b90aeee1ad906e36ec13c0e0dba5b87b88433bc2cd408ed427ebcab49ee3d63ded3bc4eb7dc51c63aba91a6c30de77c052235bc5b669eef268f706de36 SHA512 8db31b675791b892379bc5fca7f421d3e8ebca9c3cbcdc27fa80efb1274f12d89276a54fa1ec18008f81de9b1dc2fafb9fbee9ee368e893e8b035a332d07e141
diff --git a/x11-libs/cairo/cairo-1.18.2.ebuild b/x11-libs/cairo/cairo-1.18.2.ebuild
new file mode 100644
index 000000000000..1d57ad8c8bdc
--- /dev/null
+++ b/x11-libs/cairo/cairo-1.18.2.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/cairo/cairo.git"
+else
+ SRC_URI="https://gitlab.freedesktop.org/cairo/cairo/-/archive/${PV}/cairo-${PV}.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="A vector graphics library with cross-device output support"
+HOMEPAGE="https://www.cairographics.org/ https://gitlab.freedesktop.org/cairo/cairo"
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+IUSE="X aqua debug +glib gtk-doc test"
+# Tests need more wiring up like e.g. https://gitlab.freedesktop.org/cairo/cairo/-/blob/master/.gitlab-ci.yml
+# any2ppm tests seem to hang for now.
+RESTRICT="test !test? ( test )"
+
+RDEPEND="
+ >=dev-libs/lzo-2.06-r1:2[${MULTILIB_USEDEP}]
+ >=media-libs/fontconfig-2.13.92[${MULTILIB_USEDEP}]
+ >=media-libs/freetype-2.13:2[png,${MULTILIB_USEDEP}]
+ >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/pixman-0.42.3[${MULTILIB_USEDEP}]
+ debug? ( sys-libs/binutils-libs:0=[${MULTILIB_USEDEP}] )
+ glib? ( >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.9.1:=[${MULTILIB_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ test? (
+ app-text/ghostscript-gpl
+ app-text/poppler[cairo]
+ gnome-base/librsvg
+ )
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gtk-doc )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-respect-fontconfig.patch
+)
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddwrite=disabled
+ -Dfontconfig=enabled
+ -Dfreetype=enabled
+ -Dpng=enabled
+ $(meson_feature aqua quartz)
+ $(meson_feature X tee)
+ $(meson_feature X xcb)
+ $(meson_feature X xlib)
+ -Dxlib-xcb=disabled
+ -Dzlib=enabled
+
+ # Requires poppler-glib (poppler[cairo]) which isn't available in multilib
+ $(meson_native_use_feature test tests)
+
+ -Dgtk2-utils=disabled
+
+ $(meson_feature glib)
+ -Dspectre=disabled # only used for tests
+ $(meson_feature debug symbol-lookup)
+
+ $(meson_use gtk-doc gtk_doc)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && meson_src_test
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/cairo || die
+ mv "${ED}"/usr/share/gtk-doc/{html/cairo,cairo/html} || die
+ rmdir "${ED}"/usr/share/gtk-doc/html || die
+ fi
+}
diff --git a/x11-libs/cairo/cairo-9999.ebuild b/x11-libs/cairo/cairo-9999.ebuild
index f51355062fef..1d57ad8c8bdc 100644
--- a/x11-libs/cairo/cairo-9999.ebuild
+++ b/x11-libs/cairo/cairo-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://gitlab.freedesktop.org/cairo/cairo.git"
else
SRC_URI="https://gitlab.freedesktop.org/cairo/cairo/-/archive/${PV}/cairo-${PV}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
DESCRIPTION="A vector graphics library with cross-device output support"
@@ -24,11 +24,11 @@ RESTRICT="test !test? ( test )"
RDEPEND="
>=dev-libs/lzo-2.06-r1:2[${MULTILIB_USEDEP}]
- >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}]
- >=media-libs/freetype-2.5.0.1:2[png,${MULTILIB_USEDEP}]
+ >=media-libs/fontconfig-2.13.92[${MULTILIB_USEDEP}]
+ >=media-libs/freetype-2.13:2[png,${MULTILIB_USEDEP}]
>=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- >=x11-libs/pixman-0.36[${MULTILIB_USEDEP}]
+ >=x11-libs/pixman-0.42.3[${MULTILIB_USEDEP}]
debug? ( sys-libs/binutils-libs:0=[${MULTILIB_USEDEP}] )
glib? ( >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] )
X? (
@@ -54,6 +54,7 @@ PATCHES=(
multilib_src_configure() {
local emesonargs=(
+ -Ddwrite=disabled
-Dfontconfig=enabled
-Dfreetype=enabled
-Dpng=enabled
diff --git a/x11-libs/fox/fox-1.7.84.ebuild b/x11-libs/fox/fox-1.7.84.ebuild
index 33e6f56e8667..baab848c2236 100644
--- a/x11-libs/fox/fox-1.7.84.ebuild
+++ b/x11-libs/fox/fox-1.7.84.ebuild
@@ -65,6 +65,8 @@ src_prepare() {
}
src_configure() {
+ filter-lto
+
use debug || append-cppflags -DNDEBUG
# Not using --enable-release because of the options it sets like no SSP
diff --git a/x11-libs/gdk-pixbuf/Manifest b/x11-libs/gdk-pixbuf/Manifest
index 9f22e8781787..ed3f5b7b135a 100644
--- a/x11-libs/gdk-pixbuf/Manifest
+++ b/x11-libs/gdk-pixbuf/Manifest
@@ -1 +1,2 @@
DIST gdk-pixbuf-2.42.10.tar.xz 6519776 BLAKE2B b6bec388b70a971ea5b336001920fdf433bcbc539d54e62c7b6198e968f0bd3560ef9adc94215b64b01e7d5db69c95d5a1d32654b38b051fceb75e93666b3385 SHA512 ad64963b61ef8cc84ae450328ec8c90a852f974e29ffdd42263ed32de47af93c058f3ffdf91c5d6e9bba815f4e8e8fe5a19422ac1bfb079666339814ac059b3a
+DIST gdk-pixbuf-2.42.12.tar.xz 6525072 BLAKE2B 718a96c9efb836a275692ccbc403df0eb285918c5867d344406f660898c7ce8aad8cce7187faf7f6e9cdcfd1b051d5384f57644d946b888baddbaafb8f99309c SHA512 ae9fcc9b4e8fd10a4c9bf34c3a755205dae7bbfe13fbc93ec4e63323dad10cc862df6a9e2e2e63c84ffa01c5e120a3be06ac9fad2a7c5e58d3dc6ba14d1766e8
diff --git a/x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.12.ebuild b/x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.12.ebuild
new file mode 100644
index 000000000000..3a669285f2af
--- /dev/null
+++ b/x11-libs/gdk-pixbuf/gdk-pixbuf-2.42.12.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org gnome2-utils meson-multilib multilib xdg
+
+DESCRIPTION="Image loading library for GTK+"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/gdk-pixbuf"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="gtk-doc +introspection gif jpeg test tiff"
+RESTRICT="!test? ( test )"
+
+# TODO: For windows/darwin support: shared-mime-info conditional, native_windows_loaders option review
+DEPEND="
+ >=dev-libs/glib-2.56.0:2[${MULTILIB_USEDEP}]
+ x11-misc/shared-mime-info
+ >=media-libs/libpng-1.4:0=[${MULTILIB_USEDEP}]
+ jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
+ tiff? ( >=media-libs/tiff-3.9.2:=[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ gtk-doc? ( >=dev-util/gi-docgen-2021.1 )
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.3
+ dev-libs/glib:2
+ dev-libs/libxslt
+ dev-python/docutils
+ dev-util/glib-utils
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gdk-pixbuf-query-loaders$(get_exeext)
+)
+
+src_prepare() {
+ default
+ xdg_environment_reset
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Dpng=enabled
+ $(meson_feature gif)
+ -Dothers=enabled
+ $(meson_feature tiff)
+ $(meson_feature jpeg)
+ -Dbuiltin_loaders=png,jpeg
+ -Drelocatable=false
+ #native_windows_loaders
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Dgio_sniffing=true
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_native_use_feature introspection)
+ $(meson_native_true man)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/gdk-pixbuf "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/gdk-pixdata "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ multilib_pkg_preinst() {
+ # Make sure loaders.cache belongs to gdk-pixbuf alone
+ local cache="usr/$(get_libdir)/${PN}-2.0/2.10.0/loaders.cache"
+
+ if [[ -e ${EROOT}/${cache} ]]; then
+ cp "${EROOT}"/${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"/${cache} || die
+ fi
+ }
+
+ multilib_foreach_abi multilib_pkg_preinst
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ multilib_foreach_abi gnome2_gdk_pixbuf_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ rm -f "${EROOT}"/usr/lib*/${PN}-2.0/2.10.0/loaders.cache
+ fi
+}
diff --git a/x11-libs/gtk+/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch b/x11-libs/gtk+/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
new file mode 100644
index 000000000000..26c56b86fe89
--- /dev/null
+++ b/x11-libs/gtk+/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
@@ -0,0 +1,90 @@
+From 25bdad805bb9e16032baf4480e9c1e432ddef49b Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Wed, 19 Jun 2024 21:28:31 -0400
+Subject: [PATCH] gdk: add a "poison" macro to hide GDK_WINDOWING_*
+
+Many packages perform automagic dependencies on gdk's backend
+implementations by checking if the macro is defined and then using the
+code it unlocks, rather than having a buildsystem option such as
+-Dwayland=true.
+
+It's unfeasible to patch every such package's source code to add
+configure options and respect them. Instead add a truly filthy hack and
+permit gtk itself to selectively show or hide the windowing system in
+use.
+
+By default, we assume this macro is never defined. It should only ever
+be defined inside an ebuild, as such:
+
+```
+use wayland || append-cflags -DGENTOO_GTK_HIDE_WAYLAND
+use X || append-cflags -DGENTOO_GTK_HIDE_X11
+```
+
+When seen, this will prevent code using "#ifdef GDK_WINDOWING_*" from
+seeing the define, so the automagic dependency won't be picked up. It
+will also cause any attempt to #include the backend-specific headers to
+bug out.
+
+Bug: https://bugs.gentoo.org/624960
+Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
+---
+ gdk/gdkconfig.h.meson | 7 +++++++
+ gdk/wayland/gdkwayland.h | 4 ++++
+ gdk/x11/gdkx.h | 4 ++++
+ 3 files changed, 15 insertions(+)
+
+diff --git a/gdk/gdkconfig.h.meson b/gdk/gdkconfig.h.meson
+index 7db19e0470..6bee207e94 100644
+--- a/gdk/gdkconfig.h.meson
++++ b/gdk/gdkconfig.h.meson
+@@ -10,9 +10,16 @@
+ G_BEGIN_DECLS
+
+
++#ifndef GENTOO_GTK_HIDE_X11
+ #mesondefine GDK_WINDOWING_X11
++#endif
++
+ #mesondefine GDK_WINDOWING_BROADWAY
++
++#ifndef GENTOO_GTK_HIDE_WAYLAND
+ #mesondefine GDK_WINDOWING_WAYLAND
++#endif
++
+ #mesondefine GDK_WINDOWING_WIN32
+ #mesondefine GDK_WINDOWING_QUARTZ
+
+diff --git a/gdk/wayland/gdkwayland.h b/gdk/wayland/gdkwayland.h
+index 2b79295add..5f0e9cfa81 100644
+--- a/gdk/wayland/gdkwayland.h
++++ b/gdk/wayland/gdkwayland.h
+@@ -25,6 +25,10 @@
+ #ifndef __GDK_WAYLAND_H__
+ #define __GDK_WAYLAND_H__
+
++#ifdef GENTOO_GTK_HIDE_WAYLAND
++ #error "A Gentoo ebuild has hidden wayland and it cannot be used in this compilation unit. Please file a bug if you see this error."
++#endif
++
+ #include <gdk/gdk.h>
+
+ #define __GDKWAYLAND_H_INSIDE__
+diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
+index 1f64bccb6d..256c83015e 100644
+--- a/gdk/x11/gdkx.h
++++ b/gdk/x11/gdkx.h
+@@ -25,6 +25,10 @@
+ #ifndef __GDK_X_H__
+ #define __GDK_X_H__
+
++#ifdef GENTOO_GTK_HIDE_X11
++ #error "A Gentoo ebuild has hidden x11 and it cannot be used in this compilation unit. Please file a bug if you see this error."
++#endif
++
+ #include <gdk/gdk.h>
+
+ #include <X11/Xlib.h>
+--
+2.44.2
+
diff --git a/x11-libs/gtk+/gtk+-2.24.33-r3.ebuild b/x11-libs/gtk+/gtk+-2.24.33-r3.ebuild
index d6e8c26b77a2..a2a634581869 100644
--- a/x11-libs/gtk+/gtk+-2.24.33-r3.ebuild
+++ b/x11-libs/gtk+/gtk+-2.24.33-r3.ebuild
@@ -134,6 +134,8 @@ src_prepare() {
# -O3 and company cause random crashes in applications, bug #133469
replace-flags -O3 -O2
strip-flags
+ # Not compatible with C23 decls
+ append-flags -std=gnu17
if ! use test ; then
# don't waste time building tests
diff --git a/x11-libs/gtk+/gtk+-3.24.41-r1.ebuild b/x11-libs/gtk+/gtk+-3.24.41-r1.ebuild
new file mode 100644
index 000000000000..685d8096273c
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-3.24.41-r1.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2 meson-multilib multilib toolchain-funcs virtualx
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2+"
+SLOT="3"
+IUSE="aqua broadway cloudproviders colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland +X xinerama"
+REQUIRED_USE="
+ || ( aqua wayland X )
+ test? ( X )
+ xinerama? ( X )
+"
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+
+COMMON_DEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0[introspection?,${MULTILIB_USEDEP}]
+ >=dev-libs/fribidi-0.19.7[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.57.2:2[${MULTILIB_USEDEP}]
+ media-libs/fontconfig[${MULTILIB_USEDEP}]
+ >=media-libs/harfbuzz-2.2.0:=
+ >=media-libs/libepoxy-1.4[X(+)?,egl(+),${MULTILIB_USEDEP}]
+ virtual/libintl[${MULTILIB_USEDEP}]
+ >=x11-libs/cairo-1.14[aqua?,glib,svg(+),X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.44.0[introspection?,${MULTILIB_USEDEP}]
+ x11-misc/shared-mime-info
+
+ cloudproviders? ( net-libs/libcloudproviders[${MULTILIB_USEDEP}] )
+ colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] )
+ cups? ( >=net-print/cups-2.0[${MULTILIB_USEDEP}] )
+ introspection? ( >=dev-libs/gobject-introspection-1.39:= )
+ sysprof? ( >=dev-util/sysprof-capture-3.33.2:3[${MULTILIB_USEDEP}] )
+ wayland? (
+ >=dev-libs/wayland-1.14.91[${MULTILIB_USEDEP}]
+ >=dev-libs/wayland-protocols-1.32
+ media-libs/mesa[wayland,${MULTILIB_USEDEP}]
+ >=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}]
+ )
+ X? (
+ media-libs/libglvnd[X(+),${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXcomposite[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ >=x11-libs/libXi-1.8[${MULTILIB_USEDEP}]
+ >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}]
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ X? ( x11-base/xorg-proto )
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-update-icon-cache-3
+"
+# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
+PDEPEND="
+ gnome-base/librsvg[${MULTILIB_USEDEP}]
+ >=x11-themes/adwaita-icon-theme-3.14
+ vim-syntax? ( app-vim/gtk-syntax )
+"
+BDEPEND="
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/gobject-introspection-common
+ dev-libs/libxslt
+ >=dev-util/gdbus-codegen-2.48
+ dev-util/glib-utils
+ >=dev-build/gtk-doc-am-1.20
+ wayland? ( dev-util/wayland-scanner )
+ >=sys-devel/gettext-0.19.7
+ virtual/pkgconfig
+ x11-libs/gdk-pixbuf:2
+ gtk-doc? (
+ app-text/docbook-xml-dtd:4.3
+ >=dev-util/gtk-doc-1.20
+ )
+ test? ( sys-apps/dbus )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gtk-query-immodules-3.0$(get_exeext)
+)
+
+PATCHES=(
+ # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache
+ "${FILESDIR}"/${PN}-3.24.36-update-icon-cache.patch
+ # Gentoo-specific patch to add a "poison" macro support, allowing other ebuilds
+ # with USE="-wayland -X" to trick gtk into claiming that it wasn't built with
+ # such support.
+ # https://bugs.gentoo.org/624960
+ "${FILESDIR}"/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
+)
+
+src_prepare() {
+ default
+
+ # The border-image-excess-size.ui test is known to fail on big-endian platforms
+ # See https://gitlab.gnome.org/GNOME/gtk/-/issues/5904
+ if [[ $(tc-endian) == big ]]; then
+ sed -i \
+ -e "/border-image-excess-size.ui/d" \
+ -e "/^xfails =/a 'border-image-excess-size.ui'," \
+ testsuite/reftests/meson.build || die
+ fi
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_use aqua quartz_backend)
+ $(meson_use broadway broadway_backend)
+ $(meson_use cloudproviders)
+ $(meson_use examples demos)
+ $(meson_use examples)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_native_use_bool introspection)
+ $(meson_use sysprof profiler)
+ $(meson_use wayland wayland_backend)
+ $(meson_use X x11_backend)
+ -Dcolord=$(usex colord yes no)
+ -Dprint_backends=$(usex cups cups,file,lpr file,lpr)
+ -Dxinerama=$(usex xinerama yes no)
+ # Include backend immodules into gtk itself, to avoid problems like
+ # https://gitlab.gnome.org/GNOME/gnome-shell/issues/109 from a
+ # user overridden GTK_IM_MODULE envvar
+ -Dbuiltin_immodules=backend
+ -Dman=true
+ $(meson_use test tests)
+ -Dtracker3=false
+ )
+ meson_src_configure
+}
+
+multilib_src_compile() {
+ meson_src_compile
+}
+
+multilib_src_test() {
+ virtx dbus-run-session meson test -C "${BUILD_DIR}" --timeout-multiplier 4 || die
+}
+
+multilib_src_install() {
+ meson_src_install
+}
+
+multilib_src_install_all() {
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+ # Skip README.win32.md that would get installed by default
+ DOCS=( NEWS README.md )
+ einstalldocs
+}
+
+pkg_preinst() {
+ gnome2_pkg_preinst
+
+ multilib_pkg_preinst() {
+ # Make immodules.cache belongs to gtk+ alone
+ local cache="/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}${cache}" "${ED}${cache}" || die
+ else
+ touch "${ED}${cache}" || die
+ fi
+ }
+ multilib_parallel_foreach_abi multilib_pkg_preinst
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ multilib_pkg_postinst() {
+ gnome2_query_immodules_gtk3 \
+ || die "Update immodules cache failed (for ${ABI})"
+ }
+ multilib_parallel_foreach_abi multilib_pkg_postinst
+
+ if ! has_version "app-text/evince"; then
+ elog "Please install app-text/evince for print preview functionality."
+ elog "Alternatively, check \"gtk-print-preview-command\" documentation and"
+ elog "add it to your settings.ini file."
+ fi
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ fi
+}
diff --git a/x11-libs/gtk+/gtk+-3.24.42.ebuild b/x11-libs/gtk+/gtk+-3.24.42-r1.ebuild
index 655c05a8a518..b87f4ebae8bb 100644
--- a/x11-libs/gtk+/gtk+-3.24.42.ebuild
+++ b/x11-libs/gtk+/gtk+-3.24.42-r1.ebuild
@@ -95,6 +95,11 @@ MULTILIB_CHOST_TOOLS=(
PATCHES=(
# gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache
"${FILESDIR}"/${PN}-3.24.36-update-icon-cache.patch
+ # Gentoo-specific patch to add a "poison" macro support, allowing other ebuilds
+ # with USE="-wayland -X" to trick gtk into claiming that it wasn't built with
+ # such support.
+ # https://bugs.gentoo.org/624960
+ "${FILESDIR}"/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
)
src_prepare() {
diff --git a/x11-libs/gtksourceview/files/3.24.11-gcc14.patch b/x11-libs/gtksourceview/files/3.24.11-gcc14.patch
new file mode 100644
index 000000000000..161d060183fe
--- /dev/null
+++ b/x11-libs/gtksourceview/files/3.24.11-gcc14.patch
@@ -0,0 +1,62 @@
+
+Patch from:
+https://gitlab.gnome.org/GNOME/gtksourceview/-/commit/16db686c0b3170d9ec4d7c7eda4a8e9c0fb1c544
+
+From 16db686c0b3170d9ec4d7c7eda4a8e9c0fb1c544 Mon Sep 17 00:00:00 2001
+From: Martin Blanchard <martin.blanchard@codethink.co.uk>
+Date: Mon, 26 Feb 2018 14:26:59 +0000
+Subject: [PATCH] View: fix includes (implicit declarations)
+
+https://bugzilla.gnome.org/show_bug.cgi?id=793842
+---
+ gtksourceview/gtksourceview.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c
+index 7d567157c..4e086464f 100644
+--- a/gtksourceview/gtksourceview.c
++++ b/gtksourceview/gtksourceview.c
+@@ -40,8 +40,9 @@
+ #include "gtksourcemark.h"
+ #include "gtksourcemarkattributes.h"
+ #include "gtksourcestylescheme.h"
+-#include "gtksourcecompletionprovider.h"
++#include "gtksourcecompletion.h"
+ #include "gtksourcecompletion-private.h"
++#include "gtksourcecompletionprovider.h"
+ #include "gtksourcegutter.h"
+ #include "gtksourcegutter-private.h"
+ #include "gtksourcegutterrendererlines.h"
+
+Patch from:
+https://gitlab.gnome.org/GNOME/gtksourceview/-/commit/b25e71c57fc934a7ce36e51826af9fa7c2cf9a80
+
+From b25e71c57fc934a7ce36e51826af9fa7c2cf9a80 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=A9bastien=20Wilmet?= <swilmet@gnome.org>
+Date: Thu, 14 Dec 2017 13:03:15 +0100
+Subject: [PATCH] View: fix assignment from incompatible pointer type
+
+GLib now propagates types with g_object_ref().
+
+At that code path we are sure that buffer is a GtkSourceBuffer since
+there is a condition if (GTK_SOURCE_IS_BUFFER (buffer)).
+---
+ gtksourceview/gtksourceview.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c
+index 21424be97..e642ce360 100644
+--- a/gtksourceview/gtksourceview.c
++++ b/gtksourceview/gtksourceview.c
+@@ -1531,7 +1531,7 @@ set_source_buffer (GtkSourceView *view,
+ {
+ GtkSourceBufferInternal *buffer_internal;
+
+- view->priv->source_buffer = g_object_ref (buffer);
++ view->priv->source_buffer = g_object_ref (GTK_SOURCE_BUFFER (buffer));
+
+ g_signal_connect (buffer,
+ "highlight-updated",
+--
+GitLab
+
diff --git a/x11-libs/gtksourceview/gtksourceview-3.24.11-r2.ebuild b/x11-libs/gtksourceview/gtksourceview-3.24.11-r2.ebuild
new file mode 100644
index 000000000000..3ba07b75a29d
--- /dev/null
+++ b/x11-libs/gtksourceview/gtksourceview-3.24.11-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VALA_USE_DEPEND="vapigen"
+inherit gnome2 vala virtualx
+
+DESCRIPTION="A text widget implementing syntax highlighting and other features"
+HOMEPAGE="https://wiki.gnome.org/Projects/GtkSourceView"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="3.0/3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="glade +introspection +vala"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="
+ >=dev-libs/glib-2.48:2
+ >=dev-libs/libxml2-2.6:2
+ >=x11-libs/gtk+-3.20:3[introspection?]
+ glade? ( >=dev-util/glade-3.9:3.10 )
+ introspection? ( >=dev-libs/gobject-introspection-1.42:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ >=dev-build/gtk-doc-am-1.25
+ >=sys-devel/gettext-0.19.4
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+PATCHES=( "${FILESDIR}/3.24.11-gcc14.patch" )
+
+src_configure() {
+ use vala && vala_setup
+
+ gnome2_src_configure \
+ $(use_enable glade glade-catalog) \
+ $(use_enable introspection) \
+ $(use_enable vala)
+}
+
+src_test() {
+ virtx emake check
+}
+
+src_install() {
+ gnome2_src_install
+
+ insinto /usr/share/${PN}-3.0/language-specs
+ doins "${FILESDIR}"/2.0/gentoo.lang
+}
diff --git a/x11-libs/libFS/Manifest b/x11-libs/libFS/Manifest
index 8bb43c9be993..dd67c7e69b58 100644
--- a/x11-libs/libFS/Manifest
+++ b/x11-libs/libFS/Manifest
@@ -1 +1,2 @@
+DIST libFS-1.0.10.tar.xz 293016 BLAKE2B 305d4343f84389805c9eb04e176fa9b291e784cf8636dfde929370ad9ffa66d63956afc643ca53cce22163bd54e5f222e44cb956e55e43a24dd3594c9bfc8ea9 SHA512 f4dc361b7e1dcc1f348ea86e96c5a60ff40c5168b6097f00d8a5db2b86d089cfca12ac13dbde5ce3b53279b7eb8773ed6dcd9c678c2e95363ffa5127ecaacee7
DIST libFS-1.0.9.tar.xz 287416 BLAKE2B b4425ab4ce1c9e4e0c283419231e2966f462a6c9225ff8bd056b5ec41c7a6a96e35bd2edd47ce6bfad87040c6042f19619f32f8f045262da5609af5c55b03fe4 SHA512 7d012e62736c6d567931bad982eec221199d296f0fe41e1e7fde5575b8b928e9a8c644aa8746242bdfe72393635320b58774d9a519285765bd26d633588092b8
diff --git a/x11-libs/libFS/libFS-1.0.10.ebuild b/x11-libs/libFS/libFS-1.0.10.ebuild
new file mode 100644
index 000000000000..79fc74be259c
--- /dev/null
+++ b/x11-libs/libFS/libFS-1.0.10.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_TARBALL_SUFFIX="xz"
+inherit xorg-3
+
+DESCRIPTION="X.Org FS library"
+
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86"
+
+DEPEND="
+ x11-base/xorg-proto
+ x11-libs/xtrans"
+
+src_configure() {
+ local XORG_CONFIGURE_OPTIONS=(
+ --enable-ipv6
+ )
+ xorg-3_src_configure
+}
diff --git a/x11-libs/libX11/Manifest b/x11-libs/libX11/Manifest
index 25b09129264c..3803f6c183ed 100644
--- a/x11-libs/libX11/Manifest
+++ b/x11-libs/libX11/Manifest
@@ -1 +1,2 @@
+DIST libX11-1.8.10.tar.xz 1839380 BLAKE2B 72ff400e1aad5bcb04e5dd3fb43f7767fad47e38cf628382cd5ffd5a204efc4de4f626027dddbbc7e10f80f8eaee0bcdf9792d9d012256366920f7ae0cffcb15 SHA512 f801f5b77cbc55074f73dc95b29fff7b5e1b13b99641f6e397788ad9f31a29793ed4e8e5bd373122c790ef90627e8f9d6d5e271051c1767a479a85c55cd82bc1
DIST libX11-1.8.9.tar.xz 1811900 BLAKE2B 8858157ac490d65e19500bfbb2ab773a3a30041f8a757ff22fff8fb0124044b8bb826f6dff4115230c757a175b61a3f7d596d976d98be760085749878d64f871 SHA512 737af91818537295ac86be601b1e3d7e37d150716ec549580913b7cc9a44fee7a6ce9dbc3d46167eed91f23fe857c4dd355ed8f8440fe5fbbf8e9ebe47091b96
diff --git a/x11-libs/libX11/libX11-1.8.10.ebuild b/x11-libs/libX11/libX11-1.8.10.ebuild
new file mode 100644
index 000000000000..b6b5cb73d1f8
--- /dev/null
+++ b/x11-libs/libX11/libX11-1.8.10.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_DOC=doc
+XORG_MULTILIB=yes
+XORG_TARBALL_SUFFIX=xz
+inherit toolchain-funcs xorg-3
+
+# Note: please bump this with x11-misc/compose-tables
+DESCRIPTION="X.Org X11 library"
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=x11-libs/libxcb-1.11.1[${MULTILIB_USEDEP}]
+ x11-misc/compose-tables
+"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+ x11-libs/xtrans
+"
+BDEPEND="test? ( dev-lang/perl )"
+
+src_configure() {
+ local XORG_CONFIGURE_OPTIONS=(
+ $(use_with doc xmlto)
+ $(use_enable doc specs)
+ --enable-ipv6
+ --without-fop
+ --with-keysymdefdir="${ESYSROOT}/usr/include/X11"
+ CPP="$(tc-getPROG CPP cpp)"
+ )
+ xorg-3_src_configure
+}
+
+src_install() {
+ xorg-3_src_install
+ rm -rf "${ED}"/usr/share/X11/locale || die
+}
diff --git a/x11-libs/libXfont2/Manifest b/x11-libs/libXfont2/Manifest
index e0d77e6aca8e..52f60a43de19 100644
--- a/x11-libs/libXfont2/Manifest
+++ b/x11-libs/libXfont2/Manifest
@@ -1 +1,2 @@
DIST libXfont2-2.0.6.tar.xz 446848 BLAKE2B 77e1fd0af5dae4f7d7cec5b9cbd20414df2c66699270ae46f81f6d21f6725b56bb0df9cea504a7a930084a4a759d7dcc3e204ab6c94dfcf0ff0006289f09a68d SHA512 24d6baeef8dc2ca2730925c6b790a97f4a3f46ea7b4d908555e7df29cee6e27b63d638b50c88dd30c853cecff7d9b079402cb617f4498f96410c5770b8815cbd
+DIST libXfont2-2.0.7.tar.xz 453012 BLAKE2B d20001c0e7ce90e0efea25f17d09d5671b0dafacfe7d34dfd3eabe377d75899f3eea6e266d043e8d917ff38585e778ddcb4179f0cbfe15845e4d8584f154eaad SHA512 f703127df5d5b1093c9b73e019153ed7799523573d52e61d344209f0acfd4df42e11be12bdd1880479c47c2b70de581a4f2ef74e199e9b1ac438f426593d56b0
diff --git a/x11-libs/libXfont2/libXfont2-2.0.7.ebuild b/x11-libs/libXfont2/libXfont2-2.0.7.ebuild
new file mode 100644
index 000000000000..bbb938611b4f
--- /dev/null
+++ b/x11-libs/libXfont2/libXfont2-2.0.7.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_DOC=doc
+XORG_PACKAGE_NAME=libxfont
+XORG_TARBALL_SUFFIX="xz"
+inherit xorg-3
+
+DESCRIPTION="X.Org Xfont library"
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 truetype"
+
+RDEPEND="sys-libs/zlib
+ elibc_glibc? ( || ( >=sys-libs/glibc-2.38 dev-libs/libbsd ) )
+ x11-libs/libfontenc
+ bzip2? ( app-arch/bzip2 )
+ truetype? ( >=media-libs/freetype-2 )"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+ x11-libs/xtrans"
+
+src_configure() {
+ local XORG_CONFIGURE_OPTIONS=(
+ --enable-ipv6
+ $(use_enable doc devel-docs)
+ $(use_with doc xmlto)
+ $(use_with bzip2)
+ $(use_enable truetype freetype)
+ --without-fop
+ )
+ xorg-3_src_configure
+}
diff --git a/x11-libs/libXi/Manifest b/x11-libs/libXi/Manifest
index 7a79f0de2dc2..7ff6ec6e1ab9 100644
--- a/x11-libs/libXi/Manifest
+++ b/x11-libs/libXi/Manifest
@@ -1 +1,2 @@
DIST libXi-1.8.1.tar.xz 404252 BLAKE2B a25e1e74ef2cc02b455b7b1c5f70040a3b2ecc19d4375c465e63e8b2638b4f90b0480c737fb7dcd5f658330871c623b364b0f8db61d3371cf97d680fdd840058 SHA512 a30b1a07e6d710f5196e7477415d68074736f89d954e8f2d5ccc9b5f349e7d1d440c90fb512508176b5db5ecad55608cfb540872936b731963fd83343db3a0b9
+DIST libXi-1.8.2.tar.xz 405200 BLAKE2B 869389e4e35187c8ca28a63b9c49125c960629037e1c0e2aff7c149d0f3ed25bf6401dd4b9a8942a14152eceb0e3148e9805a48df3123dc0471c44f8636976b6 SHA512 6348aae8f595217e26f348184dd594d83af800949f649bfd11b6aef7387faa5624ed18551fe2c3a38c8deab9d7473f72fd7e3e8472cff3ff30d4bb3fb2e6dc31
diff --git a/x11-libs/libXi/libXi-1.8.2.ebuild b/x11-libs/libXi/libXi-1.8.2.ebuild
new file mode 100644
index 000000000000..5bed2018390d
--- /dev/null
+++ b/x11-libs/libXi/libXi-1.8.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_DOC=doc
+XORG_MULTILIB=yes
+XORG_TARBALL_SUFFIX="xz"
+inherit xorg-3
+
+DESCRIPTION="X.Org Xi library"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXfixes-5.0.1[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ >=x11-base/xorg-proto-2021.4.99.2"
+
+src_configure() {
+ local XORG_CONFIGURE_OPTIONS=(
+ $(use_enable doc specs)
+ $(use_with doc xmlto)
+ $(use_with doc asciidoc)
+ --without-fop
+ )
+ xorg-3_src_configure
+}
diff --git a/x11-libs/libXtst/Manifest b/x11-libs/libXtst/Manifest
index 1361afb91270..cc4e8d5304b6 100644
--- a/x11-libs/libXtst/Manifest
+++ b/x11-libs/libXtst/Manifest
@@ -1 +1,2 @@
DIST libXtst-1.2.4.tar.xz 287636 BLAKE2B 6c3e6154f221530158b8275ee638934c633f2e812333df0093a01663c416ded0b6be509578cca78d51c6b540ab17379e1e0503bf296abe3112f1afeda12e4af9 SHA512 f2f4e01239b892b8e26284cede90feb4fe7738beb243bca0f6adb349029f8bf87b5a482911edcd2401733c92ef78eec07fcd455b92e5b8c4828374769e60098d
+DIST libXtst-1.2.5.tar.xz 291748 BLAKE2B daf9d3c5412623a06c8579b341c1ab6e720719c4f3151acf5c735ea08c79c33800993d55cd9f9e8660be85e290fac641e5e9266deb4d317d9957ced847b1ebb1 SHA512 848fa580d7abccd48c9ca3440f92e299839ada0912ed60d38d4d4f5bf37431cd02d7059265ab4e524c3e2cb9c368b9b90b863d1ed97d74979ef8811fc5e635a9
diff --git a/x11-libs/libXtst/libXtst-1.2.5.ebuild b/x11-libs/libXtst/libXtst-1.2.5.ebuild
new file mode 100644
index 000000000000..047283382fe5
--- /dev/null
+++ b/x11-libs/libXtst/libXtst-1.2.5.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_DOC=doc
+XORG_MULTILIB=yes
+XORG_TARBALL_SUFFIX="xz"
+inherit xorg-3
+
+DESCRIPTION="X.Org Xlib-based client API for the XTEST & RECORD extensions library"
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+
+RDEPEND=">=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
diff --git a/x11-libs/libclxclient/libclxclient-3.9.2-r1.ebuild b/x11-libs/libclxclient/libclxclient-3.9.2-r1.ebuild
new file mode 100644
index 000000000000..e072d0a3ce2a
--- /dev/null
+++ b/x11-libs/libclxclient/libclxclient-3.9.2-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="C++ wrapper library around the X Window System API"
+HOMEPAGE="https://kokkinizita.linuxaudio.org/linuxaudio/index.html"
+SRC_URI="https://kokkinizita.linuxaudio.org/linuxaudio/downloads/clxclient-${PV}.tar.bz2"
+S="${WORKDIR}/clxclient-${PV}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+
+CDEPEND="
+ dev-libs/libclthreads
+ media-libs/freetype:2
+ x11-libs/libX11
+ x11-libs/libXft
+"
+RDEPEND="${CDEPEND}"
+DEPEND="${CDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}/${P}-Makefile.patch"
+ "${FILESDIR}/${P}-enumip-include-fix.patch"
+)
+
+src_compile() {
+ tc-export CXX
+ local prefix="${EPREFIX}/usr"
+ cd "${S}/source"
+ emake INCDIR="${prefix}/include" LIBDIR="${prefix}/$(get_libdir)" PKGCONFIG="$(tc-getPKG_CONFIG)"
+}
+
+src_install() {
+ default
+
+ local prefix="${ED}/usr"
+ cd "${S}/source"
+ emake INCDIR="${prefix}/include" LIBDIR="${prefix}/$(get_libdir)" PKGCONFIG="$(tc-getPKG_CONFIG)" install
+}
diff --git a/x11-libs/libdrm/Manifest b/x11-libs/libdrm/Manifest
index 400e9aeb051a..9d7aeb84cb5e 100644
--- a/x11-libs/libdrm/Manifest
+++ b/x11-libs/libdrm/Manifest
@@ -1,3 +1,2 @@
-DIST libdrm-2.4.120.tar.xz 479564 BLAKE2B 218d674da334c32aae27a31c10992cb276b08543704c875c7d7bf8f3dd348d1cf1c95f35b0afc8f3034d83152c2df460f84807388a21b241792db3e81c98dbfc SHA512 6dc16e5134a669eeb59debb1dc2d15b857483ab7476dc2b94bd05a32d8953f046f5656f6cf9e1a63e97e7156fb65ebb58b6a29fe45cb6326058baaf820626e70
-DIST libdrm-2.4.121.tar.xz 480840 BLAKE2B 23b8c68e12e5d3ed34dcf9577ef934e7990526018f76933a35434c7ea69ba081850e2d4e00e783880bcfe570d62910161364515ce8fde715743abbcb39d3ffb4 SHA512 cc8816d61884caa0e404348d1caeb0b2952fb50e1dc401716adfe08121096e2a67826db0bda0d8b163d67c5ee048870177670d5eac28a5abe5792d09ba77ab2e
DIST libdrm-2.4.122.tar.xz 481012 BLAKE2B ca6aaf0fe55dfcfe33a0d39a7b3ea07aa4cbe772294ec7f419a4edbb40cbce14c399e180e35dd781ef225a16daae8f40d4893599eb018b68cc78e4e981f2e6e2 SHA512 ea6bac94416d4ba0e9805e142ae62904236bc49f803d4fc10c92968a4df64c818dd42524ad7a4e988062836783a148e27094050bb2754f751a368627f794ad13
+DIST libdrm-2.4.123.tar.xz 481112 BLAKE2B 5a621682ef32bb9b9b69b153a36db4b85df54595ade9910091ff62a477ea30fc9e7f22ab5d9b8c8a5f9f1cf428cb400b5e62f3cf811227666de718ddd8cdcc34 SHA512 d3e6ba26bbd609fd87ca131690547eeb6a903c0a8c28b7f5cd5d0947619da09f31daf7bf4b6c38bf5e5dc173e2ccba476338ef682d8cf06d6b71ba73fc9b948d
diff --git a/x11-libs/libdrm/files/libdrm-2.4.120-backport-pr353.patch b/x11-libs/libdrm/files/libdrm-2.4.120-backport-pr353.patch
deleted file mode 100644
index 1d01db322a8c..000000000000
--- a/x11-libs/libdrm/files/libdrm-2.4.120-backport-pr353.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-https://bugs.gentoo.org/927204
-https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/353
-
-From 525e80447fee011734af464b3b5d478b2b7b17af Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Fri, 22 Mar 2024 11:20:17 -0400
-Subject: [PATCH 1/2] symbols-check: Add _GLOBAL_OFFSET_TABLE_
-
-This is exported on hppa/parisc.
-
-See also: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26978
-
-Bug: https://bugs.gentoo.org/927204
----
- symbols-check.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/symbols-check.py b/symbols-check.py
-index 2e7ba68d1..47bc3bead 100644
---- a/symbols-check.py
-+++ b/symbols-check.py
-@@ -7,6 +7,7 @@ import subprocess
-
- # This list contains symbols that _might_ be exported for some platforms
- PLATFORM_SYMBOLS = [
-+ '_GLOBAL_OFFSET_TABLE_',
- '__bss_end__',
- '__bss_start__',
- '__bss_start',
---
-GitLab
-
-
-From c45ffb1edf19faff79238934abe01fd92e9e3d0a Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Fri, 22 Mar 2024 11:21:39 -0400
-Subject: [PATCH 2/2] symbols-check: Add _fbss, _fdata, _ftext
-
-These are exported on mips/mips64.
-
-See also: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11955
----
- symbols-check.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/symbols-check.py b/symbols-check.py
-index 47bc3bead..c63c0d112 100644
---- a/symbols-check.py
-+++ b/symbols-check.py
-@@ -17,6 +17,9 @@ PLATFORM_SYMBOLS = [
- '_end',
- '_fini',
- '_init',
-+ '_fbss',
-+ '_fdata',
-+ '_ftext',
- ]
-
-
---
-GitLab
-
diff --git a/x11-libs/libdrm/libdrm-2.4.120.ebuild b/x11-libs/libdrm/libdrm-2.4.120.ebuild
deleted file mode 100644
index 009f5144834f..000000000000
--- a/x11-libs/libdrm/libdrm-2.4.120.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/drm.git"
-PYTHON_COMPAT=( python3_{10..12} )
-
-if [[ ${PV} = 9999* ]]; then
- GIT_ECLASS="git-r3"
-fi
-
-inherit ${GIT_ECLASS} python-any-r1 meson-multilib
-
-DESCRIPTION="X.Org libdrm library"
-HOMEPAGE="https://dri.freedesktop.org/ https://gitlab.freedesktop.org/mesa/drm"
-if [[ ${PV} != 9999* ]]; then
- SRC_URI="https://dri.freedesktop.org/libdrm/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-VIDEO_CARDS="amdgpu exynos freedreno intel nouveau omap radeon tegra vc4 vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="${IUSE_VIDEO_CARDS} test tools udev valgrind"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- video_cards_intel? ( >=x11-libs/libpciaccess-0.13.1-r1:=[${MULTILIB_USEDEP}] )"
-DEPEND="${COMMON_DEPEND}
- valgrind? ( dev-debug/valgrind )"
-RDEPEND="${COMMON_DEPEND}
- video_cards_amdgpu? (
- tools? ( >=dev-util/cunit-2.1 )
- test? ( >=dev-util/cunit-2.1 )
- )
- udev? ( virtual/udev )"
-BDEPEND="${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')"
-
-PATCHES=( "${FILESDIR}/${PN}-2.4.120-backport-pr353.patch" )
-
-python_check_deps() {
- python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
- sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
- symbols-check.py || die # bug #925550
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_use udev)
- -Dcairo-tests=disabled
- $(meson_feature video_cards_amdgpu amdgpu)
- $(meson_feature video_cards_exynos exynos)
- $(meson_feature video_cards_freedreno freedreno)
- $(meson_feature video_cards_intel intel)
- $(meson_feature video_cards_nouveau nouveau)
- $(meson_feature video_cards_omap omap)
- $(meson_feature video_cards_radeon radeon)
- $(meson_feature video_cards_tegra tegra)
- $(meson_feature video_cards_vc4 vc4)
- $(meson_feature video_cards_vivante etnaviv)
- $(meson_feature video_cards_vmware vmwgfx)
- # valgrind installs its .pc file to the pkgconfig for the primary arch
- -Dvalgrind=$(usex valgrind auto disabled)
- $(meson_native_use_bool tools install-test-programs)
- )
-
- if use test || { multilib_is_native_abi && use tools; }; then
- emesonargs+=( -Dtests=true )
- else
- emesonargs+=( -Dtests=false )
- fi
- meson_src_configure
-}
diff --git a/x11-libs/libdrm/libdrm-2.4.122.ebuild b/x11-libs/libdrm/libdrm-2.4.122.ebuild
index 3f5e53d9399c..ac5c686719d3 100644
--- a/x11-libs/libdrm/libdrm-2.4.122.ebuild
+++ b/x11-libs/libdrm/libdrm-2.4.122.ebuild
@@ -16,7 +16,7 @@ DESCRIPTION="X.Org libdrm library"
HOMEPAGE="https://dri.freedesktop.org/ https://gitlab.freedesktop.org/mesa/drm"
if [[ ${PV} != 9999* ]]; then
SRC_URI="https://dri.freedesktop.org/libdrm/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
fi
VIDEO_CARDS="amdgpu exynos freedreno intel nouveau omap radeon tegra vc4 vivante vmware"
diff --git a/x11-libs/libdrm/libdrm-2.4.121.ebuild b/x11-libs/libdrm/libdrm-2.4.123.ebuild
index 75538252e16f..3f5e53d9399c 100644
--- a/x11-libs/libdrm/libdrm-2.4.121.ebuild
+++ b/x11-libs/libdrm/libdrm-2.4.123.ebuild
@@ -16,7 +16,7 @@ DESCRIPTION="X.Org libdrm library"
HOMEPAGE="https://dri.freedesktop.org/ https://gitlab.freedesktop.org/mesa/drm"
if [[ ${PV} != 9999* ]]; then
SRC_URI="https://dri.freedesktop.org/libdrm/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
VIDEO_CARDS="amdgpu exynos freedreno intel nouveau omap radeon tegra vc4 vivante vmware"
diff --git a/x11-libs/libfm-qt/libfm-qt-2.0.2-r1.ebuild b/x11-libs/libfm-qt/libfm-qt-2.0.2-r1.ebuild
index 68dc836d6898..65f6e9ba6724 100644
--- a/x11-libs/libfm-qt/libfm-qt-2.0.2-r1.ebuild
+++ b/x11-libs/libfm-qt/libfm-qt-2.0.2-r1.ebuild
@@ -15,7 +15,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 ~riscv"
+ KEYWORDS="amd64 ~arm64 ~riscv"
fi
LICENSE="BSD GPL-2+ LGPL-2.1+"
diff --git a/x11-libs/libxkbcommon/files/libxkbcommon-1.7.0-symbol-ver.patch b/x11-libs/libxkbcommon/files/libxkbcommon-1.7.0-symbol-ver.patch
new file mode 100644
index 000000000000..6defb3563b78
--- /dev/null
+++ b/x11-libs/libxkbcommon/files/libxkbcommon-1.7.0-symbol-ver.patch
@@ -0,0 +1,104 @@
+Avoid breaking with older binutils (silently not having versioned symbols).
+
+https://github.com/xkbcommon/libxkbcommon/commit/621e31014cbc985bd99d778260ad11a5fee783da
+https://github.com/xkbcommon/libxkbcommon/commit/1d8a25d6f10ecfc638d7a889bf7d42f79c692a40
+
+From 621e31014cbc985bd99d778260ad11a5fee783da Mon Sep 17 00:00:00 2001
+From: Pierre Le Marre <dev@wismill.eu>
+Date: Tue, 16 Jul 2024 07:00:53 +0200
+Subject: [PATCH] build: Require meson >= 0.58
+
+This will enable f-strings and allow us to simplify the build file.
+---
+ meson.build | 14 ++++----------
+ 2 files changed, 5 insertions(+), 10 deletions(-)
+ create mode 100644 changes/build/+meson_bump.breaking.md
+
+--- a/meson.build
++++ b/meson.build
+@@ -7,7 +7,7 @@ project(
+ 'warning_level=2',
+ 'b_lundef=true',
+ ],
+- meson_version : '>= 0.52.0',
++ meson_version : '>= 0.58.0', # Released on May 2021
+ )
+ pkgconfig = import('pkgconfig')
+ cc = meson.get_compiler('c')
+@@ -270,9 +270,7 @@ dep_libxkbcommon = declare_dependency(
+ link_with: libxkbcommon,
+ include_directories: include_directories('include'),
+ )
+-if meson.version().version_compare('>= 0.54.0')
+- meson.override_dependency('xkbcommon', dep_libxkbcommon)
+-endif
++meson.override_dependency('xkbcommon', dep_libxkbcommon)
+ pkgconfig.generate(
+ libxkbcommon,
+ name: 'xkbcommon',
+@@ -341,9 +339,7 @@ You can disable X11 support with -Denable-x11=false.''')
+ link_with: libxkbcommon_x11,
+ include_directories: include_directories('include'),
+ )
+- if meson.version().version_compare('>= 0.54.0')
+- meson.override_dependency('xkbcommon-x11', dep_libxkbcommon_x11)
+- endif
++ meson.override_dependency('xkbcommon-x11', dep_libxkbcommon_x11)
+ pkgconfig.generate(
+ libxkbcommon_x11,
+ name: 'xkbcommon-x11',
+@@ -409,9 +405,7 @@ if get_option('enable-xkbregistry')
+ link_with: libxkbregistry,
+ include_directories: include_directories('include'),
+ )
+- if meson.version().version_compare('>= 0.54.0')
+- meson.override_dependency('xkbregistry', dep_libxkbregistry)
+- endif
++ meson.override_dependency('xkbregistry', dep_libxkbregistry)
+ endif
+
+ man_pages = []
+
+From 1d8a25d6f10ecfc638d7a889bf7d42f79c692a40 Mon Sep 17 00:00:00 2001
+From: Pierre Le Marre <dev@wismill.eu>
+Date: Fri, 12 Jul 2024 11:10:46 +0200
+Subject: [PATCH] build: Check for --undefined-version support
+
+Gate the use of `--undefined-version` in the linker because it breaks on
+older GNU `ld`: https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=58272.
+---
+ meson.build | 11 +++++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index e8451b69..d0738468 100644
+--- a/meson.build
++++ b/meson.build
+@@ -142,10 +142,17 @@ configh_data.set('_CRT_NONSTDC_NO_DEPRECATE', 1)
+ # Reduce unnecessary includes on MSVC.
+ configh_data.set('WIN32_LEAN_AND_MEAN', 1)
+
++xkbcommon_map = meson.current_source_dir() / 'xkbcommon.map'
++
+ # Supports -Wl,--version-script?
++if cc.has_link_argument('-Wl,--undefined-version')
++ extra_linker_args = ',--undefined-version'
++else
++ extra_linker_args = ''
++endif
+ have_version_script = cc.links(
+ 'int main(){}',
+- args: '-Wl,--undefined-version,--version-script=' + meson.current_source_dir()/'xkbcommon.map',
++ args: f'-Wl,--version-script=@xkbcommon_map@@extra_linker_args@',
+ name: '-Wl,--version-script',
+ )
+
+@@ -235,7 +242,7 @@ libxkbcommon_sources = [
+ libxkbcommon_link_args = []
+ libxkbcommon_link_deps = []
+ if have_version_script
+- libxkbcommon_link_args += '-Wl,--version-script=' + meson.current_source_dir()/'xkbcommon.map'
++ libxkbcommon_link_args += f'-Wl,--version-script=@xkbcommon_map@'
+ libxkbcommon_link_deps += 'xkbcommon.map'
+ elif cc.get_argument_syntax() == 'msvc'
+ libxkbcommon_def = custom_target('xkbcommon.def',
diff --git a/x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild b/x11-libs/libxkbcommon/libxkbcommon-1.7.0-r1.ebuild
index 3fe9b0eff71b..0130d3df99eb 100644
--- a/x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild
+++ b/x11-libs/libxkbcommon/libxkbcommon-1.7.0-r1.ebuild
@@ -41,6 +41,10 @@ DEPEND="${RDEPEND}
tools? ( wayland? ( >=dev-libs/wayland-protocols-1.12 ) )
"
+PATCHES=(
+ "${FILESDIR}"/libxkbcommon-1.7.0-symbol-ver.patch
+)
+
pkg_setup() {
if use test; then
python-any-r1_pkg_setup
diff --git a/x11-libs/motif/motif-2.3.8-r6.ebuild b/x11-libs/motif/motif-2.3.8-r6.ebuild
new file mode 100644
index 000000000000..384fce5bf78d
--- /dev/null
+++ b/x11-libs/motif/motif-2.3.8-r6.ebuild
@@ -0,0 +1,120 @@
+# 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
+
+DESCRIPTION="The Motif user interface component toolkit"
+HOMEPAGE="https://sourceforge.net/projects/motif/
+ https://motif.ics.com/"
+SRC_URI="https://downloads.sourceforge.net/project/motif/Motif%20${PV}%20Source%20Code/${P}.tar.gz
+ https://dev.gentoo.org/~ulm/distfiles/${P}-patches-5.tar.xz"
+
+LICENSE="LGPL-2.1+ MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples jpeg +motif22-compatibility png static-libs unicode xft"
+
+RDEPEND=">=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXmu-1.1.1-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}]
+ jpeg? ( >=media-libs/libjpeg-turbo-1.5.3-r2:0=[${MULTILIB_USEDEP}] )
+ png? ( >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}] )
+ unicode? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ xft? (
+ >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}]
+ >=x11-libs/libXft-2.3.1-r1[${MULTILIB_USEDEP}]
+ )"
+
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+ x11-misc/xbitmaps"
+
+BDEPEND="sys-devel/flex
+ dev-util/byacc"
+
+src_prepare() {
+ eapply ../patch
+ eapply_user
+
+ # remove files generated by flex #864533
+ rm tools/wml/{wmllex,wmluiltok}.c || die
+
+ AT_M4DIR=. eautoreconf
+
+ # get around some LANG problems in make (#15119)
+ LANG=C
+
+ # bug #80421
+ filter-flags -ftracer
+
+ # -Werror=lto-type-mismatch
+ filter-lto
+
+ # feel free to fix properly if you care
+ append-flags -fno-strict-aliasing
+
+ # for Solaris Xos_r.h :(
+ [[ ${CHOST} == *-solaris2.11 ]] \
+ && append-cppflags -DNEED_XOS_R_H -DHAVE_READDIR_R_3
+
+ if use !elibc_glibc && use !elibc_musl && use unicode; then
+ # libiconv detection in configure script doesn't always work
+ # http://bugs.motifzone.net/show_bug.cgi?id=1423
+ export LIBS="${LIBS} -liconv"
+ fi
+
+ # avoid mismatch of lex variants #936172
+ export LEX=flex
+ # "bison -y" causes runtime crashes #355795
+ export YACC=byacc
+
+ # remember the name of the C compiler for the native ABI
+ MY_NATIVE_CC=$(tc-getCC)
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-x \
+ --disable-printing \
+ $(use_enable static-libs static) \
+ $(use_enable motif22-compatibility) \
+ $(use_enable unicode utf8) \
+ $(use_enable xft) \
+ $(use_enable jpeg) \
+ $(use_enable png)
+}
+
+multilib_src_compile() {
+ if ! multilib_is_native_abi; then
+ # The wmluiltok build tool is linked with libfl.a, so always
+ # compile it for the native ABI
+ emake -C tools/wml CC="${MY_NATIVE_CC}" \
+ wmluiltok_LDADD="-lfl" wmluiltok
+ fi
+ emake
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use examples; then
+ emake -C demos DESTDIR="${D}" install-data
+ dodir /usr/share/doc/${PF}/demos
+ mv "${ED}"/usr/share/Xm/* "${ED}"/usr/share/doc/${PF}/demos || die
+ fi
+}
+
+multilib_src_install_all() {
+ # mwm default configs
+ insinto /usr/share/X11/app-defaults
+ newins "${FILESDIR}"/Mwm.defaults Mwm
+
+ # cleanup
+ rm -rf "${ED}"/usr/share/Xm || die
+ find "${D}" -type f -name "*.la" -delete || die
+
+ dodoc BUGREPORT ChangeLog README RELEASE RELNOTES TODO
+}
diff --git a/x11-libs/qtermwidget/qtermwidget-2.0.1.ebuild b/x11-libs/qtermwidget/qtermwidget-2.0.1.ebuild
index 5c8c5cbd88fc..8fb1ffd8efce 100644
--- a/x11-libs/qtermwidget/qtermwidget-2.0.1.ebuild
+++ b/x11-libs/qtermwidget/qtermwidget-2.0.1.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 ~riscv"
+ KEYWORDS="amd64 ~arm64 ~riscv"
fi
LICENSE="BSD GPL-2 LGPL-2+"
diff --git a/x11-libs/qwtplot3d/Manifest b/x11-libs/qwtplot3d/Manifest
index 8ada881f3c31..5f549270a82e 100644
--- a/x11-libs/qwtplot3d/Manifest
+++ b/x11-libs/qwtplot3d/Manifest
@@ -1,2 +1 @@
-DIST qwtplot3d-0.2.tar.gz 322366 BLAKE2B 7c589efe13409089dd6e1b579f19891fb0b75e44a4add87128822b3184c4d22ec0e7b04ce4c7c52dfaf8644a17a8506419726ae1ab50ab7cd7bc9ea9f84f9268 SHA512 92addf10865d090216a92d5ced5b0793b50657c6c5e5faf5c8f78120cc9c94a0b6f8e351d2e053b73951411b8f81a4179c0f17aea27d78cd748df8f81b31bcf9
DIST qwtplot3d-0.2_p20210828.tar.gz 162362 BLAKE2B e2382f8b1b6f9f3ac5526a6ae3269f649badf11240e65283c62a88ae620ca81d6f1bad51f39651c1ca1fa8bf63f47978a41386cdec64a374a16eb7bf579d0875 SHA512 92ecfd6e91a31921993171f41f4606abbbd675fb869c32c3f1e0665cb13e1d88718bba39493edbc350c8e0a7b66cdfb14fd998d46b3f67b7223a41260347061a
diff --git a/x11-libs/qwtplot3d/qwtplot3d-0.2.ebuild b/x11-libs/qwtplot3d/qwtplot3d-0.2.ebuild
deleted file mode 100644
index 94347022ede3..000000000000
--- a/x11-libs/qwtplot3d/qwtplot3d-0.2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DOCS_BUILDER="doxygen"
-DOCS_DIR="doc"
-DOCS_CONFIG_NAME="Doxyfile.doxygen"
-
-inherit docs qmake-utils
-
-DESCRIPTION="3D plotting library for Qt5"
-HOMEPAGE="http://qwtplot3d.sourceforge.net/ https://github.com/SciDAVis/qwtplot3d/"
-SRC_URI="https://github.com/SciDAVis/qwtplot3d/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ZLIB"
-KEYWORDS="~amd64 ~x86"
-SLOT="0"
-
-IUSE="doc examples"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtwidgets:5
- x11-libs/gl2ps
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-examples.patch"
- "${FILESDIR}/${PN}-doxygen.patch"
- "${FILESDIR}/${PN}-gcc44.patch"
- "${FILESDIR}/${PN}-qt-4.8.0.patch"
- "${FILESDIR}/${PN}-sys-gl2ps.patch"
-)
-
-src_prepare() {
- default
- cat >> ${PN}.pro <<-EOF || die
- target.path = "${EPREFIX}/usr/$(get_libdir)"
- headers.path = "${EPREFIX}/usr/include/${PN}"
- headers.files = \$\$HEADERS
- INSTALLS = target headers
- EOF
-}
-
-src_configure() {
- eqmake5
-}
-
-src_compile() {
- default
- docs_compile
-}
-
-src_install () {
- emake INSTALL_ROOT="${D}" install
- einstalldocs
- if use examples; then
- insinto /usr/share/${PN}
- doins -r examples
- fi
-}
diff --git a/x11-libs/vte/Manifest b/x11-libs/vte/Manifest
index 2224282550b4..27121b0fa13d 100644
--- a/x11-libs/vte/Manifest
+++ b/x11-libs/vte/Manifest
@@ -2,3 +2,6 @@ DIST vte-0.68.0-command-notify.patch.xz 9748 BLAKE2B de2d4c9b7f2c2b21518984f818d
DIST vte-0.68.0.tar.bz2 507598 BLAKE2B 10274d9e804f00bf071b7848633ca8de2953f4e91dc2967e33b7d6698bb304baac4f0e0431debae5a972c2c56c65efd1c5b92455a17db08cf254ddec56d3276e SHA512 785df7261b5075f166e59de7d3535b381564715ce65efd4837a130e153528691b610fc6160c00f0f17008f5f4ee94c23350d9a477b4b1d58da6ace083e5caae1
DIST vte-0.74.0-command-notify.patch.xz 9248 BLAKE2B 30917bc72d2b3fd917178f49c26f023d40d37e9a44a896c44e55345396d0bfdb1b109f8b2fdead96c31f92f5febcc397f2899511647c3adf3c2aace2be8ffa94 SHA512 fc0bb3cfa70fc5e1384c44fcce6d6a76957d0dd72f61a882d9df22d55dd06fcee4e7bd2a136c443158fe403992befe5d7ce5970b8b657b690b3875ff5171ea83
DIST vte-0.74.2.tar.bz2 505422 BLAKE2B 243eabfb26c0ec65d0b202437ae79265440256941dae4263e9d6dc9afea24d0fbbd7d421864a90b54d2ba953cd60a2b5a41aef9fb9e53396176bcc71400eef82 SHA512 203dd0f8606b8979cde01781412e0dbab3cb8857828e55f6d69ecfc2e4d58d53430aa5c61a2203e122c772ba1f6c5b739d3c03456b133580e76d511d67f3f534
+DIST vte-0.76.3-a11y-implement-GtkAccessibleText.patch.xz 9548 BLAKE2B 2c34f44cff5e1abf00358984c8000a3d7bce3b020be08052d016ca69864f9ab9b1a22ca6709dd5e78a13c8e43a6c4ace1fc1e74f5be83a9988c2b0083880ab95 SHA512 490ec91f27a8a873ee03f8aebb222217c85b2f865e6662dcc5efc1d9fe3765c966d4e9cd8691c4f1779e232139822eb1aa0f464e7090da96c6c17b556f642927
+DIST vte-0.76.3-command-notify.patch.xz 4336 BLAKE2B d3fd8eef9c3322af20ceac4678635edbb00159fa88147a897f655a5920c638da19fff10e08215a891df2cdd5721cd808b6041d84e74980a9f129e07de621526b SHA512 1c974ae97823659bee873036d656423255fae2b71baa4f4221b656055d69d55120f5cccfe3d9e514a64a2c5f87f94c1e4b47b4a2a233faf28ca06a959efe3e3b
+DIST vte-0.76.3.tar.bz2 564747 BLAKE2B 1ad65a18ca1aa2371dd74ef3ebaf1aa44358c4a1cbcfa39296fde10e03a76cdbdd2ca7f229f1b4507016e8b986824407d937952a45306eab5e6c0ca5ee9cec8b SHA512 8b7e18831e99ac92159f7b39c6404879cebf22f1f2dcb3feb38cad61f374767f631923c219e153551e9f30ee75c1e8e975fbbf3a6027b9c62ba4f948e3c9f199
diff --git a/x11-libs/vte/files/vte-0.76.3-stdint.patch b/x11-libs/vte/files/vte-0.76.3-stdint.patch
new file mode 100644
index 000000000000..26c640e0ae7f
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.76.3-stdint.patch
@@ -0,0 +1,34 @@
+
+Fix compilation with gcc-14.
+
+Bug: https://bugs.gentoo.org/937617
+Bug: https://gitlab.gnome.org/GNOME/vte/-/issues/2807
+
+Patch from:
+https://gitlab.gnome.org/GNOME/vte/-/commit/0d393b6cd6a24f53eaefa16764b9453a1483acf5
+
+From 0d393b6cd6a24f53eaefa16764b9453a1483acf5 Mon Sep 17 00:00:00 2001
+From: Christian Persch <chpe@src.gnome.org>
+Date: Mon, 12 Aug 2024 18:42:37 +0200
+Subject: [PATCH] lib: Include stdint.h where needed
+
+Fixes: https://gitlab.gnome.org/GNOME/vte/-/issues/2807
+---
+ src/vte/vteregex.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/vte/vteregex.h b/src/vte/vteregex.h
+index 10c5088b8..c9e4f75db 100644
+--- a/src/vte/vteregex.h
++++ b/src/vte/vteregex.h
+@@ -23,6 +23,7 @@
+
+ #include <glib.h>
+ #include <glib-object.h>
++#include <stdint.h>
+
+ #include "vtemacros.h"
+
+--
+GitLab
+
diff --git a/x11-libs/vte/vte-0.76.3.ebuild b/x11-libs/vte/vte-0.76.3.ebuild
new file mode 100644
index 000000000000..e18dd0ef6bbc
--- /dev/null
+++ b/x11-libs/vte/vte-0.76.3.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic gnome.org meson python-any-r1 vala xdg
+
+DESCRIPTION="Library providing a virtual terminal emulator widget"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/vte/"
+
+# Upstream is hostile and refuses to upload tarballs.
+SRC_URI="https://gitlab.gnome.org/GNOME/${PN}/-/archive/${PV}/${P}.tar.bz2"
+SRC_URI="${SRC_URI}
+ !vanilla? (
+ https://dev.gentoo.org/~pacho/${PN}/${P}-command-notify.patch.xz
+ https://dev.gentoo.org/~pacho/${PN}/${P}-a11y-implement-GtkAccessibleText.patch.xz )
+"
+# Once SIXEL support ships (0.66 or later), might need xterm license (but code might be considered upgraded to LGPL-3+)
+LICENSE="LGPL-3+ GPL-3+"
+
+SLOT="2.91" # vte_api_version in meson.build
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="+crypt debug gtk-doc +icu +introspection systemd +vala vanilla"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+
+DEPEND="
+ >=x11-libs/gtk+-3.24.22:3[introspection?]
+ >=x11-libs/cairo-1.0
+ >=dev-libs/fribidi-1.0.0
+ >=dev-libs/glib-2.72:2
+ crypt? ( >=net-libs/gnutls-3.2.7:0= )
+ icu? ( dev-libs/icu:= )
+ >=x11-libs/pango-1.22.0
+ >=dev-libs/libpcre2-10.21:=
+ systemd? ( >=sys-apps/systemd-220:= )
+ >=app-arch/lz4-1.9
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+ x11-libs/pango[introspection?]
+"
+RDEPEND="${DEPEND}
+ ~gui-libs/vte-common-${PV}[systemd?]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/libxml2:2
+ dev-util/glib-utils
+ gtk-doc? ( dev-util/gi-docgen )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-0.76.3-stdint.patch" )
+
+src_prepare() {
+ default
+ use vala && vala_setup
+ xdg_environment_reset
+
+ use elibc_musl && eapply "${FILESDIR}"/${PN}-0.66.2-musl-W_EXITCODE.patch
+
+ if ! use vanilla; then
+ # From https://src.fedoraproject.org/rpms/vte291/raw/f40/f/0001-add-notification-and-shell-precmd-preexec.patch
+ # Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
+ eapply "${WORKDIR}"/${P}-command-notify.patch
+ # From https://src.fedoraproject.org/rpms/vte291/raw/f40/f/0001-a11y-implement-GtkAccessibleText.patch
+ # Migrate to GTK4 and add VteTerminal:enable-a11y feature flag
+ eapply "${WORKDIR}"/${P}-a11y-implement-GtkAccessibleText.patch
+ fi
+
+ # -Ddebugg option enables various debug support via VTE_DEBUG, but also ggdb3; strip the latter
+ sed -e '/ggdb3/d' -i meson.build || die
+ sed -i 's/vte_gettext_domain = vte_api_name/vte_gettext_domain = vte_gtk3_api_name/' meson.build || die
+}
+
+src_configure() {
+ # Upstream don't support LTO & error out on it in meson.build
+ filter-lto
+
+ local emesonargs=(
+ -Da11y=true
+ $(meson_use debug)
+ $(meson_use gtk-doc docs)
+ $(meson_use introspection gir)
+ -Dfribidi=true # pulled in by pango anyhow
+ -Dglade=true
+ $(meson_use crypt gnutls)
+ -Dgtk3=true
+ -Dgtk4=false
+ $(meson_use icu)
+ $(meson_use systemd _systemd)
+ $(meson_use vala vapi)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ # not meson_src_install because this would include einstalldocs, which
+ # would result in file collisions with gui-libs/vte
+ meson_install
+
+ # Remove files that are provided by gui-libs/vte-common
+ rm "${ED}"/usr/libexec/vte-urlencode-cwd || die
+ rm "${ED}"/etc/profile.d/vte.sh || die
+ rm "${ED}"/etc/profile.d/vte.csh || die
+ if use systemd; then
+ rm "${ED}"/usr/lib/systemd/user/vte-spawn-.scope.d/defaults.conf || die
+ fi
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/ || die
+ mv "${ED}"/usr/share/doc/vte-${SLOT} "${ED}"/usr/share/gtk-doc/vte-${SLOT}-gtk3 || die
+ fi
+}
diff --git a/x11-libs/wxGTK/Manifest b/x11-libs/wxGTK/Manifest
index 298c9ebfa14b..cf92435c8584 100644
--- a/x11-libs/wxGTK/Manifest
+++ b/x11-libs/wxGTK/Manifest
@@ -6,3 +6,5 @@ DIST wxWidgets-3.0.5-docs-html.tar.bz2 23844256 BLAKE2B f5b5bef129302ae1ded7a651
DIST wxWidgets-3.0.5.1.tar.bz2 19739206 BLAKE2B da270cb8e4fc22b8d892ba80fbb4cc71578f642ca07102006f914a80331a254e746de6c91e61b585c0b1ab3abadd17d80a0eaa3efd48a3d412cf7202101abc7a SHA512 0a789fc5e71d414e43f75b5c16076fe8b1bcd7671be0770e4269dcef66d830c1bc74e183f49db270b928862f13472666c283fe2aa98b9006681722e06100725d
DIST wxWidgets-3.2.2.1-docs-html.tar.bz2 18109775 BLAKE2B bb5dad886c2ba64feb9ec3be05f2cd4bcfb127d55f0a0af6d0aa59ee8f47663e39e7fcb3c0472cfdda9fbf99f1d32e07ff29604261e168f3b4218b9b5b61abc2 SHA512 9b883e1c611ac78f7b8457ffd8682c614d7653f561215c48e6239b6394cc4c084b34d6c55fe84fb7b76b38189591e94dc4596242f9e8653d2c72ae6f4b3a6293
DIST wxWidgets-3.2.2.1.tar.bz2 27339515 BLAKE2B e761e768dbb32bf76dbabf27aa9feb634760aa214c2d8f85f9b4284700d01390617c275a855fa3ae28481a38233f3a71f8560e5a8a360d7b72ace2603c551327 SHA512 289d61ea2abd75a329aafcbd347ab84b136f31fca01dd902593f661691ecd30a4416286ff501c4257baa6765cf356ade3087eb8609af9a44599cfdc20e2f03a6
+DIST wxWidgets-3.2.5-docs-html.tar.bz2 18205089 BLAKE2B 8bf09c0f9698e72e425a4e4fcbd57498851c93f02dca33fadcd785e04f3927807ff65e8b7dbecaadde64b2bf7653e950a93c5d522ff4e27a8e3baaa85ef6c692 SHA512 cc80c827c4f8607ef38e435eb7fd5dab9fcad5e93ab81bca262d212f5a061b85093d1bc1a1bdc82a7422c4744b6fdd5c82f3142b6a497e85067f571ce9513f5e
+DIST wxWidgets-3.2.5.tar.bz2 27539152 BLAKE2B e262860b5d64d30576bbe61913d14c98c7e56bc1f108696abe0d446145e8c8cea3711bae4f3248c7def06ee988ee4441652376113ad2b4f04402249d7c1e6961 SHA512 b5bd8e4b53b7c44f79b76a39de0071d14e1f0325e66b7a9f2c7f1934a4146be3c78332f610119f7ba46ca4cd1055272a3d8937ad46665ce5abd867a803f22c86
diff --git a/x11-libs/wxGTK/files/wxGTK-3.2.5-dont-break-flags.patch b/x11-libs/wxGTK/files/wxGTK-3.2.5-dont-break-flags.patch
new file mode 100644
index 000000000000..329e0a8a80da
--- /dev/null
+++ b/x11-libs/wxGTK/files/wxGTK-3.2.5-dont-break-flags.patch
@@ -0,0 +1,18 @@
+--- wxWidgets-3.2.5/configure.orig 2024-07-20 05:18:49.509254253 +0000
++++ wxWidgets-3.2.5/configure 2024-07-20 05:20:47.575983942 +0000
+@@ -45700,13 +45700,8 @@
+
+ dedup_flags()
+ {
+- printf "%s " "$@" |
+- awk 'BEGIN { RS=" "; ORS=" " }
+- {
+- if ($0=="") next
+- if ($0=="-arch" || $0=="-framework") { x=$0; next }
+- if (x!="") x=x " " $0; else x=$0; if (!seen[x]++) print x; x=""
+- }'
++ # Gentoo: Don't hack out flags, parsing them is complex.
++ printf '%s ' "$@"
+ }
+
+ WX_CPPFLAGS=`dedup_flags "$CPPFLAGS"`
diff --git a/x11-libs/wxGTK/wxGTK-3.2.2.1-r5.ebuild b/x11-libs/wxGTK/wxGTK-3.2.2.1-r5.ebuild
new file mode 100644
index 000000000000..9fd9ff23eff6
--- /dev/null
+++ b/x11-libs/wxGTK/wxGTK-3.2.2.1-r5.ebuild
@@ -0,0 +1,262 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal flag-o-matic
+
+WXSUBVERSION="${PV}-gtk3" # 3.2.1-gtk3
+WXVERSION="$(ver_cut 1-3)" # 3.2.1
+# Make sure that this matches the number of components in ${PV}
+WXRELEASE="$(ver_cut 1-2)-gtk3" # 3.2-gtk3
+WXRELEASE_NODOT=${WXRELEASE//./} # 32-gtk3
+
+DESCRIPTION="GTK version of wxWidgets, a cross-platform C++ GUI toolkit"
+HOMEPAGE="https://wxwidgets.org/"
+SRC_URI="
+ https://github.com/wxWidgets/wxWidgets/releases/download/v${PV}/wxWidgets-${PV}.tar.bz2
+ doc? ( https://github.com/wxWidgets/wxWidgets/releases/download/v${PV}/wxWidgets-${PV}-docs-html.tar.bz2 )"
+S="${WORKDIR}/wxWidgets-${PV}"
+
+LICENSE="wxWinLL-3 GPL-2 doc? ( wxWinFDL-3 )"
+SLOT="${WXRELEASE}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+X curl doc debug keyring gstreamer libnotify +lzma opengl pch sdl +spell test tiff wayland webkit X"
+REQUIRED_USE="test? ( tiff ) tiff? ( X ) spell? ( X ) keyring? ( X )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-eselect/eselect-wxwidgets-20131230
+ dev-libs/expat[${MULTILIB_USEDEP}]
+ dev-libs/libpcre2[pcre16,pcre32,unicode]
+ sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
+ curl? ( net-misc/curl )
+ lzma? ( app-arch/xz-utils )
+ X? (
+ >=dev-libs/glib-2.22:2[${MULTILIB_USEDEP}]
+ media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
+ media-libs/libpng:0=[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.24.41-r1:3[wayland?,X?,${MULTILIB_USEDEP}]
+ x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
+ x11-libs/libSM[${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXtst
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ media-libs/fontconfig
+ x11-libs/pango[${MULTILIB_USEDEP}]
+ keyring? ( app-crypt/libsecret )
+ gstreamer? (
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-bad:1.0[${MULTILIB_USEDEP}]
+ )
+ libnotify? ( x11-libs/libnotify[${MULTILIB_USEDEP}] )
+ opengl? (
+ virtual/opengl[${MULTILIB_USEDEP}]
+ wayland? ( dev-libs/wayland )
+ )
+ spell? ( app-text/gspell:= )
+ tiff? ( media-libs/tiff:=[${MULTILIB_USEDEP}] )
+ webkit? ( net-libs/webkit-gtk:4= )
+ )"
+DEPEND="${RDEPEND}
+ opengl? ( virtual/glu[${MULTILIB_USEDEP}] )
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ test? ( >=dev-util/cppunit-1.8.0 )
+ >=app-eselect/eselect-wxwidgets-20131230
+ virtual/pkgconfig"
+
+# Note about the gst-plugin-base dep: The build system queries for it,
+# but doesn't link it for some reason? Either way - probably best to
+# depend on it anyway.
+# Note about the wayland dep: Appears to be only required for the OpenGL
+# canvas, and it seems impossible to disable the X dependency, unless
+# I'm missing something. This is an automagic header dep, though.
+
+PATCHES=(
+ #"${WORKDIR}"/wxGTK-3.0.5_p20210214/
+ "${FILESDIR}/${PN}-3.2.1-gtk3-translation-domain.patch"
+ #"${FILESDIR}"/wxGTK-ignore-c++-abi.patch #676878
+ "${FILESDIR}/${PN}-3.2.1-configure-tests.patch"
+ "${FILESDIR}/${PN}-3.2.1-wayland-control.patch"
+ "${FILESDIR}/${PN}-3.2.1-prefer-lib64-in-tests.patch"
+ "${FILESDIR}/${PN}-3.2.2.1-dont-break-flags.patch"
+ "${FILESDIR}/${PN}-3.2.2.1-backport-pr24197.patch"
+)
+
+src_prepare() {
+ default
+
+ # find . -iname Makefile.in -not -path ./samples'/*' \
+ # | xargs grep -l WX_RELEASE
+ local versioned_makefiles=(
+ ./tests/benchmarks/Makefile.in
+ ./tests/Makefile.in
+ ./utils/emulator/src/Makefile.in
+ ./utils/execmon/Makefile.in
+ ./utils/wxrc/Makefile.in
+ ./utils/helpview/src/Makefile.in
+ ./utils/hhp2cached/Makefile.in
+ ./utils/screenshotgen/src/Makefile.in
+ ./utils/ifacecheck/src/Makefile.in
+ ./Makefile.in
+ ./demos/life/Makefile.in
+ ./demos/bombs/Makefile.in
+ ./demos/fractal/Makefile.in
+ ./demos/forty/Makefile.in
+ ./demos/poem/Makefile.in
+ )
+
+ # Versionating
+ sed -i \
+ -e "s:\(WX_RELEASE = \).*:\1${WXRELEASE}:"\
+ -e "s:\(WX_RELEASE_NODOT = \).*:\1${WXRELEASE_NODOT}:"\
+ -e "s:\(WX_VERSION = \).*:\1${WXVERSION}:"\
+ -e "s:aclocal):aclocal/wxwin${WXRELEASE_NODOT}.m4):" \
+ "${versioned_makefiles[@]}" || die
+
+ sed -i \
+ -e "s:\(WX_VERSION=\).*:\1${WXVERSION}:" \
+ -e "s:\(WX_RELEASE=\).*:\1${WXRELEASE}:" \
+ -e "s:\(WX_SUBVERSION=\).*:\1${WXSUBVERSION}:" \
+ -e '/WX_VERSION_TAG=/ s:${WX_RELEASE}:3.0:' \
+ configure || die
+}
+
+multilib_src_configure() {
+ # defang automagic dependencies, bug #927952
+ use wayland || append-cflags -DGENTOO_GTK_HIDE_WAYLAND
+ use X || append-cflags -DGENTOO_GTK_HIDE_X11
+
+ # Workaround for bug #915154
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # X independent options
+ local myeconfargs=(
+ --with-zlib=sys
+ --with-expat=sys
+ --enable-compat30
+ --enable-xrc
+ $(use_with sdl)
+ $(use_with lzma liblzma)
+ # Currently defaults to curl, could change. Watch the VDB!
+ $(use_enable curl webrequest)
+
+ # PCHes are unstable and are disabled in-tree where possible
+ # See bug #504204
+ # Commits 8c4774042b7fdfb08e525d8af4b7912f26a2fdce, fb809aeadee57ffa24591e60cfb41aecd4823090
+ $(use_enable pch precomp-headers)
+
+ # Don't hard-code libdir's prefix for wx-config
+ --libdir='${prefix}'/$(get_libdir)
+ )
+
+ # By default, we now build with the GLX GLCanvas because some software like
+ # PrusaSlicer does not yet support EGL:
+ #
+ # https://github.com/prusa3d/PrusaSlicer/issues/9774 .
+ #
+ # A solution for this is being developed upstream:
+ #
+ # https://github.com/wxWidgets/wxWidgets/issues/22325 .
+ #
+ # Any software that needs to use OpenGL under Wayland can be patched like
+ # this to run under xwayland:
+ #
+ # https://github.com/visualboyadvance-m/visualboyadvance-m/commit/aca206a721265366728222d025fec30ee500de82 .
+ #
+ # Check that the macro wxUSE_GLCANVAS_EGL is set to 1.
+ #
+ myeconfargs+=( "--disable-glcanvasegl" )
+
+ # debug in >=2.9
+ # there is no longer separate debug libraries (gtk2ud)
+ # wxDEBUG_LEVEL=1 is the default and we will leave it enabled
+ # wxDEBUG_LEVEL=2 enables assertions that have expensive runtime costs.
+ # apps can disable these features by building w/ -NDEBUG or wxDEBUG_LEVEL_0.
+ # http://docs.wxwidgets.org/3.0/overview_debugging.html
+ # https://groups.google.com/group/wx-dev/browse_thread/thread/c3c7e78d63d7777f/05dee25410052d9c
+ use debug && myeconfargs+=( --enable-debug=max )
+
+ # wxGTK options
+ # --enable-graphics_ctx - needed for webkit, editra
+ # --without-gnomevfs - bug #203389
+ use X && myeconfargs+=(
+ --enable-graphics_ctx
+ --with-gtkprint
+ --enable-gui
+ --with-gtk=3
+ --with-libpng=sys
+ --with-libjpeg=sys
+
+ # Choosing to enable this unconditionally seems fair, pcre2 is
+ # almost certain to be installed.
+ --with-regex=sys
+ --without-gnomevfs
+ $(use_enable gstreamer mediactrl)
+ $(multilib_native_use_enable webkit webview)
+ $(use_with libnotify)
+ $(use_with opengl)
+ $(use_with tiff libtiff sys)
+ $(use_enable keyring secretstore)
+ $(use_enable spell spellcheck)
+ $(use_enable test tests)
+ $(use_enable wayland)
+ )
+
+ # wxBase options
+ ! use X && myeconfargs+=( --disable-gui )
+
+ # wxWidgets installs a configuration file with a reference to EGREP.
+ # Autoconf discovers these programs via full paths, which is
+ # unnecessary and fails if a build happened on a merged-usr system
+ # but is being used on a split-usr system. Bug #927920.
+ export ac_cv_path_SED="sed"
+ export ac_cv_path_EGREP="grep -E"
+ export ac_cv_path_EGREP_TRADITIONAL="grep -E"
+ export ac_cv_path_FGREP="grep -F"
+ export ac_cv_path_GREP="grep"
+ export ac_cv_path_lt_DD="dd"
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ emake -C tests
+ (cd tests && ./test '~[.]~[net]') || die
+}
+
+multilib_src_install_all() {
+ cd docs || die
+ dodoc changes.txt readme.txt
+ newdoc base/readme.txt base_readme.txt
+ newdoc gtk/readme.txt gtk_readme.txt
+
+ use doc && HTML_DOCS=( "${WORKDIR}"/wxWidgets-${PV}-docs-html/. )
+ einstalldocs
+
+ # Unversioned links
+ rm "${ED}"/usr/bin/wx-config || die
+ rm "${ED}"/usr/bin/wxrc || die
+
+ # version bakefile presets
+ pushd "${ED}"/usr/share/bakefile/presets >/dev/null || die
+ local f
+ for f in wx*; do
+ mv "${f}" "${f/wx/wx32gtk3}" || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_postinst() {
+ has_version -b app-eselect/eselect-wxwidgets \
+ && eselect wxwidgets update
+}
+
+pkg_postrm() {
+ has_version -b app-eselect/eselect-wxwidgets \
+ && eselect wxwidgets update
+}
diff --git a/x11-libs/wxGTK/wxGTK-3.2.5.ebuild b/x11-libs/wxGTK/wxGTK-3.2.5.ebuild
new file mode 100644
index 000000000000..59e334adfaa1
--- /dev/null
+++ b/x11-libs/wxGTK/wxGTK-3.2.5.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal flag-o-matic
+
+WXSUBVERSION="${PV}-gtk3" # 3.2.5-gtk3
+WXVERSION="$(ver_cut 1-3)" # 3.2.5
+# Make sure that this matches the number of components in ${PV}
+WXRELEASE="$(ver_cut 1-2)-gtk3" # 3.2-gtk3
+WXRELEASE_NODOT=${WXRELEASE//./} # 32-gtk3
+
+DESCRIPTION="GTK version of wxWidgets, a cross-platform C++ GUI toolkit"
+HOMEPAGE="https://wxwidgets.org/"
+SRC_URI="
+ https://github.com/wxWidgets/wxWidgets/releases/download/v${PV}/wxWidgets-${PV}.tar.bz2
+ doc? ( https://github.com/wxWidgets/wxWidgets/releases/download/v${PV}/wxWidgets-${PV}-docs-html.tar.bz2 )"
+S="${WORKDIR}/wxWidgets-${PV}"
+
+LICENSE="wxWinLL-3 GPL-2 doc? ( wxWinFDL-3 )"
+SLOT="${WXRELEASE}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+X curl doc debug keyring gstreamer libnotify +lzma opengl pch sdl +spell test tiff wayland webkit"
+REQUIRED_USE="test? ( tiff ) tiff? ( X ) spell? ( X ) keyring? ( X )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-eselect/eselect-wxwidgets-20131230
+ dev-libs/expat[${MULTILIB_USEDEP}]
+ dev-libs/libpcre2[pcre16,pcre32,unicode]
+ sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
+ curl? ( net-misc/curl )
+ lzma? ( app-arch/xz-utils )
+ X? (
+ >=dev-libs/glib-2.22:2[${MULTILIB_USEDEP}]
+ media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
+ media-libs/libpng:0=[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ x11-libs/gtk+:3[wayland?,${MULTILIB_USEDEP}]
+ x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
+ x11-libs/libSM[${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXtst
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ media-libs/fontconfig
+ x11-libs/pango[${MULTILIB_USEDEP}]
+ keyring? ( app-crypt/libsecret )
+ gstreamer? (
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-bad:1.0[${MULTILIB_USEDEP}]
+ )
+ libnotify? ( x11-libs/libnotify[${MULTILIB_USEDEP}] )
+ opengl? (
+ virtual/opengl[${MULTILIB_USEDEP}]
+ wayland? ( dev-libs/wayland )
+ )
+ spell? ( app-text/gspell:= )
+ tiff? ( media-libs/tiff:=[${MULTILIB_USEDEP}] )
+ webkit? ( net-libs/webkit-gtk:4.1= )
+ )"
+DEPEND="${RDEPEND}
+ opengl? ( virtual/glu[${MULTILIB_USEDEP}] )
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ test? ( >=dev-util/cppunit-1.8.0 )
+ >=app-eselect/eselect-wxwidgets-20131230
+ virtual/pkgconfig"
+
+# Note about the gst-plugin-base dep: The build system queries for it,
+# but doesn't link it for some reason? Either way - probably best to
+# depend on it anyway.
+# Note about the wayland dep: Appears to be only required for the OpenGL
+# canvas, and it seems impossible to disable the X dependency, unless
+# I'm missing something. This is an automagic header dep, though.
+
+PATCHES=(
+ #"${WORKDIR}"/wxGTK-3.0.5_p20210214/
+ "${FILESDIR}/${PN}-3.2.1-gtk3-translation-domain.patch"
+ #"${FILESDIR}"/wxGTK-ignore-c++-abi.patch #676878
+ "${FILESDIR}/${PN}-3.2.1-configure-tests.patch"
+ "${FILESDIR}/${PN}-3.2.1-wayland-control.patch"
+ "${FILESDIR}/${PN}-3.2.1-prefer-lib64-in-tests.patch"
+ "${FILESDIR}/${PN}-3.2.5-dont-break-flags.patch"
+ "${FILESDIR}/${PN}-3.2.2.1-backport-pr24197.patch"
+)
+
+src_prepare() {
+ default
+
+ # find . -iname Makefile.in -not -path ./samples'/*' \
+ # | xargs grep -l WX_RELEASE
+ local versioned_makefiles=(
+ ./tests/benchmarks/Makefile.in
+ ./tests/Makefile.in
+ ./utils/emulator/src/Makefile.in
+ ./utils/execmon/Makefile.in
+ ./utils/wxrc/Makefile.in
+ ./utils/helpview/src/Makefile.in
+ ./utils/hhp2cached/Makefile.in
+ ./utils/screenshotgen/src/Makefile.in
+ ./utils/ifacecheck/src/Makefile.in
+ ./Makefile.in
+ ./demos/life/Makefile.in
+ ./demos/bombs/Makefile.in
+ ./demos/fractal/Makefile.in
+ ./demos/forty/Makefile.in
+ ./demos/poem/Makefile.in
+ )
+
+ # Versionating
+ sed -i \
+ -e "s:\(WX_RELEASE = \).*:\1${WXRELEASE}:"\
+ -e "s:\(WX_RELEASE_NODOT = \).*:\1${WXRELEASE_NODOT}:"\
+ -e "s:\(WX_VERSION = \).*:\1${WXVERSION}:"\
+ -e "s:aclocal):aclocal/wxwin${WXRELEASE_NODOT}.m4):" \
+ "${versioned_makefiles[@]}" || die
+
+ sed -i \
+ -e "s:\(WX_VERSION=\).*:\1${WXVERSION}:" \
+ -e "s:\(WX_RELEASE=\).*:\1${WXRELEASE}:" \
+ -e "s:\(WX_SUBVERSION=\).*:\1${WXSUBVERSION}:" \
+ -e '/WX_VERSION_TAG=/ s:${WX_RELEASE}:3.0:' \
+ configure || die
+}
+
+multilib_src_configure() {
+ # Workaround for bug #915154
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # X independent options
+ local myeconfargs=(
+ --with-zlib=sys
+ --with-expat=sys
+ --enable-compat30
+ --enable-xrc
+ $(use_with sdl)
+ $(use_with lzma liblzma)
+ # Currently defaults to curl, could change. Watch the VDB!
+ $(use_enable curl webrequest)
+
+ # PCHes are unstable and are disabled in-tree where possible
+ # See bug #504204
+ # Commits 8c4774042b7fdfb08e525d8af4b7912f26a2fdce, fb809aeadee57ffa24591e60cfb41aecd4823090
+ $(use_enable pch precomp-headers)
+
+ # Don't hard-code libdir's prefix for wx-config
+ --libdir='${prefix}'/$(get_libdir)
+ )
+
+ # By default, we now build with the GLX GLCanvas because some software like
+ # PrusaSlicer does not yet support EGL:
+ #
+ # https://github.com/prusa3d/PrusaSlicer/issues/9774 .
+ #
+ # A solution for this is being developed upstream:
+ #
+ # https://github.com/wxWidgets/wxWidgets/issues/22325 .
+ #
+ # Any software that needs to use OpenGL under Wayland can be patched like
+ # this to run under xwayland:
+ #
+ # https://github.com/visualboyadvance-m/visualboyadvance-m/commit/aca206a721265366728222d025fec30ee500de82 .
+ #
+ # Check that the macro wxUSE_GLCANVAS_EGL is set to 1.
+ #
+ myeconfargs+=( "--disable-glcanvasegl" )
+
+ # debug in >=2.9
+ # there is no longer separate debug libraries (gtk2ud)
+ # wxDEBUG_LEVEL=1 is the default and we will leave it enabled
+ # wxDEBUG_LEVEL=2 enables assertions that have expensive runtime costs.
+ # apps can disable these features by building w/ -NDEBUG or wxDEBUG_LEVEL_0.
+ # http://docs.wxwidgets.org/3.0/overview_debugging.html
+ # https://groups.google.com/group/wx-dev/browse_thread/thread/c3c7e78d63d7777f/05dee25410052d9c
+ use debug && myeconfargs+=( --enable-debug=max )
+
+ # wxGTK options
+ # --enable-graphics_ctx - needed for webkit, editra
+ # --without-gnomevfs - bug #203389
+ use X && myeconfargs+=(
+ --enable-graphics_ctx
+ --with-gtkprint
+ --enable-gui
+ --with-gtk=3
+ --with-libpng=sys
+ --with-libjpeg=sys
+
+ # Choosing to enable this unconditionally seems fair, pcre2 is
+ # almost certain to be installed.
+ --with-regex=sys
+ --without-gnomevfs
+ $(use_enable gstreamer mediactrl)
+ $(multilib_native_use_enable webkit webview)
+ $(use_with libnotify)
+ $(use_with opengl)
+ $(use_with tiff libtiff sys)
+ $(use_enable keyring secretstore)
+ $(use_enable spell spellcheck)
+ $(use_enable test tests)
+ $(use_enable wayland)
+ )
+
+ # wxBase options
+ ! use X && myeconfargs+=( --disable-gui )
+
+ # wxWidgets installs a configuration file with a reference to EGREP.
+ # Autoconf discovers these programs via full paths, which is
+ # unnecessary and fails if a build happened on a merged-usr system
+ # but is being used on a split-usr system. Bug #927920.
+ export ac_cv_path_SED="sed"
+ export ac_cv_path_EGREP="grep -E"
+ export ac_cv_path_EGREP_TRADITIONAL="grep -E"
+ export ac_cv_path_FGREP="grep -F"
+ export ac_cv_path_GREP="grep"
+ export ac_cv_path_lt_DD="dd"
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ emake -C tests
+ (cd tests && ./test '~[.]~[net]') || die
+}
+
+multilib_src_install_all() {
+ cd docs || die
+ dodoc changes.txt readme.txt
+ newdoc base/readme.txt base_readme.txt
+ newdoc gtk/readme.txt gtk_readme.txt
+
+ use doc && HTML_DOCS=( "${WORKDIR}"/wxWidgets-${PV}-docs-html/. )
+ einstalldocs
+
+ # Unversioned links
+ rm "${ED}"/usr/bin/wx-config || die
+ rm "${ED}"/usr/bin/wxrc || die
+
+ # version bakefile presets
+ pushd "${ED}"/usr/share/bakefile/presets >/dev/null || die
+ local f
+ for f in wx*; do
+ mv "${f}" "${f/wx/wx32gtk3}" || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_postinst() {
+ has_version -b app-eselect/eselect-wxwidgets \
+ && eselect wxwidgets update
+}
+
+pkg_postrm() {
+ has_version -b app-eselect/eselect-wxwidgets \
+ && eselect wxwidgets update
+}
diff --git a/x11-libs/xapp/Manifest b/x11-libs/xapp/Manifest
index 5ec7ffc08ebf..5c3011c04a8f 100644
--- a/x11-libs/xapp/Manifest
+++ b/x11-libs/xapp/Manifest
@@ -1,2 +1,2 @@
-DIST xapp-2.6.1.tar.gz 270606 BLAKE2B 0f2572b2e9ec4056bea0fc532f5327bd6de4741719a49b68180d45ff00fcea9b760acb362fc39d3f2dc9d94001b7021267a8a84c067aa90c5a201a46be76e97c SHA512 f96006fffac67b312caba644e8da75209c443688b08254b9bb5b17eb9148e66b35a8b1fe336e8880c7b950f8fc696884d8f5d610092c2cb44357ad3bf3ef43c7
DIST xapp-2.8.2.tar.gz 272539 BLAKE2B 1e2fb92b976196c2e9f36e322656ee40252e4c358a13361a054ead88e6fa3df35a53f1b0ee594df4189a68c1739c4a040558fac533ace095536fcc1dca76954b SHA512 97d19b95626a37fc08a0a159be741de5d9bcc034484e977bd739b91bd37122fcf2f3479285d544282a92c8fa180b116db1ad5e96fe19284c62287d3c5b135163
+DIST xapp-2.8.5.tar.gz 274241 BLAKE2B 86b38dcab542e934f65e2fb11a5c1e7a5e26e8c725c5c91fed7bec6e0676f40ab6fd85b0421378e4860271ef1c9954d8c5a42b465232670d3d695dcda0734e0b SHA512 133a01309f0bc33a0aa73ee86eb8900573b4ab5b84e9e503b04b246448bce0b05880403288a739c5e252a2276311afba86c9c687887dd6e8c528734e328c6ee7
diff --git a/x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch b/x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch
new file mode 100644
index 000000000000..861b58c06c19
--- /dev/null
+++ b/x11-libs/xapp/files/xapp-2.8.4-multiple-python-targets.patch
@@ -0,0 +1,80 @@
+From db45d22173d427eee3d673dc63b60b12c206b31d Mon Sep 17 00:00:00 2001
+From: Sparky Bluefang <sparky@bluefang-logic.com>
+Date: Sun, 23 Jun 2024 17:10:47 -0400
+Subject: [PATCH] Allow installing gi override to multiple python installations
+
+---
+ meson_options.txt | 9 +++++++--
+ pygobject/meson.build | 33 +++++++++++++++++++++------------
+ 2 files changed, 28 insertions(+), 14 deletions(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 3ea5310..ccee240 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -9,10 +9,15 @@ option('deprecated_warnings',
+ description: 'Show build warnings for deprecations'
+ )
+ option('py-overrides-dir',
+- type : 'string',
+- value : '',
++ type : 'array',
++ value : [],
+ description: 'Path to pygobject overrides directory'
+ )
++option('python_target',
++ type: 'array',
++ value: ['python3'],
++ description: 'Python installation to target to lookup if py-overrides-dir not supplied'
++)
+ option('status-notifier',
+ type: 'boolean',
+ value: true,
+diff --git a/pygobject/meson.build b/pygobject/meson.build
+index da219f7..d5ffc09 100644
+--- a/pygobject/meson.build
++++ b/pygobject/meson.build
+@@ -3,22 +3,31 @@ pygobject = dependency('pygobject-3.0',
+ required: true,
+ )
+
+-override_dir = get_option('py-overrides-dir')
++override_dirs = get_option('py-overrides-dir')
+
+-if override_dir == ''
+- exec = find_program(['python3', 'python'])
++if override_dirs.length() == 0 or override_dirs[0] == ''
++ override_dirs = []
+
+- r = run_command(exec, '-c', 'import gi;print(gi._overridesdir)', check: false)
++ pymod = import('python')
++ python_targets = get_option('python_target')
+
+- if r.returncode() != 0
+- error('Error getting the GObject Introspection override directory: ' + r.stderr())
+- endif
++ foreach python_target : python_targets
++ python_install = pymod.find_installation(python_target)
+
+- override_dir = r.stdout().strip()
++ r = run_command(python_install, '-c', 'import gi;print(gi._overridesdir)', check: false)
++
++ if r.returncode() != 0
++ error('Error getting the GObject Introspection override directory: ' + r.stderr())
++ endif
++
++ override_dirs += r.stdout().strip()
++ endforeach
+ endif
+
+-message('PyGObject overrides dir: ' + override_dir)
++message('PyGObject overrides dirs: @0@'.format(override_dirs))
+
+-install_data(['XApp.py'],
+- install_dir: override_dir,
+-)
++foreach override_dir : override_dirs
++ install_data(['XApp.py'],
++ install_dir: override_dir,
++ )
++endforeach
diff --git a/x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch b/x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch
new file mode 100644
index 000000000000..4e9c0cc12a2d
--- /dev/null
+++ b/x11-libs/xapp/files/xapp-2.8.4-optional-introspection.patch
@@ -0,0 +1,102 @@
+From 00f52c9f025b78aefd47637e2dd2c0cc8fd44d64 Mon Sep 17 00:00:00 2001
+From: Sparky Bluefang <sparky@bluefang-logic.com>
+Date: Thu, 13 Jun 2024 22:49:12 -0400
+Subject: [PATCH] Add option to disable building introspection and vala
+ bindings.
+
+---
+ libxapp/meson.build | 38 ++++++++++++++++++++++----------------
+ meson.build | 5 ++++-
+ meson_options.txt | 10 ++++++++++
+ 3 files changed, 36 insertions(+), 17 deletions(-)
+
+diff --git a/libxapp/meson.build b/libxapp/meson.build
+index d4034cb..c419b8f 100644
+--- a/libxapp/meson.build
++++ b/libxapp/meson.build
+@@ -119,16 +119,18 @@ libxapp_dep = declare_dependency(
+ sources: [ xapp_headers, dbus_headers ]
+ )
+
+-gir = gnome.generate_gir(libxapp,
+- namespace: 'XApp',
+- nsversion: '1.0',
+- sources: xapp_headers + xapp_sources + dbus_headers + xapp_enums,
+- identifier_prefix: 'XApp',
+- symbol_prefix: 'xapp_',
+- export_packages: 'xapp',
+- includes: ['GObject-2.0', 'Gtk-3.0'],
+- install: true
+-)
++if get_option('introspection')
++ gir = gnome.generate_gir(libxapp,
++ namespace: 'XApp',
++ nsversion: '1.0',
++ sources: xapp_headers + xapp_sources + dbus_headers + xapp_enums,
++ identifier_prefix: 'XApp',
++ symbol_prefix: 'xapp_',
++ export_packages: 'xapp',
++ includes: ['GObject-2.0', 'Gtk-3.0'],
++ install: true
++ )
++endif
+
+ pkg.generate(
+ libraries: libxapp,
+@@ -144,12 +146,16 @@ install_data(['xapp-glade-catalog.xml'],
+ install_dir : join_paths(get_option('datadir'), 'glade/catalogs')
+ )
+
+-gnome.generate_vapi('xapp',
+- packages: ['glib-2.0', 'gio-unix-2.0', 'gtk+-3.0'],
+- sources: gir[0],
+- metadata_dirs: meson.current_source_dir(),
+- install: true
+-)
++if get_option('vapi')
++ assert(is_variable('gir'), 'vapi requires introspection to be enabled')
++
++ gnome.generate_vapi('xapp',
++ packages: ['glib-2.0', 'gio-unix-2.0', 'gtk+-3.0'],
++ sources: gir[0],
++ metadata_dirs: meson.current_source_dir(),
++ install: true
++ )
++endif
+
+ if not app_lib_only
+ gtk3_module = shared_module(
+diff --git a/meson.build b/meson.build
+index 1783747..8b72f4b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -47,7 +47,10 @@ top_inc = include_directories('.')
+ subdir('libxapp')
+ subdir('po')
+ subdir('schemas')
+-subdir('pygobject')
++
++if get_option('introspection')
++ subdir('pygobject')
++endif
+
+ if not app_lib_only
+ subdir('icons')
+diff --git a/meson_options.txt b/meson_options.txt
+index 3ea5310..5bfb661 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -38,3 +38,13 @@ option('xfce',
+ value: true,
+ description: 'Install xfce specific items.'
+ )
++option('introspection',
++ type: 'boolean',
++ value: true,
++ description: 'Enable GObject Introspection.'
++)
++option('vapi',
++ type: 'boolean',
++ value: true,
++ description: 'Enable Vala bindings.'
++)
diff --git a/x11-libs/xapp/xapp-2.6.1.ebuild b/x11-libs/xapp/xapp-2.6.1.ebuild
deleted file mode 100644
index 352c01c40923..000000000000
--- a/x11-libs/xapp/xapp-2.6.1.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{10..11} )
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome2-utils vala meson python-r1
-
-DESCRIPTION="Cross-desktop libraries and common resources"
-HOMEPAGE="https://github.com/linuxmint/xapp/"
-LICENSE="LGPL-3"
-
-SRC_URI="https://github.com/linuxmint/xapp/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
-
-SLOT="0"
-IUSE="gtk-doc introspection mate"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2
- dev-libs/libdbusmenu[gtk3]
- gnome-base/libgnomekbd:=
- x11-libs/cairo
- >=x11-libs/gdk-pixbuf-2.22.0:2[introspection?]
- >=x11-libs/gtk+-3.16.0:3[introspection?]
- x11-libs/libxkbfile
- x11-libs/libX11
- x11-libs/pango
-
- mate? (
- ${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- )
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- $(vala_depend)
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-util/gdbus-codegen
- dev-util/glib-utils
- sys-apps/dbus
- sys-devel/gettext
-
- gtk-doc? ( dev-util/gtk-doc )
-"
-
-src_prepare() {
- vala_src_prepare
- default
-
- # don't install distro specific tools
- sed -i "s/subdir('scripts')/#&/" meson.build || die
-
- # make mate integrations optional
- if ! use mate; then
- sed -i "s/subdir('mate')/#&/" status-applets/meson.build || die
- fi
-
- # Fix meson helpers
- python_setup
- python_fix_shebang .
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc docs)
- -Dpy-overrides-dir="/pygobject"
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- # copy pygobject files to each active python target
- # work-around for "py-overrides-dir" only supporting a single target
- install_pygobject_override() {
- PYTHON_GI_OVERRIDESDIR=$("${EPYTHON}" -c 'import gi;print(gi._overridesdir)' || die)
- einfo "gobject overrides directory: ${PYTHON_GI_OVERRIDESDIR}"
- mkdir -p "${D}/${PYTHON_GI_OVERRIDESDIR}/" || die
- cp -r "${D}"/pygobject/* "${D}/${PYTHON_GI_OVERRIDESDIR}/" || die
- python_optimize "${D}/${PYTHON_GI_OVERRIDESDIR}/"
- }
- python_foreach_impl install_pygobject_override
- rm -r "${D}/pygobject" || die
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- gnome2_schemas_update
-}
diff --git a/x11-libs/xapp/xapp-2.8.5.ebuild b/x11-libs/xapp/xapp-2.8.5.ebuild
new file mode 100644
index 000000000000..7cfc706b52e5
--- /dev/null
+++ b/x11-libs/xapp/xapp-2.8.5.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2-utils vala meson python-r1
+
+DESCRIPTION="Cross-desktop libraries and common resources"
+HOMEPAGE="https://github.com/linuxmint/xapp/"
+
+SRC_URI="https://github.com/linuxmint/xapp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="LGPL-3 xfce? ( GPL-3 )"
+SLOT="0"
+
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
+IUSE="gtk-doc introspection mate vala xfce"
+REQUIRED_USE="${PYTHON_REQUIRED_USE} vala? ( introspection )"
+
+DEPEND="
+ >=dev-libs/glib-2.44.0:2
+ dev-libs/libdbusmenu[gtk3]
+ gnome-base/libgnomekbd:=
+ x11-libs/cairo
+ >=x11-libs/gdk-pixbuf-2.22.0:2[introspection?]
+ >=x11-libs/gtk+-3.22.0:3[introspection?]
+ x11-libs/libxkbfile
+ x11-libs/libX11
+ x11-libs/pango
+"
+RDEPEND="
+ ${PYTHON_DEPS}
+ ${DEPEND}
+
+ introspection? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ sys-apps/dbus
+ sys-devel/gettext
+
+ gtk-doc? (
+ dev-util/gtk-doc
+ )
+
+ introspection? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+
+ vala? (
+ $(vala_depend)
+ )
+"
+
+PATCHES=(
+ # Make introspection/vala optional
+ # https://github.com/linuxmint/xapp/pull/184
+ "${FILESDIR}"/${PN}-2.8.4-optional-introspection.patch
+
+ # Allow multiple gobject installation targets
+ # https://github.com/linuxmint/xapp/pull/183
+ "${FILESDIR}"/${PN}-2.8.4-multiple-python-targets.patch
+
+ # Don't install pastebin upload wrapper
+ "${FILESDIR}"/0001-don-t-install-pastebin-upload-wrapper.patch
+)
+
+src_prepare() {
+ use vala && vala_setup
+
+ default
+
+ # Fix meson helpers
+ python_setup
+ python_fix_shebang .
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use gtk-doc docs)
+ $(meson_use introspection)
+ $(meson_use mate)
+ $(meson_use vala vapi)
+ $(meson_use xfce)
+ )
+
+ if use introspection; then
+ local xapp_python_targets=()
+
+ get_xapp_python_targets() {
+ xapp_python_targets+=("${EPYTHON}")
+ }
+ python_foreach_impl get_xapp_python_targets
+
+ emesonargs+=(
+ -Dpython_target="$(echo "${xapp_python_targets[@]}" | tr ' ' ,)"
+ )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use introspection; then
+ python_foreach_impl python_optimize
+ fi
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ gnome2_schemas_update
+}
diff --git a/x11-libs/xbae/files/xbae-4.60.4-c99.patch b/x11-libs/xbae/files/xbae-4.60.4-c99.patch
new file mode 100644
index 000000000000..8c50dad3030d
--- /dev/null
+++ b/x11-libs/xbae/files/xbae-4.60.4-c99.patch
@@ -0,0 +1,24 @@
+From bbfc674fc85c874560c784bd8076be7c9b3b5f43 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 1 Sep 2024 22:33:09 -0400
+Subject: [PATCH] c99 porting: fix UB from not including headers
+
+---
+ examples/matrix/matrix.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/examples/matrix/matrix.c b/examples/matrix/matrix.c
+index 1d3e1df..3fbecf6 100644
+--- a/examples/matrix/matrix.c
++++ b/examples/matrix/matrix.c
+@@ -28,6 +28,7 @@
+ #ifdef HAVE_CONFIG_H
+ #include <XbaeConfig.h>
+ #endif
++#include <stdio.h>
+ #include <stdlib.h>
+ #ifdef USE_EDITRES
+ #include <X11/Intrinsic.h>
+--
+2.44.2
+
diff --git a/x11-libs/xbae/files/xbae-4.60.4-configure-c99.patch b/x11-libs/xbae/files/xbae-4.60.4-configure-c99.patch
new file mode 100644
index 000000000000..33f108d8d603
--- /dev/null
+++ b/x11-libs/xbae/files/xbae-4.60.4-configure-c99.patch
@@ -0,0 +1,57 @@
+https://sourceforge.net/p/xbae/patches/3/
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 36b4569680ea8531..0bda82ef7480beaf 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -334,7 +334,7 @@ Display *display=NULL;
+ short major_version, minor_version;
+ Status rc;
+ rc=XpQueryVersion(display, &major_version, &minor_version);
+-exit(0);
++return 0;
+ }
+ ],
+ lt_cv_libxp=yes,
+diff --git a/configure b/configure
+index f43d920c33b055ff..5e82cda106a450e8 100755
+--- a/configure
++++ b/configure
+@@ -2937,7 +2937,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+- '' \
++ '#include <stdlib.h>' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+@@ -4120,7 +4120,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+- '' \
++ '#include <stdlib.h>' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+@@ -4477,8 +4477,8 @@ main ()
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++ return 2;
++ return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+@@ -21418,7 +21418,7 @@ Display *display=NULL;
+ short major_version, minor_version;
+ Status rc;
+ rc=XpQueryVersion(display, &major_version, &minor_version);
+-exit(0);
++return 0;
+ }
+
+ ;
diff --git a/x11-libs/xbae/files/xbae-4.60.4-modern-autotools.patch b/x11-libs/xbae/files/xbae-4.60.4-modern-autotools.patch
new file mode 100644
index 000000000000..ac5ebaa0f8b6
--- /dev/null
+++ b/x11-libs/xbae/files/xbae-4.60.4-modern-autotools.patch
@@ -0,0 +1,28 @@
+From 165c0f9ae086373c5d1659eac1ae14baa2975145 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 1 Sep 2024 22:09:04 -0400
+Subject: [PATCH] port to modern autotools
+
+When listing files to be installed, you cannot double-list them. Modern
+autotools tries to install all of them in one `install` command, which
+is incompatible with installing the same file twice.
+---
+ doc/images/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am
+index e6d91dd..79a8eb0 100644
+--- a/doc/images/Makefile.am
++++ b/doc/images/Makefile.am
+@@ -34,7 +34,7 @@ image_DATA= \
+ bg.png updated.png coverplus.png add.jpg \
+ caption.png choice.png colors.jpg draw.png fifteen.jpg \
+ input.png list.jpg matrix.jpg multifixed.jpg select-push.jpg \
+- mailbox.png bg.png pricing.jpg LDO.jpg risk.jpg \
++ mailbox.png pricing.jpg LDO.jpg risk.jpg \
+ organize.jpg xbasket.png xbum1-2.png xbill2-2.png capfloor1.png \
+ capfloor3.png taam.png \
+ grohtml-XbaeCaption1.png \
+--
+2.44.2
+
diff --git a/x11-libs/xbae/xbae-4.60.4-r1.ebuild b/x11-libs/xbae/xbae-4.60.4-r1.ebuild
new file mode 100644
index 000000000000..0cbb9bab5a3c
--- /dev/null
+++ b/x11-libs/xbae/xbae-4.60.4-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+AT_M4DIR=${S}
+
+inherit autotools
+
+DESCRIPTION="Motif-based widget to display a grid of cells as a spreadsheet"
+HOMEPAGE="https://xbae.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+# tests need X display
+# and are interactive so virtualx will not help
+RESTRICT="test"
+
+RDEPEND="
+ x11-libs/motif:0
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXpm
+ x11-libs/libXt"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-tmpl.patch
+ "${FILESDIR}"/${P}-lxmp.patch
+ "${FILESDIR}"/${P}-Makefile.in.patch
+ # https://sourceforge.net/p/xbae/patches/3/
+ "${FILESDIR}"/${P}-configure-c99.patch
+ "${FILESDIR}"/${P}-modern-autotools.patch
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-production
+}
+
+src_test() {
+ emake -C examples
+ emake -C examples/testall clean
+}
+
+src_install() {
+ default
+
+ insinto /usr/share/aclocal
+ doins ac_find_xbae.m4
+
+ if use examples; then
+ find examples -name '*akefile*' -delete || die
+ rm examples/{testall,extest} || die
+ dodoc -r examples
+ fi
+ if use doc; then
+ rm doc/{,images/}Makefile* || die
+ docinto html
+ dodoc -r doc/.
+ fi
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/x11-libs/xbae/xbae-4.60.4.ebuild b/x11-libs/xbae/xbae-4.60.4.ebuild
index 7d79a5fa59f3..69507033ee42 100644
--- a/x11-libs/xbae/xbae-4.60.4.ebuild
+++ b/x11-libs/xbae/xbae-4.60.4.ebuild
@@ -4,7 +4,7 @@
EAPI=7
DESCRIPTION="Motif-based widget to display a grid of cells as a spreadsheet"
-HOMEPAGE="http://xbae.sourceforge.net/"
+HOMEPAGE="https://xbae.sourceforge.net/"
SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="BSD"
diff --git a/x11-libs/xcb-imdkit/xcb-imdkit-1.0.9.ebuild b/x11-libs/xcb-imdkit/xcb-imdkit-1.0.9.ebuild
index fe5d788eb8b3..6559aa8cc6f6 100644
--- a/x11-libs/xcb-imdkit/xcb-imdkit-1.0.9.ebuild
+++ b/x11-libs/xcb-imdkit/xcb-imdkit-1.0.9.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://download.fcitx-im.org/fcitx5/${PN}/${P}.tar.zst"
LICENSE="LGPL-2.1"
SLOT="5"
-KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
RDEPEND="
x11-libs/libxcb