summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/bcmail/bcmail-1.71.ebuild2
-rw-r--r--dev-java/bcpg/bcpg-1.71.ebuild2
-rw-r--r--dev-java/bcpkix/bcpkix-1.71-r1.ebuild2
-rw-r--r--dev-java/bcprov/bcprov-1.71-r1.ebuild2
-rw-r--r--dev-java/bcutil/bcutil-1.71.ebuild2
-rw-r--r--dev-java/gluegen/files/gluegen-2.2.4-dont-test-archive.patch14
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-add-mips64el-mipsn32-support.diff229
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-armhf.diff62
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-disable-java-version-check.diff28
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-disable-static-linking.diff42
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-disable-test-zip-archive.diff11
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-disableArchive7z.diff26
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-disable_git_call.diff17
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-dont-strip.patch (renamed from dev-java/gluegen/files/gluegen-2.2.4-dont-strip.patch)3
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-fix-alpha-build-config.patch11
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-fix-arm64-build-config.diff75
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-fix_gcc-10.patch18
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-hideException.diff18
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-java10-compatibility.patch263
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-linker.diff11
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-missing-arch-symbol.diff39
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-non-linux-support.diff16
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-ppc64el-support.diff207
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-remove-static-lib.patch106
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-rtjar.diff67
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-s390x-support.diff138
-rw-r--r--dev-java/gluegen/files/gluegen-2.3.2-tests.diff171
-rw-r--r--dev-java/gluegen/gluegen-2.3.2.ebuild36
-rw-r--r--dev-java/javax-jms-api/Manifest1
-rw-r--r--dev-java/javax-jms-api/javax-jms-api-2.0.3.ebuild29
-rw-r--r--dev-java/javax-jms-api/metadata.xml12
-rw-r--r--dev-java/jctools-core/Manifest1
-rw-r--r--dev-java/jctools-core/jctools-core-3.3.0.ebuild64
-rw-r--r--dev-java/jna/Manifest1
-rw-r--r--dev-java/jna/jna-5.10.0.ebuild99
-rw-r--r--dev-java/log4j-12-api/Manifest1
-rw-r--r--dev-java/log4j-12-api/log4j-12-api-2.18.0.ebuild84
-rw-r--r--dev-java/log4j-api/Manifest1
-rw-r--r--dev-java/log4j-api/log4j-api-2.18.0.ebuild71
-rw-r--r--dev-java/log4j-core/Manifest1
-rw-r--r--dev-java/log4j-core/log4j-core-2.18.0.ebuild175
-rw-r--r--dev-java/osgi-annotation/Manifest1
-rw-r--r--dev-java/osgi-annotation/metadata.xml9
-rw-r--r--dev-java/osgi-annotation/osgi-annotation-8.1.0.ebuild28
-rw-r--r--dev-java/osgi-core/Manifest1
-rw-r--r--dev-java/osgi-core/metadata.xml9
-rw-r--r--dev-java/osgi-core/osgi-core-8.0.0.ebuild33
47 files changed, 1999 insertions, 240 deletions
diff --git a/dev-java/bcmail/bcmail-1.71.ebuild b/dev-java/bcmail/bcmail-1.71.ebuild
index 4289507b141d..20f703b908f4 100644
--- a/dev-java/bcmail/bcmail-1.71.ebuild
+++ b/dev-java/bcmail/bcmail-1.71.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
CDEPEND="
~dev-java/bcpkix-${PV}:0
diff --git a/dev-java/bcpg/bcpg-1.71.ebuild b/dev-java/bcpg/bcpg-1.71.ebuild
index 909aeecf382f..e6901863e5a5 100644
--- a/dev-java/bcpg/bcpg-1.71.ebuild
+++ b/dev-java/bcpg/bcpg-1.71.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
CDEPEND="~dev-java/bcprov-${PV}:0"
DEPEND="${CDEPEND}
diff --git a/dev-java/bcpkix/bcpkix-1.71-r1.ebuild b/dev-java/bcpkix/bcpkix-1.71-r1.ebuild
index fbfca26ea0c3..412e25dc53d8 100644
--- a/dev-java/bcpkix/bcpkix-1.71-r1.ebuild
+++ b/dev-java/bcpkix/bcpkix-1.71-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
# 1) testSANMismatchIP(org.bouncycastle.est.test.TestHostNameAuthorizer)
# org.bouncycastle.est.ESTException: localhost.me: Temporary failure in name resolution HTTP Status Code: 0
diff --git a/dev-java/bcprov/bcprov-1.71-r1.ebuild b/dev-java/bcprov/bcprov-1.71-r1.ebuild
index c0262867fb22..09fcf354c7f3 100644
--- a/dev-java/bcprov/bcprov-1.71-r1.ebuild
+++ b/dev-java/bcprov/bcprov-1.71-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
DEPEND=">=virtual/jdk-11:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/bcutil/bcutil-1.71.ebuild b/dev-java/bcutil/bcutil-1.71.ebuild
index 7413c28335ae..9f0b469f14be 100644
--- a/dev-java/bcutil/bcutil-1.71.ebuild
+++ b/dev-java/bcutil/bcutil-1.71.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
CDEPEND="~dev-java/bcprov-${PV}:0"
DEPEND="${CDEPEND}
diff --git a/dev-java/gluegen/files/gluegen-2.2.4-dont-test-archive.patch b/dev-java/gluegen/files/gluegen-2.2.4-dont-test-archive.patch
deleted file mode 100644
index a4f4507cf57a..000000000000
--- a/dev-java/gluegen/files/gluegen-2.2.4-dont-test-archive.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/make/build-test.xml
-+++ b/make/build-test.xml
-@@ -614,9 +614,11 @@ chmod 644 ${results}/* \${line.separator}
-
- <!-- updates / create the test results zip file -->
- <target name="test-zip-archive" depends="init">
-+ <!--
- <archive.7z destfile="${build}/${test.archive.name}.7z"
- basedir="${project.root}"
- includes="${rootrel.build}/test/results ${rootrel.build}/test/results-x64 ${rootrel.build}/test/results-x32" />
-+ -->
- </target>
-
-
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-add-mips64el-mipsn32-support.diff b/dev-java/gluegen/files/gluegen-2.3.2-add-mips64el-mipsn32-support.diff
new file mode 100644
index 000000000000..9de0e28be6c8
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-add-mips64el-mipsn32-support.diff
@@ -0,0 +1,229 @@
+Description: Add mips64(el) and mipsn32(el) support
+Author: YunQiang Su <wzssyqa@gmail.com>, Dejan Latinovic <Dejan.Latinovic@imgtec.com>
+Forwarded: no
+--- a/make/build.xml
++++ b/make/build.xml
+@@ -298,6 +298,30 @@
+ <property name="linker.cfg.id" value="linker.cfg.linux.mipsel" />
+ </target>
+
++ <target name="declare.linux.mipsn32" if="isLinuxMipsn32">
++ <echo message="Linux.mipsn32" />
++ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id" value="linker.cfg.linux.mipsn32" />
++ </target>
++
++ <target name="declare.linux.mipsn32el" if="isLinuxMipsn32el">
++ <echo message="Linux.mipsn32el" />
++ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id" value="linker.cfg.linux.mipsn32el" />
++ </target>
++
++ <target name="declare.linux.mips64" if="isLinuxMips64">
++ <echo message="Linux.mips64" />
++ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id" value="linker.cfg.linux.mips64" />
++ </target>
++
++ <target name="declare.linux.mips64el" if="isLinuxMips64el">
++ <echo message="Linux.mips64el" />
++ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id" value="linker.cfg.linux.mips64el" />
++ </target>
++
+ <target name="declare.linux.ppc" if="isLinuxPpc">
+ <echo message="Linux.ppc" />
+ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
+@@ -340,7 +364,7 @@
+ <property name="linker.cfg.id" value="linker.cfg.linux.sparc" />
+ </target>
+
+- <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.alpha,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.ppc64,declare.linux.ppc64le,declare.linux.aarch64,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6.armel,declare.linux.armv6.armhf" if="isLinux" >
++ <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.alpha,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.mipsn32,declare.linux.mipsn32el,declare.linux.mips64,declare.linux.mips64el,declare.linux.ppc,declare.linux.ppc64,declare.linux.ppc64le,declare.linux.aarch64,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6.armel,declare.linux.armv6.armhf" if="isLinux" >
+ <property name="c.src.dir.os" value="unix" />
+ </target>
+
+--- a/make/gluegen-cpptasks-base.xml
++++ b/make/gluegen-cpptasks-base.xml
+@@ -47,6 +47,10 @@
+ - isLinuxHppa
+ - isLinuxMips
+ - isLinuxMipsel
++ - isLinuxMipsn32
++ - isLinuxMipsn32el
++ - isLinuxMips64
++ - isLinuxMipsn64el
+ - isLinuxPpc
+ - isLinuxPpc64
+ - isLinuxPpc64le
+@@ -135,6 +139,10 @@
+ - compiler.cfg.linux.hppa
+ - compiler.cfg.linux.mips
+ - compiler.cfg.linux.mipsel
++ - compiler.cfg.linux.mipsn32
++ - compiler.cfg.linux.mipsn32el
++ - compiler.cfg.linux.mips64
++ - compiler.cfg.linux.mips64el
+ - compiler.cfg.linux.ppc
+ - compiler.cfg.linux.ppc64
+ - compiler.cfg.linux.ppc64le
+@@ -160,6 +168,10 @@
+ - linker.cfg.linux.hppa
+ - linker.cfg.linux.mips
+ - linker.cfg.linux.mipsel
++ - linker.cfg.linux.mipsn32
++ - linker.cfg.linux.mipsn32el
++ - linker.cfg.linux.mips64
++ - linker.cfg.linux.mips64el
+ - linker.cfg.linux.ppc
+ - linker.cfg.linux.ppc64le
+ - linker.cfg.linux.s390
+@@ -420,6 +432,42 @@
+ <condition property="mipsel">
+ <os arch="mipsel" />
+ </condition>
++ <condition property="isLinuxMipsn32">
++ <and>
++ <istrue value="${isLinux}" />
++ <os arch="mipsn32" />
++ </and>
++ </condition>
++ <condition property="mipsn32">
++ <os arch="mipsn32" />
++ </condition>
++ <condition property="isLinuxMipsn32el">
++ <and>
++ <istrue value="${isLinux}" />
++ <os arch="mipsn32el" />
++ </and>
++ </condition>
++ <condition property="mipsn32el">
++ <os arch="mipsn32el" />
++ </condition>
++ <condition property="isLinuxMips64">
++ <and>
++ <istrue value="${isLinux}" />
++ <os arch="mips64" />
++ </and>
++ </condition>
++ <condition property="mips64">
++ <os arch="mips64" />
++ </condition>
++ <condition property="isLinuxMips64el">
++ <and>
++ <istrue value="${isLinux}" />
++ <os arch="mips64el" />
++ </and>
++ </condition>
++ <condition property="mips64el">
++ <os arch="mips64el" />
++ </condition>
+ <condition property="isLinuxPpc">
+ <and>
+ <istrue value="${isLinux}" />
+@@ -639,6 +687,10 @@
+ <echo message="LinuxHppa=${isLinuxHppa}" />
+ <echo message="LinuxMips=${isLinuxMips}" />
+ <echo message="LinuxMipsel=${isLinuxMipsel}" />
++ <echo message="LinuxMips=${isLinuxMipsn32}" />
++ <echo message="LinuxMipsel=${isLinuxMipsn32el}" />
++ <echo message="LinuxMips=${isLinuxMips64}" />
++ <echo message="LinuxMipsel=${isLinuxMips64el}" />
+ <echo message="LinuxPpc=${isLinuxPpc}" />
+ <echo message="LinuxPpc64=${isLinuxPpc64}" />
+ <echo message="LinuxPpc64le=${isLinuxPpc64le}" />
+@@ -721,6 +773,22 @@
+ <property name="os.and.arch" value="linux-mipsel" />
+ </target>
+
++ <target name="gluegen.cpptasks.detect.os.linux.mipsn32" unless="gluegen.cpptasks.detected.os.2" if="isLinuxMipsn32">
++ <property name="os.and.arch" value="linux-mipsn32" />
++ </target>
++
++ <target name="gluegen.cpptasks.detect.os.linux.mipsn32el" unless="gluegen.cpptasks.detected.os.2" if="isLinuxMipsn32el">
++ <property name="os.and.arch" value="linux-mipsn32el" />
++ </target>
++
++ <target name="gluegen.cpptasks.detect.os.linux.mips64" unless="gluegen.cpptasks.detected.os.2" if="isLinuxMips64">
++ <property name="os.and.arch" value="linux-mips64" />
++ </target>
++
++ <target name="gluegen.cpptasks.detect.os.linux.mips64el" unless="gluegen.cpptasks.detected.os.2" if="isLinuxMips64el">
++ <property name="os.and.arch" value="linux-mips64el" />
++ </target>
++
+ <target name="gluegen.cpptasks.detect.os.linux.ppc" unless="gluegen.cpptasks.detected.os.2" if="isLinuxPpc">
+ <property name="os.and.arch" value="linux-ppc" />
+ </target>
+@@ -757,7 +825,7 @@
+ <property name="os.and.arch" value="android-aarch64" />
+ </target>
+
+- <target name="gluegen.cpptasks.detect.os.linux" depends="gluegen.cpptasks.detect.os.linux.amd64,gluegen.cpptasks.detect.os.linux.ia64,gluegen.cpptasks.detect.os.linux.x86,gluegen.cpptasks.detect.os.linux.armv6.armel,gluegen.cpptasks.detect.os.linux.armv6.armhf,gluegen.cpptasks.detect.os.android.armv6.armel,gluegen.cpptasks.detect.os.linux.aarch64,gluegen.cpptasks.detect.os.android.armv6.armhf,gluegen.cpptasks.detect.os.android.aarch64,gluegen.cpptasks.detect.os.linux.alpha,gluegen.cpptasks.detect.os.linux.hppa,gluegen.cpptasks.detect.os.linux.mips,gluegen.cpptasks.detect.os.linux.mipsel,gluegen.cpptasks.detect.os.linux.ppc,gluegen.cpptasks.detect.os.linux.ppc64,gluegen.cpptasks.detect.os.linux.ppc64le,gluegen.cpptasks.detect.os.linux.s390,gluegen.cpptasks.detect.os.linux.s390x,gluegen.cpptasks.detect.os.linux.sparc" unless="gluegen.cpptasks.detected.os.2" />
++ <target name="gluegen.cpptasks.detect.os.linux" depends="gluegen.cpptasks.detect.os.linux.amd64,gluegen.cpptasks.detect.os.linux.ia64,gluegen.cpptasks.detect.os.linux.x86,gluegen.cpptasks.detect.os.linux.armv6.armel,gluegen.cpptasks.detect.os.linux.armv6.armhf,gluegen.cpptasks.detect.os.android.armv6.armel,gluegen.cpptasks.detect.os.linux.aarch64,gluegen.cpptasks.detect.os.android.armv6.armhf,gluegen.cpptasks.detect.os.android.aarch64,gluegen.cpptasks.detect.os.linux.alpha,gluegen.cpptasks.detect.os.linux.hppa,gluegen.cpptasks.detect.os.linux.mips,gluegen.cpptasks.detect.os.linux.mipsel,gluegen.cpptasks.detect.os.linux.mipsn32,gluegen.cpptasks.detect.os.linux.mipsn32el,gluegen.cpptasks.detect.os.linux.mips64,gluegen.cpptasks.detect.os.linux.mips64el,gluegen.cpptasks.detect.os.linux.ppc,gluegen.cpptasks.detect.os.linux.ppc64,gluegen.cpptasks.detect.os.linux.ppc64le,gluegen.cpptasks.detect.os.linux.s390,gluegen.cpptasks.detect.os.linux.s390x,gluegen.cpptasks.detect.os.linux.sparc" unless="gluegen.cpptasks.detected.os.2" />
+
+ <target name="gluegen.cpptasks.detect.os.osx" unless="gluegen.cpptasks.detected.os.2" if="isOSX">
+ <property name="native.library.suffix" value="*lib" />
+@@ -1308,6 +1376,18 @@
+ <linker id="linker.cfg.linux.mipsel" name="${gcc.compat.compiler}">
+ </linker>
+
++ <linker id="linker.cfg.linux.mipsn32" name="${gcc.compat.compiler}">
++ </linker>
++
++ <linker id="linker.cfg.linux.mipsn32el" name="${gcc.compat.compiler}">
++ </linker>
++
++ <linker id="linker.cfg.linux.mips64" name="${gcc.compat.compiler}">
++ </linker>
++
++ <linker id="linker.cfg.linux.mips64el" name="${gcc.compat.compiler}">
++ </linker>
++
+ <linker id="linker.cfg.linux.ppc" name="${gcc.compat.compiler}">
+ </linker>
+
+@@ -1549,6 +1629,34 @@
+ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/mipsel" />
+ </target>
+
++ <target name="gluegen.cpptasks.declare.compiler.linux.mipsn32" if="isLinuxMipsn32">
++ <echo message="Linux.Mipsn32" />
++ <property name="compiler.cfg.id.base" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id.base" value="linker.cfg.linux" />
++ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/mipsn32" />
++ </target>
++
++ <target name="gluegen.cpptasks.declare.compiler.linux.mipsn32el" if="isLinuxMipsn32el">
++ <echo message="Linux.Mipsn32el" />
++ <property name="compiler.cfg.id.base" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id.base" value="linker.cfg.linux" />
++ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/mipsn32el" />
++ </target>
++
++ <target name="gluegen.cpptasks.declare.compiler.linux.mips64" if="isLinuxMips64">
++ <echo message="Linux.Mips64" />
++ <property name="compiler.cfg.id.base" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id.base" value="linker.cfg.linux" />
++ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/mips64" />
++ </target>
++
++ <target name="gluegen.cpptasks.declare.compiler.linux.mips64el" if="isLinuxMips64el">
++ <echo message="Linux.Mips64el" />
++ <property name="compiler.cfg.id.base" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id.base" value="linker.cfg.linux" />
++ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/mips64el" />
++ </target>
++
+ <target name="gluegen.cpptasks.declare.compiler.linux.ppc" if="isLinuxPpc">
+ <echo message="Linux.Ppc" />
+ <property name="compiler.cfg.id.base" value="compiler.cfg.linux" />
+@@ -1591,7 +1699,7 @@
+ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/sparc" />
+ </target>
+
+- <target name="gluegen.cpptasks.declare.compiler.linux" depends="gluegen.cpptasks.declare.compiler.linux.x86,gluegen.cpptasks.declare.compiler.linux.amd64,gluegen.cpptasks.declare.compiler.linux.ia64,gluegen.cpptasks.declare.compiler.linux.armv6,gluegen.cpptasks.declare.compiler.linux.aarch64,gluegen.cpptasks.declare.compiler.linux.alpha,gluegen.cpptasks.declare.compiler.linux.hppa,gluegen.cpptasks.declare.compiler.linux.mips,gluegen.cpptasks.declare.compiler.linux.mipsel,gluegen.cpptasks.declare.compiler.linux.ppc,gluegen.cpptasks.declare.compiler.linux.ppc64,gluegen.cpptasks.declare.compiler.linux.ppc64le,gluegen.cpptasks.declare.compiler.linux.s390,gluegen.cpptasks.declare.compiler.linux.s390x,gluegen.cpptasks.declare.compiler.linux.sparc" if="isLinux">
++ <target name="gluegen.cpptasks.declare.compiler.linux" depends="gluegen.cpptasks.declare.compiler.linux.x86,gluegen.cpptasks.declare.compiler.linux.amd64,gluegen.cpptasks.declare.compiler.linux.ia64,gluegen.cpptasks.declare.compiler.linux.armv6,gluegen.cpptasks.declare.compiler.linux.aarch64,gluegen.cpptasks.declare.compiler.linux.alpha,gluegen.cpptasks.declare.compiler.linux.hppa,gluegen.cpptasks.declare.compiler.linux.mips,gluegen.cpptasks.declare.compiler.linux.mipsel,gluegen.cpptasks.declare.compiler.linux.mipsn32,gluegen.cpptasks.declare.compiler.linux.mipsn32el,gluegen.cpptasks.declare.compiler.linux.mips64,gluegen.cpptasks.declare.compiler.linux.mips64el,gluegen.cpptasks.declare.compiler.linux.ppc,gluegen.cpptasks.declare.compiler.linux.ppc64,gluegen.cpptasks.declare.compiler.linux.ppc64le,gluegen.cpptasks.declare.compiler.linux.s390,gluegen.cpptasks.declare.compiler.linux.s390x,gluegen.cpptasks.declare.compiler.linux.sparc" if="isLinux">
+ <property name="java.includes.dir.platform" value="${java.includes.dir}/x11" />
+ </target>
+
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-armhf.diff b/dev-java/gluegen/files/gluegen-2.3.2-armhf.diff
new file mode 100644
index 000000000000..a474552cda5c
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-armhf.diff
@@ -0,0 +1,62 @@
+--- a/make/build.xml
++++ b/make/build.xml
+@@ -262,10 +262,16 @@
+ <property name="linker.cfg.id" value="linker.cfg.linux" />
+ </target>
+
+- <target name="declare.linux.armv6" if="isLinuxARMv6">
+- <echo message="Linux.armv6" />
+- <property name="compiler.cfg.id" value="compiler.cfg.linux.armv6" />
+- <property name="linker.cfg.id" value="linker.cfg.linux.armv6" />
++ <target name="declare.linux.armv6.armel" if="isLinuxARMv6Armel">
++ <echo message="Linux.armv6.armel" />
++ <property name="compiler.cfg.id" value="compiler.cfg.linux.armv6.armel" />
++ <property name="linker.cfg.id" value="linker.cfg.linux.armv6.armel" />
++ </target>
++
++ <target name="declare.linux.armv6.armhf" if="isLinuxARMv6Armhf">
++ <echo message="Linux.armv6.armhf" />
++ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id" value="linker.cfg.linux.armv6.armhf" />
+ </target>
+
+ <target name="declare.linux.alpha" if="isLinuxAlpha">
+@@ -328,7 +334,7 @@
+ <property name="linker.cfg.id" value="linker.cfg.linux.sparc" />
+ </target>
+
+- <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.ppc64,declare.linux.ppc64le,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6" if="isLinux" >
++ <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.ppc64,declare.linux.ppc64le,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6.armel,declare.linux.armv6.armhf" if="isLinux" >
+ <property name="c.src.dir.os" value="unix" />
+ </target>
+
+--- a/make/gluegen-cpptasks-base.xml
++++ b/make/gluegen-cpptasks-base.xml
+@@ -1032,7 +1032,7 @@
+ - lib/gluegen-cpptasks-linux-armv6.xml (armv5te + softfp), or
+ - lib/gluegen-cpptasks-linux-armv6hf.xml (armv6 + hardfp)
+ for official JogAmp builds! -->
+- <compiler id="compiler.cfg.linux.armv6" name="${gcc.compat.compiler}">
++ <compiler id="compiler.cfg.linux.armv6.armel" name="${gcc.compat.compiler}">
+ <defineset>
+ <define name="__unix__"/>
+ <define name="__X11__" if="isX11"/>
+@@ -1270,7 +1270,7 @@
+ - lib/gluegen-cpptasks-linux-armv6.xml (armv5te + softfp), or
+ - lib/gluegen-cpptasks-linux-armv6hf.xml (armv6 + hardfp)
+ for official JogAmp builds! -->
+- <linker id="linker.cfg.linux.armv6" name="${gcc.compat.compiler}">
++ <linker id="linker.cfg.linux.armv6.armel" name="${gcc.compat.compiler}">
+ <linkerarg value="-fpic" />
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
+@@ -1286,6 +1286,9 @@
+ <linkerarg value="-static-libstdc++" if="isGCC"/>
+ </linker>
+
++ <linker id="linker.cfg.linux.armv6.armhf" name="${gcc.compat.compiler}">
++ </linker>
++
+ <linker id="linker.cfg.linux.alpha" name="${gcc.compat.compiler}">
+ </linker>
+
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-disable-java-version-check.diff b/dev-java/gluegen/files/gluegen-2.3.2-disable-java-version-check.diff
new file mode 100644
index 000000000000..e3fb75f9a4f7
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-disable-java-version-check.diff
@@ -0,0 +1,28 @@
+Description: Disables the Java version check since the JRE in Debian always
+ meets the minimum requirement and the check routinely breaks with the latest JREs.
+Author: Emmanuel Bourg <ebourg@apache.org>
+Forwarded: not-needed
+--- a/make/jogamp-env.xml
++++ b/make/jogamp-env.xml
+@@ -45,21 +45,6 @@
+ </condition>
+ </fail>
+
+- <fail message="Unsupported Java version: ${ant.java.version}. Make sure that the version of the Java compiler is 1.6 (6.0) or greater.">
+- <condition>
+- <not>
+- <or>
+- <equals arg1="${ant.java.version}" arg2="1.6"/>
+- <equals arg1="${ant.java.version}" arg2="1.7"/>
+- <equals arg1="${ant.java.version}" arg2="1.8"/>
+- <equals arg1="${ant.java.version}" arg2="1.9"/>
+- <equals arg1="${ant.java.version}" arg2="2.0"/>
+- <equals arg1="${ant.java.version}" arg2="2.1"/>
+- </or>
+- </not>
+- </condition>
+- </fail>
+-
+ </target>
+
+ <target name="jogamp.env.init" depends="jogamp.env.validation">
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-disable-static-linking.diff b/dev-java/gluegen/files/gluegen-2.3.2-disable-static-linking.diff
new file mode 100644
index 000000000000..ffeb5d5bea4e
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-disable-static-linking.diff
@@ -0,0 +1,42 @@
+Description: disable static linking for native libraries.
+Author: Gilles Filippini <pini@debian.org>
+--- a/make/gluegen-cpptasks-base.xml
++++ b/make/gluegen-cpptasks-base.xml
+@@ -1262,20 +1262,14 @@
+ <!-- Unix linker configuration -->
+
+ <linker id="linker.cfg.linux" name="${gcc.compat.compiler}">
+- <linkerarg value="-static-libgcc" if="isGCC"/>
+- <linkerarg value="-static-libstdc++" if="isGCC"/>
+ </linker>
+
+ <linker id="linker.cfg.linux.x86" name="${gcc.compat.compiler}">
+ <linkerarg value="-m32"/>
+- <linkerarg value="-static-libgcc" if="isGCC"/>
+- <linkerarg value="-static-libstdc++" if="isGCC"/>
+ </linker>
+
+ <linker id="linker.cfg.linux.amd64" name="${gcc.compat.compiler}">
+ <linkerarg value="-m64"/>
+- <linkerarg value="-static-libgcc" if="isGCC"/>
+- <linkerarg value="-static-libstdc++" if="isGCC"/>
+ </linker>
+
+ <!-- Using default compiler settings - utilize:
+@@ -1286,16 +1280,12 @@
+ <linkerarg value="-fpic" />
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
+- <linkerarg value="-static-libgcc" if="isGCC"/>
+- <linkerarg value="-static-libstdc++" if="isGCC"/>
+ </linker>
+
+ <linker id="linker.cfg.linux.aarch64" name="${gcc.compat.compiler}">
+ <linkerarg value="-fpic" />
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
+- <linkerarg value="-static-libgcc" if="isGCC"/>
+- <linkerarg value="-static-libstdc++" if="isGCC"/>
+ </linker>
+
+ <linker id="linker.cfg.linux.armv6.armhf" name="${gcc.compat.compiler}">
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-disable-test-zip-archive.diff b/dev-java/gluegen/files/gluegen-2.3.2-disable-test-zip-archive.diff
new file mode 100644
index 000000000000..2d932d5f905d
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-disable-test-zip-archive.diff
@@ -0,0 +1,11 @@
+--- a/make/build-test.xml
++++ b/make/build-test.xml
+@@ -505,7 +505,7 @@
+ </target>
+
+ <target name="junit.run" depends="junit.run.settings, junit.run.if.enabled, junit.run.if.disabled">
+- <antcall target="test-zip-archive" inheritRefs="true" />
++<!-- <antcall target="test-zip-archive" inheritRefs="true" />-->
+ </target>
+
+ <!--
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-disableArchive7z.diff b/dev-java/gluegen/files/gluegen-2.3.2-disableArchive7z.diff
new file mode 100644
index 000000000000..8b1c5e43de3a
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-disableArchive7z.diff
@@ -0,0 +1,26 @@
+--- a/make/build.xml
++++ b/make/build.xml
+@@ -1088,9 +1088,9 @@
+ <copy todir="${javadoc.gluegen.path}/resources" overwrite="true">
+ <fileset dir="doc/javadoc/resources" includes="*" />
+ </copy>
+- <archive.7z destfile="${build}/javadoc.7z"
++<!-- <archive.7z destfile="${build}/javadoc.7z"
+ basedir="${javadoc.root.path}"
+- includes="gluegen/**" />
++ includes="gluegen/**" />-->
+ </target>
+
+ <!-- ================================================================== -->
+@@ -1138,9 +1138,9 @@
+ <fileset dir="lib" includes="junit.jar"/>
+ </copy>
+
+- <archive.7z destfile="${build}/${archive.name}.7z"
++<!-- <archive.7z destfile="${build}/${archive.name}.7z"
+ basedir="${build}"
+- includes="${archive.name}/**" />
++ includes="${archive.name}/**" />-->
+ <!-- Clean up after ourselves -->
+ <delete includeEmptyDirs="true" quiet="true" dir="${archive}" failonerror="false" />
+ </target>
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-disable_git_call.diff b/dev-java/gluegen/files/gluegen-2.3.2-disable_git_call.diff
new file mode 100644
index 000000000000..7ba4b0e234ac
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-disable_git_call.diff
@@ -0,0 +1,17 @@
+--- a/make/build.xml
++++ b/make/build.xml
+@@ -70,14 +70,6 @@
+ <property name="gluegen.build.number" value="manual"/>
+ <property name="gluegen.build.id" value="${version.timestamp}"/>
+ <mkdir dir="${build}" />
+- <exec dir="." executable="git" logError="true" failonerror="false" failifexecutionfails="false"
+- output="${build}/localbranch.raw">
+- <arg line="branch --no-color"/>
+- </exec>
+- <exec dir="." executable="sed" logError="true" failonerror="false" failifexecutionfails="false"
+- outputproperty="gluegen.build.branch">
+- <arg line="-e '/^[^*]/d' -e 's/* \(.*\)/\1/' '${build}/localbranch.raw'"/>
+- </exec>
+ <property name="gluegen.build.branch" value="manual"/> <!-- fallback -->
+ <exec dir="${project.root}" executable="git" logError="true" failonerror="false" failifexecutionfails="false"
+ outputproperty="gluegen.build.commit">
diff --git a/dev-java/gluegen/files/gluegen-2.2.4-dont-strip.patch b/dev-java/gluegen/files/gluegen-2.3.2-dont-strip.patch
index 2e4ed462f697..0a06e96c5795 100644
--- a/dev-java/gluegen/files/gluegen-2.2.4-dont-strip.patch
+++ b/dev-java/gluegen/files/gluegen-2.3.2-dont-strip.patch
@@ -1,6 +1,6 @@
--- a/make/gluegen-cpptasks-base.xml
+++ b/make/gluegen-cpptasks-base.xml
-@@ -1511,17 +1511,6 @@
+@@ -1872,16 +1872,6 @@
- Helper strip.libraries for stripping off debug information
-->
<target name="gluegen.cpptasks.striplibs" depends="gluegen.cpptasks.initialize" if="c.strip.libraries">
@@ -12,7 +12,6 @@
- <include name="**/*.so"/> <!-- unix -->
- <include name="**/*.dll"/> <!-- windows -->
- <include name="**/*.dylib"/> <!-- macosx -->
-- <include name="**/*.jnilib"/> <!-- macosx -->
- </fileset>
- </apply>
</target>
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-fix-alpha-build-config.patch b/dev-java/gluegen/files/gluegen-2.3.2-fix-alpha-build-config.patch
new file mode 100644
index 000000000000..b02629a60341
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-fix-alpha-build-config.patch
@@ -0,0 +1,11 @@
+--- a/make/build.xml
++++ b/make/build.xml
+@@ -334,7 +334,7 @@
+ <property name="linker.cfg.id" value="linker.cfg.linux.sparc" />
+ </target>
+
+- <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.ppc64,declare.linux.ppc64le,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6.armel,declare.linux.armv6.armhf" if="isLinux" >
++ <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.alpha,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.ppc64,declare.linux.ppc64le,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6.armel,declare.linux.armv6.armhf" if="isLinux" >
+ <property name="c.src.dir.os" value="unix" />
+ </target>
+
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-fix-arm64-build-config.diff b/dev-java/gluegen/files/gluegen-2.3.2-fix-arm64-build-config.diff
new file mode 100644
index 000000000000..19de9401b27b
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-fix-arm64-build-config.diff
@@ -0,0 +1,75 @@
+--- a/make/build.xml
++++ b/make/build.xml
+@@ -316,6 +316,12 @@
+ <property name="linker.cfg.id" value="linker.cfg.linux.ppc64le" />
+ </target>
+
++ <target name="declare.linux.aarch64" if="isLinuxAarch64">
++ <echo message="Linux.aarch64" />
++ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id" value="linker.cfg.linux.aarch64" />
++ </target>
++
+ <target name="declare.linux.s390" if="isLinuxs390">
+ <echo message="Linux.s390" />
+ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
+@@ -334,7 +340,7 @@
+ <property name="linker.cfg.id" value="linker.cfg.linux.sparc" />
+ </target>
+
+- <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.alpha,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.ppc64,declare.linux.ppc64le,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6.armel,declare.linux.armv6.armhf" if="isLinux" >
++ <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.alpha,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.ppc64,declare.linux.ppc64le,declare.linux.aarch64,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6.armel,declare.linux.armv6.armhf" if="isLinux" >
+ <property name="c.src.dir.os" value="unix" />
+ </target>
+
+--- a/make/gluegen-cpptasks-base.xml
++++ b/make/gluegen-cpptasks-base.xml
+@@ -50,6 +50,7 @@
+ - isLinuxPpc
+ - isLinuxPpc64
+ - isLinuxPpc64le
++ - isLinuxAarch64
+ - isLinuxs390
+ - isLinuxs390x
+ - isLinuxSparc
+@@ -137,6 +138,7 @@
+ - compiler.cfg.linux.ppc
+ - compiler.cfg.linux.ppc64
+ - compiler.cfg.linux.ppc64le
++ - compiler.cfg.linux.aarch64
+ - compiler.cfg.linux.s390
+ - compiler.cfg.linux.s390x
+ - compiler.cfg.linux.sparc
+@@ -440,6 +442,15 @@
+ <condition property="ppc64le">
+ <os arch="ppc64le" />
+ </condition>
++ <condition property="isLinuxAarch64">
++ <and>
++ <istrue value="${isLinux}" />
++ <os arch="aarch64" />
++ </and>
++ </condition>
++ <condition property="aarch64">
++ <os arch="aarch64" />
++ </condition>
+ <condition property="isLinuxs390">
+ <and>
+ <istrue value="${isLinux}" />
+@@ -626,6 +637,7 @@
+ <echo message="LinuxPpc=${isLinuxPpc}" />
+ <echo message="LinuxPpc64=${isLinuxPpc64}" />
+ <echo message="LinuxPpc64le=${isLinuxPpc64le}" />
++ <echo message="LinuxAarch64=${isLinuxAarch64}" />
+ <echo message="Linuxs390=${isLinuxs390}" />
+ <echo message="Linuxs390x=${isLinuxs390x}" />
+ <echo message="LinuxSparc=${isLinuxSparc}" />
+@@ -1511,7 +1523,7 @@
+ <echo message="Linux.aarch64" />
+ <property name="compiler.cfg.id.base" value="compiler.cfg.linux.aarch64" />
+ <property name="linker.cfg.id.base" value="linker.cfg.linux.aarch64" />
+- <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/arm" />
++ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/aarch64" />
+ </target>
+
+ <target name="gluegen.cpptasks.declare.compiler.linux.ia64" if="isLinuxIA64">
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-fix_gcc-10.patch b/dev-java/gluegen/files/gluegen-2.3.2-fix_gcc-10.patch
new file mode 100644
index 000000000000..03c371a374ad
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-fix_gcc-10.patch
@@ -0,0 +1,18 @@
+Description: Fix ftbfs with GCC-10
+
+Author: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
+Bug-Debian: https://bugs.debian.org/957276
+Forwarded: no
+
+--- a/src/junit/com/jogamp/gluegen/test/junit/generation/test1.h
++++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test1.h
+@@ -299,9 +299,6 @@ MYAPI MYAPIConfig * MYAPIENTRY typeTest
+ #define HUGE_VALF_3 ((int) 1e53)
+ #define DOUBLE_DEFINE_BRACKETS_3 HUGE_VALF_3
+
+-size_t unsigned_size_t_1;
+-ptrdiff_t a_signed_pointer_t_1;
+-
+ MYAPI int32_t MYAPIENTRY typeTestInt32T(const int32_t i1, int32_t i2);
+ MYAPI uint32_t MYAPIENTRY typeTestUInt32T(const uint32_t ui1, uint32_t ui2);
+ MYAPI int64_t MYAPIENTRY typeTestInt64T(const int64_t i1, int64_t i2);
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-hideException.diff b/dev-java/gluegen/files/gluegen-2.3.2-hideException.diff
new file mode 100644
index 000000000000..4220216246c0
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-hideException.diff
@@ -0,0 +1,18 @@
+--- a/src/java/com/jogamp/common/os/Platform.java
++++ b/src/java/com/jogamp/common/os/Platform.java
+@@ -305,15 +305,6 @@ public class Platform extends PlatformPr
+ _USE_TEMP_JAR_CACHE[0] = ( OS_TYPE != OSType.ANDROID ) && ( null != platformClassJarURI ) &&
+ PropertyAccess.getBooleanProperty(useTempJarCachePropName, true, true);
+
+- // load GluegenRT native library
+- if(_USE_TEMP_JAR_CACHE[0] && TempJarCache.initSingleton()) {
+- try {
+- JNILibLoaderBase.addNativeJarLibs(new Class<?>[] { jogamp.common.Debug.class }, null);
+- } catch (final Exception e0) {
+- // IllegalArgumentException, IOException
+- System.err.println("Caught "+e0.getClass().getSimpleName()+": "+e0.getMessage()+", while JNILibLoaderBase.addNativeJarLibs(..)");
+- }
+- }
+ DynamicLibraryBundle.GlueJNILibLoader.loadLibrary(libBaseName, false, cl);
+
+ // JVM bug workaround
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-java10-compatibility.patch b/dev-java/gluegen/files/gluegen-2.3.2-java10-compatibility.patch
new file mode 100644
index 000000000000..f51157d1853a
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-java10-compatibility.patch
@@ -0,0 +1,263 @@
+Description: Fixes the build failure with Java 10
+Author: Emmanuel Bourg <ebourg@apache.org>
+Forwarded: no
+--- a/src/java/net/highteq/nativetaglet/NativeTaglet.java
++++ /dev/null
+@@ -1,237 +0,0 @@
+-package net.highteq.nativetaglet;
+-
+-import com.sun.tools.doclets.Taglet;
+-import com.sun.javadoc.*;
+-
+-import java.util.Map;
+-import java.util.Properties;
+-import java.util.Iterator;
+-import java.io.InputStream;
+-import java.net.URL;
+-import java.net.MalformedURLException;
+-
+-public class NativeTaglet implements Taglet
+-{
+- private Properties mapping= null;
+- private static final String NAME = "native";
+-
+- /**
+- * Return the name of this custom tag.
+- */
+- @Override
+- public String getName()
+- {
+- return NAME;
+- }
+-
+- /**
+- * @return true since this tag can be used in a field
+- * doc comment
+- */
+- @Override
+- public boolean inField()
+- {
+- return true;
+- }
+-
+- /**
+- * @return true since this tag can be used in a constructor
+- * doc comment
+- */
+- @Override
+- public boolean inConstructor()
+- {
+- return true;
+- }
+-
+- /**
+- * @return true since this tag can be used in a method
+- * doc comment
+- */
+- @Override
+- public boolean inMethod()
+- {
+- return true;
+- }
+-
+- /**
+- * @return true since this tag can be used in an overview
+- * doc comment
+- */
+- @Override
+- public boolean inOverview()
+- {
+- return true;
+- }
+-
+- /**
+- * @return true since this tag can be used in a package
+- * doc comment
+- */
+- @Override
+- public boolean inPackage()
+- {
+- return true;
+- }
+-
+- /**
+- * @return true since this
+- */
+- @Override
+- public boolean inType()
+- {
+- return true;
+- }
+-
+- /**
+- * Will return true since this is an inline tag.
+- *
+- * @return true since this is an inline tag.
+- */
+-
+- @Override
+- public boolean isInlineTag()
+- {
+- return true;
+- }
+-
+- /**
+- * Register this Taglet.
+- *
+- * @param tagletMap the map to register this tag to.
+- */
+- public static void register(final Map tagletMap)
+- {
+- final NativeTaglet tag = new NativeTaglet();
+- final Taglet t = (Taglet) tagletMap.get(tag.getName());
+- if (t != null)
+- {
+- tagletMap.remove(tag.getName());
+- }
+- tagletMap.put(tag.getName(), tag);
+- }
+-
+- /**
+- * Given the <code>Tag</code> representation of this custom
+- * tag, return its string representation.
+- *
+- * @param tag the <code>Tag</code> representation of this custom tag.
+- */
+- @Override
+- public String toString(final Tag tag)
+- {
+- String text= tag.text().trim();
+- if(mapping== null)
+- {
+- mapping= new Properties();
+- InputStream in= null;
+- try
+- {
+- URL url;
+- try
+- {
+- url = new URL(System.getProperty("nativetaglet.mapping","file:native-taglet.properties"));
+- }
+- catch (final MalformedURLException e)
+- {
+- url = new URL("file:"+System.getProperty("nativetaglet.mapping","file:native-taglet.properties"));
+- }
+- in= url.openStream();
+- mapping.load(in);
+- }
+- catch (final Exception e)
+- {
+- System.err.println("[NATIVE TAGLET] Could not read mapping file");
+- System.err.println("-->");
+- e.printStackTrace(System.err);
+- System.err.println("<--");
+- System.err.println("[NATIVE TAGLET] !!! NO LINKS WILL BE GENERATED !!!");
+- }
+- finally
+- {
+- if(in!=null) try{ in.close(); }catch(final Exception ignore){}
+- }
+- }
+-
+- if(mapping!=null)
+- {
+- // First check to see whether this key exists in the mapping
+- String url = mapping.getProperty(text);
+- if (url == null) {
+- // Try iterating the keySet seeing if we can find a partial match
+- // In the OpenGL spec this handles the case of glVertex -> glVertex3f
+- for(final Iterator i= mapping.keySet().iterator(); i.hasNext();) {
+- final String name= (String) i.next();
+- if (hasOpenGLSuffix(text, name)) {
+- url = mapping.getProperty(name);
+- break;
+- }
+- }
+- }
+- if (url != null) {
+- url = mapping.getProperty("nativetaglet.baseUrl", "") + url;
+- text = "<a href=\"" + url + "\">" + text + "</a>";
+- }
+- }
+- return text;
+- }
+-
+- private static final String[] openGLSuffixes = {
+- "b",
+- "s",
+- "i",
+- "f",
+- "d",
+- "ub",
+- "us",
+- "ui",
+- "bv",
+- "sv",
+- "iv",
+- "fv",
+- "dv",
+- "ubv",
+- "usv",
+- "uiv"
+- };
+- private static boolean hasOpenGLSuffix(final String name,
+- final String baseName) {
+- if (!name.startsWith(baseName)) {
+- return false;
+- }
+- for (int i = 0; i < openGLSuffixes.length; i++) {
+- final String suffix = openGLSuffixes[i];
+- if (name.endsWith(suffix)) {
+- // First see whether it's a simple concatenation
+- if (name.equals(baseName + suffix)) {
+- return true;
+- }
+- // Now chop prefix and suffix off and see whether the
+- // resulting is a number
+- try {
+- final String tmp = name.substring(baseName.length(),
+- name.length() - suffix.length());
+- if (tmp.length() == 1 &&
+- Character.isDigit(tmp.charAt(0))) {
+- return true;
+- }
+- } catch (final IndexOutOfBoundsException e) {
+- }
+- }
+- }
+- return false;
+- }
+-
+- /**
+- * This method should not be called since arrays of inline tags do not
+- * exist. Method {@link #tostring(Tag)} should be used to convert this
+- * inline tag to a string.
+- *
+- * @param tags the array of <code>Tag</code>s representing of this custom tag.
+- */
+- @Override
+- public String toString(final Tag[] tags)
+- {
+- return null;
+- }
+-}
+--- a/make/build.xml
++++ b/make/build.xml
+@@ -466,9 +466,6 @@
+ <fail message="Requires '${compiler.cfg.id}'" unless="compiler.cfg.id"/>
+ <fail message="Requires '${linker.cfg.id}'" unless="linker.cfg.id"/>
+
+- <javah destdir="${src.generated.c}" classpath="${classes}" class="com.jogamp.common.os.Platform, com.jogamp.common.nio.PointerBuffer, jogamp.common.jvm.JVMUtil, com.jogamp.common.util.JarUtil, jogamp.common.os.MachineDataInfoRuntime" />
+- <javah destdir="${src.generated.c}/Unix" classpath="${classes}" class="jogamp.common.os.UnixDynamicLinkerImpl" />
+- <javah destdir="${src.generated.c}/Windows" classpath="${classes}" class="jogamp.common.os.WindowsDynamicLinkerImpl"/>
+
+ <echo message="Output lib name = ${output.lib.name} -> ${output.lib.name.os}" />
+
+@@ -746,6 +743,7 @@
+
+ <!-- Compile gluegen-rt first -->
+ <javac destdir="${classes}"
++ nativeHeaderDir="${src.generated.c}"
+ includeAntRuntime="false"
+ includes="${gluegen-rt.classes} ${jogamp.common.classes}"
+ excludes="${gluegen.excludes.all} ${java.part.android}"
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-linker.diff b/dev-java/gluegen/files/gluegen-2.3.2-linker.diff
new file mode 100644
index 000000000000..aa2427c93b9b
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-linker.diff
@@ -0,0 +1,11 @@
+--- a/make/gluegen-cpptasks-base.xml
++++ b/make/gluegen-cpptasks-base.xml
+@@ -1316,6 +1316,8 @@
+ <linker id="linker.cfg.linux.sparc" name="${gcc.compat.compiler}">
+ </linker>
+
++
++
+ <compiler id="linker.cfg.android" name="${gcc.compat.compiler}">
+ <!-- shall be defined in custom ${gluegen-cpptasks.file} ! -->
+ </compiler>
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-missing-arch-symbol.diff b/dev-java/gluegen/files/gluegen-2.3.2-missing-arch-symbol.diff
new file mode 100644
index 000000000000..a39a2b145ba9
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-missing-arch-symbol.diff
@@ -0,0 +1,39 @@
+--- a/make/stub_includes/platform/glibc-compat-symbols.h
++++ b/make/stub_includes/platform/glibc-compat-symbols.h
+@@ -15,35 +15,7 @@
+ *
+ * Check build-in macro definitions via 'gcc -dM -E - < /dev/null'
+ */
+-#if defined(__linux__) /* Actually we like to test whether we link against GLIBC .. */
+- #if defined(__GNUC__)
+- #if defined(__aarch64__)
+- #define GLIBC_COMPAT_SYMBOL(FFF) __asm__(".symver " #FFF "," #FFF "@GLIBC_2.4");
+- #elif defined(__arm__)
+- #define GLIBC_COMPAT_SYMBOL(FFF) __asm__(".symver " #FFF "," #FFF "@GLIBC_2.4");
+- #elif defined(__amd64__)
+- #define GLIBC_COMPAT_SYMBOL(FFF) __asm__(".symver " #FFF "," #FFF "@GLIBC_2.2.5");
+- #else
+- #define GLIBC_COMPAT_SYMBOL(FFF) __asm__(".symver " #FFF "," #FFF "@GLIBC_2.0");
+- #endif /*__amd64__*/
+- #elif defined(__clang__)
+- #if defined(__aarch64__)
+- #define GLIBC_COMPAT_SYMBOL(FFF) asm(".symver " #FFF "," #FFF "@GLIBC_2.4");
+- #elif defined(__arm__)
+- #define GLIBC_COMPAT_SYMBOL(FFF) asm(".symver " #FFF "," #FFF "@GLIBC_2.4");
+- #elif defined(__amd64__)
+- #define GLIBC_COMPAT_SYMBOL(FFF) asm(".symver " #FFF "," #FFF "@GLIBC_2.2.5");
+- #else
+- #define GLIBC_COMPAT_SYMBOL(FFF) asm(".symver " #FFF "," #FFF "@GLIBC_2.0");
+- #endif /*__amd64__*/
+- #else
+- #warning GLIBC_COMPAT_SYMBOL not supported with current compiler on GNU/Linux
+- #define GLIBC_COMPAT_SYMBOL(FFF)
+- #endif
+-#else
+- #warning GLIBC_COMPAT_SYMBOL not supported with target OS
+- #define GLIBC_COMPAT_SYMBOL(FFF)
+-#endif
++#define GLIBC_COMPAT_SYMBOL(FFF)
+
+ GLIBC_COMPAT_SYMBOL(memcpy)
+
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-non-linux-support.diff b/dev-java/gluegen/files/gluegen-2.3.2-non-linux-support.diff
new file mode 100644
index 000000000000..6dfa9b83f200
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-non-linux-support.diff
@@ -0,0 +1,16 @@
+--- a/make/gluegen-cpptasks-base.xml
++++ b/make/gluegen-cpptasks-base.xml
+@@ -292,7 +292,12 @@
+ <os name="Android" />
+ </condition>
+ <condition property="isLinux">
+- <os name="Linux" />
++ <or>
++ <os name="Linux" />
++ <!-- treat GNU/kFreeBSD or Hurd just as Linux -->
++ <os name="GNU/kFreeBSD" />
++ <os name="GNU" />
++ </or>
+ </condition>
+ <condition property="isSolaris">
+ <os name="SunOS" />
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-ppc64el-support.diff b/dev-java/gluegen/files/gluegen-2.3.2-ppc64el-support.diff
new file mode 100644
index 000000000000..b1dd58a1351d
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-ppc64el-support.diff
@@ -0,0 +1,207 @@
+Description: add support for ppc64el arch.
+Author: Gilles Filippini <pini@debian.org>
+--- /dev/null
++++ b/make/scripts/make.gluegen.all.linux-ppc64le.sh
+@@ -0,0 +1,24 @@
++#! /bin/sh
++
++# -Dc.compiler.debug=true \
++# -Dgluegen.cpptasks.detected.os=true \
++# -DisUnix=true \
++# -DisLinux=true \
++# -DisLinuxX86=true \
++# -DisX11=true \
++
++MACHINE=ppc64le
++ARCH=ppc64el
++TRIPLET=powerpc64le-linux-gnu
++
++export TARGET_PLATFORM_LIBS=/usr/lib/$TRIPLET
++export TARGET_JAVA_LIBS=/usr/lib/jvm/java-7-openjdk-$ARCH/jre/lib/$MACHINE
++
++export GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-$MACHINE.xml"
++
++#export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org"
++export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet"
++
++ant \
++ -Drootrel.build=build-linux-$MACHINE \
++ $* 2>&1 | tee make.gluegen.all.linux-$MACHINE.log
+--- a/make/gluegen-cpptasks-base.xml
++++ b/make/gluegen-cpptasks-base.xml
+@@ -48,6 +48,8 @@
+ - isLinuxMips
+ - isLinuxMipsel
+ - isLinuxPpc
++ - isLinuxPpc64
++ - isLinuxPpc64le
+ - isLinuxs390
+ - isLinuxs390x
+ - isLinuxSparc
+@@ -133,6 +135,8 @@
+ - compiler.cfg.linux.mips
+ - compiler.cfg.linux.mipsel
+ - compiler.cfg.linux.ppc
++ - compiler.cfg.linux.ppc64
++ - compiler.cfg.linux.ppc64le
+ - compiler.cfg.linux.s390
+ - compiler.cfg.linux.s390x
+ - compiler.cfg.linux.sparc
+@@ -155,6 +159,7 @@
+ - linker.cfg.linux.mips
+ - linker.cfg.linux.mipsel
+ - linker.cfg.linux.ppc
++ - linker.cfg.linux.ppc64le
+ - linker.cfg.linux.s390
+ - linker.cfg.linux.s390x
+ - linker.cfg.linux.sparc
+@@ -417,6 +422,24 @@
+ <condition property="ppc">
+ <os arch="ppc" />
+ </condition>
++ <condition property="isLinuxPpc64">
++ <and>
++ <istrue value="${isLinux}" />
++ <os arch="ppc64" />
++ </and>
++ </condition>
++ <condition property="ppc64">
++ <os arch="ppc64" />
++ </condition>
++ <condition property="isLinuxPpc64le">
++ <and>
++ <istrue value="${isLinux}" />
++ <os arch="ppc64le" />
++ </and>
++ </condition>
++ <condition property="ppc64le">
++ <os arch="ppc64le" />
++ </condition>
+ <condition property="isLinuxs390">
+ <and>
+ <istrue value="${isLinux}" />
+@@ -601,6 +624,8 @@
+ <echo message="LinuxMips=${isLinuxMips}" />
+ <echo message="LinuxMipsel=${isLinuxMipsel}" />
+ <echo message="LinuxPpc=${isLinuxPpc}" />
++ <echo message="LinuxPpc64=${isLinuxPpc64}" />
++ <echo message="LinuxPpc64le=${isLinuxPpc64le}" />
+ <echo message="Linuxs390=${isLinuxs390}" />
+ <echo message="Linuxs390x=${isLinuxs390x}" />
+ <echo message="LinuxSparc=${isLinuxSparc}" />
+@@ -683,6 +708,14 @@
+ <property name="os.and.arch" value="linux-ppc" />
+ </target>
+
++ <target name="gluegen.cpptasks.detect.os.linux.ppc64" unless="gluegen.cpptasks.detected.os.2" if="isLinuxPpc64">
++ <property name="os.and.arch" value="linux-ppc64" />
++ </target>
++
++ <target name="gluegen.cpptasks.detect.os.linux.ppc64le" unless="gluegen.cpptasks.detected.os.2" if="isLinuxPpc64le">
++ <property name="os.and.arch" value="linux-ppc64le" />
++ </target>
++
+ <target name="gluegen.cpptasks.detect.os.linux.s390" unless="gluegen.cpptasks.detected.os.2" if="isLinuxs390">
+ <property name="os.and.arch" value="linux-s390" />
+ </target>
+@@ -707,7 +740,7 @@
+ <property name="os.and.arch" value="android-aarch64" />
+ </target>
+
+- <target name="gluegen.cpptasks.detect.os.linux" depends="gluegen.cpptasks.detect.os.linux.amd64,gluegen.cpptasks.detect.os.linux.ia64,gluegen.cpptasks.detect.os.linux.x86,gluegen.cpptasks.detect.os.linux.armv6.armel,gluegen.cpptasks.detect.os.linux.armv6.armhf,gluegen.cpptasks.detect.os.android.armv6.armel,gluegen.cpptasks.detect.os.linux.aarch64,gluegen.cpptasks.detect.os.android.armv6.armhf,gluegen.cpptasks.detect.os.android.aarch64,gluegen.cpptasks.detect.os.linux.alpha,gluegen.cpptasks.detect.os.linux.hppa,gluegen.cpptasks.detect.os.linux.mips,gluegen.cpptasks.detect.os.linux.mipsel,gluegen.cpptasks.detect.os.linux.ppc,gluegen.cpptasks.detect.os.linux.s390,gluegen.cpptasks.detect.os.linux.s390x,gluegen.cpptasks.detect.os.linux.sparc" unless="gluegen.cpptasks.detected.os.2" />
++ <target name="gluegen.cpptasks.detect.os.linux" depends="gluegen.cpptasks.detect.os.linux.amd64,gluegen.cpptasks.detect.os.linux.ia64,gluegen.cpptasks.detect.os.linux.x86,gluegen.cpptasks.detect.os.linux.armv6.armel,gluegen.cpptasks.detect.os.linux.armv6.armhf,gluegen.cpptasks.detect.os.android.armv6.armel,gluegen.cpptasks.detect.os.linux.aarch64,gluegen.cpptasks.detect.os.android.armv6.armhf,gluegen.cpptasks.detect.os.android.aarch64,gluegen.cpptasks.detect.os.linux.alpha,gluegen.cpptasks.detect.os.linux.hppa,gluegen.cpptasks.detect.os.linux.mips,gluegen.cpptasks.detect.os.linux.mipsel,gluegen.cpptasks.detect.os.linux.ppc,gluegen.cpptasks.detect.os.linux.ppc64,gluegen.cpptasks.detect.os.linux.ppc64le,gluegen.cpptasks.detect.os.linux.s390,gluegen.cpptasks.detect.os.linux.s390x,gluegen.cpptasks.detect.os.linux.sparc" unless="gluegen.cpptasks.detected.os.2" />
+
+ <target name="gluegen.cpptasks.detect.os.osx" unless="gluegen.cpptasks.detected.os.2" if="isOSX">
+ <property name="native.library.suffix" value="*lib" />
+@@ -1268,6 +1301,12 @@
+ <linker id="linker.cfg.linux.ppc" name="${gcc.compat.compiler}">
+ </linker>
+
++ <linker id="linker.cfg.linux.ppc64" name="${gcc.compat.compiler}">
++ </linker>
++
++ <linker id="linker.cfg.linux.ppc64le" name="${gcc.compat.compiler}">
++ </linker>
++
+ <linker id="linker.cfg.linux.s390" name="${gcc.compat.compiler}">
+ </linker>
+
+@@ -1505,6 +1544,20 @@
+ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/ppc" />
+ </target>
+
++ <target name="gluegen.cpptasks.declare.compiler.linux.ppc64" if="isLinuxPpc64">
++ <echo message="Linux.Ppc64" />
++ <property name="compiler.cfg.id.base" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id.base" value="linker.cfg.linux" />
++ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/ppc64" />
++ </target>
++
++ <target name="gluegen.cpptasks.declare.compiler.linux.ppc64le" if="isLinuxPpc64le">
++ <echo message="Linux.Ppc64le" />
++ <property name="compiler.cfg.id.base" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id.base" value="linker.cfg.linux" />
++ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/ppc64le" />
++ </target>
++
+ <target name="gluegen.cpptasks.declare.compiler.linux.s390" if="isLinuxs390">
+ <echo message="Linux.s390" />
+ <property name="compiler.cfg.id.base" value="compiler.cfg.linux" />
+@@ -1526,7 +1579,7 @@
+ <property name="java.lib.dir.platform" value="${java.home.dir}/jre/lib/sparc" />
+ </target>
+
+- <target name="gluegen.cpptasks.declare.compiler.linux" depends="gluegen.cpptasks.declare.compiler.linux.x86,gluegen.cpptasks.declare.compiler.linux.amd64,gluegen.cpptasks.declare.compiler.linux.ia64,gluegen.cpptasks.declare.compiler.linux.armv6,gluegen.cpptasks.declare.compiler.linux.aarch64,gluegen.cpptasks.declare.compiler.linux.alpha,gluegen.cpptasks.declare.compiler.linux.hppa,gluegen.cpptasks.declare.compiler.linux.mips,gluegen.cpptasks.declare.compiler.linux.mipsel,gluegen.cpptasks.declare.compiler.linux.ppc,gluegen.cpptasks.declare.compiler.linux.s390,gluegen.cpptasks.declare.compiler.linux.s390x,gluegen.cpptasks.declare.compiler.linux.sparc" if="isLinux">
++ <target name="gluegen.cpptasks.declare.compiler.linux" depends="gluegen.cpptasks.declare.compiler.linux.x86,gluegen.cpptasks.declare.compiler.linux.amd64,gluegen.cpptasks.declare.compiler.linux.ia64,gluegen.cpptasks.declare.compiler.linux.armv6,gluegen.cpptasks.declare.compiler.linux.aarch64,gluegen.cpptasks.declare.compiler.linux.alpha,gluegen.cpptasks.declare.compiler.linux.hppa,gluegen.cpptasks.declare.compiler.linux.mips,gluegen.cpptasks.declare.compiler.linux.mipsel,gluegen.cpptasks.declare.compiler.linux.ppc,gluegen.cpptasks.declare.compiler.linux.ppc64,gluegen.cpptasks.declare.compiler.linux.ppc64le,gluegen.cpptasks.declare.compiler.linux.s390,gluegen.cpptasks.declare.compiler.linux.s390x,gluegen.cpptasks.declare.compiler.linux.sparc" if="isLinux">
+ <property name="java.includes.dir.platform" value="${java.includes.dir}/x11" />
+ </target>
+
+--- a/src/java/jogamp/common/os/PlatformPropsImpl.java
++++ b/src/java/jogamp/common/os/PlatformPropsImpl.java
+@@ -522,6 +522,7 @@ public abstract class PlatformPropsImpl
+ * <li>linux-aarch64</li>
+ * <li>linux-amd64</li>
+ * <li>linux-ppc64</li>
++ * <li>linux-ppc64le</li>
+ * <li>linux-mips64</li>
+ * <li>linux-ia64</li>
+ * <li>linux-sparcv9</li>
+@@ -578,7 +579,7 @@ public abstract class PlatformPropsImpl
+ _and_arch_tmp = "amd64";
+ break;
+ case PPC64:
+- _and_arch_tmp = "ppc64";
++ _and_arch_tmp = littleEndian ? "ppc64le" : "ppc64";
+ break;
+ case MIPS_64:
+ _and_arch_tmp = "mips64";
+--- a/make/build.xml
++++ b/make/build.xml
+@@ -306,6 +306,18 @@
+ <property name="linker.cfg.id" value="linker.cfg.linux.ppc" />
+ </target>
+
++ <target name="declare.linux.ppc64" if="isLinuxPpc64">
++ <echo message="Linux.ppc64" />
++ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id" value="linker.cfg.linux.ppc64" />
++ </target>
++
++ <target name="declare.linux.ppc64le" if="isLinuxPpc64le">
++ <echo message="Linux.ppc64le" />
++ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
++ <property name="linker.cfg.id" value="linker.cfg.linux.ppc64le" />
++ </target>
++
+ <target name="declare.linux.s390" if="isLinuxs390">
+ <echo message="Linux.s390" />
+ <property name="compiler.cfg.id" value="compiler.cfg.linux" />
+@@ -324,7 +336,7 @@
+ <property name="linker.cfg.id" value="linker.cfg.linux.sparc" />
+ </target>
+
+- <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6" if="isLinux" >
++ <target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.ia64,declare.linux.hppa,declare.linux.mips,declare.linux.mipsel,declare.linux.ppc,declare.linux.ppc64,declare.linux.ppc64le,declare.linux.s390,declare.linux.s390x,declare.linux.sparc,declare.linux.armv6" if="isLinux" >
+ <property name="c.src.dir.os" value="unix" />
+ </target>
+
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-remove-static-lib.patch b/dev-java/gluegen/files/gluegen-2.3.2-remove-static-lib.patch
deleted file mode 100644
index 1b43c672132c..000000000000
--- a/dev-java/gluegen/files/gluegen-2.3.2-remove-static-lib.patch
+++ /dev/null
@@ -1,106 +0,0 @@
---- a/make/gluegen-cpptasks-base.xml
-+++ b/make/gluegen-cpptasks-base.xml
-@@ -1216,21 +1216,12 @@
-
- <!-- Unix linker configuration -->
-
-- <linker id="linker.cfg.linux" name="${gcc.compat.compiler}">
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
-- </linker>
--
- <linker id="linker.cfg.linux.x86" name="${gcc.compat.compiler}">
- <linkerarg value="-m32"/>
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <linker id="linker.cfg.linux.amd64" name="${gcc.compat.compiler}">
- <linkerarg value="-m64"/>
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <!-- Using default compiler settings - utilize:
-@@ -1241,16 +1232,12 @@
- <linkerarg value="-fpic" />
- <linkerarg value="-nostdlib" />
- <linkerarg value="-Bdynamic" />
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <linker id="linker.cfg.linux.aarch64" name="${gcc.compat.compiler}">
- <linkerarg value="-fpic" />
- <linkerarg value="-nostdlib" />
- <linkerarg value="-Bdynamic" />
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <linker id="linker.cfg.linux.alpha" name="${gcc.compat.compiler}">
-@@ -1296,20 +1283,14 @@
-
- <linker id="linker.cfg.solaris" name="${gcc.compat.compiler}">
- <linkerarg value="-m32"/>
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <linker id="linker.cfg.solaris.sparcv9" name="${gcc.compat.compiler}">
- <linkerarg value="-xarch=v9a" />
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <linker id="linker.cfg.solaris.amd64" name="${gcc.compat.compiler}">
- <linkerarg value="-m64"/>
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- <!-- linkerarg value="-xarch=amd64" / -->
- </linker>
-
-@@ -1324,8 +1305,6 @@
- <linkerarg value="-arch" if="use.macosx64"/>
- <linkerarg value="x86_64" if="use.macosx64"/>
- <linkerarg value="-mmacosx-version-min=10.5"/>
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- <!-- Note: Apple doesn't seem to provide ppc64 binaries on Leopard -->
- </linker>
-
-@@ -1334,16 +1313,12 @@
- <!--linker id="linker.cfg.linux64.mingw64" classname="net.sf.antcontrib.cpptasks.gcc.Gcc64Linker"-->
- <linker id="linker.cfg.linux64.mingw64" classname="net.sf.antcontrib.cpptasks.gcc.GccLinker">
- <linkerarg value="-m64"/>
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <!--linker id="linker.cfg.linux64.mingw32" classname="net.sf.antcontrib.cpptasks.gcc.Gcc32Linker"-->
- <linker id="linker.cfg.linux64.mingw32" classname="net.sf.antcontrib.cpptasks.gcc.GccLinker">
- <linkerarg value="-m32"/>
- <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn -->
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <linker id="linker.cfg.win32.mingw" name="${gcc.compat.compiler}" incremental="false">
-@@ -1351,8 +1326,6 @@
- <linkerarg value="-Wl,--enable-auto-import"/> <!-- for linking against dll directly -->
- <linkerarg value="-Wl,--enable-stdcall-fixup"/> <!-- for linking against dll directly -->
- <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn -->
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <linker id="linker.cfg.win64.mingw" name="${gcc.compat.compiler}" incremental="false">
-@@ -1360,8 +1333,6 @@
- <linkerarg value="-Wl,--enable-auto-import"/> <!-- for linking against dll directly -->
- <linkerarg value="-Wl,--enable-stdcall-fixup"/> <!-- for linking against dll directly -->
- <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn -->
-- <linkerarg value="-static-libgcc" if="isGCC"/>
-- <linkerarg value="-static-libstdc++" if="isGCC"/>
- </linker>
-
- <linker id="linker.cfg.win32.msvc" name="msvc" incremental="false">
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-rtjar.diff b/dev-java/gluegen/files/gluegen-2.3.2-rtjar.diff
new file mode 100644
index 000000000000..5820c776528e
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-rtjar.diff
@@ -0,0 +1,67 @@
+Description: No longer use rt.jar which is gone since Java 9
+Author: Emmanuel Bourg <ebourg@apache.org>
+Forwarded: no
+--- a/make/build.xml
++++ b/make/build.xml
+@@ -729,7 +729,6 @@
+ encoding="UTF-8"
+ source="${target.sourcelevel}"
+ target="${target.targetlevel}"
+- bootclasspath="${target.rt.jar}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <src path="${src.java}" />
+ <src path="${src.generated.java}" />
+@@ -757,7 +756,6 @@
+ encoding="UTF-8"
+ source="${target.sourcelevel}"
+ target="${target.targetlevel}"
+- bootclasspath="${host.rt.jar}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <src path="${src.jcpp}" />
+ <src path="${src.java}" />
+@@ -914,7 +912,6 @@
+ encoding="UTF-8"
+ source="${target.sourcelevel}"
+ target="${target.targetlevel}"
+- bootclasspath="${target.rt.jar}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <src path="${src.java}" />
+ <src path="${src.generated.java}" />
+@@ -974,7 +971,6 @@
+ encoding="UTF-8"
+ source="${target.sourcelevel}"
+ target="${target.targetlevel}"
+- bootclasspath="${target.rt.jar}"
+ debug="${javacdebug}" debuglevel="${javacdebuglevel}">
+ <src path="${src.java}" />
+ <classpath refid="android.classpath" />
+--- a/make/jogamp-env.xml
++++ b/make/jogamp-env.xml
+@@ -183,13 +183,6 @@
+ <echo message="target.sourcelevel ${target.sourcelevel}"/>
+ <echo message="target.targetlevel ${target.targetlevel}"/>
+ <echo message="target.rt.jar ${target.rt.jar}"/>
+- <fail message="No target.rt.jar specified not found.">
+- <condition>
+- <not>
+- <isset property="target.rt.jar"/>
+- </not>
+- </condition>
+- </fail>
+
+ <property name="host.sourcelevel" value="${ant.java.version}" /> <!-- default values for compile time components -->
+ <property name="host.targetlevel" value="${ant.java.version}" /> <!-- default values for compile time components -->
+@@ -206,13 +199,6 @@
+ <echo message="host.sourcelevel ${host.sourcelevel}"/>
+ <echo message="host.targetlevel ${host.targetlevel}"/>
+ <echo message="host.rt.jar ${host.rt.jar}"/>
+- <fail message="No host.rt.jar specified not found.">
+- <condition>
+- <not>
+- <isset property="host.rt.jar"/>
+- </not>
+- </condition>
+- </fail>
+
+ <fail message="Unsupported Target Java version (sourcelevel): ${target.sourcelevel}. Make sure that the version of the Java compiler is 1.6 (6.0) or greater.">
+ <condition>
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-s390x-support.diff b/dev-java/gluegen/files/gluegen-2.3.2-s390x-support.diff
new file mode 100644
index 000000000000..e5576b3365e4
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-s390x-support.diff
@@ -0,0 +1,138 @@
+Description: add support for s390x arch.
+Author: Gilles Filippini <pini@debian.org>
+--- /dev/null
++++ b/make/scripts/make.gluegen.all.linux-s390x.sh
+@@ -0,0 +1,24 @@
++#! /bin/sh
++
++# -Dc.compiler.debug=true \
++# -Dgluegen.cpptasks.detected.os=true \
++# -DisUnix=true \
++# -DisLinux=true \
++# -DisLinuxX86=true \
++# -DisX11=true \
++
++MACHINE=s390x
++ARCH=s390x
++TRIPLET=s390x-linux-gnu
++
++export TARGET_PLATFORM_LIBS=/usr/lib/$TRIPLET
++export TARGET_JAVA_LIBS=/usr/lib/jvm/java-7-openjdk-$ARCH/jre/lib/$MACHINE
++
++export GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-$MACHINE.xml"
++
++#export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org"
++export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet"
++
++ant \
++ -Drootrel.build=build-linux-$MACHINE \
++ $* 2>&1 | tee make.gluegen.all.linux-$MACHINE.log
+--- a/src/java/jogamp/common/os/PlatformPropsImpl.java
++++ b/src/java/jogamp/common/os/PlatformPropsImpl.java
+@@ -527,6 +527,7 @@ public abstract class PlatformPropsImpl
+ * <li>linux-ia64</li>
+ * <li>linux-sparcv9</li>
+ * <li>linux-risc2.0</li>
++ * <li>linux-s390x</li>
+ * <li>freebsd-i586</li>
+ * <li>freebsd-amd64</li>
+ * <li>hpux-hppa</li>
+@@ -593,6 +594,9 @@ public abstract class PlatformPropsImpl
+ case PA_RISC2_0:
+ _and_arch_tmp = "risc2.0";
+ break;
++ case S390X:
++ _and_arch_tmp = "s390x";
++ break;
+ default:
+ throw new InternalError("Unhandled CPUType: "+cpuType);
+ }
+--- a/src/java/jogamp/common/os/elf/ElfHeaderPart1.java
++++ b/src/java/jogamp/common/os/elf/ElfHeaderPart1.java
+@@ -412,6 +412,15 @@ public class ElfHeaderPart1 {
+ cpuName = "ppc64";
+ abiType = ABIType.GENERIC_ABI;
+ break;
++ case EM_S390:
++ // Can be 32 or 64 bits
++ if( 64 == getArchClassBits() ) {
++ cpuName = "s390x";
++ } else {
++ cpuName = "s390";
++ }
++ abiType = ABIType.GENERIC_ABI;
++ break;
+ case EM_SH:
+ cpuName = "superh";
+ abiType = ABIType.GENERIC_ABI;
+--- a/src/java/com/jogamp/common/os/Platform.java
++++ b/src/java/com/jogamp/common/os/Platform.java
+@@ -77,7 +77,9 @@ public class Platform extends PlatformPr
+ /** Itanium */
+ IA64,
+ /** Hitachi SuperH */
+- SuperH;
++ SuperH,
++ /** IBM ESA/390 and zSystems */
++ S390;
+ }
+
+ public enum CPUType {
+@@ -118,9 +120,13 @@ public class Platform extends PlatformPr
+ /** SPARC 64bit, big endian */
+ SPARCV9_64(CPUFamily.SPARC, false),
+ /** PA_RISC2_0 64bit, ??? endian */
+- PA_RISC2_0(CPUFamily.PA_RISC, false);
++ PA_RISC2_0(CPUFamily.PA_RISC, false),
+ // 17
+
++ /** S390X 64bit big endian */
++ S390X(CPUFamily.S390, true);
++ // 18
++
+ public final CPUFamily family;
+ public final boolean is32Bit;
+
+@@ -201,6 +207,8 @@ public class Platform extends PlatformPr
+ return MIPS_32;
+ } else if( cpuABILower.startsWith("superh") ) {
+ return SuperH;
++ } else if( cpuABILower.equals("s390x") ) {
++ return S390X;
+ } else {
+ throw new RuntimeException("Please port CPUType detection to your platform (CPU_ABI string '" + cpuABILower + "')");
+ }
+--- a/src/java/com/jogamp/common/os/MachineDataInfo.java
++++ b/src/java/com/jogamp/common/os/MachineDataInfo.java
+@@ -73,6 +73,7 @@ public class MachineDataInfo {
+ private final static int[] align_sparc_32_sunos = { 1, 2, 4, 8, 4, 4, 4, 8, 8, 4 };
+ private final static int[] align_x86_32_windows = { 1, 2, 4, 8, 4, 4, 4, 8, 4, 4 };
+ private final static int[] align_lp64_unix = { 1, 2, 4, 8, 4, 8, 4, 8, 16, 8 };
++ private final static int[] align_s390_64_unix = { 1, 2, 4, 8, 4, 8, 4, 8, 8, 8 };
+ private final static int[] align_x86_64_windows = { 1, 2, 4, 8, 4, 4, 4, 8, 16, 8 };
+
+ /**
+@@ -108,9 +109,11 @@ public class MachineDataInfo {
+ X86_32_WINDOWS( size_x86_32_windows, align_x86_32_windows),
+ /** LP64 Unix, e.g.: {@link Platform.CPUType#X86_64} Unix, {@link Platform.CPUType#ARM64} EABI, {@link Platform.CPUType#PPC64} Unix, .. */
+ LP64_UNIX( size_lp64_unix, align_lp64_unix),
++ /** {@link Platform.CPUType#S390X} Unix */
++ S390_64_UNIX( size_lp64_unix, align_s390_64_unix),
+ /** {@link Platform.CPUType#X86_64} Windows */
+ X86_64_WINDOWS( size_x86_64_windows, align_x86_64_windows);
+- // 8
++ // 9
+
+ public final MachineDataInfo md;
+
+--- a/src/java/jogamp/common/os/MachineDataInfoRuntime.java
++++ b/src/java/jogamp/common/os/MachineDataInfoRuntime.java
+@@ -112,6 +112,8 @@ public class MachineDataInfoRuntime {
+ } else {
+ if( osType == Platform.OSType.WINDOWS ) {
+ return StaticConfig.X86_64_WINDOWS;
++ } else if ( Platform.CPUType.S390X == cpuType ) {
++ return StaticConfig.S390_64_UNIX;
+ } else {
+ // for all 64bit unix types (x86_64, aarch64, sparcv9, ..)
+ return StaticConfig.LP64_UNIX;
diff --git a/dev-java/gluegen/files/gluegen-2.3.2-tests.diff b/dev-java/gluegen/files/gluegen-2.3.2-tests.diff
new file mode 100644
index 000000000000..be298505aaad
--- /dev/null
+++ b/dev-java/gluegen/files/gluegen-2.3.2-tests.diff
@@ -0,0 +1,171 @@
+Description: enable testcases build and run.
+ One testcase can't build because of missing up to date semver-java:
+ - TestVersionSemantics
+ Three testcases fail on every arch while the library seems functional:
+ - TestUri99LaunchOnReservedCharPathBug908
+ - TestStructGen01
+ - TestStructGen02.
+Author: Gilles Filippini <pini@debian.org>
+--- gluegen2.orig/make/build-test.xml
++++ gluegen2/make/build-test.xml
+@@ -84,6 +84,7 @@
+ <pathelement location="${junit.jar}" />
+ <pathelement location="${semver.jar}" />
+ <pathelement location="${gluegen.jar}" />
++ <pathelement location="/usr/share/java/jsr305.jar" />
+ </path>
+
+ <path id="junit.run.classpath">
+--- gluegen2.orig/make/scripts/runtest.sh
++++ gluegen2/make/scripts/runtest.sh
+@@ -42,7 +42,7 @@ rm -f $LOG
+ GLUEGEN_ROOT=`dirname $builddir`
+ ROOTREL_BUILD=`basename $builddir`
+
+-X_ARGS="-Drootrel.build=$ROOTREL_BUILD -Dgluegen.root=$GLUEGEN_ROOT"
++X_ARGS="-Drootrel.build=$ROOTREL_BUILD -Dgluegen.root=$GLUEGEN_ROOT -Djava.library.path=$builddir/obj:$builddir/test/build/natives"
+ #D_ARGS="-Djogamp.debug.ProcAddressHelper -Djogamp.debug.NativeLibrary -Djogamp.debug.NativeLibrary.Lookup"
+ #D_ARGS="-Djogamp.debug.TraceLock"
+ #D_ARGS="-Djogamp.debug.Platform -Djogamp.debug.NativeLibrary"
+@@ -64,12 +64,12 @@ X_ARGS="-Drootrel.build=$ROOTREL_BUILD -
+ #D_ARGS="-Djogamp.debug.IOUtil -Djogamp.debug.IOUtil.Exe"
+ #D_ARGS="-Djogamp.debug.ByteBufferInputStream"
+ #D_ARGS="-Djogamp.debug.Bitstream"
+-#D_ARGS="-Djogamp.debug=all"
++D_ARGS="-Djogamp.debug=all"
+ #D_ARGS="-Djogamp.debug.Logging"
+
+ function onetest() {
+ #USE_CLASSPATH=lib/junit.jar:$ANT_JARS:lib/semantic-versioning/semver.jar:"$builddir"/../make/lib/TestJarsInJar.jar:"$builddir"/gluegen-rt.jar:"$builddir"/gluegen.jar:"$builddir"/gluegen-test-util.jar:"$builddir"/test/build/gluegen-test.jar
+- USE_CLASSPATH=lib/junit.jar:$ANT_JARS:lib/semantic-versioning/semver.jar:"$builddir"/../make/lib/TestJarsInJar.jar:"$builddir"/gluegen-rt.jar:"$builddir"/gluegen.jar:"$builddir"/gluegen-test-util.jar:"$builddir"/test/build/gluegen-test.jar:"$builddir"/gluegen-rt-natives.jar
++ USE_CLASSPATH=/usr/share/java/junit4.jar:$ANT_JARS:lib/semantic-versioning/semver.jar:"$builddir"/../test/TestJarsInJar/TestJarsInJar.jar:"$builddir"/gluegen-rt.jar:"$builddir"/gluegen.jar:"$builddir"/gluegen-test-util.jar:"$builddir"/test/build/gluegen-test.jar:"$builddir"/gluegen-rt-natives.jar
+ #USE_CLASSPATH=lib/junit.jar:$ANT_JARS:lib/semantic-versioning/semver.jar:"$builddir"/../make/lib/TestJarsInJar.jar:"$builddir"/gluegen-rt-alt.jar:"$builddir"/gluegen.jar:"$builddir"/gluegen-test-util.jar:"$builddir"/test/build/gluegen-test.jar
+ libspath="$builddir"/test/build/natives
+ #USE_CLASSPATH=lib/junit.jar:$ANT_JARS:"$builddir"/../make/lib/TestJarsInJar.jar:"$builddir"/classes:"$builddir"/test/build/classes
+@@ -88,66 +88,68 @@ function onetest() {
+ echo
+ }
+ #
++(cd $builddir/../test/TestJarsInJar && sh make.sh)
++#
+-#onetest com.jogamp.common.GlueGenVersion 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestSystemPropsAndEnvs 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestVersionInfo 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestVersionNumber 2>&1 | tee -a $LOG
++onetest com.jogamp.common.GlueGenVersion 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestSystemPropsAndEnvs 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestVersionInfo 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestVersionNumber 2>&1 | tee -a $LOG
+ #onetest com.jogamp.common.util.TestVersionSemantics 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestIteratorIndexCORE 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.locks.TestRecursiveLock01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.locks.TestRecursiveThreadGroupLock01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.locks.TestSingletonServerSocket00 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.locks.TestSingletonServerSocket01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.locks.TestSingletonServerSocket02 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestFloatStack01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestIntegerStack01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestArrayHashSet01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestArrayHashMap01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.IntIntHashMapTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.IntObjectHashMapTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.LongIntHashMapTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestPlatform01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestRunnableTask01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestIteratorIndexCORE 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.locks.TestRecursiveLock01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.locks.TestRecursiveThreadGroupLock01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.locks.TestSingletonServerSocket00 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.locks.TestSingletonServerSocket01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.locks.TestSingletonServerSocket02 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestFloatStack01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestIntegerStack01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestArrayHashSet01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestArrayHashMap01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.IntIntHashMapTest 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.IntObjectHashMapTest 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.LongIntHashMapTest 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestPlatform01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestRunnableTask01 2>&1 | tee -a $LOG
+ onetest com.jogamp.common.util.TestIOUtil01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestTempJarCache 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestJarUtil 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestValueConversion 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestSyncRingBuffer01 $*
+-#onetest com.jogamp.common.util.TestLFRingBuffer01 $*
+-#onetest com.jogamp.common.util.TestBitfield00 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestBitstream00 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestBitstream01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestBitstream02 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestBitstream03 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.util.TestBitstream04 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.net.TestUrisWithAssetHandler 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.net.TestUriQueryProps 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.net.TestUri01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.net.TestUri02Composing 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.net.TestUri03Resolving 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.net.TestUri99LaunchOnReservedCharPathBug908 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.net.AssetURLConnectionUnregisteredTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.net.AssetURLConnectionRegisteredTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.junit.sec.TestSecIOUtil01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.nio.BuffersTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.nio.TestBuffersFloatDoubleConversion 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.nio.TestPointerBufferEndian 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.nio.TestStructAccessorEndian 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.nio.TestByteBufferInputStream 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.nio.TestByteBufferOutputStream 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.nio.TestByteBufferCopyStream 2>&1 | tee -a $LOG
+-#onetest com.jogamp.common.os.TestElfReader01 $* 2>&1 | tee -a $LOG
+-#onetest com.jogamp.gluegen.test.junit.internals.TestType 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestTempJarCache 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestJarUtil 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestValueConversion 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestSyncRingBuffer01 $*
++onetest com.jogamp.common.util.TestLFRingBuffer01 $*
++onetest com.jogamp.common.util.TestBitfield00 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestBitstream00 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestBitstream01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestBitstream02 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestBitstream03 2>&1 | tee -a $LOG
++onetest com.jogamp.common.util.TestBitstream04 2>&1 | tee -a $LOG
++onetest com.jogamp.common.net.TestUrisWithAssetHandler 2>&1 | tee -a $LOG
++onetest com.jogamp.common.net.TestUriQueryProps 2>&1 | tee -a $LOG
++onetest com.jogamp.common.net.TestUri01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.net.TestUri02Composing 2>&1 | tee -a $LOG
++onetest com.jogamp.common.net.TestUri03Resolving 2>&1 | tee -a $LOG
++onetest com.jogamp.common.net.TestUri99LaunchOnReservedCharPathBug908 2>&1 | tee -a $LOG
++onetest com.jogamp.common.net.AssetURLConnectionUnregisteredTest 2>&1 | tee -a $LOG
++onetest com.jogamp.common.net.AssetURLConnectionRegisteredTest 2>&1 | tee -a $LOG
++onetest com.jogamp.junit.sec.TestSecIOUtil01 2>&1 | tee -a $LOG
++onetest com.jogamp.common.nio.BuffersTest 2>&1 | tee -a $LOG
++onetest com.jogamp.common.nio.TestBuffersFloatDoubleConversion 2>&1 | tee -a $LOG
++onetest com.jogamp.common.nio.TestPointerBufferEndian 2>&1 | tee -a $LOG
++onetest com.jogamp.common.nio.TestStructAccessorEndian 2>&1 | tee -a $LOG
++onetest com.jogamp.common.nio.TestByteBufferInputStream 2>&1 | tee -a $LOG
++onetest com.jogamp.common.nio.TestByteBufferOutputStream 2>&1 | tee -a $LOG
++onetest com.jogamp.common.nio.TestByteBufferCopyStream 2>&1 | tee -a $LOG
++onetest com.jogamp.common.os.TestElfReader01 $* 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.test.junit.internals.TestType 2>&1 | tee -a $LOG
+
+-#onetest com.jogamp.gluegen.test.junit.generation.PCPPTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.gluegen.jcpp.IncludeAbsoluteTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.gluegen.jcpp.CppReaderTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.gluegen.jcpp.TokenPastingWhitespaceTest 2>&1 | tee -a $LOG
+-#onetest com.jogamp.gluegen.jcpp.PreprocessorTest 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.test.junit.generation.PCPPTest 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.jcpp.IncludeAbsoluteTest 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.jcpp.CppReaderTest 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.jcpp.TokenPastingWhitespaceTest 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.jcpp.PreprocessorTest 2>&1 | tee -a $LOG
+
+-#onetest com.jogamp.gluegen.test.junit.generation.Test1p1JavaEmitter 2>&1 | tee -a $LOG
+-#onetest com.jogamp.gluegen.test.junit.generation.Test1p2ProcAddressEmitter 2>&1 | tee -a $LOG
+-#onetest com.jogamp.gluegen.test.junit.generation.Test1p2LoadJNIAndImplLib 2>&1 | tee -a $LOG
+-#onetest com.jogamp.gluegen.test.junit.structgen.TestStructGen01 2>&1 | tee -a $LOG
+-#onetest com.jogamp.gluegen.test.junit.structgen.TestStructGen02 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.test.junit.generation.Test1p1JavaEmitter 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.test.junit.generation.Test1p2ProcAddressEmitter 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.test.junit.generation.Test1p2LoadJNIAndImplLib 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.test.junit.structgen.TestStructGen01 2>&1 | tee -a $LOG
++onetest com.jogamp.gluegen.test.junit.structgen.TestStructGen02 2>&1 | tee -a $LOG
+
diff --git a/dev-java/gluegen/gluegen-2.3.2.ebuild b/dev-java/gluegen/gluegen-2.3.2.ebuild
index a1946b57644d..d8cfd08265c5 100644
--- a/dev-java/gluegen/gluegen-2.3.2.ebuild
+++ b/dev-java/gluegen/gluegen-2.3.2.ebuild
@@ -4,6 +4,7 @@
EAPI=8
JAVA_PKG_IUSE="doc source test"
+WANT_ANT_TASKS="ant-antlr ant-contrib dev-java/cpptasks:0"
inherit java-pkg-2 java-ant-2 toolchain-funcs
@@ -40,26 +41,42 @@ DEPEND="
dev-java/ant-junit4
)
"
-BDEPEND="dev-vcs/git"
PATCHES=(
+ "${FILESDIR}/${PN}-2.3.2-ppc64el-support.diff"
+ "${FILESDIR}/${PN}-2.3.2-disableArchive7z.diff"
+ "${FILESDIR}/${PN}-2.3.2-disable-test-zip-archive.diff"
+ "${FILESDIR}/${PN}-2.3.2-disable_git_call.diff"
+ "${FILESDIR}/${PN}-2.3.2-linker.diff"
+ "${FILESDIR}/${PN}-2.3.2-hideException.diff"
+ "${FILESDIR}/${PN}-2.3.2-armhf.diff"
+ "${FILESDIR}/${PN}-2.3.2-fix-alpha-build-config.patch"
+ "${FILESDIR}/${PN}-2.3.2-missing-arch-symbol.diff"
+ "${FILESDIR}/${PN}-2.3.2-fix-arm64-build-config.diff"
+ "${FILESDIR}/${PN}-2.3.2-tests.diff"
+ "${FILESDIR}/${PN}-2.3.2-disable-static-linking.diff"
+ "${FILESDIR}/${PN}-2.3.2-s390x-support.diff"
+ "${FILESDIR}/${PN}-2.3.2-non-linux-support.diff"
+ "${FILESDIR}/${PN}-2.3.2-disable-java-version-check.diff"
+ "${FILESDIR}/${PN}-2.3.2-rtjar.diff"
+ "${FILESDIR}/${PN}-2.3.2-add-mips64el-mipsn32-support.diff"
+ "${FILESDIR}/${PN}-2.3.2-java10-compatibility.patch"
+ "${FILESDIR}/${PN}-2.3.2-fix_gcc-10.patch"
+
"${FILESDIR}/${PN}-2.2.4-dont-copy-jars.patch"
"${FILESDIR}/${PN}-2.2.4-dont-strip.patch"
- "${FILESDIR}/${PN}-2.2.4-dont-test-archive.patch"
- "${FILESDIR}/${P}-remove-static-lib.patch"
- "${FILESDIR}/${P}-respect-flags.patch"
+ "${FILESDIR}/${PN}-2.3.2-respect-flags.patch"
)
EANT_BUILD_TARGET="all.no_junit"
EANT_BUILD_XML="make/build.xml"
EANT_DOC_TARGET=""
-EANT_EXTRA_ARGS="-Dc.strip.libraries=false"
+EANT_EXTRA_ARGS="-Dc.strip.libraries=false -Dtarget.sourcelevel=1.8 -Dtarget.targetlevel=1.8 -Dtarget.rt.jar= "
EANT_GENTOO_CLASSPATH="antlr,ant-core,jsr305"
EANT_GENTOO_CLASSPATH_EXTRA="${S}/build/${PN}{,-rt}.jar"
EANT_NEEDS_TOOLS="yes"
EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},junit-4"
EANT_TEST_TARGET="junit.run"
JAVA_ANT_REWRITE_CLASSPATH="yes"
-WANT_ANT_TASKS="ant-antlr ant-contrib dev-java/cpptasks:0"
src_prepare() {
tc-export CC
@@ -67,13 +84,6 @@ src_prepare() {
rm -rf make/lib || die
default
java-ant_bsfix_files "${S}/make/build-test.xml" "${S}/make/jogamp-env.xml"
-
- #it want a git repo
- git init || die
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || die
- git add . || die
- git commit -m 'init' || die
}
src_test() {
diff --git a/dev-java/javax-jms-api/Manifest b/dev-java/javax-jms-api/Manifest
new file mode 100644
index 000000000000..b3fa25d684ad
--- /dev/null
+++ b/dev-java/javax-jms-api/Manifest
@@ -0,0 +1 @@
+DIST javax-jms-api-2.0.3-RELEASE.tar.gz 162689 BLAKE2B cd59e263f649d30dcd4a117c95943c2fca4141822dc23f425286d142849c2be99a0e866f4f3439917a2a09c722a74b067025e34053f1afa7ee8654cca253d54c SHA512 64f492c17eb84a61e23da53755ce074c5c957204651a391f7e879992f8b781d6b8afbfc7f13898f1e5f5dcb384b3ae31807b4acde111f587703d5d8bc08b5063
diff --git a/dev-java/javax-jms-api/javax-jms-api-2.0.3.ebuild b/dev-java/javax-jms-api/javax-jms-api-2.0.3.ebuild
new file mode 100644
index 000000000000..95b4a86c8724
--- /dev/null
+++ b/dev-java/javax-jms-api/javax-jms-api-2.0.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom api/pom.xml --download-uri https://github.com/jakartaee/messaging/archive/2.0.3-RELEASE.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild javax-jms-api-2.0.3.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="jakarta.jms:jakarta.jms-api:2.0.3"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta Messaging"
+HOMEPAGE="https://projects.eclipse.org/projects/ee4j.jms"
+SRC_URI="https://github.com/jakartaee/messaging/archive/${PV}-RELEASE.tar.gz -> ${P}-RELEASE.tar.gz"
+
+LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( NOTICE.md README.md )
+
+S="${WORKDIR}/messaging-${PV}-RELEASE"
+
+JAVA_SRC_DIR="api/src/main/java"
diff --git a/dev-java/javax-jms-api/metadata.xml b/dev-java/javax-jms-api/metadata.xml
new file mode 100644
index 000000000000..9c73cf9cc984
--- /dev/null
+++ b/dev-java/javax-jms-api/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ Jakarta Messaging describes a means for Java applications to create, send, and receive messages via loosely coupled, reliable asynchronous communication services.
+ </longdescription>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/jctools-core/Manifest b/dev-java/jctools-core/Manifest
index 75ab7c5f1a9a..62491b0a4cad 100644
--- a/dev-java/jctools-core/Manifest
+++ b/dev-java/jctools-core/Manifest
@@ -1,2 +1,3 @@
DIST jctools-3.1.0.tar.gz 4204148 BLAKE2B 88f8f5395470072571de64ee3d696e90c1fbf22a6e9c1424463bfb8b497dd3d47f8d0fcc9a039acec8380ac52a3d445789257d5a1071e49e6963c59d156065e2 SHA512 bf69387732dea043e6e5fa44fe60a5f80ef5ae9d32ebb39ac16353e5bd82502b3b6e5564a8bd9f3b8ad073a95ff984ae55133884ebeea9d0b9a777c488af2a74
+DIST jctools-3.3.0.tar.gz 4214717 BLAKE2B c9c5f5897ebf8bb7ac439b969f372c45b7652517cbc5369c07fe80d11f779eebe7fe5ffb5d93a18fe3df5d9ca9adf3cee7268c8c6ed962fccb4d84f5b0451c4b SHA512 ce212abacca6137a133f7a4e94370442d00bf73794fa7b9ce440631701a9a2fca31c4dda05e2a768fcf28f75e84f2a7f318a936e429c7f4ed20daa7b79d11a4a
DIST jctools-core-2.0.2.tar.gz 4136573 BLAKE2B 6ca4c276422b24b18256b35606b6e59e8be53b77fe0b757e4f46dc4e0bdab0ea8fbb8c58e84794c689aa1df29a80aa847b6baf7cda430f2657720ecb5d60e99f SHA512 734905d6847664a08557fa9807766bfe2cd57e9562f1dc0d908c9fffc627c1cb7576ac079715004da9a1f2ee958c8373caf60c110ef3de8f7da5bb04775f6f7f
diff --git a/dev-java/jctools-core/jctools-core-3.3.0.ebuild b/dev-java/jctools-core/jctools-core-3.3.0.ebuild
new file mode 100644
index 000000000000..4fe5ac01487c
--- /dev/null
+++ b/dev-java/jctools-core/jctools-core-3.3.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/JCTools/JCTools/archive/v3.3.0.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jctools-core-3.3.0.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.jctools:jctools-core:3.3.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java Concurrency Tools Core Library"
+HOMEPAGE="https://jctools.github.io/JCTools/"
+SRC_URI="https://github.com/JCTools/JCTools/archive/v${PV}.tar.gz -> jctools-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="3"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava-testlib:0
+ dev-java/hamcrest-library:1.3
+ )"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../{README,RELEASE-NOTES}.md )
+
+S="${WORKDIR}/JCTools-${PV}/jctools-core"
+
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava-testlib,hamcrest-library-1.3,junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+# Using the defaults of java-pkg-simple would skip more than half the number of tests.
+src_test() {
+ # org.jetbrains.kotlinx.lincheck is not yet packaged
+ rm -r src/test/java/org/jctools/maps/linearizability_test || die
+ # These tests would fail and are not run by "mvn test".
+ # "org.jctools.queues.MpqSanityTest"
+ # "org.jctools.queues.QueueSanityTest"
+ # "org.jctools.queues.ScQueueRemoveTest"
+ # "org.jctools.util.TestUtil"
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ \( -name "*Test*.java" \
+ -o -name "nbsi_tester.java" \
+ -o -name "nbhs_tester.java" \)\
+ ! -name "MpqSanityTest.java" \
+ ! -name "QueueSanityTest.java" \
+ ! -name "ScQueueRemoveTest.java" \
+ ! -name "TestUtil.java" \
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+ # OK (7226 tests)
+}
diff --git a/dev-java/jna/Manifest b/dev-java/jna/Manifest
index 1d8ab37fde64..8790b86f56df 100644
--- a/dev-java/jna/Manifest
+++ b/dev-java/jna/Manifest
@@ -1,2 +1 @@
-DIST jna-5.10.0.tar.gz 106258319 BLAKE2B f5605fd91bacc1e900e835494c27b0fdb4ba91b0c04bad1757133bed5938603264ce9fba89c5ce7e4644456b752b934f6e205d0131659e77bf0c58c2b44c61cd SHA512 93e1ab659a60d711557eb93620bcbd05f3dbe9c739b256cfb647d8ac2a4038d0bc638c614b58339b2875017ac18b219a4ddeb0d92e5ca25fef2e326bc14ae256
DIST jna-5.11.0.tar.gz 107424072 BLAKE2B 9f79a0b0e643c8213c159785814dffaeee2dc3b332647c5c887aa5a6e707be5241d392e75730b803b21362fcbdcee82d7049bcdfb7956039f1534e3cd8e170cf SHA512 0122b56c24125e5dea541bee71b43f127df50c8f90b2c240271c677a8d598d9640bb920bd3390856124e8b1bc89a9bd41d2b6c569ae7275f68a13c08fd07027d
diff --git a/dev-java/jna/jna-5.10.0.ebuild b/dev-java/jna/jna-5.10.0.ebuild
deleted file mode 100644
index 4e08475cbb53..000000000000
--- a/dev-java/jna/jna-5.10.0.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="net.java.dev.jna:jna:5.10.0"
-
-inherit java-pkg-2 java-ant-2 toolchain-funcs
-
-DESCRIPTION="Java Native Access"
-HOMEPAGE="https://github.com/java-native-access/jna"
-SRC_URI="https://github.com/java-native-access/jna/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-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:*
- dev-java/animal-sniffer-annotations:0
- dev-java/ant-core:0
- dev-java/asm:9
- test? (
- dev-java/ant-junit4:0
- dev-java/junit:4
- dev-java/reflections:0
- )
- ${CDEPEND}
- x11-libs/libXt
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}
-"
-
-DOCS=( README.md CHANGES.md OTHERS TODO )
-PATCHES=(
- "${FILESDIR}/${PV}-build.xml.patch"
- "${FILESDIR}/4.2.2-makefile-flags.patch"
-)
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-JAVA_PKG_BSFIX_NAME="build.xml build-ant-tools.xml"
-EANT_BUILD_TARGET="jar contrib-jars"
-EANT_EXTRA_ARGS="-Dbuild-native=true -Dcompatibility=1.8 -Ddynlink.native=true"
-EANT_TEST_EXTRA_ARGS="-Djava.io.tmpdir=\"${T}\""
-EANT_TEST_GENTOO_CLASSPATH="animal-sniffer-annotations,reflections"
-
-pkg_setup() {
- java-pkg-2_pkg_setup
-
- EANT_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --build-only \
- animal-sniffer-annotations,ant-core,asm-9)"
-
- # Any spaces in paths returned by toolchain-funcs and options like MAKEOPTS
- # could cause trouble in EANT_EXTRA_ARGS when Java eclasses process the
- # variable's value, so define them in ANT_OPTS instead
- ANT_OPTS="-DCC='$(tc-getCC)'"
- # Parallel build does not respect dependency relationships between objects
- ANT_OPTS+=" -DEXTRA_MAKE_OPTS='${MAKEOPTS} -j1'"
-}
-
-src_prepare() {
- default
-
- # Eliminate build.xml's dependency on bundled native JARs
- sed -i -e '/zipfileset src="${lib.native}/,+2d' build.xml ||
- die "Failed to delete lines referencing bundled JARs in build.xml"
-
- # Clean up bundled JARs and libffi
- java-pkg_clean
- rm -r native/libffi || die "Failed to remove bundled libffi"
-
- java-pkg-2_src_prepare
-}
-
-src_test() {
- java-pkg-2_src_test
-}
-
-src_install() {
- java-pkg_newjar "build/${PN}-min.jar"
- java-pkg_dojar "contrib/platform/dist/${PN}-platform.jar"
- java-pkg_doso build/native-*/libjnidispatch.so
- einstalldocs
-
- use source && java-pkg_dosrc src/*
- use doc && java-pkg_dojavadoc doc/javadoc
-}
diff --git a/dev-java/log4j-12-api/Manifest b/dev-java/log4j-12-api/Manifest
index 0116f1a3571a..71eb0f57dfac 100644
--- a/dev-java/log4j-12-api/Manifest
+++ b/dev-java/log4j-12-api/Manifest
@@ -1 +1,2 @@
DIST apache-log4j-2.17.2-src.tar.gz 11680029 BLAKE2B 19baf31f4e00f0572fad810177d52bf3376f73a47a70ea251ce60a198f4bb322e6e97691f23b1ebb78e29f4eb6f0a36093bd2c6cb558486841d569b601d11015 SHA512 ae09c3af8662fcf5fdc4e7c7dd298e91ec85e90272b8247ce4ee60c7d4ecd48a4cd294fc9e51c0b307fbb58c677e61e31527eab4085debcc9b40919af0920176
+DIST apache-log4j-2.18.0-src.tar.gz 11748446 BLAKE2B c11a5c7cb5be77fd27504b93962c5493f92475e759a575c5536b674a7e8116d4f9840bd2eb3e95156c257ff046f0e3ec437960b0f5ca01f2ddceb509c49aac1f SHA512 104eb8dbd35d3166a0d49190b2e3fdf981b864d21ed47d84f16acd417b943a41fbafa445b2c38ae8cdc494da6af8746ecc3a0db4795f45ce427344659cffae7b
diff --git a/dev-java/log4j-12-api/log4j-12-api-2.18.0.ebuild b/dev-java/log4j-12-api/log4j-12-api-2.18.0.ebuild
new file mode 100644
index 000000000000..cb01db0c5062
--- /dev/null
+++ b/dev-java/log4j-12-api/log4j-12-api-2.18.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom log4j-1.2-api/pom.xml --download-uri mirror://apache/logging/log4j/2.18.0/apache-log4j-2.18.0-src.tar.gz --slot 2 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild log4j-12-api-2.18.0.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.logging.log4j:log4j-1.2-api:2.18.0"
+JAVA_TESTING_FRAMEWORKS="junit-vintage junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="The Apache Log4j 1.x Compatibility API"
+HOMEPAGE="https://logging.apache.org/log4j/2.x/"
+SRC_URI="mirror://apache/logging/log4j/${PV}/apache-log4j-${PV}-src.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+# We don't have junit-vintage and junit-jupiter
+RESTRICT="test"
+
+# Common dependencies
+# POM: log4j-1.2-api/pom.xml
+# org.apache.logging.log4j:log4j-api:2.18.0 -> >=dev-java/log4j-api-2.18.0:2
+# org.apache.logging.log4j:log4j-core:2.18.0 -> >=dev-java/log4j-core-2.18.0:2
+
+CP_DEPEND="
+ ~dev-java/log4j-api-${PV}:2
+ ~dev-java/log4j-core-${PV}:2
+"
+
+# Compile dependencies
+# POM: log4j-1.2-api/pom.xml
+# javax.jms:javax.jms-api:2.0.1 -> !!!groupId-not-found!!!
+# POM: log4j-1.2-api/pom.xml
+# test? com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.13.3 -> >=dev-java/jackson-dataformat-xml-2.13.3:0
+# test? commons-io:commons-io:2.11.0 -> >=dev-java/commons-io-2.11.0:1
+# test? org.apache.commons:commons-lang3:3.12.0 -> >=dev-java/commons-lang-3.12.0:3.6
+# test? org.apache.felix:org.apache.felix.framework:7.0.5 -> !!!groupId-not-found!!!
+# test? org.apache.logging.log4j:log4j-api:2.18.0 -> >=dev-java/log4j-api-2.18.0:2
+# test? org.apache.logging.log4j:log4j-core:2.18.0 -> >=dev-java/log4j-core-2.18.0:2
+# test? org.apache.velocity:velocity:1.7 -> !!!artifactId-not-found!!!
+# test? org.eclipse.tycho:org.eclipse.osgi:3.13.0.v20180226-1711 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-engine:5.8.2 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-params:5.8.2 -> !!!groupId-not-found!!!
+# test? org.junit.vintage:junit-vintage-engine:5.8.2 -> !!!groupId-not-found!!!
+# test? org.mockito:mockito-core:4.4.0 -> >=dev-java/mockito-4.4.0:4
+# test? oro:oro:2.0.8 -> >=dev-java/jakarta-oro-2.0.8:2.0
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ dev-java/javax-jms-api:0
+"
+# test? (
+# !!!artifactId-not-found!!!
+# !!!groupId-not-found!!!
+# >=dev-java/commons-io-2.11.0:1
+# >=dev-java/jackson-dataformat-xml-2.13.0:0
+# ~dev-java/log4j-api-${PV}:2
+# ~dev-java/log4j-core-${PV}:2
+# )
+#"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( {CONTRIBUTING,README,RELEASE-NOTES,SECURITY}.md )
+
+S="${WORKDIR}/apache-log4j-${PV}-src"
+
+JAVA_CLASSPATH_EXTRA="javax-jms-api"
+JAVA_SRC_DIR="log4j-1.2-api/src/main/java"
+JAVA_RESOURCE_DIRS="log4j-1.2-api/src/main/resources"
+
+#JAVA_TEST_GENTOO_CLASSPATH="jackson-dataformat-xml,commons-io-1,commons-lang-3.6,!!!groupId-not-found!!!,log4j-api-2,log4j-core-2,!!!artifactId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,mockito-4,jakarta-oro-2.0"
+#JAVA_TEST_SRC_DIR="log4j-1.2-api/src/test/java"
+#JAVA_TEST_RESOURCE_DIRS=(
+# "log4j-1.2-api/src/test/resources"
+#)
diff --git a/dev-java/log4j-api/Manifest b/dev-java/log4j-api/Manifest
index 0116f1a3571a..71eb0f57dfac 100644
--- a/dev-java/log4j-api/Manifest
+++ b/dev-java/log4j-api/Manifest
@@ -1 +1,2 @@
DIST apache-log4j-2.17.2-src.tar.gz 11680029 BLAKE2B 19baf31f4e00f0572fad810177d52bf3376f73a47a70ea251ce60a198f4bb322e6e97691f23b1ebb78e29f4eb6f0a36093bd2c6cb558486841d569b601d11015 SHA512 ae09c3af8662fcf5fdc4e7c7dd298e91ec85e90272b8247ce4ee60c7d4ecd48a4cd294fc9e51c0b307fbb58c677e61e31527eab4085debcc9b40919af0920176
+DIST apache-log4j-2.18.0-src.tar.gz 11748446 BLAKE2B c11a5c7cb5be77fd27504b93962c5493f92475e759a575c5536b674a7e8116d4f9840bd2eb3e95156c257ff046f0e3ec437960b0f5ca01f2ddceb509c49aac1f SHA512 104eb8dbd35d3166a0d49190b2e3fdf981b864d21ed47d84f16acd417b943a41fbafa445b2c38ae8cdc494da6af8746ecc3a0db4795f45ce427344659cffae7b
diff --git a/dev-java/log4j-api/log4j-api-2.18.0.ebuild b/dev-java/log4j-api/log4j-api-2.18.0.ebuild
new file mode 100644
index 000000000000..b46220565365
--- /dev/null
+++ b/dev-java/log4j-api/log4j-api-2.18.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom log4j-api/pom.xml --download-uri mirror://apache/logging/log4j/2.18.0/apache-log4j-2.18.0-src.tar.gz --slot 2 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild log4j-api-2.18.0.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.logging.log4j:log4j-api:2.18.0"
+JAVA_TESTING_FRAMEWORKS="junit-vintage junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="The Apache Log4j API"
+HOMEPAGE="https://logging.apache.org/log4j/2.x/"
+SRC_URI="mirror://apache/logging/log4j/${PV}/apache-log4j-${PV}-src.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+# junit-{jupiter,vintage} is not available in ::gentoo
+RESTRICT="test"
+
+# Compile dependencies
+# POM: ${PN}/pom.xml
+# org.osgi:org.osgi.core:6.0.0 -> >=dev-java/osgi-core-8.0.0:0
+# POM: ${PN}/pom.xml
+# test? com.fasterxml.jackson.core:jackson-core:2.13.3 -> >=dev-java/jackson-core-2.13.3:0
+# test? com.fasterxml.jackson.core:jackson-databind:2.13.3 -> >=dev-java/jackson-databind-2.13.3:0
+# test? org.apache.commons:commons-lang3:3.12.0 -> >=dev-java/commons-lang-3.12.0:3.6
+# test? org.apache.felix:org.apache.felix.framework:7.0.5 -> !!!groupId-not-found!!!
+# test? org.apache.maven:maven-core:3.8.5 -> !!!groupId-not-found!!!
+# test? org.assertj:assertj-core:3.23.1 -> !!!suitable-mavenVersion-not-found!!!
+# test? org.eclipse.tycho:org.eclipse.osgi:3.13.0.v20180226-1711 -> !!!groupId-not-found!!!
+# test? org.junit-pioneer:junit-pioneer:1.6.2 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-engine:5.8.2 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-migrationsupport:5.8.2 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-params:5.8.2 -> !!!groupId-not-found!!!
+# test? org.junit.vintage:junit-vintage-engine:5.8.2 -> !!!groupId-not-found!!!
+# test? uk.org.webcompere:system-stubs-jupiter:2.0.1 -> !!!groupId-not-found!!!
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ dev-java/osgi-core:0
+"
+# test? (
+# !!!groupId-not-found!!!
+# !!!suitable-mavenVersion-not-found!!!
+# >=dev-java/commons-lang-3.12.0:3.6
+# >=dev-java/jackson-core-2.13.3:0
+# >=dev-java/jackson-databind-2.13.3:0
+# )
+# "
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {CONTRIBUTING,README,RELEASE-NOTES,SECURITY}.md )
+
+S="${WORKDIR}/apache-log4j-${PV}-src"
+
+JAVA_CLASSPATH_EXTRA="osgi-core"
+JAVA_SRC_DIR="${PN}/src/main/java"
+JAVA_RESOURCE_DIRS="${PN}/src/main/resources"
+
+# JAVA_TEST_GENTOO_CLASSPATH="jackson-core,jackson-databind,commons-lang-3.6,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!suitable-mavenVersion-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!"
+# JAVA_TEST_SRC_DIR="${PN}/src/test/java"
+# JAVA_TEST_RESOURCE_DIRS=(
+# "${PN}/src/test/resources"
+# )
diff --git a/dev-java/log4j-core/Manifest b/dev-java/log4j-core/Manifest
index 0116f1a3571a..71eb0f57dfac 100644
--- a/dev-java/log4j-core/Manifest
+++ b/dev-java/log4j-core/Manifest
@@ -1 +1,2 @@
DIST apache-log4j-2.17.2-src.tar.gz 11680029 BLAKE2B 19baf31f4e00f0572fad810177d52bf3376f73a47a70ea251ce60a198f4bb322e6e97691f23b1ebb78e29f4eb6f0a36093bd2c6cb558486841d569b601d11015 SHA512 ae09c3af8662fcf5fdc4e7c7dd298e91ec85e90272b8247ce4ee60c7d4ecd48a4cd294fc9e51c0b307fbb58c677e61e31527eab4085debcc9b40919af0920176
+DIST apache-log4j-2.18.0-src.tar.gz 11748446 BLAKE2B c11a5c7cb5be77fd27504b93962c5493f92475e759a575c5536b674a7e8116d4f9840bd2eb3e95156c257ff046f0e3ec437960b0f5ca01f2ddceb509c49aac1f SHA512 104eb8dbd35d3166a0d49190b2e3fdf981b864d21ed47d84f16acd417b943a41fbafa445b2c38ae8cdc494da6af8746ecc3a0db4795f45ce427344659cffae7b
diff --git a/dev-java/log4j-core/log4j-core-2.18.0.ebuild b/dev-java/log4j-core/log4j-core-2.18.0.ebuild
new file mode 100644
index 000000000000..c89b20c08cd1
--- /dev/null
+++ b/dev-java/log4j-core/log4j-core-2.18.0.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom log4j-core/pom.xml --download-uri mirror://apache/logging/log4j/2.18.0/apache-log4j-2.18.0-src.tar.gz --slot 2 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild log4j-core-2.18.0.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.logging.log4j:log4j-core:2.18.0"
+# JAVA_TESTING_FRAMEWORKS="junit-vintage junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="The Apache Log4j Implementation"
+HOMEPAGE="https://logging.apache.org/log4j/2.x/"
+SRC_URI="mirror://apache/logging/log4j/${PV}/apache-log4j-${PV}-src.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+# We don't have junit-vintage and junit-jupiter
+RESTRICT="test"
+
+# Common dependencies
+# POM: ${PN}/pom.xml
+# com.conversantmedia:disruptor:1.2.15 -> >=dev-java/conversant-disruptor-1.2.19:0
+# com.fasterxml.jackson.core:jackson-core:2.13.3 -> >=dev-java/jackson-core-2.13.3:0
+# com.fasterxml.jackson.core:jackson-databind:2.13.3 -> >=dev-java/jackson-databind-2.13.3:0
+# com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.13.3 -> >=dev-java/jackson-dataformat-xml-2.13.3:0
+# com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3 -> >=dev-java/jackson-dataformat-yaml-2.13.3:0
+# com.fasterxml.woodstox:woodstox-core:6.2.8 -> >=dev-java/woodstox-core-6.2.8:0
+# com.lmax:disruptor:3.4.4 -> >=dev-java/lmax-disruptor-3.4.4:0
+# org.apache.commons:commons-compress:1.21 -> >=dev-java/commons-compress-1.21:0
+# org.apache.commons:commons-csv:1.9.0 -> >=dev-java/commons-csv-1.9.0:0
+# org.apache.kafka:kafka-clients:1.1.1 -> >=dev-java/kafka-clients-1.1.1:0
+# org.apache.logging.log4j:log4j-api:2.18.0 -> >=dev-java/log4j-api-2.18.0:2
+# org.fusesource.jansi:jansi:2.4.0 -> >=dev-java/jansi-2.4.0:2
+# org.jctools:jctools-core:3.3.0 -> !!!suitable-mavenVersion-not-found!!!
+# org.slf4j:slf4j-api:1.7.36 -> >=dev-java/slf4j-api-1.7.36:0
+# org.zeromq:jeromq:0.5.2 -> >=dev-java/jeromq-0.5.2:0
+
+CP_DEPEND="
+ dev-java/commons-compress:0
+ dev-java/commons-csv:0
+ dev-java/conversant-disruptor:0
+ dev-java/jackson-core:0
+ dev-java/jackson-databind:0
+ dev-java/jackson-dataformat-xml:0
+ dev-java/jackson-dataformat-yaml:0
+ dev-java/jansi:2
+ dev-java/javax-mail:0
+ dev-java/jctools-core:3
+ dev-java/jeromq:0
+ dev-java/kafka-clients:0
+ dev-java/lmax-disruptor:0
+ ~dev-java/log4j-api-${PV}:2
+ dev-java/slf4j-api:0
+ dev-java/woodstox-core:0
+"
+
+# Compile dependencies
+# POM: ${PN}/pom.xml
+# javax.activation:javax.activation-api:1.2.0 -> !!!groupId-not-found!!!
+# javax.jms:javax.jms-api:2.0.1 -> !!!groupId-not-found!!!
+# javax.mail:javax.mail-api:1.6.2 -> !!!groupId-not-found!!!
+# org.osgi:org.osgi.core:6.0.0 -> >=dev-java/osgi-core-8.0.0:0
+# POM: ${PN}/pom.xml
+# test? ch.qos.logback:logback-classic:1.2.11 -> >=dev-java/logback-classic-1.2.11:0
+# test? ch.qos.logback:logback-core:1.2.11 -> >=dev-java/logback-core-1.2.11:0
+# test? com.github.tomakehurst:wiremock:2.26.3 -> !!!groupId-not-found!!!
+# test? com.google.code.java-allocation-instrumenter:java-allocation-instrumenter:3.3.0 -> !!!groupId-not-found!!!
+# test? com.h2database:h2:2.1.214 -> !!!groupId-not-found!!!
+# test? commons-codec:commons-codec:1.15 -> >=dev-java/commons-codec-1.15:0
+# test? commons-io:commons-io:2.11.0 -> >=dev-java/commons-io-2.11.0:1
+# test? commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
+# test? net.javacrumbs.json-unit:json-unit:2.32.0 -> !!!groupId-not-found!!!
+# test? org.apache-extras.beanshell:bsh:2.0b6 -> >=dev-java/bsh-2.0_beta6:0
+# test? org.apache.activemq:activemq-broker:5.17.1 -> !!!groupId-not-found!!!
+# test? org.apache.commons:commons-lang3:3.12.0 -> >=dev-java/commons-lang-3.12.0:3.6
+# test? org.apache.felix:org.apache.felix.framework:7.0.5 -> !!!groupId-not-found!!!
+# test? org.apache.logging.log4j:log4j-api:2.18.0 -> >=dev-java/log4j-api-2.18.0:2
+# test? org.apache.maven:maven-core:3.8.5 -> !!!groupId-not-found!!!
+# test? org.awaitility:awaitility:4.2.0 -> !!!groupId-not-found!!!
+# test? org.codehaus.groovy:groovy-dateutil:3.0.10 -> !!!groupId-not-found!!!
+# test? org.codehaus.groovy:groovy-jsr223:3.0.10 -> !!!groupId-not-found!!!
+# test? org.codehaus.plexus:plexus-utils:3.4.2 -> !!!groupId-not-found!!!
+# test? org.eclipse.tycho:org.eclipse.osgi:3.13.0.v20180226-1711 -> !!!groupId-not-found!!!
+# test? org.hamcrest:hamcrest:2.2 -> >=dev-java/hamcrest-2.2:0
+# test? org.hsqldb:hsqldb:2.5.2 -> !!!groupId-not-found!!!
+# test? org.jmdns:jmdns:3.5.7 -> !!!groupId-not-found!!!
+# test? org.junit-pioneer:junit-pioneer:1.6.2 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-engine:5.8.2 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-params:5.8.2 -> !!!groupId-not-found!!!
+# test? org.junit.platform:junit-platform-commons:1.8.2 -> !!!groupId-not-found!!!
+# test? org.junit.vintage:junit-vintage-engine:5.8.2 -> !!!groupId-not-found!!!
+# test? org.mockito:mockito-core:4.4.0 -> >=dev-java/mockito-4.4.0:4
+# test? org.mockito:mockito-junit-jupiter:4.4.0 -> !!!artifactId-not-found!!!
+# test? org.slf4j:slf4j-ext:1.7.36 -> >=dev-java/slf4j-ext-1.7.36:0
+# test? org.springframework:spring-test:5.3.20 -> !!!groupId-not-found!!!
+# test? org.tukaani:xz:1.9 -> >=dev-java/xz-java-1.9:0
+# test? org.xmlunit:xmlunit-core:2.9.0 -> !!!groupId-not-found!!!
+# test? org.xmlunit:xmlunit-matchers:2.9.0 -> !!!groupId-not-found!!!
+# test? org.zapodot:embedded-ldap-junit:0.8.1 -> !!!groupId-not-found!!!
+
+DEPEND="${CP_DEPEND}
+ dev-java/jakarta-activation-api:1
+ dev-java/jakarta-mail-api:0
+ dev-java/javax-jms-api:0
+ dev-java/osgi-core-api:0
+ >=virtual/jdk-1.8:*"
+# test? (
+# !!!artifactId-not-found!!!
+# !!!groupId-not-found!!!
+# >=dev-java/bsh-2.0_beta6:0
+# >=dev-java/commons-codec-1.15:0
+# >=dev-java/commons-io-2.11.0:1
+# >=dev-java/commons-lang-3.12.0:3.6
+# >=dev-java/commons-logging-1.2:0
+# >=dev-java/hamcrest-2.2:0
+# >=dev-java/log4j-api-2.18.0:2
+# >=dev-java/logback-classic-1.2.11:0
+# >=dev-java/logback-core-1.2.11:0
+# >=dev-java/mockito-4.4.0:4
+# >=dev-java/slf4j-ext-1.7.36:0
+# >=dev-java/xz-java-1.9:0
+# )
+#"
+
+# Runtime dependencies
+# POM: ${PN}/pom.xml
+# com.sun.mail:javax.mail:1.6.2 -> !!!artifactId-not-found!!!
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+DOCS=( {CONTRIBUTING,README,RELEASE-NOTES,SECURITY}.md )
+
+S="${WORKDIR}/apache-log4j-${PV}-src"
+
+JAVA_CLASSPATH_EXTRA="jakarta-activation-api-1,jakarta-mail-api,javax-jms-api,osgi-core-api"
+JAVA_SRC_DIR="${PN}/src/main/java"
+JAVA_RESOURCE_DIRS="${PN}/src/main/resources"
+
+#JAVA_TEST_GENTOO_CLASSPATH="logback-classic,logback-core,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,commons-codec,commons-io-1,commons-logging,!!!groupId-not-found!!!,bsh,!!!groupId-not-found!!!,commons-lang-3.6,!!!groupId-not-found!!!,log4j-api-2,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,hamcrest,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,mockito-4,!!!artifactId-not-found!!!,slf4j-ext,!!!groupId-not-found!!!,xz-java,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!"
+#JAVA_TEST_SRC_DIR="${PN}/src/test/java"
+#JAVA_TEST_RESOURCE_DIRS=(
+# "${PN}/src/test/resources"
+#)
+
+src_compile() {
+ java-pkg-simple_src_compile
+
+ # Process the @Plugin annotation used on Log4j 2 built-in plugins
+ # to generate a serialized plugin listing file
+ # https://logging.apache.org/log4j/2.x/manual/plugins.html
+ local processor="org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor"
+ local classes="target/classes"
+ local classpath="${JAVA_JAR_FILENAME}:$(\
+ java-pkg_getjars --build-only --with-dependencies \
+ "${JAVA_GENTOO_CLASSPATH},${JAVA_CLASSPATH_EXTRA}")"
+ # Just in case java-pkg-simple.eclass changes the path in the future
+ mkdir -p "${classes}" || die "Failed to create directory for classes"
+ local sources_list_file="${T}/sources.lst"
+ find "${JAVA_SRC_DIR}" -type f -name "*.java" > "${sources_list_file}" || die
+ ejavac -d "${classes}" -cp "${classpath}" \
+ -proc:only -processor "${processor}" \
+ @"${sources_list_file}"
+ # Update the JAR to include the serialized plugin listing file
+ local jar="$(java-config -j)"
+ "${jar}" -uf "${JAVA_JAR_FILENAME}" -C "${classes}" . ||
+ die "Failed to update JAR"
+}
diff --git a/dev-java/osgi-annotation/Manifest b/dev-java/osgi-annotation/Manifest
new file mode 100644
index 000000000000..19b5e3b7afc0
--- /dev/null
+++ b/dev-java/osgi-annotation/Manifest
@@ -0,0 +1 @@
+DIST osgi-annotation-8.1.0.jar 35775 BLAKE2B 404b78ead0693c2c5ade4dc9415f6b3f80d8a58933a466845bfbb6b2fb0dd4a479ad1cf392a12a18dc951755089e60dbc5f3a20a60ecbbeb23a7224b1c1ae9d2 SHA512 cfddedf01b873f51b8b0b129dfbfae547645eed3d8c2b59b6d940f9163c0809876fc0043f7b66e764215aab8136737e3c969d0d495e33330e8ae82b4c35c3132
diff --git a/dev-java/osgi-annotation/metadata.xml b/dev-java/osgi-annotation/metadata.xml
new file mode 100644
index 000000000000..a63267abaf71
--- /dev/null
+++ b/dev-java/osgi-annotation/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/osgi-annotation/osgi-annotation-8.1.0.ebuild b/dev-java/osgi-annotation/osgi-annotation-8.1.0.ebuild
new file mode 100644
index 000000000000..4c5826cb0bc6
--- /dev/null
+++ b/dev-java/osgi-annotation/osgi-annotation-8.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.osgi:osgi.annotation:8.1.0"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="OSGi Annotation Release 8, Annotations for use in compiling bundles"
+HOMEPAGE="https://www.osgi.org"
+SRC_URI="https://docs.osgi.org/download/r$(ver_cut 1)/${PN/-/.}-${PV}.jar -> ${P}.jar"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+BDEPEND="app-arch/unzip"
+
+JAVA_SRC_DIR="OSGI-OPT/src"
+
+src_prepare() {
+ default
+ java-pkg_clean org
+}
diff --git a/dev-java/osgi-core/Manifest b/dev-java/osgi-core/Manifest
new file mode 100644
index 000000000000..fefbfdfc2580
--- /dev/null
+++ b/dev-java/osgi-core/Manifest
@@ -0,0 +1 @@
+DIST osgi-core-8.0.0.jar 556893 BLAKE2B 36c923ed2a0c590690d1fae112b56984ac16aab7ab0ce46b715aad8fc7b75f0846d640121ced62c626adb1b442c0cb524df37cb82339e9405db6abc7b67c64d9 SHA512 0161f91ecb8ad102731c71ce73f96b99174b5bce2f216770226860cff8a3fcd12abec828399077a835b6765ed9bf9ec29be618de8d2a85b40d6250c00bab4404
diff --git a/dev-java/osgi-core/metadata.xml b/dev-java/osgi-core/metadata.xml
new file mode 100644
index 000000000000..a63267abaf71
--- /dev/null
+++ b/dev-java/osgi-core/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/osgi-core/osgi-core-8.0.0.ebuild b/dev-java/osgi-core/osgi-core-8.0.0.ebuild
new file mode 100644
index 000000000000..5a9c45902f89
--- /dev/null
+++ b/dev-java/osgi-core/osgi-core-8.0.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.osgi:osgi.core:8.0.0"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="OSGi Service Platform Core API (Companion Code)"
+HOMEPAGE="https://www.osgi.org"
+SRC_URI="https://docs.osgi.org/download/r$(ver_cut 1)/${PN/-/.}-${PV}.jar -> ${P}.jar"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DEPEND="
+ dev-java/osgi-annotation:0
+ >=virtual/jdk-1.8:*"
+
+BDEPEND="app-arch/unzip"
+
+JAVA_CLASSPATH_EXTRA="osgi-annotation"
+JAVA_SRC_DIR="OSGI-OPT/src"
+
+src_prepare() {
+ default
+ java-pkg_clean org
+}