summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2011-02-03 21:43:07 +0000
committerPacho Ramos <pacho@gentoo.org>2011-02-03 21:43:07 +0000
commitc3a849c616ddbf7f5c572ec18546a5b2829b349c (patch)
tree2cab3749dd6e8714603135927915b579bfa12570 /dev-python/pygtk
parentVersion bump. Update to EAPI 4 and add myself as maintainer. (diff)
downloadhistorical-c3a849c616ddbf7f5c572ec18546a5b2829b349c.tar.gz
historical-c3a849c616ddbf7f5c572ec18546a5b2829b349c.tar.bz2
historical-c3a849c616ddbf7f5c572ec18546a5b2829b349c.zip
Fix 100% CPU load when apps receive SIGCHLD, bug #353599 by Antoine Martin.
Package-Manager: portage-2.1.9.35/cvs/Linux x86_64
Diffstat (limited to 'dev-python/pygtk')
-rw-r--r--dev-python/pygtk/ChangeLog8
-rw-r--r--dev-python/pygtk/Manifest14
-rw-r--r--dev-python/pygtk/files/pygtk-2.22.0-wakeupfd-fix.patch26
-rw-r--r--dev-python/pygtk/pygtk-2.22.0-r1.ebuild102
4 files changed, 148 insertions, 2 deletions
diff --git a/dev-python/pygtk/ChangeLog b/dev-python/pygtk/ChangeLog
index aae8e92a5675..3e1a22eb76ee 100644
--- a/dev-python/pygtk/ChangeLog
+++ b/dev-python/pygtk/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-python/pygtk
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pygtk/ChangeLog,v 1.245 2011/01/19 20:12:48 eva Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pygtk/ChangeLog,v 1.246 2011/02/03 21:43:07 pacho Exp $
+
+*pygtk-2.22.0-r1 (03 Feb 2011)
+
+ 03 Feb 2011; Pacho Ramos <pacho@gentoo.org> +pygtk-2.22.0-r1.ebuild,
+ +files/pygtk-2.22.0-wakeupfd-fix.patch:
+ Fix 100% CPU load when apps receive SIGCHLD, bug #353599 by Antoine Martin.
19 Jan 2011; Gilles Dartiguelongue <eva@gentoo.org> pygtk-2.17.0.ebuild,
pygtk-2.22.0.ebuild, +files/pygtk-2.22.0-disable-broken-tests.patch:
diff --git a/dev-python/pygtk/Manifest b/dev-python/pygtk/Manifest
index 110a60f6659a..08a33b7ab934 100644
--- a/dev-python/pygtk/Manifest
+++ b/dev-python/pygtk/Manifest
@@ -1,8 +1,20 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX pygtk-2.13.0-fix-codegen-location.patch 507 RMD160 30b49791ac11da80efae1ef0f3c7ccbb72fc82f9 SHA1 dc7d975fe4ebd95afba79cac6276c73f55a9961b SHA256 f446a7b3e3ac76a9ab594738b1fbf9105c1ca17e8053b1a8712a966e9cfe54d0
AUX pygtk-2.22.0-disable-broken-tests.patch 1981 RMD160 79857fd2c32e818096eb13f64b67c6860d58d04c SHA1 013b874f4aed3fd5cf923145c08dd4bb1bed8b7a SHA256 9423ad98dd62aa11ef392c969676c99efc6b94609c06b8d32b0e96bef6d442ba
+AUX pygtk-2.22.0-wakeupfd-fix.patch 891 RMD160 31335487eee841295bd4e5cf8741ed42a168a216 SHA1 2f4be3b01fe9a2065c19aa08f5e3086c5c6aceb6 SHA256 97453082977367e710af789f7119819e376630aa1fd40f521d7bff95bc9b9958
DIST pygtk-2.17.0.tar.bz2 2260394 RMD160 8b60dc6d15d69c1195ed4512fb6974a5df5e9e66 SHA1 04d5e3b19116578c13a36d9f4ee3c7c18f3a7013 SHA256 6a61817a2e765c6209c72ecdf44389ec134c1ebed1d842408bf001c9321f1400
DIST pygtk-2.22.0.tar.bz2 2285379 RMD160 98fb89d32f36c97cc51bf4eb1aa38699bf010c8e SHA1 6a180d0c9ed19179662f51decb150b2c98cc9362 SHA256 4acf0ef2bde8574913c40ee4a43d9c4f43bb77b577b67147271b534501a54cc8
EBUILD pygtk-2.17.0.ebuild 2440 RMD160 6a86a99a1824add398b3dcff69775548a5603f52 SHA1 d43b1e1ed9977517a01cdfc470b81817434f53e0 SHA256 8e70dd88a7b7b72982fee47d036af1dceeb5e010705702f398a5c237e3538c93
+EBUILD pygtk-2.22.0-r1.ebuild 2702 RMD160 452dfb3f894fcbbb2d9e2d13e7247f997d7a3887 SHA1 a11a3bceb7bfcc14e641e7b5417037ce3423d666 SHA256 0566c51c129729c6314a3f5e9ad406fa088328c79122c59c2cd800ab94ab443e
EBUILD pygtk-2.22.0.ebuild 2582 RMD160 0949e3283c08224116660652d249b8295339b81a SHA1 86cf4ae12dc0774ba72b38032767a144e5059a22 SHA256 e6d2d6231b0677973bdd06c15f832245280dcf6b6de0e361d8cd629f8e2305f1
-MISC ChangeLog 31058 RMD160 4f1059fd3bb69c535d808f778aace1f8ed5267fb SHA1 f34f746156bc42aea47b43d3881e7a53b4df5194 SHA256 6493233b34f4f5698c21d295fa5c5c82c79f98c445fdf0b74c65f3a8edeaa757
+MISC ChangeLog 31284 RMD160 7afb45d1b89a6c1e23b1722fa754f1c8afbd9f5a SHA1 69884c60976561d50a728be1fd81a9a756d216ea SHA256 e258e55b0cba94dc3d54b0eebbf368df3b6a87b28316876c54d4f7763a4b6117
MISC metadata.xml 934 RMD160 5160cf3a201fe5209f575b0633ba8dd40d7b5ed5 SHA1 e62fb7156a43df5b3380a77f9ad7616130075f7d SHA256 6a0af6b71bbaca6634e59f933775fbf76053472b54ff3989bf26a065a4c9c426
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.16 (GNU/Linux)
+
+iEYEARECAAYFAk1LIXEACgkQCaWpQKGI+9RijgCfVwxhNBvTu1YaqBhkoZcYVPWG
+ZT8AnR3nGPdJArbCA+OgpkjhQbp2m8ic
+=mxl+
+-----END PGP SIGNATURE-----
diff --git a/dev-python/pygtk/files/pygtk-2.22.0-wakeupfd-fix.patch b/dev-python/pygtk/files/pygtk-2.22.0-wakeupfd-fix.patch
new file mode 100644
index 000000000000..3e5cd4553185
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.22.0-wakeupfd-fix.patch
@@ -0,0 +1,26 @@
+From 4cbd3c031289775f365c247f949d91facac4ba82 Mon Sep 17 00:00:00 2001
+From: Dieter Verfaillie <dieterv@optionexplicit.be>
+Date: Thu, 03 Feb 2011 12:44:10 +0000
+Subject: Fix pygtk_main_watch_check, copied from pygobject/glib/pygmainloop.c:pyg_signal_watch_check.
+
+Fixes bug 640738 and 638780.
+---
+diff --git a/gtk/gtk.override b/gtk/gtk.override
+index 75018f4..94309a6 100644
+--- a/gtk/gtk.override
++++ b/gtk/gtk.override
+@@ -1151,9 +1151,10 @@ pygtk_main_watch_check(GSource *source)
+ #ifdef HAVE_PYSIGNAL_SETWAKEUPFD
+ PySignalWatchSource *real_source = (PySignalWatchSource *)source;
+ GPollFD *poll_fd = &real_source->fd;
+- int data_size = 0;
++ unsigned char dummy;
++ gssize ret;
+ if (poll_fd->revents & G_IO_IN)
+- data_size = read(poll_fd->fd, 0, 1);
++ ret = read(poll_fd->fd, &dummy, 1);
+ #endif
+
+ state = pyg_gil_state_ensure();
+--
+cgit v0.8.3.1
diff --git a/dev-python/pygtk/pygtk-2.22.0-r1.ebuild b/dev-python/pygtk/pygtk-2.22.0-r1.ebuild
new file mode 100644
index 000000000000..d57e646af761
--- /dev/null
+++ b/dev-python/pygtk/pygtk-2.22.0-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pygtk/pygtk-2.22.0-r1.ebuild,v 1.1 2011/02/03 21:43:07 pacho Exp $
+
+EAPI="3"
+GCONF_DEBUG="no"
+PYTHON_DEPEND="2:2.5"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.4 3.* *-jython"
+PYTHON_EXPORT_PHASE_FUNCTIONS="1"
+
+inherit alternatives autotools eutils flag-o-matic gnome.org python 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 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples"
+
+RDEPEND=">=dev-libs/glib-2.8:2
+ >=x11-libs/pango-1.16
+ >=dev-libs/atk-1.12
+ >=x11-libs/gtk+-2.22:2
+ >=gnome-base/libglade-2.5
+ >=dev-python/pycairo-1.0.2
+ >=dev-python/pygobject-2.21.3:2
+ dev-python/numpy"
+
+DEPEND="${RDEPEND}
+ doc? (
+ dev-libs/libxslt
+ >=app-text/docbook-xsl-stylesheets-1.70.1 )
+ >=dev-util/pkgconfig-0.9"
+
+src_prepare() {
+ # Fix declaration of codegen in .pc
+ epatch "${FILESDIR}/${PN}-2.13.0-fix-codegen-location.patch"
+
+ # Broken test, upstream bug #636589
+ epatch "${FILESDIR}/${PN}-2.22.0-disable-broken-tests.patch"
+
+ # Fix 100% CPU load when apps receive SIGCHLD, bug #353599
+ epatch "${FILESDIR}/${PN}-2.22.0-wakeupfd-fix.patch"
+
+ # Disable pyc compiling
+ mv "${S}"/py-compile "${S}"/py-compile.orig
+ ln -s $(type -P true) "${S}"/py-compile
+
+ AT_M4DIR="m4" eautoreconf
+
+ python_copy_sources
+}
+
+src_configure() {
+ use hppa && append-flags -ffunction-sections
+ python_src_configure $(use_enable doc docs) --enable-thread
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ testing() {
+ cd tests
+ export XDG_CONFIG_HOME="${T}/$(PYTHON --ABI)"
+ Xemake check-local
+ }
+ python_execute_function -s testing
+}
+
+src_install() {
+ python_src_install
+ python_clean_installation_image
+ dodoc AUTHORS ChangeLog INSTALL MAPPING NEWS README THREADS TODO || die
+
+ if use examples; then
+ rm examples/Makefile*
+ insinto /usr/share/doc/${PF}
+ doins -r examples || die
+ fi
+}
+
+pkg_postinst() {
+ python_mod_optimize gtk-2.0
+
+ create_symlinks() {
+ alternatives_auto_makesym $(python_get_sitedir)/pygtk.py pygtk.py-[0-9].[0-9]
+ alternatives_auto_makesym $(python_get_sitedir)/pygtk.pth pygtk.pth-[0-9].[0-9]
+ }
+ python_execute_function create_symlinks
+}
+
+pkg_postrm() {
+ python_mod_cleanup gtk-2.0
+
+ create_symlinks() {
+ alternatives_auto_makesym $(python_get_sitedir)/pygtk.py pygtk.py-[0-9].[0-9]
+ alternatives_auto_makesym $(python_get_sitedir)/pygtk.pth pygtk.pth-[0-9].[0-9]
+ }
+ python_execute_function create_symlinks
+}