commit:     3cc32a9e66e2951898182b1769fc663d7081c350
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Mon May  7 01:08:49 2018 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Mon May  7 01:09:15 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3cc32a9e

x11-libs/gtk+: bump to 2.24.32

Thanks-to: Dennis Schridde <devurandom <AT> gmx.net>
Closes: https://bugs.gentoo.org/650536
Bug: https://bugs.gentoo.org/641994
Closes: https://bugs.gentoo.org/648916
Package-Manager: Portage-2.3.28, Repoman-2.3.9

 x11-libs/gtk+/Manifest            |   2 +
 x11-libs/gtk+/gtk+-2.24.32.ebuild | 311 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 313 insertions(+)

diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest
index 75cf5c490bc..79afd2f7ad4 100644
--- a/x11-libs/gtk+/Manifest
+++ b/x11-libs/gtk+/Manifest
@@ -1,4 +1,6 @@
 DIST gtk+-2.24.31.tar.xz 12805344 BLAKE2B 
f516f9970a95afa21ae5dbe9f0cafd3c57c5cd27af0c6740a0f7f4367eb8032719e39e533bf89db72dddba7485ee499da9c2370707f51bbc4a7af2d4fb7c1309
 SHA512 
75b846661308d94b5236e7e1c367deabf57753792ca87e92f9769822dd5ec90e00cd8d5574adcc12162e3702e1ae6dc152278a1d218f9bd9e4d1c8dc1dd520c1
+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
 DIST gtk+-3.22.26.tar.xz 18922136 BLAKE2B 
a1e43be24abe2bda8eb63f3794b191b152abb5717334f8f46fe3158eb7ec92d5413ed3ca0df2a1ad676deacee3e7ce5e737661ec5f5c911609d40d3b9379c4c4
 SHA512 
2fd3a4175168d37f243359bac5df84722a2830fe5b62f86b914ce39ff500f0361e412843922343dffef8bee8f1205799ff86dd3ae8ac419928f4fe977e0e946f
 DIST gtk+-3.22.29.tar.xz 18964852 BLAKE2B 
a7551d604a1e27cba1d0580f2645bf4afff900908ce40d3d4d05cfb7348afc0620922e9b7939cf4ce2314ff489ffe38386aaf2634f3eff6591dfd0a225f19bc7
 SHA512 
046fa4458626e81ea7b1ddb753d53ecd91d0f2101af428cfdf77fe866bbe430cb3622203cc5e895b220a9364e35009245cdaf76e0cfa30d32d31095b5fcb42bc

diff --git a/x11-libs/gtk+/gtk+-2.24.32.ebuild 
b/x11-libs/gtk+/gtk+-2.24.32.ebuild
new file mode 100644
index 00000000000..dde87af5e34
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-2.24.32.ebuild
@@ -0,0 +1,311 @@
+# 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.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 ~arm-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/gtk-doc-am-1.20
+       >=sys-devel/gettext-0.18.3[${MULTILIB_USEDEP}]
+       >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+       !aqua? (
+               >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}]
+               >=x11-proto/xproto-7.0.24[${MULTILIB_USEDEP}]
+               >=x11-proto/inputproto-2.3[${MULTILIB_USEDEP}]
+               >=x11-proto/damageproto-1.2.1-r1[${MULTILIB_USEDEP}]
+               xinerama? ( 
>=x11-proto/xineramaproto-1.2.1-r1[${MULTILIB_USEDEP}] )
+       )
+       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-05-06 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