forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.69, Repoman-2.3.16 Signed-off-by: Lars Wendler <[email protected]>
- Loading branch information
Lars Wendler
committed
Jul 24, 2019
1 parent
00a0179
commit 92b3e56
Showing
2 changed files
with
75 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST LMDB_0.9.23.tar.gz 143813 BLAKE2B 252acad974a7ed528fe0e52b8332845bc0b6076599bbc79ef2c3f41459acb6ccbe5f6030c6a258fe30633c4c0568fa05fa6d46dc05bab3f93ee3aab16e6faa89 SHA512 47466a96ce288d18d489acf1abf811aa973649848a4cac31f71e1f25ea781a055ebd6616d2d630214b2df2f146f12609c82d65be0196f49d6b46a6c96464e120 | ||
DIST LMDB_0.9.24.tar.gz 143916 BLAKE2B f075ec5f4dfb77685188229e20f12c4febe8295c7d35ed15c3db492b68af68cc7f76741078e9bb524d2c38587839f542e964af1e5d6d984bb28bd602caabbb8d SHA512 c3a96c27f13c072ef5861bcea045d82f0a220dbd938579411ea6c38ac0696b3620c71f1e2cc56d31db5105f3533da95aba1ac34653d8bdcfa4f2f1fb831cccb1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# Copyright 1999-2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit flag-o-matic multilib-minimal toolchain-funcs | ||
|
||
MY_P="${PN^^}_${PV}" | ||
|
||
DESCRIPTION="An ultra-fast, ultra-compact key-value embedded data store" | ||
HOMEPAGE="https://symas.com/lmdb/technical/" | ||
SRC_URI="https://github.com/LMDB/lmdb/archive/${MY_P}.tar.gz" | ||
|
||
LICENSE="OPENLDAP" | ||
SLOT="0/${PV}" | ||
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" | ||
IUSE="static-libs" | ||
|
||
DEPEND="" | ||
RDEPEND="" | ||
|
||
S="${WORKDIR}/${PN}-${MY_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)" | ||
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 ${soname}!" \ | ||
"Makefile" || die | ||
|
||
if [[ ${CHOST} == *-solaris* ]] ; then | ||
# fdatasync lives in -lrt on Solaris 10 | ||
[[ ${CHOST#*-solaris2.} -le 10 ]] && append-ldflags -lrt | ||
fi | ||
} | ||
|
||
multilib_src_compile() { | ||
emake LDLIBS+=" -pthread" | ||
} | ||
|
||
multilib_src_install() { | ||
emake DESTDIR="${D}" install | ||
|
||
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) | ||
|
||
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 | ||
} |