summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/wxGTK/wxGTK-2.8.3.0.ebuild')
-rw-r--r--x11-libs/wxGTK/wxGTK-2.8.3.0.ebuild186
1 files changed, 186 insertions, 0 deletions
diff --git a/x11-libs/wxGTK/wxGTK-2.8.3.0.ebuild b/x11-libs/wxGTK/wxGTK-2.8.3.0.ebuild
new file mode 100644
index 0000000..c5afd02
--- /dev/null
+++ b/x11-libs/wxGTK/wxGTK-2.8.3.0.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils flag-o-matic multilib toolchain-funcs versionator
+
+HTML_PV="$(get_version_component_range 1-3)"
+
+DESCRIPTION="GTK+ version of wxWidgets, a cross-platform C++ GUI toolkit and wxbase non-gui library"
+
+SRC_URI="mirror://sourceforge/wxpython/wxPython-src-${PV}.tar.bz2
+ doc? ( mirror://sourceforge/wxwindows/wxWidgets-${HTML_PV}-HTML.tar.gz )"
+
+SLOT="2.8"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="debug doc gnome joystick odbc opengl sdl stl unicode X gif"
+LICENSE="wxWinLL-3"
+HOMEPAGE="http://www.wxwidgets.org"
+
+# Note 1: Gettext is not runtime dependency even if nls? because wxWidgets
+# has its own implementation of it
+# Note 2: PCX support is enabled if the correct libraries are detected.
+# There is no USE flag for this.
+
+RDEPEND="X? ( opengl? ( virtual/opengl )
+ >=x11-libs/gtk+-2.0
+ >=dev-libs/glib-2.0
+ media-libs/tiff
+ x11-libs/libXinerama
+ x11-libs/libXxf86vm
+ gnome? ( >=gnome-base/libgnomeprintui-2.8 ) )
+ odbc? ( dev-db/unixODBC )
+ x86? ( sdl? ( >=media-libs/libsdl-1.2 ) )
+ amd64? ( sdl? ( >=media-libs/libsdl-1.2 ) )
+ ppc? ( sdl? ( >=media-libs/libsdl-1.2 ) )"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ X? (
+ x11-proto/xproto
+ x11-proto/xineramaproto
+ x11-proto/xf86vidmodeproto
+ )"
+
+S=${WORKDIR}/wxPython-src-${PV}
+HTML_S=${WORKDIR}/wxWidgets-${HTML_PV}
+
+# Configure a build.
+# It takes three parameters;
+# $1: prefix for the build directory (used for wxGTK which has two
+# builds needed.
+# $2: "unicode" if it must be build with else ""
+# $3: all the extra parameters to pass to configure script
+configure_build() {
+ export LANG='C'
+
+ mkdir ${S}/$1_build
+ cd ${S}/$1_build
+ # odbc works with ansi only:
+ subconfigure $3 $(use_with odbc)
+ emake CXX="$(tc-getCXX)" CC="$(tc-getCC)" || die "emake failed"
+ #wxbase has no contrib:
+ if [[ -e contrib/src ]]; then
+ cd contrib/src
+ emake CXX="$(tc-getCXX)" CC="$(tc-getCC)" || die "emake contrib failed"
+ fi
+
+ if [[ "$2" == "unicode" ]] && use unicode; then
+ mkdir ${S}/$1_build_unicode
+ cd ${S}/$1_build_unicode
+ subconfigure $3 --enable-unicode
+ emake CXX="$(tc-getCXX)" CC="$(tc-getCC)" || die "Unicode emake failed"
+ if [[ -e contrib/src ]]; then
+ cd contrib/src
+ emake CXX="$(tc-getCXX)" CC="$(tc-getCC)" || die "Unicode emake contrib failed"
+ fi
+ fi
+}
+
+# This is a commodity function which calls configure script
+# with the default parameters plus extra parameters. It's used
+# as building the unicode version required redoing it.
+# It takes all the params and passes them to the script
+subconfigure() {
+ ECONF_SOURCE="${S}" \
+ econf \
+ --with-zlib \
+ $(use_enable debug) $(use_enable debug debug_gdb) \
+ $* || die "./configure failed"
+}
+
+# Installs a build
+# It takes only a parameter: the prefix for the build directory
+# see configure_build function
+install_build() {
+ cd ${S}/$1_build
+ einstall libdir="${D}/usr/$(get_libdir)" || die "Install failed"
+ if [[ -e contrib ]]; then
+ cd contrib/src
+ einstall libdir="${D}/usr/$(get_libdir)" || die "Install contrib failed"
+ fi
+ if [[ -e ${S}/$1_build_unicode ]]; then
+ cd ${S}/$1_build_unicode
+ einstall libdir="${D}/usr/$(get_libdir)" || die "Unicode install failed"
+ cd contrib/src
+ einstall libdir="${D}/usr/$(get_libdir)" || die "Unicode install contrib failed"
+ fi
+}
+
+pkg_setup() {
+ if use X; then
+ elog "To install only wxbase (non-gui libs) use USE=-X"
+ else
+ elog "To install GUI libraries, in addition to wxbase, use USE=X"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/socketfix.patch"
+# epatch "${FILESDIR}/${P}-wxrc_build_fix.patch"
+# epatch "${FILESDIR}/${P}-dialog_focus.patch"
+# epatch "${FILESDIR}/${P}-slider_linesize.patch"
+#
+# # Reverse apply patch in wxPython tarball that breaks ABI
+# EPATCH_OPTS="-R" epatch "${S}/patches/listctrl-ongetitemcolumnimage.patch"
+}
+
+src_compile() {
+ gnuconfig_update
+ append-flags -fno-strict-aliasing
+ myconf="${myconf}
+ $(use_with sdl)
+ $(use_enable joystick)"
+
+ if use X; then
+ myconf="${myconf}
+ $(use_enable opengl)
+ $(use_with opengl)
+ $(use_with gnome gnomeprint)"
+ fi
+ if use stl; then
+ myconf="${myconf}
+ $(use_enable stl)"
+ fi
+
+ if use gif; then
+ myconf="${myconf}
+ $(use_enable gif)"
+ else
+ myconf="${myconf}
+ $(use_disable gif)"
+ fi
+
+
+ use X && configure_build gtk2 unicode "${myconf} --with-gtk=2"
+ use X || configure_build base unicode "${myconf} --disable-gui"
+}
+
+src_install() {
+ use X && install_build gtk2
+ use X || install_build base
+
+ cp ${D}/usr/bin/wx-config ${D}/usr/bin/wx-config-2.8 || die "Failed to cp wx-config"
+
+ # In 2.6 all wx-config*'s go in/usr/lib/wx/config
+ # Only install wx-config if 2.4 is not installed:
+ if [ -e "/usr/bin/wx-config" ]; then
+ if [ "$(/usr/bin/wx-config --release)" = "2.4" ]; then
+ rm ${D}/usr/bin/wx-config
+ fi
+ fi
+
+ dodoc ${S}/docs/changes.txt
+ dodoc ${S}/docs/gtk/readme.txt
+
+ if use doc; then
+ dohtml -r ${HTML_S}/docs/html/*
+ fi
+}
+
+pkg_postinst() {
+ elog "dev-libs/wxbase has been removed from portage."
+ elog "wxBase is installed with wxGTK, as one of many libraries."
+ elog "If only wxBase is wanted, -X USE flag may be specified."
+}