+++ /dev/null
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-PYTHON_DEPEND="python? 2"
-SUPPORT_PYTHON_ABIS="1"
-RESTRICT_PYTHON_ABIS="3.* *-jython"
-
-inherit autotools distutils flag-o-matic perl-app eutils versionator libtool multilib java-pkg-opt-2
-
-MY_PV="$(get_version_component_range 1-3)"
-MY_P="${PN}-${MY_PV}"
-PATCH_V="$(get_version_component_range 4)"
-PATCH_V="${PATCH_V:-0}"
-DB_VER="4.8"
-
-DESCRIPTION="BerkeleyDB XML, a native XML database from the BerkeleyDB team"
-HOMEPAGE="http://www.oracle.com/technetwork/database/berkeleydb/index-083851.html
- http://download.oracle.com/otndocs/products/berkeleydb/html/$(get_version_component_range 1-2).html"
-SRC_URI="http://download-east.oracle.com/berkeley-db/${MY_P}.tar.gz
- http://download-west.oracle.com/berkeley-db/${MY_P}.tar.gz
- http://download-uk.oracle.com/berkeley-db/${MY_P}.tar.gz"
-
-LICENSE="Sleepycat Apache-1.1 BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc examples java perl python tcl"
-
-RDEPEND="sys-libs/db:${DB_VER}[cxx,java?]
- >=dev-libs/xerces-c-3
- =dev-libs/xqilla-2.2*
- sys-libs/zlib
- perl? ( dev-lang/perl )
- python? (
- >=dev-python/bsddb3-4.8.0 )
- tcl? ( dev-lang/tcl:0= )
- java? ( >=virtual/jre-1.5 )"
-DEPEND="${RDEPEND}
- sys-devel/libtool
- java? ( >=virtual/jdk-1.5 )"
-
-# return a list of patches calculated using the micro-version
-get_patches() {
- local patches=""
- for (( patch_v=1 ; patch_v <= ${PATCH_V} ; patch_v++ )) ; do
- patches="${patches} patch.${MY_PV}.${patch_v}"
- done
- echo ${patches}
-}
-MYPATCHES="$(get_patches)"
-
-for patch in ${MYPATCHES} ; do
- SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/xml/update/${MY_PV}/${patch}"
-done
-
-S="${WORKDIR}/${MY_P}/dbxml"
-
-src_unpack() {
- tar xzpf "${DISTDIR}/${MY_P}.tar.gz" ${MY_P}/dbxml || die "unpacking package failed"
- for patch in ${MYPATCHES} ; do
- cp "${DISTDIR}/${patch}" "${WORKDIR}" || die "copying patch ${patch} failed"
- done
-}
-
-src_prepare() {
- for patch in ${MYPATCHES} ; do
- edos2unix "${WORKDIR}/${patch}"
- epatch "${WORKDIR}/${patch}"
- done
-
- epatch "${FILESDIR}/${PV}-respect-ldflags-no-rpath.patch"
-
- # sys-libs/db is slotted on Gentoo
- sed -i \
- -e "s:db_version=.*:db_version=${DB_VER}:" \
- dist/aclocal/options.ac configure || die "sed failed"
-
- if use java ; then
- sed -i \
- -e "s|\$with_berkeleydb/lib/db.jar|$(java-pkg_getjars db-${DB_VER})|" \
- dist/aclocal/options.ac configure || die "sed failed"
- fi
-
- # * Fix libraries to link
- # * Strip "../../build_unix/.libs" from LIBPATH or it'll
- # show up in the RPATH entry
- sed -i \
- -e "s|dbxml-2|dbxml-$(get_version_component_range 1-2)|" \
- -e "s|db-4|db-${DB_VER}|" \
- -e 's|dbxml_home = .*|dbxml_home = "../.."|' \
- -e 's|"../../build_unix/.libs",||' \
- src/python/setup.py.in || die "sed failed"
-
- sed -i \
- -e "s|dbxml-2|dbxml-$(get_version_component_range 1-2)|" \
- -e "s|db_cxx-4|db_cxx-${DB_VER}|" \
- -e "s|@DB_DIR@/lib|/usr/$(get_libdir)|" \
- -e "s|@DB_DIR@/include|/usr/include/db${DB_VER}|" \
- -e "s|@XERCES_DIR@/lib|/usr/$(get_libdir)|" \
- -e "s|@XQILLA_DIR@/lib|/usr/$(get_libdir)|" \
- src/perl/config.in || die "sed failed"
-
- # avoid the automake/autoconf run in src_{configure,compile}
- eautoreconf
-}
-
-src_configure() {
- cd "${S}/build_unix"
-
- #Needed despite db_version stuff above
- append-flags -I"${EPREFIX}"/usr/include/db${DB_VER}
-
- local myconf=""
-
- # use_enable doesn't work here due to a different syntax
- use java && myconf="${myconf} --enable-java"
- use tcl && myconf="${myconf} --enable-tcl --with-tcl=${EPREFIX}/usr/$(get_libdir)"
-
- export ac_cv_prog_path_strip="missing_strip"
- ECONF_SOURCE="../" \
- JAVAPREFIX="${JAVA_HOME}" \
- econf \
- --with-berkeleydb="${EPREFIX}"/usr \
- --with-xqilla="${EPREFIX}"/usr \
- --with-xerces="${EPREFIX}"/usr \
- ${myconf}
-}
-
-src_compile() {
- cd "${S}/build_unix"
-
- default
-
- if use python ; then
- einfo "Compiling python extension"
- cd "${S}/src/python"
- append-cflags "-I../../include"
- append-ldflags "-L../../build_unix/.libs"
- distutils_src_compile
- fi
-
- if use perl ; then
- cd "${S}/src/perl"
- perl-app_src_prep
- perl-app_src_compile
- fi
-}
-
-src_install() {
- cd "${S}/build_unix"
-
- # somewhat broken build system
- emake DESTDIR="${D}" install || die "emake install failed"
-
- use doc && dohtml -A pdf -r "${ED}"/usr/docs/*
- rm -rf "${ED}/usr/docs"
-
- if use java ; then
- java-pkg_dojar "${ED}/usr/$(get_libdir)/dbxml.jar"
- rm "${ED}/usr/$(get_libdir)/dbxml.jar"
- fi
-
- if use python ; then
- cd "${S}/src/python"
- distutils_src_install
- fi
-
- if use perl ; then
- cd "${S}/src/perl"
- emake DESTDIR="${D}" install || die "emake install perl module failed"
- perl_delete_localpod
- fi
-
- if use examples ; then
- insinto /usr/share/doc/${PF}
- doins -r "${S}/examples"
- fi
-
-}
-
-pkg_preinst() {
- perl_set_version
- java-pkg-opt-2_pkg_preinst
-}
-
-pkg_postinst() {
- if use python ; then
- python_mod_optimize dbxml.py
- fi
-}
-
-pkg_postrm() {
- if use python ; then
- python_mod_cleanup dbxml.py
- fi
-}