summaryrefslogtreecommitdiff
path: root/dev-java/snappy-java
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 05:48:38 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 05:48:38 -0500
commitbfd9c39e4712ebdb442d4ca0673061faed1e70e1 (patch)
tree0d7a74b4463ee387f9cf9368ceb1b757f694f72a /dev-java/snappy-java
parentf716a9fe6455d39eef01e718aae68dae61c19704 (diff)
downloadbaldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.gz
baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.xz
baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.zip
Revert "Adding metadata"
This reverts commit f716a9fe6455d39eef01e718aae68dae61c19704.
Diffstat (limited to 'dev-java/snappy-java')
-rw-r--r--dev-java/snappy-java/Manifest2
-rw-r--r--dev-java/snappy-java/files/snappy-1.1.10.5-SnappyOutputStreamTest.patch30
-rw-r--r--dev-java/snappy-java/files/snappy-java-1.1.10.7-skipFailingTest.patch48
-rw-r--r--dev-java/snappy-java/metadata.xml11
-rw-r--r--dev-java/snappy-java/snappy-java-1.1.10.8.ebuild157
5 files changed, 248 insertions, 0 deletions
diff --git a/dev-java/snappy-java/Manifest b/dev-java/snappy-java/Manifest
new file mode 100644
index 000000000000..9b8698bcabe0
--- /dev/null
+++ b/dev-java/snappy-java/Manifest
@@ -0,0 +1,2 @@
+DIST hadoop-common-3.3.5.jar 4535144 BLAKE2B 66582661a1832cc54493fc9dcea9076eb0e3f4e974a7d24d593e8fff2b9e2a3a82ed6eb4587f23523473aecc35d2a15de2ad81b2617c1bdac50847149cdeb6a8 SHA512 f1fb439a5853b04e9e771ec4e80e1ed078494ecfaa741abe065936fc1c26b5369fdd4e8082f4da59c1a3a7a5c025beaa14a68c38dc772e81499f83a3cb91717b
+DIST snappy-java-1.1.10.8.tar.gz 4063792 BLAKE2B ca8761e169353f01d190a3c11d5d45fef96645771f60dcb7e55d49ce963c0b3f5f6059ee27771aa0f3d65248efa76fd4bc22440773ddf2c8a2c59fe7f599e151 SHA512 219d16f098b8d9c7b1248b713f9e9485293d7ad23cde77a1efa9179aa0add37851439e2f6a215eb5dc8fe68a607998cb7b7e8feb8eaee69dffae7d5a887ef793
diff --git a/dev-java/snappy-java/files/snappy-1.1.10.5-SnappyOutputStreamTest.patch b/dev-java/snappy-java/files/snappy-1.1.10.5-SnappyOutputStreamTest.patch
new file mode 100644
index 000000000000..43272e9d4a7f
--- /dev/null
+++ b/dev-java/snappy-java/files/snappy-1.1.10.5-SnappyOutputStreamTest.patch
@@ -0,0 +1,30 @@
+There was 1 failure:
+1) batchingOfWritesShouldNotAffectCompressedDataSize(org.xerial.snappy.SnappyOutputStreamTest)
+java.lang.AssertionError: expected:<91080> but was:<91051>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.junit.Assert.assertEquals(Assert.java:633)
+ at org.xerial.snappy.SnappyOutputStreamTest.batchingOfWritesShouldNotAffectCompressedDataSize(SnappyOutputStreamTest.java:183)
+
+FAILURES!!!
+Tests run: 104, Failures: 1
+--- a/src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java
++++ b/src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java
+@@ -34,6 +34,7 @@ import java.lang.ref.WeakReference;
+ import java.nio.ByteOrder;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.Assert;
+ import org.xerial.snappy.buffer.BufferAllocatorFactory;
+ import org.xerial.snappy.buffer.CachedBufferAllocator;
+@@ -165,7 +166,7 @@ public class SnappyOutputStreamTest
+ return b.toByteArray();
+ }
+
+- @Test
++ @Test @Ignore
+ public void batchingOfWritesShouldNotAffectCompressedDataSize()
+ throws Exception
+ {
diff --git a/dev-java/snappy-java/files/snappy-java-1.1.10.7-skipFailingTest.patch b/dev-java/snappy-java/files/snappy-java-1.1.10.7-skipFailingTest.patch
new file mode 100644
index 000000000000..275cc4d81ae0
--- /dev/null
+++ b/dev-java/snappy-java/files/snappy-java-1.1.10.7-skipFailingTest.patch
@@ -0,0 +1,48 @@
+
+There was 1 failure:
+1) loadSnappyByDiffentClassloadersInTheSameJVM(org.xerial.snappy.SnappyLoaderTest)
+java.lang.UnsatisfiedLinkError: Native Library /var/tmp/portage/dev-java/snappy-java-1.1.10.7-r2/work/snappy-java-1.1.10.7/build/objects/libsnappyjava.so already loaded in another classloader
+ at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:157)
+ at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:129)
+ at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:249)
+ at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:241)
+ at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2278)
+ at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:822)
+ at java.base/java.lang.System.loadLibrary(System.java:1663)
+ at org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:185)
+ at org.xerial.snappy.SnappyLoader.loadSnappyApi(SnappyLoader.java:157)
+ at org.xerial.snappy.Snappy.init(Snappy.java:70)
+ at org.xerial.snappy.Snappy.<clinit>(Snappy.java:47)
+ at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
+ at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1169)
+ at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:341)
+ at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newMethodAccessor(MethodHandleAccessorFactory.java:72)
+ at java.base/jdk.internal.reflect.ReflectionFactory.newMethodAccessor(ReflectionFactory.java:124)
+ at java.base/java.lang.reflect.Method.acquireMethodAccessor(Method.java:711)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:562)
+ at org.xerial.snappy.SnappyLoaderTest.loadSnappyByDiffentClassloadersInTheSameJVM(SnappyLoaderTest.java:106)
+
+FAILURES!!!
+Tests run: 103, Failures: 1
+
+This failure would not occur if the native library was included in the jar.
+
+--- a/src/test/java/org/xerial/snappy/SnappyLoaderTest.java
++++ b/src/test/java/org/xerial/snappy/SnappyLoaderTest.java
+@@ -27,6 +27,7 @@ package org.xerial.snappy;
+ import org.codehaus.plexus.classworlds.ClassWorld;
+ import org.codehaus.plexus.classworlds.realm.ClassRealm;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.xerial.util.FileResource;
+ import org.xerial.util.log.Logger;
+
+@@ -77,7 +78,7 @@ public class SnappyLoaderTest
+ }
+ }
+
+- @Test
++ @Test @Ignore
+ public void loadSnappyByDiffentClassloadersInTheSameJVM()
+ throws Exception
+ {
diff --git a/dev-java/snappy-java/metadata.xml b/dev-java/snappy-java/metadata.xml
new file mode 100644
index 000000000000..db7de7da5a64
--- /dev/null
+++ b/dev-java/snappy-java/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">xerial/snappy-java</remote-id>
+ </upstream>
+</pkgmetadata>
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..c0c0623d8804
--- /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 arm64 ppc64"
+
+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}"
+}