The package rpms/lz4-java.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/lz4-java.git/commit/?id=84d562e84....
Change:
+%ifnarch %{arm} aarch64 ppc64
Thanks.
Full change:
============
commit 84d562e846da36ee60ddc827c70351ba9114f5c5
Author: Tomas Hrcka <thrcka(a)redhat.com>
Date: Thu Jan 28 11:44:36 2021 +0100
Revert "Orphaned for 6+ weeks"
This reverts commit 4d3f173039997a8e25668446aca8c6fd64f89c2c.
Unretirement request:
https://pagure.io/releng/issue/9967
Signed-off-by: Tomas Hrcka <thrcka(a)redhat.com>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4700149
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/1.3.0.tar.gz
diff --git a/dead.package b/dead.package
deleted file mode 100644
index 5204a84..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-Orphaned for 6+ weeks
diff --git a/lz4-java-1.3.0-build.patch b/lz4-java-1.3.0-build.patch
new file mode 100644
index 0000000..f6bc362
--- /dev/null
+++ b/lz4-java-1.3.0-build.patch
@@ -0,0 +1,135 @@
+--- lz4-java-1.3.0/build.xml 2014-11-26 20:04:10.000000000 +0100
++++ lz4-java-1.3.0/build.xml.build 2015-07-21 15:15:49.041845748 +0200
+@@ -15,8 +15,7 @@
+ <project name="lz4" default="dist" basedir="."
+ xmlns:cpptasks="antlib:net.sf.antcontrib.cpptasks"
+ xmlns:ivy="antlib:org.apache.ivy.ant"
+- xmlns:junit4="antlib:com.carrotsearch.junit4"
+- xmlns:mvn="antlib:org.apache.maven.artifact.ant">
++ xmlns:junit4="antlib:com.carrotsearch.junit4">
+
+ <property name="src" location="src"/>
+ <property name="build" location="build"/>
+@@ -56,8 +55,6 @@
+ </target>
+
+ <target name="-ivy-install" unless="ivy.available">
+- <mkdir dir="${user.home}/.ant/lib" />
+- <get
src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.jar.vers...
dest="${user.home}/.ant/lib/${ivy.jar.name}"/>
+ </target>
+
+ <target name="install-cpptasks"
unless="cpptasks.available">
+@@ -68,10 +65,6 @@
+ </target>
+
+ <target name="install-maven-ant-tasks"
unless="maven-ant-tasks.available">
+- <ivy:cachepath organisation="org.apache.maven"
module="maven-ant-tasks" revision="2.1.3"
+- inline="true" conf="default" transitive="true"
pathid="maven-ant-tasks.classpath"/>
+- <taskdef uri="antlib:org.apache.maven.artifact.ant"
resource="org/apache/maven/artifact/ant/antlib.xml"
classpathref="maven-ant-tasks.classpath"/>
+- <property name="maven-ant-tasks.available" value="true"/>
+ </target>
+
+ <target name="install-forbidden-apis"
unless="forbidden-apis.available">
+@@ -83,10 +76,6 @@
+
+ <target name="install-bnd" unless="bnd.available">
+ <!-- using bnd 1.50.0 because more recent versions have broken JAR wrapping
-->
+- <ivy:cachepath organisation="biz.aQute" module="bnd"
revision="1.50.0"
+- inline="true" conf="default" transitive="true"
pathid="bnd.classpath"/>
+- <taskdef resource="aQute/bnd/ant/taskdef.properties"
classpathref="bnd.classpath"/>
+- <property name="bnd.available" value="true"/>
+ </target>
+
+ <target name="init">
+@@ -104,9 +93,15 @@
+ <property name="junit4.available" value="true" />
+ </target>
+
++ <path id="mvel.classpath">
++ <fileset dir="/usr/share/java">
++ <include name="mvel.jar"/>
++ <include name="objectweb-asm/asm.jar"/>
++ <include name="objectweb-asm/asm-util.jar"/>
++ </fileset>
++ </path>
++
+ <target name="generate-sources" depends="init">
+- <ivy:cachepath organisation="org.mvel" module="mvel2"
revision="2.1.5.Final"
+- inline="true" conf="default" transitive="true"
pathid="mvel.classpath"/>
+ <mkdir dir="${build}/java" />
+ <java
+ fork="true"
+@@ -263,7 +258,9 @@
+ overview="${src}/java/overview.html"
+ packagenames="net.jpountz.lz4,net.jpountz.xxhash"
+ windowtitle="lz4 / xxhash - Java API ${ivy.revision}"
+- destDir="${build}/docs">
++ destDir="${build}/docs"
++ encoding="UTF-8"
++ additionalparam="-Xdoclint:none">
+ <link
href="http://download.oracle.com/javase/6/docs/api/" />
+ <sourcepath>
+ <pathelement location="${src}/java"/>
+@@ -288,8 +285,12 @@
+ </jar>
+ </target>
+
+- <target name="bundle" description="makes the JAR a valid OSGi
bundle" depends="install-bnd, jar">
+- <taskdef resource="aQute/bnd/ant/taskdef.properties"
classpathref="bnd.classpath"/>
++ <target name="bundle" description="makes the JAR a valid OSGi
bundle" depends="jar">
++ <taskdef resource="aQute/bnd/ant/taskdef.properties" >
++ <classpath>
++ <fileset dir="/usr/share/java/aqute-bnd"/>
++ </classpath>
++ </taskdef>
+ <property name="packages.version"
value="${ivy.revision}"/>
+ <!-- We need to remove potential -SNAPSHOT qualifiers as package versions...
-->
+ <script language="javascript">
+@@ -319,7 +320,7 @@
+
+ <target name="dist" description="package"
depends="bundle,docs,sources,makepom" />
+
+- <target name="forbidden-apis" description="check API usage"
depends="install-forbidden-apis,compile">
++ <target name="forbidden-apis" description="check API usage"
depends="compile">
+ <forbidden-apis internalRuntimeForbidden="true"
classpathref="forbidden-apis.classpath">
+ <bundledSignatures name="jdk-unsafe-${javac.target}"/>
+ <bundledSignatures name="jdk-deprecated-${javac.target}"/>
+@@ -337,37 +338,21 @@
+ <attribute name="repositoryid" />
+ <attribute name="repositoryurl" />
+ <sequential>
+- <mvn:mvn>
+- <arg
value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file"
/>
+- <arg value="-Durl=@{repositoryurl}" />
+- <arg value="-DrepositoryId=@{repositoryid}" />
+- <arg value="-DpomFile=${dist}/${ivy.module}-${ivy.revision}.pom"
/>
+- <arg value="-Dfile=${dist}/${ivy.module}-${ivy.revision}.jar"
/>
+- <arg
value="-Dfiles=${dist}/${ivy.module}-${ivy.revision}-sources.jar,${dist}/${ivy.module}-${ivy.revision}-javadoc.jar"
/>
+- <arg value="-Dclassifiers=sources,javadoc" />
+- <arg value="-Dtypes=jar,jar" />
+- <arg value="-Pgpg" />
+- </mvn:mvn>
+ </sequential>
+ </macrodef>
+
+ <target name="deploy" description="deploy snapshot to snapshot
repo" depends="install-maven-ant-tasks">
+- <property name="skip.jni" value="true" />
+- <antcall target="-deploy" />
+ </target>
+
+ <target name="-deploy" depends="clean,dist">
+- <deploy repositoryid="sonatype-nexus-snapshots"
repositoryurl="https://oss.sonatype.org/content/repositories/snapsho... />
+ </target>
+
+ <!-- before this, update project version from SNAPSHOT to RELEASE -->
+ <target name="stage" description="deploy to release repo"
depends="install-maven-ant-tasks,test,forbidden-apis">
+- <property name="skip.jni" value="true" />
+- <antcall target="-stage" />
++
+ </target>
+
+ <target name="-stage" depends="clean,dist">
+- <deploy repositoryid="sonatype-nexus-staging"
repositoryurl="https://oss.sonatype.org/service/local/staging/deploy...
/>
+ </target>
+
+ </project>
diff --git a/lz4-java-1.3.0-junit_Assert.patch b/lz4-java-1.3.0-junit_Assert.patch
new file mode 100644
index 0000000..f9023a5
--- /dev/null
+++ b/lz4-java-1.3.0-junit_Assert.patch
@@ -0,0 +1,301 @@
+diff -Nru lz4-java-1.3.0/src/test/net/jpountz/lz4/LZ4BlockStreamingTest.java
lz4-java-1.3.0.junit.Assert/src/test/net/jpountz/lz4/LZ4BlockStreamingTest.java
+--- lz4-java-1.3.0/src/test/net/jpountz/lz4/LZ4BlockStreamingTest.java 2014-11-26
20:04:10.000000000 +0100
++++
lz4-java-1.3.0.junit.Assert/src/test/net/jpountz/lz4/LZ4BlockStreamingTest.java 2016-05-03
17:08:40.285741530 +0200
+@@ -207,11 +207,11 @@
+
+ final LZ4FastDecompressor decompressor =
LZ4Factory.fastestInstance().fastDecompressor();
+ InputStream is = new LZ4BlockInputStream(open(compressed.toByteArray()),
decompressor, checksum);
+- assertFalse(is.markSupported());
++ org.junit.Assert.assertFalse(is.markSupported());
+ try {
+ is.mark(1);
+ is.reset();
+- assertFalse(true);
++ org.junit.Assert.assertFalse(true);
+ } catch (IOException e) {
+ // OK
+ }
+@@ -235,8 +235,8 @@
+ }
+ }
+ is.close();
+- assertEquals(data.length, read);
+- assertArrayEquals(data, Arrays.copyOf(restored, read));
++ org.junit.Assert.assertEquals(data.length, read);
++ org.junit.Assert.assertArrayEquals(data, Arrays.copyOf(restored, read));
+
+ // test skip
+ final int offset = data.length <= 1 ? 0 : randomInt(data.length - 1);
+@@ -246,17 +246,17 @@
+ read = 0;
+ while (read < offset) {
+ final long skipped = is.skip(offset - read);
+- assertTrue(skipped >= 0);
++ org.junit.Assert.assertTrue(skipped >= 0);
+ read += skipped;
+ }
+ read = 0;
+ while (read < length) {
+ final int r = is.read(restored, read, length - read);
+- assertTrue(r >= 0);
++ org.junit.Assert.assertTrue(r >= 0);
+ read += r;
+ }
+ is.close();
+- assertArrayEquals(Arrays.copyOfRange(data, offset, offset + length),
Arrays.copyOfRange(restored, 0, length));
++ org.junit.Assert.assertArrayEquals(Arrays.copyOfRange(data, offset, offset +
length), Arrays.copyOfRange(restored, 0, length));
+ }
+
+ @Test
+@@ -288,7 +288,7 @@
+ byte[] actual = new byte[testBytes.length];
+ in.read(actual);
+
+- assertArrayEquals(testBytes, actual);
++ org.junit.Assert.assertArrayEquals(testBytes, actual);
+
+ in.close();
+ in.close();
+diff -Nru lz4-java-1.3.0/src/test/net/jpountz/lz4/LZ4Test.java
lz4-java-1.3.0.junit.Assert/src/test/net/jpountz/lz4/LZ4Test.java
+--- lz4-java-1.3.0/src/test/net/jpountz/lz4/LZ4Test.java 2014-11-26 20:04:10.000000000
+0100
++++ lz4-java-1.3.0.junit.Assert/src/test/net/jpountz/lz4/LZ4Test.java 2016-05-03
17:08:40.290743645 +0200
+@@ -39,7 +39,7 @@
+ public void testMaxCompressedLength() {
+ final int len = randomBoolean() ? randomInt(16) : randomInt(1 << 30);
+ for (LZ4Compressor compressor : COMPRESSORS) {
+- assertEquals(LZ4JNI.LZ4_compressBound(len), compressor.maxCompressedLength(len));
++ org.junit.Assert.assertEquals(LZ4JNI.LZ4_compressBound(len),
compressor.maxCompressedLength(len));
+ }
+ }
+
+@@ -75,8 +75,8 @@
+ byte[] compressed = getCompressedWorstCase(decompressed);
+ byte[] restored = new byte[decompressed.length];
+ int cpLen = decompressor.decompress(compressed, 0, restored, 0,
decompressed.length);
+- assertEquals(compressed.length, cpLen);
+- assertArrayEquals(decompressed, restored);
++ org.junit.Assert.assertEquals(compressed.length, cpLen);
++ org.junit.Assert.assertArrayEquals(decompressed, restored);
+ }
+
+ @Test
+@@ -93,8 +93,8 @@
+ byte[] compressed = getCompressedWorstCase(decompressed);
+ byte[] restored = new byte[decompressed.length];
+ int uncpLen = decompressor.decompress(compressed, 0, compressed.length, restored,
0);
+- assertEquals(decompressed.length, uncpLen);
+- assertArrayEquals(decompressed, restored);
++ org.junit.Assert.assertEquals(decompressed.length, uncpLen);
++ org.junit.Assert.assertArrayEquals(decompressed, restored);
+ }
+
+ @Test
+@@ -130,8 +130,8 @@
+ final int compressedLen2 = tester.compress(compressor,
+ tester.copyOf(data), off, len,
+ compressed2, 0, compressedLen);
+- assertEquals(compressedLen, compressedLen2);
+- assertArrayEquals(
++ org.junit.Assert.assertEquals(compressedLen, compressedLen2);
++ org.junit.Assert.assertArrayEquals(
+ tester.copyOf(compressed, 0, compressedLen),
+ tester.copyOf(compressed2, 0, compressedLen));
+
+@@ -141,21 +141,21 @@
+ tester.compress(compressor,
+ tester.copyOf(data), off, len,
+ compressed3, 0, compressedLen - 1);
+- fail();
++ org.junit.Assert.fail();
+ } catch (LZ4Exception e) {
+ // OK
+ }
+
+ // test decompression
+ final T restored = tester.allocate(len);
+- assertEquals(compressedLen, tester.decompress(decompressor, compressed, 0, restored,
0, len));
+- assertArrayEquals(Arrays.copyOfRange(data, off, off + len), tester.copyOf(restored,
0, len));
++ org.junit.Assert.assertEquals(compressedLen, tester.decompress(decompressor,
compressed, 0, restored, 0, len));
++ org.junit.Assert.assertArrayEquals(Arrays.copyOfRange(data, off, off + len),
tester.copyOf(restored, 0, len));
+
+ if (len > 0) {
+ // dest is too small
+ try {
+ tester.decompress(decompressor, compressed, 0, restored, 0, len - 1);
+- fail();
++ org.junit.Assert.fail();
+ } catch (LZ4Exception e) {
+ // OK
+ }
+@@ -165,7 +165,7 @@
+ final T restored2 = tester.allocate(len+1);
+ try {
+ final int cpLen = tester.decompress(decompressor, compressed, 0, restored2, 0, len
+ 1);
+- fail("compressedLen=" + cpLen);
++ org.junit.Assert.fail("compressedLen=" + cpLen);
+ } catch (LZ4Exception e) {
+ // OK
+ }
+@@ -173,16 +173,16 @@
+ // try decompression when only the size of the compressed buffer is known
+ if (len > 0) {
+ tester.fill(restored, randomByte());
+- assertEquals(len, tester.decompress(decompressor2, compressed, 0, compressedLen,
restored, 0, len));
++ org.junit.Assert.assertEquals(len, tester.decompress(decompressor2, compressed, 0,
compressedLen, restored, 0, len));
+ tester.fill(restored, randomByte());
+ } else {
+- assertEquals(0, tester.decompress(decompressor2, compressed, 0, compressedLen,
tester.allocate(1), 0, 1));
++ org.junit.Assert.assertEquals(0, tester.decompress(decompressor2, compressed, 0,
compressedLen, tester.allocate(1), 0, 1));
+ }
+
+ // over-estimated compressed length
+ try {
+ final int decompressedLen = tester.decompress(decompressor2, compressed, 0,
compressedLen + 1, tester.allocate(len + 100), 0, len + 100);
+- fail("decompressedLen=" + decompressedLen);
++ org.junit.Assert.fail("decompressedLen=" + decompressedLen);
+ } catch (LZ4Exception e) {
+ // OK
+ }
+@@ -191,7 +191,7 @@
+ try {
+ final int decompressedLen = tester.decompress(decompressor2, compressed, 0,
compressedLen - 1, tester.allocate(len + 100), 0, len + 100);
+ if (!(decompressor2 instanceof LZ4JNISafeDecompressor)) {
+- fail("decompressedLen=" + decompressedLen);
++ org.junit.Assert.fail("decompressedLen=" + decompressedLen);
+ }
+ } catch (LZ4Exception e) {
+ // OK
+@@ -278,7 +278,7 @@
+ try {
+ // it is invalid to end with a match, should be at least 5 literals
+ decompressor.decompress(invalid, 0, new byte[decompressedLength], 0,
decompressedLength);
+- assertTrue(decompressor.toString(), false);
++ org.junit.Assert.assertTrue(decompressor.toString(), false);
+ } catch (LZ4Exception e) {
+ // OK
+ }
+@@ -288,7 +288,7 @@
+ try {
+ // it is invalid to end with a match, should be at least 5 literals
+ decompressor.decompress(invalid, 0, invalid.length, new byte[20], 0);
+- assertTrue(false);
++ org.junit.Assert.assertTrue(false);
+ } catch (LZ4Exception e) {
+ // OK
+ }
+@@ -308,7 +308,7 @@
+ try {
+ // it is invalid to end with a match, should be at least 5 literals
+ decompressor.decompress(invalid, 0, new byte[20], 0, 20);
+- assertTrue(decompressor.toString(), false);
++ org.junit.Assert.assertTrue(decompressor.toString(), false);
+ } catch (LZ4Exception e) {
+ // OK
+ }
+@@ -318,7 +318,7 @@
+ try {
+ // it is invalid to end with a match, should be at least 5 literals
+ decompressor.decompress(invalid, 0, invalid.length, new byte[20], 0);
+- assertTrue(false);
++ org.junit.Assert.assertTrue(false);
+ } catch (LZ4Exception e) {
+ // OK
+ }
+@@ -333,7 +333,7 @@
+ ByteBuffer out = Tester.BYTE_BUFFER.allocate(100).asReadOnlyBuffer();
+ try {
+ compressor.compress(in, out);
+- fail();
++ org.junit.Assert.fail();
+ } catch (ReadOnlyBufferException e) {
+ // ok
+ }
+@@ -343,7 +343,7 @@
+ ByteBuffer out = Tester.BYTE_BUFFER.allocate(100).asReadOnlyBuffer();
+ try {
+ decompressor.decompress(in, out);
+- fail();
++ org.junit.Assert.fail();
+ } catch (ReadOnlyBufferException e) {
+ // ok
+ }
+@@ -354,7 +354,7 @@
+ out.limit(2);
+ try {
+ decompressor.decompress(in, out);
+- fail();
++ org.junit.Assert.fail();
+ } catch (ReadOnlyBufferException e) {
+ // ok
+ }
+@@ -457,7 +457,7 @@
+ }
+ final Sequence sequence1 = readSequence(expected, off);
+ final Sequence sequence2 = readSequence(actual, off);
+- assertEquals(message + ", off=" + off + ", decompressedOff=" +
decompressedOff, sequence1, sequence2);
++ org.junit.Assert.assertEquals(message + ", off=" + off + ",
decompressedOff=" + decompressedOff, sequence1, sequence2);
+ off += sequence1.length;
+ decompressedOff += sequence1.literalLen + sequence1.matchLen;
+ }
+diff -Nru lz4-java-1.3.0/src/test/net/jpountz/xxhash/XXHash32Test.java
lz4-java-1.3.0.junit.Assert/src/test/net/jpountz/xxhash/XXHash32Test.java
+--- lz4-java-1.3.0/src/test/net/jpountz/xxhash/XXHash32Test.java 2014-11-26
20:04:10.000000000 +0100
++++ lz4-java-1.3.0.junit.Assert/src/test/net/jpountz/xxhash/XXHash32Test.java 2016-05-03
17:08:40.278738569 +0200
+@@ -129,12 +129,12 @@
+ final int ref = XXHashFactory.nativeInstance().hash32().hash(buf, off, len, seed);
+ for (XXHash32 hash : INSTANCES) {
+ final int h = hash.hash(buf, off, len, seed);
+- assertEquals(hash.toString(), ref, h);
++ org.junit.Assert.assertEquals(hash.toString(), ref, h);
+ final ByteBuffer copy = copyOf(buf, off, len);
+ final int h2 = hash.hash(copy, off, len, seed);
+- assertEquals(off, copy.position());
+- assertEquals(len, copy.remaining());
+- assertEquals(hash.toString(), ref, h2);
++ org.junit.Assert.assertEquals(off, copy.position());
++ org.junit.Assert.assertEquals(len, copy.remaining());
++ org.junit.Assert.assertEquals(hash.toString(), ref, h2);
+ }
+ }
+
+@@ -155,8 +155,8 @@
+ hash1.update(bytes, off, len);
+ hash2.update(bytes, off, len);
+ hash3.update(bytes, off, len);
+- assertEquals(hash2.toString() + " " + totalLen, hash1.getValue(),
hash2.getValue());
+- assertEquals(hash3.toString() + " " + totalLen, hash1.getValue(),
hash3.getValue());
++ org.junit.Assert.assertEquals(hash2.toString() + " " + totalLen,
hash1.getValue(), hash2.getValue());
++ org.junit.Assert.assertEquals(hash3.toString() + " " + totalLen,
hash1.getValue(), hash3.getValue());
+ totalLen += len;
+ }
+ }
+diff -Nru lz4-java-1.3.0/src/test/net/jpountz/xxhash/XXHash64Test.java
lz4-java-1.3.0.junit.Assert/src/test/net/jpountz/xxhash/XXHash64Test.java
+--- lz4-java-1.3.0/src/test/net/jpountz/xxhash/XXHash64Test.java 2014-11-26
20:04:10.000000000 +0100
++++ lz4-java-1.3.0.junit.Assert/src/test/net/jpountz/xxhash/XXHash64Test.java 2016-05-03
17:08:40.278738569 +0200
+@@ -134,12 +134,12 @@
+ final long ref = XXHashFactory.nativeInstance().hash64().hash(buf, off, len, seed);
+ for (XXHash64 hash : INSTANCES) {
+ final long h = hash.hash(buf, off, len, seed);
+- assertEquals(hash.toString(), ref, h);
++ org.junit.Assert.assertEquals(hash.toString(), ref, h);
+ final ByteBuffer copy = copyOf(buf, off, len);
+ final long h2 = hash.hash(copy, off, len, seed);
+- assertEquals(off, copy.position());
+- assertEquals(len, copy.remaining());
+- assertEquals(hash.toString(), ref, h2);
++ org.junit.Assert.assertEquals(off, copy.position());
++ org.junit.Assert.assertEquals(len, copy.remaining());
++ org.junit.Assert.assertEquals(hash.toString(), ref, h2);
+ }
+ }
+
+@@ -160,8 +160,8 @@
+ hash1.update(bytes, off, len);
+ hash2.update(bytes, off, len);
+ hash3.update(bytes, off, len);
+- assertEquals(hash2.toString() + " " + totalLen, hash1.getValue(),
hash2.getValue());
+- assertEquals(hash3.toString() + " " + totalLen, hash1.getValue(),
hash3.getValue());
++ org.junit.Assert.assertEquals(hash2.toString() + " " + totalLen,
hash1.getValue(), hash2.getValue());
++ org.junit.Assert.assertEquals(hash3.toString() + " " + totalLen,
hash1.getValue(), hash3.getValue());
+ totalLen += len;
+ }
+ }
diff --git a/lz4-java-1.3.0-system-lz4.patch b/lz4-java-1.3.0-system-lz4.patch
new file mode 100644
index 0000000..ee09eae
--- /dev/null
+++ b/lz4-java-1.3.0-system-lz4.patch
@@ -0,0 +1,26 @@
+--- lz4-java-1.3.0/build.xml 2015-07-21 17:13:09.230376711 +0200
++++ lz4-java-1.3.0/build.xml.lz4 2015-07-21 17:09:47.848152386 +0200
+@@ -171,14 +171,20 @@
+ outfile="${build}/jni/${platform}/${os.arch}/lz4-java"
+ outtype="shared">
+ <includepath path="${src}/xxhash" />
+- <includepath path="${src}/lz4" />
++ <includepath path="/usr/include" />
+ <includepath path="${java.home}/../include" />
+ <includepath path="${java.home}/../include/${platform}/" />
+ <includepath path="${build}/jni-headers" />
+- <fileset dir="${src}/lz4" includes="lz4.c, lz4hc.c" />
++ <!--fileset dir="${src}/lz4" includes="lz4.c, lz4hc.c"
/-->
+ <fileset dir="${src}/xxhash" includes="xxhash.c" />
+ <fileset dir="${src}/jni" includes="*.c" />
+- <linker />
++ <compilerarg value="-llz4"/>
++ <compilerarg value="-Wall"/>
++ <compilerarg value="-O2"/>
++ <linkerarg value="-O2"/>
++ <linkerarg value="-L${libdir}" />
++ <linkerarg value="-L${build}/objects" />
++ <linkerarg value="-llz4" location="end"/>
+ </cpptasks:cc>
+ </target>
+
diff --git a/lz4-java-1.3.0-test.patch b/lz4-java-1.3.0-test.patch
new file mode 100644
index 0000000..1931d3d
--- /dev/null
+++ b/lz4-java-1.3.0-test.patch
@@ -0,0 +1,72 @@
+diff -Nru lz4-java-1.3.0/src/test/net/jpountz/lz4/LZ4Test.java
lz4-java-1.3.0.test/src/test/net/jpountz/lz4/LZ4Test.java
+--- lz4-java-1.3.0/src/test/net/jpountz/lz4/LZ4Test.java 2014-11-26 20:04:10.000000000
+0100
++++ lz4-java-1.3.0.test/src/test/net/jpountz/lz4/LZ4Test.java 2015-07-21
17:51:08.536791152 +0200
+@@ -242,17 +242,17 @@
+
+ @Test
+ public void testRoundtripGeo() throws IOException {
+- testRoundTrip("/calgary/geo");
++ //testRoundTrip("/calgary/geo");
+ }
+
+ @Test
+ public void testRoundtripBook1() throws IOException {
+- testRoundTrip("/calgary/book1");
++ //testRoundTrip("/calgary/book1");
+ }
+
+ @Test
+ public void testRoundtripPic() throws IOException {
+- testRoundTrip("/calgary/pic");
++ //testRoundTrip("/calgary/pic");
+ }
+
+ @Test
+@@ -372,30 +372,30 @@
+
+ @Test
+ public void testMaxDistance() {
+- final int len = randomIntBetween(1 << 17, 1 << 18);
++ /*final int len = randomIntBetween(1 << 17, 1 << 18);
+ final int off = randomInt(len - (1 << 16) - (1 << 15));
+ final byte[] buf = new byte[len];
+ for (int i = 0; i < (1 << 15); ++i) {
+ buf[off + i] = randomByte();
+ }
+ System.arraycopy(buf, off, buf, off + 65535, 1 << 15);
+- testRoundTrip(buf);
++ testRoundTrip(buf);*/
+ }
+
+ @Test
+ @Repeat(iterations=10)
+ public void testRandomData() {
+- final int n = randomIntBetween(1, 15);
+- final int off = randomInt(1000);
+- final int len = randomBoolean() ? randomInt(1 << 16) : randomInt(1 <<
20);
+- final byte[] data = randomArray(off + len + randomInt(100), n);
+- testRoundTrip(data, off, len);
++ //final int n = randomIntBetween(1, 15);
++ //final int off = randomInt(1000);
++ //final int len = randomBoolean() ? randomInt(1 << 16) : randomInt(1 <<
20);
++ //final byte[] data = randomArray(off + len + randomInt(100), n);
++ //testRoundTrip(data, off, len);
+ }
+
+ @Test
+ //
https://github.com/jpountz/lz4-java/issues/12
+ public void testRoundtripIssue12() {
+- byte[] data = new byte[]{
++ /*byte[] data = new byte[]{
+ 14, 72, 14, 85, 3, 72, 14, 85, 3, 72, 14, 72, 14, 72, 14, 85, 3, 72, 14, 72, 14,
72, 14, 72, 14, 72, 14, 72, 14, 85, 3, 72,
+ 14, 85, 3, 72, 14, 85, 3, 72, 14, 85, 3, 72, 14, 85, 3, 72, 14, 85, 3, 72, 14,
50, 64, 0, 46, -1, 0, 0, 0, 29, 3, 85,
+ 8, -113, 0, 68, -97, 3, 0, 2, 3, -97, 6, 0, 68, -113, 0, 2, 3, -97, 6, 0, 68,
-113, 0, 2, 3, 85, 8, -113, 0, 68, -97, 3,
+@@ -445,7 +445,7 @@
+ 5, 72, 13, 85, 5, 72, 13, 72, 13, 72, 13, 72, 13, 85, 5, 72, 13, 85, 5, 72, 13,
85, 5, 72, 13, 72, 13, 85, 5, 72, 13, 72,
+ 13, 85, 5, 72, 13, 72, 13, 85, 5, 72, 13, -19, -24, -101, -35
+ };
+- testRoundTrip(data, 9, data.length - 9);
++ testRoundTrip(data, 9, data.length - 9);*/
+ }
+
+ private static void assertCompressedArrayEquals(String message, byte[] expected,
byte[] actual) {
diff --git a/lz4-java.spec b/lz4-java.spec
new file mode 100644
index 0000000..e989247
--- /dev/null
+++ b/lz4-java.spec
@@ -0,0 +1,158 @@
+# empty debuginfo
+%global debug_package %nil
+
+%global build_opts -Doffline=true -Divy.mode=local
-Divysettings.xml=/etc/ivy/ivysettings.xml -Divy.revision=%{version}
+
+Name: lz4-java
+Version: 1.3.0
+Release: 13%{?dist}
+Summary: LZ4 compression for Java
+# GPL: src/xxhash/bench.c
+# src/lz4/programs
+# BSD: src/xxhash/xxhash.c src/xxhash/xxhash.h
+# src/lz4
+License: ASL 2.0 and (BSD and GPLv2+)
+URL:
https://github.com/jpountz/lz4-java
+Source0:
https://github.com/jpountz/lz4-java/archive/%{version}.tar.gz
+
+# Disable maven-ant-tasks and old aqute-bnd (1.50.x) support
+# Add support for system mvel2
+# Fix doclint/encoding in javadoc task
+Patch0: lz4-java-1.3.0-build.patch
+# Use randomizedtesting <= 2.1.3
+Patch1: lz4-java-1.3.0-junit_Assert.patch
+
+# Build tools
+BuildRequires: ant
+BuildRequires: ant-junit
+BuildRequires: aqute-bnd
+BuildRequires: cpptasks
+BuildRequires: gcc
+BuildRequires: ivy-local
+BuildRequires: java-devel
+BuildRequires: javapackages-local
+BuildRequires: mvel
+BuildRequires: objectweb-asm
+BuildRequires: randomizedtesting-junit4-ant
+# Other missing build deps
+BuildRequires: bea-stax-api
+BuildRequires: xerces-j2
+BuildRequires: apache-parent
+#
https://github.com/jpountz/lz4-java/issues/74
+# lz4 >= r128 is incompatible with lz4-java apparently
+# due to differences in the framing implementation
+Provides: bundled(lz4) = r122
+# FPC ticket Bundled Library Exception
+#
https://fedorahosted.org/fpc/ticket/603
+Provides: bundled(libxxhash) = r37
+
+%description
+LZ4 compression for Java, based on Yann Collet's work.
+This library provides access to two compression methods
+that both generate a valid LZ4 stream:
+
+* fast scan (LZ4):
+ ° low memory footprint (~ 16 KB),
+ ° very fast (fast scan with skipping heuristics in case the
+ input looks incompressible),
+ ° reasonable compression ratio (depending on the
+ redundancy of the input).
+* high compression (LZ4 HC):
+ ° medium memory footprint (~ 256 KB),
+ ° rather slow (~ 10 times slower than LZ4),
+ ° good compression ratio (depending on the size and
+ the redundancy of the input).
+
+The streams produced by those 2 compression algorithms use the
+same compression format, are very fast to decompress and can be
+decompressed by the same decompressor instance.
+
+%package javadoc
+Summary: Javadoc for %{name}
+BuildArch: noarch
+
+%description javadoc
+This package contains javadoc for %{name}.
+
+%prep
+%setup -q -n %{name}-%{version}
+# Cleanup
+find -name '*.dylib' -print -delete
+find -name '*.so' -print -delete
+
+%patch0 -p1
+%patch1 -p1
+
+cp -p src/xxhash/LICENSE LICENSE.xxhash
+cp -p src/lz4/LICENSE lz4_LICENSE
+
+# Fix OSGi manifest entries
+echo "Export-Package: net.jpountz.*,!linux.*" >> lz4.bnd
+sed -i '/packages.version/d' lz4.bnd
+
+%build
+
+ant %build_opts -Divy.pom.version=%{version} jar docs makepom
+
+# bunlde task use old bnd wrap configuration, is not usable
+bnd wrap -p lz4.bnd -o dist/lz4-%{version}.jar --version %{version} dist/lz4.jar
+
+%install
+%mvn_file net.jpountz.lz4:lz4 lz4
+%mvn_artifact dist/lz4-%{version}.pom dist/lz4-%{version}.jar
+%mvn_install -J build/docs
+
+%ifnarch %{arm} aarch64 ppc64
+# FIXME - tests fail on aarch64 for unknown reason.
+# On armhfp tests are skipped due to poor JVM performance ("Execution
+# time total: 3 hours 37 minutes 14 seconds" ... waste of time)
+%check
+ant %build_opts test
+%endif
+
+%files -f .mfiles
+%doc CHANGES.md README.md
+%license LICENSE.txt LICENSE.xxhash lz4_LICENSE
+
+%files javadoc -f .mfiles-javadoc
+%license LICENSE.txt
+
+%changelog
+* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-13
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Wed Jul 24 2019 Fabio Valentini <decathorpe(a)gmail.com> - 1.3.0-12
+- Add BuildRequires: gcc to fix FTBFS issue.
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-11
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-10
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-9
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-8
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-7
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Sun Feb 19 2017 gil cattaneo <puntogil(a)libero.it> 1.3.0-6
+- disable test suite on ppc64
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-5
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon Sep 12 2016 gil cattaneo <puntogil(a)libero.it> 1.3.0-4
+- exclude aarch64
+
+* Tue May 03 2016 gil cattaneo <puntogil(a)libero.it> 1.3.0-3
+- fix test suite
+
+* Tue May 03 2016 gil cattaneo <puntogil(a)libero.it> 1.3.0-2
+- unbundle lz4 code (lz4-java issues#74)
+
+* Mon Jul 20 2015 gil cattaneo <puntogil(a)libero.it> 1.3.0-1
+- initial rpm
diff --git a/sources b/sources
new file mode 100644
index 0000000..678213a
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b9a4eb57fd0667df96135854c9e6f139 1.3.0.tar.gz