# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=4 inherit eutils multilib toolchain-funcs DESCRIPTION="a fast key-value storage library written at Google" HOMEPAGE="http://code.google.com/p/leveldb/" SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux" IUSE="-c++0x +snappy static-libs +tcmalloc" DEPEND="tcmalloc? ( dev-util/google-perftools ) snappy? ( app-arch/snappy static-libs? ( app-arch/snappy[static-libs] ) )" RDEPEND="${DEPEND}" src_prepare() { # avoid automagic behavior epatch "${FILESDIR}"/${P}-configure.patch # build memenv in shared libs compat way epatch "${FILESDIR}"/${P}-memenv-shared.patch } src_configure() { # These vars all get picked up by build_detect_platform # which the Makefile runs for us automatically. tc-export AR CC CXX export OPT="-DNDEBUG ${CPPFLAGS}" # Probably needs more filling out export TARGET_OS case ${CHOST} in *) TARGET_OS="Linux";; esac export USE_SNAPPY=$(usex snappy) export USE_CXX0X=$(usex c++0x) export USE_TCMALLOC=no } src_compile() { emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a } src_test() { emake check } src_install() { insinto /usr/include doins -r include/* helpers/memenv/memenv.h dolib.so libleveldb*$(get_libname)* use static-libs && dolib.a libleveldb.a dolib.a libmemenv.a }