dev-db/libzdb: Revbump for EAPI, build failure and dep change
authorBrian Evans <grknight@gentoo.org>
Fri, 8 Feb 2019 17:24:29 +0000 (12:24 -0500)
committerBrian Evans <grknight@gentoo.org>
Fri, 8 Feb 2019 17:24:29 +0000 (12:24 -0500)
Closes: https://bugs.gentoo.org/665842
Closes: https://bugs.gentoo.org/674462
Package-Manager: Portage-2.3.59, Repoman-2.3.12
Signed-off-by: Brian Evans <grknight@gentoo.org>
dev-db/libzdb/libzdb-3.1-r1.ebuild [new file with mode: 0644]

diff --git a/dev-db/libzdb/libzdb-3.1-r1.ebuild b/dev-db/libzdb/libzdb-3.1-r1.ebuild
new file mode 100644 (file)
index 0000000..838dc0b
--- /dev/null
@@ -0,0 +1,93 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="A thread safe high level multi-database connection pool library"
+HOMEPAGE="http://www.tildeslash.com/libzdb/"
+SRC_URI="http://www.tildeslash.com/${PN}/dist/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc mysql postgres +sqlite ssl static-libs"
+REQUIRED_USE=" || ( postgres mysql sqlite )"
+
+RESTRICT=test
+
+RDEPEND="mysql? ( dev-db/mysql-connector-c:0= )
+       postgres? ( dev-db/postgresql )
+       sqlite? ( >=dev-db/sqlite-3.7:3[unlock-notify(+)] )
+       ssl? ( dev-libs/openssl:0= )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       doc? ( app-doc/doxygen )"
+
+src_prepare() {
+       default
+       sed -i -e "s|&& ./pool||g" test/Makefile.in || die
+       # Fix detection of openssl 1.1
+       sed -i -e "s|SSL_library_init|SSL_CTX_new|" configure || die
+}
+
+src_configure() {
+       ## TODO: check what --enable-optimized actually does
+       ## TODO: find someone with oracle db to add oci8 support
+       myconf=""
+       if  [[ $(gcc-version) < 4.1 ]];then
+               myconf="${myconf} --disable-protected"
+       else
+               myconf="${myconf} --enable-protected"
+       fi
+
+       if use sqlite; then
+               myconf="${myconf} --with-sqlite=${EPREFIX}/usr/ --enable-sqliteunlock"
+       else
+               myconf="${myconf} --without-sqlite"
+       fi
+
+       if use mysql; then
+               myconf="${myconf} --with-mysql=${EPREFIX}/usr/bin/mysql_config"
+       else
+               myconf="${myconf} --without-mysql"
+       fi
+
+       if use postgres; then
+               myconf="${myconf} --with-postgresql=${EPREFIX}/usr/bin/pg_config"
+       else
+               myconf="${myconf} --without-postgresql"
+       fi
+
+       econf \
+               $(use_enable debug profiling) \
+               $(use_enable static-libs static) \
+               $(use_enable ssl openssl) \
+               --without-oci \
+               ${myconf}
+}
+
+src_compile() {
+       default
+       if use doc; then
+               emake doc
+       fi
+}
+
+src_install() {
+       default
+
+       # the --disable-static flag only skips .a
+       use static-libs || rm -f "${D}"/usr/lib*/libzdb.la
+
+       dodoc AUTHORS CHANGES README
+       if use doc;then
+               docinto html
+               dodoc -r "${S}/doc/api-docs"/*
+       fi
+}
+
+src_test() {
+       emake verify
+}