Add upstream patches to fix various crashes, including the segfault in file open...
authorAlexandre Rostovtsev <tetromino@gentoo.org>
Thu, 15 Dec 2011 23:46:04 +0000 (23:46 +0000)
committerAlexandre Rostovtsev <tetromino@gentoo.org>
Thu, 15 Dec 2011 23:46:04 +0000 (23:46 +0000)
Package-Manager: portage-2.2.0_alpha80/cvs/Linux x86_64

x11-libs/gtk+/ChangeLog
x11-libs/gtk+/Manifest
x11-libs/gtk+/gtk+-3.2.2-r2.ebuild [new file with mode: 0644]

index 910bcefe95594f1cff19a42f043c1b29c5649728..a8668fee5cb0318f42892226a8dc606bb48c7125 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for x11-libs/gtk+
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/ChangeLog,v 1.553 2011/12/14 19:58:13 tetromino Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/ChangeLog,v 1.554 2011/12/15 23:46:04 tetromino Exp $
+
+*gtk+-3.2.2-r2 (15 Dec 2011)
+
+  15 Dec 2011; Alexandre Rostovtsev <tetromino@gentoo.org>
+  +gtk+-3.2.2-r2.ebuild:
+  Add upstream patches to fix various crashes, including the segfault in file
+  open dialog (bug #394681, thanks to ByrneG and Marien Zwart). Should also fix
+  disappearing mouse pointer in fluxbox. Includes the gtktoolbutton fix from
+  3.2.2-r1.
 
   14 Dec 2011; Alexandre Rostovtsev <tetromino@gentoo.org> gtk+-3.0.12.ebuild,
   gtk+-3.0.12-r1.ebuild, gtk+-3.2.1.ebuild, gtk+-3.2.2.ebuild,
index b01913f3add26b6de2fda2f12051556dd8d53491..8fdef64c7523b0e094100112eae08091c57540a7 100644 (file)
@@ -31,6 +31,7 @@ DIST gtk+-2.24.8.tar.xz 12811268 RMD160 55a57b32f3034d7b3d190538f929920bc6c96aff
 DIST gtk+-3.0.12-use-const2.patch.xz 12500 RMD160 2cebd73630f83530a76ac263d797e196032994ee SHA1 697b8d41ba24386acd1cfec1d733361901e797dd SHA256 f10b251a52a4f5d73b435315c94297dd30a4bc3c20a25bc947842bb214808cc4
 DIST gtk+-3.0.12.tar.xz 13104092 RMD160 c82d14e113ae287476f5887ca03b8b01b8d22e1b SHA1 1b87e12ef3dfe598ee757db1f5bdff6cd66e6558 SHA256 219fdea120897981840e909fac40d4d433fe061a37b12b9402e215c819ebeae9
 DIST gtk+-3.2.1.tar.xz 12664740 RMD160 38f61e8881b5dd1230aeafecc01cfa45629bc6ef SHA1 7f3feaa6e9227bfc9247d58fd34962c677750591 SHA256 f1989f183700cd5f46681cfabc2253e2f526b19b56e4b631dcee2594dddb0ef3
+DIST gtk+-3.2.2-patches-2.tar.xz 9428 RMD160 5086a8502ae3b3ed03696f44eb55596d118cf872 SHA1 1ce95a8b22883246ed6b464cd550af014222940b SHA256 205449e86898fd4683d508e57ed93cab401a7036359a4ceb155c10cdc9b20bed
 DIST gtk+-3.2.2.tar.xz 12662804 RMD160 344ff194cda11b95e44ef75cd47f19a858b564b6 SHA1 fc88cbd2801efac02a6171a2f4b5ffe50eec61f7 SHA256 f7ec82de393cd7ae2aa45022576400941704709d1f0f35fb0b17f3be1f2e7d84
 DIST introspection.m4.bz2 1181 RMD160 3648afa820c2ee7e240083076e1452285d043084 SHA1 e5188cc387d0d17feb77684feff7ff163779912f SHA256 69a2a57b12179159420825d1d44c74108014b0864c4d63500265639cfa9151ae
 EBUILD gtk+-1.2.10-r12.ebuild 2386 RMD160 ed251a32d854304c5d9622844d07f183f14c9bd5 SHA1 93a6ec39cde941b4939c04da955475d017a6ff6f SHA256 e4874d2dd01bc266e7e0f5b691fcf4e54f6bd3a79658dcec6d5374c5910aa78b
@@ -43,13 +44,14 @@ EBUILD gtk+-3.0.12-r1.ebuild 6158 RMD160 d2fa789aa709cfe016e52c35c4c4eea72001b3d
 EBUILD gtk+-3.0.12.ebuild 5914 RMD160 855ced0d7473e2c06411ffe7b88bc667663e8443 SHA1 b573ae7f942ba95de6c485b0884ad28c4f9432d4 SHA256 955f5ab87289a900b1ed275a803d910497067b4a5c9dba682b202b4aae8f0c6a
 EBUILD gtk+-3.2.1.ebuild 6236 RMD160 513668f35c2bc20dbcd3721bcada49ea36694297 SHA1 9aaf2156ac04521c65af2506a13357400b6fa633 SHA256 d7587f9be4ad79401bf7cae3d5a8db1135f89f91d31d6ce9be48f637fe47ba3e
 EBUILD gtk+-3.2.2-r1.ebuild 6476 RMD160 af140bb2a3ca691a8e0983545e1dfcbea80d1ad6 SHA1 8b243a68f5d616403127f9308ddfed3c0f34c9f7 SHA256 03681c40256004ba29f398adedba6a0cbb490fb2c134f4adbc1816268a5cf1fd
+EBUILD gtk+-3.2.2-r2.ebuild 6517 RMD160 445de82dfe421d457798dec25b502592f8058df4 SHA1 374b21044f6df4b179a3d5a248bfc5b0589c5a59 SHA256 77c1869b3c5b8a3af9615b42d96f4d449a6dfa71a33b0ffe99cc9d58dddd2eb7
 EBUILD gtk+-3.2.2.ebuild 6388 RMD160 f47e3cc109f30c01a10e61855377a43ad618e9ac SHA1 4ec8d5ddf43686bf4420cebf85b7d7eab81bd415 SHA256 47f511c2d4911d4eaa5569205063b74a76b0b93146142c5332d79825841d2aea
-MISC ChangeLog 84348 RMD160 a6b9b6a286b28f8e965471b8350c1a3d28fc368a SHA1 c081e6366a03b709b2e30cfa748e2bdb6183f63b SHA256 eafd82f4f42d949ddd03d2bd676f69e0c84cdd056e22d8c790af150a0104dc51
+MISC ChangeLog 84710 RMD160 f42068816a301e10536d0dd7b3505b4c41b17cc8 SHA1 66bf9c80cf9dd0be172c6cf9811b50dcc3a29abb SHA256 ec1c98403394a95ef426506c724cb920e32724859d238538aa7fe3414af1eab0
 MISC metadata.xml 798 RMD160 9c1c01af06ea6cb0d398d66eda999eba1ec6880a SHA1 13f2860e4e48abb065d70fd85b7073074624ec28 SHA256 634c27d323d01eecbcda3159df57a7cc64557e2a0087eac60e6d9e3d94acd85c
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iF4EAREIAAYFAk7o/9wACgkQdjK8w9WeBnCzzwEAgX7FIzay4dStCeNQGiEBBSCt
-zirqzhctZzx7OA+sOjIA/ihv0sVQYc3BeaI66G/19VbiBPNRoyiTQzw5PcYUaQsq
-=b6Yf
+iF4EAREIAAYFAk7qhsIACgkQdjK8w9WeBnB86gD/dAQ2UDgsM60zkL/MXgOH93vJ
+2cclL1Ut09IOEnTVJt8BAIbNjluwF0fkOqjrwH9LLz87yFuB2ZozZLIARF7V9NOh
+=Xrju
 -----END PGP SIGNATURE-----
diff --git a/x11-libs/gtk+/gtk+-3.2.2-r2.ebuild b/x11-libs/gtk+/gtk+-3.2.2-r2.ebuild
new file mode 100644 (file)
index 0000000..8cc7c3d
--- /dev/null
@@ -0,0 +1,202 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-3.2.2-r2.ebuild,v 1.1 2011/12/15 23:46:04 tetromino Exp $
+
+EAPI="4"
+
+inherit eutils flag-o-matic gnome.org gnome2-utils libtool virtualx
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+       http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}-patches-2.tar.xz"
+
+LICENSE="LGPL-2"
+SLOT="3"
+# NOTE: This gtk+ has multi-gdk-backend support, see:
+#  * http://blogs.gnome.org/kris/2010/12/29/gdk-3-0-on-mac-os-x/
+#  * http://mail.gnome.org/archives/gtk-devel-list/2010-November/msg00099.html
+# I tried this and got it all compiling, but the end result is unusable as it
+# horribly mixes up the backends -- grobian
+IUSE="aqua colord cups debug doc examples +introspection packagekit test vim-syntax xinerama"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# FIXME: introspection data is built against system installation of gtk+:3
+# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf)
+# Use gtk+:2 for gtk-update-icon-cache and gtk-builder-convert
+# >=x11-libs/gtk+-2.24:2 is needed for bug 359555
+COMMON_DEPEND="!aqua? (
+               x11-libs/libXrender
+               x11-libs/libX11
+               x11-libs/libXi
+               x11-libs/libXt
+               x11-libs/libXext
+               >=x11-libs/libXrandr-1.3
+               x11-libs/libXcursor
+               x11-libs/libXfixes
+               x11-libs/libXcomposite
+               x11-libs/libXdamage
+               >=x11-libs/cairo-1.10.0[X,glib,svg]
+               >=x11-libs/gdk-pixbuf-2.23.5:2[X,introspection?]
+       )
+       aqua? (
+               >=x11-libs/cairo-1.10.0[aqua,glib,svg]
+               >=x11-libs/gdk-pixbuf-2.23.5:2[introspection?]
+       )
+       xinerama? ( x11-libs/libXinerama )
+       >=dev-libs/glib-2.29.14
+       >=x11-libs/pango-1.29.0[introspection?]
+       >=dev-libs/atk-2.1.5[introspection?]
+       >=x11-libs/gtk+-2.24:2
+       media-libs/fontconfig
+       x11-misc/shared-mime-info
+       colord? ( >=x11-misc/colord-0.1.9 )
+       cups? ( net-print/cups )
+       introspection? ( >=dev-libs/gobject-introspection-0.10.1 )"
+DEPEND="${COMMON_DEPEND}
+       >=dev-util/pkgconfig-0.9
+       !aqua? (
+               x11-proto/xextproto
+               x11-proto/xproto
+               x11-proto/inputproto
+               x11-proto/damageproto
+       )
+       xinerama? ( x11-proto/xineramaproto )
+       >=dev-util/gtk-doc-am-1.11
+       doc? (
+               >=dev-util/gtk-doc-1.11
+               ~app-text/docbook-xml-dtd-4.1.2 )
+       test? (
+               media-fonts/font-misc-misc
+               media-fonts/font-cursor-misc )"
+# gtk+-3.2.2 breaks Alt key handling in <=x11-libs/vte-0.30.1:2.90
+RDEPEND="${COMMON_DEPEND}
+       !<gnome-base/gail-1000
+       !<x11-libs/vte-0.30.1-r1:2.90
+       packagekit? ( app-admin/packagekit-base )"
+PDEPEND="vim-syntax? ( app-vim/gtk-syntax )"
+
+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."
+}
+
+src_prepare() {
+       # -O3 and company cause random crashes in applications. Bug #133469
+       replace-flags -O3 -O2
+       strip-flags
+
+       # Useful patches from upstream git, will be in next release
+       epatch ../patch/*.patch
+
+       # 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"
+       sed '\%/recent-manager/add%,/recent_manager_purge/ d' \
+               -i gtk/tests/recentmanager.c || die "sed 2 failed"
+
+       # Missing file, required for tests; https://bugzilla.gnome.org/show_bug.cgi?id=662024
+       cp "${FILESDIR}/${PN}-3.2.1-selector.errors" \
+               tests/css/parser/selector.errors || die "cp failed"
+
+       # FIXME: multiple reftests fail when run from portage (but succeed when
+       # run from a manual compile in a temp directory)
+       sed -e 's:\(SUBDIRS.*\)reftests:\1:' \
+               -i tests/Makefile.* || die "sed 3 failed"
+
+       # Test results depend on the list of mounted filesystems!
+       rm -v tests/a11y/pickers.{ui,txt} || die "rm failed"
+
+       # Failing treeview scrolling tests; bug #384855,
+       # https://bugzilla.gnome.org/show_bug.cgi?id=660931
+       epatch "${FILESDIR}/${PN}-3.2.1-failing-tests.patch"
+
+       if ! use test; then
+               # don't waste time building tests
+               strip_builddir SRC_SUBDIRS tests Makefile.am
+               strip_builddir SRC_SUBDIRS tests Makefile.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
+       fi
+}
+
+src_configure() {
+       # png always on to display icons (foser)
+       local myconf="$(use_enable doc gtk-doc)
+               $(use_enable xinerama)
+               $(use_enable packagekit)
+               $(use_enable cups cups auto)
+               $(use_enable colord)
+               $(use_enable introspection)
+               --disable-papi
+               --enable-gtk2-dependency"
+
+       # XXX: Maybe with multi-backend we should enable x11 all the time?
+       if use aqua; then
+               myconf="${myconf} --enable-quartz-backend --disable-xinput"
+       else
+               myconf="${myconf} --enable-x11-backend --enable-xinput"
+       fi
+
+       # Passing --disable-debug is not recommended for production use
+       use debug && myconf="${myconf} --enable-debug=yes"
+
+       # need libdir here to avoid a double slash in a path that libtool doesn't
+       # grok so well during install (// between $EPREFIX and usr ...)
+       econf --libdir="${EPREFIX}/usr/$(get_libdir)" ${myconf}
+}
+
+src_test() {
+       unset DBUS_SESSION_BUS_ADDRESS
+       # Exporting HOME fixes tests using XDG directories spec since all defaults
+       # are based on $HOME. It is also backward compatible with functions not
+       # yet ported to this spec.
+       XDG_DATA_HOME="${T}" HOME="${T}" Xemake check || die "tests failed"
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+
+       insinto /etc/gtk-3.0
+       doins "${FILESDIR}"/settings.ini
+
+       dodoc AUTHORS ChangeLog* HACKING NEWS* README*
+
+       # Remove unneeded *.la files
+       find "${D}" -name '*.la' -exec rm -f {} +
+
+       # add -framework Carbon to the .pc files
+       use aqua && for i in gtk+-3.0.pc gtk+-quartz-3.0.pc gtk+-unix-print-3.0.pc; do
+               sed -i -e "s:Libs\: :Libs\: -framework Carbon :" "${ED}"usr/$(get_libdir)/pkgconfig/$i || die "sed failed"
+       done
+}
+
+pkg_preinst() {
+       gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+       gnome2_schemas_update
+
+       local GTK3_MODDIR="${EROOT}usr/$(get_libdir)/gtk-3.0/3.0.0"
+       gtk-query-immodules-3.0  > "${GTK3_MODDIR}/immodules.cache" \
+               || ewarn "Failed to run gtk-query-immodules-3.0"
+
+       if ! has_version "app-text/evince"; then
+               elog "Please install app-text/evince for print preview functionality."
+               elog "Alternatively, check \"gtk-print-preview-command\" documentation and"
+               elog "add it to your settings.ini file."
+       fi
+}
+
+pkg_postrm() {
+       gnome2_schemas_update
+}