dev-java/fec: Remove dev-java/concurrent-util dependency. Fixes bug 546500.

Package-Manager: portage-2.2.20.1
Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
This commit is contained in:
Patrice Clement
2015-10-18 16:23:18 +00:00
parent 4bd363b63b
commit e2f2848d96
5 changed files with 180 additions and 12 deletions

View File

@@ -1 +1,2 @@
DIST fec-1.0.4.tar.bz2 611131 SHA256 978d0ef609ec334ea85e3f70e46a94f6c2cc04393b590a2addfc74e03634b8dd SHA512 45e33fc4b71fcd78a7c5310f2b58df8b83a988500d0de7efebbeade712f5c93d57bbe63fd7dc148ccb1cc6418fc9c79e27be6fe0512e2294c289b192c01ab871 WHIRLPOOL cef5de5b24ddc33f6a85581cd149d3c5887f8f49843df5918158d137b263a58b888149fe68e293bc697db0b7b74e3952fabc1842f8b8f80932de379f2c7bf0d2
DIST fec-1.0.4.tar.gz 449406 SHA256 b33f5558f53e1abd9a4e58b5898cd605607698f22679f577f5fdf6cb1a2dd48a SHA512 0244de5e44ab108e921c6ca4cf341ce7b3ba807a76d24b768cfe3de71ffd525c9ebf389f9981e7eaa83fec301a65ba60ef4f51c5b3befa6c7af42b793d430343 WHIRLPOOL 3179b18a341b65b6cd295cf5f716887f8c90f03f81017444468dd57220afa4c4e58c5112fd4ef898d4f7fd7a307eb5846ffed6bead8d13fedfc30dc41fbb23d5

View File

@@ -0,0 +1,67 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
JAVA_PKG_IUSE="doc source"
inherit flag-o-matic toolchain-funcs java-pkg-2 java-ant-2
DESCRIPTION="Forward Error Correction library in Java"
HOMEPAGE="https://bitbucket.org/onionnetworks/"
SRC_URI="http://dev.gentoo.org/~monsieurp/packages/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
CDEPEND="dev-java/log4j:0"
RDEPEND=">=virtual/jre-1.6
${CDEPEND}"
DEPEND=">=virtual/jdk-1.6
app-arch/unzip
${CDEPEND}"
PATCHES=(
"${FILESDIR}"/"${P}-libfec8path.patch"
"${FILESDIR}"/"${P}-build.patch"
"${FILESDIR}"/"${P}-soname.patch"
"${FILESDIR}"/"${P}-remove-concurrent-util-imports.patch"
)
JAVA_ANT_REWRITE_CLASSPATH="yes"
EANT_GENTOO_CLASSPATH="log4j"
EANT_BUILD_TARGET="jars"
# There seems to be unit tests, but they are in such a state.
RESTRICT="test"
java_prepare() {
# In fact, we'll wipe tests altogether.
rm -rf tests || die
# Apply patches.
epatch "${PATCHES[@]}"
# Get rid of bundled jars.
java-pkg_clean
}
src_compile() {
java-pkg-2_src_compile
einfo "Sucessfully compiled Java classes!"
cd "${S}"/src/csrc || die
append-flags -fPIC
emake CC=$(tc-getCC) CFLAGS="${CFLAGS} $(java-pkg_get-jni-cflags)" || die
einfo "Sucessfully compiled C files!"
}
src_install() {
java-pkg_newjar "lib/onion-${PN}.jar" "${PN}.jar"
use doc && java-pkg_dojavadoc javadoc
use source && java-pkg_dosrc src/com
dolib.so src/csrc/libfec{8,16}.so || die
}

View File

@@ -1,8 +1,6 @@
Index: csrc/Makefile
===================================================================
--- src/csrc.orig/Makefile
+++ src/csrc/Makefile
@@ -28,11 +28,8 @@ fec8-jinterf.o: fec-jinterf.c
--- src/csrc/Makefile.orig 2015-10-18 14:31:56.752486000 +0000
+++ src/csrc/Makefile 2015-10-18 14:33:11.502486000 +0000
@@ -28,11 +28,8 @@
-I$(JAVA_HOME)/include/linux fec-jinterf.c \
-o fec8-jinterf.o
@@ -16,7 +14,7 @@ Index: csrc/Makefile
libfec16.so: fec16.o fec16-jinterf.o
$(CC) $(LDFLAGS) -shared fec16-jinterf.o fec16.o -o libfec16.so
@@ -42,11 +39,8 @@ fec16-jinterf.o: fec-jinterf.c
@@ -42,11 +39,8 @@
-I$(JAVA_HOME)/include/linux fec-jinterf.c \
-o fec16-jinterf.o

View File

@@ -1,5 +1,5 @@
--- src/com/onionnetworks/fec/Native8Code.java 2009-08-21 02:37:00.515004583 +0200
+++ src/com/onionnetworks/fec/Native8Code.java.new 2009-08-21 02:37:57.829254678 +0200
--- src/com/onionnetworks/fec/Native8Code.java.orig 2015-10-18 14:27:06.160486000 +0000
+++ src/com/onionnetworks/fec/Native8Code.java 2015-10-18 14:30:32.557486000 +0000
@@ -3,6 +3,7 @@
//import java.security.AccessController;
//import sun.security.action.*;
@@ -16,14 +16,15 @@
- (Native8Code.class.getClassLoader(),"fec8");
- if (path != null) {
- System.load(path);
+ File path = new File("/usr/lib/libfec8.so");
+ System.out.println("Loading FEC lib ["+path.getAbsolutePath()+']');
+ System.load(path.getAbsolutePath());
initFEC();
- initFEC();
- } else {
- System.out.println("Unable to find native library for fec8 for platform "+NativeDeployer.OS_ARCH);
- System.out.println(path);
- }
+ File path = new File("/usr/lib/libfec8.so");
+ System.out.println("Loading FEC lib ["+path.getAbsolutePath()+']');
+ System.load(path.getAbsolutePath());
+ initFEC();
}
public Native8Code(int k, int n) {

View File

@@ -0,0 +1,101 @@
--- src/com/onionnetworks/fec/io/FECFile.java.orig 2015-10-18 15:38:26.000000000 +0000
+++ src/com/onionnetworks/fec/io/FECFile.java 2015-10-18 16:06:51.159486000 +0000
@@ -10,7 +10,9 @@
import com.onionnetworks.fec.FECCodeFactory;
import com.onionnetworks.io.RAF;
import com.onionnetworks.util.*;
-import EDU.oswego.cs.dl.util.concurrent.*;
+
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
/**
* This class provides the necessary file IO routines to go along with the raw
@@ -129,9 +131,9 @@
this.raf = new RAF(f,mode); // synched RandomAccessFile
// Create the locks.
- locks = new ReadWriteLock[blockCount];
+ locks = new ReentrantReadWriteLock[blockCount];
for (int i=0;i<locks.length;i++) {
- locks[i] = new ReentrantWriterPreferenceReadWriteLock();
+ locks[i] = new ReentrantReadWriteLock();
}
// add the default exception handler.
@@ -258,7 +260,7 @@
byte[] b = null;
try {
- locks[blockNum].readLock().acquire();
+ locks[blockNum].readLock().lock();
try {
// This raf check then pp access is safe because all
@@ -296,9 +298,9 @@
return;
}
} finally {
- locks[blockNum].readLock().release();
+ locks[blockNum].readLock().unlock();
}
- } catch (InterruptedException e) {
+ } catch (Exception e) {
throw new InterruptedIOException(e.toString());
}
@@ -342,13 +344,13 @@
int result = -1;
try {
- locks[blockNum].writeLock().acquire();
+ locks[blockNum].writeLock().lock();
try {
result = write0(pkt,blockNum,stripeNum);
} finally {
- locks[blockNum].writeLock().release();
+ locks[blockNum].writeLock().unlock();
}
- } catch (InterruptedException e) {
+ } catch (Exception e) {
throw new InterruptedIOException(e.toString());
}
@@ -444,16 +446,16 @@
}
try {
- locks[blockNum].writeLock().acquire();
+ locks[blockNum].writeLock().lock();
try {
// seek and write the decoded block.
raf.seekAndWrite(blockNum*blockSize,b,0,b.length);
// Update the placement to show decoded entries.
pp.setBlockDecoded(blockNum);
} finally {
- locks[blockNum].writeLock().release();
+ locks[blockNum].writeLock().unlock();
}
- } catch (InterruptedException e) {
+ } catch (Exception e) {
throw new InterruptedIOException(e.toString());
}
@@ -468,7 +470,7 @@
*/
public void acquireAllWriteLocks() throws InterruptedException {
for (int i=0;i<locks.length;i++) {
- locks[i].writeLock().acquire();
+ locks[i].writeLock().lock();
}
}
@@ -479,7 +481,7 @@
*/
public void releaseAllWriteLocks() throws InterruptedException {
for (int i=0;i<locks.length;i++) {
- locks[i].writeLock().release();
+ locks[i].writeLock().unlock();
}
}