i don't remember why i have this but i think it had to do with clion
This commit is contained in:
parent
1e4b4dc4c1
commit
f86885a60c
34
dev-java/jna/files/5.11.0-makefile-flags.patch
Normal file
34
dev-java/jna/files/5.11.0-makefile-flags.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
--- a/native/Makefile
|
||||
+++ b/native/Makefile
|
||||
@@ -81,7 +81,7 @@ LIBPFX=lib
|
||||
LIBSFX=.so
|
||||
ARSFX=.a
|
||||
JNISFX=$(LIBSFX)
|
||||
-CC=gcc
|
||||
+CC?=gcc
|
||||
LD=$(CC)
|
||||
LIBS=
|
||||
# Default to Sun recommendations for JNI compilation
|
||||
@@ -94,10 +94,10 @@ CFLAGS_EXTRA=
|
||||
COUT=-o $@
|
||||
CINCLUDES=$(JAVA_INCLUDES) -I"$(JAVAH)" -I$(FFI_BUILD)/include
|
||||
CDEFINES=-D_REENTRANT
|
||||
-PCFLAGS=-W -Wall -Wno-unused -Wno-parentheses
|
||||
-CFLAGS=$(PCFLAGS) $(CFLAGS_EXTRA) $(COPT) $(CDEBUG) $(CDEFINES) $(CINCLUDES) \
|
||||
+PCFLAGS=-Wall -Wno-unused -Wno-parentheses
|
||||
+CFLAGS+= $(PCFLAGS) $(CFLAGS_EXTRA) $(COPT) $(CDEBUG) $(CDEFINES) $(CINCLUDES) \
|
||||
-DJNA_JNI_VERSION='"$(JNA_JNI_VERSION)"' -DCHECKSUM='"$(CHECKSUM)"'
|
||||
-LDFLAGS=-o $@ -shared
|
||||
+LDFLAGS+= -o $@ -shared
|
||||
ifeq ($(DYNAMIC_LIBFFI),true)
|
||||
CFLAGS += $(shell pkg-config --cflags libffi 2>/dev/null || echo)
|
||||
LIBS += $(shell pkg-config --libs libffi 2>/dev/null || echo -lffi)
|
||||
@@ -108,7 +108,7 @@ endif
|
||||
# Avoid bug in X11-based 1.5/1.6 VMs; dynamically load instead of linking
|
||||
# See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6539705
|
||||
#LIBS=-L"$(LIBDIR)" -ljawt
|
||||
-STRIP=strip -x
|
||||
+STRIP?=strip -x
|
||||
# end defaults
|
||||
|
||||
# Android build (cross-compile) requires the android NDK.
|
17
dev-java/jna/files/jna-5.11.0-no-Werror.patch
Normal file
17
dev-java/jna/files/jna-5.11.0-no-Werror.patch
Normal file
|
@ -0,0 +1,17 @@
|
|||
https://bugs.gentoo.org/888813
|
||||
--- a/native/Makefile
|
||||
+++ b/native/Makefile
|
||||
@@ -356,11 +356,11 @@ ifeq ($(CC),gcc)
|
||||
GCC_MAJOR_VERSION = $(shell gcc -dumpversion | cut -f 1 -d '.')
|
||||
ifneq ($(GCC_MAJOR_VERSION),4)
|
||||
ifneq ($(GCC_MAJOR_VERSION),3)
|
||||
- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable -Wno-alloca-larger-than
|
||||
+ LOC_CC_OPTS=-Wno-unknown-warning-option -Wno-clobbered -Wno-unused-variable -Wno-alloca-larger-than
|
||||
endif
|
||||
endif
|
||||
else
|
||||
- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable
|
||||
+ LOC_CC_OPTS=-Wno-unknown-warning-option -Wno-clobbered -Wno-unused-variable
|
||||
endif
|
||||
|
||||
# Enable 64-bit builds if the arch demands it
|
12
dev-java/jna/files/jna-5.13.0-LibCTest.patch
Normal file
12
dev-java/jna/files/jna-5.13.0-LibCTest.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
Bug #906053
|
||||
--- a/contrib/platform/test/com/sun/jna/platform/linux/LibCTest.java
|
||||
+++ b/contrib/platform/test/com/sun/jna/platform/linux/LibCTest.java
|
||||
@@ -71,7 +71,7 @@ public class LibCTest extends TestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
- public void testStatvfs() throws IOException, InterruptedException {
|
||||
+ public void noTestStatvfs() throws IOException, InterruptedException {
|
||||
Statvfs vfs = new Statvfs();
|
||||
|
||||
String testDirectory = "/";
|
103
dev-java/jna/files/jna-5.13.0-testpath.patch
Normal file
103
dev-java/jna/files/jna-5.13.0-testpath.patch
Normal file
|
@ -0,0 +1,103 @@
|
|||
This patch solves several test failures on com.sun.jna.LibraryLoadTest like
|
||||
"Expected JNA native library at build/native-linux-x86-64/libtestlib.so is missing"
|
||||
--- a/test/com/sun/jna/Paths.java
|
||||
+++ b/test/com/sun/jna/Paths.java
|
||||
@@ -47,12 +47,12 @@ public interface Paths {
|
||||
USING_CLOVER
|
||||
? "build.clover" : "build");
|
||||
String CLASSES = BUILDDIR + (Platform.isWindowsCE() ? "" : "/classes");
|
||||
- String JNAJAR = BUILDDIR + "/jna.jar";
|
||||
+ String JNAJAR = "jna.jar";
|
||||
|
||||
String TESTPATH = Platform.isWindowsCE()
|
||||
? "/Storage Card/"
|
||||
: System.getProperty("jna.nativedir",
|
||||
- BUILDDIR + "/native-" + Platform.RESOURCE_PREFIX + "/");
|
||||
+ BUILDDIR + "/native/");
|
||||
String TESTJAR = BUILDDIR + "/jna-test.jar";
|
||||
String TESTJAR2 = BUILDDIR + "/jna-test2.jar";
|
||||
String TESTJAR3 = BUILDDIR + "/jna-test3.jar";
|
||||
1) testAvoidJarUnpacking(com.sun.jna.JNALoadTest)
|
||||
java.lang.ClassNotFoundException: com.sun.jna.Native
|
||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.findClass(JNALoadTest.java:64)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
|
||||
at java.lang.Class.forName0(Native Method)
|
||||
at java.lang.Class.forName(Class.java:348)
|
||||
at com.sun.jna.JNALoadTest.testAvoidJarUnpacking(JNALoadTest.java:94)
|
||||
2) testLoadAndUnloadFromJar(com.sun.jna.JNALoadTest)
|
||||
java.lang.ClassNotFoundException: com.sun.jna.Native
|
||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.findClass(JNALoadTest.java:64)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
|
||||
at java.lang.Class.forName0(Native Method)
|
||||
at java.lang.Class.forName(Class.java:348)
|
||||
at com.sun.jna.JNALoadTest.testLoadAndUnloadFromJar(JNALoadTest.java:128)
|
||||
3) testAvoidResourcePathLoading(com.sun.jna.JNALoadTest)
|
||||
java.lang.Error: Expected JNA library at build/classes/com/sun/jna/linux-x86-64/libjnidispatch.so is missing
|
||||
at com.sun.jna.JNALoadTest.assertLibraryExists(JNALoadTest.java:87)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.<init>(JNALoadTest.java:54)
|
||||
at com.sun.jna.JNALoadTest.testAvoidResourcePathLoading(JNALoadTest.java:109)
|
||||
4) testLoadFromUnicodePath(com.sun.jna.JNALoadTest)
|
||||
java.lang.ClassNotFoundException: com.sun.jna.Native
|
||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.findClass(JNALoadTest.java:64)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
|
||||
at java.lang.Class.forName0(Native Method)
|
||||
at java.lang.Class.forName(Class.java:348)
|
||||
at com.sun.jna.JNALoadTest.testLoadFromUnicodePath(JNALoadTest.java:255)
|
||||
5) testLoadAndUnloadFromResourcePath(com.sun.jna.JNALoadTest)
|
||||
java.lang.Error: Expected JNA library at build/classes/com/sun/jna/linux-x86-64/libjnidispatch.so is missing
|
||||
at com.sun.jna.JNALoadTest.assertLibraryExists(JNALoadTest.java:87)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.<init>(JNALoadTest.java:54)
|
||||
at com.sun.jna.JNALoadTest.testLoadAndUnloadFromResourcePath(JNALoadTest.java:184)
|
||||
--- a/test/com/sun/jna/JNALoadTest.java
|
||||
+++ b/test/com/sun/jna/JNALoadTest.java
|
||||
@@ -45,7 +45,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
super(new URL[]{
|
||||
Platform.isWindowsCE()
|
||||
? new File("/Storage Card/" + (fromJar ? "jna.jar" : "test.jar")).toURI().toURL()
|
||||
- : new File(BUILDDIR + (fromJar ? "/jna.jar" : "/classes")).toURI().toURL()},
|
||||
+ : new File((fromJar ? "jna.jar" : "/classes")).toURI().toURL()},
|
||||
new CloverLoader());
|
||||
if (fromJar) {
|
||||
assertJarExists();
|
||||
@@ -103,7 +103,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
}
|
||||
}
|
||||
|
||||
- public void testAvoidResourcePathLoading() throws Exception {
|
||||
+ public void noTestAvoidResourcePathLoading() throws Exception {
|
||||
System.setProperty("jna.noclasspath", "true");
|
||||
try {
|
||||
Class<?> cls = Class.forName("com.sun.jna.Native", true, new TestLoader(false));
|
||||
@@ -118,7 +118,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
}
|
||||
}
|
||||
|
||||
- public void testLoadAndUnloadFromJar() throws Exception {
|
||||
+ public void noTestLoadAndUnloadFromJar() throws Exception {
|
||||
if (Platform.isIntel() && (! Platform.is64Bit())) {
|
||||
System.out.println("Skip " + getName() + " - it is known to be flaky and produces false positives on x86-32bit");
|
||||
return;
|
||||
@@ -175,7 +175,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
}
|
||||
|
||||
// GC Fails under OpenJDK(linux/ppc)
|
||||
- public void testLoadAndUnloadFromResourcePath() throws Exception {
|
||||
+ public void noTestLoadAndUnloadFromResourcePath() throws Exception {
|
||||
if (Platform.isIntel() && (! Platform.is64Bit())) {
|
||||
System.out.println("Skip " + getName() + " - it is known to be flaky and produces false positives on x86-32bit");
|
||||
return;
|
||||
@@ -231,7 +231,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
}
|
||||
}
|
||||
|
||||
- public void testLoadFromUnicodePath() throws Exception {
|
||||
+ public void noTestLoadFromUnicodePath() throws Exception {
|
||||
if (Platform.isWindows()) {
|
||||
String vendor = System.getProperty("java.vendor");
|
||||
if (vendor != null) {
|
197
dev-java/jna/jna-6.1.4.ebuild.bak
Normal file
197
dev-java/jna/jna-6.1.4.ebuild.bak
Normal file
|
@ -0,0 +1,197 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
JAVA_PKG_IUSE="doc source test"
|
||||
MAVEN_PROVIDES="
|
||||
net.java.dev.jna:jna:${PV}
|
||||
net.java.dev.jna:jna-platform:${PV}
|
||||
"
|
||||
JAVA_TESTING_FRAMEWORKS="junit-4"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple toolchain-funcs
|
||||
|
||||
DESCRIPTION="Java Native Access"
|
||||
HOMEPAGE="https://github.com/java-native-access/jna"
|
||||
SRC_URI="https://github.com/java-native-access/jna/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${P}"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 LGPL-2.1+ )"
|
||||
SLOT="4"
|
||||
KEYWORDS="amd64 ~arm arm64 ppc64 x86"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
CDEPEND="
|
||||
>=dev-libs/libffi-3.4:=
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
>=virtual/jdk-1.8:*
|
||||
test? (
|
||||
dev-java/reflections:0
|
||||
)
|
||||
${CDEPEND}
|
||||
x11-libs/libXt
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/jre-1.8:*
|
||||
${CDEPEND}
|
||||
"
|
||||
|
||||
DOCS=( README.md CHANGES.md OTHERS TODO )
|
||||
PATCHES=(
|
||||
"${FILESDIR}/5.11.0-makefile-flags.patch"
|
||||
"${FILESDIR}/jna-5.11.0-no-Werror.patch"
|
||||
"${FILESDIR}/jna-5.13.0-testpath.patch"
|
||||
"${FILESDIR}/jna-5.13.0-LibCTest.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
java-pkg-2_src_prepare
|
||||
java-pkg_clean
|
||||
mkdir -p "res/META-INF" || die
|
||||
echo "Main-Class: com.sun.jna.Native" > "res/META-INF/MANIFEST.MF" || die
|
||||
|
||||
# https://github.com/java-native-access/jna/blob/5.13.0/build.xml#L402-L407
|
||||
sed \
|
||||
-e "/VERSION =/s:TEMPLATE:${PV}:" \
|
||||
-e '/VERSION_NATIVE =/s:TEMPLATE:5.1.0:' \
|
||||
-i src/com/sun/jna/Version.java || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
einfo "Compiling jna.jar"
|
||||
JAVA_AUTOMATIC_MODULE_NAME="com.sun.jna"
|
||||
JAVA_JAR_FILENAME="jna.jar"
|
||||
JAVA_RESOURCE_DIRS="res"
|
||||
JAVA_SRC_DIR="src"
|
||||
java-pkg-simple_src_compile
|
||||
JAVA_GENTOO_CLASSPATH_EXTRA+=":jna.jar"
|
||||
rm -r target || die
|
||||
|
||||
einfo "Compiling jna-platform.jar"
|
||||
JAVA_AUTOMATIC_MODULE_NAME="com.sun.jna.platform"
|
||||
JAVA_JAR_FILENAME="jna-platform.jar"
|
||||
JAVA_RESOURCE_DIRS=""
|
||||
JAVA_SRC_DIR="contrib/platform/src"
|
||||
java-pkg-simple_src_compile
|
||||
JAVA_GENTOO_CLASSPATH_EXTRA+=":jna-platform.jar"
|
||||
rm -r target || die
|
||||
|
||||
if use doc; then
|
||||
einfo "Compiling javadocs"
|
||||
JAVA_SRC_DIR=(
|
||||
"src"
|
||||
"contrib/platform/src"
|
||||
)
|
||||
JAVA_JAR_FILENAME="ignoreme.jar"
|
||||
java-pkg-simple_src_compile
|
||||
fi
|
||||
|
||||
einfo "Generating headers com_sun_jna_Native.h com_sun_jna_Function.h"
|
||||
ejavac -h native -classpath "src" \
|
||||
"src/com/sun/jna/Function.java" \
|
||||
"src/com/sun/jna/Native.java" || die
|
||||
|
||||
einfo "Building native library"
|
||||
cd native || die
|
||||
local args=(
|
||||
CC="$(tc-getCC)"
|
||||
STRIP=true
|
||||
DYNAMIC_LIBFFI=true
|
||||
)
|
||||
# Using -j1 since otherwise fails to build:
|
||||
# cannot find ../build/native/libtestlib.so: No such file or directory
|
||||
# [Makefile:505: ../build/native/libtestlib2.so] Error 1
|
||||
emake -j1 "${args[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
JAVA_TEST_EXTRA_ARGS=(
|
||||
-Djna.nosys=true
|
||||
-Djna.boot.library.path=build/native
|
||||
-Djna.library.path=build/native
|
||||
)
|
||||
JAVA_TEST_GENTOO_CLASSPATH="
|
||||
junit-4
|
||||
reflections
|
||||
"
|
||||
|
||||
JAVA_TEST_SRC_DIR="contrib/platform/test"
|
||||
rm -r contrib/platform/test/com/sun/jna/platform/{mac,unix,win32} || die
|
||||
JAVA_TEST_EXCLUDES=(
|
||||
# 1) testGetXAttr(com.sun.jna.platform.linux.XAttrUtilTest)
|
||||
# java.io.IOException: errno: 95
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:85)
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:70)
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:56)
|
||||
# at com.sun.jna.platform.linux.XAttrUtilTest.testGetXAttr(XAttrUtilTest.java:83)
|
||||
# 2) setXAttr(com.sun.jna.platform.linux.XAttrUtilTest)
|
||||
# java.io.IOException: errno: 95
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:85)
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:70)
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:56)
|
||||
# at com.sun.jna.platform.linux.XAttrUtilTest.setXAttr(XAttrUtilTest.java:53)
|
||||
com.sun.jna.platform.linux.XAttrUtilTest
|
||||
)
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_SRC_DIR="test"
|
||||
rm -r test/com/sun/jna/wince || die
|
||||
rm -r test/com/sun/jna/win32 || die
|
||||
|
||||
# 1) testLoadFromJarAbsolute(com.sun.jna.LibraryLoadTest)
|
||||
# java.lang.UnsatisfiedLinkError: Unable to load library '/libtestlib-jar.so':
|
||||
# /libtestlib-jar.so: cannot open shared object file: No such file or directory
|
||||
jar cvf build/jna-test.jar \
|
||||
-C build/native libtestlib-jar.so \
|
||||
-C test com/sun/jna/data || die
|
||||
JAVA_GENTOO_CLASSPATH_EXTRA+=":build/jna-test.jar"
|
||||
|
||||
JAVA_TEST_EXCLUDES=(
|
||||
com.sun.jna.CallbacksTest # Needs to run separately
|
||||
com.sun.jna.DirectTest # Needs to run separately
|
||||
com.sun.jna.NativeTest # Needs to run separately
|
||||
com.sun.jna.TypeMapperTest # Needs to run separately
|
||||
com.sun.jna.UnionTest # Needs to run separately
|
||||
com.sun.jna.VMCrashProtectionTest # Needs to run separately
|
||||
)
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_RUN_ONLY=(
|
||||
com.sun.jna.CallbacksTest
|
||||
com.sun.jna.DirectTest
|
||||
com.sun.jna.UnionTest
|
||||
)
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_RUN_ONLY=( com.sun.jna.NativeTest )
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_RUN_ONLY=( com.sun.jna.VMCrashProtectionTest )
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_RUN_ONLY=( com.sun.jna.TypeMapperTest )
|
||||
java-pkg-simple_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
java-pkg_dojar jna.jar jna-platform.jar
|
||||
java-pkg_doso build/native/libjnidispatch.so
|
||||
|
||||
if use doc; then
|
||||
java-pkg_dojavadoc target/api
|
||||
fi
|
||||
|
||||
if use source; then
|
||||
java-pkg_dosrc "src/*"
|
||||
java-pkg_dosrc "contrib/platform/src/*"
|
||||
fi
|
||||
}
|
Loading…
Reference in a new issue