| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.8-r2 | 7 | ~amd64 | 0 |
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MAVEN_ID="org.fusesource.leveldbjni:${PN}:${PV}"
MAVEN_PROVIDES="org.fusesource.leveldbjni:${PN}-all:${PV}"
JAVA_PKG_IUSE="doc source binary test"
JAVA_TESTING_FRAMEWORKS="pkgdiff"
inherit autotools java-pkg-2 java-pkg-simple
DESCRIPTION="A JNI library for acessing leveldb"
HOMEPAGE="https://github.com/fusesource/leveldbjni"
SRC_URI="
https://repo1.maven.org/maven2/org/fusesource/${PN}/${PN}/${PV}/${P}-sources.jar
https://repo1.maven.org/maven2/org/fusesource/${PN}/${PN}/${PV}/${P}.jar -> ${P}-bin.jar
https://repo.maven.apache.org/maven2/org/fusesource/${PN}/${PN}/${PV}/${P}-native-src.zip
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
# Common dependencies
# POM: /var/lib/java-ebuilder/poms/${P}.pom
# org.fusesource.hawtjni:hawtjni-runtime:1.9 -> >=dev-java/hawtjni-runtime-1.10:0
# org.iq80.leveldb:leveldb-api:0.6 -> >=dev-java/leveldb-api-0.6:0
CP_DEPEND="
>=dev-java/leveldb-api-0.6:0
>=dev-java/hawtjni-runtime-1.10:0
"
CDEPEND="
dev-libs/leveldb[snappy]
"
BDEPEND="
app-arch/unzip
"
DEPEND="
>=virtual/jdk-1.8:*
${CDEPEND}
!binary? (
${CP_DEPEND}
)
"
RDEPEND="
>=virtual/jre-1.8:*
${CDEPEND}
${CP_DEPEND}
"
S="${WORKDIR}"
JAVA_SRC_DIR="src/main/java"
JNI_SRC_DIR="${P}-native-src"
JAVA_BINJAR_FILENAME="${P}-bin.jar"
src_unpack() {
mkdir -p "${JAVA_SRC_DIR}" "${JNI_SRC_DIR}"
unzip -q "${DISTDIR}/${P}-sources.jar" -d "${JAVA_SRC_DIR}"
unzip -q "${DISTDIR}/${P}-native-src.zip" -d "${S}"
}
src_prepare() {
default
eapply -p0 "${FILESDIR}/${P}-free-unavailable-method.patch"
sed -i -e "s/\${project.version}/${PV}/g" \
"${JAVA_SRC_DIR}/org/fusesource/leveldbjni/version.txt" || \
die "Failed to write project version to source files"
pushd "${JNI_SRC_DIR}" > /dev/null || \
die "Failed to enter JNI sources directory"
# Create a temporary patched copy of slice.h
mkdir leveldb || die "Failed to create leveldb headers directory"
cp "${ESYSROOT}/usr/include/leveldb/slice.h" leveldb || \
die "Failed to copy leveldb headers"
eapply -p2 "${FILESDIR}/leveldb-1.20-support-leveldbjni.patch"
# Regenerate configure script to fill in proper package version
eautoreconf
popd > /dev/null || die "Failed to leave JNI sources directory"
}
src_configure() {
cd "${JNI_SRC_DIR}" || die
econf
}
src_compile() {
java-pkg-simple_src_compile
emake -C "${JNI_SRC_DIR}"
use binary && return
# Add files included in the upstream's pre-built JAR
pushd "${JAVA_SRC_DIR}" > /dev/null || die "Failed to enter JAVA_SRC_DIR"
jar uf "${S}/${JAVA_JAR_FILENAME}" org/fusesource/leveldbjni/version.txt || \
die "Failed to add additional files to the JAR"
popd > /dev/null || die "Failed to leave JAVA_SRC_DIR"
}
src_install() {
java-pkg-simple_src_install
java-pkg_doso "${JNI_SRC_DIR}"/.libs/*so
}
>=virtual/jdk-1.8:* dev-libs/leveldb[snappy] !binary? ( >=dev-java/leveldb-api-0.6:0 >=dev-java/hawtjni-runtime-1.10:0 )
>=virtual/jre-1.8:* dev-libs/leveldb[snappy] >=dev-java/leveldb-api-0.6:0 >=dev-java/hawtjni-runtime-1.10:0
app-arch/unzip