gentoo-karlay

My Gentoo ebuild overlay
Log | Files | Refs

commit 5347713a89ab9419132dd15ddb669884f6c751c9
parent b2470355be8626830ee82decaca490c37c05c62f
Author: kar <git@13f0.net>
Date:   Sun,  1 Jun 2025 23:35:58 -0400

add my sort of unbloated x11-libs/gtk+2

Diffstat:
Ametadata/md5-cache/x11-libs/gtk+-2.24.33-r3 | 19+++++++++++++++++++
Ametadata/md5-cache/x11-libs/gtk+-2.24.33-r4 | 19+++++++++++++++++++
Ax11-libs/gtk+/Manifest | 1+
Ax11-libs/gtk+/files/gtk+-2.24.24-out-of-source.patch | 33+++++++++++++++++++++++++++++++++
Ax11-libs/gtk+/files/gtk+-2.24.31-update-icon-cache.patch | 78++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ax11-libs/gtk+/files/gtk+-2.24.33-Fix-casts.patch | 167+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ax11-libs/gtk+/files/gtk+-2.24.33-respect-NM.patch | 12++++++++++++
Ax11-libs/gtk+/gtk+-2.24.33-r4.ebuild | 307+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8 files changed, 636 insertions(+), 0 deletions(-)

diff --git a/metadata/md5-cache/x11-libs/gtk+-2.24.33-r3 b/metadata/md5-cache/x11-libs/gtk+-2.24.33-r3 @@ -0,0 +1,19 @@ +BDEPEND=dev-util/glib-utils >=sys-devel/gettext-0.18.3 virtual/pkgconfig examples? ( x11-libs/gdk-pixbuf ) sys-devel/gnuconfig >=app-portage/elt-patches-20250306 || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 app-arch/xz-utils test? ( x11-base/xorg-server[xvfb] x11-apps/xhost ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare test +DEPEND=# >=app-accessibility/at-spi2-core-2.46.0[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/fontconfig-2.10.92[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/pango-1.36.3[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-misc/shared-mime-info cups? ( >=net-print/cups-1.7.1-r2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) introspection? ( >=dev-libs/gobject-introspection-0.9.3:= ) !aqua? ( >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),X,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcursor-1.1.14[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXdamage-1.1.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXfixes-5.0.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXi-1.7.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrandr-1.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrender-0.9.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) !aqua? ( x11-base/xorg-proto ) test? ( media-fonts/font-cursor-misc media-fonts/font-misc-misc x11-themes/hicolor-icon-theme ) +DESCRIPTION=Gimp ToolKit + +EAPI=8 +HOMEPAGE=https://www.gtk.org/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=flag-o-matic gnome2 multilib multilib-minimal readme.gentoo-r1 virtualx +IUSE=aqua cups examples +introspection test vim-syntax xinerama abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 test +KEYWORDS=~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris +LICENSE=LGPL-2+ +PDEPEND=gnome-base/librsvg[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] vim-syntax? ( app-vim/gtk-syntax ) +RDEPEND=# >=app-accessibility/at-spi2-core-2.46.0[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/fontconfig-2.10.92[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/pango-1.36.3[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-misc/shared-mime-info cups? ( >=net-print/cups-1.7.1-r2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) introspection? ( >=dev-libs/gobject-introspection-0.9.3:= ) !aqua? ( >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),X,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcursor-1.1.14[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXdamage-1.1.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXfixes-5.0.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXi-1.7.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrandr-1.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrender-0.9.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) !<dev-util/gtk-builder-convert-2.24.33 +REQUIRED_USE=xinerama? ( !aqua ) +RESTRICT=test !test? ( test ) +SLOT=2 +SRC_URI=mirror://gnome/sources/gtk+/2.24/gtk+-2.24.33.tar.xz +_eclasses_=toolchain-funcs f9d71a6efe9d083aec750dd13968e169 flag-o-matic b892042b2667b8ac69ec8a2571dc290a gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 libtool c81bd096be5f4c82f4e8f156ef112402 autotools 35f9bf6198bb538e28dcdea5fda274f2 gnome.org e1b4f392dbfedfb8974b71b017937f08 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 xdg 3ef49a87c52c8b77c476351195dfe575 gnome2 26fd01914b36038dc8e964ff4bd03a95 multilib b2a329026f2e404e9e371097dda47f96 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 virtualx 9741d451eb64ea8bb9faee90d68a9b68 +_md5_=54e90ade8dd8ea179710a9dae3a2f616 diff --git a/metadata/md5-cache/x11-libs/gtk+-2.24.33-r4 b/metadata/md5-cache/x11-libs/gtk+-2.24.33-r4 @@ -0,0 +1,19 @@ +BDEPEND=dev-util/glib-utils >=sys-devel/gettext-0.18.3 virtual/pkgconfig examples? ( x11-libs/gdk-pixbuf ) sys-devel/gnuconfig >=app-portage/elt-patches-20250306 || ( >=dev-build/automake-1.17-r1:1.17 >=dev-build/automake-1.16.5:1.16 ) || ( >=dev-build/autoconf-2.72-r1:2.72 ) >=dev-build/libtool-2.4.7-r3 app-arch/xz-utils test? ( x11-base/xorg-server[xvfb] x11-apps/xhost ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare test +DEPEND=>=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/fontconfig-2.10.92[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/pango-1.36.3[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-misc/shared-mime-info cups? ( >=net-print/cups-1.7.1-r2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) introspection? ( >=dev-libs/gobject-introspection-0.9.3:= ) !aqua? ( >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),X,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcursor-1.1.14[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXdamage-1.1.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXfixes-5.0.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXi-1.7.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrandr-1.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrender-0.9.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) !aqua? ( x11-base/xorg-proto ) test? ( media-fonts/font-cursor-misc media-fonts/font-misc-misc x11-themes/hicolor-icon-theme ) +DESCRIPTION=Gimp ToolKit + +EAPI=8 +HOMEPAGE=https://www.gtk.org/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=flag-o-matic gnome2 multilib multilib-minimal readme.gentoo-r1 virtualx +IUSE=aqua cups examples +introspection test vim-syntax xinerama abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_s390_32 abi_s390_64 test +KEYWORDS=~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris +LICENSE=LGPL-2+ +PDEPEND=gnome-base/librsvg[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] vim-syntax? ( app-vim/gtk-syntax ) +RDEPEND=>=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/fontconfig-2.10.92[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/libintl[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/pango-1.36.3[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-misc/shared-mime-info cups? ( >=net-print/cups-1.7.1-r2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) introspection? ( >=dev-libs/gobject-introspection-0.9.3:= ) !aqua? ( >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),X,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcursor-1.1.14[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXdamage-1.1.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXfixes-5.0.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXi-1.7.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrandr-1.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrender-0.9.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) !<dev-util/gtk-builder-convert-2.24.33 +REQUIRED_USE=xinerama? ( !aqua ) +RESTRICT=test !test? ( test ) +SLOT=2 +SRC_URI=mirror://gnome/sources/gtk+/2.24/gtk+-2.24.33.tar.xz +_eclasses_=toolchain-funcs f9d71a6efe9d083aec750dd13968e169 flag-o-matic b892042b2667b8ac69ec8a2571dc290a gnuconfig ddeb9f8caff1b5f71a09c75b7534df79 libtool c81bd096be5f4c82f4e8f156ef112402 autotools 35f9bf6198bb538e28dcdea5fda274f2 gnome.org e1b4f392dbfedfb8974b71b017937f08 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 gnome2-utils a8cf148ec7f5ae0b1f1d33ae5f7f9e88 xdg 3ef49a87c52c8b77c476351195dfe575 gnome2 26fd01914b36038dc8e964ff4bd03a95 multilib b2a329026f2e404e9e371097dda47f96 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 virtualx 9741d451eb64ea8bb9faee90d68a9b68 +_md5_=82df94cc7813dedd691512427e78892d diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest @@ -0,0 +1 @@ +DIST gtk+-2.24.33.tar.xz 12661828 BLAKE2B f3488b220aaee54bf36fa77e2112d060152e57938845d240014a7d43a5743b1d4de19cc09c683d9d238fd1967cd67cc3c493f2475e4e481f6709f5cdc652c65c SHA512 71b588797c81f727dfac8dcb1be193f7436f717d30ecf18eae2d3aeb0f445b3be4743400acac16435490db8f564f01032065d3f42d27871317f80c98aef929d5 diff --git a/x11-libs/gtk+/files/gtk+-2.24.24-out-of-source.patch b/x11-libs/gtk+/files/gtk+-2.24.24-out-of-source.patch @@ -0,0 +1,33 @@ +From 9e0f33144aff8d792ab105927cf686eda0afd25e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sun, 18 May 2014 10:50:05 +0200 +Subject: [PATCH] aliasfilecheck: check for sources both in builddir & srcdir. + +The $gtk_all_c_sources variable contains both supplied and generated +sources. The former reside in $srcdir, the latter in the build directory +(cwd). + +In order to handle both kinds properly, first try to find each source +file in cwd, and then fallback to $srcdir. This makes it possible to use +out-of-source builds, and guarantees that fresh-built source files will +be used rather than pre-generated copies included in the distribution +tarball. +--- + gtk/aliasfilescheck.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gtk/aliasfilescheck.sh b/gtk/aliasfilescheck.sh +index 31b49d4..3636a82 100755 +--- a/gtk/aliasfilescheck.sh ++++ b/gtk/aliasfilescheck.sh +@@ -6,6 +6,6 @@ if test "x$gtk_all_c_sources" = x; then + fi + + grep 'IN_FILE' ${srcdir-.}/gtk.symbols | sed 's/.*(//;s/).*//' | grep __ | sort -u > expected-files +-{ cd ${srcdir-.}; grep '^ *# *define __' $gtk_all_c_sources; } | sed 's/.*define //;s/ *$//' | sort > actual-files ++{ for f in $gtk_all_c_sources; do if test -f ${f}; then grep '^ *# *define __' ${f}; else grep '^ *# *define __' "${srcdir-.}"/${f}; fi; done } | sed 's/.*define //;s/ *$//' | sort > actual-files + + diff expected-files actual-files && rm -f expected-files actual-files +-- +1.9.3 + diff --git a/x11-libs/gtk+/files/gtk+-2.24.31-update-icon-cache.patch b/x11-libs/gtk+/files/gtk+-2.24.31-update-icon-cache.patch @@ -0,0 +1,78 @@ +From 260f94f3914ba18a256e6f1c222f643a57854e80 Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Sat, 9 May 2015 23:30:58 +0200 +Subject: [PATCH] Always use external gtk-update-icon-cache + +--- + configure.ac | 8 +++----- + docs/reference/gtk/Makefile.am | 2 +- + gtk/Makefile.am | 13 ++----------- + 3 files changed, 6 insertions(+), 17 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4e11b40..7ef8cb6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -913,11 +913,9 @@ dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling + + AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) + +-if test $cross_compiling = yes; then +- AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no) +- if test x$GTK_UPDATE_ICON_CACHE = xno; then +- REBUILD_PNGS=# +- fi ++AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no) ++if test x$GTK_UPDATE_ICON_CACHE = xno; then ++ REBUILD_PNGS=# + fi + + AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no) +diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am +index c239445..60b5265 100644 +--- a/docs/reference/gtk/Makefile.am ++++ b/docs/reference/gtk/Makefile.am +@@ -368,7 +368,7 @@ EXTRA_DIST += version.xml.in + + if ENABLE_MAN + +-man_MANS = gtk-query-immodules-2.0.1 gtk-update-icon-cache.1 gtk-builder-convert.1 ++man_MANS = gtk-query-immodules-2.0.1 gtk-builder-convert.1 + + %.1 : %.xml + @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< +diff --git a/gtk/Makefile.am b/gtk/Makefile.am +index 8cc4536..a7afbf3 100644 +--- a/gtk/Makefile.am ++++ b/gtk/Makefile.am +@@ -1087,8 +1087,7 @@ endif + # Installed tools + # + bin_PROGRAMS = \ +- gtk-query-immodules-2.0 \ +- gtk-update-icon-cache ++ gtk-query-immodules-2.0 + + bin_SCRIPTS = gtk-builder-convert + +@@ -1438,16 +1437,8 @@ stamp-icons: $(STOCK_ICONS) + ) done \ + && touch stamp-icons + +-if CROSS_COMPILING +-gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE) +-else +-gtk_update_icon_cache_program = \ +- ./gtk-update-icon-cache +-endif +- + gtkbuiltincache.h: @REBUILD@ stamp-icons +- $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) +- $(gtk_update_icon_cache_program) --force --ignore-theme-index \ ++ $(GTK_UPDATE_ICON_CACHE) --force --ignore-theme-index \ + --include-image-data \ + --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \ + mv gtkbuiltincache.h.tmp gtkbuiltincache.h +-- +2.10.0 + diff --git a/x11-libs/gtk+/files/gtk+-2.24.33-Fix-casts.patch b/x11-libs/gtk+/files/gtk+-2.24.33-Fix-casts.patch @@ -0,0 +1,167 @@ +https://bugs.gentoo.org/880617 + +From 81c42586e6d9db7434e9b3f657fbd238294dd9d9 Mon Sep 17 00:00:00 2001 +From: Matt Turner <mattst88@gentoo.org> +Date: Sat, 13 May 2023 11:35:28 -0400 +Subject: [PATCH] Fix casts + +--- + gtk/gtkcellrendererspin.c | 2 +- + gtk/gtkcomboboxtext.c | 2 +- + gtk/gtkimmodule.c | 2 +- + gtk/gtklabel.c | 2 +- + gtk/gtkscale.c | 2 +- + gtk/gtktoolpalette.c | 2 +- + gtk/gtktreeview.c | 2 +- + gtk/gtkuimanager.c | 2 +- + gtk/gtkwidget.c | 2 +- + modules/other/gail/gailtreeview.c | 2 +- + modules/printbackends/cups/gtkprintbackendcups.c | 2 +- + 11 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/gtk/gtkcellrendererspin.c b/gtk/gtkcellrendererspin.c +index 2a3961bf20..68e5b9aaae 100644 +--- a/gtk/gtkcellrendererspin.c ++++ b/gtk/gtkcellrendererspin.c +@@ -207,7 +207,7 @@ gtk_cell_renderer_spin_set_property (GObject *object, + } + + if (obj) +- priv->adjustment = g_object_ref_sink (obj); ++ priv->adjustment = GTK_ADJUSTMENT (g_object_ref_sink (obj)); + break; + case PROP_CLIMB_RATE: + priv->climb_rate = g_value_get_double (value); +diff --git a/gtk/gtkcomboboxtext.c b/gtk/gtkcomboboxtext.c +index 9ffba68766..42c51abebc 100644 +--- a/gtk/gtkcomboboxtext.c ++++ b/gtk/gtkcomboboxtext.c +@@ -275,7 +275,7 @@ gtk_combo_box_text_buildable_custom_tag_start (GtkBuildable *buildable, + + parser_data = g_slice_new0 (ItemParserData); + parser_data->builder = g_object_ref (builder); +- parser_data->object = g_object_ref (buildable); ++ parser_data->object = G_OBJECT (g_object_ref (buildable)); + parser_data->domain = gtk_builder_get_translation_domain (builder); + *parser = item_parser; + *data = parser_data; +diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c +index 1fcb17a7d8..445b2be87f 100644 +--- a/gtk/gtkimmodule.c ++++ b/gtk/gtkimmodule.c +@@ -662,7 +662,7 @@ lookup_immodule (gchar **immodules_list) + gboolean found; + gchar *context_id; + found = g_hash_table_lookup_extended (contexts_hash, *immodules_list, +- &context_id, NULL); ++ (gpointer *) &context_id, NULL); + if (found) + return context_id; + } +diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c +index c47de5924f..cf68685536 100644 +--- a/gtk/gtklabel.c ++++ b/gtk/gtklabel.c +@@ -1336,7 +1336,7 @@ gtk_label_buildable_custom_tag_start (GtkBuildable *buildable, + + parser_data = g_slice_new0 (PangoParserData); + parser_data->builder = g_object_ref (builder); +- parser_data->object = g_object_ref (buildable); ++ parser_data->object = G_OBJECT (g_object_ref (buildable)); + *parser = pango_parser; + *data = parser_data; + return TRUE; +diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c +index 4317523fb8..a573b2f6ba 100644 +--- a/gtk/gtkscale.c ++++ b/gtk/gtkscale.c +@@ -1471,7 +1471,7 @@ gtk_scale_add_mark (GtkScale *scale, + mark->position = position; + + priv->marks = g_slist_insert_sorted_with_data (priv->marks, mark, +- (GCompareFunc) compare_marks, ++ compare_marks, + GINT_TO_POINTER ( + gtk_range_get_inverted (GTK_RANGE (scale)) + )); +diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c +index b984193ca3..f64b552fb0 100644 +--- a/gtk/gtktoolpalette.c ++++ b/gtk/gtktoolpalette.c +@@ -734,7 +734,7 @@ gtk_tool_palette_add (GtkContainer *container, + + g_ptr_array_add (palette->priv->groups, info); + info->pos = palette->priv->groups->len - 1; +- info->widget = g_object_ref_sink (child); ++ info->widget = (GtkToolItemGroup *) g_object_ref_sink (child); + + gtk_widget_set_parent (child, GTK_WIDGET (palette)); + } +diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c +index 89301eb91d..0d2d15b488 100644 +--- a/gtk/gtktreeview.c ++++ b/gtk/gtktreeview.c +@@ -14147,7 +14147,7 @@ gtk_tree_view_set_search_entry (GtkTreeView *tree_view, + + if (entry) + { +- tree_view->priv->search_entry = g_object_ref (entry); ++ tree_view->priv->search_entry = GTK_WIDGET (g_object_ref (entry)); + tree_view->priv->search_custom_entry_set = TRUE; + + if (tree_view->priv->search_entry_changed_id == 0) +diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c +index d004cf1ed3..8cbeda9e85 100644 +--- a/gtk/gtkuimanager.c ++++ b/gtk/gtkuimanager.c +@@ -503,7 +503,7 @@ gtk_ui_manager_buildable_construct_child (GtkBuildable *buildable, + g_signal_connect (widget, "hierarchy-changed", + G_CALLBACK (child_hierarchy_changed_cb), + GTK_UI_MANAGER (buildable)); +- return g_object_ref (widget); ++ return G_OBJECT (g_object_ref (widget)); + } + + static void +diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c +index 1d1f6bb60e..a2ae2b430f 100644 +--- a/gtk/gtkwidget.c ++++ b/gtk/gtkwidget.c +@@ -10679,7 +10679,7 @@ gtk_widget_buildable_custom_tag_start (GtkBuildable *buildable, + AccelGroupParserData *parser_data; + + parser_data = g_slice_new0 (AccelGroupParserData); +- parser_data->object = g_object_ref (buildable); ++ parser_data->object = G_OBJECT (g_object_ref (buildable)); + *parser = accel_group_parser; + *data = parser_data; + return TRUE; +diff --git a/modules/other/gail/gailtreeview.c b/modules/other/gail/gailtreeview.c +index 23923c59a1..ac6ff0a1c4 100644 +--- a/modules/other/gail/gailtreeview.c ++++ b/modules/other/gail/gailtreeview.c +@@ -995,7 +995,7 @@ gail_tree_view_ref_child (AtkObject *obj, + gail_cell_add_state (cell, ATK_STATE_FOCUSABLE, FALSE); + if (focus_index == i) + { +- gailview->focus_cell = g_object_ref (cell); ++ gailview->focus_cell = ATK_OBJECT (g_object_ref (cell)); + gail_cell_add_state (cell, ATK_STATE_FOCUSED, FALSE); + g_signal_emit_by_name (gailview, + "active-descendant-changed", +diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c +index 2a000dc16f..753c53cb89 100644 +--- a/modules/printbackends/cups/gtkprintbackendcups.c ++++ b/modules/printbackends/cups/gtkprintbackendcups.c +@@ -3479,7 +3479,7 @@ cups_request_ppd (GtkPrinter *printer) + g_io_channel_set_encoding (data->ppd_io, NULL, NULL); + g_io_channel_set_close_on_unref (data->ppd_io, TRUE); + +- data->printer = g_object_ref (printer); ++ data->printer = GTK_PRINTER_CUPS (g_object_ref (printer)); + + resource = g_strdup_printf ("/printers/%s.ppd", + gtk_printer_cups_get_ppd_name (GTK_PRINTER_CUPS (printer))); +-- +2.39.3 + diff --git a/x11-libs/gtk+/files/gtk+-2.24.33-respect-NM.patch b/x11-libs/gtk+/files/gtk+-2.24.33-respect-NM.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/725852 +--- a/configure.ac ++++ b/configure.ac +@@ -190,7 +190,7 @@ m4_ifdef([LT_OUTPUT], [LT_OUTPUT]) + AC_SYS_LARGEFILE + + AM_PROG_AS +-AC_PATH_TOOL(NM, nm, nm) ++AC_CHECK_TOOL(NM, nm, nm) + + dnl Initialize maintainer mode + AM_MAINTAINER_MODE([enable]) diff --git a/x11-libs/gtk+/gtk+-2.24.33-r4.ebuild b/x11-libs/gtk+/gtk+-2.24.33-r4.ebuild @@ -0,0 +1,307 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GNOME2_EAUTORECONF="yes" + +inherit flag-o-matic gnome2 multilib multilib-minimal readme.gentoo-r1 virtualx + +DESCRIPTION="Gimp ToolKit +" +HOMEPAGE="https://www.gtk.org/" + +LICENSE="LGPL-2+" +SLOT="2" +IUSE="aqua cups examples +introspection test vim-syntax xinerama" +REQUIRED_USE=" + xinerama? ( !aqua ) +" + +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + +# Upstream wants us to do their job: +# https://bugzilla.gnome.org/show_bug.cgi?id=768663#c1 +RESTRICT="test" + +# >=app-accessibility/at-spi2-core-2.46.0[introspection?,${MULTILIB_USEDEP}] +COMMON_DEPEND=" + >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] + >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] + virtual/libintl[${MULTILIB_USEDEP}] + >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),${MULTILIB_USEDEP}] + >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,${MULTILIB_USEDEP}] + >=x11-libs/pango-1.36.3[introspection?,${MULTILIB_USEDEP}] + x11-misc/shared-mime-info + + cups? ( >=net-print/cups-1.7.1-r2:=[${MULTILIB_USEDEP}] ) + introspection? ( >=dev-libs/gobject-introspection-0.9.3:= ) + !aqua? ( + >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg(+),X,${MULTILIB_USEDEP}] + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXcomposite-0.4.4-r1[${MULTILIB_USEDEP}] + >=x11-libs/libXcursor-1.1.14[${MULTILIB_USEDEP}] + >=x11-libs/libXdamage-1.1.4-r1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXfixes-5.0.1[${MULTILIB_USEDEP}] + >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}] + >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}] + >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}] + xinerama? ( >=x11-libs/libXinerama-1.1.3[${MULTILIB_USEDEP}] ) + ) +" +DEPEND="${COMMON_DEPEND} + !aqua? ( x11-base/xorg-proto ) + test? ( + media-fonts/font-cursor-misc + media-fonts/font-misc-misc + x11-themes/hicolor-icon-theme + ) +" + +# >=dev-util/gtk-update-icon-cache-2 +# >=x11-themes/adwaita-icon-theme-3.14 +# x11-themes/gnome-themes-standard +RDEPEND="${COMMON_DEPEND}" +# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710 +# x11-themes/gtk-engines-adwaita +PDEPEND=" + gnome-base/librsvg[${MULTILIB_USEDEP}] + vim-syntax? ( app-vim/gtk-syntax ) +" +# docbook-4.1.2 and xsl required for man pages +# docbook-4.3 required for gtk-doc +# app-text/docbook-xml-dtd:4.1.2 +# app-text/docbook-xml-dtd:4.3 +# app-text/docbook-xsl-stylesheets +# dev-libs/gobject-introspection-common +# dev-libs/libxslt +# >=dev-build/gtk-doc-am-1.20 +BDEPEND=" + dev-util/glib-utils + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig + examples? ( x11-libs/gdk-pixbuf ) +" + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS="To make the gtk2 file chooser use 'current directory' mode by default, +edit ~/.config/gtk-2.0/gtkfilechooser.ini to contain the following: +[Filechooser Settings] +StartupMode=cwd" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/gtk-query-immodules-2.0$(get_exeext) +) + +PATCHES=( + # Fix tests running when building out of sources, bug #510596, upstream bug #730319 + "${FILESDIR}"/${PN}-2.24.24-out-of-source.patch + # Rely on split gtk-update-icon-cache package, bug #528810 + "${FILESDIR}"/${PN}-2.24.31-update-icon-cache.patch # requires eautoreconf + # Respect ${NM}, bug #725852 + "${FILESDIR}"/${PN}-2.24.33-respect-NM.patch # requires eautoreconf + # Fix casts, bug #880617 + "${FILESDIR}"/${PN}-2.24.33-Fix-casts.patch +) + +strip_builddir() { + local rule=$1 + shift + local directory=$1 + shift + sed -e "s/^\(${rule} =.*\)${directory}\(.*\)$/\1\2/" -i $@ \ + || die "Could not strip director ${directory} from build." +} + +set_gtk2_confdir() { + # An arch specific config directory is used on multilib systems + GTK2_CONFDIR="/etc/gtk-2.0/${CHOST}" +} + +src_prepare() { + # Various glib marshaller churn could break build against a different glib version, force regeneration + rm -v gdk/gdkmarshalers.{c,h} gtk/gtkmarshal.{c,h} gtk/gtkmarshalers.{c,h} \ + perf/marshalers.{c,h} gtk/gtkaliasdef.c gtk/gtkalias.h || die + + # Stop trying to build unmaintained docs, bug #349754, upstream bug #623150 + strip_builddir SUBDIRS tutorial docs/Makefile.{am,in} + strip_builddir SUBDIRS faq docs/Makefile.{am,in} + + # -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 + strip_builddir SRC_SUBDIRS tests Makefile.{am,in} + strip_builddir SUBDIRS tests gdk/Makefile.{am,in} gtk/Makefile.{am,in} + else + # Non-working test in gentoo's env + sed 's:\(g_test_add_func ("/ui-tests/keys-events.*\):/*\1*/:g' \ + -i gtk/tests/testing.c || die "sed 1 failed" + + # Cannot work because glib is too clever to find real user's home + # gentoo bug #285687, upstream bug #639832 + # XXX: /!\ Pay extra attention to second sed when bumping /!\ + sed '/TEST_PROGS.*recentmanager/d' -i gtk/tests/Makefile.am \ + || die "failed to disable recentmanager test (1)" + sed '/^TEST_PROGS =/,+3 s/recentmanager//' -i gtk/tests/Makefile.in \ + || die "failed to disable recentmanager test (2)" + sed 's:\({ "GtkFileChooserButton".*},\):/*\1*/:g' -i gtk/tests/object.c \ + || die "failed to disable recentmanager test (3)" + + # https://bugzilla.gnome.org/show_bug.cgi?id=617473 + sed -i -e 's:pltcheck.sh:$(NULL):g' \ + gtk/Makefile.am || die + + # UI tests require immodules already installed; bug #413185 + if ! has_version 'x11-libs/gtk+:2'; then + ewarn "Disabling UI tests because this is the first install of" + ewarn "gtk+:2 on this machine. Please re-run the tests after ${P}" + ewarn "has been installed." + sed '/g_test_add_func.*ui-tests/ d' \ + -i gtk/tests/testing.c || die "sed 2 failed" + fi + fi + + if ! use examples; then + # don't waste time building demos + strip_builddir SRC_SUBDIRS demos Makefile.{am,in} + fi + + gnome2_src_prepare +} + +multilib_src_configure() { + [[ ${ABI} == ppc64 ]] && append-flags -mminimal-toc + + ECONF_SOURCE=${S} \ + gnome2_src_configure \ + $(usex aqua --with-gdktarget=quartz --with-gdktarget=x11) \ + $(usex aqua "" --with-xinput) \ + $(use_enable cups cups auto) \ + $(multilib_native_use_enable introspection) \ + $(use_enable xinerama) \ + --disable-papi \ + --enable-man \ + --with-xml-catalog="${EPREFIX}"/etc/xml/catalog \ + CUPS_CONFIG="${EPREFIX}/usr/bin/${CHOST}-cups-config" + + # work-around gtk-doc out-of-source brokedness + if multilib_is_native_abi; then + local d + for d in gdk gtk libgail-util; do + ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die + done + fi +} + +multilib_src_test() { + virtx emake check +} + +multilib_src_install() { + gnome2_src_install +} + +multilib_src_install_all() { + # see bug #133241 + # Also set more default variables in sync with gtk3 and other distributions + insinto /usr/share/gtk-2.0 + newins - gtkrc <<- 'EOF' + gtk-fallback-icon-theme = "gnome" + gtk-theme-name = "Adwaita" + gtk-icon-theme-name = "Adwaita" + gtk-cursor-theme-name = "Adwaita" + EOF + + einstalldocs + rm "${ED}"/usr/share/doc/${P}/ChangeLog # empty file + + # dev-util/gtk-builder-convert split off into a separate package, #402905 + rm "${ED}"/usr/bin/gtk-builder-convert || die + rm "${ED}"/usr/share/man/man1/gtk-builder-convert.* || die + + readme.gentoo_create_doc +} + +pkg_preinst() { + gnome2_pkg_preinst + + multilib_pkg_preinst() { + # Make immodules.cache belongs to gtk+ alone + local cache="/usr/$(get_libdir)/gtk-2.0/2.10.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_gtk2 \ + || die "Update immodules cache failed (for ${ABI})" + } + multilib_parallel_foreach_abi multilib_pkg_postinst + + set_gtk2_confdir + + if [[ -e "${EROOT}/etc/gtk-2.0/gtk.immodules" ]]; then + elog "File /etc/gtk-2.0/gtk.immodules has been moved to \$CHOST" + elog "aware location. Removing deprecated file." + rm -f "${EROOT}/etc/gtk-2.0/gtk.immodules" + fi + + if [[ -e "${EROOT}${GTK2_CONFDIR}/gtk.immodules" ]]; then + elog "File /etc/gtk-2.0/gtk.immodules has been moved to" + elog "${EROOT}/usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache" + elog "Removing deprecated file." + rm -f "${EROOT}${GTK2_CONFDIR}/gtk.immodules" + fi + + # pixbufs are now handled by x11-libs/gdk-pixbuf + if [[ -e "${EROOT}${GTK2_CONFDIR}/gdk-pixbuf.loaders" ]]; then + elog "File ${EROOT}${GTK2_CONFDIR}/gdk-pixbuf.loaders is now handled by x11-libs/gdk-pixbuf" + elog "Removing deprecated file." + rm -f "${EROOT}${GTK2_CONFDIR}/gdk-pixbuf.loaders" + fi + + # two checks needed since we dropped multilib conditional + if [[ -e "${EROOT}/etc/gtk-2.0/gdk-pixbuf.loaders" ]]; then + elog "File ${EROOT}/etc/gtk-2.0/gdk-pixbuf.loaders is now handled by x11-libs/gdk-pixbuf" + elog "Removing deprecated file." + rm -f "${EROOT}/etc/gtk-2.0/gdk-pixbuf.loaders" + fi + + if [[ -e "${EROOT}"/usr/lib/gtk-2.0/2.[^1]* ]]; then + elog "You need to rebuild ebuilds that installed into" "${EROOT}"/usr/lib/gtk-2.0/2.[^1]* + elog "to do that you can use qfile from portage-utils:" + elog "emerge -va1 \$(qfile -qC ${EPREFIX}/usr/lib/gtk-2.0/2.[^1]*)" + fi + + 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 gtkrc." + fi + + readme.gentoo_print_elog +} + +pkg_postrm() { + gnome2_pkg_postrm + + if [[ -z ${REPLACED_BY_VERSION} ]]; then + multilib_pkg_postrm() { + rm -f "${EROOT}/usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache" + } + multilib_foreach_abi multilib_pkg_postrm + fi +}