summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Hill <rhill@gentoo.org>2010-01-19 01:19:36 +0000
committerRyan Hill <rhill@gentoo.org>2010-01-19 01:19:36 +0000
commitb21a4b3096b184dc2ddfd19c9b6926e44ce70247 (patch)
tree56f44ad20c49419fcd253f9c7ff709bab3b35e03 /x11-libs/wxGTK
parentStable for HPPA too. (diff)
downloadhistorical-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/ChangeLog11
-rw-r--r--x11-libs/wxGTK/Manifest10
-rw-r--r--x11-libs/wxGTK/files/wxGTK-2.8.10.1-wxTimer-unbounded-hook.patch42
-rw-r--r--x11-libs/wxGTK/wxGTK-2.8.10.1-r4.ebuild160
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
+}