diff options
author | Ryan Hill <dirtyepic@gentoo.org> | 2009-08-06 04:56:07 +0000 |
---|---|---|
committer | Ryan Hill <dirtyepic@gentoo.org> | 2009-08-06 04:56:07 +0000 |
commit | 0268c7f135f56568f54e6c3b7eafe44ec4ebe82c (patch) | |
tree | e25be70be31b251de195f37cfa7ddd493eb73680 /x11-libs/wxGTK | |
parent | respecting CC variable, CFLAGS, LDFLAGS, omiting -Werror, fixing links, bugs ... (diff) | |
download | gentoo-2-0268c7f135f56568f54e6c3b7eafe44ec4ebe82c.tar.gz gentoo-2-0268c7f135f56568f54e6c3b7eafe44ec4ebe82c.tar.bz2 gentoo-2-0268c7f135f56568f54e6c3b7eafe44ec4ebe82c.zip |
Add patch from upstream to fix symbol conflict with GSocket struct from
developmental glib currently in gnome-overlay. Bug #278778.
(Portage version: 2.2_rc35/cvs/Linux x86_64)
Diffstat (limited to 'x11-libs/wxGTK')
-rw-r--r-- | x11-libs/wxGTK/ChangeLog | 10 | ||||
-rw-r--r-- | x11-libs/wxGTK/files/wxGTK-2.8.10.1-gsocket.patch | 16 | ||||
-rw-r--r-- | x11-libs/wxGTK/wxGTK-2.6.4.0-r6.ebuild | 220 | ||||
-rw-r--r-- | x11-libs/wxGTK/wxGTK-2.8.10.1-r3.ebuild | 159 |
4 files changed, 404 insertions, 1 deletions
diff --git a/x11-libs/wxGTK/ChangeLog b/x11-libs/wxGTK/ChangeLog index 0525982087d1..e95dcb909c49 100644 --- a/x11-libs/wxGTK/ChangeLog +++ b/x11-libs/wxGTK/ChangeLog @@ -1,6 +1,14 @@ # 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.238 2009/07/29 21:43:35 maekke Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/wxGTK/ChangeLog,v 1.239 2009/08/06 04:56:07 dirtyepic Exp $ + +*wxGTK-2.8.10.1-r3 (06 Aug 2009) +*wxGTK-2.6.4.0-r6 (06 Aug 2009) + + 06 Aug 2009; Ryan Hill <dirtyepic@gentoo.org> +wxGTK-2.6.4.0-r6.ebuild, + +wxGTK-2.8.10.1-r3.ebuild, +files/wxGTK-2.8.10.1-gsocket.patch: + Add patch from upstream to fix symbol conflict with GSocket struct from + developmental glib currently in gnome-overlay. Bug #278778. 29 Jul 2009; Markus Meier <maekke@gentoo.org> wxGTK-2.6.4.0-r5.ebuild, wxGTK-2.8.10.1-r1.ebuild: diff --git a/x11-libs/wxGTK/files/wxGTK-2.8.10.1-gsocket.patch b/x11-libs/wxGTK/files/wxGTK-2.8.10.1-gsocket.patch new file mode 100644 index 000000000000..b875cb814ad6 --- /dev/null +++ b/x11-libs/wxGTK/files/wxGTK-2.8.10.1-gsocket.patch @@ -0,0 +1,16 @@ +--- wxPython-src-2.8.10.1-orig/src/gtk/gsockgtk.cpp ++++ wxPython-src-2.8.10.1/src/gtk/gsockgtk.cpp +@@ -15,8 +15,13 @@ + #include <stdlib.h> + #include <stdio.h> + ++// newer versions of glib define its own GSocket but we unfortunately use this ++// name in our own (semi-)public header and so can't change it -- rename glib ++// one instead ++#define GSocket GlibGSocket + #include <gdk/gdk.h> + #include <glib.h> ++#undef GSocket + + #include "wx/gsocket.h" + #include "wx/unix/gsockunx.h" diff --git a/x11-libs/wxGTK/wxGTK-2.6.4.0-r6.ebuild b/x11-libs/wxGTK/wxGTK-2.6.4.0-r6.ebuild new file mode 100644 index 000000000000..75cd4e24820d --- /dev/null +++ b/x11-libs/wxGTK/wxGTK-2.6.4.0-r6.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/wxGTK/wxGTK-2.6.4.0-r6.ebuild,v 1.1 2009/08/06 04:56:07 dirtyepic Exp $ + +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 +# are released more frequently than wxGTK. +SRC_URI="mirror://sourceforge/wxpython/wxPython-src-${PV}.tar.bz2 + doc? ( mirror://sourceforge/wxwindows/wxWidgets-${BASE_PV}-HTML.tar.gz )" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="X doc debug gnome odbc opengl pch sdl unicode" + +RDEPEND=" + dev-libs/expat + odbc? ( dev-db/unixODBC ) + sdl? ( media-libs/libsdl ) + X? ( + >=x11-libs/gtk+-2.0 + >=dev-libs/glib-2.0 + media-libs/jpeg + media-libs/tiff + x11-libs/libSM + x11-libs/libXinerama + x11-libs/libXxf86vm + gnome? ( gnome-base/libgnomeprintui ) + 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.6" +LICENSE="wxWinLL-3 + GPL-2 + odbc? ( LGPL-2 ) + doc? ( wxWinFDL-3 )" + +S="${WORKDIR}/wxPython-src-${PV}" +HTML_S="${WORKDIR}/wxWidgets-${BASE_PV}" + +src_unpack() { + unpack ${A} + cd "${S}" + + # General Patches + + epatch "${FILESDIR}"/${PN}-2.6.3-unicode-odbc.patch + epatch "${FILESDIR}"/${BASE_P}-collision.patch + epatch "${FILESDIR}"/${BASE_P}-mmedia.patch # Bug #174874 + + # Patches Specific to this version + + epatch "${FILESDIR}"/${P}-wxrc_link_fix.patch + epatch "${FILESDIR}"/${P}-g_free.patch + epatch "${FILESDIR}"/${PN}-2.8.10.1-CVE-2009-2369.patch + epatch "${FILESDIR}"/${PN}-2.8.10.1-gsocket.patch + + # Reverse apply patch in wxPython tarball that breaks ABI + EPATCH_SINGLE_MSG="Reversing listctrl-ongetitemcolumnimage.patch ..." \ + EPATCH_OPTS="-R" epatch "${S}"/patches/listctrl-ongetitemcolumnimage.patch + + # wxBase has an automagic sdl dependency. short circuit it here. + # http://bugs.gentoo.org/show_bug.cgi?id=91574 + use sdl || sed -i -e 's:$wxUSE_LIBSDL" != "no":$wxUSE_LIBSDL" = "yes":' configure +} + +src_compile() { + local myconf + + append-flags -fno-strict-aliasing + + # X independent options + myconf="--enable-shared + --enable-compat24 + --with-regex=builtin + --with-zlib=sys + --with-expat + $(use_enable pch precomp-headers) + $(use_with sdl) + $(use_with odbc)" + + # wxGTK only + use X && \ + myconf="${myconf} + --enable-gui + --with-libpng + --with-libxpm + --with-libjpeg + --with-libtiff + $(use_enable opengl) + $(use_with opengl) + $(use_with gnome gnomeprint)" + + # wxBase only + use X || \ + myconf="${myconf} + --disable-gui" + + # in 2.6 we always build ansi + # everything else is controlled by USE + if ! use debug; then + build_wx ansi + else + build_wx ansi-debug + fi + + if use unicode; then + if ! use debug; then + build_wx unicode + else + build_wx unicode-debug + fi + fi +} + +src_install() { + # Note - the last version to be installed becomes the default, so install + # ansi after unicode + install_wx unicode + install_wx unicode-debug + install_wx ansi + install_wx ansi-debug + + dodoc "${S}"/docs/changes.txt + dodoc "${S}"/docs/gtk/readme.txt + + if use doc; then + dohtml -r "${HTML_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 +} + +build_wx() { + local build_wx_conf + + case "$1" in + ansi) + build_wx_conf="${build_wx_conf} + --disable-unicode" + ;; + + ansi-debug) + build_wx_conf="${build_wx_conf} + --disable-unicode + --enable-debug_flag" + ;; + + unicode) + build_wx_conf="${build_wx_conf} + --enable-unicode" + ;; + + unicode-debug) + build_wx_conf="${build_wx_conf} + --enable-unicode + --enable-debug_flag" + ;; + + *) + eerror "wxlib.class: build_wx called with invalid argument(s)." + die "wxlib.class: build_wx called with invalid argument(s)." + ;; + esac + + mkdir -p build_$1 + pushd build_$1 + + ECONF_SOURCE="${S}" econf \ + ${myconf} \ + ${build_wx_conf} \ + || die "Failed to configure $1." + + emake || die "Failed to make $1." + + if [[ -e contrib/src ]]; then + cd contrib/src + emake || die "Failed to make $1 contrib." + fi + + popd +} + +install_wx() { + if [[ -d build_$1 ]]; then + pushd build_$1 + emake DESTDIR="${D}" install || die "Failed to install $1." + if [[ -e contrib/src ]]; then + cd contrib/src + emake DESTDIR="${D}" install || die "Failed to install $1 contrib." + fi + popd + fi +} diff --git a/x11-libs/wxGTK/wxGTK-2.8.10.1-r3.ebuild b/x11-libs/wxGTK/wxGTK-2.8.10.1-r3.ebuild new file mode 100644 index 000000000000..0c89ff285334 --- /dev/null +++ b/x11-libs/wxGTK/wxGTK-2.8.10.1-r3.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2009 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-r3.ebuild,v 1.1 2009/08/06 04:56:07 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 +} + +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 +} |