# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-libs/xalan-c/xalan-c-1.11.0_pre797991.ebuild,v 1.2 2009/07/27 00:09:13 dev-zero Exp $ EAPI="2" inherit toolchain-funcs eutils flag-o-matic multilib DESCRIPTION="XSLT processor for transforming XML into HTML, text, or other XML types" HOMEPAGE="http://xml.apache.org/xalan-c/" SRC_URI="mirror://gentoo/Xalan-C_r${PV#*_pre}-src.tar.gz" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~ppc ~sparc ~x86" IUSE="doc examples nls threads" RDEPEND=">=dev-libs/xerces-c-2.8.0" # icu? ( dev-libs/icu )" DEPEND="${RDEPEND} doc? ( app-doc/doxygen )" S="${WORKDIR}/xml-xalan/c" pkg_setup() { # export ICUROOT="/usr" export XALANCROOT="${S}" } src_prepare() { epatch \ "${FILESDIR}/${PV}-as-needed.patch" \ "${FILESDIR}/${PV}-bugfixes.patch" \ "${FILESDIR}/${PV}-parallel-build.patch" # - do not run configure in runConfigure # - echo the export commands instead exporting the vars # - remove -O3 # - make sure our {C,CXX}FLAGS get respected sed -i \ -e '/\/configure/d' \ -e 's/^export \([a-zA-Z_]*\)/echo export \1=\\"$\1\\"/' \ -e 's/\(debugflag\)="-O.\? /\1="/' \ -e 's/^\(CXXFLAGS\)="$compileroptions/\1="${\1}/' \ -e 's/^\(CFLAGS\)="$compileroptions/\1="${\1}/' \ runConfigure || die "sed failed" } src_configure() { export XERCESCROOT="/usr" local target="linux" # add more if needed, see xerces-c-2.8.0-r1 ebuild local mloader="inmemory" use nls && mloader="nls" # use icu && mloader="icu" local transcoder="default" # use icu && transcoder="icu" local thread="none" use threads && thread="pthread" local bitstobuild="32" $(has_m64) && bitstobuild="64" ./runConfigure -p ${target} -c "$(tc-getCC)" -x "$(tc-getCXX)" \ -m ${mloader} -t ${transcoder} \ -r ${thread} -b ${bitstobuild} > configure.vars || die "runConfigure failed" eval $(grep export configure.vars) default } src_compile() { default if use doc ; then mkdir build cd "${S}/xdocs" doxygen DoxyfileXalan fi } src_install() { emake DESTDIR="${D}" install || die "emake install failed" if use doc ; then dodir /usr/share/doc/${PF} dohtml -r build/docs/apiDocs/* fi if use examples ; then insinto /usr/share/doc/${PF}/examples doins -r samples/* fi } pkg_postinst() { ewarn "If you are upgrading you should run" ewarn " revdep-rebuild --library=libxalan-c.so.110" ewarn "if using portage or" ewarn " reconcilio --library libxalan-c.so.110" ewarn "if using paludis as your package manager." }