summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Cakebread <pythonhead@gentoo.org>2005-05-01 20:55:42 +0000
committerRob Cakebread <pythonhead@gentoo.org>2005-05-01 20:55:42 +0000
commite7740c7df37dcb40271b53d0bd90d2ced92152b0 (patch)
treeee8b27745b0b2074df2ccc8be7fef5927df921d2 /eclass/wxlib.eclass
parentVersion bump. (diff)
downloadhistorical-e7740c7df37dcb40271b53d0bd90d2ced92152b0.tar.gz
historical-e7740c7df37dcb40271b53d0bd90d2ced92152b0.tar.bz2
historical-e7740c7df37dcb40271b53d0bd90d2ced92152b0.zip
New eclass for wx packages
Diffstat (limited to 'eclass/wxlib.eclass')
-rw-r--r--eclass/wxlib.eclass139
1 files changed, 139 insertions, 0 deletions
diff --git a/eclass/wxlib.eclass b/eclass/wxlib.eclass
new file mode 100644
index 000000000000..0303b8c87ccb
--- /dev/null
+++ b/eclass/wxlib.eclass
@@ -0,0 +1,139 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/wxlib.eclass,v 1.1 2005/05/01 20:55:42 pythonhead Exp $
+
+# Author Diego Pettenò <flameeyes@gentoo.org>
+# Maintained by wxwindows herd
+
+# This eclass is used by wxlib-based packages (wxGTK, wxMotif, wxBase, wxMac) to share code between
+# them.
+
+inherit eutils gnuconfig
+
+ECLASS="wxlib"
+INHERITED="${INHERITED} ${ECLASS}"
+
+IUSE="doc debug unicode dmalloc zlib"
+
+LICENSE="wxWinLL-3"
+
+# 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=" dmalloc? ( !amd64? ( !arm? ( !mips? ( dev-libs/dmalloc ) ) ) )
+ zlib? ( sys-libs/zlib )"
+
+DEPEND="${RDEPEND}
+ sys-apps/sed"
+
+HOMEPAGE="http://www.wxwindows.org"
+SRC_URI="mirror://sourceforge/wxwindows/wxWidgets-${PV}.tar.bz2
+ doc? ( mirror://sourceforge/wxwindows/wxWidgets-${PV}-HTML.tar.gz )"
+S=${WORKDIR}/wxWidgets-${PV}
+
+# Verify wxWidget-2.6 tarball still has this hardcoded: pythonhead aprl 24 2005
+# Removes hard-coded -O2 optimization from configure
+wxlib_src_unpack() {
+ unpack ${A}
+ cd ${S}
+ sed -i "s/-O2//g" configure || die "sed configure failed"
+ gnuconfig_update
+}
+
+# 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) || die "odbc does not work with unicode"
+ emake -j5 || die "emake failed"
+ #wxbase has no contrib:
+ if [[ -e contrib/src ]]; then
+ cd contrib/src
+ emake -j5 || 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 -j5 || die "Unicode emake failed"
+ if [[ -e contrib/src ]]; then
+ cd contrib/src
+ emake -j5 || 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 pass them to the script
+subconfigure() {
+ debug_conf=""
+ if use debug; then
+ debug_conf="--enable-debug --enable-debug_gdb"
+ debug_conf="${debug_conf} `use_with dmalloc`"
+ fi
+ ${S}/configure --enable-monolithic \
+ --prefix=/usr \
+ --infodir=/usr/share/info \
+ --mandir=/usr/share/man \
+ `use_with zlib` \
+ ${debug_conf} \
+ $*
+}
+
+# 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 || die "Install failed"
+ cd contrib/src
+ einstall || die "Install contrib failed"
+ if [[ -e ${S}/$1_build_unicode ]]; then
+ cd ${S}/$1_build_unicode
+ einstall || die "Unicode install failed"
+ cd contrib/src
+ einstall || die "Unicode install contrib failed"
+ fi
+}
+
+# To be called at the end of src_install to perform common cleanup tasks
+wxlib_src_install() {
+
+ # In 2.6 all wx-config*'s go in/usr/lib/wx/config not
+ # /usr/bin where 2.4 keeps theirs.
+ # 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
+
+ # Remove wxrc because SLOT'd versions will overwrite each other.
+ # There will be a /usr/bin/wxrc-2.6 installed:
+ rm ${D}/usr/bin/wxrc
+
+
+ if use doc; then
+ dohtml ${S}/contrib/docs/html/ogl/*
+ dohtml ${S}/docs/html/*
+ dodir /usr/share/doc/${PF}/demos
+ cp -R ${S}/demos/* ${D}/usr/share/doc/${PF}/demos/
+ dodoc ${S}/*.txt
+ fi
+
+}
+
+
+EXPORT_FUNCTIONS src_unpack src_install