diff options
author | Ryan Hill <rhill@gentoo.org> | 2010-01-19 01:19:36 +0000 |
---|---|---|
committer | Ryan Hill <rhill@gentoo.org> | 2010-01-19 01:19:36 +0000 |
commit | b21a4b3096b184dc2ddfd19c9b6926e44ce70247 (patch) | |
tree | 56f44ad20c49419fcd253f9c7ff709bab3b35e03 /x11-libs/wxGTK | |
parent | Stable for HPPA too. (diff) | |
download | historical-b21a4b3096b184dc2ddfd19c9b6926e44ce70247.tar.gz historical-b21a4b3096b184dc2ddfd19c9b6926e44ce70247.tar.bz2 historical-b21a4b3096b184dc2ddfd19c9b6926e44ce70247.zip |
Added upstream patch to prevent leaking timer handles in idle apps. (Bug
#301143 by Richard Ash)
Package-Manager: portage-2.2_rc61/cvs/Linux x86_64
Diffstat (limited to 'x11-libs/wxGTK')
-rw-r--r-- | x11-libs/wxGTK/ChangeLog | 11 | ||||
-rw-r--r-- | x11-libs/wxGTK/Manifest | 10 | ||||
-rw-r--r-- | x11-libs/wxGTK/files/wxGTK-2.8.10.1-wxTimer-unbounded-hook.patch | 42 | ||||
-rw-r--r-- | x11-libs/wxGTK/wxGTK-2.8.10.1-r4.ebuild | 160 |
4 files changed, 217 insertions, 6 deletions
diff --git a/x11-libs/wxGTK/ChangeLog b/x11-libs/wxGTK/ChangeLog index 8fa4cbb4ba50..8bdf73c2ec75 100644 --- a/x11-libs/wxGTK/ChangeLog +++ b/x11-libs/wxGTK/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for x11-libs/wxGTK -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/wxGTK/ChangeLog,v 1.241 2009/09/15 01:08:27 dirtyepic Exp $ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/wxGTK/ChangeLog,v 1.242 2010/01/19 01:19:35 dirtyepic Exp $ + +*wxGTK-2.8.10.1-r4 (19 Jan 2010) + + 19 Jan 2010; Ryan Hill <dirtyepic@gentoo.org> +wxGTK-2.8.10.1-r4.ebuild, + +files/wxGTK-2.8.10.1-wxTimer-unbounded-hook.patch: + Added upstream patch to prevent leaking timer handles in idle apps. (Bug + #301143 by Richard Ash) 15 Sep 2009; Ryan Hill <dirtyepic@gentoo.org> -wxGTK-2.6.4.0-r4.ebuild, -wxGTK-2.8.9.1-r3.ebuild, -wxGTK-2.8.9.2-r1.ebuild, diff --git a/x11-libs/wxGTK/Manifest b/x11-libs/wxGTK/Manifest index dcb6a1358248..f2f22c55c6d3 100644 --- a/x11-libs/wxGTK/Manifest +++ b/x11-libs/wxGTK/Manifest @@ -9,6 +9,7 @@ AUX wxGTK-2.6.4.0-wxrc_link_fix.patch 1085 RMD160 2af7918740d4826822af82a50b63ea AUX wxGTK-2.8.10-collision.patch 6255 RMD160 ad41118f5a001741a5cc331cf7007bd702182b28 SHA1 0803811fb1cdeeec80a492fcc0a4b171d2986321 SHA256 d68c60125076dceaf96bfdb03821142209b6d5c79a6dec41cffda0feace5ce01 AUX wxGTK-2.8.10.1-CVE-2009-2369.patch 2348 RMD160 0b0c37a21bd68a99d837592c7745bb9d4f783ebb SHA1 36e74d5384e912f6bf1890c582d872b805e5bbfb SHA256 6a7427a621bc33b65928aee09261be28bfb4b85568554ae5c9c1fc147aea2e9e AUX wxGTK-2.8.10.1-gsocket.patch 480 RMD160 8aa2654dfe926980388235a91d78aa73fc8471d1 SHA1 885442567f2f80f78f9ed4f0ac2483c6fc932efe SHA256 a2955800a8ece8d3e328d0a287bd73d021cf7e14898432b1771e708a1f960fac +AUX wxGTK-2.8.10.1-wxTimer-unbounded-hook.patch 1620 RMD160 5263552010efd258e94251f215d26ed0b2cedd38 SHA1 a18887d73b8c04a865f10521f5197ed217ec6c6d SHA256 28574bdcdddf6223038727d2bb0637611d3e39bb6613ed8353634e7d2621658f AUX wxGTK-2.8.6-wxrc_link_fix.patch 989 RMD160 baf0009e0ecfe68b25df80e6b0956ef08f9e8bfd SHA1 dc8d7474647b5d8d0b9bc7c9bdf77899351808c1 SHA256 4eac080fe34870398309623cb363573b2d0242eb1dd24534efde4e7237c05fd0 AUX wxGTK-2.8.7-mmedia.patch 585 RMD160 d71b0a7211e42a58109e4f7859a87be2f23c4e19 SHA1 2c453b6a70de916ffc9e61518937fc6f487bd9bb SHA256 943203ed2ccfe52d4ea701bc15a15e9f65aff7e6e5a86145f9a593619e091f85 AUX wxGTK-2.8.8-collision.patch 6072 RMD160 28101d936ed94190fa9a38c707f804c113a3e413 SHA1 66a7d717c5f3dc78fc3f0b451de178423b255399 SHA256 21949c67d2977a5bb59e22e73fcbeb8631462ec38fc864d4975309b3f24d69a0 @@ -21,12 +22,13 @@ EBUILD wxGTK-2.6.4.0-r5.ebuild 4765 RMD160 f7f7e49e22003fe00a280ec12def28349ed3e EBUILD wxGTK-2.6.4.0-r6.ebuild 4829 RMD160 4bc062f5daa70dcdd1ff731975cb1a0307471886 SHA1 cd57a191ccbb8fea9aa578c184e0609355a798e1 SHA256 d6f3674d9ec3c869aae0304ef13d2d0d26418d62fbd75382143c74026991ae81 EBUILD wxGTK-2.8.10.1-r1.ebuild 3588 RMD160 08c246b8c2651bf26a3250b9e8c4b8fbb6e94818 SHA1 697540aea5ab9815ebab8abd1e9291a478e58e32 SHA256 39d95da1522cc0926c5ba1f129e1f1f4803a98bce41780bcb68ada92afd216fc EBUILD wxGTK-2.8.10.1-r3.ebuild 3664 RMD160 024ea2169e17b5aa8e5acb09db2767adcb1d3711 SHA1 a41444b2fa37bb1f30b74ecd0d8a0b5665861d53 SHA256 f2ac421a3b12f25d87de92f110ee835987cada63898fac69980f180ad2bca9d9 -MISC ChangeLog 37563 RMD160 df60f8eb5b54671fa62e8ad9eaa73b54402904fc SHA1 3e8626493807641adf17bd9a74f856a08750d1f9 SHA256 927503eb787d99eae89faaad532a33fb85493d7ab9cc5500aefa6b53c035e322 +EBUILD wxGTK-2.8.10.1-r4.ebuild 3738 RMD160 26e8774b7090618bac57873bcd9129c7a2738e36 SHA1 4569af71da14be6f0b711784e281df711df04288 SHA256 c624a0419b8bc3753a823502f2038c4a5968244767f5575c79172c945562b593 +MISC ChangeLog 37828 RMD160 c33dc4af9256e2546480079487392ed5b2c65ddf SHA1 5dd0d0f05771ce0b463fd142277c2e5db3c049f2 SHA256 a00c0d25050fbcf90405e4c5154cc24ec453be36dd80487f78f97d68f692d19c MISC metadata.xml 500 RMD160 d0f05c0d915928bc4c424ca00f20621805ddc7f0 SHA1 3ba77d570e4764cf377b3e63078b21f69232a1fc SHA256 2592b31d76fd0a79aa634bcbc9697d7ee8420b89cbead01a8db562a4d66be98c -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) -iEYEARECAAYFAkqu6UUACgkQiqiDRvmkBmIzXgCePjZVvQjJv+yG1GYZyZ/BUpfH -eOgAoOE5hgxqhNzRVD7EZ4DfFWLR2QVw -=h37G +iEYEARECAAYFAktVCSwACgkQiqiDRvmkBmL1NQCgtU1UUJSUi/OLlW2KNUmTWFN4 +9qsAoPDe0nPKUgzx1K9vRvVOyYY7a+5K +=iDFX -----END PGP SIGNATURE----- diff --git a/x11-libs/wxGTK/files/wxGTK-2.8.10.1-wxTimer-unbounded-hook.patch b/x11-libs/wxGTK/files/wxGTK-2.8.10.1-wxTimer-unbounded-hook.patch new file mode 100644 index 000000000000..ab9e48419e4f --- /dev/null +++ b/x11-libs/wxGTK/files/wxGTK-2.8.10.1-wxTimer-unbounded-hook.patch @@ -0,0 +1,42 @@ +https://bugs.gentoo.org/301143 +http://trac.wxwidgets.org/ticket/11315 + +diff --git a/src/gtk/app.cpp b/src/gtk/app.cpp +index c203f08..3ccf82f 100644 +--- a/src/gtk/app.cpp ++++ b/src/gtk/app.cpp +@@ -149,9 +149,11 @@ extern "C" + // One-shot emission hook for "event" signal, to install idle handler. + // This will be called when the "event" signal is issued on any GtkWidget object. + static gboolean +-event_emission_hook(GSignalInvocationHint*, guint, const GValue*, gpointer) ++event_emission_hook(GSignalInvocationHint*, guint, const GValue*, gpointer data) + { + wxapp_install_idle_handler(); ++ bool* hook_installed = (bool*)data; ++ *hook_installed = false; + // remove hook + return false; + } +@@ -159,12 +161,17 @@ event_emission_hook(GSignalInvocationHint*, guint, const GValue*, gpointer) + // add emission hook for "event" signal, to re-install idle handler when needed + static inline void wxAddEmissionHook() + { ++ static bool hook_installed; + GType widgetType = GTK_TYPE_WIDGET; +- // if GtkWidget type is loaded +- if (g_type_class_peek(widgetType) != NULL) ++ // if hook not installed and GtkWidget type is loaded ++ if (!hook_installed && g_type_class_peek(widgetType)) + { +- guint sig_id = g_signal_lookup("event", widgetType); +- g_signal_add_emission_hook(sig_id, 0, event_emission_hook, NULL, NULL); ++ static guint sig_id; ++ if (sig_id == 0) ++ sig_id = g_signal_lookup("event", widgetType); ++ hook_installed = true; ++ g_signal_add_emission_hook( ++ sig_id, 0, event_emission_hook, &hook_installed, NULL); + } + } + diff --git a/x11-libs/wxGTK/wxGTK-2.8.10.1-r4.ebuild b/x11-libs/wxGTK/wxGTK-2.8.10.1-r4.ebuild new file mode 100644 index 000000000000..c1bb2b899077 --- /dev/null +++ b/x11-libs/wxGTK/wxGTK-2.8.10.1-r4.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/wxGTK/wxGTK-2.8.10.1-r4.ebuild,v 1.1 2010/01/19 01:19:35 dirtyepic Exp $ + +EAPI="2" + +inherit eutils versionator flag-o-matic + +DESCRIPTION="GTK+ version of wxWidgets, a cross-platform C++ GUI toolkit." +HOMEPAGE="http://wxwidgets.org/" + +BASE_PV="$(get_version_component_range 1-3)" +BASE_P="${PN}-${BASE_PV}" + +# we use the wxPython tarballs because they include the full wxGTK sources and +# docs, and are released more frequently than wxGTK. +SRC_URI="mirror://sourceforge/wxpython/wxPython-src-${PV}.tar.bz2" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="X doc debug gnome gstreamer odbc opengl pch sdl" + +RDEPEND=" + dev-libs/expat + odbc? ( dev-db/unixODBC ) + sdl? ( media-libs/libsdl ) + X? ( + >=x11-libs/gtk+-2.4 + >=dev-libs/glib-2.4 + media-libs/jpeg + media-libs/tiff + x11-libs/libSM + x11-libs/libXinerama + x11-libs/libXxf86vm + gnome? ( gnome-base/libgnomeprintui ) + gstreamer? ( + >=gnome-base/gconf-2.0 + >=media-libs/gstreamer-0.10 ) + opengl? ( virtual/opengl ) + )" + +DEPEND="${RDEPEND} + dev-util/pkgconfig + X? ( + x11-proto/xproto + x11-proto/xineramaproto + x11-proto/xf86vidmodeproto + )" + +PDEPEND=">=app-admin/eselect-wxwidgets-0.7" + +SLOT="2.8" +LICENSE="wxWinLL-3 + GPL-2 + odbc? ( LGPL-2 ) + doc? ( wxWinFDL-3 )" + +S="${WORKDIR}/wxPython-src-${PV}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.6.3-unicode-odbc.patch + epatch "${FILESDIR}"/${PN}-2.8.10-collision.patch + epatch "${FILESDIR}"/${PN}-2.8.7-mmedia.patch # Bug #174874 + # this version only: + epatch "${FILESDIR}"/${P}-CVE-2009-2369.patch # Bug #277722 + epatch "${FILESDIR}"/${P}-gsocket.patch # Bug #278778 + epatch "${FILESDIR}"/${P}-wxTimer-unbounded-hook.patch # Bug #301143 +} + +src_configure() { + local myconf + + append-flags -fno-strict-aliasing + + # X independent options + myconf="--enable-compat26 + --enable-shared + --enable-unicode + --with-regex=builtin + --with-zlib=sys + --with-expat=sys + $(use_enable debug) + $(use_enable pch precomp-headers) + $(use_with sdl)" + + use odbc \ + && myconf="${myconf} --with-odbc=sys" \ + || myconf="${myconf} $(use_with odbc)" + + # wxGTK options + # --enable-graphics_ctx - needed for webkit, editra + # --without-gnomevfs - bug #203389 + + use X && \ + myconf="${myconf} + --enable-graphics_ctx + --enable-gui + --with-libpng=sys + --with-libxpm=sys + --with-libjpeg=sys + --with-libtiff=sys + $(use_enable gstreamer mediactrl) + $(use_enable opengl) + $(use_with opengl) + $(use_with gnome gnomeprint) + --without-gnomevfs" + + # wxBase options + use X || \ + myconf="${myconf} + --disable-gui" + + mkdir "${S}"/wxgtk_build + cd "${S}"/wxgtk_build + + ECONF_SOURCE="${S}" econf ${myconf} || die "configure failed." +} + +src_compile() { + cd "${S}"/wxgtk_build + + emake || die "make failed." + + if [[ -d contrib/src ]]; then + cd contrib/src + emake || die "make contrib failed." + fi +} + +src_install() { + cd "${S}"/wxgtk_build + + emake DESTDIR="${D}" install || die "install failed." + + if [[ -d contrib/src ]]; then + cd contrib/src + emake DESTDIR="${D}" install || die "install contrib failed." + fi + + cd "${S}"/docs + dodoc changes.txt readme.txt todo30.txt + newdoc base/readme.txt base_readme.txt + newdoc gtk/readme.txt gtk_readme.txt + + if use doc; then + dohtml -r "${S}"/docs/html/* + fi + + # We don't want this + rm "${D}"usr/share/locale/it/LC_MESSAGES/wxmsw.mo +} + +pkg_postinst() { + has_version app-admin/eselect-wxwidgets \ + && eselect wxwidgets update +} + +pkg_postrm() { + has_version app-admin/eselect-wxwidgets \ + && eselect wxwidgets update +} |