diff --git a/dev-db/lmdb/lmdb-9999.ebuild b/dev-db/lmdb/lmdb-9999.ebuild index 1e99927..3632b9c 100644 --- a/dev-db/lmdb/lmdb-9999.ebuild +++ b/dev-db/lmdb/lmdb-9999.ebuild @@ -1,32 +1,42 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit toolchain-funcs flag-o-matic multilib +EAPI=7 + +inherit flag-o-matic multilib-minimal toolchain-funcs if [[ ${PV} = "9999" ]] ; then EGIT_REPO_URI="https://github.com/LMDB/lmdb.git" inherit git-r3 KEYWORDS="" else - SRC_URI="https://github.com/LMDB/lmdb/archive/LMDB_${PV}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + SRC_URI="https://github.com/LMDB/lmdb/archive/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" fi DESCRIPTION="An ultra-fast, ultra-compact key-value embedded data store" -HOMEPAGE="http://symas.com/mdb/" +HOMEPAGE="https://symas.com/lmdb/technical/" LICENSE="OPENLDAP" -SLOT="0/0.9.21" +SLOT="0/0.9.24" IUSE="static-libs" DEPEND="" -# =net-nds/openldap-2.4.40 installs lmdb files. -RDEPEND="!=net-nds/openldap-2.4.40" +RDEPEND="" S="${WORKDIR}/${P}/libraries/liblmdb" src_prepare() { + default + if [[ ${CHOST} == *-darwin* && ${CHOST#*-darwin} -lt 10 ]] ; then + # posix_memalign isn't available before 10.6, but on OSX + # malloc is always aligned for any addressable type + sed -i -e '/(__APPLE__)/a#define HAVE_MEMALIGN 1\n#define memalign(X,Y) malloc(X)' mdb.c || die + fi + multilib_copy_sources +} + +multilib_src_configure() { local soname="-Wl,-soname,liblmdb$(get_libname 0)" [[ ${CHOST} == *-darwin* ]] && \ soname="-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/liblmdb$(get_libname 0)" @@ -38,26 +48,32 @@ src_prepare() { -e "/^libdir/s!lib\$!$(get_libdir)!" \ -e "s!shared!shared ${soname}!" \ "${S}/Makefile" || die - eapply_user -} -src_configure() { if [[ ${CHOST} == *-solaris* ]] ; then # fdatasync lives in -lrt on Solaris 10 [[ ${CHOST#*-solaris2.} -le 10 ]] && append-ldflags -lrt fi } -src_compile() { +multilib_src_compile() { emake LDLIBS+=" -pthread" } -src_install() { +multilib_src_install() { emake DESTDIR="${D}" install - mv "${ED}"usr/$(get_libdir)/liblmdb$(get_libname) \ - "${ED}"usr/$(get_libdir)/liblmdb$(get_libname 0) || die + mv "${ED}"/usr/$(get_libdir)/liblmdb$(get_libname) \ + "${ED}"/usr/$(get_libdir)/liblmdb$(get_libname 0) || die dosym liblmdb$(get_libname 0) /usr/$(get_libdir)/liblmdb$(get_libname) - use static-libs || rm "${ED}"usr/$(get_libdir)/liblmdb.a || die + insinto /usr/$(get_libdir)/pkgconfig + doins "${FILESDIR}/lmdb.pc" + sed -i -e "s!@PACKAGE_VERSION@!${PV}!" \ + -e "s!@prefix@!${EPREFIX}/usr!g" \ + -e "s!@libdir@!$(get_libdir)!" \ + "${ED}"/usr/$(get_libdir)/pkgconfig/lmdb.pc || die + + if ! use static-libs; then + rm "${ED}"/usr/$(get_libdir)/liblmdb.a || die + fi }