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}"
+}

Reply via email to