diff options
Diffstat (limited to 'dev-db/opendbx/opendbx-1.4.6-r6.ebuild')
-rw-r--r-- | dev-db/opendbx/opendbx-1.4.6-r6.ebuild | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/dev-db/opendbx/opendbx-1.4.6-r6.ebuild b/dev-db/opendbx/opendbx-1.4.6-r6.ebuild new file mode 100644 index 000000000000..5a24ad4af48d --- /dev/null +++ b/dev-db/opendbx/opendbx-1.4.6-r6.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="OpenDBX - A database abstraction layer" +HOMEPAGE="https://www.linuxnetworks.de/doc/index.php/OpenDBX" +SRC_URI="https://www.linuxnetworks.de/opendbx/download/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="firebird +man +mysql oracle postgres sqlite test" +# The test programs need manual/interactive use. +RESTRICT=" + firebird? ( bindist ) + !test? ( test ) + test +" +REQUIRED_USE="|| ( firebird mysql oracle postgres sqlite )" + +RDEPEND="mysql? ( dev-db/mysql-connector-c:0= ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( dev-db/sqlite:3 ) + oracle? ( dev-db/oracle-instantclient[sdk] ) + firebird? ( dev-db/firebird )" +DEPEND="${RDEPEND}" +BDEPEND=" + man? ( + app-doc/doxygen + app-text/docbook2X + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-doxy.patch" + "${FILESDIR}/${PN}-man-optional.patch" +) + +pkg_setup() { + if use oracle && [[ ! -d ${ORACLE_HOME} ]]; then + die "Oracle support requested, but ORACLE_HOME not set to a valid directory!" + fi +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local backends="" + + use firebird && backends="${backends} firebird" + use mysql && backends="${backends} mysql" + use oracle && backends="${backends} oracle" + use postgres && backends="${backends} pgsql" + use sqlite && backends="${backends} sqlite3" + + use mysql && append-cppflags -I"${ESYSROOT}"/usr/include/mysql + use firebird && append-cppflags -I"${ESYSROOT}"/opt/firebird/include + + if use oracle ; then + # Traditionally, OCI header files are provided in: + append-cppflags -I"${ORACLE_HOME}"/rdbms/public + # But newer versions merged them with additional SDKs: + append-cppflags -I"${ORACLE_HOME}"/sdk/include + # Depending on the client package ORACLE_HOME refers to, + # we need to find the libraries in varying locations: + # - gentoo instantclient has multilib (dev-db/oracle-instantclient) + append-ldflags -L"${ORACLE_HOME}"/$(get_libdir) + # - vanilla full client lacks multilib (LINUX*_client{,_home}.zip) + append-ldflags -L"${ORACLE_HOME}"/lib + # - vanilla instantclient lacks libdir (instantclient-*.zip) + append-ldflags -L"${ORACLE_HOME}" + fi + + # bug #788304 + append-cxxflags -std=c++14 + + econf \ + --with-backends="${backends}" \ + --enable-manpages="$(usex man yes no)" \ + $(use_enable test) +} + +src_compile() { + # bug #322221 + emake -j1 +} + +src_install() { + emake -j1 install DESTDIR="${D}" + dodoc AUTHORS ChangeLog README + + rm -f "${D}"/usr/$(get_libdir)/opendbx/*.{a,la} +} |