diff options
author | Volkmar W. Pogatzki <gentoo@pogatzki.net> | 2023-12-24 19:47:46 +0100 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2024-01-23 10:42:33 +0100 |
commit | 479407d69f0948a09340d151ccfdcd8579e13f01 (patch) | |
tree | 51ecf5128d84bd668adf4652bff830b03ee5009b | |
parent | dev-java/ant-core: compatibility symlink, add 1.10.14 (diff) | |
download | gentoo-479407d69f0948a09340d151ccfdcd8579e13f01.tar.gz gentoo-479407d69f0948a09340d151ccfdcd8579e13f01.tar.bz2 gentoo-479407d69f0948a09340d151ccfdcd8579e13f01.zip |
dev-java/snappy: 1.1.10.5-r1 for >=dev-java/ant-1.10.14
Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
-rw-r--r-- | dev-java/snappy/snappy-1.1.10.5-r1.ebuild | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/dev-java/snappy/snappy-1.1.10.5-r1.ebuild b/dev-java/snappy/snappy-1.1.10.5-r1.ebuild new file mode 100644 index 000000000000..a5c51f55f8ce --- /dev/null +++ b/dev-java/snappy/snappy-1.1.10.5-r1.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.xerial.snappy:snappy-java:${PV}" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple toolchain-funcs check-reqs + +DESCRIPTION="Snappy compressor/decompressor for Java" +HOMEPAGE="https://github.com/xerial/snappy-java/" +# ::gentoo does not have hadoop-common packaged. Currently we bundle the binary version. +# It's used for testing only and does not get installed. +HCV="3.3.5" +SRC_URI="https://github.com/xerial/snappy-java/archive/v${PV}.tar.gz -> ${P}.tar.gz + test? ( https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-common/${HCV}/hadoop-common-${HCV}.jar )" +S="${WORKDIR}/snappy-java-${PV}" + +LICENSE="Apache-2.0" +SLOT="1.1" +KEYWORDS="~amd64 ~arm ~arm64" + +CP_DEPEND="dev-java/osgi-core:0" + +CDEPEND=" + app-arch/snappy + dev-libs/bitshuffle +" + +DEPEND=">=virtual/jdk-1.8:* + ${CP_DEPEND} + ${CDEPEND} + test? ( + >=dev-java/ant-1.10.14:0[junit4] + dev-java/commons-io:1 + dev-java/commons-lang:3.6 + dev-java/plexus-classworlds:0 + dev-java/xerial-core:0 + )" + +RDEPEND=">=virtual/jre-1.8:* + ${CP_DEPEND} + ${CDEPEND}" + +PATCHES=( + "${FILESDIR}/1.1.7.8-java-version-target.patch" + "${FILESDIR}/snappy-1.1.10.1-unbundle-snappy.patch" + "${FILESDIR}/1.1.7.8-unbundle-bitshuffle.patch" + "${FILESDIR}/1.1.7.8-gentoo.patch" + "${FILESDIR}/snappy-1.1.10.5-SnappyOutputStreamTest.patch" + "${FILESDIR}/snappy-1.1.10.1-commons-lang3.patch" +) + +JAVA_RESOURCE_DIRS="src/main/resources" +JAVA_SRC_DIR="src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH=" + commons-io-1 + commons-lang-3.6 + junit-4 + plexus-classworlds + xerial-core +" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_SRC_DIR="src/test/java" + +check_env() { + if use test; then + # this is needed only for tests + CHECKREQS_MEMORY="2560M" + check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + check_env +} + +pkg_setup() { + check_env + java-pkg-2_pkg_setup +} + +src_prepare() { + default + java-pkg-2_src_prepare + # remove pre-compiled sofiles + rm -r src/main/resources/org/xerial/snappy/native || die + rm -r src/test/resources/lib || die +} + +src_compile() { + emake \ + CXX="$(tc-getCXX)" \ + JAVA_SOURCE="$(java-pkg_get-source)" \ + JAVA_TARGET="$(java-pkg_get-target)" + + java-pkg-simple_src_compile +} + +src_test() { + JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/hadoop-common-${HCV}.jar" + JAVA_TEST_EXTRA_ARGS=( -Xmx${CHECKREQS_MEMORY} ) + local vm_version="$(java-config -g PROVIDES_VERSION)" + if ver_test "${vm_version}" -ge 17; then + java-pkg-simple_src_test + else + einfo "Tests need jdk-17 to pass." + fi +} + +src_install() { + java-pkg-simple_src_install + + local jniext=.so + if [[ ${CHOST} == *-darwin* ]] ; then + jniext=.jnilib + # avoid install_name check failure + install_name_tool -id "@loader_path/libsnappyjava${jniext}" \ + "target/libsnappyjava${jniext}" + fi + java-pkg_doso "target/libsnappyjava${jniext}" +} |