commit: 61be6898aa7f7078edd22d454e852bac74e5de49 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net> AuthorDate: Mon Jul 21 13:37:21 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Oct 3 05:08:47 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61be6898
dev-java/snappy-java: add 1.1.10.8 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net> Part-of: https://github.com/gentoo/gentoo/pull/42983 Closes: https://github.com/gentoo/gentoo/pull/42983 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-java/snappy-java/Manifest | 1 + dev-java/snappy-java/snappy-java-1.1.10.8.ebuild | 157 +++++++++++++++++++++++ 2 files changed, 158 insertions(+) diff --git a/dev-java/snappy-java/Manifest b/dev-java/snappy-java/Manifest index 8b163656615f..c1ca8962f301 100644 --- a/dev-java/snappy-java/Manifest +++ b/dev-java/snappy-java/Manifest @@ -1,2 +1,3 @@ DIST hadoop-common-3.3.5.jar 4535144 BLAKE2B 66582661a1832cc54493fc9dcea9076eb0e3f4e974a7d24d593e8fff2b9e2a3a82ed6eb4587f23523473aecc35d2a15de2ad81b2617c1bdac50847149cdeb6a8 SHA512 f1fb439a5853b04e9e771ec4e80e1ed078494ecfaa741abe065936fc1c26b5369fdd4e8082f4da59c1a3a7a5c025beaa14a68c38dc772e81499f83a3cb91717b DIST snappy-java-1.1.10.7.tar.gz 3953515 BLAKE2B 40657085a25186b7c78024196406002a39afe26e97145f57a438d783fb512c0168b48ef3f38d9d123954458c56e593f8490a5069a1712bb7d4ec86cf425a828c SHA512 1d7f484202f6bfd59454d56a9f57b0795f0919ae607e0bfd4da0b58c0caae437ae3c3f8638699a94b0b4794197a03058c3b5e258c5cf87b95683587a3e8396fe +DIST snappy-java-1.1.10.8.tar.gz 4063792 BLAKE2B ca8761e169353f01d190a3c11d5d45fef96645771f60dcb7e55d49ce963c0b3f5f6059ee27771aa0f3d65248efa76fd4bc22440773ddf2c8a2c59fe7f599e151 SHA512 219d16f098b8d9c7b1248b713f9e9485293d7ad23cde77a1efa9179aa0add37851439e2f6a215eb5dc8fe68a607998cb7b7e8feb8eaee69dffae7d5a887ef793 diff --git a/dev-java/snappy-java/snappy-java-1.1.10.8.ebuild b/dev-java/snappy-java/snappy-java-1.1.10.8.ebuild new file mode 100644 index 000000000000..02d69c3252c7 --- /dev/null +++ b/dev-java/snappy-java/snappy-java-1.1.10.8.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2025 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 edo check-reqs java-pkg-2 java-pkg-simple toolchain-funcs + +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}/${P}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +CP_DEPEND="dev-java/osgi-core:0" + +CDEPEND=" + app-arch/snappy + >=dev-libs/bitshuffle-0.3.5-r1 +" + +DEPEND=" + >=virtual/jdk-1.8:* + ${CP_DEPEND} + ${CDEPEND} + test? ( + >=dev-java/ant-1.10.15:0[junit4] + >=dev-java/commons-io-2.20.0:0 + >=dev-java/commons-lang-3.18.0:0 + dev-java/plexus-classworlds:0 + dev-java/xerial-core:0 + ) +" + +RDEPEND=" + >=virtual/jre-1.8:* + ${CP_DEPEND} + ${CDEPEND} +" + +PATCHES=( + "${FILESDIR}/snappy-1.1.10.5-SnappyOutputStreamTest.patch" + "${FILESDIR}/snappy-java-1.1.10.7-skipFailingTest.patch" +) + +JAVA_RESOURCE_DIRS="src/main/resources" +JAVA_SRC_DIR="src/main/java" + +JAVA_TEST_GENTOO_CLASSPATH=" + commons-io + commons-lang + 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 #780585 + 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 +} + +compile_lib() { + edo "$(tc-getCC)" "${@}" ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} \ + $(java-pkg_get-jni-cflags) +} + +src_compile() { + java-pkg-simple_src_compile + + # Create some directories, Java 8 doesn't do it for us. + mkdir -p build/objects target/jni-classes || die "mkdir" + + einfo "Generate headers" + ejavac \ + -h build/jni-headers \ + -d target/jni-classes \ + -sourcepath src/main/java \ + src/main/java/org/xerial/snappy/SnappyNative.java \ + src/main/java/org/xerial/snappy/BitShuffleNative.java + + einfo "Generate native library" + compile_lib -o build/objects/BitShuffleNative.o \ + -Ibuild/build/jni-headers \ + -c src/main/java/org/xerial/snappy/BitShuffleNative.cpp + + compile_lib -o build/objects/SnappyNative.o \ + -Ibuild/build/jni-headers \ + -c src/main/java/org/xerial/snappy/SnappyNative.cpp + + compile_lib -o build/objects/libsnappyjava.so \ + build/objects/{SnappyNative.o,BitShuffleNative.o} \ + -shared -lsnappy -lbitshuffle +} + +src_test() { + JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/hadoop-common-${HCV}.jar" + + # Setting use.systemlib=true is essential. + JAVA_TEST_EXTRA_ARGS=( + -Xmx${CHECKREQS_MEMORY} + -Djava.library.path=build/objects + -Dorg.xerial.snappy.use.systemlib=true + --enable-native-access=ALL-UNNAMED + ) + 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 "build/objects/libsnappyjava${jniext}" +}
