diff options
author | Pacho Ramos <pacho@gentoo.org> | 2011-02-03 21:43:07 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2011-02-03 21:43:07 +0000 |
commit | c3a849c616ddbf7f5c572ec18546a5b2829b349c (patch) | |
tree | 2cab3749dd6e8714603135927915b579bfa12570 /dev-python/pygtk | |
parent | Version bump. Update to EAPI 4 and add myself as maintainer. (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | dev-python/pygtk/Manifest | 14 | ||||
-rw-r--r-- | dev-python/pygtk/files/pygtk-2.22.0-wakeupfd-fix.patch | 26 | ||||
-rw-r--r-- | dev-python/pygtk/pygtk-2.22.0-r1.ebuild | 102 |
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 +} |