Reduce diff between :2 and :3. A number of code path are similar and should stay...
authorGilles Dartiguelongue <eva@gentoo.org>
Sat, 27 Dec 2014 01:16:13 +0000 (01:16 +0000)
committerGilles Dartiguelongue <eva@gentoo.org>
Sat, 27 Dec 2014 01:16:13 +0000 (01:16 +0000)
Package-Manager: portage-2.2.15/cvs/Linux x86_64
Manifest-Sign-Key: 0xC6085806

x11-libs/gtk+/ChangeLog
x11-libs/gtk+/Manifest
x11-libs/gtk+/gtk+-2.24.25-r1.ebuild [new file with mode: 0644]
x11-libs/gtk+/gtk+-3.14.6.ebuild

index ce8b0cc98bf0842a46fc5f9aec55c9a76b787c23..b9003fa3ee4ab946576bdcffbf974fe24e82b262 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for x11-libs/gtk+
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/ChangeLog,v 1.745 2014/12/19 13:43:48 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/ChangeLog,v 1.746 2014/12/27 01:16:09 eva Exp $
+
+*gtk+-2.24.25-r1 (27 Dec 2014)
+
+  27 Dec 2014; Gilles Dartiguelongue <eva@gentoo.org> +gtk+-2.24.25-r1.ebuild,
+  gtk+-3.14.6.ebuild:
+  Reduce diff between :2 and :3. A number of code path are similar and should
+  stay easily readable from a diff. Add ownership of immodules.cache in :2
+  ebuild and fix handling in :3 for multilib. Add epatch_user in :3. Fix sed
+  for aqua not looking at files in relevant libdir.
 
   19 Dec 2014; Pacho Ramos <pacho@gentoo.org> gtk+-2.24.25.ebuild:
   amd64 stable, bug 529964
index 0d9427951936edc25f18e47d091fb3aac5cc3cec..8d7f01d16f96be5d97ac3fc51dcc0fddbc477c29 100644 (file)
@@ -26,19 +26,20 @@ DIST gtk+-3.14.6.tar.xz 15680832 SHA256 cfc424e6e10ffeb34a33762aeb77905c3ed938f0
 DIST gtk+-3.4.4.tar.xz 12854476 SHA256 f154e460075034da4c0ce89c320025dcd459da2a1fdf32d92a09522eaca242c7 SHA512 1a16f54a511f85a22f74a8ea82d218efa14ea5a58fc94fca805b0e321bdcea48a5f0a018a6d996c954ee80a51a2a16b68bdb2e3f3ab57c2362f3241c6cfa9a56 WHIRLPOOL eb1d117544aafec4936920a668b684959e89383b5b014512b82be0e99b7e48e3bdf81ceff4202b64179df4aa77453390d85a433d6e913cce8740a6b31701b15a
 EBUILD gtk+-1.2.10-r12.ebuild 2406 SHA256 03e22a0e23e19cc0ad87697527ac186aeb6904b7e007bb0c023196f80765b716 SHA512 fb4a7905b5d6390a9d12bd5b0dd8e1b19744a5620279da1ae8c6962c80db44b9707dc6cd4d3a80cb091b5f4cfeacfeee7f5ebe46d1ecd2a3f720d8ccb73d8be4 WHIRLPOOL f3414b479f126236bef1670a51b46a2c37553f1c37edc912ed121f807926fa2dc87bcc8af1fa079cd12eeb8bc3084a4348948565356621c6a1ec267f40da1235
 EBUILD gtk+-2.24.24.ebuild 9267 SHA256 cdf1002495e97f2f57aa88f2fcc749af0e7faa517fed59b6da9906c343f03629 SHA512 a64ef91607a01fc73e1ddd879dc01964ede61a2f0e8ff351180aa67e81a8921ac4cab2ec1a23c23cefa6bdcc003bcb3059d7b4fd0bffc48953a2de263cbb8617 WHIRLPOOL 689d26ceff97be48df9c7e099513472a4910f13bc2dd5a474c38ef1f57caba7875c98a4fbac3547bf3931ccc6fd659de2e0b8f136f30b9548bd0f5b769e931c1
+EBUILD gtk+-2.24.25-r1.ebuild 9931 SHA256 673dab9c3a0d41cf0a834358f2625f4eb0b1b52bd95078aa45a89a0bf65e8a03 SHA512 b710314b090ee4b25cd95d515e154d0c049cf31be54bb5ef1edaa5370618d3748f1af439894621a5ce7cd4a8ba800f0ae57c2f5873c8c59468121b82c74bb6db WHIRLPOOL 0cba9859c3535faf39e4bdc49445f3701caf86636163240b73ec8b4b30abb7fc09368ca3f1628d1f33271aa16ea8d49a8f0931c5d73fa27877e4dc4852262eea
 EBUILD gtk+-2.24.25.ebuild 9310 SHA256 68fc00d0c790aff9dd7fd8ed0241a05cbb66f95155c6a639f180de0cb6767d74 SHA512 d3f0b657ab430bdb0b3405b52661b79dd1e2d91f5ac2766d28602a7ad05602c53fd2130f0b9b296c599b5b85f66ec6088ff6bafb31892840a7c24b28897e7852 WHIRLPOOL 60512a1e05bd4dea957b5347d7f31940ca8b3f6648770bd64fa8916a200bb9ba7d8b005c64b5efebf1e605f4b2655d589633ac5a60c79438d0cad61d2bf9e2be
 EBUILD gtk+-3.10.8.ebuild 6476 SHA256 538f97ea50eded5aa850c46f2cca1d25f8742700aa0bf69bef2872b06bae83e9 SHA512 69b710dd6ba6f356a6b9f0bb425957b160a39666762d64ffe32839471b7386403dbd9e3f826b2b904b819be7671a256361738b217f2be5afe91d5898be6675cb WHIRLPOOL e0d166bad4fdaec041280aab3f2c77945d584c3919e9a5fdeca0e0c6b2b542ea854983a756dcb21498d447dd7c6f3208dcc99fe62ecddf9a8704990c82ba8cb3
 EBUILD gtk+-3.12.2-r1.ebuild 7955 SHA256 45a2af90ec49cde7fb697e1d254e9cc4f9558b465b0bbbaaa8e314db6b76c6b1 SHA512 9899184828fd5157751324ddeb0ae3fdf415567d32626363ffbeb4ed3e1de2fc5fdeef8e0878bf8eb7bbb0c34b98293bd6f76a410fe9424106c2a000b58b1b2d WHIRLPOOL 8aec7706aeda8e30822991c53770311e47863b3a22b376946788d08458567ca0a73289b07e8d6478eb41e059e43141c861044c32e0c7a8fdce963eb45115f665
 EBUILD gtk+-3.12.2.ebuild 6597 SHA256 be97832d070fab365a441ef5b124b803417f8ca1fa1fefd22f17772af6632e7e SHA512 d78b8d1696f16607feb4b2695ae48756cf69ea7704b73a1dda99e6f7aec119e8483c2f4197dba17188131ba9ea9a7fc18d1c97190ff3dd3a1981c3093810cd05 WHIRLPOOL e6435dd7ee84c81b9e5f1fa6b9989b6c0bd62aad8f8e35419a6dce57e174507cf60968441681057dfdcd0924f50de8409881f341253fc0d1421faedfe5a67467
-EBUILD gtk+-3.14.6.ebuild 7954 SHA256 42f3c202aeea474742175443afee3ea1f30fdba6d27aa8023333b304f87bbdc3 SHA512 2b7d08205e2bc5d7c0fbcdca62490c1d4ae6a34f19261d5231478dd830bb1d688649f81ee5185bff52862fcc582cffe5cf0b31826ffcb723f5d76b0782fdcd5a WHIRLPOOL 678a709427d74e13d986c4ecf27be441424fafe269bf9f4ca1c0c615b69738bcab74d1683f5715561110e788deae9640cbec25b48e66851c82e8b9790929f71b
+EBUILD gtk+-3.14.6.ebuild 7968 SHA256 0d86a63f68020873a361c683010d01bfe19565325dfe67b93263c7a6986966f6 SHA512 57d27ae8a6adec76a86ceac6efc3cf4058a0020fd597dc3d899f34a64496b7ea44554385afc35f79d8af87aa618f6b9a3546f8398dc91f5d4f062c9bf2a7a9ae WHIRLPOOL 9416e2a8779e91223e6710f1a2dc42f225ec044eb8a96dcd482656edb257dfc0e05f28c4889df8b8ab254d092350379add59ab0720f4125054307004f901541f
 EBUILD gtk+-3.4.4.ebuild 7078 SHA256 5c03753346c92b03ce8876ff2223240855225ac69f8e99ad3d0f594778f4d83c SHA512 2b86d907df0cf1613d4aab3adc4ccbec8960513cd07dcbc41a933587a7cba85d0c7e078158431f5315ec91818f7793d2deed76d4ec643d5df19682193e1b5570 WHIRLPOOL f2196bef499be6eec55554d2dea442f7aa480c13fb590dab010efb6564886bb746b27479265c4ba48a93a0c630e574a37cf319fee228dfda82d333c8e4a3b093
-MISC ChangeLog 17549 SHA256 2cb488b5557c85165d2ce761950af4398adce051ec89dd6d6dc6ac4162976a11 SHA512 bf80fd2a59cf1f8eb2dec4088959fb30415b91b9c9e5a1020816906bf9b7d25555576d6cd4cb01b0a115308500ba403da946ea6b3185fbdf0a529387e00ac139 WHIRLPOOL 633eb2f6d455951c025e2337b89143de3f9264c61fd09aa2770415942b208c3f648d9112ee009d8664b7ae5c2b7dd5db5cd80f745a5efa390577b506661999c6
+MISC ChangeLog 17963 SHA256 e0ae58ad7b5e6e2e64b9c3f2dcc93ad2a4b2faa28316c94469933335992763c1 SHA512 6a4a21a0a3d96853635cae25fb8f90fba62c95320460214f4c83e1f50098e7b6e719a139b0adb7fd58cdb063da52af44c637f65eaf5e4103833e582eb3a5308b WHIRLPOOL 9325af3b1ba657fd9919854a8021156343793f9158654f19ce82f26c797803b3d93bb6fbffdf460efa2bf7b600a35ee1f3dd19c131a208da0ca887ef58a39b13
 MISC ChangeLog-2012 98793 SHA256 cace01db369f8f0e2902b3893738711adaf7f92ce43ad566b1a38d73b2a90633 SHA512 98499bb7fc111d86c5bc87b5ca415d0d3e73c3a1b3655a14e164e28e45e5f4141a8f0e1c259177141abf9861aecf47e48bddd4b3dfd5b902e5ab01cd9ab24a34 WHIRLPOOL 618327a12a938e54f1e3f86299d51f1721d8be69b12c8ea33fc0061df3020d83dd20025feb658a3ca26a5e05338102e0a37a62ecf8224e3e492bb4e3b571ceec
 MISC metadata.xml 848 SHA256 cfb2904b37626135ebeb5e4be0626a51e68d64e211414eefde98b738631d82f0 SHA512 7c0cfa1f2b09ca41911e4f6ccad76becd4f6edf4c5c1a9e3e60eb423b907f08d15c2bfbef378773b9428232d1e7c20bd250eec0b327d073f4de41f815ce92226 WHIRLPOOL 786c7b8987736aaa4fa7b637b84f81e56765f435c77d65aa0afe9409d4bc6c191cf04ad4bab4d7c7b704a2762c828346f1042b408234b38c145abb21df0fbd21
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iEYEAREIAAYFAlSUK5UACgkQCaWpQKGI+9TrfACeObSKm1WGNhgop03ma9bIFdYQ
-mycAoIEAgxOIULRJ/YOCmmr449UzmGy5
-=0SDD
+iEYEAREIAAYFAlSeCFoACgkQ1fmVwcYIWAYptgCghUzcmx/4KgM7Gd5iZOnI2KZV
+PasAoK7Bt9I+X2XgkasS92sDr183sJqT
+=fWcB
 -----END PGP SIGNATURE-----
diff --git a/x11-libs/gtk+/gtk+-2.24.25-r1.ebuild b/x11-libs/gtk+/gtk+-2.24.25-r1.ebuild
new file mode 100644 (file)
index 0000000..019795b
--- /dev/null
@@ -0,0 +1,306 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-2.24.25-r1.ebuild,v 1.1 2014/12/27 01:16:09 eva Exp $
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit autotools eutils flag-o-matic gnome2 multilib virtualx readme.gentoo multilib-minimal
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="http://www.gtk.org/"
+
+LICENSE="LGPL-2+"
+SLOT="2"
+IUSE="aqua cups debug examples +introspection test vim-syntax xinerama"
+REQUIRED_USE="
+       xinerama? ( !aqua )
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf)
+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:=[X]
+               >=x11-libs/gdk-pixbuf-2.30.7:2[X]
+               >=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.4.2[${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}] )
+       )
+"
+DEPEND="${COMMON_DEPEND}
+       dev-libs/gobject-introspection-common
+       >=dev-util/gtk-doc-am-1.20
+       sys-devel/gettext
+       >=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}
+       !<gnome-base/gail-1000
+       !<dev-util/gtk-builder-convert-${PV}
+       !<x11-libs/vte-0.28.2-r201:0
+       abi_x86_32? (
+               !<=app-emulation/emul-linux-x86-gtklibs-20140508
+               !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+       )
+"
+PDEPEND="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
+)
+
+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() {
+       # Fix building due to moved definition, upstream bug #704766
+       epatch "${FILESDIR}"/${PN}-2.24.20-darwin-quartz-pasteboard.patch
+
+       # Fix tests running when building out of sources, bug #510596
+       epatch "${FILESDIR}"/${PN}-2.24.24-out-of-source.patch
+
+       # marshalers code was pre-generated with glib-2.31, upstream bug #671763
+       rm -v gdk/gdkmarshalers.c gtk/gtkmarshal.c gtk/gtkmarshalers.c \
+               perf/marshalers.c || die
+
+       # Stop trying to build unmaintained docs, bug #349754
+       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)"
+
+               # Skip tests known to fail
+               # https://bugzilla.gnome.org/show_bug.cgi?id=646609
+               sed -e '/g_test_add_func.*test_text_access/s:^://:' \
+                       -i "${S}/gtk/tests/testing.c" || die
+
+               # 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
+
+       epatch_user
+
+       eautoreconf
+       gnome2_src_prepare
+}
+
+multilib_src_configure() {
+       [[ ${ABI} == ppc64 ]] && append-flags -mminimal-toc
+
+       # Passing --disable-debug is not recommended for production use
+       ECONF_SOURCE=${S} \
+       gnome2_src_configure \
+               $(usex aqua --with-gdktarget=quartz --with-gdktarget=x11) \
+               $(usex aqua "" --with-xinput) \
+               $(usex debug --enable-debug=yes "") \
+               $(use_enable cups cups auto) \
+               $(multilib_native_use_enable introspection) \
+               $(use_enable xinerama) \
+               --disable-papi \
+               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() {
+       unset DBUS_SESSION_BUS_ADDRESS
+       Xemake check
+}
+
+multilib_src_install() {
+       gnome2_src_install
+
+       # add -framework Carbon to the .pc files
+       if use aqua ; then
+               for i in gtk+-2.0.pc gtk+-quartz-2.0.pc gtk+-unix-print-2.0.pc; do
+                       sed -e "s:Libs\: :Libs\: -framework Carbon :" \
+                               -i "${ED%/}"/usr/$(get_libdir)/pkgconfig/$i || die "sed failed"
+               done
+       fi
+}
+
+multilib_src_install_all() {
+       # see bug #133241
+       echo 'gtk-fallback-icon-theme = "gnome"' > "${T}/gtkrc"
+       insinto /usr/share/gtk-2.0
+       doins "${T}"/gtkrc
+
+       dodoc AUTHORS ChangeLog* HACKING NEWS* README*
+
+       # dev-util/gtk-builder-convert split off into a separate package, #402905
+       rm "${ED}"usr/bin/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_VERSIONS} ]]; 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
+}
index c7cf848fe40c6ab9a7a84ba83ee7dbaa2d68d708..0ddcd093d63b977e0d9ab65dbe14b897ebb1f07b 100644 (file)
@@ -1,12 +1,12 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-3.14.6.ebuild,v 1.1 2014/12/14 22:42:54 eva Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-3.14.6.ebuild,v 1.2 2014/12/27 01:16:09 eva Exp $
 
 EAPI="5"
 GCONF_DEBUG="no"
 GNOME2_LA_PUNT="yes"
 
-inherit eutils flag-o-matic autotools gnome2 multilib virtualx multilib-minimal
+inherit autotools eutils flag-o-matic gnome2 multilib virtualx multilib-minimal
 
 DESCRIPTION="Gimp ToolKit +"
 HOMEPAGE="http://www.gtk.org/"
@@ -68,6 +68,7 @@ DEPEND="${COMMON_DEPEND}
        app-text/docbook-xsl-stylesheets
        app-text/docbook-xml-dtd:4.1.2
        dev-libs/libxslt
+       dev-libs/gobject-introspection-common
        dev-util/gdbus-codegen
        >=dev-util/gtk-doc-am-1.20
        sys-devel/gettext
@@ -113,7 +114,7 @@ strip_builddir() {
 
 src_prepare() {
        # see bug #525928
-       epatch "${FILESDIR}/${PN}-non-bash-support.patch"
+       epatch "${FILESDIR}"/${PN}-non-bash-support.patch
 
        # -O3 and company cause random crashes in applications. Bug #133469
        replace-flags -O3 -O2
@@ -121,20 +122,18 @@ src_prepare() {
 
        if ! use test ; then
                # don't waste time building tests
-               strip_builddir SRC_SUBDIRS testsuite Makefile.am
-               strip_builddir SRC_SUBDIRS testsuite Makefile.in
-               strip_builddir SRC_SUBDIRS tests Makefile.am
-               strip_builddir SRC_SUBDIRS tests Makefile.in
+               strip_builddir SRC_SUBDIRS testsuite Makefile.{am,in}
+               strip_builddir SRC_SUBDIRS tests Makefile.{am,in}
        fi
 
        if ! use examples; then
                # don't waste time building demos
-               strip_builddir SRC_SUBDIRS demos Makefile.am
-               strip_builddir SRC_SUBDIRS demos Makefile.in
-               strip_builddir SRC_SUBDIRS examples Makefile.am
-               strip_builddir SRC_SUBDIRS examples Makefile.in
+               strip_builddir SRC_SUBDIRS demos Makefile.{am,in}
+               strip_builddir SRC_SUBDIRS examples Makefile.{am,in}
        fi
 
+       epatch_user
+
        eautoreconf
        gnome2_src_prepare
 }
@@ -200,7 +199,7 @@ multilib_src_install() {
        if use aqua ; then
                for i in gtk+-3.0.pc gtk+-quartz-3.0.pc gtk+-unix-print-3.0.pc; do
                        sed -e "s:Libs\: :Libs\: -framework Carbon :" \
-                               -i "${ED}"usr/$(get_libdir)/pkgconfig/$i || die "sed failed"
+                               -i "${ED%/}"/usr/$(get_libdir)/pkgconfig/$i || die "sed failed"
                done
        fi
 }
@@ -216,7 +215,7 @@ pkg_preinst() {
        gnome2_pkg_preinst
 
        multilib_pkg_preinst() {
-               # Make sure loaders.cache belongs to gdk-pixbuf alone
+               # 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
@@ -230,7 +229,12 @@ pkg_preinst() {
 
 pkg_postinst() {
        gnome2_pkg_postinst
-       gnome2_query_immodules_gtk3
+
+       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."