diff options
Diffstat (limited to 'x11-libs')
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 |