commit:     9f6c0642bd0b58aadaf7bc18a0864ce097eaf13e
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  9 00:11:08 2018 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sun Sep  9 00:11:52 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f6c0642

x11-libs/gtk+: Update 2.24.32 patchset from upstream branch

Closes: https://bugs.gentoo.org/664998
Package-Manager: Portage-2.3.49, Repoman-2.3.10

 x11-libs/gtk+/Manifest               |   1 +
 x11-libs/gtk+/gtk+-2.24.32-r1.ebuild | 306 +++++++++++++++++++++++++++++++++++
 2 files changed, 307 insertions(+)

diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest
index 63cfee31388..193ed760892 100644
--- a/x11-libs/gtk+/Manifest
+++ b/x11-libs/gtk+/Manifest
@@ -1,4 +1,5 @@
 DIST gtk+-2.24.31.tar.xz 12805344 BLAKE2B 
f516f9970a95afa21ae5dbe9f0cafd3c57c5cd27af0c6740a0f7f4367eb8032719e39e533bf89db72dddba7485ee499da9c2370707f51bbc4a7af2d4fb7c1309
 SHA512 
75b846661308d94b5236e7e1c367deabf57753792ca87e92f9769822dd5ec90e00cd8d5574adcc12162e3702e1ae6dc152278a1d218f9bd9e4d1c8dc1dd520c1
+DIST gtk+-2.24.32-patchset-r1.tar.xz 13364 BLAKE2B 
15e5429b11cc4ccef1bf44105c790b5325e833ab12f393fe718c06470b90f3e4004bea4b51076a725f4bb10bcfd0c48b7063d9b9b021919ad0367d1b981be980
 SHA512 
1a15dce7578a914585981426d2e5d1cc45866866a70c3f443d1867ab1c0c28fb279bde6c3117b28eec2758a62c1b54bb6fb1b382ad6e9a7cf0114b13f2afd858
 DIST gtk+-2.24.32-patchset.tar.xz 6392 BLAKE2B 
cd3a7256bf0552cd483a59dfd856497f5d908edb40d73c25a336726b880872a219d03a7163226abca6155bfb34a38675817124a82780760b226265ea3fdc3246
 SHA512 
6c8763826b479c9c122bb991ae42b0ce0e754d460be5c6ea8d1bba28f7318c014822eccaae0b39c3b7c16804991c8c46c53cd8ded3ad6212830a2f5746567543
 DIST gtk+-2.24.32.tar.xz 12620860 BLAKE2B 
03f4c0a8be98473f62bc8c86859937969c4169960a5f93d37ff6dcde00413215fa6c7125b15781bf50d67b40aa0056cb71b83fb50acb2c3467b5deb3c8d938f0
 SHA512 
8e8fd9ae32f1d6fb544da260f00599f0f05090d910d767b06ef086ab4f1f8373a29bb0da9767761c9b5f4cfd51b5c45d0fa5d39b0428c839ddf0a579df806696
 DIST gtk+-3.22.19.tar.xz 18841024 BLAKE2B 
dc4c27d022c6766036b16e52b53b4aa3946c41457abaabca390bdba2b720db71b9c584101990928af1bef73dc49f7b71a951ba0000bd52e11aa5306a1d877f18
 SHA512 
c83198794433ee6eb29f8740d59bd7056cd36808b4bff1a99563ab1a1742e6635dab4f2a8be33317f74d3b336f0d1adc28dd91410da056b50a08c215f184dce2

diff --git a/x11-libs/gtk+/gtk+-2.24.32-r1.ebuild 
b/x11-libs/gtk+/gtk+-2.24.32-r1.ebuild
new file mode 100644
index 00000000000..3104b7ef6e0
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-2.24.32-r1.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+GNOME2_EAUTORECONF="yes"
+
+inherit eutils flag-o-matic gnome2 multilib multilib-minimal readme.gentoo-r1 
virtualx
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="https://www.gtk.org/";
+SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${P}-patchset-r1.tar.xz";
+
+LICENSE="LGPL-2+"
+SLOT="2"
+IUSE="aqua cups examples +introspection test vim-syntax xinerama"
+REQUIRED_USE="
+       xinerama? ( !aqua )
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh 
~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# Upstream wants us to do their job:
+# https://bugzilla.gnome.org/show_bug.cgi?id=768663#c1
+RESTRICT="test"
+
+COMMON_DEPEND="
+       >=dev-libs/atk-2.10.0[introspection?,${MULTILIB_USEDEP}]
+       >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+       >=media-libs/fontconfig-2.10.92[${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/libXrender-0.9.8[${MULTILIB_USEDEP}]
+               >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+               >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}]
+               >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+               >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}]
+               >=x11-libs/libXcursor-1.1.14[${MULTILIB_USEDEP}]
+               >=x11-libs/libXfixes-5.0.1[${MULTILIB_USEDEP}]
+               >=x11-libs/libXcomposite-0.4.4-r1[${MULTILIB_USEDEP}]
+               >=x11-libs/libXdamage-1.1.4-r1[${MULTILIB_USEDEP}]
+               xinerama? ( >=x11-libs/libXinerama-1.1.3[${MULTILIB_USEDEP}] )
+       )
+"
+# docbook-4.1.2 and xsl required for man pages
+# docbook-4.3 required for gtk-doc
+DEPEND="${COMMON_DEPEND}
+       app-text/docbook-xsl-stylesheets
+       app-text/docbook-xml-dtd:4.1.2
+       app-text/docbook-xml-dtd:4.3
+       dev-libs/libxslt
+       dev-libs/gobject-introspection-common
+       dev-util/glib-utils
+       >=dev-util/gtk-doc-am-1.20
+       >=sys-devel/gettext-0.18.3[${MULTILIB_USEDEP}]
+       >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+       !aqua? ( x11-base/xorg-proto )
+       test? (
+               x11-themes/hicolor-icon-theme
+               media-fonts/font-misc-misc
+               media-fonts/font-cursor-misc )
+"
+
+# gtk+-2.24.8 breaks Alt key handling in <=x11-libs/vte-0.28.2:0
+# Add blocker against old gtk-builder-convert to be sure we maintain both
+# in sync.
+RDEPEND="${COMMON_DEPEND}
+       >=dev-util/gtk-update-icon-cache-2
+       !<gnome-base/gail-1000
+       !<dev-util/gtk-builder-convert-${PV}
+       !<x11-libs/vte-0.28.2-r201:0
+       >=x11-themes/adwaita-icon-theme-3.14
+       x11-themes/gnome-themes-standard
+"
+# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
+PDEPEND="
+       x11-themes/gtk-engines-adwaita
+       gnome-base/librsvg[${MULTILIB_USEDEP}]
+       vim-syntax? ( app-vim/gtk-syntax )
+"
+
+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
+       # Upstream gtk-2-24 branch up to 2018-09-08 state, bug #650536 safety
+       "${WORKDIR}"/patches/ # requires eautoreconf
+)
+
+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
+
+       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
+       echo 'gtk-fallback-icon-theme = "gnome"' > "${T}/gtkrc"
+       echo 'gtk-theme-name = "Adwaita"' >> "${T}/gtkrc"
+       echo 'gtk-icon-theme-name = "Adwaita"' >> "${T}/gtkrc"
+       echo 'gtk-cursor-theme-name = "Adwaita"' >> "${T}/gtkrc"
+
+       insinto /usr/share/gtk-2.0
+       doins "${T}"/gtkrc
+
+       einstalldocs
+
+       # 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
+}

Reply via email to