summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2013-09-29 10:21:44 +0000
committerPacho Ramos <pacho@gentoo.org>2013-09-29 10:21:44 +0000
commita09ca9f79e89ffef0d60b05195584e2f49cd4d8f (patch)
tree960f919a4938201ef219a9c0b7a7bcbf0ca8029a /dev-python/pygtk
parentmark s390, sh, m68k stable back, wrt bug #486436 (diff)
downloadhistorical-a09ca9f79e89ffef0d60b05195584e2f49cd4d8f.tar.gz
historical-a09ca9f79e89ffef0d60b05195584e2f49cd4d8f.tar.bz2
historical-a09ca9f79e89ffef0d60b05195584e2f49cd4d8f.zip
Upstream patch for fixing leaks, make tests exit with right result
Package-Manager: portage-2.2.7/cvs/Linux x86_64 Manifest-Sign-Key: 0xA188FBD4
Diffstat (limited to 'dev-python/pygtk')
-rw-r--r--dev-python/pygtk/ChangeLog9
-rw-r--r--dev-python/pygtk/Manifest17
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch58
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch9
-rw-r--r--dev-python/pygtk/pygtk-2.24.0-r4.ebuild100
5 files changed, 183 insertions, 10 deletions
diff --git a/dev-python/pygtk/ChangeLog b/dev-python/pygtk/ChangeLog
index 569e5d753fb4..f50b49e93898 100644
--- a/dev-python/pygtk/ChangeLog
+++ b/dev-python/pygtk/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-python/pygtk
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pygtk/ChangeLog,v 1.290 2013/05/03 14:26:01 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pygtk/ChangeLog,v 1.291 2013/09/29 10:21:40 pacho Exp $
+
+*pygtk-2.24.0-r4 (29 Sep 2013)
+
+ 29 Sep 2013; Pacho Ramos <pacho@gentoo.org>
+ +files/pygtk-2.24.0-fix-leaks.patch, +files/pygtk-2.24.0-test-fail.patch,
+ +pygtk-2.24.0-r4.ebuild:
+ Upstream patch for fixing leaks, make tests exit with right result
03 May 2013; Samuli Suominen <ssuominen@gentoo.org> -pygtk-2.24.0-r2.ebuild:
old
diff --git a/dev-python/pygtk/Manifest b/dev-python/pygtk/Manifest
index d319887db027..4993a02edcb9 100644
--- a/dev-python/pygtk/Manifest
+++ b/dev-python/pygtk/Manifest
@@ -3,18 +3,17 @@ Hash: SHA256
AUX pygtk-2.13.0-fix-codegen-location.patch 507 SHA256 f446a7b3e3ac76a9ab594738b1fbf9105c1ca17e8053b1a8712a966e9cfe54d0 SHA512 382fae5afc3082f0239e1228c226c8ae6ac1b8524cb9a2aa8ca2b3d3cef5b1e280058df1a3c764785f129c4d4c8808e1c4f6fa09f213ee53efa269ca4ad27542 WHIRLPOOL 53773cdb2605acb5987c9b4ec6a52946cccee32cc947f3d62dfdaeaefb458a0ff5bc81b0b65f23f31ec9c5f9bf92f9453ca7a89ec2178665b17f3689848c9ef3
AUX pygtk-2.14.1-libdir-pc.patch 284 SHA256 bdb29e2491558f8b10ed91ce85b0b05c4d300db4f9ef066e4220c97d202d14be SHA512 cf1fb2731b14d9f96624be0bd250c178c25232f579e585567d8e44436f43f1d5444c9c85acca7cc13511cd036e19eacc40df158b0103c785f22149b76c9fe1a9 WHIRLPOOL 36ea127a98bad0a1c7124fcf8096e1a1a30a3db5dc145066740b711d4b5bfbfa34d1c1cf349692099b7846b830a2555c40e5def6c180d3b730e6e04d743e07c0
+AUX pygtk-2.24.0-fix-leaks.patch 1681 SHA256 af2071bd920cae142c73bd8a74049d8dce608dd4b9a566d9408e46eec7384e69 SHA512 438d72249f3a7073a8cba690610ca551ffa2c88b9df693b00a46178fdb53eec9a6e7db068b7b2700de4e4506810cc0746560db889abfdd2d30e57e8821f9d878 WHIRLPOOL eed88f039dd97bf7863bf2fa805e23f305248d9da3af5e9ee175f618b9f79e2db27b0085a3b477f95b0e1899e5d593a82ee98424292390f8a78ffd022becc036
+AUX pygtk-2.24.0-test-fail.patch 248 SHA256 6e96744b593f5f085b95a54ac435ea43deb2f285f167716e8fd147c2a55f626d SHA512 e306324fa5542c492942c3a3f0be4d6a53f5641fff4362507195afa89bd73722aa2f65563ce7a8000d04b7824f69d840d3a8a53b8ec39bc31b97d2d215ebfde3 WHIRLPOOL e966f26a2b47634aea1db1c7d5b6da6eef5714e92b51aa924a188ecfa6acda5750c585f07d6cc3a53ed680937bd97fa472470b062ac6393a5e077780823423e1
DIST pygtk-2.24.0.tar.bz2 2361097 SHA256 cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912 SHA512 64f4344fcf7636e0b2016ffd5310250b5c02a1bf87e44aef39b5d4cf4a5fc50d27cb4f030d4c6802cff61fffb88dee7752821e3d8a4cd1c34dc3745d9ff2f0da WHIRLPOOL 6a5acd3fdd63ded08882ec2a8a3beaeb6bea55672a52841f2b41af5feeb20cfd68941c9322a27861b23fd0244173036815d5f122f7edcf3be14dffaa77b10575
EBUILD pygtk-2.24.0-r3.ebuild 2497 SHA256 8a85d9ae33b0b30e200cf12906488ec596293972eecb03f9e6cc477331550cba SHA512 1da6e8f87155163dc4b682f394064ff8961b18f737d0aa251127ebd47c753c8cf8fd759db6b84b1bbce2b7d8d9128bbcff1755f141fe505e0ed0fc16f48907e5 WHIRLPOOL 6353fbfeacfb0ebfaf7aa70c551049b912856829fd524d7d3ecd75a85a0556a43801988667242c473150b1ef685b81542a92e9f8e6c00c783ddd3084c6ce8385
-MISC ChangeLog 37136 SHA256 8d6e73f933dcfc7413ebb1cc1910dfeacce6cba07cb370415c84352e661b57a1 SHA512 3dc3b6d84dfc9842036008a58a4922888cb424469654cef0f1cfe3668ef206ce29eb905b7d164262422ac05bcf9952a75738f442fdf0f6524df4ee20c4683276 WHIRLPOOL 6ab5161d5afb6d67af4c4c96dda9c5fcc07aab665dd2d0b2fe570972feb068969c9a64ed72d682ad702ffccc13510ecde6e029c928a5526db18c9745fda40770
+EBUILD pygtk-2.24.0-r4.ebuild 2591 SHA256 d79924d5b05853339852631e90d9a8e8929b9893be48ca0b4be58b6ceefc0026 SHA512 e169288ba738e2c046a0317c5ac2b24908c90adea1aeac0550123ebdc9c1e540bc4bab162d0e38f901595ec5744224f0176355b5c16300da6e9cd151f30e9d7f WHIRLPOOL 881b11f4ef763897b5602ebcdee4e425b7b849d45181236ce8fec73e1446b6497cd8ddba7d00b61b2e7e1d6cc35419f2372a9c808586cfe3f413a45bab584572
+MISC ChangeLog 37383 SHA256 ba75c7e00115e57badbfd21db49f55a572b3de67945fbf386d61f7be616d4220 SHA512 09c12cd871031206c66679e1c86c498d916df8e3b67104558772d6d4db38c196b0c0115df9358587dd781fbd48432eb03d9a78b68026d4ed73f570c3ab5b6a29 WHIRLPOOL 09878721a497586ff9f483f0bfea6f9fa3383e6eb61d36ca86fc10f4d27f1980bf077fe487776b7e42f50d86ecb628698478cf451c69fbaafa53551aaa6751cd
MISC metadata.xml 934 SHA256 6a0af6b71bbaca6634e59f933775fbf76053472b54ff3989bf26a065a4c9c426 SHA512 e310bf033ef6740ee815f3fdebc56ff52f83dd8880e3c70f2ef0627df8dcd10b6c51552fb0595a42760fbff22649b04decdad45e2fa24e71bbe9484183bfcd51 WHIRLPOOL f4592b2976ffdf70f5e984589bd1dc1f41362f780011258715c6ce9e511611107e2998efc98d32c9a91952d87a52a7a7840f2004249f345b3b2124d07bf470d9
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
+Version: GnuPG v2.0.20 (GNU/Linux)
-iQEcBAEBCAAGBQJRg8j0AAoJEEdUh39IaPFNhqgIAI+MOyqsOgwe0mT7DGks7S3/
-PotBRLc599t6THKT55dsxQCKJnCpNxcvOIU+RauGlA44PT88CHcabINh1FR1acQs
-E++1BN3yd1ltiTOszpjNh0z0ZejJ/T4Rv+i7GankGnwnZwaFC0amqH8KpmzxtgS4
-iHQa3aUJ4+3GRqxeBWcf82hSRsR7SeIOwb88APW2tpuQAj/TmHPvY3KKnepqSD+Z
-/Ypj8cgJX3Zr1Do6E/Yjvjp+b5TC43NWS5I3ZmJXCSPzaWtesyNawgbgB3DlAWdJ
-Jyop65y2rNDM8+Sv8dfvn9vBsjM5eTImKP/Mpkw/yE8OwIXBRUJ/Lp4JHLwgwCk=
-=j7a2
+iEYEAREIAAYFAlJH/zUACgkQCaWpQKGI+9RtTQCfaLpIfpet13TeL2/qVPMxAb0Z
+Vp0An35vnj8PGIhgE1g1Z9LBKITVxVhS
+=OA+K
-----END PGP SIGNATURE-----
diff --git a/dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch b/dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch
new file mode 100644
index 000000000000..9106d43c4192
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch
@@ -0,0 +1,58 @@
+From eca72baa5616fbe4dbebea43c7e5940847dc5ab8 Mon Sep 17 00:00:00 2001
+From: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Tue, 27 Sep 2011 04:17:52 +0000
+Subject: Fix leaks of Pango objects
+
+Gtk.PrintContext.create_pango_context()
+Gtk.PrintContext.create_pango_layout()
+pangocairo.CairoContext.create_layout()
+
+were leaking the objects they returned.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=660216
+---
+diff --git a/gtk/gtk-2.10.defs b/gtk/gtk-2.10.defs
+index 69c7e0c..faa45e1 100644
+--- a/gtk/gtk-2.10.defs
++++ b/gtk/gtk-2.10.defs
+@@ -1388,12 +1388,14 @@
+ (define-method create_pango_context
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_context")
++ (caller-owns-return #t)
+ (return-type "PangoContext*")
+ )
+
+ (define-method create_pango_layout
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_layout")
++ (caller-owns-return #t)
+ (return-type "PangoLayout*")
+ )
+
+diff --git a/pangocairo.override b/pangocairo.override
+index bb923e6..5101107 100644
+--- a/pangocairo.override
++++ b/pangocairo.override
+@@ -118,11 +118,16 @@ _wrap_pango_cairo_update_context(PyGObject *self, PyObject *args, PyObject *kwar
+ static PyObject *
+ _wrap_pango_cairo_create_layout(PyGObject *self)
+ {
+- PangoLayout *ret;
++ PangoLayout *layout;
++ PyObject *ret;
+
+- ret = pango_cairo_create_layout(PycairoContext_GET(self));
++ layout = pango_cairo_create_layout(PycairoContext_GET(self));
+ /* pygobject_new handles NULL checking */
+- return pygobject_new((GObject *)ret);
++ ret = pygobject_new((GObject *)layout);
++ if (layout)
++ g_object_unref(layout);
++
++ return ret;
+ }
+
+ static PyObject *
+--
+cgit v0.9.2
diff --git a/dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch b/dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch
new file mode 100644
index 000000000000..5bb1aec13d89
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch
@@ -0,0 +1,9 @@
+--- tests/runtests.py
++++ tests/runtests.py
+@@ -41,4 +41,5 @@
+ suite.addTest(loader.loadTestsFromName(name))
+
+ testRunner = unittest.TextTestRunner()
+-testRunner.run(suite)
++result = testRunner.run(suite)
++sys.exit(not result.wasSuccessful())
diff --git a/dev-python/pygtk/pygtk-2.24.0-r4.ebuild b/dev-python/pygtk/pygtk-2.24.0-r4.ebuild
new file mode 100644
index 000000000000..e20315193047
--- /dev/null
+++ b/dev-python/pygtk/pygtk-2.24.0-r4.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pygtk/pygtk-2.24.0-r4.ebuild,v 1.1 2013/09/29 10:21:40 pacho Exp $
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME_TARBALL_SUFFIX="bz2"
+PYTHON_COMPAT=( python2_{6,7} )
+
+inherit autotools eutils flag-o-matic gnome2 python-r1 virtualx
+
+DESCRIPTION="GTK+2 bindings for Python"
+HOMEPAGE="http://www.pygtk.org/"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=dev-libs/glib-2.8:2
+ >=x11-libs/pango-1.16
+ >=dev-libs/atk-1.12
+ >=x11-libs/gtk+-2.24:2
+ >=dev-python/pycairo-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-2.26.8-r53:2[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=gnome-base/libglade-2.5:2.0
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ dev-libs/libxslt
+ >=app-text/docbook-xsl-stylesheets-1.70.1 )
+"
+
+src_prepare() {
+ # Fix declaration of codegen in .pc
+ epatch "${FILESDIR}/${PN}-2.13.0-fix-codegen-location.patch"
+ epatch "${FILESDIR}/${PN}-2.14.1-libdir-pc.patch"
+
+ # Fix leaks of Pango objects
+ epatch "${FILESDIR}/${PN}-2.24.0-fix-leaks.patch"
+
+ # Fail when tests are failing, bug #391307
+ epatch "${FILESDIR}/${PN}-2.24.0-test-fail.patch"
+
+ # Examples is handled "manually"
+ sed -e 's/\(SUBDIRS = .* \)examples/\1/' \
+ -i Makefile.am Makefile.in || die
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466968
+
+ AT_M4DIR="m4" eautoreconf
+
+ prepare_pygtk() {
+ mkdir -p "${BUILD_DIR}" || die
+ }
+ python_foreach_impl prepare_pygtk
+}
+
+src_configure() {
+ use hppa && append-flags -ffunction-sections
+ configure_pygtk() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(use_enable doc docs) \
+ --with-glade \
+ --enable-thread
+ }
+ python_foreach_impl run_in_build_dir configure_pygtk
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ # Let tests pass without permissions problems, bug #245103
+ gnome2_environment_reset
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ testing() {
+ cd tests
+ Xemake check-local
+ }
+ python_foreach_impl run_in_build_dir testing
+}
+
+src_install() {
+ dodoc AUTHORS ChangeLog INSTALL MAPPING NEWS README THREADS TODO
+
+ if use examples; then
+ rm examples/Makefile*
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+
+ python_foreach_impl run_in_build_dir gnome2_src_install
+ prune_libtool_files --modules
+}