dev-db/lmdb: add support for and keyword ~*-macos
authorFabian Groffen <grobian@gentoo.org>
Wed, 25 Jan 2017 17:56:23 +0000 (18:56 +0100)
committerFabian Groffen <grobian@gentoo.org>
Wed, 25 Jan 2017 17:56:36 +0000 (18:56 +0100)
Package-Manager: portage-2.3.3

dev-db/lmdb/lmdb-0.9.19.ebuild

index 9340aa20bba7debf3e47e4c38f9303d8fcae78d5..6172bb10249be77dc0d7370cb95d970bfba66333 100644 (file)
@@ -3,7 +3,7 @@
 # $Id$
 
 EAPI=6
-inherit toolchain-funcs flag-o-matic
+inherit toolchain-funcs flag-o-matic multilib
 
 DESCRIPTION="An ultra-fast, ultra-compact key-value embedded data store"
 HOMEPAGE="http://symas.com/mdb/"
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/LMDB/lmdb/archive/LMDB_${PV}.tar.gz"
 
 LICENSE="OPENLDAP"
 SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
 IUSE="static-libs"
 
 DEPEND=""
@@ -21,12 +21,16 @@ RDEPEND="!=net-nds/openldap-2.4.40"
 S="${WORKDIR}/${PN}-LMDB_${PV}/libraries/liblmdb"
 
 src_prepare() {
+       local soname="-Wl,-soname,liblmdb$(get_libname 0)"
+       [[ ${CHOST} == *-darwin* ]] && \
+               soname="-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/liblmdb$(get_libname 0)"
        sed -i -e "s!^CC.*!CC = $(tc-getCC)!" \
                -e "s!^CFLAGS.*!CFLAGS = ${CFLAGS}!" \
                -e "s!^AR.*!AR = $(tc-getAR)!" \
+               -e "s!^SOEXT.*!SOEXT = $(get_libname)!" \
                -e "/^prefix/s!/usr/local!${EPREFIX}/usr!" \
                -e "/^libdir/s!lib\$!$(get_libdir)!" \
-               -e "s!shared!shared -Wl,-soname,liblmdb.so.0!" \
+               -e "s!shared!shared ${soname}!" \
                "${S}/Makefile" || die
        eapply_user
 }
@@ -45,8 +49,9 @@ src_compile() {
 src_install() {
        emake DESTDIR="${D}" install
 
-       mv "${ED}"usr/$(get_libdir)/liblmdb.so{,.0} || die
-       dosym liblmdb.so.0 /usr/$(get_libdir)/liblmdb.so
+       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
 }