summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/dbxml')
-rw-r--r--dev-libs/dbxml/ChangeLog8
-rw-r--r--dev-libs/dbxml/dbxml-2.5.16-r2.ebuild196
-rw-r--r--dev-libs/dbxml/files/2.5.16-respect-ldflags-no-rpath.patch18
3 files changed, 221 insertions, 1 deletions
diff --git a/dev-libs/dbxml/ChangeLog b/dev-libs/dbxml/ChangeLog
index 2754a1cb4b2e..c83c59a49543 100644
--- a/dev-libs/dbxml/ChangeLog
+++ b/dev-libs/dbxml/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/dbxml
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/dbxml/ChangeLog,v 1.10 2010/06/03 06:07:41 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/dbxml/ChangeLog,v 1.11 2010/09/03 20:02:28 dev-zero Exp $
+
+*dbxml-2.5.16-r2 (03 Sep 2010)
+
+ 03 Sep 2010; Tiziano Müller <dev-zero@gentoo.org>
+ +files/2.5.16-respect-ldflags-no-rpath.patch, +dbxml-2.5.16-r2.ebuild:
+ respect LDFLAGS (bug #335312)
02 Jun 2010; Fabian Groffen <grobian@gentoo.org> dbxml-2.5.16-r1.ebuild:
Make ebuild Prefix aware
diff --git a/dev-libs/dbxml/dbxml-2.5.16-r2.ebuild b/dev-libs/dbxml/dbxml-2.5.16-r2.ebuild
new file mode 100644
index 000000000000..06bee5b2542a
--- /dev/null
+++ b/dev-libs/dbxml/dbxml-2.5.16-r2.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/dbxml/dbxml-2.5.16-r2.ebuild,v 1.1 2010/09/03 20:02:28 dev-zero Exp $
+
+EAPI="3"
+PYTHON_DEPEND="python? 2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+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="OracleDB Apache-1.1 BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples java perl python tcl"
+
+RDEPEND="sys-libs/db:${DB_VER}[-nocxx,java?]
+ >=dev-libs/xerces-c-3
+ >=dev-libs/xqilla-2.1.2
+ sys-libs/zlib
+ perl? ( dev-lang/perl )
+ python? (
+ >=dev-python/bsddb3-4.8.0 )
+ tcl? ( dev-lang/tcl )
+ 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}
+}
+PATCHES="$(get_patches)"
+
+for patch in ${PATCHES} ; 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 ${PATCHES} ; do
+ cp "${DISTDIR}/${patch}" ${WORKDIR} || die "copying patch ${patch} failed"
+ done
+}
+
+src_prepare() {
+ for patch in ${PATCHES} ; 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"
+ fixlocalpod
+ fi
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}
+ doins -r "${S}/examples"
+ fi
+
+}
+
+pkg_preinst() {
+ perl-module_pkg_preinst
+ 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
+}
diff --git a/dev-libs/dbxml/files/2.5.16-respect-ldflags-no-rpath.patch b/dev-libs/dbxml/files/2.5.16-respect-ldflags-no-rpath.patch
new file mode 100644
index 000000000000..d752941ab530
--- /dev/null
+++ b/dev-libs/dbxml/files/2.5.16-respect-ldflags-no-rpath.patch
@@ -0,0 +1,18 @@
+diff --git a/Makefile.am b/Makefile.am
+index 567aaf9..281c782 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -60,10 +60,10 @@ endif
+ # Global flags
+ ##################################################
+
+-CPPFLAGS = -I$(top_srcdir)/include/ -I$(top_srcdir)/src/dbxml -I$(top_srcdir)/src/common \
++CPPFLAGS += -I$(top_srcdir)/include/ -I$(top_srcdir)/src/dbxml -I$(top_srcdir)/src/common \
+ $(berkeleydb_include) $(xqilla_include) $(xerces_include) $(zlib_include)
+-LDFLAGS = -L$(berkeleydb_lib) -R$(berkeleydb_lib) -L$(xqilla_lib) -R$(xqilla_lib) \
+- -L$(xerces_lib) -R$(xerces_lib) $(zlib_lib) -l$(berkeleydb_library) -lxqilla -lxerces-c $(zlib_library)
++LDFLAGS += -L$(berkeleydb_lib) -L$(xqilla_lib) \
++ -L$(xerces_lib) $(zlib_lib) -l$(berkeleydb_library) -lxqilla -lxerces-c $(zlib_library)
+ LDADD = libdbxml.la
+
+ ##################################################