# Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # Author Diego Pettenò # $Header: /var/cvsroot/gentoo-x86/eclass/wxwidgets.eclass,v 1.5 2005/01/11 00:02:00 pythonhead Exp $ # 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="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? ( dev-libs/dmalloc ) zlib? ( sys-libs/zlib ) doc? ( =dev-libs/wxdocs-${PV} )" DEPEND="${RDEPEND} sys-apps/sed" HOMEPAGE="http://www.wxwindows.org" SRC_URI="mirror://sourceforge/wxwindows/wxWidgets-${PV}.tar.bz2" S=${WORKDIR}/wxWidgets-${PV} # Verify wxWidget-2.6 tarball still has this hardcoded: pythonhead aprl 24 2005 # Removes -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 "Configure failed" emake -j1 || die "emake failed" #wxbase has no contrib: if [[ -e contrib/src ]]; then cd contrib/src emake -j1 || 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 -j1 || die "Unicode emake failed" if [[ -e contrib/src ]]; then cd contrib/src emake -j1 || 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() { ${S}/configure --enable-monolithic \ --prefix=/usr \ --infodir=/usr/share/info \ --mandir=/usr/share/man \ $(use_enable debug) \ $(use_with dmalloc) \ $(use_with zlib) \ $* } # 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() { # If you are creating an ebuild or developing your own wx app that uses # wx*-2.6* you should use the wxwidgets eclass to find the correct wx-config # Don't symlink wx-config, it conflicts with legacy 2.4 wx-configs and wxbase/wxgtk # etc's wx-configs aren't compatible. In 2.6 all wx-config*'s go in # /usr/lib/wx/config not /usr/bin where 2.4 keeps theirs. rm ${D}/usr/bin/wx-config # 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 dodoc ${S}/*.txt } EXPORT_FUNCTIONS src_unpack src_install pkg_postinst