summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/angus-activation/metadata.xml3
-rw-r--r--dev-java/ant-antlr/Manifest2
-rw-r--r--dev-java/ant-antlr/ant-antlr-1.10.9.ebuild20
-rw-r--r--dev-java/ant-antlr/metadata.xml8
-rw-r--r--dev-java/ant-apache-bcel/Manifest2
-rw-r--r--dev-java/ant-apache-bcel/ant-apache-bcel-1.10.9.ebuild15
-rw-r--r--dev-java/ant-apache-bcel/metadata.xml8
-rw-r--r--dev-java/ant-apache-bsf/Manifest2
-rw-r--r--dev-java/ant-apache-bsf/ant-apache-bsf-1.10.9.ebuild23
-rw-r--r--dev-java/ant-apache-bsf/metadata.xml8
-rw-r--r--dev-java/ant-apache-log4j/Manifest2
-rw-r--r--dev-java/ant-apache-log4j/ant-apache-log4j-1.10.9-r1.ebuild15
-rw-r--r--dev-java/ant-apache-log4j/metadata.xml8
-rw-r--r--dev-java/ant-apache-oro/Manifest2
-rw-r--r--dev-java/ant-apache-oro/ant-apache-oro-1.10.9.ebuild15
-rw-r--r--dev-java/ant-apache-oro/metadata.xml8
-rw-r--r--dev-java/ant-apache-regexp/Manifest2
-rw-r--r--dev-java/ant-apache-regexp/ant-apache-regexp-1.10.9.ebuild15
-rw-r--r--dev-java/ant-apache-regexp/metadata.xml8
-rw-r--r--dev-java/ant-apache-resolver/Manifest2
-rw-r--r--dev-java/ant-apache-resolver/ant-apache-resolver-1.10.9.ebuild15
-rw-r--r--dev-java/ant-apache-resolver/metadata.xml8
-rw-r--r--dev-java/ant-apache-xalan2/Manifest2
-rw-r--r--dev-java/ant-apache-xalan2/ant-apache-xalan2-1.10.9.ebuild22
-rw-r--r--dev-java/ant-apache-xalan2/metadata.xml8
-rw-r--r--dev-java/ant-commons-logging/Manifest2
-rw-r--r--dev-java/ant-commons-logging/ant-commons-logging-1.10.9.ebuild14
-rw-r--r--dev-java/ant-commons-logging/metadata.xml8
-rw-r--r--dev-java/ant-commons-net/Manifest2
-rw-r--r--dev-java/ant-commons-net/ant-commons-net-1.10.9.ebuild14
-rw-r--r--dev-java/ant-commons-net/metadata.xml8
-rw-r--r--dev-java/ant-contrib/ant-contrib-1.0_beta6_pre20201123-r1.ebuild74
-rw-r--r--dev-java/ant-contrib/ant-contrib-1.0_beta6_pre20201123-r2.ebuild70
-rw-r--r--dev-java/ant-core/Manifest2
-rw-r--r--dev-java/ant-core/ant-core-1.10.14.ebuild26
-rw-r--r--dev-java/ant-core/ant-core-1.10.9-r5.ebuild159
-rw-r--r--dev-java/ant-core/metadata.xml5
-rw-r--r--dev-java/ant-eclipse-ecj/Manifest2
-rw-r--r--dev-java/ant-eclipse-ecj/ant-eclipse-ecj-4.15-r1.ebuild50
-rw-r--r--dev-java/ant-eclipse-ecj/ant-eclipse-ecj-4.22-r1.ebuild53
-rw-r--r--dev-java/ant-eclipse-ecj/files/ecj-4.227
-rw-r--r--dev-java/ant-eclipse-ecj/metadata.xml15
-rw-r--r--dev-java/ant-ivy/ant-ivy-2.5.0-r1.ebuild184
-rw-r--r--dev-java/ant-ivy/ant-ivy-2.5.0-r2.ebuild197
-rw-r--r--dev-java/ant-ivy/metadata.xml4
-rw-r--r--dev-java/ant-jai/Manifest2
-rw-r--r--dev-java/ant-jai/ant-jai-1.10.9.ebuild16
-rw-r--r--dev-java/ant-jai/metadata.xml8
-rw-r--r--dev-java/ant-javamail/Manifest2
-rw-r--r--dev-java/ant-javamail/ant-javamail-1.10.9-r1.ebuild18
-rw-r--r--dev-java/ant-javamail/metadata.xml8
-rw-r--r--dev-java/ant-jdepend/Manifest2
-rw-r--r--dev-java/ant-jdepend/ant-jdepend-1.10.9.ebuild14
-rw-r--r--dev-java/ant-jdepend/metadata.xml8
-rw-r--r--dev-java/ant-jmf/Manifest2
-rw-r--r--dev-java/ant-jmf/ant-jmf-1.10.9.ebuild16
-rw-r--r--dev-java/ant-jmf/metadata.xml8
-rw-r--r--dev-java/ant-jsch/Manifest2
-rw-r--r--dev-java/ant-jsch/ant-jsch-1.10.9.ebuild14
-rw-r--r--dev-java/ant-jsch/metadata.xml8
-rw-r--r--dev-java/ant-junit/Manifest2
-rw-r--r--dev-java/ant-junit/ant-junit-1.10.9.ebuild24
-rw-r--r--dev-java/ant-junit/metadata.xml8
-rw-r--r--dev-java/ant-junit4/Manifest2
-rw-r--r--dev-java/ant-junit4/ant-junit4-1.10.9.ebuild37
-rw-r--r--dev-java/ant-junit4/metadata.xml8
-rw-r--r--dev-java/ant-junitlauncher/Manifest2
-rw-r--r--dev-java/ant-junitlauncher/ant-junitlauncher-1.10.9.ebuild12
-rw-r--r--dev-java/ant-junitlauncher/metadata.xml8
-rw-r--r--dev-java/ant-swing/Manifest2
-rw-r--r--dev-java/ant-swing/ant-swing-1.10.9.ebuild15
-rw-r--r--dev-java/ant-swing/metadata.xml8
-rw-r--r--dev-java/ant-testutil/Manifest2
-rw-r--r--dev-java/ant-testutil/ant-testutil-1.10.9.ebuild37
-rw-r--r--dev-java/ant-testutil/metadata.xml8
-rw-r--r--dev-java/ant-xz/Manifest2
-rw-r--r--dev-java/ant-xz/ant-xz-1.10.9.ebuild17
-rw-r--r--dev-java/ant-xz/metadata.xml8
-rw-r--r--dev-java/ant/Manifest2
-rw-r--r--dev-java/ant/ant-1.10.14-r3.ebuild395
-rw-r--r--dev-java/ant/ant-1.10.9.ebuild47
-rw-r--r--dev-java/ant/files/1.10.9-launch.patch361
-rw-r--r--dev-java/ant/files/ant-1.10.14-AntTest.patch28
-rw-r--r--dev-java/ant/files/ant-1.10.14-AntlibTest.patch40
-rw-r--r--dev-java/ant/files/ant-1.10.14-JavaTest.patch102
-rw-r--r--dev-java/ant/files/ant-1.10.14-LinkTest.patch87
-rw-r--r--dev-java/ant/files/ant-1.10.14-PathTest.patch30
-rw-r--r--dev-java/ant/metadata.xml8
-rw-r--r--dev-java/antlr-tool/antlr-tool-3.5.3-r1.ebuild77
-rw-r--r--dev-java/antlr-tool/antlr-tool-3.5.3.ebuild75
-rw-r--r--dev-java/antlr-tool/antlr-tool-4.9.3-r2.ebuild142
-rw-r--r--dev-java/antlr-tool/antlr-tool-4.9.3.ebuild142
-rw-r--r--dev-java/antlr-tool/files/antlr-tool-3.5.3-java21.patch11
-rw-r--r--dev-java/antlr/antlr-2.7.7-r9.ebuild2
-rw-r--r--dev-java/antlr/antlr-3.2-r1.ebuild101
-rw-r--r--dev-java/antlr/antlr-3.2-r2.ebuild102
-rw-r--r--dev-java/antlr/antlr-3.5.3.ebuild2
-rw-r--r--dev-java/antlr/antlr-4.9.3.ebuild2
-rw-r--r--dev-java/antlr/files/antlr-3.2-java21.patch31
-rw-r--r--dev-java/antunit/Manifest2
-rw-r--r--dev-java/antunit/antunit-1.4.1-r1.ebuild54
-rw-r--r--dev-java/antunit/files/antunit-1.4.1-gentoo.patch62
-rw-r--r--dev-java/antunit/metadata.xml10
-rw-r--r--dev-java/apache-rat-core/Manifest1
-rw-r--r--dev-java/apache-rat-core/apache-rat-core-0.13.ebuild69
-rw-r--r--dev-java/apache-rat-core/files/apache-rat-core-0.13-commons-lang3.patch39
-rw-r--r--dev-java/apache-rat-core/metadata.xml8
-rw-r--r--dev-java/apache-rat-tasks/Manifest1
-rw-r--r--dev-java/apache-rat-tasks/apache-rat-tasks-0.13.ebuild71
-rw-r--r--dev-java/apache-rat-tasks/files/apache-rat-tasks-0.13-fix-tests.patch41
-rw-r--r--dev-java/apache-rat-tasks/metadata.xml8
-rw-r--r--dev-java/apache-rat/Manifest2
-rw-r--r--dev-java/apache-rat/apache-rat-0.15-r1.ebuild109
-rw-r--r--dev-java/apache-rat/files/apache-rat-0.15-fix-tests.patch39
-rw-r--r--dev-java/apache-rat/metadata.xml11
-rw-r--r--dev-java/aqute-bnd-annotation/Manifest1
-rw-r--r--dev-java/aqute-bnd-annotation/aqute-bnd-annotation-6.3.1.ebuild48
-rw-r--r--dev-java/asm/Manifest4
-rw-r--r--dev-java/asm/asm-5.1-r1.ebuild48
-rw-r--r--dev-java/asm/asm-9.3.ebuild65
-rw-r--r--dev-java/asm/asm-9.6.ebuild94
-rw-r--r--dev-java/asm/metadata.xml2
-rw-r--r--dev-java/aspectj/aspectj-1.9.7-r1.ebuild79
-rw-r--r--dev-java/aspectj/aspectj-1.9.7.ebuild79
-rw-r--r--dev-java/aspectj/metadata.xml4
-rw-r--r--dev-java/auto-service-annotations/Manifest1
-rw-r--r--dev-java/auto-service-annotations/auto-service-annotations-1.1.1.ebuild24
-rw-r--r--dev-java/auto-service-annotations/metadata.xml10
-rw-r--r--dev-java/avalon-framework/Manifest1
-rw-r--r--dev-java/avalon-framework/avalon-framework-4.2.0-r4.ebuild56
-rw-r--r--dev-java/avalon-framework/files/4.2.0-enum.patch23
-rw-r--r--dev-java/avalon-framework/metadata.xml8
-rw-r--r--dev-java/avalon-logkit/Manifest1
-rw-r--r--dev-java/avalon-logkit/avalon-logkit-2.1-r12.ebuild93
-rw-r--r--dev-java/avalon-logkit/files/avalon-logkit-2.1-java7.patch30
-rw-r--r--dev-java/avalon-logkit/metadata.xml8
-rw-r--r--dev-java/batik/Manifest3
-rw-r--r--dev-java/batik/batik-1.14-r1.ebuild178
-rw-r--r--dev-java/batik/batik-1.17-r1.ebuild247
-rw-r--r--dev-java/batik/files/batik-1.14-modules33
-rw-r--r--dev-java/batik/files/batik-squiggle.desktop9
-rw-r--r--dev-java/bcel/Manifest3
-rw-r--r--dev-java/bcel/bcel-6.5.0-r3.ebuild75
-rw-r--r--dev-java/bcel/bcel-6.5.0.ebuild31
-rw-r--r--dev-java/bcel/bcel-6.6.0.ebuild59
-rw-r--r--dev-java/bcel/metadata.xml31
-rw-r--r--dev-java/bcmail/Manifest2
-rw-r--r--dev-java/bcmail/bcmail-1.71.ebuild60
-rw-r--r--dev-java/bcmail/bcmail-1.77-r1.ebuild59
-rw-r--r--dev-java/bcmail/metadata.xml3
-rw-r--r--dev-java/bcpg/Manifest2
-rw-r--r--dev-java/bcpg/bcpg-1.71.ebuild58
-rw-r--r--dev-java/bcpg/bcpg-1.77.ebuild60
-rw-r--r--dev-java/bcpg/metadata.xml3
-rw-r--r--dev-java/bcpkix/Manifest3
-rw-r--r--dev-java/bcpkix/bcpkix-1.71-r1.ebuild116
-rw-r--r--dev-java/bcpkix/bcpkix-1.77.ebuild102
-rw-r--r--dev-java/bcpkix/metadata.xml3
-rw-r--r--dev-java/bcprov/Manifest5
-rw-r--r--dev-java/bcprov/bcprov-1.71-r1.ebuild111
-rw-r--r--dev-java/bcprov/bcprov-1.74.ebuild106
-rw-r--r--dev-java/bcprov/bcprov-1.77.ebuild106
-rw-r--r--dev-java/bcprov/metadata.xml3
-rw-r--r--dev-java/bcutil/Manifest2
-rw-r--r--dev-java/bcutil/bcutil-1.71.ebuild57
-rw-r--r--dev-java/bcutil/bcutil-1.77.ebuild55
-rw-r--r--dev-java/bcutil/metadata.xml3
-rw-r--r--dev-java/bnd-annotation/Manifest2
-rw-r--r--dev-java/bnd-annotation/bnd-annotation-6.3.1.ebuild48
-rw-r--r--dev-java/bnd-annotation/bnd-annotation-7.0.0.ebuild29
-rw-r--r--dev-java/bnd-annotation/metadata.xml10
-rw-r--r--dev-java/bnd-ant/Manifest1
-rw-r--r--dev-java/bnd-ant/bnd-ant-7.0.0.ebuild46
-rw-r--r--dev-java/bnd-ant/metadata.xml10
-rw-r--r--dev-java/bnd-junit/Manifest1
-rw-r--r--dev-java/bnd-junit/bnd-junit-2.1.0-r2.ebuild48
-rw-r--r--dev-java/bnd-junit/metadata.xml11
-rw-r--r--dev-java/bnd-util/Manifest1
-rw-r--r--dev-java/bnd-util/bnd-util-7.0.0.ebuild43
-rw-r--r--dev-java/bnd-util/metadata.xml10
-rw-r--r--dev-java/bnd/Manifest1
-rw-r--r--dev-java/bnd/bnd-7.0.0.ebuild100
-rw-r--r--dev-java/bnd/files/bnd-7.0.0-aQute.bnd.main.bnd.patch21
-rw-r--r--dev-java/bnd/metadata.xml10
-rw-r--r--dev-java/bndlib/Manifest2
-rw-r--r--dev-java/bndlib/bndlib-2.1.0-r1.ebuild72
-rw-r--r--dev-java/bndlib/bndlib-7.0.0.ebuild55
-rw-r--r--dev-java/bndlib/metadata.xml13
-rw-r--r--dev-java/brotli-dec/brotli-dec-0.1.2.ebuild4
-rw-r--r--dev-java/brotli-dec/metadata.xml11
-rw-r--r--dev-java/browserlauncher2/browserlauncher2-1.3-r2.ebuild49
-rw-r--r--dev-java/browserlauncher2/browserlauncher2-1.3-r3.ebuild4
-rw-r--r--dev-java/bsf/Manifest1
-rw-r--r--dev-java/bsf/bsf-2.4.0-r3.ebuild109
-rw-r--r--dev-java/bsf/bsf-2.4.0-r5.ebuild77
-rw-r--r--dev-java/bsf/files/bsf-2.4.0-PyJavaInstance.patch35
-rw-r--r--dev-java/bsf/files/bsf-2.4.0-build-properties.xml44
-rw-r--r--dev-java/bsf/metadata.xml4
-rw-r--r--dev-java/bsh/Manifest2
-rw-r--r--dev-java/bsh/bsh-2.0_beta6-r1.ebuild68
-rw-r--r--dev-java/bsh/bsh-2.1.1.ebuild115
-rw-r--r--dev-java/bsh/files/bsh-2.1.1-skip-tests.patch119
-rw-r--r--dev-java/byaccj/byaccj-1.15-r3.ebuild4
-rw-r--r--dev-java/byaccj/files/byaccj-1.15-implicit-function-declaration.patch2
-rw-r--r--dev-java/byte-buddy/Manifest3
-rw-r--r--dev-java/byte-buddy/byte-buddy-1.12.13.ebuild153
-rw-r--r--dev-java/byte-buddy/byte-buddy-1.12.14.ebuild202
-rw-r--r--dev-java/byte-buddy/byte-buddy-1.14.0.ebuild161
-rw-r--r--dev-java/c3p0/c3p0-0.9.5.5-r1.ebuild4
-rw-r--r--dev-java/c3p0/metadata.xml1
-rw-r--r--dev-java/cache2k-api/Manifest1
-rw-r--r--dev-java/cache2k-api/cache2k-api-0.23.1.ebuild23
-rw-r--r--dev-java/cache2k-api/metadata.xml19
-rw-r--r--dev-java/cache2k-core/Manifest1
-rw-r--r--dev-java/cache2k-core/cache2k-core-0.23.1.ebuild37
-rw-r--r--dev-java/cache2k-core/metadata.xml19
-rw-r--r--dev-java/caffeine/Manifest1
-rw-r--r--dev-java/caffeine/caffeine-2.6.2-r1.ebuild33
-rw-r--r--dev-java/caffeine/metadata.xml10
-rw-r--r--dev-java/cdi-api/cdi-api-4.0.1-r2.ebuild102
-rw-r--r--dev-java/cdi-api/cdi-api-4.0.1.ebuild100
-rw-r--r--dev-java/cglib/cglib-3.3.0-r1.ebuild71
-rw-r--r--dev-java/cglib/cglib-3.3.0-r2.ebuild71
-rw-r--r--dev-java/checker-framework-qual/Manifest2
-rw-r--r--dev-java/checker-framework-qual/checker-framework-qual-3.14.0.ebuild26
-rw-r--r--dev-java/checker-framework-qual/checker-framework-qual-3.42.0.ebuild24
-rw-r--r--dev-java/checker-framework-qual/metadata.xml3
-rw-r--r--dev-java/commons-beanutils/Manifest2
-rw-r--r--dev-java/commons-beanutils/commons-beanutils-1.9.4-r1.ebuild101
-rw-r--r--dev-java/commons-beanutils/commons-beanutils-1.9.4-r2.ebuild84
-rw-r--r--dev-java/commons-beanutils/files/commons-collections-3.2.2-fixes.patch187
-rw-r--r--dev-java/commons-cli/commons-cli-1.5.0.ebuild4
-rw-r--r--dev-java/commons-codec/Manifest3
-rw-r--r--dev-java/commons-codec/commons-codec-1.15-r1.ebuild45
-rw-r--r--dev-java/commons-codec/commons-codec-1.16.1.ebuild46
-rw-r--r--dev-java/commons-codec/metadata.xml3
-rw-r--r--dev-java/commons-collections/Manifest4
-rw-r--r--dev-java/commons-collections/commons-collections-3.2.2-r2.ebuild51
-rw-r--r--dev-java/commons-collections/commons-collections-3.2.2.ebuild67
-rw-r--r--dev-java/commons-collections/commons-collections-4.4-r1.ebuild68
-rw-r--r--dev-java/commons-collections/commons-collections-4.4-r2.ebuild59
-rw-r--r--dev-java/commons-collections/metadata.xml6
-rw-r--r--dev-java/commons-compress/Manifest4
-rw-r--r--dev-java/commons-compress/commons-compress-1.21-r1.ebuild121
-rw-r--r--dev-java/commons-compress/commons-compress-1.21.ebuild73
-rw-r--r--dev-java/commons-compress/commons-compress-1.26.1.ebuild43
-rw-r--r--dev-java/commons-compress/files/commons-compress-1.21-asm7+.patch164
-rw-r--r--dev-java/commons-compress/metadata.xml11
-rw-r--r--dev-java/commons-daemon/Manifest3
-rw-r--r--dev-java/commons-daemon/commons-daemon-1.3.1.ebuild65
-rw-r--r--dev-java/commons-daemon/commons-daemon-1.3.4.ebuild55
-rw-r--r--dev-java/commons-daemon/metadata.xml4
-rw-r--r--dev-java/commons-httpclient/Manifest1
-rw-r--r--dev-java/commons-httpclient/commons-httpclient-3.1-r2.ebuild68
-rw-r--r--dev-java/commons-httpclient/commons-httpclient-3.1-r3.ebuild54
-rw-r--r--dev-java/commons-httpclient/files/commons-httpclient-3.1-SSLProtocolSocketFactory.java.patch369
-rw-r--r--dev-java/commons-imaging/Manifest2
-rw-r--r--dev-java/commons-imaging/commons-imaging-0.97.ebuild45
-rw-r--r--dev-java/commons-imaging/commons-imaging-1.0_alpha3-r2.ebuild36
-rw-r--r--dev-java/commons-imaging/commons-imaging-1.0_alpha3.ebuild37
-rw-r--r--dev-java/commons-imaging/files/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch12
-rw-r--r--dev-java/commons-io/Manifest3
-rw-r--r--dev-java/commons-io/commons-io-2.11.0-r1.ebuild54
-rw-r--r--dev-java/commons-io/commons-io-2.15.1.ebuild30
-rw-r--r--dev-java/commons-io/metadata.xml11
-rw-r--r--dev-java/commons-junit4/Manifest1
-rw-r--r--dev-java/commons-junit4/commons-junit4-1.2.17.ebuild39
-rw-r--r--dev-java/commons-junit4/metadata.xml10
-rw-r--r--dev-java/commons-lang/Manifest4
-rw-r--r--dev-java/commons-lang/commons-lang-2.6-r2.ebuild39
-rw-r--r--dev-java/commons-lang/commons-lang-3.12.0.ebuild33
-rw-r--r--dev-java/commons-lang/commons-lang-3.14.0.ebuild29
-rw-r--r--dev-java/commons-lang/metadata.xml11
-rw-r--r--dev-java/commons-logging/Manifest4
-rw-r--r--dev-java/commons-logging/commons-logging-1.2-r5.ebuild122
-rw-r--r--dev-java/commons-logging/commons-logging-1.3.0_pre20230319.ebuild121
-rw-r--r--dev-java/commons-logging/commons-logging-1.3.1.ebuild153
-rw-r--r--dev-java/commons-logging/files/commons-logging-1.2-gentoo.patch26
-rw-r--r--dev-java/commons-logging/files/commons-logging-1.2-servletapi.patch42
-rw-r--r--dev-java/commons-logging/metadata.xml22
-rw-r--r--dev-java/commons-math/commons-math-3.6.1-r2.ebuild2
-rw-r--r--dev-java/commons-net/Manifest3
-rw-r--r--dev-java/commons-net/commons-net-3.10.0.ebuild38
-rw-r--r--dev-java/commons-net/commons-net-3.8.0.ebuild21
-rw-r--r--dev-java/commons-nullanalysis/Manifest1
-rw-r--r--dev-java/commons-nullanalysis/commons-nullanalysis-1.2.17.ebuild24
-rw-r--r--dev-java/commons-nullanalysis/metadata.xml10
-rw-r--r--dev-java/commons-text/Manifest1
-rw-r--r--dev-java/commons-text/commons-text-1.9.ebuild43
-rw-r--r--dev-java/commons-text/metadata.xml8
-rw-r--r--dev-java/commons-validator/Manifest3
-rw-r--r--dev-java/commons-validator/commons-validator-1.7.ebuild63
-rw-r--r--dev-java/commons-validator/commons-validator-1.8.0.ebuild36
-rw-r--r--dev-java/commons-validator/metadata.xml5
-rw-r--r--dev-java/commons-vfs/commons-vfs-2.0-r2.ebuild72
-rw-r--r--dev-java/commons-vfs/commons-vfs-2.0-r3.ebuild71
-rw-r--r--dev-java/commons-vfs/commons-vfs-2.0-r4.ebuild56
-rw-r--r--dev-java/commons-vfs/files/commons-vfs-2.0-utf8.patch13
-rw-r--r--dev-java/concurrentlinkedhashmap-lru/Manifest1
-rw-r--r--dev-java/concurrentlinkedhashmap-lru/concurrentlinkedhashmap-lru-1.4.2.ebuild36
-rw-r--r--dev-java/concurrentlinkedhashmap-lru/metadata.xml10
-rw-r--r--dev-java/conversant-disruptor/metadata.xml3
-rw-r--r--dev-java/core-specs-alpha/Manifest3
-rw-r--r--dev-java/core-specs-alpha/core-specs-alpha-0.1.24.ebuild41
-rw-r--r--dev-java/core-specs-alpha/core-specs-alpha-0.2.44.ebuild41
-rw-r--r--dev-java/core-specs-alpha/core-specs-alpha-0.2.56.ebuild44
-rw-r--r--dev-java/core-specs-alpha/files/build.xml37
-rw-r--r--dev-java/core-specs-alpha/metadata.xml15
-rw-r--r--dev-java/coursier-bin/Manifest3
-rw-r--r--dev-java/coursier-bin/coursier-bin-2.1.7.ebuild30
-rw-r--r--dev-java/coursier-bin/coursier-bin-2.1.8.ebuild30
-rw-r--r--dev-java/coursier-bin/coursier-bin-2.1.9.ebuild30
-rw-r--r--dev-java/coursier-bin/metadata.xml13
-rw-r--r--dev-java/cpptasks/cpptasks-1.0_beta5-r1.ebuild64
-rw-r--r--dev-java/cpptasks/cpptasks-1.0_beta5-r2.ebuild64
-rw-r--r--dev-java/dom4j/Manifest2
-rw-r--r--dev-java/dom4j/dom4j-2.1.3.ebuild75
-rw-r--r--dev-java/dom4j/dom4j-2.1.4.ebuild59
-rw-r--r--dev-java/dom4j/files/dom4j-2.1.3-xpp3-add-removeAttribute.patch47
-rw-r--r--dev-java/easymock/easymock-2.5.2.ebuild2
-rw-r--r--dev-java/eclipse-ecj/Manifest6
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.15-r1.ebuild65
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.15.ebuild74
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.20.ebuild64
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.22-r1.ebuild72
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.26-r2.ebuild73
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.27.ebuild67
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.30-r1.ebuild81
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild75
-rw-r--r--dev-java/eclipse-ecj/files/ecj-4.15 (renamed from dev-java/ant-eclipse-ecj/files/ecj-4.15)0
-rw-r--r--dev-java/eclipse-ecj/files/ecj-4.207
-rw-r--r--dev-java/eclipse-ecj/files/ecj-4.267
-rw-r--r--dev-java/eclipse-ecj/files/ecj-4.277
-rw-r--r--dev-java/eclipse-ecj/files/ecj-4.307
-rw-r--r--dev-java/eclipse-ecj/files/ecj-4.317
-rw-r--r--dev-java/eclipse-ecj/files/eclipse-ecj-4.31-java21.patch12
-rw-r--r--dev-java/eclipse-ecj/metadata.xml6
-rw-r--r--dev-java/eclipse-jdt-annotation/Manifest1
-rw-r--r--dev-java/eclipse-jdt-annotation/eclipse-jdt-annotation-4.30.ebuild24
-rw-r--r--dev-java/eclipse-jdt-annotation/metadata.xml10
-rw-r--r--dev-java/emma/emma-2.0.5312-r4.ebuild52
-rw-r--r--dev-java/emma/emma-2.0.5312-r6.ebuild82
-rw-r--r--dev-java/error-prone-annotations/Manifest2
-rw-r--r--dev-java/error-prone-annotations/error-prone-annotations-2.24.0.ebuild24
-rw-r--r--dev-java/error-prone-annotations/error-prone-annotations-2.7.1.ebuild27
-rw-r--r--dev-java/failureaccess/Manifest1
-rw-r--r--dev-java/failureaccess/failureaccess-30.1.1.ebuild28
-rw-r--r--dev-java/failureaccess/metadata.xml18
-rw-r--r--dev-java/fec/fec-1.0.4-r4.ebuild4
-rw-r--r--dev-java/fec/metadata.xml7
-rw-r--r--dev-java/felix-framework/Manifest3
-rw-r--r--dev-java/felix-framework/felix-framework-7.0.5-r2.ebuild89
-rw-r--r--dev-java/felix-framework/felix-framework-7.0.5.ebuild106
-rw-r--r--dev-java/felix-gogo-runtime/Manifest2
-rw-r--r--dev-java/felix-gogo-runtime/felix-gogo-runtime-1.1.6.ebuild55
-rw-r--r--dev-java/felix-gogo-runtime/files/felix-gogo-runtime-1.1.6-skip-tests-non-java-8.patch22
-rw-r--r--dev-java/felix-gogo-runtime/metadata.xml12
-rw-r--r--dev-java/felix-main/Manifest2
-rw-r--r--dev-java/felix-main/felix-main-7.0.5-r2.ebuild74
-rw-r--r--dev-java/felix-main/metadata.xml15
-rw-r--r--dev-java/felix-resolver/Manifest3
-rw-r--r--dev-java/felix-resolver/felix-resolver-2.0.4-r1.ebuild61
-rw-r--r--dev-java/felix-resolver/felix-resolver-2.0.4.ebuild71
-rw-r--r--dev-java/felix-utils/Manifest3
-rw-r--r--dev-java/felix-utils/felix-utils-1.11.8-r1.ebuild51
-rw-r--r--dev-java/felix-utils/felix-utils-1.11.8.ebuild59
-rw-r--r--dev-java/findbugs-annotations/findbugs-annotations-3.0.1.ebuild7
-rw-r--r--dev-java/findbugs-annotations/metadata.xml3
-rw-r--r--dev-java/fishbowl/fishbowl-1.4.1.ebuild2
-rw-r--r--dev-java/fishbowl/metadata.xml3
-rw-r--r--dev-java/fontbox/Manifest2
-rw-r--r--dev-java/fontbox/fontbox-2.0.26.ebuild62
-rw-r--r--dev-java/fontbox/fontbox-2.0.27.ebuild63
-rw-r--r--dev-java/fop/Manifest4
-rw-r--r--dev-java/fop/files/fop-2.9-FO2StructureTreeConverterTestCase.patch45
-rw-r--r--dev-java/fop/files/fop-2.9-MissingLanguageWarningTestCase.patch88
-rw-r--r--dev-java/fop/files/fop-2.9-PDFEncodingTestCase.patch31
-rw-r--r--dev-java/fop/files/fop-2.9-PDFToUnicodeCMapTestCase.patch33
-rw-r--r--dev-java/fop/fop-2.7.ebuild158
-rw-r--r--dev-java/fop/fop-2.9-r1.ebuild201
-rw-r--r--dev-java/freenet-ext/Manifest1
-rw-r--r--dev-java/freenet-ext/files/freenet-ext-29-convert-jcpuid.patch46
-rw-r--r--dev-java/freenet-ext/freenet-ext-29.ebuild79
-rw-r--r--dev-java/freenet-ext/metadata.xml10
-rw-r--r--dev-java/gin/metadata.xml4
-rw-r--r--dev-java/glassfish-persistence/Manifest1
-rw-r--r--dev-java/glassfish-persistence/files/glassfish-persistence-1.0-python2.7-sax-parser.patch11
-rw-r--r--dev-java/glassfish-persistence/glassfish-persistence-1.0-r2.ebuild39
-rw-r--r--dev-java/glassfish-persistence/metadata.xml7
-rw-r--r--dev-java/glassfish-xmlrpc-api/Manifest1
-rw-r--r--dev-java/glassfish-xmlrpc-api/glassfish-xmlrpc-api-1.1.1-r1.ebuild42
-rw-r--r--dev-java/glassfish-xmlrpc-api/metadata.xml8
-rw-r--r--dev-java/gnu-jaf/Manifest1
-rw-r--r--dev-java/gnu-jaf/gnu-jaf-1.1.2-r1.ebuild29
-rw-r--r--dev-java/gnu-jaf/metadata.xml26
-rw-r--r--dev-java/gradle-bin/Manifest9
-rw-r--r--dev-java/gradle-bin/gradle-bin-6.8.3.ebuild61
-rw-r--r--dev-java/gradle-bin/gradle-bin-7.1.1.ebuild61
-rw-r--r--dev-java/gradle-bin/gradle-bin-7.2.ebuild61
-rw-r--r--dev-java/gradle-bin/gradle-bin-7.3.3.ebuild61
-rw-r--r--dev-java/gradle-bin/gradle-bin-7.4.2.ebuild61
-rw-r--r--dev-java/gradle-bin/gradle-bin-7.5.1.ebuild61
-rw-r--r--dev-java/gradle-bin/gradle-bin-8.4.ebuild61
-rw-r--r--dev-java/gradle-bin/gradle-bin-8.5.ebuild61
-rw-r--r--dev-java/gradle-bin/gradle-bin-8.7.ebuild61
-rw-r--r--dev-java/greenmail/Manifest1
-rw-r--r--dev-java/greenmail/greenmail-2.0.0_alpha2.ebuild57
-rw-r--r--dev-java/greenmail/metadata.xml10
-rw-r--r--dev-java/gson/Manifest4
-rw-r--r--dev-java/gson/files/gson-2.10.2-GsonVersionDiagnosticsTest.patch13
-rw-r--r--dev-java/gson/gson-2.10.2_pre20231128.ebuild87
-rw-r--r--dev-java/gson/gson-2.9.0-r2.ebuild60
-rw-r--r--dev-java/gson/gson-2.9.1.ebuild60
-rw-r--r--dev-java/guava-testlib/Manifest3
-rw-r--r--dev-java/guava-testlib/guava-testlib-30.1.1.ebuild67
-rw-r--r--dev-java/guava-testlib/guava-testlib-33.0.0.ebuild46
-rw-r--r--dev-java/guava-testlib/metadata.xml3
-rw-r--r--dev-java/guava/Manifest2
-rw-r--r--dev-java/guava/guava-30.1.1.ebuild58
-rw-r--r--dev-java/guava/guava-33.0.0.ebuild35
-rw-r--r--dev-java/guice/metadata.xml1
-rw-r--r--dev-java/gwt/files/gwt-2.9.0-jsinterop-classpath.patch2
-rw-r--r--dev-java/gwt/metadata.xml4
-rw-r--r--dev-java/hamcrest-core/Manifest1
-rw-r--r--dev-java/hamcrest-core/files/hamcrest-core-1.3-java-11.patch22
-rw-r--r--dev-java/hamcrest-core/hamcrest-core-1.3-r2.ebuild60
-rw-r--r--dev-java/hamcrest-core/hamcrest-core-1.3-r3.ebuild2
-rw-r--r--dev-java/hamcrest-generator/Manifest1
-rw-r--r--dev-java/hamcrest-generator/files/hamcrest-generator-1.3-no_jarjar.patch16
-rw-r--r--dev-java/hamcrest-generator/hamcrest-generator-1.3-r3.ebuild52
-rw-r--r--dev-java/hamcrest-generator/hamcrest-generator-1.3-r4.ebuild2
-rw-r--r--dev-java/hamcrest-library/Manifest1
-rw-r--r--dev-java/hamcrest-library/files/hamcrest-library-1.3-java-11.patch44
-rw-r--r--dev-java/hamcrest-library/hamcrest-library-1.3-r2.ebuild62
-rw-r--r--dev-java/hamcrest-library/hamcrest-library-1.3-r3.ebuild2
-rw-r--r--dev-java/hamcrest/hamcrest-2.2-r1.ebuild41
-rw-r--r--dev-java/hamcrest/hamcrest-2.2.ebuild49
-rw-r--r--dev-java/hashcash/Manifest1
-rw-r--r--dev-java/hashcash/hashcash-1.1.ebuild23
-rw-r--r--dev-java/hashcash/metadata.xml16
-rw-r--r--dev-java/htmlcleaner/Manifest2
-rw-r--r--dev-java/htmlcleaner/files/htmlcleaner-2.24-fix-tests.patch26
-rw-r--r--dev-java/htmlcleaner/htmlcleaner-2.26.ebuild55
-rw-r--r--dev-java/htmlcleaner/htmlcleaner-2.29-r1.ebuild40
-rw-r--r--dev-java/icedtea-bin/icedtea-bin-3.16.0-r2.ebuild4
-rw-r--r--dev-java/icedtea-bin/icedtea-bin-3.16.0.ebuild132
-rw-r--r--dev-java/icedtea-bin/metadata.xml4
-rw-r--r--dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild6
-rw-r--r--dev-java/icedtea/Manifest13
-rw-r--r--dev-java/icedtea/files/icedtea.env.sh17
-rw-r--r--dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch16
-rw-r--r--dev-java/icedtea/icedtea-3.21.0.ebuild385
-rw-r--r--dev-java/icedtea/metadata.xml38
-rw-r--r--dev-java/icu4j/Manifest3
-rw-r--r--dev-java/icu4j/icu4j-71.1.ebuild203
-rw-r--r--dev-java/icu4j/icu4j-74.2-r1.ebuild193
-rw-r--r--dev-java/icu4j/icu4j-75.1.ebuild192
-rw-r--r--dev-java/identicon/Manifest1
-rw-r--r--dev-java/identicon/identicon-1.0.ebuild35
-rw-r--r--dev-java/identicon/metadata.xml19
-rw-r--r--dev-java/injection-api/injection-api-2.0.1.ebuild2
-rw-r--r--dev-java/iso-relax/iso-relax-20050331-r5.ebuild39
-rw-r--r--dev-java/iso-relax/iso-relax-20050331-r6.ebuild29
-rw-r--r--dev-java/istack-commons-runtime/Manifest1
-rw-r--r--dev-java/istack-commons-runtime/istack-commons-runtime-3.0.12.ebuild37
-rw-r--r--dev-java/jackrabbit-webdav/Manifest1
-rw-r--r--dev-java/jackrabbit-webdav/jackrabbit-webdav-2.21.7-r1.ebuild63
-rw-r--r--dev-java/jackson-annotations/Manifest1
-rw-r--r--dev-java/jackson-annotations/jackson-annotations-2.13.3.ebuild43
-rw-r--r--dev-java/jackson-annotations/jackson-annotations-2.13.4.ebuild2
-rw-r--r--dev-java/jackson-core/Manifest1
-rw-r--r--dev-java/jackson-core/jackson-core-2.13.3.ebuild69
-rw-r--r--dev-java/jackson-core/jackson-core-2.13.4.ebuild2
-rw-r--r--dev-java/jackson-core/metadata.xml1
-rw-r--r--dev-java/jackson-databind/Manifest3
-rw-r--r--dev-java/jackson-databind/jackson-databind-2.13.3.ebuild83
-rw-r--r--dev-java/jackson-databind/jackson-databind-2.13.4.1.ebuild76
-rw-r--r--dev-java/jackson-databind/jackson-databind-2.13.4.ebuild76
-rw-r--r--dev-java/jackson-databind/metadata.xml1
-rw-r--r--dev-java/jackson-dataformat-xml/Manifest1
-rw-r--r--dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.3-r1.ebuild110
-rw-r--r--dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.4-r1.ebuild105
-rw-r--r--dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.4.ebuild105
-rw-r--r--dev-java/jackson-dataformat-xml/metadata.xml1
-rw-r--r--dev-java/jackson-dataformat-yaml/Manifest1
-rw-r--r--dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.3-r1.ebuild60
-rw-r--r--dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.4-r1.ebuild60
-rw-r--r--dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.4.ebuild60
-rw-r--r--dev-java/jackson-module-jakarta-xmlbind/Manifest1
-rw-r--r--dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.3-r1.ebuild84
-rw-r--r--dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.4-r1.ebuild79
-rw-r--r--dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.4.ebuild79
-rw-r--r--dev-java/jackson-module-jakarta-xmlbind/metadata.xml1
-rw-r--r--dev-java/jacl/metadata.xml52
-rw-r--r--dev-java/jakarta-activation-api/Manifest4
-rw-r--r--dev-java/jakarta-activation-api/jakarta-activation-api-1.2.2-r1.ebuild14
-rw-r--r--dev-java/jakarta-activation-api/jakarta-activation-api-2.1.0-r1.ebuild35
-rw-r--r--dev-java/jakarta-activation-api/jakarta-activation-api-2.1.1.ebuild26
-rw-r--r--dev-java/jakarta-activation-api/metadata.xml4
-rw-r--r--dev-java/jakarta-activation/Manifest4
-rw-r--r--dev-java/jakarta-activation/jakarta-activation-1.2.2-r1.ebuild14
-rw-r--r--dev-java/jakarta-activation/jakarta-activation-2.0.1-r1.ebuild25
-rw-r--r--dev-java/jakarta-activation/metadata.xml4
-rw-r--r--dev-java/jakarta-el-api/jakarta-el-api-5.0.1-r1.ebuild33
-rw-r--r--dev-java/jakarta-el-api/jakarta-el-api-5.0.1.ebuild33
-rw-r--r--dev-java/jakarta-interceptors/jakarta-interceptors-2.1.0.ebuild2
-rw-r--r--dev-java/jakarta-mail-api/Manifest3
-rw-r--r--dev-java/jakarta-mail-api/jakarta-mail-api-2.1.0-r1.ebuild71
-rw-r--r--dev-java/jakarta-mail-api/jakarta-mail-api-2.1.1.ebuild68
-rw-r--r--dev-java/jakarta-mail-api/jakarta-mail-api-2.1.3.ebuild64
-rw-r--r--dev-java/jakarta-mail-api/metadata.xml3
-rw-r--r--dev-java/jakarta-mail/Manifest1
-rw-r--r--dev-java/jakarta-mail/files/jakarta-mail-2.0.1-LogManagerPropertiesTest.patch11
-rw-r--r--dev-java/jakarta-mail/jakarta-mail-2.0.1.ebuild73
-rw-r--r--dev-java/jakarta-mail/metadata.xml10
-rw-r--r--dev-java/jakarta-oro/jakarta-oro-2.0.8-r5.ebuild2
-rw-r--r--dev-java/jakarta-regexp/Manifest2
-rw-r--r--dev-java/jakarta-regexp/jakarta-regexp-1.3-r6.ebuild33
-rw-r--r--dev-java/jakarta-regexp/jakarta-regexp-1.4-r3.ebuild2
-rw-r--r--dev-java/jakarta-regexp/jakarta-regexp-1.5-r1.ebuild32
-rw-r--r--dev-java/jakarta-servlet-api/jakarta-servlet-api-6.0.0.ebuild2
-rw-r--r--dev-java/jakarta-xml-soap-api/files/jakarta-xml-soap-api-1.4.2-dropSecurityManager.patch14
-rw-r--r--dev-java/jakarta-xml-soap-api/jakarta-xml-soap-api-1.4.2-r1.ebuild54
-rw-r--r--dev-java/jakarta-xml-soap-api/jakarta-xml-soap-api-1.4.2-r2.ebuild55
-rw-r--r--dev-java/jakarta-xml-soap-api/metadata.xml2
-rw-r--r--dev-java/jakartaee-migration/Manifest4
-rw-r--r--dev-java/jakartaee-migration/jakartaee-migration-1.0.1.ebuild92
-rw-r--r--dev-java/jakartaee-migration/jakartaee-migration-1.0.3.ebuild92
-rw-r--r--dev-java/jakartaee-migration/jakartaee-migration-1.0.4.ebuild92
-rw-r--r--dev-java/jakartaee-migration/jakartaee-migration-1.0.8-r1.ebuild72
-rw-r--r--dev-java/jakartaee-migration/metadata.xml11
-rw-r--r--dev-java/jal/jal-20031117-r6.ebuild48
-rw-r--r--dev-java/jal/jal-20031117-r7.ebuild45
-rw-r--r--dev-java/janino/Manifest1
-rw-r--r--dev-java/janino/janino-3.1.7.ebuild103
-rw-r--r--dev-java/janino/metadata.xml11
-rw-r--r--dev-java/jansi/jansi-2.4.0-r1.ebuild2
-rw-r--r--dev-java/java-config/Manifest1
-rw-r--r--dev-java/java-config/java-config-2.3.1-r1.ebuild43
-rw-r--r--dev-java/java-config/java-config-2.3.1.ebuild38
-rw-r--r--dev-java/java-config/java-config-2.3.3-r1.ebuild78
-rw-r--r--dev-java/java-config/java-config-9999.ebuild68
-rw-r--r--dev-java/java-config/metadata.xml7
-rw-r--r--dev-java/java-dep-check/files/Main-0.5.java2
-rw-r--r--dev-java/java-dep-check/java-dep-check-0.5-r3.ebuild28
-rw-r--r--dev-java/java-dep-check/java-dep-check-0.5.ebuild32
-rw-r--r--dev-java/java-diff-utils/Manifest1
-rw-r--r--dev-java/java-diff-utils/java-diff-utils-4.12.ebuild33
-rw-r--r--dev-java/java-diff-utils/metadata.xml3
-rw-r--r--dev-java/java-getopt/java-getopt-1.0.14-r1.ebuild33
-rw-r--r--dev-java/java-getopt/java-getopt-1.0.14-r2.ebuild32
-rw-r--r--dev-java/java-getopt/metadata.xml11
-rw-r--r--dev-java/java-service-wrapper/files/java-service-wrapper-3.5.25-gentoo-wrapper-defaults.patch25
-rw-r--r--dev-java/java-service-wrapper/java-service-wrapper-3.5.50-r1.ebuild94
-rw-r--r--dev-java/java-service-wrapper/java-service-wrapper-3.5.50.ebuild90
-rw-r--r--dev-java/javacc/Manifest4
-rw-r--r--dev-java/javacc/javacc-4.1.ebuild66
-rw-r--r--dev-java/javacc/javacc-5.0-r4.ebuild73
-rw-r--r--dev-java/javacc/javacc-7.0.13.ebuild54
-rw-r--r--dev-java/javacc/javacc-7.0.4.ebuild66
-rw-r--r--dev-java/javacc/metadata.xml3
-rw-r--r--dev-java/javacup/javacup-0.11b_p20151001-r1.ebuild2
-rw-r--r--dev-java/javahelp/javahelp-2.0.05_p20170719-r1.ebuild70
-rw-r--r--dev-java/javahelp/javahelp-2.0.05_p20170719-r3.ebuild73
-rw-r--r--dev-java/javahelp/metadata.xml3
-rw-r--r--dev-java/javaparser-core/Manifest1
-rw-r--r--dev-java/javaparser-core/javaparser-core-3.13.10.ebuild45
-rw-r--r--dev-java/javaparser-core/metadata.xml10
-rw-r--r--dev-java/javassist/Manifest3
-rw-r--r--dev-java/javassist/javassist-3.29.0-r2.ebuild64
-rw-r--r--dev-java/javassist/javassist-3.29.1.ebuild68
-rw-r--r--dev-java/javassist/javassist-3.29.2.ebuild79
-rw-r--r--dev-java/javatoolkit/javatoolkit-0.6.7.ebuild6
-rw-r--r--dev-java/javatoolkit/metadata.xml4
-rw-r--r--dev-java/javax-el-api/Manifest1
-rw-r--r--dev-java/javax-el-api/javax-el-api-2.2.ebuild29
-rw-r--r--dev-java/javax-el-api/metadata.xml (renamed from dev-java/aqute-bnd-annotation/metadata.xml)0
-rw-r--r--dev-java/javax-inject/metadata.xml3
-rw-r--r--dev-java/javax-jsp-api/Manifest2
-rw-r--r--dev-java/javax-jsp-api/javax-jsp-api-2.0.ebuild37
-rw-r--r--dev-java/javax-jsp-api/javax-jsp-api-2.2.ebuild27
-rw-r--r--dev-java/javax-jsp-api/metadata.xml11
-rw-r--r--dev-java/javax-mail/Manifest3
-rw-r--r--dev-java/javax-mail/javax-mail-1.6.7-r1.ebuild79
-rw-r--r--dev-java/javax-mail/javax-mail-1.6.7-r2.ebuild61
-rw-r--r--dev-java/javax-mail/metadata.xml3
-rw-r--r--dev-java/javax-persistence-api/Manifest1
-rw-r--r--dev-java/javax-persistence-api/javax-persistence-api-2.2.ebuild33
-rw-r--r--dev-java/javax-persistence-api/metadata.xml7
-rw-r--r--dev-java/javax-servlet-api/Manifest4
-rw-r--r--dev-java/javax-servlet-api/javax-servlet-api-2.2.ebuild30
-rw-r--r--dev-java/javax-servlet-api/javax-servlet-api-2.5.ebuild29
-rw-r--r--dev-java/javax-servlet-api/javax-servlet-api-3.0.1.ebuild30
-rw-r--r--dev-java/javax-servlet-api/javax-servlet-api-3.1.0.ebuild30
-rw-r--r--dev-java/javax-servlet-api/metadata.xml16
-rw-r--r--dev-java/jax-rpc-api/Manifest1
-rw-r--r--dev-java/jax-rpc-api/jax-rpc-api-1.1.4.ebuild38
-rw-r--r--dev-java/jax-rpc-api/metadata.xml10
-rw-r--r--dev-java/jaxb-api/Manifest2
-rw-r--r--dev-java/jaxb-api/files/jaxb-api-2.3.3-dropSecurityManager.patch10
-rw-r--r--dev-java/jaxb-api/files/jaxb-api-4.0.2-dropSecurityManager.patch12
-rw-r--r--dev-java/jaxb-api/jaxb-api-2.3.3-r1.ebuild50
-rw-r--r--dev-java/jaxb-api/jaxb-api-2.3.3-r2.ebuild42
-rw-r--r--dev-java/jaxb-api/jaxb-api-4.0.0.ebuild42
-rw-r--r--dev-java/jaxb-api/jaxb-api-4.0.2.ebuild43
-rw-r--r--dev-java/jaxb-api/metadata.xml4
-rw-r--r--dev-java/jaxb-runtime/Manifest1
-rw-r--r--dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild65
-rw-r--r--dev-java/jaxb-runtime/metadata.xml3
-rw-r--r--dev-java/jaxb-stax-ex/Manifest1
-rw-r--r--dev-java/jaxb-stax-ex/jaxb-stax-ex-1.8.3.ebuild35
-rw-r--r--dev-java/jaxb-stax-ex/metadata.xml3
-rw-r--r--dev-java/jaxen/Manifest2
-rw-r--r--dev-java/jaxen/jaxen-1.2.0-r1.ebuild84
-rw-r--r--dev-java/jaxen/jaxen-2.0.0.ebuild67
-rw-r--r--dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild50
-rw-r--r--dev-java/jaxrs-api/jaxrs-api-2.1.6.ebuild59
-rw-r--r--dev-java/jaxrs-api/metadata.xml3
-rw-r--r--dev-java/jaxws-api/jaxws-api-2.3.3.ebuild2
-rw-r--r--dev-java/jbcrypt/Manifest1
-rw-r--r--dev-java/jbcrypt/jbcrypt-0.4.ebuild26
-rw-r--r--dev-java/jbcrypt/metadata.xml16
-rw-r--r--dev-java/jbitcollider-core/metadata.xml5
-rw-r--r--dev-java/jboss-jms-api/metadata.xml3
-rw-r--r--dev-java/jboss-modules/Manifest1
-rw-r--r--dev-java/jboss-modules/jboss-modules-1.3.3-r1.ebuild30
-rw-r--r--dev-java/jboss-modules/metadata.xml11
-rw-r--r--dev-java/jcifs/jcifs-1.3.19-r1.ebuild46
-rw-r--r--dev-java/jcifs/jcifs-1.3.19-r2.ebuild45
-rw-r--r--dev-java/jcip-annotations/Manifest1
-rw-r--r--dev-java/jcip-annotations/jcip-annotations-1.0.1-r1.ebuild31
-rw-r--r--dev-java/jcip-annotations/metadata.xml12
-rw-r--r--dev-java/jcommander/Manifest1
-rw-r--r--dev-java/jcommander/files/jcommander-1.64-DynamicParameterTest.patch57
-rw-r--r--dev-java/jcommander/jcommander-1.64-r1.ebuild36
-rw-r--r--dev-java/jctools-core/Manifest2
-rw-r--r--dev-java/jctools-core/files/jctools-core-4.0.3-increase-TEST_TIMEOUT.patch13
-rw-r--r--dev-java/jctools-core/jctools-core-3.3.0.ebuild69
-rw-r--r--dev-java/jctools-core/jctools-core-4.0.3.ebuild70
-rw-r--r--dev-java/jctools-core/metadata.xml1
-rw-r--r--dev-java/jdbc-mysql/Manifest5
-rw-r--r--dev-java/jdbc-mysql/jdbc-mysql-8.0.26.ebuild54
-rw-r--r--dev-java/jdbc-mysql/jdbc-mysql-8.1.0-r1.ebuild56
-rw-r--r--dev-java/jdbc-mysql/jdbc-mysql-8.3.0.ebuild55
-rw-r--r--dev-java/jdbc-mysql/metadata.xml3
-rw-r--r--dev-java/jdbc-postgresql/Manifest3
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-42.4.1.ebuild60
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-42.5.0.ebuild52
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-42.7.1.ebuild58
-rw-r--r--dev-java/jdepend/jdepend-2.10-r1.ebuild25
-rw-r--r--dev-java/jdepend/jdepend-2.10.ebuild28
-rw-r--r--dev-java/jdepend/metadata.xml11
-rw-r--r--dev-java/jdisasm/Manifest1
-rw-r--r--dev-java/jdisasm/jdisasm-1.0.6.ebuild110
-rw-r--r--dev-java/jdisasm/metadata.xml10
-rw-r--r--dev-java/jdom/files/jdom-2.0.6.1-skip-failing-tests.patch248
-rw-r--r--dev-java/jdom/jdom-2.0.6.1.ebuild47
-rw-r--r--dev-java/jeromq/metadata.xml3
-rw-r--r--dev-java/jffi/Manifest2
-rw-r--r--dev-java/jffi/files/jffi-1.3.8-GNUmakefile.patch19
-rw-r--r--dev-java/jffi/jffi-1.3.10.ebuild118
-rw-r--r--dev-java/jffi/jffi-1.3.9-r1.ebuild122
-rw-r--r--dev-java/jflex/jflex-1.6.1-r1.ebuild124
-rw-r--r--dev-java/jflex/jflex-1.6.1-r2.ebuild126
-rw-r--r--dev-java/jformatstring/Manifest1
-rw-r--r--dev-java/jformatstring/jformatstring-2.0.3-r1.ebuild31
-rw-r--r--dev-java/jformatstring/metadata.xml12
-rw-r--r--dev-java/jimfs/Manifest2
-rw-r--r--dev-java/jimfs/jimfs-1.3.0.ebuild70
-rw-r--r--dev-java/jimfs/metadata.xml10
-rw-r--r--dev-java/jmc/Manifest1
-rw-r--r--dev-java/jmc/jmc-8.3.0.ebuild74
-rw-r--r--dev-java/jmc/metadata.xml10
-rw-r--r--dev-java/jmh-core/Manifest2
-rw-r--r--dev-java/jmh-core/jmh-core-1.35.ebuild42
-rw-r--r--dev-java/jmh-core/jmh-core-1.37.ebuild36
-rw-r--r--dev-java/jmh-generator-annprocess/Manifest1
-rw-r--r--dev-java/jmh-generator-annprocess/jmh-generator-annprocess-1.37.ebuild28
-rw-r--r--dev-java/jmh-generator-annprocess/metadata.xml11
-rw-r--r--dev-java/jmock/Manifest1
-rw-r--r--dev-java/jmock/jmock-2.12.0.ebuild2
-rw-r--r--dev-java/jmock/jmock-2.6.1-r1.ebuild43
-rw-r--r--dev-java/jna/Manifest3
-rw-r--r--dev-java/jna/files/5.10.0-build.xml.patch55
-rw-r--r--dev-java/jna/files/jna-5.11.0-no-Werror.patch17
-rw-r--r--dev-java/jna/files/jna-5.13.0-LibCTest.patch12
-rw-r--r--dev-java/jna/files/jna-5.13.0-testpath.patch103
-rw-r--r--dev-java/jna/jna-5.11.0-r1.ebuild95
-rw-r--r--dev-java/jna/jna-5.13.0-r1.ebuild197
-rw-r--r--dev-java/jna/jna-5.14.0-r1.ebuild198
-rw-r--r--dev-java/jna/metadata.xml2
-rw-r--r--dev-java/jnacl/metadata.xml1
-rw-r--r--dev-java/jnr-constants/Manifest2
-rw-r--r--dev-java/jnr-constants/jnr-constants-0.10.3.ebuild35
-rw-r--r--dev-java/jnr-constants/jnr-constants-0.10.4.ebuild29
-rw-r--r--dev-java/jnr-posix/Manifest2
-rw-r--r--dev-java/jnr-posix/files/jnr-posix-3.1.15-FileTest.patch38
-rw-r--r--dev-java/jnr-posix/jnr-posix-3.1.15.ebuild102
-rw-r--r--dev-java/jnr-posix/jnr-posix-3.1.16.ebuild95
-rw-r--r--dev-java/joda-time/Manifest2
-rw-r--r--dev-java/joda-time/joda-time-2.10.14.ebuild80
-rw-r--r--dev-java/joda-time/joda-time-2.11.0.ebuild95
-rw-r--r--dev-java/joda-time/joda-time-2.11.2.ebuild6
-rw-r--r--dev-java/jol-core/jol-core-0.16-r1.ebuild40
-rw-r--r--dev-java/jol-core/jol-core-0.16.ebuild45
-rw-r--r--dev-java/jsch-agent-proxy/jsch-agent-proxy-0.0.9.ebuild24
-rw-r--r--dev-java/json-simple/Manifest2
-rw-r--r--dev-java/json-simple/json-simple-1.1-r2.ebuild30
-rw-r--r--dev-java/json-simple/json-simple-2.3.1.ebuild26
-rw-r--r--dev-java/json-simple/metadata.xml2
-rw-r--r--dev-java/json-smart/Manifest2
-rw-r--r--dev-java/json-smart/json-smart-1.3.3.ebuild26
-rw-r--r--dev-java/json-smart/json-smart-2.5.0.ebuild71
-rw-r--r--dev-java/json-smart/metadata.xml20
-rw-r--r--dev-java/json/Manifest5
-rw-r--r--dev-java/json/json-20220320.ebuild57
-rw-r--r--dev-java/json/json-20231013-r1.ebuild65
-rw-r--r--dev-java/json/json-20240205-r1.ebuild62
-rw-r--r--dev-java/jsonrpc2-base/Manifest1
-rw-r--r--dev-java/jsonrpc2-base/jsonrpc2-base-1.38.2.ebuild35
-rw-r--r--dev-java/jsonrpc2-base/metadata.xml19
-rw-r--r--dev-java/jsonrpc2-server/Manifest1
-rw-r--r--dev-java/jsonrpc2-server/jsonrpc2-server-1.11.1.ebuild50
-rw-r--r--dev-java/jsonrpc2-server/metadata.xml19
-rw-r--r--dev-java/jspeex/Manifest1
-rw-r--r--dev-java/jspeex/files/jspeex-0.9.7-remove-junit-report.patch16
-rw-r--r--dev-java/jspeex/files/jspeex-0.9.7-remove-proguard-taskdef.patch53
-rw-r--r--dev-java/jspeex/jspeex-0.9.7-r2.ebuild63
-rw-r--r--dev-java/jspeex/metadata.xml11
-rw-r--r--dev-java/jstl-api/Manifest1
-rw-r--r--dev-java/jstl-api/jstl-api-1.2.7.ebuild42
-rw-r--r--dev-java/jstl-api/metadata.xml10
-rw-r--r--dev-java/jstl/Manifest1
-rw-r--r--dev-java/jstl/jstl-1.2.7.ebuild58
-rw-r--r--dev-java/jstl/metadata.xml10
-rw-r--r--dev-java/jta/Manifest1
-rw-r--r--dev-java/jta/jta-1.1-r1.ebuild49
-rw-r--r--dev-java/jta/metadata.xml8
-rw-r--r--dev-java/jtds/metadata.xml16
-rw-r--r--dev-java/jtidy/files/jtidy-1.0-build.xml.patch31
-rw-r--r--dev-java/jtidy/jtidy-1.0-r1.ebuild54
-rw-r--r--dev-java/jtidy/jtidy-1.0-r2.ebuild31
-rw-r--r--dev-java/jtwig-core/Manifest1
-rw-r--r--dev-java/jtwig-core/jtwig-core-5.87.0.ebuild64
-rw-r--r--dev-java/jtwig-core/metadata.xml10
-rw-r--r--dev-java/jtwig-reflection/Manifest1
-rw-r--r--dev-java/jtwig-reflection/jtwig-reflection-5.87.0.ebuild67
-rw-r--r--dev-java/jtwig-reflection/metadata.xml10
-rw-r--r--dev-java/jul-to-slf4j/Manifest1
-rw-r--r--dev-java/jul-to-slf4j/jul-to-slf4j-2.0.3.ebuild55
-rw-r--r--dev-java/jul-to-slf4j/metadata.xml13
-rw-r--r--dev-java/junit-dataprovider/metadata.xml3
-rw-r--r--dev-java/junit/Manifest4
-rw-r--r--dev-java/junit/files/junit-4.13.2_p20240222-ignore-failing-test.patch85
-rw-r--r--dev-java/junit/junit-3.8.2-r2.ebuild26
-rw-r--r--dev-java/junit/junit-4.13.2-r1.ebuild46
-rw-r--r--dev-java/junit/junit-4.13.2.ebuild68
-rw-r--r--dev-java/junit/junit-4.13.2_p20240222.ebuild53
-rw-r--r--dev-java/junit/junit-5.10.2.ebuild351
-rw-r--r--dev-java/junit/junit-5.9.2.ebuild337
-rw-r--r--dev-java/junit/metadata.xml6
-rw-r--r--dev-java/junitparams/junitparams-1.1.1.ebuild67
-rw-r--r--dev-java/jython/Manifest1
-rw-r--r--dev-java/jython/files/CVE-2016-4000.patch158
-rw-r--r--dev-java/jython/files/jython-2.5.2-distutils_scripts_location.patch11
-rw-r--r--dev-java/jython/files/jython-2.5.2-respect_PYTHONPATH.patch15
-rw-r--r--dev-java/jython/files/jython-2.7.0-build.xml.patch11
-rw-r--r--dev-java/jython/files/jython-2.7_beta1-ant.patch28
-rw-r--r--dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch11
-rw-r--r--dev-java/jython/files/jython-2.7_beta2-maxrepeat-import.patch16
-rw-r--r--dev-java/jython/jython-2.7.0-r7.ebuild156
-rw-r--r--dev-java/jython/metadata.xml11
-rw-r--r--dev-java/jzlib/jzlib-1.1.3-r2.ebuild2
-rw-r--r--dev-java/leiningen-bin/Manifest4
-rw-r--r--dev-java/leiningen-bin/leiningen-bin-2.11.2.ebuild62
-rw-r--r--dev-java/leiningen-bin/leiningen-bin-2.9.8.ebuild62
-rw-r--r--dev-java/libg/Manifest2
-rw-r--r--dev-java/libg/libg-2.1.0-r2.ebuild48
-rw-r--r--dev-java/libg/libg-7.0.0.ebuild51
-rw-r--r--dev-java/libg/metadata.xml13
-rw-r--r--dev-java/lmax-disruptor/lmax-disruptor-3.4.4.ebuild2
-rw-r--r--dev-java/log4j-12-api/Manifest2
-rw-r--r--dev-java/log4j-12-api/log4j-12-api-2.18.0.ebuild84
-rw-r--r--dev-java/log4j-12-api/log4j-12-api-2.19.0.ebuild88
-rw-r--r--dev-java/log4j-api/Manifest3
-rw-r--r--dev-java/log4j-api/log4j-api-2.18.0.ebuild71
-rw-r--r--dev-java/log4j-api/log4j-api-2.19.0.ebuild76
-rw-r--r--dev-java/log4j-core/Manifest2
-rw-r--r--dev-java/log4j-core/log4j-core-2.18.0-r1.ebuild175
-rw-r--r--dev-java/log4j-core/log4j-core-2.19.0.ebuild179
-rw-r--r--dev-java/log4j-over-slf4j/Manifest1
-rw-r--r--dev-java/log4j-over-slf4j/log4j-over-slf4j-2.0.3.ebuild60
-rw-r--r--dev-java/log4j-over-slf4j/metadata.xml13
-rw-r--r--dev-java/logback-classic/Manifest1
-rw-r--r--dev-java/logback-classic/logback-classic-1.2.11.ebuild96
-rw-r--r--dev-java/logback-classic/metadata.xml12
-rw-r--r--dev-java/logback-core/Manifest1
-rw-r--r--dev-java/logback-core/files/logback-core-1.2.11-Ignore-test-failing-under-Java-16.patch24
-rw-r--r--dev-java/logback-core/logback-core-1.2.11-r1.ebuild111
-rw-r--r--dev-java/logback-core/logback-core-1.2.11.ebuild116
-rw-r--r--dev-java/logback-core/metadata.xml12
-rw-r--r--dev-java/lz4-java/files/lz4-java-1.8.0-fix-load.patch32
-rw-r--r--dev-java/lz4-java/files/lz4-java-1.8.0-gentoo-classpath.xml7
-rw-r--r--dev-java/lz4-java/files/lz4-java-1.8.0-print-os-props.patch31
-rw-r--r--dev-java/lz4-java/files/lz4-java-1.8.0-r1-Makefile47
-rw-r--r--dev-java/lz4-java/files/lz4-java-1.8.0-skip-ivy.patch91
-rw-r--r--dev-java/lz4-java/lz4-java-1.8.0-r1.ebuild101
-rw-r--r--dev-java/lz4-java/lz4-java-1.8.0-r4.ebuild93
-rw-r--r--dev-java/lzma/Manifest2
-rw-r--r--dev-java/lzma/lzma-19.00.ebuild24
-rw-r--r--dev-java/lzma/lzma-22.01.ebuild23
-rw-r--r--dev-java/lzma/metadata.xml4
-rw-r--r--dev-java/lzmajio/metadata.xml9
-rw-r--r--dev-java/maven-bin/Manifest3
-rw-r--r--dev-java/maven-bin/maven-bin-3.8.6.ebuild64
-rw-r--r--dev-java/maven-bin/maven-bin-3.8.8-r1.ebuild64
-rw-r--r--dev-java/maven-bin/maven-bin-3.9.6.ebuild64
-rw-r--r--dev-java/memoryfilesystem/metadata.xml3
-rw-r--r--dev-java/mersennetwister/metadata.xml6
-rw-r--r--dev-java/miglayout/Manifest2
-rw-r--r--dev-java/miglayout/metadata.xml6
-rw-r--r--dev-java/miglayout/miglayout-4.0-r1.ebuild64
-rw-r--r--dev-java/miglayout/miglayout-5.3.ebuild78
-rw-r--r--dev-java/mill-bin/Manifest4
-rw-r--r--dev-java/mill-bin/metadata.xml2
-rw-r--r--dev-java/mill-bin/mill-bin-0.10.7.ebuild26
-rw-r--r--dev-java/mill-bin/mill-bin-0.11.5.ebuild26
-rw-r--r--dev-java/mill-bin/mill-bin-0.11.6.ebuild26
-rw-r--r--dev-java/mill-bin/mill-bin-0.11.7.ebuild26
-rw-r--r--dev-java/minidns-core/Manifest1
-rw-r--r--dev-java/minidns-core/metadata.xml19
-rw-r--r--dev-java/minidns-core/minidns-core-1.0.4.ebuild27
-rw-r--r--dev-java/mockito/Manifest6
-rw-r--r--dev-java/mockito/files/mockito-2.28.2-skip-failing-tests.patch82
-rw-r--r--dev-java/mockito/mockito-1.9.5-r2.ebuild44
-rw-r--r--dev-java/mockito/mockito-1.9.5-r4.ebuild31
-rw-r--r--dev-java/mockito/mockito-2.28.2.ebuild103
-rw-r--r--dev-java/mockito/mockito-4.11.0.ebuild52
-rw-r--r--dev-java/mockito/mockito-4.6.1-r1.ebuild55
-rw-r--r--dev-java/mockito/mockito-4.8.0.ebuild56
-rw-r--r--dev-java/msv/Manifest1
-rw-r--r--dev-java/msv/msv-20130601.ebuild56
-rw-r--r--dev-java/msv/msv-2022.7.ebuild6
-rw-r--r--dev-java/mvel/Manifest2
-rw-r--r--dev-java/mvel/files/mvel-2.3.2-ignore-failing-tests.patch43
-rw-r--r--dev-java/mvel/files/mvel-2.3.2-update-supported-java-versions.patch51
-rw-r--r--dev-java/mvel/files/mvel-2.3.2-update-version-in-output.patch26
-rw-r--r--dev-java/mvel/mvel-2.3.2-r1.ebuild81
-rw-r--r--dev-java/mvel/mvel-2.5.0.ebuild66
-rw-r--r--dev-java/netty/Manifest1
-rw-r--r--dev-java/netty/metadata.xml14
-rw-r--r--dev-java/netty/netty-4.1.35-r1.ebuild201
-rw-r--r--dev-java/objenesis-test/Manifest1
-rw-r--r--dev-java/objenesis-test/metadata.xml12
-rw-r--r--dev-java/objenesis-test/objenesis-test-3.2.ebuild32
-rw-r--r--dev-java/objenesis/Manifest1
-rw-r--r--dev-java/objenesis/objenesis-3.2.ebuild44
-rw-r--r--dev-java/objenesis/objenesis-3.3.ebuild2
-rw-r--r--dev-java/open-test-reporting-events/Manifest1
-rw-r--r--dev-java/open-test-reporting-events/metadata.xml10
-rw-r--r--dev-java/open-test-reporting-events/open-test-reporting-events-0.1.0_pre1.ebuild28
-rw-r--r--dev-java/open-test-reporting-schema/Manifest1
-rw-r--r--dev-java/open-test-reporting-schema/metadata.xml10
-rw-r--r--dev-java/open-test-reporting-schema/open-test-reporting-schema-0.1.0_pre1.ebuild26
-rw-r--r--dev-java/openjdk-bin/Manifest59
-rw-r--r--dev-java/openjdk-bin/metadata.xml5
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-11.0.15_p10.ebuild135
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-11.0.16.1_p1.ebuild135
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-11.0.22_p7.ebuild135
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-17.0.10_p7.ebuild136
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-17.0.3_p7.ebuild136
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-17.0.4.1_p1.ebuild136
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-21.0.2_p13.ebuild133
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-8.332_p09.ebuild123
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-8.345_p01.ebuild123
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-8.402_p06.ebuild131
-rw-r--r--dev-java/openjdk-jre-bin/Manifest12
-rw-r--r--dev-java/openjdk-jre-bin/metadata.xml5
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild83
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.15_p10.ebuild83
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.16.1_p1.ebuild83
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.20.1_p1.ebuild83
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.3_p7.ebuild83
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.4.1_p1.ebuild83
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.8.1_p1.ebuild83
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-21.0.1_p12.ebuild83
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-8.322_p06.ebuild82
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-8.332_p09.ebuild82
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-8.345_p01.ebuild82
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-8.382_p05.ebuild82
-rw-r--r--dev-java/openjdk/Manifest18
-rw-r--r--dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch111
-rw-r--r--dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch41
-rw-r--r--dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch48
-rw-r--r--dev-java/openjdk/files/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch38
-rw-r--r--dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch61
-rw-r--r--dev-java/openjdk/metadata.xml12
-rw-r--r--dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild300
-rw-r--r--dev-java/openjdk/openjdk-11.0.16.1_p1.ebuild300
-rw-r--r--dev-java/openjdk/openjdk-11.0.22_p7.ebuild312
-rw-r--r--dev-java/openjdk/openjdk-17.0.10_p7.ebuild321
-rw-r--r--dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild315
-rw-r--r--dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild316
-rw-r--r--dev-java/openjdk/openjdk-17.0.5_p5.ebuild313
-rw-r--r--dev-java/openjdk/openjdk-21.0.2_p13.ebuild320
-rw-r--r--dev-java/openjdk/openjdk-8.332_p09.ebuild229
-rw-r--r--dev-java/openjdk/openjdk-8.345_p01.ebuild229
-rw-r--r--dev-java/openjdk/openjdk-8.402_p06-r2.ebuild284
-rw-r--r--dev-java/openjfx/Manifest1
-rw-r--r--dev-java/openjfx/files/11/0001-c99.patch22
-rw-r--r--dev-java/openjfx/files/11/0002-c99.patch18
-rw-r--r--dev-java/openjfx/files/11/0003-c99.patch19
-rw-r--r--dev-java/openjfx/files/11/ffmpeg5.patch17
-rw-r--r--dev-java/openjfx/files/11/respect-cc.patch15
-rw-r--r--dev-java/openjfx/files/11/strip-blank-elements-flags.patch29
-rw-r--r--dev-java/openjfx/metadata.xml4
-rw-r--r--dev-java/openjfx/openjfx-11.0.11_p1-r3.ebuild231
-rw-r--r--dev-java/openjfx/openjfx-11.0.11_p1.ebuild226
-rw-r--r--dev-java/openjfx/openjfx-11.0.9_p0.ebuild226
-rw-r--r--dev-java/openjfx/openjfx-8.1000-r2.ebuild195
-rw-r--r--dev-java/openjfx/openjfx-8.1000.ebuild199
-rw-r--r--dev-java/osgi-annotation-versioning/Manifest1
-rw-r--r--dev-java/osgi-annotation-versioning/metadata.xml10
-rw-r--r--dev-java/osgi-annotation-versioning/osgi-annotation-versioning-1.1.1.ebuild26
-rw-r--r--dev-java/osgi-cmpn/osgi-cmpn-8.0.0-r1.ebuild45
-rw-r--r--dev-java/osgi-cmpn/osgi-cmpn-8.0.0.ebuild45
-rw-r--r--dev-java/osgi-compendium/Manifest1
-rw-r--r--dev-java/osgi-compendium/metadata.xml8
-rw-r--r--dev-java/osgi-compendium/osgi-compendium-4.3.1-r3.ebuild37
-rw-r--r--dev-java/osgi-core-api/Manifest1
-rw-r--r--dev-java/osgi-core-api/metadata.xml8
-rw-r--r--dev-java/osgi-core-api/osgi-core-api-5.0.0-r2.ebuild29
-rw-r--r--dev-java/osgi-enterprise-api/Manifest1
-rw-r--r--dev-java/osgi-enterprise-api/metadata.xml8
-rw-r--r--dev-java/osgi-enterprise-api/osgi-enterprise-api-5.0.0-r2.ebuild37
-rw-r--r--dev-java/osgi-foundation/Manifest1
-rw-r--r--dev-java/osgi-foundation/files/osgi-foundation-1.2.0-build.xml218
-rw-r--r--dev-java/osgi-foundation/metadata.xml8
-rw-r--r--dev-java/osgi-foundation/osgi-foundation-1.2.0-r2.ebuild28
-rw-r--r--dev-java/osgi-service-log/Manifest1
-rw-r--r--dev-java/osgi-service-log/metadata.xml7
-rw-r--r--dev-java/osgi-service-log/osgi-service-log-1.3.0.ebuild31
-rw-r--r--dev-java/osgi-service-subsystem/Manifest1
-rw-r--r--dev-java/osgi-service-subsystem/metadata.xml7
-rw-r--r--dev-java/osgi-service-subsystem/osgi-service-subsystem-1.1.0.ebuild32
-rw-r--r--dev-java/owasp-java-encoder/Manifest1
-rw-r--r--dev-java/owasp-java-encoder/files/owasp-java-encoder-1.2.3-BenchmarkTest.patch46
-rw-r--r--dev-java/owasp-java-encoder/metadata.xml10
-rw-r--r--dev-java/owasp-java-encoder/owasp-java-encoder-1.2.3.ebuild34
-rw-r--r--dev-java/parboiled/Manifest1
-rw-r--r--dev-java/parboiled/metadata.xml11
-rw-r--r--dev-java/parboiled/parboiled-1.4.1.ebuild68
-rw-r--r--dev-java/pdf-renderer/Manifest1
-rw-r--r--dev-java/pdf-renderer/metadata.xml8
-rw-r--r--dev-java/pdf-renderer/pdf-renderer-1.0.5-r1.ebuild22
-rw-r--r--dev-java/pdfbox/Manifest2
-rw-r--r--dev-java/pdfbox/files/2.0.24-tests-ignore.patch20
-rw-r--r--dev-java/pdfbox/pdfbox-2.0.26.ebuild261
-rw-r--r--dev-java/pdfbox/pdfbox-2.0.27.ebuild259
-rw-r--r--dev-java/picocli/picocli-4.6.3-r1.ebuild7
-rw-r--r--dev-java/plexus-classworlds/Manifest2
-rw-r--r--dev-java/plexus-classworlds/plexus-classworlds-2.6.0.ebuild59
-rw-r--r--dev-java/plexus-classworlds/plexus-classworlds-2.7.0-r1.ebuild47
-rw-r--r--dev-java/poi/Manifest2
-rw-r--r--dev-java/poi/poi-5.2.2.ebuild63
-rw-r--r--dev-java/poi/poi-5.2.3.ebuild61
-rw-r--r--dev-java/protobuf-java/Manifest9
-rw-r--r--dev-java/protobuf-java/files/protobuf-java-3.23.0-unittest_retention.proto.patch35
-rw-r--r--dev-java/protobuf-java/files/protobuf-java-3.26.0-unittest.protos.patch23
-rw-r--r--dev-java/protobuf-java/metadata.xml11
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.19.3.ebuild55
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.20.1.ebuild54
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.23.0.ebuild165
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.23.3.ebuild164
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.25.1.ebuild166
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.25.2.ebuild166
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.25.3.ebuild166
-rw-r--r--dev-java/protobuf-java/protobuf-java-3.26.0.ebuild167
-rw-r--r--dev-java/protobuf-java/protobuf-java-9999.ebuild54
-rw-r--r--dev-java/qdox/Manifest1
-rw-r--r--dev-java/qdox/metadata.xml2
-rw-r--r--dev-java/qdox/qdox-1.12.1-r3.ebuild86
-rw-r--r--dev-java/qdox/qdox-1.12.1-r4.ebuild86
-rw-r--r--dev-java/qdox/qdox-2.0.1.ebuild102
-rw-r--r--dev-java/rat/metadata.xml8
-rw-r--r--dev-java/rat/rat-0.13.ebuild29
-rw-r--r--dev-java/reflections/reflections-0.9.12-r4.ebuild94
-rw-r--r--dev-java/reflections/reflections-0.9.12-r6.ebuild94
-rw-r--r--dev-java/relaxng-datatype/Manifest1
-rw-r--r--dev-java/relaxng-datatype/relaxng-datatype-1.0-r3.ebuild35
-rw-r--r--dev-java/relaxng-datatype/relaxng-datatype-20020414.ebuild2
-rw-r--r--dev-java/reload4j/Manifest1
-rw-r--r--dev-java/reload4j/metadata.xml7
-rw-r--r--dev-java/reload4j/reload4j-1.2.22.ebuild113
-rw-r--r--dev-java/resin-servlet-api/Manifest4
-rw-r--r--dev-java/resin-servlet-api/metadata.xml8
-rw-r--r--dev-java/resin-servlet-api/resin-servlet-api-3.0.25-r1.ebuild40
-rw-r--r--dev-java/resin-servlet-api/resin-servlet-api-4.0.27-r2.ebuild41
-rw-r--r--dev-java/resin-servlet-api/resin-servlet-api-4.0.46-r1.ebuild41
-rw-r--r--dev-java/rhino/rhino-1.7.14-r1.ebuild113
-rw-r--r--dev-java/rhino/rhino-1.7.14.ebuild113
-rw-r--r--dev-java/sac/Manifest1
-rw-r--r--dev-java/sac/metadata.xml8
-rw-r--r--dev-java/sac/sac-1.3-r4.ebuild35
-rw-r--r--dev-java/saslprep/metadata.xml3
-rw-r--r--dev-java/saxon/saxon-6.5.5-r3.ebuild4
-rw-r--r--dev-java/saxon/saxon-9.2.0.6-r3.ebuild90
-rw-r--r--dev-java/saxon/saxon-9.2.0.6-r4.ebuild90
-rw-r--r--dev-java/sbt-bin/Manifest2
-rw-r--r--dev-java/sbt-bin/metadata.xml3
-rw-r--r--dev-java/sbt-bin/sbt-bin-1.3.10.ebuild49
-rw-r--r--dev-java/sbt-bin/sbt-bin-1.8.0.ebuild49
-rw-r--r--dev-java/sbt/Manifest5
-rw-r--r--dev-java/sbt/metadata.xml4
-rw-r--r--dev-java/sbt/sbt-0.13.13.ebuild162
-rw-r--r--dev-java/scala-cli-bin/Manifest15
-rw-r--r--dev-java/scala-cli-bin/metadata.xml13
-rw-r--r--dev-java/scala-cli-bin/scala-cli-bin-1.0.4.ebuild78
-rw-r--r--dev-java/scala-cli-bin/scala-cli-bin-1.1.0.ebuild78
-rw-r--r--dev-java/scala-cli-bin/scala-cli-bin-1.1.1.ebuild78
-rw-r--r--dev-java/scala-cli-bin/scala-cli-bin-1.2.1.ebuild78
-rw-r--r--dev-java/scala-cli-bin/scala-cli-bin-1.2.2.ebuild78
-rw-r--r--dev-java/scram/Manifest2
-rw-r--r--dev-java/scram/metadata.xml3
-rw-r--r--dev-java/scram/scram-2.1.ebuild63
-rw-r--r--dev-java/shrinkwrap-api/Manifest1
-rw-r--r--dev-java/shrinkwrap-api/metadata.xml10
-rw-r--r--dev-java/shrinkwrap-api/shrinkwrap-api-1.2.6.ebuild33
-rw-r--r--dev-java/shrinkwrap-impl-base/Manifest1
-rw-r--r--dev-java/shrinkwrap-impl-base/metadata.xml10
-rw-r--r--dev-java/shrinkwrap-impl-base/shrinkwrap-impl-base-1.2.6.ebuild68
-rw-r--r--dev-java/shrinkwrap-spi/Manifest1
-rw-r--r--dev-java/shrinkwrap-spi/metadata.xml10
-rw-r--r--dev-java/shrinkwrap-spi/shrinkwrap-spi-1.2.6.ebuild32
-rw-r--r--dev-java/slf4j-api/Manifest2
-rw-r--r--dev-java/slf4j-api/metadata.xml4
-rw-r--r--dev-java/slf4j-api/slf4j-api-1.7.36.ebuild62
-rw-r--r--dev-java/slf4j-api/slf4j-api-2.0.3.ebuild40
-rw-r--r--dev-java/slf4j-ext/Manifest2
-rw-r--r--dev-java/slf4j-ext/metadata.xml12
-rw-r--r--dev-java/slf4j-ext/slf4j-ext-1.7.36.ebuild74
-rw-r--r--dev-java/slf4j-ext/slf4j-ext-2.0.3.ebuild61
-rw-r--r--dev-java/slf4j-nop/Manifest2
-rw-r--r--dev-java/slf4j-nop/metadata.xml12
-rw-r--r--dev-java/slf4j-nop/slf4j-nop-1.7.36.ebuild58
-rw-r--r--dev-java/slf4j-nop/slf4j-nop-2.0.3.ebuild47
-rw-r--r--dev-java/slf4j-reload4j/Manifest1
-rw-r--r--dev-java/slf4j-reload4j/metadata.xml12
-rw-r--r--dev-java/slf4j-reload4j/slf4j-reload4j-2.0.3.ebuild82
-rw-r--r--dev-java/slf4j-simple/Manifest2
-rw-r--r--dev-java/slf4j-simple/metadata.xml4
-rw-r--r--dev-java/slf4j-simple/slf4j-simple-1.7.36.ebuild77
-rw-r--r--dev-java/slf4j-simple/slf4j-simple-2.0.3.ebuild72
-rw-r--r--dev-java/snakeyaml/Manifest2
-rw-r--r--dev-java/snakeyaml/files/snakeyaml-1.30-fix-test-check.patch18
-rw-r--r--dev-java/snakeyaml/snakeyaml-1.30-r1.ebuild91
-rw-r--r--dev-java/snakeyaml/snakeyaml-1.33.ebuild2
-rw-r--r--dev-java/snakeyaml/snakeyaml-2.0.ebuild76
-rw-r--r--dev-java/snappy/Manifest3
-rw-r--r--dev-java/snappy/files/1.1.7.8-remove-perl-usage.patch38
-rw-r--r--dev-java/snappy/files/1.1.7.8-unbundle-snappy.patch54
-rw-r--r--dev-java/snappy/files/1.x-build.xml185
-rw-r--r--dev-java/snappy/files/snappy-1.1.10.1-commons-lang3.patch11
-rw-r--r--dev-java/snappy/files/snappy-1.1.10.1-unbundle-snappy.patch51
-rw-r--r--dev-java/snappy/files/snappy-1.1.10.5-SnappyOutputStreamTest.patch30
-rw-r--r--dev-java/snappy/snappy-1.1.10.5-r1.ebuild125
-rw-r--r--dev-java/snappy/snappy-1.1.7.8-r1.ebuild97
-rw-r--r--dev-java/spec-alpha/Manifest3
-rw-r--r--dev-java/spec-alpha/files/build.xml37
-rw-r--r--dev-java/spec-alpha/metadata.xml15
-rw-r--r--dev-java/spec-alpha/spec-alpha-0.1.143.ebuild41
-rw-r--r--dev-java/spec-alpha/spec-alpha-0.2.176.ebuild41
-rw-r--r--dev-java/spec-alpha/spec-alpha-0.2.194.ebuild39
-rw-r--r--dev-java/stax2-api/metadata.xml1
-rw-r--r--dev-java/stringprep/metadata.xml3
-rw-r--r--dev-java/stringtemplate/Manifest5
-rw-r--r--dev-java/stringtemplate/files/stringtemplate-3.2.1-TestStringTemplate.patch11
-rw-r--r--dev-java/stringtemplate/files/stringtemplate-4.3.1-BaseTest-javac-source-target.patch28
-rw-r--r--dev-java/stringtemplate/files/stringtemplate-4.3.4-BaseTest-javac-source-target.patch26
-rw-r--r--dev-java/stringtemplate/files/stringtemplate-4.3.4-Java21-TestRenderers.patch41
-rw-r--r--dev-java/stringtemplate/metadata.xml1
-rw-r--r--dev-java/stringtemplate/stringtemplate-3.2.1-r2.ebuild59
-rw-r--r--dev-java/stringtemplate/stringtemplate-3.2.1-r3.ebuild52
-rw-r--r--dev-java/stringtemplate/stringtemplate-4.3.2.ebuild103
-rw-r--r--dev-java/stringtemplate/stringtemplate-4.3.4.ebuild96
-rw-r--r--dev-java/swt/Manifest12
-rw-r--r--dev-java/swt/files/as-needed-and-flag-fixes-3.6.patch8
-rw-r--r--dev-java/swt/files/swt-3.8-as-needed-and-flag-fixes.patch243
-rw-r--r--dev-java/swt/files/swt-3.8-manifest17
-rw-r--r--dev-java/swt/files/swt-3.8.2-gthread.patch44
-rw-r--r--dev-java/swt/files/swt-4.10-as-needed-and-flag-fixes.patch5
-rw-r--r--dev-java/swt/files/swt-4.27-as-needed-and-flag-fixes.patch81
-rw-r--r--dev-java/swt/metadata.xml5
-rw-r--r--dev-java/swt/swt-3.7.2-r3.ebuild4
-rw-r--r--dev-java/swt/swt-3.8.2-r4.ebuild152
-rw-r--r--dev-java/swt/swt-4.10-r2.ebuild6
-rw-r--r--dev-java/swt/swt-4.29.ebuild147
-rw-r--r--dev-java/swt/swt-4.30-r1.ebuild148
-rw-r--r--dev-java/swt/swt-4.31.ebuild151
-rw-r--r--dev-java/system-rules/system-rules-1.19.0.ebuild2
-rw-r--r--dev-java/testng/Manifest6
-rw-r--r--dev-java/testng/metadata.xml2
-rw-r--r--dev-java/testng/testng-6.11-r1.ebuild101
-rw-r--r--dev-java/testng/testng-6.9.10-r1.ebuild70
-rw-r--r--dev-java/tomcat-native/Manifest5
-rw-r--r--dev-java/tomcat-native/files/tomcat-native-1.2.39-slibtool.patch26
-rw-r--r--dev-java/tomcat-native/metadata.xml6
-rw-r--r--dev-java/tomcat-native/tomcat-native-1.2.35.ebuild62
-rw-r--r--dev-java/tomcat-native/tomcat-native-1.3.0.ebuild86
-rw-r--r--dev-java/tomcat-native/tomcat-native-2.0.7.ebuild79
-rw-r--r--dev-java/tomcat-servlet-api/Manifest9
-rw-r--r--dev-java/tomcat-servlet-api/files/2.5-build-r1.xml90
-rw-r--r--dev-java/tomcat-servlet-api/files/jsp-api-2.0-manifest11
-rw-r--r--dev-java/tomcat-servlet-api/files/servlet-api-2.4-manifest9
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.23.ebuild98
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.26.ebuild98
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-10.1.0.ebuild98
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-4.1.40.ebuild2
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-5.5.36.ebuild49
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-6.0.53-r1.ebuild36
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-7.0.109.ebuild98
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-8.5.82.ebuild99
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.65.ebuild99
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.67.ebuild99
-rw-r--r--dev-java/txw2/Manifest1
-rw-r--r--dev-java/txw2/metadata.xml7
-rw-r--r--dev-java/txw2/txw2-2.3.8-r1.ebuild23
-rw-r--r--dev-java/unbescape/Manifest1
-rw-r--r--dev-java/unbescape/metadata.xml10
-rw-r--r--dev-java/unbescape/unbescape-1.1.6.ebuild36
-rw-r--r--dev-java/validation-api/Manifest1
-rw-r--r--dev-java/validation-api/metadata.xml2
-rw-r--r--dev-java/validation-api/validation-api-1.0.0-r1.ebuild20
-rw-r--r--dev-java/validation-api/validation-api-1.1.0-r1.ebuild22
-rw-r--r--dev-java/validation-api/validation-api-1.1.0-r2.ebuild20
-rw-r--r--dev-java/velocity/Manifest1
-rw-r--r--dev-java/velocity/files/velocity-2.3-skipSecurityManager.patch11
-rw-r--r--dev-java/velocity/metadata.xml11
-rw-r--r--dev-java/velocity/velocity-2.3.ebuild6
-rw-r--r--dev-java/velocity/velocity-2.3_p20240314.ebuild108
-rw-r--r--dev-java/waffle-jna/Manifest1
-rw-r--r--dev-java/waffle-jna/metadata.xml10
-rw-r--r--dev-java/waffle-jna/waffle-jna-3.3.0.ebuild47
-rw-r--r--dev-java/woodstox-core/Manifest3
-rw-r--r--dev-java/woodstox-core/metadata.xml1
-rw-r--r--dev-java/woodstox-core/woodstox-core-6.2.8-r1.ebuild102
-rw-r--r--dev-java/woodstox-core/woodstox-core-6.3.1.ebuild89
-rw-r--r--dev-java/woodstox-core/woodstox-core-6.4.0-r1.ebuild89
-rw-r--r--dev-java/wsdl4j/wsdl4j-1.6.3.ebuild4
-rw-r--r--dev-java/xalan-serializer/Manifest3
-rw-r--r--dev-java/xalan-serializer/xalan-serializer-2.7.2-r1.ebuild41
-rw-r--r--dev-java/xalan-serializer/xalan-serializer-2.7.3-r1.ebuild46
-rw-r--r--dev-java/xalan/Manifest4
-rw-r--r--dev-java/xalan/xalan-2.7.2-r1.ebuild67
-rw-r--r--dev-java/xalan/xalan-2.7.3-r1.ebuild45
-rw-r--r--dev-java/xerces/Manifest1
-rw-r--r--dev-java/xerces/xerces-2.12.2-r2.ebuild62
-rw-r--r--dev-java/xerces/xerces-2.12.2.ebuild57
-rw-r--r--dev-java/xerial-core/Manifest1
-rw-r--r--dev-java/xerial-core/xerial-core-2.0.1-r1.ebuild48
-rw-r--r--dev-java/xerial-core/xerial-core-2.1.ebuild2
-rw-r--r--dev-java/xml-commons-external/xml-commons-external-1.4.01-r2.ebuild2
-rw-r--r--dev-java/xml-commons-resolver/xml-commons-resolver-1.2-r3.ebuild2
-rw-r--r--dev-java/xmlgraphics-commons/Manifest3
-rw-r--r--dev-java/xmlgraphics-commons/xmlgraphics-commons-2.7-r1.ebuild72
-rw-r--r--dev-java/xmlgraphics-commons/xmlgraphics-commons-2.9.ebuild50
-rw-r--r--dev-java/xmlunit-assertj/Manifest1
-rw-r--r--dev-java/xmlunit-assertj/metadata.xml10
-rw-r--r--dev-java/xmlunit-assertj/xmlunit-assertj-2.9.1.ebuild63
-rw-r--r--dev-java/xmlunit-core/Manifest1
-rw-r--r--dev-java/xmlunit-core/metadata.xml10
-rw-r--r--dev-java/xmlunit-core/xmlunit-core-2.9.1.ebuild57
-rw-r--r--dev-java/xmlunit-matchers/Manifest1
-rw-r--r--dev-java/xmlunit-matchers/metadata.xml10
-rw-r--r--dev-java/xmlunit-matchers/xmlunit-matchers-2.9.1.ebuild61
-rw-r--r--dev-java/xmlunit/xmlunit-1.6-r1.ebuild56
-rw-r--r--dev-java/xmlunit/xmlunit-1.6-r2.ebuild43
-rw-r--r--dev-java/xmpbox/Manifest2
-rw-r--r--dev-java/xmpbox/xmpbox-2.0.26.ebuild61
-rw-r--r--dev-java/xmpbox/xmpbox-2.0.27.ebuild56
-rw-r--r--dev-java/xom/Manifest2
-rw-r--r--dev-java/xom/files/xom-1.3.7-disable-invalid-test.patch13
-rw-r--r--dev-java/xom/metadata.xml3
-rw-r--r--dev-java/xom/xom-1.3.7.ebuild66
-rw-r--r--dev-java/xom/xom-1.3.8-r1.ebuild103
-rw-r--r--dev-java/xpp2/xpp2-2.1.10-r3.ebuild2
-rw-r--r--dev-java/xpp3/xpp3-1.1.4c-r6.ebuild2
-rw-r--r--dev-java/xsdlib/Manifest1
-rw-r--r--dev-java/xsdlib/xsdlib-2013.6.1.ebuild35
-rw-r--r--dev-java/xsdlib/xsdlib-2022.7.ebuild2
-rw-r--r--dev-java/xz-java/Manifest1
-rw-r--r--dev-java/xz-java/metadata.xml6
-rw-r--r--dev-java/xz-java/xz-java-1.9-r1.ebuild39
-rw-r--r--dev-java/xz-java/xz-java-1.9.ebuild36
-rw-r--r--dev-java/zstd-jni/Manifest3
-rw-r--r--dev-java/zstd-jni/files/zstd-jni-1.5.0.4-filter-flags.patch9
-rw-r--r--dev-java/zstd-jni/metadata.xml3
-rw-r--r--dev-java/zstd-jni/zstd-jni-1.5.0.5.ebuild60
-rw-r--r--dev-java/zstd-jni/zstd-jni-1.5.2.4.ebuild67
-rw-r--r--dev-java/zstd-jni/zstd-jni-1.5.2.5.ebuild63
-rw-r--r--dev-java/zxing-core/Manifest1
-rw-r--r--dev-java/zxing-core/metadata.xml19
-rw-r--r--dev-java/zxing-core/zxing-core-3.5.1.ebuild33
-rw-r--r--dev-java/zxing-javase/Manifest1
-rw-r--r--dev-java/zxing-javase/files/3.5.1-test-available-formats.patch31
-rw-r--r--dev-java/zxing-javase/metadata.xml19
-rw-r--r--dev-java/zxing-javase/zxing-javase-3.5.1.ebuild46
1207 files changed, 25247 insertions, 25537 deletions
diff --git a/dev-java/angus-activation/metadata.xml b/dev-java/angus-activation/metadata.xml
index 75321cfb5598..0174e643d7c7 100644
--- a/dev-java/angus-activation/metadata.xml
+++ b/dev-java/angus-activation/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">eclipse-ee4j/angus-activation</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/ant-antlr/Manifest b/dev-java/ant-antlr/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-antlr/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-antlr/ant-antlr-1.10.9.ebuild b/dev-java/ant-antlr/ant-antlr-1.10.9.ebuild
deleted file mode 100644
index 3ce97311a972..000000000000
--- a/dev-java/ant-antlr/ant-antlr-1.10.9.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME=""
-
-inherit ant-tasks
-
-DESCRIPTION="Apache Ant's optional tasks for Antlr"
-KEYWORDS="amd64 ~arm ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND=">=dev-java/antlr-2.7.7-r7:0"
-
-src_install() {
- ant-tasks_src_install
- java-pkg_register-dependency antlr
-}
diff --git a/dev-java/ant-antlr/metadata.xml b/dev-java/ant-antlr/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-antlr/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-apache-bcel/Manifest b/dev-java/ant-apache-bcel/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-apache-bcel/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-apache-bcel/ant-apache-bcel-1.10.9.ebuild b/dev-java/ant-apache-bcel/ant-apache-bcel-1.10.9.ebuild
deleted file mode 100644
index 50062198e79c..000000000000
--- a/dev-java/ant-apache-bcel/ant-apache-bcel-1.10.9.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="bcel"
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND=">=dev-java/bcel-5.1-r3:0"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-apache-bcel/metadata.xml b/dev-java/ant-apache-bcel/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-apache-bcel/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-apache-bsf/Manifest b/dev-java/ant-apache-bsf/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-apache-bsf/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-apache-bsf/ant-apache-bsf-1.10.9.ebuild b/dev-java/ant-apache-bsf/ant-apache-bsf-1.10.9.ebuild
deleted file mode 100644
index 4d3aa5991cf6..000000000000
--- a/dev-java/ant-apache-bsf/ant-apache-bsf-1.10.9.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="bsf-2.3"
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="python javascript tcl"
-
-DEPEND=">=dev-java/bsf-2.4.0-r1:2.3[python?,javascript?,tcl?]"
-RDEPEND="${DEPEND}"
-
-pkg_postinst() {
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- elog "Also, >=dev-java/bsf-2.4.0-r1 adds optional support for groovy,"
- elog "ruby and beanshell. See its postinst elog messages for instructions."
- fi
-}
diff --git a/dev-java/ant-apache-bsf/metadata.xml b/dev-java/ant-apache-bsf/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-apache-bsf/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-apache-log4j/Manifest b/dev-java/ant-apache-log4j/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-apache-log4j/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-apache-log4j/ant-apache-log4j-1.10.9-r1.ebuild b/dev-java/ant-apache-log4j/ant-apache-log4j-1.10.9-r1.ebuild
deleted file mode 100644
index c48b772e49be..000000000000
--- a/dev-java/ant-apache-log4j/ant-apache-log4j-1.10.9-r1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="log4j-12-api-2"
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND="dev-java/log4j-12-api:2"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-apache-log4j/metadata.xml b/dev-java/ant-apache-log4j/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-apache-log4j/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-apache-oro/Manifest b/dev-java/ant-apache-oro/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-apache-oro/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-apache-oro/ant-apache-oro-1.10.9.ebuild b/dev-java/ant-apache-oro/ant-apache-oro-1.10.9.ebuild
deleted file mode 100644
index 17605232d18d..000000000000
--- a/dev-java/ant-apache-oro/ant-apache-oro-1.10.9.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="jakarta-oro-2.0"
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND=">=dev-java/jakarta-oro-2.0.8-r2:2.0"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-apache-oro/metadata.xml b/dev-java/ant-apache-oro/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-apache-oro/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-apache-regexp/Manifest b/dev-java/ant-apache-regexp/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-apache-regexp/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-apache-regexp/ant-apache-regexp-1.10.9.ebuild b/dev-java/ant-apache-regexp/ant-apache-regexp-1.10.9.ebuild
deleted file mode 100644
index c3e9f34c688f..000000000000
--- a/dev-java/ant-apache-regexp/ant-apache-regexp-1.10.9.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="jakarta-regexp-1.4"
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND=">=dev-java/jakarta-regexp-1.4-r1:1.4"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-apache-regexp/metadata.xml b/dev-java/ant-apache-regexp/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-apache-regexp/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-apache-resolver/Manifest b/dev-java/ant-apache-resolver/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-apache-resolver/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-apache-resolver/ant-apache-resolver-1.10.9.ebuild b/dev-java/ant-apache-resolver/ant-apache-resolver-1.10.9.ebuild
deleted file mode 100644
index de1b69fee991..000000000000
--- a/dev-java/ant-apache-resolver/ant-apache-resolver-1.10.9.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="xml-commons-resolver"
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND=">=dev-java/xml-commons-resolver-1.2:0"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-apache-resolver/metadata.xml b/dev-java/ant-apache-resolver/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-apache-resolver/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-apache-xalan2/Manifest b/dev-java/ant-apache-xalan2/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-apache-xalan2/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-apache-xalan2/ant-apache-xalan2-1.10.9.ebuild b/dev-java/ant-apache-xalan2/ant-apache-xalan2-1.10.9.ebuild
deleted file mode 100644
index ead0fda47fce..000000000000
--- a/dev-java/ant-apache-xalan2/ant-apache-xalan2-1.10.9.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="xalan"
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND="dev-java/xalan:0
- dev-java/xalan-serializer:0"
-
-RDEPEND="${DEPEND}"
-
-src_unpack() {
- ant-tasks_src_unpack all
- java-pkg_jar-from xalan-serializer
-}
diff --git a/dev-java/ant-apache-xalan2/metadata.xml b/dev-java/ant-apache-xalan2/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-apache-xalan2/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-commons-logging/Manifest b/dev-java/ant-commons-logging/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-commons-logging/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-commons-logging/ant-commons-logging-1.10.9.ebuild b/dev-java/ant-commons-logging/ant-commons-logging-1.10.9.ebuild
deleted file mode 100644
index ccf0ff8e4db5..000000000000
--- a/dev-java/ant-commons-logging/ant-commons-logging-1.10.9.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND=">=dev-java/commons-logging-1.0.4-r2:0"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-commons-logging/metadata.xml b/dev-java/ant-commons-logging/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-commons-logging/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-commons-net/Manifest b/dev-java/ant-commons-net/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-commons-net/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-commons-net/ant-commons-net-1.10.9.ebuild b/dev-java/ant-commons-net/ant-commons-net-1.10.9.ebuild
deleted file mode 100644
index 41b732a1847a..000000000000
--- a/dev-java/ant-commons-net/ant-commons-net-1.10.9.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND=">=dev-java/commons-net-1.4.1-r1:0"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-commons-net/metadata.xml b/dev-java/ant-commons-net/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-commons-net/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-contrib/ant-contrib-1.0_beta6_pre20201123-r1.ebuild b/dev-java/ant-contrib/ant-contrib-1.0_beta6_pre20201123-r1.ebuild
deleted file mode 100644
index 38db7e73b27e..000000000000
--- a/dev-java/ant-contrib/ant-contrib-1.0_beta6_pre20201123-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 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/cniweb/ant-contrib/archive/0228412be2ef648cfabc1d74416d3188755aff9b.tar.gz --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild ant-contrib-1.0_beta6_pre20201123.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="ant-contrib:ant-contrib:1.0b6"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_COMMIT="0228412be2ef648cfabc1d74416d3188755aff9b"
-DESCRIPTION="Ant-contrib tasks for Apache Ant"
-HOMEPAGE="http://ant-contrib.sourceforge.net"
-SRC_URI="https://github.com/cniweb/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-
-# Too many tests fail
-RESTRICT="test"
-
-# Common dependencies
-# POM: pom.xml
-# commons-httpclient:commons-httpclient:3.1 -> >=dev-java/commons-httpclient-3.1:3
-# org.apache.ant:ant:1.9.15 -> >=dev-java/ant-core-1.10.9:0
-# org.apache.bcel:bcel:5.1 -> >=dev-java/bcel-6.5.0:0
-# org.apache.ivy:ivy:2.5.0 -> >=dev-java/ant-ivy-2.5.0:2
-# org.jvnet.hudson:ivy:1.4.1 -> !!!groupId-not-found!!!
-# xerces:xercesImpl:2.12.0 -> >=dev-java/xerces-2.12.0:2
-
-CDEPEND="
- dev-java/ant-core:0
- dev-java/ant-ivy:2
- dev-java/bcel:0
- dev-java/commons-httpclient:3
- dev-java/xerces:2
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.12 -> >=dev-java/junit-4.12:4
-# test? org.apache.ant:ant-launcher:1.9.5 -> >=dev-java/ant-core-1.10.9:0
-
-DEPEND="${CDEPEND}
- >=virtual/jdk-1.8:*
- test? (
- dev-java/ant-core:0
- )"
-
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${PN}-${MY_COMMIT}/${PN}"
-
-# JAVA_GENTOO_CLASSPATH="commons-httpclient-3,ant-core,bcel,ant-ivy-2,!!!groupId-not-found!!!,xerces-2"
-JAVA_GENTOO_CLASSPATH="commons-httpclient-3,ant-core,bcel,ant-ivy-2,xerces-2"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,ant-core"
-JAVA_TEST_SRC_DIR="test/src"
-JAVA_TEST_RESOURCE_DIRS="test/resources"
-
-src_prepare() {
- default
- sed -i \
- -e '/^import/s/fr.jayasoft.ivy.ant/org.apache.ivy.ant/' \
- src/main/java/net/sf/antcontrib/net/Ivy14Adapter.java || die
-}
diff --git a/dev-java/ant-contrib/ant-contrib-1.0_beta6_pre20201123-r2.ebuild b/dev-java/ant-contrib/ant-contrib-1.0_beta6_pre20201123-r2.ebuild
new file mode 100644
index 000000000000..172467ec6ed4
--- /dev/null
+++ b/dev-java/ant-contrib/ant-contrib-1.0_beta6_pre20201123-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="ant-contrib:ant-contrib:1.0b6"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+MY_COMMIT="0228412be2ef648cfabc1d74416d3188755aff9b"
+DESCRIPTION="Ant-contrib tasks for Apache Ant"
+HOMEPAGE="https://ant-contrib.sourceforge.net/"
+SRC_URI="https://github.com/cniweb/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_COMMIT}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+
+# Too many tests fail
+RESTRICT="test"
+
+# Common dependencies
+# POM: pom.xml
+# commons-httpclient:commons-httpclient:3.1 -> >=dev-java/commons-httpclient-3.1:3
+# org.apache.ant:ant:1.9.15 -> >=dev-java/ant-core-1.10.9:0
+# org.apache.bcel:bcel:5.1 -> >=dev-java/bcel-6.5.0:0
+# org.apache.ivy:ivy:2.5.0 -> >=dev-java/ant-ivy-2.5.0:2
+# org.jvnet.hudson:ivy:1.4.1 -> !!!groupId-not-found!!!
+# xerces:xercesImpl:2.12.0 -> >=dev-java/xerces-2.12.0:2
+
+CDEPEND="
+ >=dev-java/ant-1.10.14-r3:0
+ dev-java/ant-ivy:2
+ dev-java/bcel:0
+ dev-java/commons-httpclient:3
+ dev-java/xerces:2
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? junit:junit:4.12 -> >=dev-java/junit-4.12:4
+# test? org.apache.ant:ant-launcher:1.9.5 -> >=dev-java/ant-core-1.10.9:0
+
+DEPEND="${CDEPEND}
+ >=virtual/jdk-1.8:*
+ test? (
+ >=dev-java/ant-1.10.14-r3:0[junit4]
+ )"
+
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+# JAVA_GENTOO_CLASSPATH="commons-httpclient-3,ant-core,bcel,ant-ivy-2,!!!groupId-not-found!!!,xerces-2"
+JAVA_GENTOO_CLASSPATH="commons-httpclient-3,ant,bcel,ant-ivy-2,xerces-2"
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,ant"
+JAVA_TEST_SRC_DIR="test/src"
+JAVA_TEST_RESOURCE_DIRS="test/resources"
+
+src_prepare() {
+ default
+ sed -i \
+ -e '/^import/s/fr.jayasoft.ivy.ant/org.apache.ivy.ant/' \
+ src/main/java/net/sf/antcontrib/net/Ivy14Adapter.java || die
+}
diff --git a/dev-java/ant-core/Manifest b/dev-java/ant-core/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-core/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-core/ant-core-1.10.14.ebuild b/dev-java/ant-core/ant-core-1.10.14.ebuild
new file mode 100644
index 000000000000..c69d378ddc71
--- /dev/null
+++ b/dev-java/ant-core/ant-core-1.10.14.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2
+
+DESCRIPTION="Compatibility link to ant-core for >=dev-java/ant-1.10.14"
+HOMEPAGE="https://ant.apache.org/"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND="
+ ~dev-java/ant-${PV}:0
+ >=virtual/jdk-1.8:*
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+src_compile() { :; }
+
+src_install() {
+ java-pkg_regjar /usr/share/ant-core/lib/ant.jar
+}
diff --git a/dev-java/ant-core/ant-core-1.10.9-r5.ebuild b/dev-java/ant-core/ant-core-1.10.9-r5.ebuild
deleted file mode 100644
index f7540588ca05..000000000000
--- a/dev-java/ant-core/ant-core-1.10.9-r5.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Don't depend on itself.
-JAVA_ANT_DISABLE_ANT_CORE_DEP="true"
-
-# Rewriting build.xml files for the testcases has no use at the moment.
-JAVA_PKG_BSFIX_ALL="no"
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.apache.ant:ant:1.10.9"
-
-inherit java-pkg-2 java-ant-2 prefix
-
-MY_P="apache-ant-${PV}"
-
-DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files"
-HOMEPAGE="https://ant.apache.org/"
-SRC_URI="https://archive.apache.org/dist/ant/source/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~fordfrog/distfiles/ant-${PV}-gentoo.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-CDEPEND=">=virtual/jdk-1.8:*"
-DEPEND="${CDEPEND}
- doc? (
- dev-java/bcel:0
- dev-java/bsf:2.3
- dev-java/commons-logging:0
- dev-java/commons-net:0
- dev-java/jakarta-activation-api:1
- dev-java/jakarta-regexp:1.4
- dev-java/jakarta-oro:2.0
- dev-java/jdepend:0
- dev-java/jsch:0
- dev-java/log4j-12-api:2
- dev-java/javax-mail:0
- dev-java/sun-jai-bin:0
- dev-java/xalan:0
- dev-java/xml-commons-resolver:0
- dev-java/xz-java:0
- )"
-RDEPEND="${CDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-RESTRICT="test"
-
-PATCHES=(
- "${WORKDIR}/${PV}-build.patch"
- "${WORKDIR}/${PV}-launch.patch"
-)
-
-src_prepare() {
- default
-
- eprefixify "${S}/src/script/ant"
-
- # Fixes bug 556008.
- java-ant_xml-rewrite -f build.xml \
- -c -e javadoc \
- -a failonerror \
- -v "false"
-
- # See bug #196080 for more details.
- java-ant_bsfix_one build.xml
- java-pkg-2_src_prepare
-
- # Remove JDK9+ stuff
- einfo "Removing JDK9+ classes (Jmod and Link)"
- rm "${S}"/src/main/org/apache/tools/ant/taskdefs/modules/{Jmod,Link}.java
-}
-
-src_compile() {
- export ANT_HOME=""
- # Avoid error message that package ant-core was not found
- export ANT_TASKS="none"
-
- local bsyscp
-
- # This ensures that when building ant with bootstrapped ant,
- # only the source is used for resolving references, and not
- # the classes in bootstrapped ant but jikes in kaffe has issues with this...
- if ! java-pkg_current-vm-matches kaffe; then
- bsyscp="-Dbuild.sysclasspath=ignore"
- fi
-
- CLASSPATH="$(java-config -t)" ./build.sh ${bsyscp} jars dist-internal ||
- die "build failed"
-
- if use doc; then
- # All Java packages imported by the source files need to present in
- # the classpath, otherwise it would be https://bugs.gentoo.org/780531
- local doc_deps=(
- bcel
- bsf-2.3
- commons-logging
- commons-net
- jakarta-activation-api-1
- jakarta-oro-2.0
- jakarta-regexp-1.4
- jdepend
- jsch
- log4j-12-api-2
- javax-mail
- sun-jai-bin
- xalan
- xml-commons-resolver
- xz-java
- )
- for dep in "${doc_deps[@]}"; do
- java-pkg_jar-from --build-only --into lib/optional/ "${dep}"
- done
- # This file imports netrexx.lang.Rexx, which is not available
- # from ::gentoo. Fortunately, there is not a dev-java/ant-*
- # package for it, so even if we could generate documentation
- # for it, it would be irrelevant
- rm src/main/org/apache/tools/ant/taskdefs/optional/NetRexxC.java ||
- die "Failed to remove Java source file blocking Javadoc generation"
- ./build.sh ${bsyscp} javadocs || die "Javadoc build failed"
- fi
-}
-
-src_install() {
- dodir /usr/share/ant/lib
-
- for jar in ant.jar ant-bootstrap.jar ant-launcher.jar ; do
- java-pkg_dojar build/lib/${jar}
- dosym ../../${PN}/lib/${jar} /usr/share/ant/lib/${jar}
- done
-
- dobin src/script/ant
-
- dodir /usr/share/${PN}/bin
- for each in antRun antRun.pl runant.pl runant.py ; do
- dobin "${S}/src/script/${each}"
- dosym ../../../bin/${each} /usr/share/${PN}/bin/${each}
- done
- dosym ../${PN}/bin /usr/share/ant/bin
-
- insinto /usr/share/${PN}
- doins -r dist/etc
- dosym ../${PN}/etc /usr/share/ant/etc
-
- echo "ANT_HOME=\"${EPREFIX}/usr/share/ant\"" > "${T}/20ant"
- doenvd "${T}/20ant"
-
- dodoc NOTICE README WHATSNEW KEYS
-
- if use doc; then
- dodoc -r manual/*
- java-pkg_dojavadoc --symlink manual/api build/javadocs
- fi
-
- use source && java-pkg_dosrc src/main/*
-}
diff --git a/dev-java/ant-core/metadata.xml b/dev-java/ant-core/metadata.xml
index 4221e170cbc0..d0bcffb03628 100644
--- a/dev-java/ant-core/metadata.xml
+++ b/dev-java/ant-core/metadata.xml
@@ -5,4 +5,9 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <bugs-to>https://bz.apache.org/bugzilla/enter_bug.cgi?product=Ant</bugs-to>
+ <doc>https://ant.apache.org/manual/</doc>
+ <remote-id type="github">apache/ant</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/ant-eclipse-ecj/Manifest b/dev-java/ant-eclipse-ecj/Manifest
deleted file mode 100644
index 8445570a7ca7..000000000000
--- a/dev-java/ant-eclipse-ecj/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ecjsrc-4.15.jar 2166228 BLAKE2B 794e0ba1a19b325e2dd8ad0b288ccbe04866627670b50d39dd327c13fe1fac56200eb3a6c1c3d1af043cad795508b9b714a5243049671414b5a62a97725d3297 SHA512 ada55b2522cf26570f0cd43f415eb5cf20e6840f83dadc72e1ae474ebf10eadca73f9fa3d1db51e13fd2762c38cd3e3567db3c7840d43ae3d8665ebe35e1889d
-DIST ecjsrc-4.22.jar 2358194 BLAKE2B e091050297b4556c38adfb01fb1e43e13644af1b3c2b30a93cfe3fdbb55050a0f7709081c7406d384d7141de67a954253aa26cdbb45f56327b16ee5ddd5e82a7 SHA512 cd52a72aecded032625ee83581ac565e1e96f8d26ecfc76e982274fd3d6238f1e7f22576855589b021e9a5ef67686b9b75e010c4e2033a8b7f6e7c9b1ff7eb4c
diff --git a/dev-java/ant-eclipse-ecj/ant-eclipse-ecj-4.15-r1.ebuild b/dev-java/ant-eclipse-ecj/ant-eclipse-ecj-4.15-r1.ebuild
deleted file mode 100644
index 449a22d33932..000000000000
--- a/dev-java/ant-eclipse-ecj/ant-eclipse-ecj-4.15-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple prefix
-
-DMF="R-${PV}-202003050155"
-
-DESCRIPTION="Ant Compiler Adapter for Eclipse Java Compiler"
-HOMEPAGE="https://www.eclipse.org/"
-SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV}.jar"
-
-LICENSE="EPL-1.0"
-KEYWORDS="amd64 ~ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
-SLOT="4.15"
-IUSE=""
-
-CDEPEND="~dev-java/eclipse-ecj-${PV}:${SLOT}
- dev-java/ant-core:0"
-RDEPEND="${CDEPEND}
- >=virtual/jre-11:*"
-DEPEND="${CDEPEND}
- >=virtual/jdk-11:*"
-BDEPEND="app-arch/unzip"
-
-JAVA_GENTOO_CLASSPATH="ant-core,eclipse-ecj-${SLOT}"
-
-src_prepare() {
- default
-
- # Remove everything but the Ant component.
- find org -type f ! -path "org/eclipse/jdt/internal/antadapter/*" ! -name "JDTCompilerAdapter.java" -delete || die
-
- rm build.xml || die
-}
-
-src_compile() {
- java-pkg-simple_src_compile
- find org -type f ! -name "*.java" | xargs jar uvf "${PN}.jar" || die "jar update failed"
-}
-
-src_install() {
- java-pkg-simple_src_install
- insinto /usr/share/java-config-2/compiler
- doins "${FILESDIR}/ecj-${SLOT}"
- eprefixify "${ED}"/usr/share/java-config-2/compiler/ecj-${SLOT}
-}
diff --git a/dev-java/ant-eclipse-ecj/ant-eclipse-ecj-4.22-r1.ebuild b/dev-java/ant-eclipse-ecj/ant-eclipse-ecj-4.22-r1.ebuild
deleted file mode 100644
index a2d55cda8ca1..000000000000
--- a/dev-java/ant-eclipse-ecj/ant-eclipse-ecj-4.22-r1.ebuild
+++ /dev/null
@@ -1,53 +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"
-
-inherit java-pkg-2 java-pkg-simple prefix
-
-DMF="R-${PV}-202111241800"
-
-DESCRIPTION="Ant Compiler Adapter for Eclipse Java Compiler"
-HOMEPAGE="https://www.eclipse.org/"
-SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV}.jar"
-
-LICENSE="EPL-1.0"
-KEYWORDS="amd64 ~ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
-SLOT="4.22"
-IUSE=""
-
-CDEPEND="~dev-java/eclipse-ecj-${PV}:${SLOT}
- dev-java/ant-core:0"
-# though technically both could be set to 1.8 and it would
-# compile using jdk 11+, it would not compile using jdk 1.8
-# because eclipse ecj has min jdk 11
-RDEPEND="${CDEPEND}
- >=virtual/jre-11:*"
-DEPEND="${CDEPEND}
- >=virtual/jdk-17:*"
-BDEPEND="app-arch/unzip"
-
-JAVA_GENTOO_CLASSPATH="ant-core,eclipse-ecj-${SLOT}"
-
-src_prepare() {
- default
-
- # Remove everything but the Ant component.
- find org -type f ! -path "org/eclipse/jdt/internal/antadapter/*" ! -name "JDTCompilerAdapter.java" -delete || die
-
- rm build.xml || die
-}
-
-src_compile() {
- java-pkg-simple_src_compile
- find org -type f ! -name "*.java" | xargs jar uvf "${PN}.jar" || die "jar update failed"
-}
-
-src_install() {
- java-pkg-simple_src_install
- insinto /usr/share/java-config-2/compiler
- doins "${FILESDIR}/ecj-${SLOT}"
- eprefixify "${ED}"/usr/share/java-config-2/compiler/ecj-${SLOT}
-}
diff --git a/dev-java/ant-eclipse-ecj/files/ecj-4.22 b/dev-java/ant-eclipse-ecj/files/ecj-4.22
deleted file mode 100644
index 5bbcc318d9ba..000000000000
--- a/dev-java/ant-eclipse-ecj/files/ecj-4.22
+++ /dev/null
@@ -1,7 +0,0 @@
-JAVAC="@GENTOO_PORTAGE_EPREFIX@/usr/bin/ecj-4.22"
-PACKAGE="=dev-java/ant-eclipse-ecj-4.21*"
-SUPPORTED_TARGET="1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17"
-SUPPORTED_SOURCE="1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17"
-ANT_BUILD_COMPILER="org.eclipse.jdt.core.JDTCompilerAdapter"
-ANT_BUILD_COMPILER_DEPS="eclipse-ecj-4.22,ant-eclipse-ecj-4.22"
-GENERATION="2"
diff --git a/dev-java/ant-eclipse-ecj/metadata.xml b/dev-java/ant-eclipse-ecj/metadata.xml
deleted file mode 100644
index 2c9857d120ad..000000000000
--- a/dev-java/ant-eclipse-ecj/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
-<longdescription>
-ECJ is the Eclipse Compiler for Java. It's a separate packaging of
-the embedded Java compiler that comes with Eclipse. It can be used
-as a batch-compiler by running the ecj-3.1 script, or it can be
-used with Ant by using the -lib option to and and setting
--Dbuild.compiler=ecj
-</longdescription>
-</pkgmetadata>
diff --git a/dev-java/ant-ivy/ant-ivy-2.5.0-r1.ebuild b/dev-java/ant-ivy/ant-ivy-2.5.0-r1.ebuild
deleted file mode 100644
index fff42019b905..000000000000
--- a/dev-java/ant-ivy/ant-ivy-2.5.0-r1.ebuild
+++ /dev/null
@@ -1,184 +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="org.apache.ivy:ivy:2.5.0"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple java-osgi
-
-DESCRIPTION="Ivy is a free java based dependency manager"
-HOMEPAGE="https://ant.apache.org/ivy/"
-SRC_URI="mirror://apache/ant/ivy/${PV}/apache-ivy-${PV}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2"
-KEYWORDS="amd64 ppc64 x86"
-
-PROPERTIES="test_network"
-RESTRICT="test"
-
-CDEPEND="
- dev-java/ant-core:0
- dev-java/bcpg:0
- dev-java/bcprov:0
- dev-java/httpcomponents-client
- dev-java/commons-vfs:2
- dev-java/httpcore:0
- dev-java/jakarta-oro:2.0
- dev-java/jsch:0
- dev-java/jsch-agent-proxy:0
- test? (
- dev-java/ant-junit:0
- dev-java/ant-junit4:0
- dev-java/ant-junitlauncher:0
- dev-java/ant-testutil:0
- dev-java/hamcrest-core:1.3
- dev-java/hamcrest-library:1.3
- dev-java/xmlunit:1
- )"
-
-# Restrict to jdk:1.8 since java.util.jar.Pack200 was removed.
-DEPEND="${CDEPEND}
- virtual/jdk:1.8"
-RDEPEND="${CDEPEND}
- virtual/jre:1.8"
-
-DOCS=( LICENSE NOTICE README.adoc )
-
-S="${WORKDIR}/apache-ivy-${PV}"
-
-JAVA_GENTOO_CLASSPATH="ant-core,bcpg,bcprov,httpcomponents-client-4,commons-vfs-2,httpcore,jakarta-oro-2.0,jsch,jsch-agent-proxy"
-JAVA_MAIN_CLASS="org.apache.ivy.Main"
-JAVA_SRC_DIR="src/java"
-JAVA_RESOURCE_DIRS="resources/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="ant-junit,ant-junit4,ant-junitlauncher,ant-testutil,hamcrest-core-1.3,hamcrest-library-1.3,junit-4,xmlunit-1"
-JAVA_TEST_SRC_DIR="test-src/java"
-JAVA_TEST_RESOURCE_DIRS="test"
-JAVA_GENTOO_CLASSPATH_EXTRA="ant-ivy.jar:test.jar:custom-resolver.jar"
-
-# according to 57,60 build-release.xml
-# https://github.com/apache/ant-ivy/commit/c0c8df492d2312c983f50cfdc5841e18177f6f7b
-JAVA_TEST_EXTRA_ARGS="-Divy.cache.ttl.default=1s -Dskip.download=true -Divy.home=/tmp -D/offline=true"
-
-# Several tests require a certain treatment to "generate-bundles":
-# https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L426-L428
-# <ant dir="${basedir}/test/test-repo" target="generate-bundles"/>
-#
-# The procedure is coded in https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/test/test-repo/build.xml#L19-L71
-# but appears too difficult to be reprodused with 'java-pkg-simple.eclass'.
-# So the failing tests will be excluded, saved for a later attempt.
-#
-# Not excluding any test classes results in "Tests run: 1109, Failures: 98"
-# Excluding those test classes listed below leads to "OK (812 tests)"
-JAVA_TEST_EXCLUDES=(
- # https://github.com/apache/ant-ivy/blob/083e3f685c1fe29092e59c63b87e81d31fc9babe/build.properties#L56
- # test.class.pattern = *Test
- "org.apache.ivy.ant.testutil.AntTaskTestCase" # not in scope
- "org.apache.ivy.core.TestPerformance" # not in scope
- "org.apache.ivy.util.TestXmlHelper" # not in scope
- "org.apache.ivy.TestFixture" # not in scope
- "org.apache.ivy.TestHelper" # not in scope
- # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L412-L420
- # <exclude name="**/Abstract*Test.java"/>
- "org.apache.ivy.util.url.AbstractURLHandlerTest"
- "org.apache.ivy.plugins.resolver.AbstractDependencyResolverTest"
- "org.apache.ivy.plugins.matcher.AbstractPatternMatcherTest"
- # following excluded tests cause test failures
- "org.apache.ivy.ant.BuildOBRTaskTest" # Tests run: 3, Failures: 2
- "org.apache.ivy.core.deliver.DeliverTest" # Tests run: 1, Failures: 1
- "org.apache.ivy.core.module.descriptor.IvyMakePomTest" # Tests run: 1, Failures: 1
- "org.apache.ivy.core.settings.XmlSettingsParserTest" # Tests run: 29, Failures: 1
- "org.apache.ivy.osgi.core.AggregatedOSGiResolverTest" # Tests run: 3, Failures: 1
- "org.apache.ivy.osgi.obr.OBRResolverTest" # Tests run: 16, Failures: 16
- "org.apache.ivy.osgi.repo.BundleRepoTest" # Tests run: 4, Failures: 3
- "org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParserTest" # Tests run: 46, Failures: 1
- "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParserTest" # Tests run: 44, Failures: 7
- "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriterTest" # Tests run: 10, Failures: 1
- "org.apache.ivy.plugins.parser.xml.XmlModuleUpdaterTest" # Tests run: 14, Failures: 3
- "org.apache.ivy.plugins.resolver.JarResolverTest" # Tests run: 3, Failures: 3
- # following excluded tests can pass if run individually
- "org.apache.ivy.ant.IvyConfigureTest" # OK (14 tests)
- "org.apache.ivy.IvyTest" # OK (1 test)
- "org.apache.ivy.MainTest" # OK (12 tests)
- "org.apache.ivy.plugins.report.XmlReportWriterTest" # OK (3 tests)
- "org.apache.ivy.plugins.resolver.BintrayResolverTest" # OK (12 tests)
- "org.apache.ivy.plugins.resolver.ChainResolverTest" # OK (15 tests)
- "org.apache.ivy.plugins.resolver.FileSystemResolverTest" # OK (27 tests)
- "org.apache.ivy.plugins.resolver.IBiblioMavenSnapshotsResolutionTest" # OK (1 test)
- "org.apache.ivy.plugins.resolver.IvyRepResolverTest" # OK (3 tests)
- "org.apache.ivy.plugins.resolver.Maven2LocalTest" # OK (2 tests)
- "org.apache.ivy.plugins.resolver.PackagerResolverTest" # OK (3 tests)
- "org.apache.ivy.plugins.resolver.URLResolverTest" # OK (5 tests)
- "org.apache.ivy.plugins.trigger.LogTriggerTest" # OK (3 tests)
- # Without PROPERTIES="test_network", the following test cause additional failures.
- "org.apache.ivy.core.settings.OnlineXmlSettingsParserTest"
-# "org.apache.ivy.osgi.updatesite.UpdateSiteAndIbiblioResolverTest"
- "org.apache.ivy.osgi.updatesite.UpdateSiteLoaderTest"
-# "org.apache.ivy.plugins.resolver.IBiblioResolverTest"
-# "org.apache.ivy.plugins.resolver.MirroredURLResolverTest"
- "org.apache.ivy.util.url.ArtifactoryListingTest"
-# "org.apache.ivy.util.url.BasicURLHandlerTest"
-# "org.apache.ivy.util.url.HttpclientURLHandlerTest"
-)
-
-src_prepare() {
- default
-
- mkdir --parents "${JAVA_RESOURCE_DIRS}/META-INF" || die
- pushd "${JAVA_RESOURCE_DIRS}"
- cp "${S}"/{NOTICE,LICENSE} META-INF/ || die
- cp -r "${S}"/src/java/* . || die
-
- # DEPRECATED: 'ivyconf' element is deprecated, use 'ivysettings' instead
- # according to 210,221 build.xml and still in the upstream .jar file
- cp org/apache/ivy/core/settings/ivy{settings,conf}-local.xml || die
- cp org/apache/ivy/core/settings/ivy{settings,conf}-default-chain.xml || die
- cp org/apache/ivy/core/settings/ivy{settings,conf}-main-chain.xml || die
- cp org/apache/ivy/core/settings/ivy{settings,conf}-public.xml || die
- cp org/apache/ivy/core/settings/ivy{settings,conf}-shared.xml || die
- cp org/apache/ivy/core/settings/ivy{settings,conf}.xml || die
-
- find . -type f -name '*.java' -exec rm -rf {} + || die
- popd || die
-}
-
-src_test() {
- # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L396-L407
- # name="build-custom-resolver-jar"
- JAVA_SRC_DIR="test/custom-classpath"
- JAVA_JAR_FILENAME="test/java/org/apache/ivy/core/settings/custom-resolver.jar"
- java-pkg-simple_src_compile
-
- # Without "license.xml" the tests won't even start. "Tests run: 1109, Failures: 318"
- jar -cf test.jar \
- -C test/java org/apache/ivy/plugins/parser/xml/license.xml \
- -C test/java org/apache/ivy/plugins/parser/m2/license.xml || die
-
- # Reduce number of failures to "Tests run: 1109, Failures: 98"
- jar -uf "test.jar" -C test/java . || die
-
- # Separate *.java files from test resources
- # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L389-L393
- mkdir test-src || die
- cp -r test/java test-src/ || die
- find test -type f -name '*.java' -exec rm -rf {} + || die
-
- # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L430-L438
- # name="prepare-test-jar-repositories"
- mkdir test/jar-repos || die
- jar -cfM "test/jar-repos/jarrepo1.jar" -C test/repositories/1 . || die
-# jar -cfM "test/jar-repos/jarrepo1_subdir.jar" -C test/repositories 1/**/*/ || die
-
- java-pkg-simple_src_test
-}
-
-src_install() {
- default
- java-osgi_dojar-fromfile "ant-ivy.jar" "META-INF/MANIFEST.MF" "ant-ivy"
- use doc && java-pkg_dojavadoc target/api
- use source && java-pkg_dosrc src/*
-}
diff --git a/dev-java/ant-ivy/ant-ivy-2.5.0-r2.ebuild b/dev-java/ant-ivy/ant-ivy-2.5.0-r2.ebuild
new file mode 100644
index 000000000000..0158c70768f5
--- /dev/null
+++ b/dev-java/ant-ivy/ant-ivy-2.5.0-r2.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.ivy:ivy:2.5.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple java-osgi
+
+DESCRIPTION="Ivy is a free java based dependency manager"
+HOMEPAGE="https://ant.apache.org/ivy/"
+SRC_URI="https://archive.apache.org/dist/ant/ivy/${PV}/apache-ivy-${PV}-src.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ppc64 x86"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+
+CDEPEND="
+ >=dev-java/ant-1.10.14-r3:0
+ dev-java/bcpg:0
+ dev-java/bcprov:0
+ dev-java/httpcomponents-client
+ dev-java/commons-vfs:2
+ dev-java/httpcore:0
+ dev-java/jakarta-oro:2.0
+ dev-java/jsch:0
+ dev-java/jsch-agent-proxy:0
+ test? (
+ >=dev-java/ant-1.10.14-r3:0[junit,junit4,junitlauncher,testutil]
+ dev-java/hamcrest-core:1.3
+ dev-java/hamcrest-library:1.3
+ dev-java/xmlunit:1
+ )"
+
+# Restrict to jdk:1.8 since java.util.jar.Pack200 was removed.
+DEPEND="${CDEPEND}
+ virtual/jdk:1.8"
+RDEPEND="${CDEPEND}
+ virtual/jre:1.8"
+
+DOCS=( LICENSE NOTICE README.adoc )
+
+S="${WORKDIR}/apache-ivy-${PV}"
+
+JAVA_GENTOO_CLASSPATH="
+ ant
+ bcpg
+ bcprov
+ httpcomponents-client-4
+ commons-vfs-2
+ httpcore
+ jakarta-oro-2.0
+ jsch
+ jsch-agent-proxy
+"
+JAVA_MAIN_CLASS="org.apache.ivy.Main"
+JAVA_SRC_DIR="src/java"
+JAVA_RESOURCE_DIRS="resources/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ ant
+ hamcrest-core-1.3
+ hamcrest-library-1.3
+ junit-4
+ xmlunit-1
+"
+JAVA_TEST_SRC_DIR="test-src/java"
+JAVA_TEST_RESOURCE_DIRS="test"
+JAVA_GENTOO_CLASSPATH_EXTRA="ant-ivy.jar:test.jar:custom-resolver.jar"
+
+# according to 57,60 build-release.xml
+# https://github.com/apache/ant-ivy/commit/c0c8df492d2312c983f50cfdc5841e18177f6f7b
+JAVA_TEST_EXTRA_ARGS="-Divy.cache.ttl.default=1s -Dskip.download=true -Divy.home=/tmp -D/offline=true"
+
+# Several tests require a certain treatment to "generate-bundles":
+# https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L426-L428
+# <ant dir="${basedir}/test/test-repo" target="generate-bundles"/>
+#
+# The procedure is coded in https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/test/test-repo/build.xml#L19-L71
+# but appears too difficult to be reprodused with 'java-pkg-simple.eclass'.
+# So the failing tests will be excluded, saved for a later attempt.
+#
+# Not excluding any test classes results in "Tests run: 1109, Failures: 98"
+# Excluding those test classes listed below leads to "OK (812 tests)"
+JAVA_TEST_EXCLUDES=(
+ # https://github.com/apache/ant-ivy/blob/083e3f685c1fe29092e59c63b87e81d31fc9babe/build.properties#L56
+ # test.class.pattern = *Test
+ "org.apache.ivy.ant.testutil.AntTaskTestCase" # not in scope
+ "org.apache.ivy.core.TestPerformance" # not in scope
+ "org.apache.ivy.util.TestXmlHelper" # not in scope
+ "org.apache.ivy.TestFixture" # not in scope
+ "org.apache.ivy.TestHelper" # not in scope
+ # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L412-L420
+ # <exclude name="**/Abstract*Test.java"/>
+ "org.apache.ivy.util.url.AbstractURLHandlerTest"
+ "org.apache.ivy.plugins.resolver.AbstractDependencyResolverTest"
+ "org.apache.ivy.plugins.matcher.AbstractPatternMatcherTest"
+ # following excluded tests cause test failures
+ "org.apache.ivy.ant.BuildOBRTaskTest" # Tests run: 3, Failures: 2
+ "org.apache.ivy.core.deliver.DeliverTest" # Tests run: 1, Failures: 1
+ "org.apache.ivy.core.module.descriptor.IvyMakePomTest" # Tests run: 1, Failures: 1
+ "org.apache.ivy.core.settings.XmlSettingsParserTest" # Tests run: 29, Failures: 1
+ "org.apache.ivy.osgi.core.AggregatedOSGiResolverTest" # Tests run: 3, Failures: 1
+ "org.apache.ivy.osgi.obr.OBRResolverTest" # Tests run: 16, Failures: 16
+ "org.apache.ivy.osgi.repo.BundleRepoTest" # Tests run: 4, Failures: 3
+ "org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParserTest" # Tests run: 46, Failures: 1
+ "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParserTest" # Tests run: 44, Failures: 7
+ "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriterTest" # Tests run: 10, Failures: 1
+ "org.apache.ivy.plugins.parser.xml.XmlModuleUpdaterTest" # Tests run: 14, Failures: 3
+ "org.apache.ivy.plugins.resolver.JarResolverTest" # Tests run: 3, Failures: 3
+ # following excluded tests can pass if run individually
+ "org.apache.ivy.ant.IvyConfigureTest" # OK (14 tests)
+ "org.apache.ivy.IvyTest" # OK (1 test)
+ "org.apache.ivy.MainTest" # OK (12 tests)
+ "org.apache.ivy.plugins.report.XmlReportWriterTest" # OK (3 tests)
+ "org.apache.ivy.plugins.resolver.BintrayResolverTest" # OK (12 tests)
+ "org.apache.ivy.plugins.resolver.ChainResolverTest" # OK (15 tests)
+ "org.apache.ivy.plugins.resolver.FileSystemResolverTest" # OK (27 tests)
+ "org.apache.ivy.plugins.resolver.IBiblioMavenSnapshotsResolutionTest" # OK (1 test)
+ "org.apache.ivy.plugins.resolver.IvyRepResolverTest" # OK (3 tests)
+ "org.apache.ivy.plugins.resolver.Maven2LocalTest" # OK (2 tests)
+ "org.apache.ivy.plugins.resolver.PackagerResolverTest" # OK (3 tests)
+ "org.apache.ivy.plugins.resolver.URLResolverTest" # OK (5 tests)
+ "org.apache.ivy.plugins.trigger.LogTriggerTest" # OK (3 tests)
+ # Without PROPERTIES="test_network", the following test cause additional failures.
+ "org.apache.ivy.core.settings.OnlineXmlSettingsParserTest"
+# "org.apache.ivy.osgi.updatesite.UpdateSiteAndIbiblioResolverTest"
+ "org.apache.ivy.osgi.updatesite.UpdateSiteLoaderTest"
+# "org.apache.ivy.plugins.resolver.IBiblioResolverTest"
+# "org.apache.ivy.plugins.resolver.MirroredURLResolverTest"
+ "org.apache.ivy.util.url.ArtifactoryListingTest"
+# "org.apache.ivy.util.url.BasicURLHandlerTest"
+# "org.apache.ivy.util.url.HttpclientURLHandlerTest"
+)
+
+src_prepare() {
+ default
+
+ mkdir --parents "${JAVA_RESOURCE_DIRS}/META-INF" || die
+ pushd "${JAVA_RESOURCE_DIRS}"
+ cp "${S}"/{NOTICE,LICENSE} META-INF/ || die
+ cp -r "${S}"/src/java/* . || die
+
+ # DEPRECATED: 'ivyconf' element is deprecated, use 'ivysettings' instead
+ # according to 210,221 build.xml and still in the upstream .jar file
+ cp org/apache/ivy/core/settings/ivy{settings,conf}-local.xml || die
+ cp org/apache/ivy/core/settings/ivy{settings,conf}-default-chain.xml || die
+ cp org/apache/ivy/core/settings/ivy{settings,conf}-main-chain.xml || die
+ cp org/apache/ivy/core/settings/ivy{settings,conf}-public.xml || die
+ cp org/apache/ivy/core/settings/ivy{settings,conf}-shared.xml || die
+ cp org/apache/ivy/core/settings/ivy{settings,conf}.xml || die
+
+ find . -type f -name '*.java' -exec rm -rf {} + || die
+ popd || die
+}
+
+src_test() {
+ # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L396-L407
+ # name="build-custom-resolver-jar"
+ JAVA_SRC_DIR="test/custom-classpath"
+ JAVA_JAR_FILENAME="test/java/org/apache/ivy/core/settings/custom-resolver.jar"
+ java-pkg-simple_src_compile
+
+ # Without "license.xml" the tests won't even start. "Tests run: 1109, Failures: 318"
+ jar -cf test.jar \
+ -C test/java org/apache/ivy/plugins/parser/xml/license.xml \
+ -C test/java org/apache/ivy/plugins/parser/m2/license.xml || die
+
+ # Reduce number of failures to "Tests run: 1109, Failures: 98"
+ jar -uf "test.jar" -C test/java . || die
+
+ # Separate *.java files from test resources
+ # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L389-L393
+ mkdir test-src || die
+ cp -r test/java test-src/ || die
+ find test -type f -name '*.java' -exec rm -rf {} + || die
+
+ # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L430-L438
+ # name="prepare-test-jar-repositories"
+ mkdir test/jar-repos || die
+ jar -cfM "test/jar-repos/jarrepo1.jar" -C test/repositories/1 . || die
+# jar -cfM "test/jar-repos/jarrepo1_subdir.jar" -C test/repositories 1/**/*/ || die
+
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ default
+ java-osgi_dojar-fromfile "ant-ivy.jar" "META-INF/MANIFEST.MF" "ant-ivy"
+ use doc && java-pkg_dojavadoc target/api
+ use source && java-pkg_dosrc src/*
+}
diff --git a/dev-java/ant-ivy/metadata.xml b/dev-java/ant-ivy/metadata.xml
index 91e2ba1cf10c..84db44eaed66 100644
--- a/dev-java/ant-ivy/metadata.xml
+++ b/dev-java/ant-ivy/metadata.xml
@@ -16,7 +16,7 @@
</longdescription>
<upstream>
<remote-id type="github">apache/ant-ivy</remote-id>
- <doc>https://ant.apache.org/ivy/history/2.5.0</doc>
- <bugs-to>https://issues.apache.org/jira/browse/IVY </bugs-to>
+ <doc>https://ant.apache.org/ivy/history/2.5.0/</doc>
+ <bugs-to>https://issues.apache.org/jira/browse/IVY</bugs-to>
</upstream>
</pkgmetadata>
diff --git a/dev-java/ant-jai/Manifest b/dev-java/ant-jai/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-jai/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-jai/ant-jai-1.10.9.ebuild b/dev-java/ant-jai/ant-jai-1.10.9.ebuild
deleted file mode 100644
index 3a2873b650bb..000000000000
--- a/dev-java/ant-jai/ant-jai-1.10.9.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="sun-jai-bin"
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86"
-
-# Unmigrated, has textrels and there's also some source one now too.
-DEPEND=">=dev-java/sun-jai-bin-1.1.2.01-r1"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-jai/metadata.xml b/dev-java/ant-jai/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-jai/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-javamail/Manifest b/dev-java/ant-javamail/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-javamail/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-javamail/ant-javamail-1.10.9-r1.ebuild b/dev-java/ant-javamail/ant-javamail-1.10.9-r1.ebuild
deleted file mode 100644
index b48933c6f765..000000000000
--- a/dev-java/ant-javamail/ant-javamail-1.10.9-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME=( "gnu-jaf-1" "javax-mail" )
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# needs some classes from javax.activation.* which are not in jdk 11
-DEPEND="virtual/jdk:1.8
- dev-java/gnu-jaf:1
- dev-java/javax-mail:0"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-javamail/metadata.xml b/dev-java/ant-javamail/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-javamail/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-jdepend/Manifest b/dev-java/ant-jdepend/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-jdepend/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-jdepend/ant-jdepend-1.10.9.ebuild b/dev-java/ant-jdepend/ant-jdepend-1.10.9.ebuild
deleted file mode 100644
index 7f521961431b..000000000000
--- a/dev-java/ant-jdepend/ant-jdepend-1.10.9.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND=">=dev-java/jdepend-2.9-r2:0"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-jdepend/metadata.xml b/dev-java/ant-jdepend/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-jdepend/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-jmf/Manifest b/dev-java/ant-jmf/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-jmf/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-jmf/ant-jmf-1.10.9.ebuild b/dev-java/ant-jmf/ant-jmf-1.10.9.ebuild
deleted file mode 100644
index 279b33742d1e..000000000000
--- a/dev-java/ant-jmf/ant-jmf-1.10.9.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-# Seems we don't need to depend on jmf-bin, the classes ant imports are in J2SE
-# API since version 1.3.
-ANT_TASK_DEPNAME=""
-
-inherit ant-tasks
-
-DESCRIPTION="Apache Ant's optional tasks for the Java Media Framework (JMF)"
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
diff --git a/dev-java/ant-jmf/metadata.xml b/dev-java/ant-jmf/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-jmf/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-jsch/Manifest b/dev-java/ant-jsch/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-jsch/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-jsch/ant-jsch-1.10.9.ebuild b/dev-java/ant-jsch/ant-jsch-1.10.9.ebuild
deleted file mode 100644
index 5ba0611ed55b..000000000000
--- a/dev-java/ant-jsch/ant-jsch-1.10.9.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND=">=dev-java/jsch-0.1.37:0"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-jsch/metadata.xml b/dev-java/ant-jsch/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-jsch/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-junit/Manifest b/dev-java/ant-junit/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-junit/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-junit/ant-junit-1.10.9.ebuild b/dev-java/ant-junit/ant-junit-1.10.9.ebuild
deleted file mode 100644
index 4e1f18fac3fc..000000000000
--- a/dev-java/ant-junit/ant-junit-1.10.9.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND="
- dev-java/junit:0
- dev-java/junit:4
-"
-RDEPEND="${DEPEND}"
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-EANT_GENTOO_CLASSPATH="junit-4"
-
-src_compile() {
- eant jar-junit
-}
diff --git a/dev-java/ant-junit/metadata.xml b/dev-java/ant-junit/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-junit/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-junit4/Manifest b/dev-java/ant-junit4/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-junit4/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-junit4/ant-junit4-1.10.9.ebuild b/dev-java/ant-junit4/ant-junit4-1.10.9.ebuild
deleted file mode 100644
index 9eef99a67149..000000000000
--- a/dev-java/ant-junit4/ant-junit4-1.10.9.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="junit-4"
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="dev-java/junit:4
- ~dev-java/ant-junit-${PV}"
-
-RDEPEND="${DEPEND}"
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-EANT_GENTOO_CLASSPATH="junit-4,ant-junit"
-
-src_prepare() {
- default
-
- java-pkg_jar-from --build-only --into "${S}/lib" ant-junit
-}
-
-src_install() {
- # No registration as ant-task, would be loaded together with ant-junit.
- java-pkg_dojar build/lib/ant-junit4.jar
-
- # As we dont't want to depend on and-junit in package.env, because it depends
- # on junit:0. Instead, we "steal" its jar and record it to our package.env as
- # if it belongs to this package's classpath.
- java-pkg_getjar --build-only ant-junit ant-junit.jar
- java-pkg_regjar $(java-pkg_getjar --build-only ant-junit ant-junit.jar)
-}
diff --git a/dev-java/ant-junit4/metadata.xml b/dev-java/ant-junit4/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-junit4/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-junitlauncher/Manifest b/dev-java/ant-junitlauncher/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-junitlauncher/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-junitlauncher/ant-junitlauncher-1.10.9.ebuild b/dev-java/ant-junitlauncher/ant-junitlauncher-1.10.9.ebuild
deleted file mode 100644
index 678678ee3bb9..000000000000
--- a/dev-java/ant-junitlauncher/ant-junitlauncher-1.10.9.ebuild
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME=""
-
-inherit ant-tasks
-
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
diff --git a/dev-java/ant-junitlauncher/metadata.xml b/dev-java/ant-junitlauncher/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-junitlauncher/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-swing/Manifest b/dev-java/ant-swing/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-swing/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-swing/ant-swing-1.10.9.ebuild b/dev-java/ant-swing/ant-swing-1.10.9.ebuild
deleted file mode 100644
index c5ca8815b298..000000000000
--- a/dev-java/ant-swing/ant-swing-1.10.9.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-# No extra dependencies are needed.
-ANT_TASK_DEPNAME=""
-
-inherit ant-tasks
-
-DESCRIPTION="Apache Ant's optional tasks for Swing"
-
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
diff --git a/dev-java/ant-swing/metadata.xml b/dev-java/ant-swing/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-swing/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-testutil/Manifest b/dev-java/ant-testutil/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-testutil/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-testutil/ant-testutil-1.10.9.ebuild b/dev-java/ant-testutil/ant-testutil-1.10.9.ebuild
deleted file mode 100644
index f9e728d3b51d..000000000000
--- a/dev-java/ant-testutil/ant-testutil-1.10.9.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-
-inherit ant-tasks
-
-DESCRIPTION="Apache Ant's optional test utility classes"
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-CDEPEND="dev-java/ant-core:0"
-
-DEPEND="${CDEPEND}
- >=virtual/jdk-1.8
- >=dev-java/junit-4.11:4
- ~dev-java/ant-swing-${PV}
- ~dev-java/ant-junit4-${PV}
- ~dev-java/ant-junitlauncher-${PV}"
-
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8"
-
-# The build system builds much more than it actually packages, so there are many
-# build-only deps, but since those are quite common, it wasn't worth to patch it.
-
-src_unpack() {
- ant-tasks_src_unpack base
- java-pkg_jar-from --build-only junit-4,ant-junit4,ant-junitlauncher,ant-swing
- java-pkg_jar-from --build-only ant-core ant-launcher.jar
-}
-
-src_compile() {
- eant test-jar
-}
diff --git a/dev-java/ant-testutil/metadata.xml b/dev-java/ant-testutil/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-testutil/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant-xz/Manifest b/dev-java/ant-xz/Manifest
deleted file mode 100644
index dccd735d44ed..000000000000
--- a/dev-java/ant-xz/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b
-DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4
diff --git a/dev-java/ant-xz/ant-xz-1.10.9.ebuild b/dev-java/ant-xz/ant-xz-1.10.9.ebuild
deleted file mode 100644
index 5cf55ddc8731..000000000000
--- a/dev-java/ant-xz/ant-xz-1.10.9.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ANT_TASK_JDKVER=1.8
-ANT_TASK_JREVER=1.8
-ANT_TASK_DEPNAME="xz-java"
-
-inherit ant-tasks
-
-DESCRIPTION="Apache Ant's optional tasks for XZ compression"
-
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND="dev-java/xz-java"
-RDEPEND="${DEPEND}"
diff --git a/dev-java/ant-xz/metadata.xml b/dev-java/ant-xz/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/ant-xz/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/ant/Manifest b/dev-java/ant/Manifest
new file mode 100644
index 000000000000..4fdf2d20cd0a
--- /dev/null
+++ b/dev-java/ant/Manifest
@@ -0,0 +1,2 @@
+DIST apache-ant-1.10.14-src.tar.xz 3779488 BLAKE2B 40091c208c795d03b8f34656594cbf6c414f345cdacf637ece89a19a3ab0373cd8d65c342e0c4603569f9120f8f99a0b2eae8df874e6183649b39d7b88c614b8 SHA512 52936dfceb808a11dc842d2dc957a031508689270b59a2a6e3589f40465f6fa1aae87b189737cdd83eadfaf41b0c3f1ba2579bbd07591153107a5a27422521bd
+DIST apache-ant-1.10.14-src.tar.xz.asc 833 BLAKE2B 4f8b1bb8bbd6d77b6e9eedf86818d42bb448e1b394e00590163e96967e36fe8e8e73e3f4fbf3b5bd1dab51cf69a39b99409bd8604cb7695cd6ae875ff13344a9 SHA512 2b91eda436210247ba39b82ba8aa1859051cf9baaf8ac8b551052e7986aeaa03c8b594347b8a734e08d12d8e270e29bf89b814562550a418abd0d2393ad4ac66
diff --git a/dev-java/ant/ant-1.10.14-r3.ebuild b/dev-java/ant/ant-1.10.14-r3.ebuild
new file mode 100644
index 000000000000..e0ad3fce1fed
--- /dev/null
+++ b/dev-java/ant/ant-1.10.14-r3.ebuild
@@ -0,0 +1,395 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ org.apache.ant:ant:${PV}
+ org.apache.ant:ant-launcher:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig prefix
+
+DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files"
+HOMEPAGE="https://ant.apache.org/"
+SRC_URI="mirror://apache/ant/source/apache-${P}-src.tar.xz
+ verify-sig? ( https://downloads.apache.org/ant/source/apache-${P}-src.tar.xz.asc )"
+S="${WORKDIR}/apache-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="antlr bcel bsf commonslogging commonsnet imageio jai jakartamail javamail jdepend
+ jmf jsch junit junit4 junitlauncher log4j oro regexp resolver swing testutil xalan xz"
+
+# At least 10 test cases would fail without network
+PROPERTIES="test_network"
+RESTRICT="test"
+
+REQUIRED_USE="
+ junit4? ( junit )
+ test? ( bsf )
+ testutil? ( junit )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/ant.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-ant )"
+# jdk-11:* because it needs java/util/spi/ToolProvider, available since Java 9.
+DEPEND="
+ >=virtual/jdk-11:*
+ bcel? ( dev-java/bcel:0 )
+ bsf? ( dev-java/bsf:2.3 )
+ commonslogging? ( dev-java/commons-logging:0 )
+ commonsnet? ( dev-java/commons-net:0 )
+ jai? ( dev-java/sun-jai-bin:0 )
+ jakartamail? ( dev-java/jakarta-mail:0 )
+ javamail? (
+ dev-java/jakarta-activation-api:1
+ dev-java/javax-mail:0
+ )
+ jdepend? ( >=dev-java/jdepend-2.10-r1:0 )
+ jsch? ( dev-java/jsch:0 )
+ junit4? ( dev-java/junit:4 )
+ junit? ( dev-java/junit:4 )
+ junitlauncher? ( dev-java/junit:5[vintage] )
+ log4j? ( dev-java/log4j-12-api:2 )
+ oro? ( dev-java/jakarta-oro:2.0 )
+ regexp? ( dev-java/jakarta-regexp:1.4 )
+ resolver? ( dev-java/xml-commons-resolver:0 )
+ test? (
+ dev-java/antunit:0
+ dev-java/bsf:2.3[javascript]
+ dev-java/bsh:0
+ dev-java/hamcrest-library:1.3
+ dev-java/xerces:2
+ )
+ xalan? (
+ dev-java/xalan:0
+ dev-java/xalan-serializer:0
+ )
+ xz? ( dev-java/xz-java:0 )
+"
+RDEPEND="
+ !dev-java/ant-apache-regexp
+ !dev-java/ant-apache-log4j
+ !dev-java/ant-apache-xalan2
+ !dev-java/ant-commons-logging
+ !<dev-java/ant-core-1.10.14
+ !dev-java/ant-swing
+ !dev-java/ant-junit4
+ !dev-java/ant-testutil
+ !dev-java/ant-junitlauncher
+ !dev-java/ant-jai
+ !dev-java/ant-commons-net
+ !dev-java/ant-apache-bsf
+ !dev-java/ant-jmf
+ !dev-java/ant-apache-oro
+ !dev-java/ant-javamail
+ !dev-java/ant-junit
+ !dev-java/ant-jdepend
+ !dev-java/ant-antlr
+ !dev-java/ant-apache-bcel
+ !dev-java/ant-apache-resolver
+ !dev-java/ant-jsch
+ !dev-java/ant-xz
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( CONTRIBUTORS INSTALL NOTICE README WHATSNEW )
+PATCHES=(
+ "${FILESDIR}/1.10.9-launch.patch" # reusing this patch since the script has not changed
+ "${FILESDIR}/ant-1.10.14-AntlibTest.patch" # skips 1 of 6 tests
+ "${FILESDIR}/ant-1.10.14-AntTest.patch" # skips 1 of 32 tests
+ "${FILESDIR}/ant-1.10.14-JavaTest.patch" # skips 12 of 38 tests
+ "${FILESDIR}/ant-1.10.14-LinkTest.patch" # skips 4 of 67 tests
+ "${FILESDIR}/ant-1.10.14-PathTest.patch" # skips 1 of 33 tests
+)
+
+JAVADOC_SRC_DIRS=(
+ ant
+ ant-launcher/src/main
+)
+JAVA_TEST_GENTOO_CLASSPATH="
+ bsh
+ hamcrest-library-1.3
+ junit-4
+ xerces-2
+"
+JAVA_TEST_RESOURCE_DIRS=(
+ "src/etc/testcases"
+ "src/main"
+)
+JAVA_TEST_SRC_DIR="src/tests/junit"
+
+# $1 ant-apache-bsf (source directory)
+# $2 bsf-2.3 (classpath of external dependency)
+taskdeps() {
+ if [[ ${task} == $1 ]]; then
+ JAVA_CLASSPATH_EXTRA="${2}"
+ JAVADOC_CLASSPATH+=" ${2}"
+ JAVADOC_SRC_DIRS+=( "${task}/src/main" )
+ JAVA_RESOURCE_DIRS="${3}"
+ fi
+}
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./src/etc/*" # keep test resources
+
+ eprefixify "src/script/ant"
+
+ ANT_TASKS=(
+ $(use antlr && echo ant-antlr) # no dependencies
+ $(use bcel && echo ant-apache-bcel)
+ $(use bsf && echo ant-apache-bsf) # REQUIRED_USE for tests
+ $(use log4j && echo ant-apache-log4j)
+ $(use oro && echo ant-apache-oro) # ORO is retired - replace with java.util.regex?
+ $(use regexp && echo ant-apache-regexp)
+ $(use resolver && echo ant-apache-resolver)
+ $(use xalan && echo ant-apache-xalan2)
+ $(use commonslogging && echo ant-commons-logging)
+ $(use commonsnet && echo ant-commons-net)
+ $(use imageio && echo ant-imageio) # no dependencies
+ $(use jai && echo ant-jai)
+ $(use jakartamail && echo ant-jakartamail)
+ $(use javamail && echo ant-javamail)
+ $(use jdepend && echo ant-jdepend)
+ $(use jmf && echo ant-jmf) # no dependencies
+ $(use jsch && echo ant-jsch)
+ $(use junit && echo ant-junit) # REQUIRED_USE for junit4 and for testutil
+ $(use junit4 && echo ant-junit4)
+ $(use junitlauncher && echo ant-junitlauncher)
+ # depends on "com.ibm.netrexx:netrexx:2.0.5" which is
+ # available on https://www.netrexx.org/downloads.nsp and states:
+ # "IBM's last NetRexx release, suitable for JVM versions 1.5 and below [...]"
+ # $(use netrexx && echo ant-netrexx) # src/etc/poms/ant-netrexx/pom.xml
+ $(use swing && echo ant-swing) # no dependencies
+ $(use testutil && echo ant-testutil)
+ $(use xz && echo ant-xz)
+ )
+
+ # defaultManifest.mf
+ sed -e "s:\${project.version}:${PV}:" \
+ -i src/main/org/apache/tools/ant/defaultManifest.mf || die
+
+ # version.txt
+ local mydate="$(date '+%B %d %Y')"
+ echo "VERSION=${PV}" > src/main/org/apache/tools/ant/version.txt || die
+ echo "DATE=${mydate}" >> src/main/org/apache/tools/ant/version.txt || die
+
+ # src directory for ant.jar
+ mkdir ant || die "cannot create src directory for ant"
+ cp -r {src/main/,ant}/org || die "cannot copy ant sources"
+
+ # resources directory for ant.jar according to lines 317-325 src/etc/poms/ant/pom.xml
+ local INCLUDES=( $(
+ sed -n '/<resources>/,/<\/resources>/p' \
+ src/etc/poms/ant/pom.xml \
+ | grep org \
+ | sed -e 's:.*<include>\(.*\)</include>:\1:' || die
+ ))
+ cp -r {src/,ant}/resources || die "cannot copy ant resources"
+ pushd src/main > /dev/null || die "pushd src/main"
+ cp --parents -v "${INCLUDES[@]}" ../../ant/resources || die "CANNOT"
+ popd > /dev/null || die "popd"
+
+ # Remove sources according to lines 158-187 src/etc/poms/ant/pom.xml
+ # We don't remove anything from src/main/org
+ local EXCLUDES=$(
+ sed -n '/<excludes>/,/<\/excludes/p' \
+ src/etc/poms/ant/pom.xml \
+ | grep org \
+ | sed -e 's:<exclude>\(.*\)</exclude>:ant/\1:' || die
+ )
+ rm -r ${EXCLUDES} || die
+ # Remove one more file directly, could not get it with sed.
+ rm ant/org/apache/tools/ant/taskdefs/optional/ANTLR.java || die
+
+ # Same handling for everything between <testExcludes> </testExcludes>
+ # Removing non-existing files is not possible: We ignore them ( grep -v ).
+ local TEST_EXCLUDES=$(
+ sed -n '/<testExcludes>/,/<\/testExcludes/p' \
+ src/etc/poms/ant/pom.xml \
+ | grep org \
+ | grep -v CommonsLoggingListener \
+ | grep -v Log4jListener \
+ | sed -e 's:<exclude>\(.*\)</exclude>:src/tests/junit/\1:' || die
+ )
+ rm -r ${TEST_EXCLUDES} || die
+
+ # Prepare a separate JAVA_SRC_DIR directory for each jar file to be created.
+ einfo "Copy source files of ant-tasks"
+ local task
+ for task in ant-launcher "${ANT_TASKS[@]}"; do
+ # "${task}/src/main" will be JAVA_SRC_DIR
+ mkdir -p "${task}/src/main" || die "mkdir ${task}"
+ # Read from pom.xml the file names which can still contain wildcards
+ local INCLUDES=( $(
+ sed -n '/<includes>/,/<\/includes>/p' "src/etc/poms/${task}/pom.xml" \
+ | grep org \
+ | sed -e 's:.*<include>\(.*\)</include>:\1:' || die
+ ))
+ local sourcefile
+ # Resolve wildcards in file names using find and copy the files to the corresponding
+ # "${task}"/src/main directory
+ # echo "${INCLUDES[@]}"
+ for sourcefile in "${INCLUDES[@]}"; do
+ # einfo "${task}: ${sourcefile}"
+ # Parameter substitution % to remove trailing slash from ${sourcefile}.
+ # Applies to ant-jdepend and ant-junitlauncher where find would otherwise fail.
+ find \
+ -path "./src/*/${sourcefile%/}" \
+ -exec cp -r --parents "{}" \
+ "${task}/src/main" \;
+ done
+ # tree "${task}"
+ done
+
+ # JAVA_RESOURCE_DIRS for ant-junit
+ mkdir -p ant-junit/src/resources/org/apache/tools/ant/taskdefs/optional/junit/xsl \
+ || die "junit resource dir"
+ cp src/etc/{junit-frames,junit-noframes,junit-frames-saxon,junit-noframes-saxon}.xsl \
+ ant-junit/src/resources/org/apache/tools/ant/taskdefs/optional/junit/xsl \
+ || die "junit resources"
+}
+
+src_compile() {
+ einfo "Compiling ant-launcher.jar"
+ JAVA_JAR_FILENAME="ant-launcher.jar"
+ JAVA_MAIN_CLASS="org.apache.tools.ant.launch.Launcher"
+ JAVA_SRC_DIR="ant-launcher/src/main"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":ant-launcher.jar"
+ rm -r target || die
+
+ einfo "Compiling ant.jar"
+ JAVA_JAR_FILENAME="ant.jar"
+ JAVA_LAUNCHER_FILENAME="ant"
+ JAVA_MAIN_CLASS="org.apache.tools.ant.Main"
+ JAVA_RESOURCE_DIRS="ant/resources"
+ JAVA_SRC_DIR="ant"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":ant.jar"
+ rm -r target || die
+
+ local task
+ for task in "${ANT_TASKS[@]}"; do
+ einfo "Compiling ${task}"
+ JAVA_JAR_FILENAME="${task}.jar"
+ JAVA_MAIN_CLASS=""
+ JAVA_RESOURCE_DIRS=""
+ JAVA_SRC_DIR=""
+
+ JAVA_SRC_DIR="${task}/src/main"
+ taskdeps ant-apache-bcel bcel
+ taskdeps ant-apache-bsf bsf-2.3
+ taskdeps ant-apache-log4j log4j-12-api-2
+ taskdeps ant-apache-oro jakarta-oro-2.0
+ taskdeps ant-apache-regexp jakarta-regexp-1.4
+ taskdeps ant-apache-resolver xml-commons-resolver
+ taskdeps ant-apache-xalan2 xalan
+ taskdeps ant-commons-logging commons-logging
+ taskdeps ant-commons-net commons-net
+ taskdeps ant-jai sun-jai-bin
+ taskdeps ant-jakartamail jakarta-mail
+ taskdeps ant-javamail 'javax-mail jakarta-activation-api-1'
+ taskdeps ant-jdepend jdepend
+ taskdeps ant-jsch jsch
+ taskdeps ant-junit junit-4 ant-junit/src/resources
+ taskdeps ant-junit4 junit-4
+ taskdeps ant-junitlauncher junit-5
+ # $(use netrexx && echo ant-netrexx)
+ taskdeps ant-xz xz-java
+
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${task}.jar"
+ rm -fr target || die
+ done
+ use doc && ejavadoc
+}
+
+src_test() {
+ # Avoid "--with-dependencies" as used by JAVA_TEST_GENTOO_CLASSPATH.
+ # dev-java/antunit has a circular dependency with dev-java/ant[test]
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only antunit)"
+ # according to line 115 src/etc/poms/ant/pom.xml
+ jar -cvf src/etc/testcases/org/apache/tools/ant/taskdefs/test2-antlib.jar \
+ -C src/etc/testcases taskdefs/test.antlib.xml || die "cannot test2-antlib.jar"
+
+ JAVA_TEST_EXCLUDES=(
+ # according to lines 1956-1964 build.xml (abstract classes, not testcases)
+ org.apache.tools.ant.taskdefs.TaskdefsTest
+ org.apache.tools.ant.BuildFileTest
+ org.apache.tools.ant.util.regexp.RegexpMatcherTest
+ org.apache.tools.ant.util.regexp.RegexpTest
+ org.apache.tools.ant.types.selectors.BaseSelectorTest
+ # according to line 1970 build.xml (helper classes, not testcases)
+ org.apache.tools.ant.TestHelper
+ # lines 2097-2102 build.xml (interactive tests)
+ org.apache.tools.ant.taskdefs.TestProcess # 1. No runnable methods
+ # 1) testAll(org.apache.tools.ant.taskdefs.InitializeClassTest)
+ # /var/tmp/portage/dev-java/ant-1.10.14/work/apache-ant-1.10.14/
+ # src/etc/testcases/taskdefs/initializeclass.xml:24: Java returned: 1
+ # <pathelement path="${build.tests.value}"/>
+ # <pathelement location="${java.home}/lib/classes.zip"/>
+ org.apache.tools.ant.taskdefs.InitializeClassTest # Tests run: 1, Failures: 1
+ )
+
+# tests with patches to be revisited
+# JAVA_TEST_RUN_ONLY=(
+# org.apache.tools.ant.taskdefs.AntlibTest # Tests run: 6, Failures: 1 test2-antlib.jar?
+# org.apache.tools.ant.taskdefs.AntTest # Tests run: 32, Failures: 1
+# org.apache.tools.ant.taskdefs.JavaTest # Tests run: 38, Failures: 12
+# org.apache.tools.ant.taskdefs.modules.LinkTest # Tests run: 67, Failures: 4
+# org.apache.tools.ant.types.PathTest # Tests run: 33, Failures: 1
+# )
+
+ # according to lines 276-297 src/etc/poms/ant/pom.xml
+ JAVA_TEST_EXTRA_ARGS=(
+ -Dant.home="${ANT_HOME}"
+ -Dbuild.classes.value=../../../target/test-classes # needed for org.apache.tools.ant.taskdefs.SignJarTest
+ -Dbuild.tests.value=target/test-classes
+ -Doffline=true
+ -Dant.test.basedir.ignore=true
+ )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar ant.jar ant-launcher.jar
+
+ # Compatibility symlink, should be removed after transition period.
+ dosym -r /usr/share/ant{,-core}/lib/ant.jar
+
+ for task in "${ANT_TASKS[@]}"; do
+ java-pkg_dojar "${task}.jar"
+ java-pkg_register-ant-task --version "${PV}" "${task}"
+ done
+
+ dobin src/script/ant
+
+ dodir /usr/share/ant/bin
+ for each in antRun antRun.pl runant.pl runant.py ; do
+ dobin "${S}/src/script/${each}"
+ done
+
+ insinto /usr/share/ant/etc
+ doins -r src/etc/*.xsl
+ insinto /usr/share/ant/etc/checkstyle
+ doins -r src/etc/checkstyle/*.xsl
+
+ echo "ANT_HOME=\"${EPREFIX}/usr/share/ant\"" > "${T}/20ant"
+ doenvd "${T}/20ant"
+
+ einstalldocs
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ docinto html
+ dodoc -r manual
+ fi
+
+ use source && java-pkg_dosrc src/main/*
+}
diff --git a/dev-java/ant/ant-1.10.9.ebuild b/dev-java/ant/ant-1.10.9.ebuild
deleted file mode 100644
index 335f26ca2924..000000000000
--- a/dev-java/ant/ant-1.10.9.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files"
-HOMEPAGE="https://ant.apache.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-IUSE="X +antlr +bcel +bsf +commonslogging +commonsnet jai +javamail +jdepend jmf
- +jsch +junit +junit4 +junitlauncher +log4j +oro +regexp +resolver swing testutil xz"
-
-DEPEND="~dev-java/ant-core-${PV}"
-
-RDEPEND="${DEPEND}
- ~dev-java/ant-core-${PV}
- ~dev-java/ant-junit-${PV}
- ~dev-java/ant-apache-xalan2-${PV}
- antlr? ( ~dev-java/ant-antlr-${PV} )
- bcel? ( ~dev-java/ant-apache-bcel-${PV} )
- bsf? ( ~dev-java/ant-apache-bsf-${PV} )
- commonslogging? ( ~dev-java/ant-commons-logging-${PV} )
- commonsnet? ( ~dev-java/ant-commons-net-${PV} )
- jai? ( ~dev-java/ant-jai-${PV} )
- javamail? ( ~dev-java/ant-javamail-${PV} )
- jdepend? ( ~dev-java/ant-jdepend-${PV} )
- jmf? ( ~dev-java/ant-jmf-${PV} )
- jsch? ( ~dev-java/ant-jsch-${PV} )
- junit? ( ~dev-java/ant-junit-${PV} )
- junit4? ( ~dev-java/ant-junit4-${PV} )
- junitlauncher? ( ~dev-java/ant-junitlauncher-${PV} )
- log4j? ( ~dev-java/ant-apache-log4j-${PV} )
- oro? ( ~dev-java/ant-apache-oro-${PV} )
- regexp? ( ~dev-java/ant-apache-regexp-${PV} )
- resolver? ( ~dev-java/ant-apache-resolver-${PV} )
- swing? ( ~dev-java/ant-swing-${PV} )
- testutil? ( ~dev-java/ant-testutil-${PV} )
- X? ( ~dev-java/ant-swing-${PV} )
- xz? ( ~dev-java/ant-xz-${PV} )
-"
-
-S="${WORKDIR}"
-
-src_compile() { :; }
diff --git a/dev-java/ant/files/1.10.9-launch.patch b/dev-java/ant/files/1.10.9-launch.patch
new file mode 100644
index 000000000000..7babe6740fa9
--- /dev/null
+++ b/dev-java/ant/files/1.10.9-launch.patch
@@ -0,0 +1,361 @@
+diff --git a/src/script/ant b/src/script/ant
+index 81107b5..a501081 100644
+--- a/src/script/ant
++++ b/src/script/ant
+@@ -1,4 +1,4 @@
+-#! /bin/sh
++#!@GENTOO_PORTAGE_EPREFIX@/bin/bash
+
+ # Licensed to the Apache Software Foundation (ASF) under one or more
+ # contributor license agreements. See the NOTICE file distributed with
+@@ -15,6 +15,10 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
++# Edited for Gentoo Linux
++
++EPREFIX="@GENTOO_PORTAGE_EPREFIX@"
++
+ # Extract launch and ant arguments, (see details below).
+ ant_exec_args=
+ no_config=false
+@@ -83,9 +87,9 @@ if $no_config; then
+ usejikes=$use_jikes_default
+ else
+ # load system-wide ant configuration (ONLY if ANT_HOME has NOT been set)
+- if [ -z "$ANT_HOME" -o "$ANT_HOME" = "/usr/share/ant" ]; then
+- if [ -f "/etc/ant.conf" ]; then
+- . /etc/ant.conf
++ if [ -z "$ANT_HOME" -o "$ANT_HOME" = "${EPREFIX}/usr/share/ant" ]; then
++ if [ -f "${EPREFIX}/etc/ant.conf" ]; then
++ . "${EPREFIX}"/etc/ant.conf
+ fi
+ fi
+
+@@ -106,69 +110,23 @@ else
+ fi
+ fi
+
+-# Setup Java environment in rpm mode
+-if $rpm_mode; then
+- if [ -f /usr/share/java-utils/java-functions ]; then
+- . /usr/share/java-utils/java-functions
+- set_jvm
+- set_javacmd
+- fi
+-fi
+-
+-# OS specific support. $var _must_ be set to either true or false.
+-cygwin=false;
+-darwin=false;
+-mingw=false;
+-case "`uname`" in
+- CYGWIN*)
+- cygwin=true
+- ;;
+- Darwin*)
+- darwin=true
+- if [ -z "$JAVA_HOME" ]; then
+- if [ -x '/usr/libexec/java_home' ]; then
+- JAVA_HOME=`/usr/libexec/java_home`
+- elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
+- JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
+- fi
+- fi
+- ;;
+- MINGW*)
+- mingw=true
+- ;;
+-esac
+-
+-if [ -z "$ANT_HOME" -o ! -d "$ANT_HOME" ]; then
+- ## resolve links - $0 may be a link to ant's home
+- PRG="$0"
+- progname=`basename "$0"`
+-
+- # need this for relative symlinks
+- while [ -h "$PRG" ]; do
+- ls=`ls -ld "$PRG"`
+- link=`expr "$ls" : '.*-> \(.*\)$'`
+- if expr "$link" : '/.*' > /dev/null; then
+- PRG="$link"
+- else
+- PRG=`dirname "$PRG"`"/$link"
+- fi
+- done
+-
+- ANT_HOME=`dirname "$PRG"`/..
++export WANT_JAVA_CONFIG=2
+
+- # make it fully qualified
+- ANT_HOME=`cd "$ANT_HOME" > /dev/null && pwd`
++# Always get JAVA_HOME from java-config, unless ANT_RESPECT_JAVA_HOME is set
++# Use GENTOO_VM to change which VM is used instead.
++if [[ -z "${ANT_RESPECT_JAVA_HOME}" || -z "${JAVA_HOME}" ]]; then
++ export JAVA_HOME="$(java-config -g JAVA_HOME)"
+ fi
+
+-# For Cygwin and Mingw, ensure paths are in UNIX format before
+-# anything is touched
+-if $cygwin; then
+- [ -n "$ANT_HOME" ] && ANT_HOME=`cygpath --unix "$ANT_HOME"`
+- [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
++if [ -z $JAVA_HOME ] ; then
++ echo 'Error: No JDK found!'
++ echo "Try using java-config script to set your JDK"
++ echo "Remember that you need a JDK not a JRE"
++ exit 1
+ fi
+-if $mingw; then
+- [ -n "$ANT_HOME" ] && ANT_HOME="`(cd "$ANT_HOME"; pwd)`"
+- [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
++
++if [[ -z "${ANT_HOME}" ]] ; then
++ ANT_HOME="${EPREFIX}"/usr/share/ant
+ fi
+
+ # set ANT_LIB location
+@@ -176,14 +134,7 @@ ANT_LIB="${ANT_HOME}/lib"
+
+ if [ -z "$JAVACMD" ]; then
+ if [ -n "$JAVA_HOME" ]; then
+- # IBM's JDK on AIX uses strange locations for the executables
+- if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+- JAVACMD="$JAVA_HOME/jre/sh/java"
+- elif [ -x "$JAVA_HOME/jre/bin/java" ]; then
+- JAVACMD="$JAVA_HOME/jre/bin/java"
+- else
+ JAVACMD="$JAVA_HOME/bin/java"
+- fi
+ else
+ JAVACMD=`which java 2> /dev/null `
+ if [ -z "$JAVACMD" ]; then
+@@ -200,88 +151,61 @@ if [ ! -x "$JAVACMD" ]; then
+ exit 1
+ fi
+
+-# Build local classpath using just the launcher in non-rpm mode or
+-# use the Jpackage helper in rpm mode with basic and default jars
+-# specified in the ant.conf configuration. Because the launcher is
+-# used, libraries linked in ANT_HOME/lib will also be included, but this
+-# is discouraged as it is not java-version safe. A user should
+-# request optional jars and their dependencies via the OPT_JAR_LIST
+-# variable
+-if $rpm_mode && [ -x /usr/bin/build-classpath ]; then
+- LOCALCLASSPATH="$(/usr/bin/build-classpath ant ant-launcher jaxp_parser_impl xml-commons-apis)"
+-
+- # If no optional jars have been specified then build the default list
+- if [ -z "$OPT_JAR_LIST" ]; then
+- for file in /etc/ant.d/*; do
+- if [ -f "$file" ]; then
+- case "$file" in
+- *~|*#*|*.rpmsave|*.rpmnew)
+- ;;
+- *)
+- for dep in `cat "$file"`; do
+- OPT_JAR_LIST="$OPT_JAR_LIST${OPT_JAR_LIST:+ }$dep"
+- done
+- ;;
+- esac
+- fi
+- done
+- fi
+-
+- # If the user requested to try to add some other jars to the classpath
+- if [ -n "$OPT_JAR_LIST" ]; then
+- _OPTCLASSPATH="$(/usr/bin/build-classpath $OPT_JAR_LIST 2> /dev/null)"
+- if [ -n "$_OPTCLASSPATH" ]; then
+- LOCALCLASSPATH="$LOCALCLASSPATH:$_OPTCLASSPATH"
+- fi
+- fi
+-
+- # Explicitly add javac path to classpath, assume JAVA_HOME set
+- # properly in rpm mode
+- if [ -f "$JAVA_HOME/lib/tools.jar" ]; then
+- LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar"
+- fi
+- if [ -f "$JAVA_HOME/lib/classes.zip" ]; then
+- LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip"
+- fi
++if [ -z "$LOCALCLASSPATH" ] ; then
++ LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar
++else
++ LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH
++fi
++
++# if ANT_TASKS is not set, default to "all"
++ANT_TASKS="${ANT_TASKS:-all}"
++
++# if ANT_TASKS is set to "all", get the tasks list from /usr/share/ant/tasks/
++if [[ "${ANT_TASKS}" == "all" ]]; then
++ ANT_TASKS=""
++ # but only if it exists
++ if [[ -d "${EPREFIX}"/usr/share/ant/tasks ]]; then
++ ANT_TASKS="${ANT_TASKS} ${EPREFIX}"/usr/share/ant/tasks/*
++ fi
++ if [[ -d "${EPREFIX}"/usr/share/ant/tasks-1.8.2 ]]; then
++ ANT_TASKS="${ANT_TASKS} ${EPREFIX}"/usr/share/ant/tasks-1.8.2/*
++ fi
++# if set to "none", make ANT_TASKS empty list
++elif [[ "${ANT_TASKS}" == "none" ]]; then
++ ANT_TASKS=""
++fi
++# otherwise ANT_TASKS defines explicit task list
++
++# construct the tasks list separated with commas to pass to java-config
++TASKS_LIST=""
++for task in $ANT_TASKS; do
++ TASKS_LIST="${TASKS_LIST},$(basename $task)"
++done
++TASKS_LIST=${TASKS_LIST#,}
+
+- # if CLASSPATH_OVERRIDE env var is set, LOCALCLASSPATH will be
+- # user CLASSPATH first and ant-found jars after.
+- # In that case, the user CLASSPATH will override ant-found jars
+- #
+- # if CLASSPATH_OVERRIDE is not set, we'll have the normal behaviour
+- # with ant-found jars first and user CLASSPATH after
+- if [ -n "$CLASSPATH" ]; then
+- # merge local and specified classpath
+- if [ -z "$LOCALCLASSPATH" ]; then
+- LOCALCLASSPATH="$CLASSPATH"
+- elif [ -n "$CLASSPATH_OVERRIDE" ]; then
+- LOCALCLASSPATH="$CLASSPATH:$LOCALCLASSPATH"
+- else
+- LOCALCLASSPATH="$LOCALCLASSPATH:$CLASSPATH"
+- fi
++# get the classpath for optional tasks and their dependency .jar files
++if [[ -n "${TASKS_LIST}" ]] ; then
++ ANT_TASKS_CLASSPATH="-lib \"$(java-config -dp ${TASKS_LIST})\""
++ ANT_TASKS_LIBPATH="-Djava.library.path=\"$(java-config -di ${TASKS_LIST})\""
++else
++ ANT_TASKS_CLASSPATH=""
++ ANT_TASKS_LIBPATH=""
++fi
+
+- # remove class path from launcher -cp option
+- CLASSPATH=""
+- fi
++# determine where to get tools.jar from
++if [[ -n "${ANT_RESPECT_JAVA_HOME}" ]]; then
++ TOOLS_JAR="${JAVA_HOME}/lib/tools.jar"
+ else
+- # not using rpm_mode; use launcher to determine classpaths
+- if [ -z "$LOCALCLASSPATH" ]; then
+- LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar
+- else
+- LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH
+- fi
++ TOOLS_JAR="$(java-config --tools)"
+ fi
+
+-if [ -n "$JAVA_HOME" ]; then
+- # OSX hack to make Ant work with jikes
+- if $darwin; then
+- OSXHACK="${JAVA_HOME}/../Classes"
+- if [ -d "${OSXHACK}" ]; then
+- for i in "${OSXHACK}"/*.jar; do
+- JIKESPATH="$JIKESPATH:$i"
+- done
+- fi
+- fi
++if [[ -n "${TOOLS_JAR}" ]] ; then
++ LOCALCLASSPATH="$LOCALCLASSPATH:${TOOLS_JAR}"
++elif [[ $(java-config -f) != apple-jdk-bin* ]] ; then
++ echo "Warning: Unable to determine tools.jar location."
++ echo " If build fails because sun.* classes could not be found,"
++ echo " Make sure you are using a JDK, not JRE as your user/system VM."
++ echo " and that you have java-config version 2.0.30 or above installed."
+ fi
+
+ # Allow Jikes support (off by default)
+@@ -289,29 +213,6 @@ if $usejikes; then
+ ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes"
+ fi
+
+-# For Cygwin, switch paths to appropriate format before running java
+-# For PATHs convert to unix format first, then to windows format to ensure
+-# both formats are supported. Probably this will fail on directories with ;
+-# in the name in the path. Let's assume that paths containing ; are more
+-# rare than windows style paths on cygwin.
+-if $cygwin; then
+- if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null; then
+- format=mixed
+- else
+- format=windows
+- fi
+- [ -n "$ANT_HOME" ] && ANT_HOME=`cygpath --$format "$ANT_HOME"`
+- ANT_LIB=`cygpath --$format "$ANT_LIB"`
+- [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --$format "$JAVA_HOME"`
+- LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"`
+- LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"`
+- if [ -n "$CLASSPATH" ]; then
+- CP_TEMP=`cygpath --path --unix "$CLASSPATH"`
+- CLASSPATH=`cygpath --path --$format "$CP_TEMP"`
+- fi
+- CYGHOME=`cygpath --$format "$HOME"`
+-fi
+-
+ # Show script help if requested
+ if $show_help; then
+ echo $0 '[script options] [options] [target [target2 [target3] ..]]'
+@@ -326,49 +227,20 @@ if $show_help; then
+ echo ' launch script'
+ echo ''
+ fi
+-# add a second backslash to variables terminated by a backslash under cygwin
+-if $cygwin; then
+- case "$ANT_HOME" in
+- *\\ )
+- ANT_HOME="$ANT_HOME\\"
+- ;;
+- esac
+- case "$CYGHOME" in
+- *\\ )
+- CYGHOME="$CYGHOME\\"
+- ;;
+- esac
+- case "$JIKESPATH" in
+- *\\ )
+- JIKESPATH="$JIKESPATH\\"
+- ;;
+- esac
+- case "$LOCALCLASSPATH" in
+- *\\ )
+- LOCALCLASSPATH="$LOCALCLASSPATH\\"
+- ;;
+- esac
+- case "$CLASSPATH" in
+- *\\ )
+- CLASSPATH="$CLASSPATH\\"
+- ;;
+- esac
+-fi
++
+ # Execute ant using eval/exec to preserve spaces in paths,
+ # java options, and ant args
+ ant_sys_opts=
+-if [ -n "$CYGHOME" ]; then
+- if [ -n "$JIKESPATH" ]; then
+- ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\" -Dcygwin.user.home=\"$CYGHOME\""
+- else
+- ant_sys_opts="-Dcygwin.user.home=\"$CYGHOME\""
+- fi
+-else
+- if [ -n "$JIKESPATH" ]; then
+- ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\""
+- fi
++
++if [ -n "$JIKESPATH" ]; then
++ ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\""
+ fi
+-ant_exec_command="exec \"\$JAVACMD\" $ANT_OPTS -classpath \"\$LOCALCLASSPATH\" -Dant.home=\"\$ANT_HOME\" -Dant.library.dir=\"\$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"\$CLASSPATH\""
++
++ant_exec_command="exec \"${JAVACMD}\" ${ANT_OPTS} -classpath \"${LOCALCLASSPATH}\" \
++ -Dant.home=\"${ANT_HOME}\" -Dant.library.dir=\"${ANT_LIB}\" ${ant_sys_opts} \
++ ${ANT_TASKS_LIBPATH} org.apache.tools.ant.launch.Launcher \
++ ${ANT_TASKS_CLASSPATH} ${ANT_ARGS} -cp \"${CLASSPATH}\""
++
+ if $ant_exec_debug; then
+ # using printf to avoid echo line continuation and escape interpretation confusion
+ printf "%s\n" "$ant_exec_command $ant_exec_args"
diff --git a/dev-java/ant/files/ant-1.10.14-AntTest.patch b/dev-java/ant/files/ant-1.10.14-AntTest.patch
new file mode 100644
index 000000000000..2e2e7fe38d96
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-AntTest.patch
@@ -0,0 +1,28 @@
+There was 1 failure:
+1) testAntCoreLib(org.apache.tools.ant.taskdefs.AntTest)
+java.lang.AssertionError: found ant.core.lib in: /var/tmp/portage/dev-java/ant-core-1.10.14/work/apache-ant-1.10.14/target/test-classes
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.assertTrue(Assert.java:42)
+ at org.apache.tools.ant.taskdefs.AntTest.testAntCoreLib(AntTest.java:377)
+
+FAILURES!!!
+Tests run: 32, Failures: 1
+--- a/src/tests/junit/org/apache/tools/ant/taskdefs/AntTest.java
++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/AntTest.java
+@@ -33,6 +33,7 @@ import org.junit.After;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+
+ import static org.hamcrest.Matchers.containsString;
+ import static org.junit.Assert.assertEquals;
+@@ -369,7 +370,7 @@ public class AntTest {
+ assertEquals("dadctb", buildRule.getLog());
+ }
+
+- @Test
++ @Test @Ignore
+ public void testAntCoreLib() {
+ // Cf. #42263
+ buildRule.executeTarget("sub-show-ant.core.lib");
diff --git a/dev-java/ant/files/ant-1.10.14-AntlibTest.patch b/dev-java/ant/files/ant-1.10.14-AntlibTest.patch
new file mode 100644
index 000000000000..d45925272beb
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-AntlibTest.patch
@@ -0,0 +1,40 @@
+There was 1 failure:
+1) testAntlibResource(org.apache.tools.ant.taskdefs.AntlibTest)
+/var/tmp/portage/dev-java/ant-core-1.10.14/work/apache-ant-1.10.14/src/etc/testcases/taskdefs/antlib.xml:43: Problem: failed to create task or type mytask2
+Cause: The name is undefined.
+Action: Check the spelling.
+Action: Check that any custom tasks/types have been declared.
+Action: Check that any <presetdef>/<macrodef> declarations have taken place.
+
+ at org.apache.tools.ant.UnknownElement.getNotFoundException(UnknownElement.java:506)
+ at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:438)
+ at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:166)
+ at org.apache.tools.ant.Task.perform(Task.java:349)
+ at org.apache.tools.ant.Target.execute(Target.java:449)
+ at org.apache.tools.ant.Target.performTasks(Target.java:470)
+ at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
+ at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
+ at org.apache.tools.ant.BuildFileRule.executeTarget(BuildFileRule.java:197)
+ at org.apache.tools.ant.taskdefs.AntlibTest.testAntlibResource(AntlibTest.java:67)
+
+FAILURES!!!
+Tests run: 6, Failures: 1
+--- a/src/tests/junit/org/apache/tools/ant/taskdefs/AntlibTest.java
++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/AntlibTest.java
+@@ -24,6 +24,7 @@ import org.apache.tools.ant.Task;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertNotNull;
+@@ -61,7 +62,7 @@ public class AntlibTest {
+ * can collect several antlibs in one Definer call.
+ * @see <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=24024">bug 24024</a>
+ */
+- @Test
++ @Test @Ignore
+ public void testAntlibResource() {
+ assertNotNull("build.tests.value not set", System.getProperty("build.tests.value"));
+ buildRule.executeTarget("antlib.resource");
diff --git a/dev-java/ant/files/ant-1.10.14-JavaTest.patch b/dev-java/ant/files/ant-1.10.14-JavaTest.patch
new file mode 100644
index 000000000000..9143cba43ca2
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-JavaTest.patch
@@ -0,0 +1,102 @@
+bug #922775
+--- a/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java
++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java
+@@ -42,6 +42,7 @@ import org.junit.AssumptionViolatedException;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.rules.ExpectedException;
+
+ import static org.hamcrest.Matchers.containsString;
+@@ -241,7 +242,7 @@ public class JavaTest {
+ buildRule.executeTarget("testRunFailFoeFork");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testExcepting() {
+ buildRule.executeTarget("testExcepting");
+ assertThat(buildRule.getLog(), containsString("Exception raised inside called program"));
+@@ -253,7 +254,7 @@ public class JavaTest {
+ assertThat(buildRule.getLog(), containsString("Java Result:"));
+ }
+
+- @Test
++ @Test @Ignore
+ public void testExceptingFoe() {
+ thrown.expect(BuildException.class);
+ thrown.expectMessage("Exception raised inside called program");
+@@ -267,13 +268,13 @@ public class JavaTest {
+ buildRule.executeTarget("testExceptingFoeFork");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testResultPropertyZero() {
+ buildRule.executeTarget("testResultPropertyZero");
+ assertEquals("0", buildRule.getProject().getProperty("exitcode"));
+ }
+
+- @Test
++ @Test @Ignore
+ public void testResultPropertyNonZero() {
+ buildRule.executeTarget("testResultPropertyNonZero");
+ assertEquals("2", buildRule.getProject().getProperty("exitcode"));
+@@ -301,12 +302,12 @@ public class JavaTest {
+ buildRule.executeTarget("testRunFailWithFailOnError");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRunSuccessWithFailOnError() {
+ buildRule.executeTarget("testRunSuccessWithFailOnError");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testSpawn() throws InterruptedException {
+ File logFile = FILE_UTILS.createTempFile("spawn", "log",
+ new File(buildRule.getProject().getProperty("output")), false, false);
+@@ -326,27 +327,27 @@ public class JavaTest {
+ assertTrue("log file exists", logFile.exists());
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirect1() {
+ buildRule.executeTarget("redirect1");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirect2() {
+ buildRule.executeTarget("redirect2");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirect3() {
+ buildRule.executeTarget("redirect3");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirector1() {
+ buildRule.executeTarget("redirector1");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirector2() {
+ buildRule.executeTarget("redirector2");
+ }
+@@ -397,7 +398,7 @@ public class JavaTest {
+ assertEquals("foo", buildRule.getProject().getProperty("input.value"));
+ }
+
+- @Test
++ @Test @Ignore
+ public void testFlushedInput() throws Exception {
+ final PipedOutputStream out = new PipedOutputStream();
+ final PipedInputStream in = new PipedInputStream(out);
diff --git a/dev-java/ant/files/ant-1.10.14-LinkTest.patch b/dev-java/ant/files/ant-1.10.14-LinkTest.patch
new file mode 100644
index 000000000000..23075707fb9b
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-LinkTest.patch
@@ -0,0 +1,87 @@
+There were 4 failures:
+1) testLocalesInAttributeAndNested(org.apache.tools.ant.taskdefs.modules.LinkTest)
+java.lang.AssertionError: Verifying that image has access to locales specified during linking. expected:<0> but was:<1>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.verifyLocales(LinkTest.java:289)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.testLocalesInAttributeAndNested(LinkTest.java:330)
+2) testLocales(org.apache.tools.ant.taskdefs.modules.LinkTest)
+java.lang.AssertionError: Verifying that image has access to locales specified during linking. expected:<0> but was:<1>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.verifyLocales(LinkTest.java:289)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.testLocales(LinkTest.java:306)
+3) testNestedLocales(org.apache.tools.ant.taskdefs.modules.LinkTest)
+java.lang.AssertionError: Verifying that image has access to locales specified during linking. expected:<0> but was:<1>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.verifyLocales(LinkTest.java:289)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.testNestedLocales(LinkTest.java:315)
+4) testIgnoreSigning(org.apache.tools.ant.taskdefs.modules.LinkTest)
+/var/tmp/portage/dev-java/ant-core-1.10.14/work/apache-ant-1.10.14/src/etc/testcases/taskdefs/link.xml:1119: exec returned: 1
+ at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:675)
+ at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:699)
+ at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:527)
+ at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
+ at org.apache.tools.ant.Task.perform(Task.java:350)
+ at org.apache.tools.ant.Target.execute(Target.java:449)
+ at org.apache.tools.ant.Target.performTasks(Target.java:470)
+ at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
+ at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
+ at org.apache.tools.ant.BuildFileRule.executeTarget(BuildFileRule.java:197)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.testIgnoreSigning(LinkTest.java:901)
+
+FAILURES!!!
+Tests run: 67, Failures: 4
+--- a/src/tests/junit/org/apache/tools/ant/taskdefs/modules/LinkTest.java
++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/modules/LinkTest.java
+@@ -46,6 +46,7 @@ import org.junit.Assume;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.rules.ExpectedException;
+
+ import org.apache.tools.ant.BuildException;
+@@ -297,7 +298,7 @@ public class LinkTest {
+ + "not specified during linking.", 0, exitCode);
+ }
+
+- @Test
++ @Test @Ignore
+ public void testLocales()
+ throws IOException,
+ InterruptedException {
+@@ -306,7 +307,7 @@ public class LinkTest {
+ verifyLocales();
+ }
+
+- @Test
++ @Test @Ignore
+ public void testNestedLocales()
+ throws IOException,
+ InterruptedException {
+@@ -321,7 +322,7 @@ public class LinkTest {
+ buildRule.executeTarget("locales-nested-missing-name");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testLocalesInAttributeAndNested()
+ throws IOException,
+ InterruptedException {
+@@ -896,7 +897,7 @@ public class LinkTest {
+ 1, nonLinkCount);
+ }
+
+- @Test
++ @Test @Ignore
+ public void testIgnoreSigning() {
+ buildRule.executeTarget("ignoresigning");
+ verifyImageBuiltNormally();
diff --git a/dev-java/ant/files/ant-1.10.14-PathTest.patch b/dev-java/ant/files/ant-1.10.14-PathTest.patch
new file mode 100644
index 000000000000..022377ecc4d7
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-PathTest.patch
@@ -0,0 +1,30 @@
+There was 1 failure:
+1) testDirSet(org.apache.tools.ant.types.PathTest)
+java.lang.AssertionError: expected:<1> but was:<0>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.junit.Assert.assertEquals(Assert.java:633)
+ at org.apache.tools.ant.types.PathTest.testDirSet(PathTest.java:585)
+
+FAILURES!!!
+Tests run: 33, Failures: 1
+--- a/src/tests/junit/org/apache/tools/ant/types/PathTest.java
++++ b/src/tests/junit/org/apache/tools/ant/types/PathTest.java
+@@ -29,6 +29,7 @@ import org.apache.tools.ant.taskdefs.condition.Os;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.rules.ExpectedException;
+
+ import static org.hamcrest.Matchers.endsWith;
+@@ -570,7 +571,7 @@ public class PathTest {
+ assertEquals(project.resolveFile("build.xml").getAbsolutePath(), l[0]);
+ }
+
+- @Test
++ @Test @Ignore
+ public void testDirSet() {
+ DirSet d = new DirSet();
+ d.setProject(project);
diff --git a/dev-java/ant/metadata.xml b/dev-java/ant/metadata.xml
index 219a679d237b..1c03ec86e251 100644
--- a/dev-java/ant/metadata.xml
+++ b/dev-java/ant/metadata.xml
@@ -12,7 +12,9 @@
(<pkg>dev-java/bsf</pkg>)</flag>
<flag name="commonslogging">Enable commons-logging Ant tasks</flag>
<flag name="commonsnet">Enable commons-net Ant tasks</flag>
+ <flag name="imageio">Enable imageio Ant tasks</flag>
<flag name="jai">Enable JAI (Java Imaging) Ant task</flag>
+ <flag name="jakartamail">Enable Jakartamail Ant task</flag>
<flag name="javamail">Enable JavaMail Ant task</flag>
<flag name="jdepend">Enable Jdepend Ant tasks</flag>
<flag name="jmf">Enable JMF (Java Media Framework) Ant tasks</flag>
@@ -26,6 +28,12 @@
<flag name="resolver">Enable Apache Resolver Ant tasks</flag>
<flag name="swing">Enable Swing Ant tasks</flag>
<flag name="testutil">Enable optional test util classes</flag>
+ <flag name="xalan">Enable Apache Xalan2 Ant tasks</flag>
<flag name="xz">Enable XZ Ant tasks</flag>
</use>
+ <upstream>
+ <bugs-to>https://bz.apache.org/bugzilla/enter_bug.cgi?product=Ant</bugs-to>
+ <doc>https://ant.apache.org/manual/</doc>
+ <remote-id type="github">apache/ant</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/antlr-tool/antlr-tool-3.5.3-r1.ebuild b/dev-java/antlr-tool/antlr-tool-3.5.3-r1.ebuild
new file mode 100644
index 000000000000..1997ce8c081f
--- /dev/null
+++ b/dev-java/antlr-tool/antlr-tool-3.5.3-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Artifact ID for antlr-tool is 'antlr'
+# https://github.com/antlr/antlr3/blob/3.5.3/tool/pom.xml#L4
+MAVEN_ID="org.antlr:antlr:3.5.3"
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+MY_PN="${PN%-tool}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="The ANTLR 3 tool"
+HOMEPAGE="https://www.antlr3.org/"
+# Maven Central sources JAR for *.java sources pre-generated from *.g files;
+# the source generation requires this package itself.
+# Tarball for resources, the test suite, and DOCS files
+SRC_URI="
+ https://repo1.maven.org/maven2/org/antlr/antlr/${PV}/${MY_P}-sources.jar -> ${P}-sources.jar
+ https://github.com/antlr/antlr3/archive/${PV}.tar.gz -> ${MY_P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="3.5"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+CP_DEPEND="
+ ~dev-java/antlr-runtime-${PV}:${SLOT}
+ dev-java/stringtemplate:4
+"
+
+BDEPEND="
+ app-arch/unzip
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+S="${WORKDIR}"
+TARBALL_S="${S}/${MY_PN}3-${PV}"
+
+JAVA_SRC_DIR="org"
+JAVA_RESOURCE_DIRS=( "${TARBALL_S}/tool/src/main/resources" )
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="${TARBALL_S}/tool/src/test/java"
+
+DOCS=( "${TARBALL_S}/tool/CHANGES.txt" )
+PATCHES=( "${FILESDIR}/antlr-tool-3.5.3-java21.patch" )
+
+src_prepare() {
+ java-pkg_clean
+ default #780585
+ java-pkg-2_src_prepare
+
+ # Some tests fail under Java 8 in ways that probably aren't limited
+ # to the tests. This is bad but upstream is never going to update
+ # 3.5. At the time of writing, we only use it to build 4 anyway.
+ rm -v "${JAVA_TEST_SRC_DIR}/org/antlr/test/"Test{DFAConversion,SemanticPredicates,TopologicalSort}.java || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ einstalldocs # https://bugs.gentoo.org/789582
+}
diff --git a/dev-java/antlr-tool/antlr-tool-3.5.3.ebuild b/dev-java/antlr-tool/antlr-tool-3.5.3.ebuild
deleted file mode 100644
index 8e2844054251..000000000000
--- a/dev-java/antlr-tool/antlr-tool-3.5.3.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Artifact ID for antlr-tool is 'antlr'
-# https://github.com/antlr/antlr3/blob/3.5.3/tool/pom.xml#L4
-MAVEN_ID="org.antlr:antlr:3.5.3"
-
-JAVA_PKG_IUSE="doc source test"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PN="${PN%-tool}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="The ANTLR 3 tool"
-HOMEPAGE="https://www.antlr3.org/"
-# Maven Central sources JAR for *.java sources pre-generated from *.g files;
-# the source generation requires this package itself.
-# Tarball for resources, the test suite, and DOCS files
-SRC_URI="
- https://repo1.maven.org/maven2/org/antlr/antlr/${PV}/${MY_P}-sources.jar -> ${P}-sources.jar
- https://github.com/antlr/antlr3/archive/${PV}.tar.gz -> ${MY_P}.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="3.5"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-CP_DEPEND="
- ~dev-java/antlr-runtime-${PV}:${SLOT}
- dev-java/stringtemplate:4
-"
-
-BDEPEND="
- app-arch/unzip
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-S="${WORKDIR}"
-TARBALL_S="${S}/${MY_PN}3-${PV}"
-
-JAVA_SRC_DIR="org"
-JAVA_RESOURCE_DIRS=( "${TARBALL_S}/tool/src/main/resources" )
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="${TARBALL_S}/tool/src/test/java"
-
-DOCS=( "${TARBALL_S}/tool/CHANGES.txt" )
-
-src_prepare() {
- java-pkg_clean
- java-pkg-2_src_prepare
-
- # Some tests fail under Java 8 in ways that probably aren't limited
- # to the tests. This is bad but upstream is never going to update
- # 3.5. At the time of writing, we only use it to build 4 anyway.
- rm -v "${JAVA_TEST_SRC_DIR}/org/antlr/test/"Test{DFAConversion,SemanticPredicates,TopologicalSort}.java || die
-}
-
-src_install() {
- java-pkg-simple_src_install
- einstalldocs # https://bugs.gentoo.org/789582
-}
diff --git a/dev-java/antlr-tool/antlr-tool-4.9.3-r2.ebuild b/dev-java/antlr-tool/antlr-tool-4.9.3-r2.ebuild
new file mode 100644
index 000000000000..2891b009c53f
--- /dev/null
+++ b/dev-java/antlr-tool/antlr-tool-4.9.3-r2.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Artifact ID for antlr-tool is 'antlr4'
+# https://github.com/antlr/antlr4/blob/4.9.3/tool/pom.xml#L14
+MAVEN_ID="org.antlr:antlr4:4.9.3"
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+MY_PN="${PN%-tool}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="The ANTLR 4 grammar compiler"
+HOMEPAGE="https://www.antlr.org/"
+# Maven Central sources JAR for tool/src/org/antlr/v4/unicode/UnicodeData.java,
+# which requires string-template-maven-plugin to generate; tarball for the rest
+SRC_URI="
+ https://github.com/antlr/antlr4/archive/${PV}.tar.gz -> ${MY_P}.tar.gz
+ https://repo1.maven.org/maven2/org/antlr/antlr4/${PV}/antlr4-${PV}-sources.jar -> ${P}-sources.jar
+"
+
+LICENSE="BSD"
+SLOT="4"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+CP_DEPEND="
+ ~dev-java/antlr-runtime-${PV}:${SLOT}
+ dev-java/antlr-runtime:3.5
+ dev-java/jakarta-json-api:1
+ >=dev-java/icu4j-74.2-r1:0
+ dev-java/stringtemplate:4
+ dev-java/treelayout:0
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ dev-java/antlr-tool:3.5
+ test? (
+ dev-java/jol-core:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+S="${WORKDIR}/${MY_PN}4-${PV}"
+
+JAVA_SRC_DIR=(
+ tool/src
+ ../src/org # For UnicodeData.java
+)
+JAVA_RESOURCE_DIRS=( tool/resources )
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,jol-core"
+JAVA_TEST_SRC_DIR=(
+ tool-testsuite/test
+ # The runtime test suite is used as a library for tool test suite
+ runtime-testsuite/{annotations,test}
+)
+JAVA_TEST_RESOURCE_DIRS=(
+ # Some resources are mixed with test source files
+ "${JAVA_TEST_SRC_DIR[0]}"
+)
+
+pkg_setup() {
+ java-pkg-2_pkg_setup
+ MY_JAVA="$(java-config -J)"
+}
+
+src_prepare() {
+ java-pkg_clean
+ eapply "${FILESDIR}/${PV}-test-fixes.patch"
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ einfo "Generating ANTLR 3 parsers"
+ "${MY_JAVA}" -cp "$(java-pkg_getjars \
+ --build-only --with-dependencies antlr-tool-3.5)" \
+ org.antlr.Tool $(find "${JAVA_SRC_DIR[@]}" -name "*.g") ||
+ die "Failed to generate ANTLR 3 parsers"
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # Build classpath for tests
+ local test_deps=(
+ "${JAVA_TEST_GENTOO_CLASSPATH}"
+ antlr-runtime-${SLOT}
+ antlr-runtime-3.5
+ jakarta-json-api-1
+ icu4j
+ stringtemplate-4
+ treelayout
+ )
+ local CP="${S}/${JAVA_JAR_FILENAME}"
+ for test_dep in "${test_deps[@]}"; do
+ CP+=":$(java-pkg_getjars --with-dependencies "${test_dep}")"
+ done
+ for res_dir in "${JAVA_TEST_RESOURCE_DIRS[@]}"; do
+ CP+=":${res_dir}"
+ done
+
+ einfo "Generating ANTLR 4 parsers for tests"
+ pushd runtime-testsuite/test > /dev/null ||
+ die "Failed to enter runtime test source directory"
+ g4_files=( $(find * -name "*.g4") )
+ for file in "${g4_files[@]}"; do
+ java_pkg="${file%/*.g4}"
+ java_pkg="${java_pkg//\//.}"
+ "${MY_JAVA}" -cp "${CP}" org.antlr.v4.Tool \
+ -visitor -package "${java_pkg}" "${file}" ||
+ die "Failed to generate ANTLR 4 parser from ${file}"
+ done
+ popd > /dev/null || die "Failed to leave runtime test source directory"
+
+ # Compile Java test sources
+ local classes="target/classes"
+ ejavac -d "${classes}" -cp "${CP}" \
+ $(find "${JAVA_TEST_SRC_DIR[@]}" -name "*.java")
+
+ # Create a list of tests to run
+ pushd "${JAVA_TEST_SRC_DIR[0]}" > /dev/null ||
+ die "Failed to enter test source directory for ${PN}"
+ local TESTS=$(find * -type f \
+ \( -name "Test*.java" -o -name "*Test.java" \) \
+ -not -name "BaseJavaToolTest.java" # No runnable methods
+ )
+ TESTS="${TESTS//.java}"
+ TESTS="${TESTS//\//.}"
+ popd > /dev/null || die "Failed to leave test source directory for ${PN}"
+
+ ejunit4 -classpath "${classes}:${CP}" ${TESTS}
+}
diff --git a/dev-java/antlr-tool/antlr-tool-4.9.3.ebuild b/dev-java/antlr-tool/antlr-tool-4.9.3.ebuild
deleted file mode 100644
index 3d4f0e5b9450..000000000000
--- a/dev-java/antlr-tool/antlr-tool-4.9.3.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Artifact ID for antlr-tool is 'antlr4'
-# https://github.com/antlr/antlr4/blob/4.9.3/tool/pom.xml#L14
-MAVEN_ID="org.antlr:antlr4:4.9.3"
-
-JAVA_PKG_IUSE="doc source test"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PN="${PN%-tool}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="The ANTLR 4 grammar compiler"
-HOMEPAGE="https://www.antlr.org/"
-# Maven Central sources JAR for tool/src/org/antlr/v4/unicode/UnicodeData.java,
-# which requires string-template-maven-plugin to generate; tarball for the rest
-SRC_URI="
- https://github.com/antlr/antlr4/archive/${PV}.tar.gz -> ${MY_P}.tar.gz
- https://repo1.maven.org/maven2/org/antlr/antlr4/${PV}/antlr4-${PV}-sources.jar -> ${P}-sources.jar
-"
-
-LICENSE="BSD"
-SLOT="4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-CP_DEPEND="
- ~dev-java/antlr-runtime-${PV}:${SLOT}
- dev-java/antlr-runtime:3.5
- dev-java/jakarta-json-api:1
- dev-java/icu4j:70
- dev-java/stringtemplate:4
- dev-java/treelayout:0
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- dev-java/antlr-tool:3.5
- test? (
- dev-java/jol-core:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-S="${WORKDIR}/${MY_PN}4-${PV}"
-
-JAVA_SRC_DIR=(
- tool/src
- ../src/org # For UnicodeData.java
-)
-JAVA_RESOURCE_DIRS=( tool/resources )
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,jol-core"
-JAVA_TEST_SRC_DIR=(
- tool-testsuite/test
- # The runtime test suite is used as a library for tool test suite
- runtime-testsuite/{annotations,test}
-)
-JAVA_TEST_RESOURCE_DIRS=(
- # Some resources are mixed with test source files
- "${JAVA_TEST_SRC_DIR[0]}"
-)
-
-pkg_setup() {
- java-pkg-2_pkg_setup
- MY_JAVA="$(java-config -J)"
-}
-
-src_prepare() {
- java-pkg_clean
- eapply "${FILESDIR}/${PV}-test-fixes.patch"
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- einfo "Generating ANTLR 3 parsers"
- "${MY_JAVA}" -cp "$(java-pkg_getjars \
- --build-only --with-dependencies antlr-tool-3.5)" \
- org.antlr.Tool $(find "${JAVA_SRC_DIR[@]}" -name "*.g") ||
- die "Failed to generate ANTLR 3 parsers"
- java-pkg-simple_src_compile
-}
-
-src_test() {
- # Build classpath for tests
- local test_deps=(
- "${JAVA_TEST_GENTOO_CLASSPATH}"
- antlr-runtime-${SLOT}
- antlr-runtime-3.5
- jakarta-json-api-1
- icu4j-70
- stringtemplate-4
- treelayout
- )
- local CP="${S}/${JAVA_JAR_FILENAME}"
- for test_dep in "${test_deps[@]}"; do
- CP+=":$(java-pkg_getjars --with-dependencies "${test_dep}")"
- done
- for res_dir in "${JAVA_TEST_RESOURCE_DIRS[@]}"; do
- CP+=":${res_dir}"
- done
-
- einfo "Generating ANTLR 4 parsers for tests"
- pushd runtime-testsuite/test > /dev/null ||
- die "Failed to enter runtime test source directory"
- g4_files=( $(find * -name "*.g4") )
- for file in "${g4_files[@]}"; do
- java_pkg="${file%/*.g4}"
- java_pkg="${java_pkg//\//.}"
- "${MY_JAVA}" -cp "${CP}" org.antlr.v4.Tool \
- -visitor -package "${java_pkg}" "${file}" ||
- die "Failed to generate ANTLR 4 parser from ${file}"
- done
- popd > /dev/null || die "Failed to leave runtime test source directory"
-
- # Compile Java test sources
- local classes="target/classes"
- ejavac -d "${classes}" -cp "${CP}" \
- $(find "${JAVA_TEST_SRC_DIR[@]}" -name "*.java")
-
- # Create a list of tests to run
- pushd "${JAVA_TEST_SRC_DIR[0]}" > /dev/null ||
- die "Failed to enter test source directory for ${PN}"
- local TESTS=$(find * -type f \
- \( -name "Test*.java" -o -name "*Test.java" \) \
- -not -name "BaseJavaToolTest.java" # No runnable methods
- )
- TESTS="${TESTS//.java}"
- TESTS="${TESTS//\//.}"
- popd > /dev/null || die "Failed to leave test source directory for ${PN}"
-
- ejunit4 -classpath "${classes}:${CP}" ${TESTS}
-}
diff --git a/dev-java/antlr-tool/files/antlr-tool-3.5.3-java21.patch b/dev-java/antlr-tool/files/antlr-tool-3.5.3-java21.patch
new file mode 100644
index 000000000000..2e196df96ef9
--- /dev/null
+++ b/dev-java/antlr-tool/files/antlr-tool-3.5.3-java21.patch
@@ -0,0 +1,11 @@
+bug #919481
+--- a/org/antlr/codegen/templates/Java/ST.stg
++++ b/org/antlr/codegen/templates/Java/ST.stg
+@@ -32,6 +32,7 @@
+ @outputFile.imports() ::= <<
+ <@super.imports()>
+ import org.antlr.stringtemplate.*;
++import org.antlr.stringtemplate.StringTemplate;
+ import org.antlr.stringtemplate.language.*;
+ import java.util.HashMap;
+ >>
diff --git a/dev-java/antlr/antlr-2.7.7-r9.ebuild b/dev-java/antlr/antlr-2.7.7-r9.ebuild
index 304ae169d371..3621f5776b75 100644
--- a/dev-java/antlr/antlr-2.7.7-r9.ebuild
+++ b/dev-java/antlr/antlr-2.7.7-r9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://www.antlr2.org/download/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/antlr/antlr-3.2-r1.ebuild b/dev-java/antlr/antlr-3.2-r1.ebuild
deleted file mode 100644
index 1ab54993c309..000000000000
--- a/dev-java/antlr/antlr-3.2-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc test"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A parser generator for many languages"
-HOMEPAGE="https://www.antlr3.org/"
-SRC_URI="https://www.antlr3.org/download/${P}.tar.gz
- https://www.antlr3.org/download/${P}.jar" # Prebuilt version needed.
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-RESTRICT="!test? ( test )"
-
-CDEPEND=">=dev-java/antlr-2.7.7-r7:0
- dev-java/stringtemplate:0"
-
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="${CDEPEND}
- >=virtual/jdk-1.8:*
- test? ( dev-java/junit:4 )"
-
-PATCHES=(
- # These fixes have been applied in 3.5.
- "${FILESDIR}/${PV}-test-fixes.patch"
- "${FILESDIR}/${PV}-java-8.patch"
-)
-
-S="${WORKDIR}/${P}"
-JAVA_GENTOO_CLASSPATH_EXTRA="${S}/${PN}-runtime.jar"
-JAVA_GENTOO_CLASSPATH="antlr,stringtemplate"
-
-src_unpack() {
- unpack ${P}.tar.gz
-}
-
-src_prepare() {
- default
- java-pkg_clean
-
- # Some tests fail under Java 8 in ways that probably aren't limited
- # to the tests. This is bad but upstream is never going to update
- # 3.2 even though other projects still rely on it. If any issues
- # arise, we can only put pressure on those projects to upgrade.
- if java-pkg_is-vm-version-ge 1.8; then
- rm -v tool/src/test/java/org/antlr/test/Test{DFAConversion,SemanticPredicates,TopologicalSort}.java || die
- fi
-
- # 3.2 has strange hidden files.
- find -type f -name "._*.*" -delete || die
-}
-
-src_compile() {
- cd "${S}/runtime/Java/src/main" || die
- JAVA_JAR_FILENAME="${S}/${PN}-runtime.jar" java-pkg-simple_src_compile
-
- cd "${S}/tool/src/main" || die
-
- local G; for G in antlr codegen antlr.print assign.types buildnfa define; do # from pom.xml
- antlr -o antlr2/org/antlr/grammar/v2/{,${G}.g} || die
- done
-
- # We have applied a patch to fix this version under Java 8. Trouble
- # is that we need to run a prebuilt version before we can build our
- # own and that version doesn't have the fix applied. We work around
- # this by building just the offending class against the prebuilt
- # version and then putting them together in the classpath. That
- # isn't all. Due to a compiler limitation that Chewi doesn't fully
- # understand, this class cannot be compiled by itself without a
- # couple of tweaks that have been applied in the Java 8 patch.
- ejavac -classpath "${DISTDIR}/${P}.jar" java/org/antlr/tool/CompositeGrammar.java
-
- java -classpath "java:${DISTDIR}/${P}.jar" org.antlr.Tool $(find antlr3 -name "*.g") || die
- JAVA_JAR_FILENAME="${S}/${PN}-tool.jar" java-pkg-simple_src_compile
- java-pkg_addres "${S}/${PN}-tool.jar" resources
-}
-
-src_install() {
- java-pkg_dojar ${PN}-{runtime,tool}.jar
- java-pkg_dolauncher ${PN}${SLOT} --main org.antlr.Tool
- use doc && java-pkg_dojavadoc runtime/Java/src/main/target/api
-}
-
-src_test() {
- cd tool/src/test/java || die
- local CP=".:${S}/${PN}-runtime.jar:${S}/${PN}-tool.jar:$(java-pkg_getjars junit-4,${JAVA_GENTOO_CLASSPATH})"
-
- local TESTS=$(find * -name "Test*.java")
- TESTS="${TESTS//.java}"
- TESTS="${TESTS//\//.}"
-
- ejavac -classpath "${CP}" $(find -name "*.java")
- ejunit4 -classpath "${CP}" ${TESTS}
-}
diff --git a/dev-java/antlr/antlr-3.2-r2.ebuild b/dev-java/antlr/antlr-3.2-r2.ebuild
new file mode 100644
index 000000000000..9b58f9bff97e
--- /dev/null
+++ b/dev-java/antlr/antlr-3.2-r2.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc test"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A parser generator for many languages"
+HOMEPAGE="https://www.antlr3.org/"
+SRC_URI="https://www.antlr3.org/download/${P}.tar.gz
+ https://www.antlr3.org/download/${P}.jar" # Prebuilt version needed.
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+RESTRICT="!test? ( test )"
+
+CP_DEPEND=">=dev-java/antlr-2.7.7-r7:0
+ dev-java/stringtemplate:0"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/junit:4 )"
+
+PATCHES=(
+ # These fixes have been applied in 3.5.
+ "${FILESDIR}/${PV}-test-fixes.patch"
+ "${FILESDIR}/${PV}-java-8.patch"
+ "${FILESDIR}/antlr-3.2-java21.patch"
+)
+
+JAVA_GENTOO_CLASSPATH_EXTRA="${S}/${PN}-runtime.jar"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+}
+
+src_prepare() {
+ default
+ java-pkg_clean
+
+ # Some tests fail under Java 8 in ways that probably aren't limited
+ # to the tests. This is bad but upstream is never going to update
+ # 3.2 even though other projects still rely on it. If any issues
+ # arise, we can only put pressure on those projects to upgrade.
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 1.8; then
+ rm -v tool/src/test/java/org/antlr/test/Test{DFAConversion,SemanticPredicates,TopologicalSort}.java || die
+ fi
+
+ # 3.2 has strange hidden files.
+ find -type f -name "._*.*" -delete || die
+}
+
+src_compile() {
+ cd "${S}/runtime/Java/src/main" || die
+ JAVA_JAR_FILENAME="${S}/${PN}-runtime.jar" java-pkg-simple_src_compile
+
+ cd "${S}/tool/src/main" || die
+
+ local G; for G in antlr codegen antlr.print assign.types buildnfa define; do # from pom.xml
+ antlr -o antlr2/org/antlr/grammar/v2/{,${G}.g} || die
+ done
+
+ # We have applied a patch to fix this version under Java 8. Trouble
+ # is that we need to run a prebuilt version before we can build our
+ # own and that version doesn't have the fix applied. We work around
+ # this by building just the offending class against the prebuilt
+ # version and then putting them together in the classpath. That
+ # isn't all. Due to a compiler limitation that Chewi doesn't fully
+ # understand, this class cannot be compiled by itself without a
+ # couple of tweaks that have been applied in the Java 8 patch.
+ ejavac -classpath "${DISTDIR}/${P}.jar" java/org/antlr/tool/CompositeGrammar.java
+
+ java -classpath "java:${DISTDIR}/${P}.jar" org.antlr.Tool $(find antlr3 -name "*.g") || die
+ JAVA_JAR_FILENAME="${S}/${PN}-tool.jar" java-pkg-simple_src_compile
+ java-pkg_addres "${S}/${PN}-tool.jar" resources
+}
+
+src_install() {
+ java-pkg_dojar ${PN}-{runtime,tool}.jar
+ java-pkg_dolauncher ${PN}${SLOT} --main org.antlr.Tool
+ use doc && java-pkg_dojavadoc runtime/Java/src/main/target/api
+}
+
+src_test() {
+ cd tool/src/test/java || die
+ local CP=".:${S}/${PN}-runtime.jar:${S}/${PN}-tool.jar:$(java-pkg_getjars junit-4,${JAVA_GENTOO_CLASSPATH})"
+
+ local TESTS=$(find * -name "Test*.java")
+ TESTS="${TESTS//.java}"
+ TESTS="${TESTS//\//.}"
+
+ ejavac -classpath "${CP}" $(find -name "*.java")
+ ejunit4 -classpath "${CP}" ${TESTS}
+}
diff --git a/dev-java/antlr/antlr-3.5.3.ebuild b/dev-java/antlr/antlr-3.5.3.ebuild
index 7751c1fad885..c3bec26d0400 100644
--- a/dev-java/antlr/antlr-3.5.3.ebuild
+++ b/dev-java/antlr/antlr-3.5.3.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/${PN}/${PN}3/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="3.5"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
CP_DEPEND="
~dev-java/antlr-runtime-${PV}:${SLOT}
diff --git a/dev-java/antlr/antlr-4.9.3.ebuild b/dev-java/antlr/antlr-4.9.3.ebuild
index be89da27f17e..1050e440538e 100644
--- a/dev-java/antlr/antlr-4.9.3.ebuild
+++ b/dev-java/antlr/antlr-4.9.3.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/${PN}/${PN}4/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
CP_DEPEND="
~dev-java/antlr-runtime-${PV}:${SLOT}
diff --git a/dev-java/antlr/files/antlr-3.2-java21.patch b/dev-java/antlr/files/antlr-3.2-java21.patch
new file mode 100644
index 000000000000..8d885f9a5f11
--- /dev/null
+++ b/dev-java/antlr/files/antlr-3.2-java21.patch
@@ -0,0 +1,31 @@
+bug #919684
+--- a/tool/src/main/java/org/antlr/codegen/CodeGenerator.java
++++ b/tool/src/main/java/org/antlr/codegen/CodeGenerator.java
+@@ -36,6 +36,7 @@ import org.antlr.Tool;
+ import org.antlr.analysis.*;
+ import org.antlr.misc.*;
+ import org.antlr.stringtemplate.*;
++import org.antlr.stringtemplate.StringTemplate;
+ import org.antlr.stringtemplate.language.AngleBracketTemplateLexer;
+ import org.antlr.tool.*;
+
+--- a/tool/src/main/antlr2/org/antlr/grammar/v2/codegen.g
++++ b/tool/src/main/antlr2/org/antlr/grammar/v2/codegen.g
+@@ -32,6 +32,7 @@ header {
+ import org.antlr.misc.*;
+ import java.util.*;
+ import org.antlr.stringtemplate.*;
++ import org.antlr.stringtemplate.StringTemplate;
+ import antlr.TokenWithIndex;
+ import antlr.CommonToken;
+ import org.antlr.codegen.*;
+--- a/tool/src/main/resources/org/antlr/codegen/templates/Java/ST.stg
++++ b/tool/src/main/resources/org/antlr/codegen/templates/Java/ST.stg
+@@ -33,6 +33,7 @@ group ST;
+ @outputFile.imports() ::= <<
+ <@super.imports()>
+ import org.antlr.stringtemplate.*;
++import org.antlr.stringtemplate.StringTemplate;
+ import org.antlr.stringtemplate.language.*;
+ import java.util.HashMap;
+ >>
diff --git a/dev-java/antunit/Manifest b/dev-java/antunit/Manifest
new file mode 100644
index 000000000000..765c72b8f4c9
--- /dev/null
+++ b/dev-java/antunit/Manifest
@@ -0,0 +1,2 @@
+DIST apache-ant-antunit-1.4.1-src.tar.bz2 125017 BLAKE2B 2c092d22eaf716c52bd6c6ce43d1e33c1f599621ee383303c97553f9dc2d0708cf58420338184f8877cd2b0fc053c9742b04cd869583db7b2fc2dedfb4a2dddd SHA512 7c59f0e918f5ec8edbf10bdbcdca1c9bd2ba2a7b27ade69aa4ca92c0c058c434be517799ce795309c0f1c00726a1c77650101b0d1cbe189db5379b15d29ad305
+DIST apache-ant-antunit-1.4.1-src.tar.bz2.asc 224 BLAKE2B c56e3d8005b1a39e42b85fad3c542aa4dd894d9e6cc61a8ea34bce33a8fb3f56d142cb77372fd4d664d46427365d24078b7429480f689245eb31d771c525f90e SHA512 3ad2cca4240e2714d7c435828b3a3d3cbe1e57647400237ce2a96a714d877605199ccf54a2266ff35081ed9f3e23ca46306b30293c1981e55ccbbc61591ad760
diff --git a/dev-java/antunit/antunit-1.4.1-r1.ebuild b/dev-java/antunit/antunit-1.4.1-r1.ebuild
new file mode 100644
index 000000000000..5bdeed3d9cb0
--- /dev/null
+++ b/dev-java/antunit/antunit-1.4.1-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.ant:ant-antunit:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="An Antlib that provides a test framework for Apache Ant tasks and types"
+HOMEPAGE="https://ant.apache.org/antlibs/antunit/"
+SRC_URI="mirror://apache/ant/antlibs/${PN}/source/apache-ant-${P}-src.tar.bz2
+ verify-sig? ( https://downloads.apache.org/ant/antlibs/antunit/source/apache-ant-${P}-src.tar.bz2.asc )"
+S="${WORKDIR}/apache-ant-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/ant.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-ant )"
+# reset to ant-core:0 when ready
+CP_DEPEND="
+ >=dev-java/ant-1.10.14:0
+ dev-java/junit:4
+"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? ( >=dev-java/ant-1.10.14:0[junit,testutil] )
+"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( NOTICE README WHATSNEW )
+HTML_DOCS=( README.html )
+PATCHES=(
+ # Some tests expect classes in "build" instead in "target" directory.
+ "${FILESDIR}/antunit-1.4.1-gentoo.patch"
+)
+
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR="src/main"
+JAVA_TEST_GENTOO_CLASSPATH="ant"
+JAVA_TEST_SRC_DIR="src/tests/junit"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ # java-pkg-simple.eclass wants resources in JAVA_RESOURCE_DIRS
+ mkdir -p "res/org/apache/ant/antunit" || die
+ cp {src/main,res}/org/apache/ant/antunit/antlib.xml || die
+}
diff --git a/dev-java/antunit/files/antunit-1.4.1-gentoo.patch b/dev-java/antunit/files/antunit-1.4.1-gentoo.patch
new file mode 100644
index 000000000000..7aeccf662bc7
--- /dev/null
+++ b/dev-java/antunit/files/antunit-1.4.1-gentoo.patch
@@ -0,0 +1,62 @@
+--- a/src/etc/testcases/antunit/java-io.xml
++++ b/src/etc/testcases/antunit/java-io.xml
+@@ -30,7 +30,7 @@ under the License.
+ <target name="testTaskHandlingOutput">
+ <java classname="org.apache.ant.antunit.AntUnitTest$HelloWorld"
+ outputproperty="propertyToSet"
+- classpath="build/test-classes"
++ classpath="target/test-classes"
+ failonerror="true"
+ />
+ <au:assertEquals expected="HelloWorld" actual="${propertyToSet}" />
+--- a/src/etc/testcases/assert.xml
++++ b/src/etc/testcases/assert.xml
+@@ -156,28 +156,28 @@ under the License.
+ <au:assertDestIsUptodate
+ src="../../main/org/apache/ant/antunit/AssertTask.java"
+
+- dest="../../../build/classes/org/apache/ant/antunit/AssertTask.class"/>
++ dest="../../../target/classes/org/apache/ant/antunit/AssertTask.class"/>
+ </target>
+
+ <target name="assertDestIsUptodateFail">
+ <au:assertDestIsUptodate
+ dest="../../main/org/apache/ant/antunit/AssertTask.java"
+
+- src="../../../build/classes/org/apache/ant/antunit/AssertTask.class"/>
++ src="../../../target/classes/org/apache/ant/antunit/AssertTask.class"/>
+ </target>
+
+ <target name="assertDestIsOutofdatePass">
+ <au:assertDestIsOutofdate
+ dest="../../main/org/apache/ant/antunit/AssertTask.java"
+
+- src="../../../build/classes/org/apache/ant/antunit/AssertTask.class"/>
++ src="../../../target/classes/org/apache/ant/antunit/AssertTask.class"/>
+ </target>
+
+ <target name="assertDestIsOutofdateFail">
+ <au:assertDestIsOutofdate
+ src="../../main/org/apache/ant/antunit/AssertTask.java"
+
+- dest="../../../build/classes/org/apache/ant/antunit/AssertTask.class"/>
++ dest="../../../target/classes/org/apache/ant/antunit/AssertTask.class"/>
+ </target>
+
+ <target name="assertFilesMatchPass">
+--- a/src/tests/junit/org/apache/ant/antunit/AssertTest.java
++++ b/src/tests/junit/org/apache/ant/antunit/AssertTest.java
+@@ -137,11 +137,11 @@ public class AssertTest extends BuildFileTest {
+ }
+ public void testDestIsUptodateFail() {
+ testFail("assertDestIsUptodateFail",
+- "Expected '../../main/org/apache/ant/antunit/AssertTask.java' to be more recent than '../../../build/classes/org/apache/ant/antunit/AssertTask.class'");
++ "Expected '../../main/org/apache/ant/antunit/AssertTask.java' to be more recent than '../../../target/classes/org/apache/ant/antunit/AssertTask.class'");
+ }
+ public void testDestIsOutofdateFail() {
+ testFail("assertDestIsOutofdateFail",
+- "Expected '../../main/org/apache/ant/antunit/AssertTask.java' to be more recent than '../../../build/classes/org/apache/ant/antunit/AssertTask.class'");
++ "Expected '../../main/org/apache/ant/antunit/AssertTask.java' to be more recent than '../../../target/classes/org/apache/ant/antunit/AssertTask.class'");
+ }
+ public void testFilesMatchFail() {
+ testFail("assertFilesMatchFail",
diff --git a/dev-java/antunit/metadata.xml b/dev-java/antunit/metadata.xml
new file mode 100644
index 000000000000..8c6f551aec20
--- /dev/null
+++ b/dev-java/antunit/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">apache/ant-antlibs-antunit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/apache-rat-core/Manifest b/dev-java/apache-rat-core/Manifest
deleted file mode 100644
index bb5c63616d58..000000000000
--- a/dev-java/apache-rat-core/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST apache-rat-0.13-src.tar.bz2 197443 BLAKE2B 5880894bf48e62c97fefebe5672964a78016ba045ca6a13a9b100c1a15cf0a6933edc22c41cb3552f30ebea0486fd6b415f60902f0af7d96663611bfef1a1781 SHA512 564cb2b0f21c98ca5c10566417c0d2732cd177efb68607589e43bcf64eeedee7a570dbea7ef4d6237f6438ecb40d382cb96bd0d6f60c1d1ba1f76778f15ee26a
diff --git a/dev-java/apache-rat-core/apache-rat-core-0.13.ebuild b/dev-java/apache-rat-core/apache-rat-core-0.13.ebuild
deleted file mode 100644
index 5e26db26f1a7..000000000000
--- a/dev-java/apache-rat-core/apache-rat-core-0.13.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom apache-rat-core/pom.xml --download-uri https://mirrors.nav.ro/apache//creadur/apache-rat-0.13/apache-rat-0.13-src.tar.bz2 --slot 0 --keywords "~amd64 ~x86" --ebuild apache-rat-core-0.13.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.rat:apache-rat-core:0.13"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="The core functionality, shared by the Ant tasks and the Maven plugin"
-HOMEPAGE="https://creadur.apache.org/rat/apache-rat-core/"
-SRC_URI="mirror://apache//creadur/apache-rat-${PV}/apache-rat-${PV}-src.tar.bz2"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# Common dependencies
-# POM: ${PN}/pom.xml
-# commons-cli:commons-cli:1.3.1 -> >=dev-java/commons-cli-1.3.1:1
-# commons-collections:commons-collections:3.2.2 -> !!!suitble-mavenVersion-not-found!!!
-# commons-io:commons-io:2.2 -> >=dev-java/commons-io-2.8.0:1
-# commons-lang:commons-lang:2.6 -> >=dev-java/commons-lang-2.6:2.1
-# org.apache.commons:commons-compress:1.11 -> >=dev-java/commons-compress-1.20:0
-# org.apache.rat:apache-rat-api:0.13 -> >=dev-java/apache-rat-api-0.13:0
-
-CDEPEND="
- >=dev-java/commons-cli-1.3.1:1
- >=dev-java/commons-compress-1.20:0
- dev-java/commons-collections:0
- >=dev-java/commons-io-2.8.0:1
- dev-java/commons-lang:3.6
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-S="${WORKDIR}/apache-rat-${PV}/${PN}"
-
-PATCHES=(
- "${FILESDIR}/${P}-commons-lang3.patch"
-)
-
-JAVA_GENTOO_CLASSPATH="commons-cli-1,commons-collections,commons-io-1,commons-lang-3.6,commons-compress"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS=(
- "src/main/resources"
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS=(
- "src/test/resources"
-)
-
-src_prepare() {
- default
- java-utils-2_src_prepare
-}
diff --git a/dev-java/apache-rat-core/files/apache-rat-core-0.13-commons-lang3.patch b/dev-java/apache-rat-core/files/apache-rat-core-0.13-commons-lang3.patch
deleted file mode 100644
index 77a90207cbcf..000000000000
--- a/dev-java/apache-rat-core/files/apache-rat-core-0.13-commons-lang3.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/main/java/org/apache/rat/Report.java b/src/main/java/org/apache/rat/Report.java
-index de4a2e7..ecb8ddf 100644
---- a/src/main/java/org/apache/rat/Report.java
-+++ b/src/main/java/org/apache/rat/Report.java
-@@ -21,7 +21,7 @@ package org.apache.rat;
- import org.apache.commons.cli.*;
- import org.apache.commons.io.FileUtils;
- import org.apache.commons.io.filefilter.*;
--import org.apache.commons.lang.StringUtils;
-+import org.apache.commons.lang3.StringUtils;
- import org.apache.rat.api.RatException;
- import org.apache.rat.report.IReportable;
- import org.apache.rat.report.RatReport;
-diff --git a/src/main/java/org/apache/rat/document/impl/guesser/GuessUtils.java b/src/main/java/org/apache/rat/document/impl/guesser/GuessUtils.java
-index d56a672..d6b7f4d 100644
---- a/src/main/java/org/apache/rat/document/impl/guesser/GuessUtils.java
-+++ b/src/main/java/org/apache/rat/document/impl/guesser/GuessUtils.java
-@@ -20,7 +20,7 @@ package org.apache.rat.document.impl.guesser;
-
- import java.util.Locale;
-
--import org.apache.commons.lang.StringUtils;
-+import org.apache.commons.lang3.StringUtils;
-
- public class GuessUtils {
-
-diff --git a/src/main/java/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java b/src/main/java/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java
-index 02e21d6..5001dff 100644
---- a/src/main/java/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java
-+++ b/src/main/java/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java
-@@ -18,7 +18,7 @@
- */
- package org.apache.rat.report.claim.impl.xml;
-
--import org.apache.commons.lang.time.DateFormatUtils;
-+import org.apache.commons.lang3.time.DateFormatUtils;
- import org.apache.rat.api.Document;
- import org.apache.rat.api.MetaData;
- import org.apache.rat.api.RatException;
diff --git a/dev-java/apache-rat-core/metadata.xml b/dev-java/apache-rat-core/metadata.xml
deleted file mode 100644
index 6ef2d50cf07e..000000000000
--- a/dev-java/apache-rat-core/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/apache-rat-tasks/Manifest b/dev-java/apache-rat-tasks/Manifest
deleted file mode 100644
index bb5c63616d58..000000000000
--- a/dev-java/apache-rat-tasks/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST apache-rat-0.13-src.tar.bz2 197443 BLAKE2B 5880894bf48e62c97fefebe5672964a78016ba045ca6a13a9b100c1a15cf0a6933edc22c41cb3552f30ebea0486fd6b415f60902f0af7d96663611bfef1a1781 SHA512 564cb2b0f21c98ca5c10566417c0d2732cd177efb68607589e43bcf64eeedee7a570dbea7ef4d6237f6438ecb40d382cb96bd0d6f60c1d1ba1f76778f15ee26a
diff --git a/dev-java/apache-rat-tasks/apache-rat-tasks-0.13.ebuild b/dev-java/apache-rat-tasks/apache-rat-tasks-0.13.ebuild
deleted file mode 100644
index cdc925c1a2f0..000000000000
--- a/dev-java/apache-rat-tasks/apache-rat-tasks-0.13.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom apache-rat-tasks/pom.xml --download-uri https://mirrors.nav.ro/apache//creadur/apache-rat-0.13/apache-rat-0.13-src.tar.bz2 --slot 0 --keywords "~amd64 ~x86" --ebuild apache-rat-tasks-0.13.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.rat:apache-rat-tasks:0.13"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A plugin for Apache Ant that runs Apache Rat to audit the source"
-HOMEPAGE="https://creadur.apache.org/rat/apache-rat-tasks/"
-SRC_URI="mirror://apache//creadur/apache-rat-${PV}/apache-rat-${PV}-src.tar.bz2"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# Common dependencies
-# POM: ${PN}/pom.xml
-# org.apache.rat:apache-rat-core:0.13 -> >=dev-java/apache-rat-core-0.13:0
-
-CDEPEND="
- dev-java/ant-core:0
- ~dev-java/apache-rat-core-${PV}:0
-"
-
-# Compile dependencies
-# POM: ${PN}/pom.xml
-# org.apache.ant:ant:1.9.12 -> !!!groupId-not-found!!!
-# POM: ${PN}/pom.xml
-# test? junit:junit:4.12 -> >=dev-java/junit-4.12:4
-# test? org.apache.ant:ant-antunit:1.4 -> !!!groupId-not-found!!!
-# test? org.apache.ant:ant-testutil:1.9.12 -> !!!groupId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
- test? (
- dev-java/ant-testutil:0
- )"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-S="${WORKDIR}/apache-rat-${PV}/${PN}"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-tests.patch"
-)
-
-JAVA_GENTOO_CLASSPATH="ant-core,apache-rat-core"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS=(
- "src/main/resources"
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="ant-testutil,junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS=(
- "src/test/resources"
-)
-
-src_prepare() {
- default
- java-utils-2_src_prepare
-}
diff --git a/dev-java/apache-rat-tasks/files/apache-rat-tasks-0.13-fix-tests.patch b/dev-java/apache-rat-tasks/files/apache-rat-tasks-0.13-fix-tests.patch
deleted file mode 100644
index 536b68371c3a..000000000000
--- a/dev-java/apache-rat-tasks/files/apache-rat-tasks-0.13-fix-tests.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/src/test/resources/antunit/report-junit.xml b/src/test/resources/antunit/report-junit.xml
-index 54b0c9c..d12fee4 100644
---- a/src/test/resources/antunit/report-junit.xml
-+++ b/src/test/resources/antunit/report-junit.xml
-@@ -48,7 +48,7 @@
- <target name="all"/>
-
- <target name="testWithReportSentToFile">
-- <property name="report.file" location="${output.dir}/selftest.report"/>
-+ <property name="report.file" location="../../../../target/anttasks/selftest.report"/>
- <rat:report reportFile="${report.file}">
- <file file="${ant.file}"/>
- </rat:report>
-@@ -88,22 +88,22 @@
- <target name="testAddLicenseHeaders">
- <delete dir="${output.dir}/it-sources"/>
- <mkdir dir="${output.dir}/it-sources"/>
-- <copy file="src/test/resources/antunit/index.apt" tofile="${output.dir}/it-sources/index.apt"/>
-+ <copy file="index.apt" tofile="../../../../target/anttasks/it-sources/index.apt"/>
- <rat:report addLicenseHeaders="true">
-- <file file="${output.dir}/it-sources/index.apt"/>
-+ <file file="../../../../target/anttasks/it-sources/index.apt"/>
- </rat:report>
- </target>
-
- <target name="testISO88591">
- <rat:report format="xml">
-- <file file="src/test/resources/org/example/iso-8859-1.html"/>
-+ <file file="../../../../src/test/resources/org/example/iso-8859-1.html"/>
- </rat:report>
- </target>
-
- <target name="testISO88591WithReportFile">
-- <property name="report.file" location="${output.dir}/selftest.report"/>
-+ <property name="report.file" location="../../../../target/anttasks/selftest.report"/>
- <rat:report reportFile="${report.file}" format="xml">
-- <file file="src/test/resources/org/example/iso-8859-1.html"/>
-+ <file file="../../../../src/test/resources/org/example/iso-8859-1.html"/>
- </rat:report>
- </target>
- </project>
diff --git a/dev-java/apache-rat-tasks/metadata.xml b/dev-java/apache-rat-tasks/metadata.xml
deleted file mode 100644
index 6ef2d50cf07e..000000000000
--- a/dev-java/apache-rat-tasks/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/apache-rat/Manifest b/dev-java/apache-rat/Manifest
new file mode 100644
index 000000000000..586027309acd
--- /dev/null
+++ b/dev-java/apache-rat/Manifest
@@ -0,0 +1,2 @@
+DIST apache-rat-0.15-src.tar.bz2 203040 BLAKE2B 0727fb932cfbab7080eba5115bee69e5c46155a231509109a5c7aecf40ed539d4357f2d9b31342717306221891e4a411e01077ae55a0988abe4926e40f1fafc4 SHA512 7f9fb219a5ce0b95909f006140b20e7621d9f5ce583c42a57e2783ec40fd842e75b546843ab033a99bf5108d0d8369a0ab1aac80e33af9685f651fed3dd603ee
+DIST apache-rat-0.15-src.tar.bz2.asc 833 BLAKE2B b87e059a5a83d3d728c28c25926129743fdfb6a5c7cf2e258892d86711e7f5890d140ca1cfa5fc1012d56b6321ec2c93903ec30854bd3536216c8f1fd269f504 SHA512 f5abcb3df5d23834deab8c3c1a476100324452cba88e9185fb398dd6118c3c8ff8dc00c4c9f8166245833d6e602c51bc8cdf20361813bbe1e720022766412b8d
diff --git a/dev-java/apache-rat/apache-rat-0.15-r1.ebuild b/dev-java/apache-rat/apache-rat-0.15-r1.ebuild
new file mode 100644
index 000000000000..330f4023ee7a
--- /dev/null
+++ b/dev-java/apache-rat/apache-rat-0.15-r1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# javadoc is broken for java 17, see https://bugs.gentoo.org/914458
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ org.apache.rat:apache-rat-core:${PV}
+ org.apache.rat:apache-rat-tasks:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Apache Rat is a release audit tool, focused on licenses"
+HOMEPAGE="https://creadur.apache.org/rat/"
+SRC_URI="https://archive.apache.org/dist/creadur/${P}/${P}-src.tar.bz2
+ verify-sig? ( https://archive.apache.org/dist/creadur/${P}/${P}-src.tar.bz2.asc )"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14:0
+ dev-java/commons-cli:1
+ dev-java/commons-collections:4
+ dev-java/commons-compress:0
+ dev-java/commons-io:1
+ dev-java/commons-lang:3.6
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? ( >=dev-java/ant-1.10.14:0[junit,testutil] )"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-creadur )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/creadur.apache.org.asc"
+
+DOCS=( NOTICE README.md README.txt RELEASE-NOTES.txt RELEASE_NOTES.txt )
+
+PATCHES=( "${FILESDIR}/apache-rat-0.15-fix-tests.patch" )
+
+JAVADOC_SRC_DIRS=(
+ "${PN}-core/src/main/java"
+ "${PN}-tasks/src/main/java"
+)
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ einfo "Compiling apache-rat-core.jar"
+ JAVA_JAR_FILENAME="${PN}-core.jar"
+ JAVA_RESOURCE_DIRS="${PN}-core/src/main/resources"
+ JAVA_SRC_DIR="${PN}-core/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${PN}-core.jar"
+ rm -r target || die
+
+ einfo "Compiling apache-rat-tasks.jar"
+ JAVA_JAR_FILENAME="${PN}-tasks.jar"
+ JAVA_RESOURCE_DIRS="${PN}-tasks/src/main/resources"
+ JAVA_SRC_DIR="${PN}-tasks/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${PN}-tasks.jar"
+ rm -r target || die
+
+ # javadoc is broken for java 17, see https://bugs.gentoo.org/914458
+ JAVADOC_CLASSPATH="${JAVA_GENTOO_CLASSPATH}"
+ use doc && ejavadoc
+}
+
+src_test() {
+ JAVA_TEST_GENTOO_CLASSPATH="ant,junit-4"
+
+ einfo "Testing apache-rat-core"
+ cp -r "${PN}"-core/src/{main,test} src || die
+ JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+ JAVA_TEST_SRC_DIR="src/test/java"
+ java-pkg-simple_src_test
+ rm -r src/{main,test} || die
+
+ einfo "Testing apache-rat-tasks"
+ cp -r "${PN}"-tasks/src/{main,test} src || die
+ mkdir -p target/it-sources || die
+ JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+ JAVA_TEST_SRC_DIR="src/test/java"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar "${PN}-core.jar"
+ java-pkg_dojar "${PN}-tasks.jar"
+ java-pkg_dolauncher "${PN}" --main org.apache.rat.Report
+
+ use doc && java-pkg_dojavadoc target/api
+
+ if use source; then
+ java-pkg_dosrc "${PN}-core/src/main/java/*"
+ java-pkg_dosrc "${PN}-tasks/src/main/java/*"
+ fi
+}
diff --git a/dev-java/apache-rat/files/apache-rat-0.15-fix-tests.patch b/dev-java/apache-rat/files/apache-rat-0.15-fix-tests.patch
new file mode 100644
index 000000000000..b9cb73648008
--- /dev/null
+++ b/dev-java/apache-rat/files/apache-rat-0.15-fix-tests.patch
@@ -0,0 +1,39 @@
+--- a/apache-rat-tasks/src/test/resources/antunit/report-junit.xml
++++ b/apache-rat-tasks/src/test/resources/antunit/report-junit.xml
+@@ -48,7 +48,7 @@
+ <target name="all"/>
+
+ <target name="testWithReportSentToFile">
+- <property name="report.file" location="${output.dir}/selftest.report"/>
++ <property name="report.file" location="../../../../target/anttasks/selftest.report"/>
+ <rat:report reportFile="${report.file}">
+ <file file="${ant.file}"/>
+ </rat:report>
+@@ -88,22 +88,22 @@
+ <target name="testAddLicenseHeaders">
+ <delete dir="${output.dir}/it-sources"/>
+ <mkdir dir="${output.dir}/it-sources"/>
+- <copy file="src/test/resources/antunit/index.apt" tofile="${output.dir}/it-sources/index.apt"/>
++ <copy file="index.apt" tofile="../../../../target/anttasks/it-sources/index.apt"/>
+ <rat:report addLicenseHeaders="true">
+- <file file="${output.dir}/it-sources/index.apt"/>
++ <file file="../../../../target/anttasks/it-sources/index.apt"/>
+ </rat:report>
+ </target>
+
+ <target name="testISO88591">
+ <rat:report format="xml">
+- <file file="src/test/resources/org/example/iso-8859-1.html"/>
++ <file file="../../../../src/test/resources/org/example/iso-8859-1.html"/>
+ </rat:report>
+ </target>
+
+ <target name="testISO88591WithReportFile">
+- <property name="report.file" location="${output.dir}/selftest.report"/>
++ <property name="report.file" location="../../../../target/anttasks/selftest.report"/>
+ <rat:report reportFile="${report.file}" format="xml">
+- <file file="src/test/resources/org/example/iso-8859-1.html"/>
++ <file file="../../../../src/test/resources/org/example/iso-8859-1.html"/>
+ </rat:report>
+ </target>
+ </project>
diff --git a/dev-java/apache-rat/metadata.xml b/dev-java/apache-rat/metadata.xml
new file mode 100644
index 000000000000..7c36c1b69ae5
--- /dev/null
+++ b/dev-java/apache-rat/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">apache/creadur-rat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/aqute-bnd-annotation/Manifest b/dev-java/aqute-bnd-annotation/Manifest
deleted file mode 100644
index 5b277a425cec..000000000000
--- a/dev-java/aqute-bnd-annotation/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST biz.aQute.bnd.annotation-6.3.1-sources.jar 50600 BLAKE2B 6ace86a803c378be17b4ecfb658eb17e9c95f4f8797cdf22cbb9a5acb2a382fe0ee6791ad0280a2de9d9e85fbe2732487e693b2c93f08145b3633810f480f8b9 SHA512 751855a173e6d5f9d09f6d63775b97d971cebbfc019053988ec7fe144d0f49b4d09b9a2339d63bb43cea51d09d7d766554255f727cad8d73d9c196097e58d0fd
diff --git a/dev-java/aqute-bnd-annotation/aqute-bnd-annotation-6.3.1.ebuild b/dev-java/aqute-bnd-annotation/aqute-bnd-annotation-6.3.1.ebuild
deleted file mode 100644
index 169127ab6753..000000000000
--- a/dev-java/aqute-bnd-annotation/aqute-bnd-annotation-6.3.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom biz.aQute.bnd.annotation-6.3.1.pom --download-uri https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.annotation/6.3.1/biz.aQute.bnd.annotation-6.3.1-sources.jar --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild aqute-bnd-annotation-6.3.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="biz.aQute.bnd:biz.aQute.bnd.annotation:6.3.1"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="bnd Annotations Library"
-HOMEPAGE="https://bnd.bndtools.org/"
-SRC_URI="https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.annotation/${PV}/biz.aQute.bnd.annotation-${PV}-sources.jar"
-
-LICENSE="Apache-2.0 EPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
-
-# Common dependencies
-# POM: biz.aQute.bnd.annotation-${PV}.pom
-# org.osgi:org.osgi.resource:1.0.0 -> !!!artifactId-not-found!!!
-# org.osgi:org.osgi.service.serviceloader:1.0.0 -> !!!artifactId-not-found!!!
-
-CP_DEPEND="dev-java/osgi-annotation:0"
-
-# Compile dependencies
-# POM: biz.aQute.bnd.annotation-${PV}.pom
-# org.osgi:org.osgi.namespace.extender:1.0.1 -> !!!artifactId-not-found!!!
-# org.osgi:org.osgi.namespace.service:1.0.0 -> !!!artifactId-not-found!!!
-# org.osgi:osgi.annotation:8.1.0 -> >=dev-java/osgi-annotation-8.1.0:0
-
-DEPEND=">=virtual/jdk-1.8:*
- dev-java/osgi-cmpn:8
- dev-java/osgi-core:0
- ${CP_DEPEND}"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-JAVA_CLASSPATH_EXTRA="osgi-cmpn-8,osgi-core"
-JAVA_SRC_DIR="."
diff --git a/dev-java/asm/Manifest b/dev-java/asm/Manifest
index d1f433cd189e..2ec40365fab3 100644
--- a/dev-java/asm/Manifest
+++ b/dev-java/asm/Manifest
@@ -1,3 +1 @@
-DIST asm-ASM_4_0.tar.gz 14789505 BLAKE2B 62b49d904f1ef2d32379f4f5d644cdc274b30f292ee4f64ad02be7d2226a90965f7b12421700e79dcd1e67a46e6a8543d5e353486a1577313616688ddc57f3b3 SHA512 e654623a882d9fe414e71861183f64840f7b6629231864872497d4bf9274e8ac05e05496593fa54a90d8c6a2e6d701b9a6f3876df611637f7d2079c5519def1e
-DIST asm-ASM_5_1.tar.gz 16258842 BLAKE2B bd7d717cdfa6ff652c96b88d7b7d33fae614acba390c256ea72ecfbb3edc48382621a076dedf9b8728fdb1d0961cda943f165f99de840824b766c9af45a49339 SHA512 4bb32ce6eba267928261238f8f13cd2365ab374780039ad1df31698cd791645a370aca58c44270ec05f8377d6aa0a0d00f9f3890961cbd32a10cbd2e79e2d518
-DIST asm-ASM_9_3.tar.gz 1666740 BLAKE2B 6905233f666159f861dda68a855e8f5632817b0627c2006d3a8e61340cd4afca9310860dd1eff46173ca7356583e6c44027e674f7e17eacaaf0dbcc24b92198e SHA512 401a4dd7c2638bbad940ca92c42b7ec6f44e1d19c407bba3cd6a081e0b51969cf62a0fbcc407ef4889d3c7d6c7b9893e77642c058f812e9d10b9d67c5215be42
+DIST asm-ASM_9_6.tar.bz2 1374579 BLAKE2B 621b19f1818ffdd451037af210ec7c3286e3dabdb1d6192157c2e6e8c101f599691cd4de57adf500f5413b4aaf4f808d6ac791e84626223a7be5672a17137670 SHA512 86b2db3e81c29c465d4128736f88ae3b73af8f312915921549d0acdb50a8d2c2c2beed5162af164b6e75278702af0c6f0a8d84b4133516eb4ac419520b7c764d
diff --git a/dev-java/asm/asm-5.1-r1.ebuild b/dev-java/asm/asm-5.1-r1.ebuild
deleted file mode 100644
index ff2f2f95764b..000000000000
--- a/dev-java/asm/asm-5.1-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Bytecode manipulation framework for Java"
-HOMEPAGE="https://asm.ow2.io"
-MY_P="ASM_${PV//./_}"
-SRC_URI="https://gitlab.ow2.org/asm/asm/-/archive/${MY_P}/asm-${MY_P}.tar.gz https://gitlab.ow2.org/asm/asm/-/archive/ASM_4_0/asm-ASM_4_0.tar.gz"
-
-LICENSE="BSD"
-SLOT="4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~x64-macos"
-
-CDEPEND=""
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/asm-${MY_P}"
-
-# Needs dependencies we don't have yet.
-RESTRICT="test"
-
-EANT_DOC_TARGET="jdoc"
-
-# Fails if this objectweb.ant.tasks.path is not set.
-# Java generics seem to break unless product.noshrink is set.
-EANT_EXTRA_ARGS="-Dobjectweb.ant.tasks.path=foobar -Dproduct.noshrink=true"
-
-src_prepare() {
- default
- # Borrow some ant scripts from an old version to avoid requiring
- # bndlib and friends. This may not work forever!
- cp -vf "../asm-ASM_4_0/archive"/*.xml archive/ || die
-}
-
-src_install() {
- for x in output/dist/lib/*.jar ; do
- java-pkg_newjar "${x}" $(basename "${x%-*}.jar")
- done
-
- use doc && java-pkg_dojavadoc output/dist/doc/javadoc/user/
- use source && java-pkg_dosrc src/*
-}
diff --git a/dev-java/asm/asm-9.3.ebuild b/dev-java/asm/asm-9.3.ebuild
deleted file mode 100644
index 08fac0e70b42..000000000000
--- a/dev-java/asm/asm-9.3.ebuild
+++ /dev/null
@@ -1,65 +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"
-MAVEN_ID="org.ow2.asm:asm-bom:9.3"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Bytecode manipulation framework for Java"
-HOMEPAGE="https://asm.ow2.io"
-MY_P="ASM_${PV//./_}"
-SRC_URI="https://gitlab.ow2.org/asm/asm/-/archive/${MY_P}/asm-${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="9"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~x64-macos"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-ASM_MODULES=( "asm" "asm-tree" "asm-analysis" "asm-commons" "asm-util" )
-
-S="${WORKDIR}/asm-${MY_P}"
-
-src_compile() {
- local module
- for module in "${ASM_MODULES[@]}"; do
- einfo "Compiling ${module}"
- JAVA_RESOURCE_DIRS=()
- JAVA_MAIN_CLASS=""
- JAVA_SRC_DIR="$module/src/main/java"
- JAVA_JAR_FILENAME="$module.jar"
- # Not all of the modules have resources.
- if [[ -d $module/src/main/resources ]]; then \
- JAVA_RESOURCE_DIRS="$module/src/main/resources"
- fi
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":$module.jar"
- rm -r target || die
- done
-
- if use doc; then
- JAVA_SRC_DIR=()
- JAVA_JAR_FILENAME="ignoreme.jar"
- for module in "${ASM_MODULES[@]}"; do
- JAVA_SRC_DIR+=( "$module/src/main/java" )
- done
- java-pkg-simple_src_compile
- fi
-}
-
-src_install() {
- einstalldocs # https://bugs.gentoo.org/789582
- local module
- for module in "${ASM_MODULES[@]}"; do
- java-pkg_dojar $module.jar
- if use source; then
- java-pkg_dosrc "$module/src/main/java/*"
- fi
- done
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
-}
diff --git a/dev-java/asm/asm-9.6.ebuild b/dev-java/asm/asm-9.6.ebuild
new file mode 100644
index 000000000000..ac4e0a56d01f
--- /dev/null
+++ b/dev-java/asm/asm-9.6.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# tests not enabled because of missing eclass support of junit-jupiter
+JAVA_PKG_IUSE="doc source"
+MAVEN_PROVIDES="
+ org.ow2.asm:asm-bom:${PV}
+ org.ow2.asm:asm:${PV}
+ org.ow2.asm:asm-analysis:${PV}
+ org.ow2.asm:asm-commons:${PV}
+ org.ow2.asm:asm-tree:${PV}
+ org.ow2.asm:asm-util:${PV}
+"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Bytecode manipulation framework for Java"
+HOMEPAGE="https://asm.ow2.io"
+MY_P="ASM_${PV//./_}"
+SRC_URI="https://gitlab.ow2.org/asm/asm/-/archive/${MY_P}/asm-${MY_P}.tar.bz2"
+S="${WORKDIR}/asm-${MY_P}"
+
+LICENSE="BSD"
+SLOT="9"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~x64-macos"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+ASM_MODULES=( "asm" "asm-tree" "asm-analysis" "asm-commons" "asm-util" )
+
+src_prepare() {
+ default
+ local module
+ touch "${T}/asm.module" || die
+ for module in "${ASM_MODULES[@]}"; do
+ module=${module/-/.}
+ cat > ${module/./-}/src/main/java/module-info.java <<-EOF || die
+ open module org.objectweb.${module/analysis/tree.analysis} {
+ $(cat ${T}/asm.module)
+ requires java.base;
+ exports org.objectweb.${module/analysis/tree.analysis};
+ }
+ EOF
+ echo "requires transitive org.objectweb.${module/analysis/tree.analysis};" \
+ >> "${T}/asm.module" || die
+ done
+ sed -e '/^$/d' \
+ -e '/asm;/p;s:\(asm\)\(;\):\1.signature\2:' \
+ -i asm/src/main/java/module-info.java || die
+ sed -e '/analysis/d' \
+ -i asm-commons/src/main/java/module-info.java || die
+ sed -e '/commons/d' \
+ -i asm-util/src/main/java/module-info.java || die
+}
+
+src_compile() {
+ local module
+ for module in "${ASM_MODULES[@]}"; do
+ einfo "Compiling ${module}"
+ JAVA_JAR_FILENAME="${module}.jar"
+ JAVA_SRC_DIR="${module}/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${module}.jar"
+ rm -r target || die
+ done
+
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ JAVA_SRC_DIR=()
+ for module in "${ASM_MODULES[@]}"; do
+ rm "${module}/src/main/java/module-info.java" || die
+ JAVA_SRC_DIR+=("${module}/src/main/java")
+ done
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_install() {
+ local module
+ for module in "${ASM_MODULES[@]}"; do
+ java-pkg_dojar ${module}.jar
+ if use source; then
+ java-pkg_dosrc "${module}/src/main/java/*"
+ fi
+ done
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+ default
+}
diff --git a/dev-java/asm/metadata.xml b/dev-java/asm/metadata.xml
index a14dfc10700a..930ec624c680 100644
--- a/dev-java/asm/metadata.xml
+++ b/dev-java/asm/metadata.xml
@@ -25,6 +25,6 @@
</longdescription>
<upstream>
<doc>https://asm.ow2.io/documentation.html</doc>
- <bugs-to>https://gitlab.ow2.org/asm/asm/issues</bugs-to>
+ <bugs-to>https://gitlab.ow2.org/asm/asm/-/issues</bugs-to>
</upstream>
</pkgmetadata>
diff --git a/dev-java/aspectj/aspectj-1.9.7-r1.ebuild b/dev-java/aspectj/aspectj-1.9.7-r1.ebuild
new file mode 100644
index 000000000000..e3b7c408c182
--- /dev/null
+++ b/dev-java/aspectj/aspectj-1.9.7-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A seamless aspect-oriented extension to the Java programming language"
+HOMEPAGE="https://eclipse.org/aspectj/"
+SRC_URI="https://github.com/eclipse-aspectj/aspectj/archive/V${PV//./_}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+CDEPEND="dev-java/asm:9
+ dev-java/commons-logging:0
+ dev-java/jakarta-regexp:1.4"
+DEPEND="${CDEPEND}
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+BDEPEND="app-arch/zip"
+
+S=${WORKDIR}/org.${P//./_}
+
+JAVA_GENTOO_CLASSPATH_EXTRA="aspectjweaver.jar"
+JAVA_GENTOO_CLASSPATH="commons-logging,asm-9,jakarta-regexp-1.4"
+JAVA_ENCODING="iso8859-1"
+
+src_compile() {
+ JAVA_SRC_DIR=( {asm,bcel-builder,bridge,loadtime,org.aspectj.matcher,runtime,util,weaver}/src/main/java )
+ JAVA_RESOURCE_DIRS=( {bridge,org.aspectj.matcher,weaver}/src/main/resources )
+ JAVA_JAR_FILENAME="aspectjweaver.jar"
+ java-pkg-simple_src_compile
+ rm -rf target || die
+
+ JAVA_SRC_DIR=( runtime/src/main )
+ JAVA_JAR_FILENAME="aspectjrt.jar"
+ java-pkg-simple_src_compile
+ zip -d aspectjrt.jar *.dtd org/aspectj/{bridge,weaver}/* || die
+ rm -rf target || die
+
+ # package org.eclipse.core.resources does not exist
+ # package org.eclipse.core.runtime does not exist
+# JAVA_SRC_DIR=( org/aspectj/{ajde,ajdt,apache,asm,bridge,internal,lang,org,runtime,tools,util,weaver} )
+# JAVA_JAR_FILENAME="aspectjtools.jar"
+# java-pkg-simple_src_compile
+
+ # bcel-verifier is needed for testing dev-java/asm:3
+ # should go away once aspectjtools.jar can be built (included there)
+ JAVA_SRC_DIR=( bcel-builder/verifier-src )
+ JAVA_JAR_FILENAME="bcel-verifier.jar"
+ java-pkg-simple_src_compile
+ rm -rf target || die
+
+ # once again for javadocs
+ if use doc; then
+ JAVA_SRC_DIR=( {asm,bcel-builder,bridge,loadtime,org.aspectj.matcher,runtime,util,weaver}/src/main/java )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_install() {
+ java-pkg_dojar "aspectjweaver.jar"
+ java-pkg_dojar "aspectjrt.jar"
+# java-pkg_dojar "aspectjtools.jar"
+ java-pkg_dojar "bcel-verifier.jar"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc "org"
+ fi
+}
diff --git a/dev-java/aspectj/aspectj-1.9.7.ebuild b/dev-java/aspectj/aspectj-1.9.7.ebuild
deleted file mode 100644
index 4f7ef2231ed2..000000000000
--- a/dev-java/aspectj/aspectj-1.9.7.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A seamless aspect-oriented extension to the Java programming language"
-HOMEPAGE="https://eclipse.org/aspectj/"
-SRC_URI="https://github.com/eclipse/org.aspectj/archive/refs/tags/V${PV//./_}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-CDEPEND="dev-java/asm:9
- dev-java/commons-logging:0
- dev-java/ant-apache-regexp:0"
-DEPEND="${CDEPEND}
- >=virtual/jdk-1.8:*"
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-BDEPEND="app-arch/zip"
-
-S=${WORKDIR}/org.${P//./_}
-
-JAVA_GENTOO_CLASSPATH_EXTRA="aspectjweaver.jar"
-JAVA_GENTOO_CLASSPATH="commons-logging,asm-9,ant-apache-regexp"
-JAVA_ENCODING="iso8859-1"
-
-src_compile() {
- JAVA_SRC_DIR=( {asm,bcel-builder,bridge,loadtime,org.aspectj.matcher,runtime,util,weaver}/src/main/java )
- JAVA_RESOURCE_DIRS=( {bridge,org.aspectj.matcher,weaver}/src/main/resources )
- JAVA_JAR_FILENAME="aspectjweaver.jar"
- java-pkg-simple_src_compile
- rm -rf target || die
-
- JAVA_SRC_DIR=( runtime/src/main )
- JAVA_JAR_FILENAME="aspectjrt.jar"
- java-pkg-simple_src_compile
- zip -d aspectjrt.jar *.dtd org/aspectj/{bridge,weaver}/* || die
- rm -rf target || die
-
- # package org.eclipse.core.resources does not exist
- # package org.eclipse.core.runtime does not exist
-# JAVA_SRC_DIR=( org/aspectj/{ajde,ajdt,apache,asm,bridge,internal,lang,org,runtime,tools,util,weaver} )
-# JAVA_JAR_FILENAME="aspectjtools.jar"
-# java-pkg-simple_src_compile
-
- # bcel-verifier is needed for testing dev-java/asm:3
- # should go away once aspectjtools.jar can be built (included there)
- JAVA_SRC_DIR=( bcel-builder/verifier-src )
- JAVA_JAR_FILENAME="bcel-verifier.jar"
- java-pkg-simple_src_compile
- rm -rf target || die
-
- # once again for javadocs
- if use doc; then
- JAVA_SRC_DIR=( {asm,bcel-builder,bridge,loadtime,org.aspectj.matcher,runtime,util,weaver}/src/main/java )
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
- fi
-}
-
-src_install() {
- java-pkg_dojar "aspectjweaver.jar"
- java-pkg_dojar "aspectjrt.jar"
-# java-pkg_dojar "aspectjtools.jar"
- java-pkg_dojar "bcel-verifier.jar"
-
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
-
- if use source; then
- java-pkg_dosrc "org"
- fi
-}
diff --git a/dev-java/aspectj/metadata.xml b/dev-java/aspectj/metadata.xml
index 5c762e7860f2..32a6a916de1c 100644
--- a/dev-java/aspectj/metadata.xml
+++ b/dev-java/aspectj/metadata.xml
@@ -6,7 +6,7 @@
<name>Java</name>
</maintainer>
<upstream>
- <remote-id type="github">eclipse/org.aspectj</remote-id>
- <bugs-to>https://www.eclipse.org/aspectj/bugs.php</bugs-to>
+ <bugs-to>https://github.com/eclipse-aspectj/aspectj/issues</bugs-to>
+ <remote-id type="github">eclipse-aspectj/aspectj</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/auto-service-annotations/Manifest b/dev-java/auto-service-annotations/Manifest
new file mode 100644
index 000000000000..2ef345ae2602
--- /dev/null
+++ b/dev-java/auto-service-annotations/Manifest
@@ -0,0 +1 @@
+DIST auto-service-1.1.1.tar.gz 422101 BLAKE2B 9050607917f6637e77d234074787662b32f0e245a8e61b233cb664834e50ad41523bf89869e7e7b44a9e77db22c99481dce6b7c8051934b4e159fab37f060b36 SHA512 4e18c422103d6857724d5fcb28fc2f12cdaeacd7a47ebdc1982e9cd2e9d83a90e571c5e14332e3fcaac3a9e1ecf947f0e9e89a87c0c3bb1dc2e401b1a76ca044
diff --git a/dev-java/auto-service-annotations/auto-service-annotations-1.1.1.ebuild b/dev-java/auto-service-annotations/auto-service-annotations-1.1.1.ebuild
new file mode 100644
index 000000000000..59f4e19a87db
--- /dev/null
+++ b/dev-java/auto-service-annotations/auto-service-annotations-1.1.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.google.auto.service:auto-service-annotations:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Provider-configuration files for ServiceLoader"
+HOMEPAGE="https://github.com/google/auto/"
+SRC_URI="https://github.com/google/auto/archive/auto-service-${PV}.tar.gz"
+S="${WORKDIR}/auto-auto-service-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.auto.service"
+JAVA_SRC_DIR="service/annotations/src/main/java"
diff --git a/dev-java/auto-service-annotations/metadata.xml b/dev-java/auto-service-annotations/metadata.xml
new file mode 100644
index 000000000000..5b0a6ef06e06
--- /dev/null
+++ b/dev-java/auto-service-annotations/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/auto</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/avalon-framework/Manifest b/dev-java/avalon-framework/Manifest
deleted file mode 100644
index 4766781ae621..000000000000
--- a/dev-java/avalon-framework/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST avalon-framework-4.2.0-src.tar.gz 68887 BLAKE2B da71631548bf725315c57439c5db017107d4dac529fbfdd59f68da6b97faa8b9a78fc5d89b05ccd05c7ec68b2de05d286ece6654137278b3e8873c78c65adf6c SHA512 b53dc20ecec058ef0b35a626bea6e04f85f6ae8b3645d7dc5c33c194db49b42071093cd305ef718f925b948ec1b885b2a0d8bec534592f97dc48d6e93db45671
diff --git a/dev-java/avalon-framework/avalon-framework-4.2.0-r4.ebuild b/dev-java/avalon-framework/avalon-framework-4.2.0-r4.ebuild
deleted file mode 100644
index 306dcc7b36cd..000000000000
--- a/dev-java/avalon-framework/avalon-framework-4.2.0-r4.ebuild
+++ /dev/null
@@ -1,56 +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"
-# The tests themselves are JUnit 3 tests, but using
-# junit-4 here causes 61 additional tests to be run
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Avalon Framework"
-HOMEPAGE="https://avalon.apache.org/"
-SRC_URI="mirror://apache/avalon/avalon-framework/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="4.2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-
-CP_DEPEND="
- dev-java/avalon-logkit:2.0
- dev-java/log4j-12-api:2
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- dev-java/junit:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=( "${FILESDIR}/4.2.0-enum.patch" )
-DOCS=( NOTICE.TXT )
-
-JAVA_SRC_DIR=( {api,impl}/src/java )
-
-JAVA_TEST_GENTOO_CLASSPATH="junit"
-JAVA_TEST_SRC_DIR=( {api,impl}/src/test )
-
-src_prepare() {
- default # https://bugs.gentoo.org/780585
-}
-
-src_install() {
- java-pkg-simple_src_install
- einstalldocs # https://bugs.gentoo.org/789582
-}
diff --git a/dev-java/avalon-framework/files/4.2.0-enum.patch b/dev-java/avalon-framework/files/4.2.0-enum.patch
deleted file mode 100644
index d4f4d2fcf692..000000000000
--- a/dev-java/avalon-framework/files/4.2.0-enum.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/api/src/java/org/apache/avalon/framework/.Enum.java.swp b/api/src/java/org/apache/avalon/framework/.Enum.java.swp
-deleted file mode 100644
-index 1eb30e7..0000000
-Binary files a/api/src/java/org/apache/avalon/framework/.Enum.java.swp and /dev/null differ
-diff --git a/api/src/java/org/apache/avalon/framework/Enum.java b/api/src/java/org/apache/avalon/framework/Enum.java
-index 6ceba68..37c2aec 100644
---- a/api/src/java/org/apache/avalon/framework/Enum.java
-+++ b/api/src/java/org/apache/avalon/framework/Enum.java
-@@ -126,11 +126,11 @@ public abstract class Enum
- if( !(o instanceof Enum) )
- return false;
-
-- final Enum enum = (Enum)o;
-+ final Enum enum_ = (Enum)o;
-
-- if( !getClass().equals( enum.getClass() ) )
-+ if( !getClass().equals( enum_.getClass() ) )
- return false;
-- if( m_name != null ? !m_name.equals( enum.m_name ) : enum.m_name != null )
-+ if( m_name != null ? !m_name.equals( enum_.m_name ) : enum_.m_name != null )
- return false;
-
- return true;
diff --git a/dev-java/avalon-framework/metadata.xml b/dev-java/avalon-framework/metadata.xml
deleted file mode 100644
index 6021501589e0..000000000000
--- a/dev-java/avalon-framework/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-java/avalon-logkit/Manifest b/dev-java/avalon-logkit/Manifest
deleted file mode 100644
index 10a23e81558a..000000000000
--- a/dev-java/avalon-logkit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST avalon-logkit-2.1-src.tar.gz 60218 BLAKE2B 1c35b38a22d95cffabb19e099d42697adf7aa6ad471f6cb62e02a30b6612c8405b9f7473ca61ea4f7f9c1f3b1ece6ee68f7ec711b79672330db3ac9e57642e0d SHA512 9977a3a172ca4fb5c3ad1f623ff109214f71900d2e244f175cc5d140f5f9993caca7e5ca3220728f18a1d6242d11a48990f9ce0150c36b7a9bb10a7a6d5a905a
diff --git a/dev-java/avalon-logkit/avalon-logkit-2.1-r12.ebuild b/dev-java/avalon-logkit/avalon-logkit-2.1-r12.ebuild
deleted file mode 100644
index ca7b6c624e4f..000000000000
--- a/dev-java/avalon-logkit/avalon-logkit-2.1-r12.ebuild
+++ /dev/null
@@ -1,93 +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"
-
-inherit java-pkg-2 java-ant-2
-
-# NB: this project is dead and we should look into removing it from the tree.
-# Take a look at the homepage.
-# As of February 2022, dev-java/commons-logging is the only consumer of this
-# package besides dev-java/avalon-framework. However, commons-logging is still
-# used by many other consumers and does not have an updated version that do not
-# depend on this package.
-DESCRIPTION="Easy-to-use Java logging toolkit"
-HOMEPAGE="https://avalon.apache.org/closed.html"
-SRC_URI="https://archive.apache.org/dist/excalibur/avalon-logkit/source/avalon-logkit-${PV}-src.tar.gz"
-
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-LICENSE="Apache-2.0"
-SLOT="2.0"
-
-CP_DEPEND="
- dev-java/javax-mail:0
- dev-java/jboss-jms-api:1.1
- dev-java/log4j-12-api:2
- java-virtuals/servlet-api:3.0"
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*
- test? (
- dev-java/ant-junit:0
- )"
-
-src_prepare() {
- default
-
- # Unfortunately, LogFactor5 support is no longer provided by the Log4j 1.x
- # bridge in Log4j 2. But it seems that LogFactor5 merely consists of a
- # Swing-based GUI that is neither checked by this package's tests nor used
- # by reverse dependencies in ::gentoo. If virtually nobody would use
- # LogFactor5, components in this package pertaining to it could be simply
- # removed to make the migration to Log4j 2 feasible.
- # http://people.apache.org/~carnold/log4j/docs/x/logging-log4j-1.2.10/docs/lf5/overview.html
- rm -rv src/java/org/apache/log/output/lf5 ||
- die "Failed to remove support for stale LogFactor5 project"
-
- # Doesn't like 1.6 / 1.7 changes to JDBC
- eapply "${FILESDIR}/${P}-java7.patch"
-
- java-ant_ignore-system-classes
-
- java-ant_xml-rewrite \
- -f build.xml \
- -c -e available \
- -a classpathref \
- -v 'build.classpath' || die
-
- java-pkg_filter-compiler jikes
-}
-
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-JAVA_ANT_ENCODING="UTF-8"
-
-src_test() {
- java-pkg-2_src_test
-}
-
-src_install() {
- java-pkg_newjar "target/${P}.jar"
- use doc && java-pkg_dojavadoc dist/docs/api
- use source && java-pkg_dosrc src/java/*
-}
-
-pkg_postinst() {
- # Display a message about LogFactor5 support drop upon first install
- # or upgrade from a version before the drop
- local changed_ver="2.1-r11"
- local should_show_msg replaced_ver
- [[ -z "${REPLACING_VERSIONS}" ]] && should_show_msg=1 # First install
- for replaced_ver in ${REPLACING_VERSIONS}; do
- if ver_test "${replaced_ver}" -lt "${changed_ver}"; then
- should_show_msg=1
- break
- fi
- done
- [[ "${should_show_msg}" ]] || return
- ewarn "Due to migration to Log4j 2, this package has to drop LogFactor5"
- ewarn "support. As a result, the org.apache.log.output.lf5 Java package"
- ewarn "is not available in the JAR installed by this package."
-}
diff --git a/dev-java/avalon-logkit/files/avalon-logkit-2.1-java7.patch b/dev-java/avalon-logkit/files/avalon-logkit-2.1-java7.patch
deleted file mode 100644
index cb2611bf0de4..000000000000
--- a/dev-java/avalon-logkit/files/avalon-logkit-2.1-java7.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Nur avalon-logkit-2.1/src/java/org/apache/log/output/db/DefaultDataSource.java avalon-logkit-2.1_patched//src/java/org/apache/log/output/db/DefaultDataSource.java
---- avalon-logkit-2.1/src/java/org/apache/log/output/db/DefaultDataSource.java 2005-08-30 05:03:49.000000000 +0300
-+++ avalon-logkit-2.1_patched//src/java/org/apache/log/output/db/DefaultDataSource.java 2011-09-27 08:27:49.313005212 +0300
-@@ -20,7 +20,9 @@
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
-+import java.sql.SQLFeatureNotSupportedException;
- import javax.sql.DataSource;
-+import java.util.logging.Logger;
-
- /**
- * A basic datasource that doesn't do any pooling but just wraps
-@@ -111,4 +113,16 @@
- {
- m_logWriter = logWriter;
- }
-+
-+ public boolean isWrapperFor(Class cls) {
-+ return false;
-+ }
-+
-+ public Object unwrap(Class cls) throws SQLException {
-+ throw new SQLException("Not a wrapper for " + cls);
-+ }
-+
-+ public Logger getParentLogger() throws SQLFeatureNotSupportedException {
-+ throw new SQLFeatureNotSupportedException("Not a supported feature");
-+ }
- }
diff --git a/dev-java/avalon-logkit/metadata.xml b/dev-java/avalon-logkit/metadata.xml
deleted file mode 100644
index 6ef2d50cf07e..000000000000
--- a/dev-java/avalon-logkit/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/batik/Manifest b/dev-java/batik/Manifest
index 4ac30465bd11..38cde9303492 100644
--- a/dev-java/batik/Manifest
+++ b/dev-java/batik/Manifest
@@ -1 +1,2 @@
-DIST batik-src-1.14.tar.gz 17647867 BLAKE2B 9385e77e739ece921012310a53953a6e258a5d748987e85dd20783ca248ae55619db6472b7590a45fe40a1b51c693478a37a7dbe1a958b42392c525e5f228815 SHA512 689c52f58f8f0456c89bd18745d2d92e7590b9054bea71b96be87d44977057d583e78504cbf14afc3e0c585d2383dac3009c7c421de868c847db045e921da8fb
+DIST batik-src-1.17.tar.gz 13578640 BLAKE2B c77f994674dd8e8054ad6f753e53304ce6daad9b9eadceef053ede0c746872528ecd1caa6e87064d41892fed0c39f07936779851777208229f817bf84cb529b2 SHA512 0879f298142630e96931f429ade5e7107d2d981c6c3a99b8f2ddca8e26ea4fde1b7c717d06412c57d64759bed6c5f2d056970d59e19e66caafb926cb30078516
+DIST batik-src-1.17.tar.gz.asc 833 BLAKE2B 33836c8f0cbc878410ce8b2738dbbb4dc47d6067c5f58febb3460d836424b1c1d815f369bd7aeb15a8ed9371628e03731c1338aa6524c8a935c48b8092e3bb1e SHA512 513bd3d5c212ce4d98daa911f36e1b00e2f2b7a637e93ea116a2ebe848e20664d722ccf6c8928eac7170fa84d3b38eec86a71c8a0a7e21fd8622c8d475991c60
diff --git a/dev-java/batik/batik-1.14-r1.ebuild b/dev-java/batik/batik-1.14-r1.ebuild
deleted file mode 100644
index 1a978d257f26..000000000000
--- a/dev-java/batik/batik-1.14-r1.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# 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 mirror://apache/xmlgraphics/batik/source/batik-src-1.14.tar.gz --slot 1.14 --keywords "~amd64 ~ppc64 ~x86" --ebuild batik-1.14.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.xmlgraphics:batik:1.14"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit desktop java-pkg-2 java-pkg-simple xdg-utils
-
-DESCRIPTION="XML Graphics Batik"
-HOMEPAGE="https://xmlgraphics.apache.org/batik/"
-SRC_URI="mirror://apache/xmlgraphics/batik/source/batik-src-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="1.14"
-KEYWORDS="amd64 ~arm64 ppc64 x86"
-
-CP_DEPEND="
- dev-java/jacl:0
- dev-java/jython:2.7
- dev-java/rhino:1.6
- dev-java/xalan:0
- dev-java/xml-commons-external:1.4
- dev-java/xmlgraphics-commons:2
-"
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( CHANGES NOTICE README )
-
-S="${WORKDIR}/batik-${PV}"
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_compile() {
- # We loop over the modules list and compile the jar files.
- while read module; do
- einfo "Compiling $module"
-
- JAVA_SRC_DIR=""
- JAVA_RESOURCE_DIRS=""
- JAVA_JAR_FILENAME="$module.jar"
- JAVA_MAIN_CLASS=""
-
- # Not all of the modules have resources.
- if [[ -d $module/src/main/resources ]]; then
- JAVA_RESOURCE_DIRS="$module/src/main/resources"
- fi
-
- # Don't let sed die on modules without MainClass.
- JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' $module/pom.xml )
-
- # Some modules don't have source code.
- if [[ -d $module/src/main/java/org ]]; then
- JAVA_SRC_DIR="$module/src/main/java"
- java-pkg-simple_src_compile
- else
- # This case applies to batik-rasterizer.
- if [[ -d $module/src/main/resources/org ]]; then
- jar -cfe $module.jar "${JAVA_MAIN_CLASS}" -C "$module/src/main/resources" . || die
- # Else for batik-rasterizer-ext, batik-squiggle and batik-squiggle-ext
- else
- jar -cfe $module.jar "${JAVA_MAIN_CLASS}" -C . README || die
- zip -d $module.jar "README"
- fi
- fi
-
- JAVA_GENTOO_CLASSPATH_EXTRA+=":$module.jar"
-
- rm -fr target || die
- # Modules batik-rasterizer-ext and batik-squiggle-ext, upstream puts their jar files in the extensions
- # directory, see batik-extension/src/main/resources/org/apache/batik/extensions/README.txt
- # We keep them in the mudules list for later but omit them by 'grep -v'.
- # The same for batik-test-old which depends on fop-transcoder-allinone which itself depends on batik.
- # batik-1.14-modules is the "Reactor Build Order" extracted from the output of "mvn dependency:tree".
- done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
-
- if use doc; then
- JAVA_SRC_DIR=""
- JAVA_JAR_FILENAME="ignoreme.jar"
-
- while read module; do
- # Some modules don't have source code
- if [[ -d $module/src/main/java/org ]]; then
- JAVA_SRC_DIR+=( "$module/src/main/java" )
- fi
- done < "${FILESDIR}"/batik-1.14-modules
-
- java-pkg-simple_src_compile
- fi
-}
-
-src_test() {
- JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-
- while read module; do
- einfo "Testing $module"
-
- JAVA_TEST_SRC_DIR=""
- JAVA_TEST_RESOURCE_DIRS=""
- JAVA_TEST_RUN_ONLY=""
-
- if [[ -d $module/src/test/resources ]]; then
- JAVA_TEST_RESOURCE_DIRS="$module/src/test/resources"
- fi
-
- # https://github.com/apache/xmlgraphics-batik/blob/refs/tags/batik-1_14/batik-util/pom.xml#L74-L75
- if [[ $module == batik-util ]]; then
- JAVA_TEST_RUN_ONLY="org.apache.batik.util.Base64TestCases"
- fi
-
- if [[ -d $module/src/test/java/org ]]; then
- JAVA_TEST_SRC_DIR="$module/src/test/java"
- java-pkg-simple_src_test
- fi
- done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
-}
-
-src_install() {
- einstalldocs
- domenu "${FILESDIR}"/batik-squiggle.desktop
- doicon batik-svgbrowser/src/main/resources/org/apache/batik/apps/svgbrowser/resources/init.svg
-
- while read module; do
- JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' $module/pom.xml )
-
- java-pkg_dojar $module.jar
-
- # Add a launcher if the module has a MainClass.
- if [[ -n "${JAVA_MAIN_CLASS}" ]]; then
- java-pkg_dolauncher "$module-${SLOT}" --main "${JAVA_MAIN_CLASS}"
- fi
-
- # Some modules don't have source code
- if [[ -d $module/src/main/java/org ]]; then
- if use source; then
- java-pkg_dosrc "$module/src/main/java/*"
- fi
- fi
- done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
-
- local java_policy_file="${JAVA_PKG_SHAREPATH}/etc/${PN}.policy"
- insinto "$(dirname "${java_policy_file}")"
- newins - "$(basename "${java_policy_file}")" <<- _EOF_
- grant codeBase "file:${EPREFIX}${JAVA_PKG_JARDEST}/-" {
- permission java.security.AllPermission;
- };
- _EOF_
- java-pkg_register-environment-variable \
- gjl_java_args \
- "-Djava.security.policy=file:${EPREFIX}${java_policy_file}"
-
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
diff --git a/dev-java/batik/batik-1.17-r1.ebuild b/dev-java/batik/batik-1.17-r1.ebuild
new file mode 100644
index 000000000000..b389f8994bd7
--- /dev/null
+++ b/dev-java/batik/batik-1.17-r1.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.xmlgraphics:batik:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit desktop java-pkg-2 java-pkg-simple xdg-utils verify-sig
+
+DESCRIPTION="XML Graphics Batik"
+HOMEPAGE="https://xmlgraphics.apache.org/batik/"
+SRC_URI="mirror://apache/xmlgraphics/batik/source/batik-src-${PV}.tar.gz
+ verify-sig? ( https://downloads.apache.org/xmlgraphics/batik/source/batik-src-${PV}.tar.gz.asc )"
+S="${WORKDIR}/batik-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="1.16"
+KEYWORDS="amd64 ~arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/jacl:0
+ dev-java/rhino:1.6
+ dev-java/xalan:0
+ dev-java/xml-commons-external:1.4
+ dev-java/xmlgraphics-commons:2
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+BDEPEND="
+ app-arch/zip
+ verify-sig? ( sec-keys/openpgp-keys-apache-xmlgraphics-batik )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/xmlgraphics-batik.apache.org.asc"
+
+DOCS=( CHANGES NOTICE README )
+
+# Modules batik-rasterizer-ext and batik-squiggle-ext, upstream puts their jar files in the extensions
+# directory, see batik-extension/src/main/resources/org/apache/batik/extensions/README.txt
+# We comment them out but keep them in the mudules list for later.
+# The same for batik-test-old which depends on fop-transcoder-allinone which itself depends on batik.
+# We also don't build batik-shared-resources since we install those resources on global scope.
+# And we don't build batik-all. Instead we install the modules.
+# BATIK_MODULES is the "Reactor Build Order" extracted from the output of "mvn dependency:tree":
+# mvn -DskipTests dependency:tree \
+# | sed -n '/Reactor Build Order:/,/Building org/p' \
+# | cut -d':' -f2 | cut -d' ' -f1 | grep 'batik-' || die
+BATIK_MODULES=(
+# batik-shared-resources
+ batik-constants
+ batik-i18n
+ batik-test
+ batik-util
+ batik-awt-util
+ batik-css
+ batik-ext
+ batik-xml
+ batik-dom
+ batik-parser
+ batik-svg-dom
+ batik-anim
+ batik-gvt
+ batik-script
+ batik-bridge
+ batik-svggen
+ batik-transcoder
+ batik-codec
+ batik-extension
+ batik-gui-util
+ batik-svgrasterizer
+# batik-rasterizer-ext
+ batik-rasterizer
+ batik-slideshow
+ batik-swing
+ batik-svgbrowser
+# batik-squiggle-ext
+ batik-squiggle
+ batik-svgpp
+ batik-ttf2svg
+# batik-all
+ batik-test-swing
+ batik-test-svg
+# batik-test-old
+)
+
+src_prepare() {
+ java-pkg_clean
+ java-pkg-2_src_prepare
+ # We drop support for jython due to bug #825486.
+ rm batik-script/src/main/java/org/apache/batik/script/jpython/JPythonInterpreter.java || die
+ rm batik-script/src/main/java/org/apache/batik/script/jpython/JPythonInterpreterFactory.java || die
+
+ cat > "batik-squiggle-${SLOT}.desktop" <<-EOF || die
+ [Desktop Entry]
+ Name=Squiggle
+ Comment=SVG browser
+ Exec=batik-squiggle-${SLOT}
+ Icon=init
+ Terminal=false
+ Type=Application
+ Categories=Graphics;VectorGraphics;
+ MimeType=image/svg+xml
+ EOF
+}
+
+src_compile() {
+ # We loop over the modules list and compile the jar files.
+ local module
+ for module in "${BATIK_MODULES[@]}"; do
+ einfo "Compiling ${module}"
+
+ JAVA_JAR_FILENAME="${module}.jar"
+ JAVA_MAIN_CLASS=""
+ JAVA_RESOURCE_DIRS=""
+ JAVA_SRC_DIR=""
+
+ # Not all of the modules have resources.
+ if [[ -d "${module}/src/main/resources" ]]; then
+ JAVA_RESOURCE_DIRS="${module}/src/main/resources"
+ fi
+
+ # Get Main-Class from the module's pom.xml
+ JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' "${module}/pom.xml" )
+
+ # Some modules don't have source code.
+ if [[ -d "${module}/src/main/java/org" ]]; then
+ JAVA_SRC_DIR="${module}/src/main/java"
+ java-pkg-simple_src_compile
+ else
+ # This case applies to batik-rasterizer.
+ if [[ -d "${module}/src/main/resources/org" ]]; then
+ jar -cfe "${module}.jar" "${JAVA_MAIN_CLASS}" -C "${module}/src/main/resources" . || die
+ # Else for batik-squiggle (also batik-rasterizer-ext, batik-squiggle-ext)
+ else
+ # Create the JAR file (not possible without adding at least one file).
+ jar -cfe "${module}.jar" "${JAVA_MAIN_CLASS}" -C . README || die
+ zip -d "${module}.jar" "README" || die
+ fi
+ fi
+
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${module}.jar"
+
+ rm -fr target || die
+ done
+
+ if use doc; then
+ JAVA_SRC_DIR=""
+ JAVA_JAR_FILENAME="ignoreme.jar"
+
+ for module in "${BATIK_MODULES[@]}"; do
+ # Some modules don't have source code
+ if [[ -d "${module}/src/main/java/org" ]]; then
+ JAVA_SRC_DIR+=( "${module}/src/main/java" )
+ fi
+ done
+
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test() {
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+
+ for module in "${BATIK_MODULES[@]}"; do
+ einfo "Testing ${module}"
+
+ JAVA_TEST_SRC_DIR=""
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_RUN_ONLY=""
+
+ if [[ -d "${module}/src/test/resources" ]]; then
+ JAVA_TEST_RESOURCE_DIRS="${module}/src/test/resources"
+ fi
+
+ # https://github.com/apache/xmlgraphics-batik/blob/refs/tags/batik-1_14/batik-util/pom.xml#L74-L75
+ if [[ "${module}" == batik-util ]]; then
+ JAVA_TEST_RUN_ONLY="org.apache.batik.util.Base64TestCases"
+ fi
+
+ if [[ -d "${module}/src/test/java/org" ]]; then
+ JAVA_TEST_SRC_DIR="${module}/src/test/java"
+ java-pkg-simple_src_test
+ fi
+ done
+}
+
+src_install() {
+ einstalldocs
+ domenu "batik-squiggle-${SLOT}.desktop"
+ newicon -s scalable \
+ batik-svgbrowser/src/main/resources/org/apache/batik/apps/svgbrowser/resources/init.svg \
+ squiggle-${SLOT}.svg
+
+ for module in "${BATIK_MODULES[@]}"; do
+ JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' "${module}/pom.xml" )
+
+ java-pkg_dojar "${module}.jar"
+
+ # Add a launcher if the module has a MainClass.
+ if [[ -n "${JAVA_MAIN_CLASS}" ]]; then
+ java-pkg_dolauncher "${module}-${SLOT}" --main "${JAVA_MAIN_CLASS}"
+ fi
+
+ # Some modules don't have source code
+ if [[ -d "${module}/src/main/java/org" ]]; then
+ if use source; then
+ java-pkg_dosrc "${module}/src/main/java/*"
+ fi
+ fi
+ done
+
+ local java_policy_file="${JAVA_PKG_SHAREPATH}/etc/${PN}.policy"
+ insinto "$(dirname "${java_policy_file}")"
+ newins - "$(basename "${java_policy_file}")" <<- _EOF_
+ grant codeBase "file:${EPREFIX}${JAVA_PKG_JARDEST}/-" {
+ permission java.security.AllPermission;
+ };
+ _EOF_
+ java-pkg_register-environment-variable \
+ gjl_java_args \
+ "\$gjl_java_args -Djava.security.policy=file:${EPREFIX}${java_policy_file}"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/dev-java/batik/files/batik-1.14-modules b/dev-java/batik/files/batik-1.14-modules
deleted file mode 100644
index d9c964870901..000000000000
--- a/dev-java/batik/files/batik-1.14-modules
+++ /dev/null
@@ -1,33 +0,0 @@
-batik-constants
-batik-i18n
-batik-test
-batik-util
-batik-awt-util
-batik-css
-batik-ext
-batik-xml
-batik-dom
-batik-parser
-batik-svg-dom
-batik-anim
-batik-gvt
-batik-script
-batik-bridge
-batik-svggen
-batik-transcoder
-batik-codec
-batik-extension
-batik-gui-util
-batik-svgrasterizer
-batik-rasterizer-ext
-batik-rasterizer
-batik-slideshow
-batik-swing
-batik-svgbrowser
-batik-squiggle-ext
-batik-squiggle
-batik-svgpp
-batik-ttf2svg
-batik-test-swing
-batik-test-svg
-batik-test-old
diff --git a/dev-java/batik/files/batik-squiggle.desktop b/dev-java/batik/files/batik-squiggle.desktop
deleted file mode 100644
index 95bb990177c7..000000000000
--- a/dev-java/batik/files/batik-squiggle.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Name=Squiggle
-Comment=SVG browser
-Exec=batik-squiggle-1.14
-Icon=init
-Terminal=false
-Type=Application
-Categories=Graphics;VectorGraphics;
-MimeType=image/svg+xml;
diff --git a/dev-java/bcel/Manifest b/dev-java/bcel/Manifest
index 293f425488f6..387e9e378b12 100644
--- a/dev-java/bcel/Manifest
+++ b/dev-java/bcel/Manifest
@@ -1 +1,2 @@
-DIST bcel-6.5.0-sources.tar.gz 1009051 BLAKE2B fd07d8a5144112efe38e30a8d10c3b6a189a4ec70defa96c402fa88027acf84b07c15138d235354baac18bdb798d407c11ccfada7bbe7339532f829e814e2d2c SHA512 c6da4b4d4cbad3ad2b3a4c0208063e3858170356fc4f6670c95ce819f0aea69f103914875a12bf2715a869c2b19a3e79fcb55a695eb269d9937520db25da1e3d
+DIST bcel-6.6.0-src.tar.gz 1009654 BLAKE2B 9043cc077773383aebf9b56e8c67de9ffb9e278db1737eefb5966b32cbe36131bd6ec14454361daaf424a8114de21e804dadaebfbee6d11493026b8a98135668 SHA512 13f361be498625c3276860ae14c225c49135687f4ba69de4afaac2d135df4e5c6b51277e3cd4c05bac27156e4fab5316c102a25a67d8abb6c640499917d01917
+DIST bcel-6.6.0-src.tar.gz.asc 488 BLAKE2B b3d07f9d6f8f2b92215173d390281cab03b98dea2e926f5fe7f3ced74610c56dfa2915c5bfeeca360cd3904773cb66f8d9042062e6b3821f707853ef5c82fc73 SHA512 65830fcd5f5adb1deb92edd0b9181b9aeaf3d5357858a348606416dcfb416f58420ceb6c8ea58a550d5d7b4d1909dcff125b31496c00a9107ae211936c1d6e1d
diff --git a/dev-java/bcel/bcel-6.5.0-r3.ebuild b/dev-java/bcel/bcel-6.5.0-r3.ebuild
deleted file mode 100644
index 54af8629d599..000000000000
--- a/dev-java/bcel/bcel-6.5.0-r3.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# 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://ftp.wayne.edu/apache//commons/bcel/source/bcel-6.5.0-src.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" --ebuild bcel-6.5.0-r1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.bcel:bcel:6.5.0"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Apache Commons Bytecode Engineering Library"
-HOMEPAGE="https://commons.apache.org/proper/commons-bcel/"
-SRC_URI="mirror://apache/commons/${PN}/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# Compile dependencies
-# POM: pom.xml
-# test? javax:javaee-api:6.0 -> !!!groupId-not-found!!!
-# test? junit:junit:4.13 -> >=dev-java/junit-4.13.1:4
-# test? net.java.dev.jna:jna:5.5.0 -> !!!groupId-not-found!!!
-# test? net.java.dev.jna:jna-platform:5.5.0 -> !!!groupId-not-found!!!
-# test? org.apache.commons:commons-lang3:3.10 -> >=dev-java/commons-lang-3.11:3.6
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- dev-java/commons-collections:4
- dev-java/commons-io:1
- dev-java/commons-lang:3.6
- dev-java/jna:4
- dev-java/jmh-core:0
- dev-java/javax-mail:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/${P}-src"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="commons-collections-4,commons-io-1,commons-lang-3.6,jmh-core,jna-4,junit-4,javax-mail"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS=(
- "src/test/resources"
-)
-JAVA_TEST_EXCLUDES=(
- # Invalid test class
- "org.apache.bcel.data.AnonymousClassTest"
- "org.apache.bcel.verifier.tests.TestArray01"
- "org.apache.bcel.verifier.tests.TestArrayAccess01"
- "org.apache.bcel.verifier.tests.TestArrayAccess02Creator"
- "org.apache.bcel.verifier.tests.TestArrayAccess03Creator"
- "org.apache.bcel.verifier.tests.TestArrayAccess04Creator"
- "org.apache.bcel.verifier.tests.TestLegalInvokeInterface01"
- "org.apache.bcel.verifier.tests.TestLegalInvokeSpecial01"
- "org.apache.bcel.verifier.tests.TestLegalInvokeSpecial02"
- "org.apache.bcel.verifier.tests.TestLegalInvokeStatic01"
- "org.apache.bcel.verifier.tests.TestLegalInvokeVirtual01"
- "org.apache.bcel.verifier.tests.TestLegalInvokeVirtual02"
- "org.apache.bcel.verifier.tests.TestReturn01Creator"
- "org.apache.bcel.verifier.tests.TestReturn02"
- "org.apache.bcel.verifier.tests.TestCreator"
- "org.apache.bcel.verifier.tests.TestReturn03Creator"
-)
diff --git a/dev-java/bcel/bcel-6.5.0.ebuild b/dev-java/bcel/bcel-6.5.0.ebuild
deleted file mode 100644
index b4fcd293facd..000000000000
--- a/dev-java/bcel/bcel-6.5.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir bcel-6.5.0-src --pom pom.xml --download-uri https://ftp.wayne.edu/apache//commons/bcel/source/bcel-6.5.0-src.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" --ebuild bcel-6.5.0.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.apache.bcel:bcel:6.5.0"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Apache Commons Bytecode Engineering Library"
-HOMEPAGE="https://commons.apache.org/proper/commons-bcel"
-SRC_URI="mirror://apache/commons/${PN}/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${P}-src"
-
-JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/bcel/bcel-6.6.0.ebuild b/dev-java/bcel/bcel-6.6.0.ebuild
new file mode 100644
index 000000000000..24751a65c002
--- /dev/null
+++ b/dev-java/bcel/bcel-6.6.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 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 mirror://apache/commons/bcel/source/bcel-6.6.0-src.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" --ebuild bcel-6.6.0.ebuild
+
+EAPI=8
+
+# No tests, junit-jupiter is not packaged
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.apache.bcel:bcel:6.6.0"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Apache Commons Bytecode Engineering Library"
+HOMEPAGE="https://commons.apache.org/proper/commons-bcel/"
+SRC_URI="https://archive.apache.org/dist/commons/bcel/source/bcel-${PV}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/bcel/source/bcel-${PV}-src.tar.gz.asc )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+# Common dependencies
+# POM: pom.xml
+# org.apache.commons:commons-lang3:3.12.0 -> >=dev-java/commons-lang-3.12.0:3.6
+
+CP_DEPEND="
+ dev-java/commons-lang:3.6
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? javax:javaee-api:6.0 -> !!!groupId-not-found!!!
+# test? net.java.dev.jna:jna:5.12.1 -> !!!suitable-mavenVersion-not-found!!!
+# test? net.java.dev.jna:jna-platform:5.12.1 -> !!!artifactId-not-found!!!
+# test? org.apache.commons:commons-exec:1.3 -> !!!artifactId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter:5.9.1 -> !!!groupId-not-found!!!
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-apache-commons )
+"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+DOCS=( NOTICE.txt RELEASE-NOTES.txt )
+
+S="${WORKDIR}/${P}-src"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.bcel"
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/bcel/metadata.xml b/dev-java/bcel/metadata.xml
index 5d226489e06c..5b5f89c96e8e 100644
--- a/dev-java/bcel/metadata.xml
+++ b/dev-java/bcel/metadata.xml
@@ -1,19 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <longdescription lang="en">
- This is the main Reference implementation of the BCEL JavaClass API.
- The Byte Code Engineering Library (formerly known as JavaClass) is intended
- to give users a convenient possibility to analyze, create, and manipulate
- (binary) Java class files (those ending with .class). Classes are represented
- by objects which contain all the symbolic information of the given class:
- methods, fields and byte code instructions, in particular.
-</longdescription>
- <upstream>
- <remote-id type="github">apache/commons-bcel</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is the main Reference implementation of the BCEL JavaClass API.
+ The Byte Code Engineering Library (formerly known as JavaClass) is intended
+ to give users a convenient possibility to analyze, create, and manipulate
+ (binary) Java class files (those ending with .class). Classes are represented
+ by objects which contain all the symbolic information of the given class:
+ methods, fields and byte code instructions, in particular.
+ </longdescription>
+ <upstream>
+ <changelog>https://downloads.apache.org/commons/bcel/RELEASE-NOTES.txt</changelog>
+ <remote-id type="github">apache/commons-bcel</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/bcmail/Manifest b/dev-java/bcmail/Manifest
index 7feaa1f69257..680d64e45a8b 100644
--- a/dev-java/bcmail/Manifest
+++ b/dev-java/bcmail/Manifest
@@ -1 +1 @@
-DIST bc-java-r1rv71.tar.gz 117684695 BLAKE2B db0a1b2576a55592e0447aa8734e8ecb6fe8452d08dabf010070f3c6b5a3b4caa7a5929baaa52796fed0ef397e18fe58fdb91dfef6da75af8f28efb627d2b808 SHA512 c9a095a034863a46027e28754ae96d9750162120bc1af124fa700ad05d23716a606633b674e2e8490bda658d30d30e93f42ba00dcc1ac13596a24f8aa43a666d
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
diff --git a/dev-java/bcmail/bcmail-1.71.ebuild b/dev-java/bcmail/bcmail-1.71.ebuild
deleted file mode 100644
index 6d64d374d63a..000000000000
--- a/dev-java/bcmail/bcmail-1.71.ebuild
+++ /dev/null
@@ -1,60 +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="org.bouncycastle:bcmail-jdk18on:1.71"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="The Bouncy Castle Java S/MIME APIs for handling S/MIME protocols"
-HOMEPAGE="https://www.bouncycastle.org/java.html"
-SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-r${PV/./rv}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc64 x86"
-
-CDEPEND="
- ~dev-java/bcpkix-${PV}:0
- ~dev-java/bcprov-${PV}:0
- ~dev-java/bcutil-${PV}:0
- dev-java/jakarta-activation:1
- dev-java/javax-mail:0
- "
-DEPEND="${CDEPEND}
- >=virtual/jdk-11:*"
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( ../{README,SECURITY}.md )
-HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
-
-S="${WORKDIR}/bc-java-r${PV/./rv}/mail"
-
-JAVA_GENTOO_CLASSPATH="bcpkix,bcprov,bcutil,jakarta-activation-1,javax-mail"
-JAVA_SRC_DIR=(
- "src/main/java"
- "src/main/jdk1.9" # https://bugs.gentoo.org/797634
-)
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_TEST_RUN_ONLY="org.bouncycastle.mail.smime.test.AllTests"
-
-src_prepare() {
- default
- java-pkg_clean ..
-}
-
-src_install() {
- default
- einstalldocs
- docinto html
- dodoc -r ../docs
- java-pkg-simple_src_install
-}
diff --git a/dev-java/bcmail/bcmail-1.77-r1.ebuild b/dev-java/bcmail/bcmail-1.77-r1.ebuild
new file mode 100644
index 000000000000..fc5a0ce57369
--- /dev/null
+++ b/dev-java/bcmail/bcmail-1.77-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcmail-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="The Bouncy Castle Java S/MIME APIs for handling S/MIME protocols"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz"
+S="${WORKDIR}/bc-java-${MY_PV}/mail"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc64 x86"
+
+CP_DEPEND="
+ ~dev-java/bcpkix-${PV}:0
+ ~dev-java/bcprov-${PV}:0
+ ~dev-java/bcutil-${PV}:0
+ dev-java/javax-mail:0
+ "
+DEPEND="${CP_DEPEND}
+ dev-java/jakarta-activation:1
+ >=virtual/jdk-11:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( ../{README,SECURITY}.md )
+HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.mail"
+JAVA_CLASSPATH_EXTRA="jakarta-activation-1"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=(
+ "src/main/java"
+ "src/main/jdk1.9"
+)
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" "../pkix/src/main/resources" )
+JAVA_TEST_RUN_ONLY="org.bouncycastle.mail.smime.test.AllTests"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ..
+}
+
+src_install() {
+ docinto html
+ dodoc -r ../docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcmail/metadata.xml b/dev-java/bcmail/metadata.xml
index 97fff009c2d8..d958ec9b5fa0 100644
--- a/dev-java/bcmail/metadata.xml
+++ b/dev-java/bcmail/metadata.xml
@@ -5,6 +5,9 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">bcgit/bc-java</remote-id>
+ </upstream>
<longdescription>
The Bouncy Castle Java S/MIME APIs for handling S/MIME protocols. This jar contains S/MIME APIs for JDK 1.8 and up. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs. The JavaMail API and the Java activation framework will also be needed.
</longdescription>
diff --git a/dev-java/bcpg/Manifest b/dev-java/bcpg/Manifest
index 7feaa1f69257..680d64e45a8b 100644
--- a/dev-java/bcpg/Manifest
+++ b/dev-java/bcpg/Manifest
@@ -1 +1 @@
-DIST bc-java-r1rv71.tar.gz 117684695 BLAKE2B db0a1b2576a55592e0447aa8734e8ecb6fe8452d08dabf010070f3c6b5a3b4caa7a5929baaa52796fed0ef397e18fe58fdb91dfef6da75af8f28efb627d2b808 SHA512 c9a095a034863a46027e28754ae96d9750162120bc1af124fa700ad05d23716a606633b674e2e8490bda658d30d30e93f42ba00dcc1ac13596a24f8aa43a666d
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
diff --git a/dev-java/bcpg/bcpg-1.71.ebuild b/dev-java/bcpg/bcpg-1.71.ebuild
deleted file mode 100644
index 8028aba31a23..000000000000
--- a/dev-java/bcpg/bcpg-1.71.ebuild
+++ /dev/null
@@ -1,58 +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="org.bouncycastle:bcpg-jdk18on:1.71"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java cryptography APIs"
-HOMEPAGE="https://www.bouncycastle.org/java.html"
-SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-r${PV/./rv}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc64 x86"
-
-CDEPEND="~dev-java/bcprov-${PV}:0"
-DEPEND="${CDEPEND}
- >=virtual/jdk-11:*"
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( ../{README,SECURITY}.md )
-HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
-
-S="${WORKDIR}/bc-java-r${PV/./rv}/pg"
-
-JAVA_GENTOO_CLASSPATH="bcprov"
-JAVA_SRC_DIR=(
- "src/main/java"
- "src/main/jdk1.9" # https://bugs.gentoo.org/797634
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-JAVA_TEST_RUN_ONLY=(
- "org.bouncycastle.openpgp.test.AllTests"
- "org.bouncycastle.openpgp.examples.test.AllTests"
- "org.bouncycastle.gpg.test.AllTests"
-)
-
-src_prepare() {
- default
- java-pkg_clean ..
-}
-
-src_install() {
- default
- einstalldocs
- docinto html
- dodoc -r ../docs
- java-pkg-simple_src_install
-}
diff --git a/dev-java/bcpg/bcpg-1.77.ebuild b/dev-java/bcpg/bcpg-1.77.ebuild
new file mode 100644
index 000000000000..cc3e0343f4be
--- /dev/null
+++ b/dev-java/bcpg/bcpg-1.77.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcpg-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java cryptography APIs"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz"
+S="${WORKDIR}/bc-java-${MY_PV}/pg"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc64 x86"
+
+CP_DEPEND="~dev-java/bcprov-${PV}:0"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( ../{README,SECURITY}.md )
+HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
+
+JAVA_SRC_DIR=(
+ "src/main/java"
+ "src/main/jdk1.9"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.pg"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ..
+}
+
+src_test() {
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" )
+ popd || die
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ docinto html
+ dodoc -r ../docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcpg/metadata.xml b/dev-java/bcpg/metadata.xml
index 3cbf364f100a..34cf5468297e 100644
--- a/dev-java/bcpg/metadata.xml
+++ b/dev-java/bcpg/metadata.xml
@@ -5,6 +5,9 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">bcgit/bc-java</remote-id>
+ </upstream>
<longdescription>
The Bouncy Castle Java API for handling the OpenPGP protocol. This jar contains the OpenPGP API for JDK 1.8 and up. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.
</longdescription>
diff --git a/dev-java/bcpkix/Manifest b/dev-java/bcpkix/Manifest
index 7feaa1f69257..34f73ef00305 100644
--- a/dev-java/bcpkix/Manifest
+++ b/dev-java/bcpkix/Manifest
@@ -1 +1,2 @@
-DIST bc-java-r1rv71.tar.gz 117684695 BLAKE2B db0a1b2576a55592e0447aa8734e8ecb6fe8452d08dabf010070f3c6b5a3b4caa7a5929baaa52796fed0ef397e18fe58fdb91dfef6da75af8f28efb627d2b808 SHA512 c9a095a034863a46027e28754ae96d9750162120bc1af124fa700ad05d23716a606633b674e2e8490bda658d30d30e93f42ba00dcc1ac13596a24f8aa43a666d
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
+DIST bc-test-data-r1rv77.tar.gz 2074825965 BLAKE2B b797821719ba0dcdd091e0fd4f14c79058a15702973978a055bcc998ff541a8c5e96feb757647a9696e4bbfa28bf80a317066a51fd4daac7b2508111d0d217b1 SHA512 c8701a270ddcfde353b480caa62e2237776b50b0937ac015ee3e5221a74d0817de9bc67f1fa9f53f5e48d861dbf94339cb45a08cb4dad37f1340f754cb1d910e
diff --git a/dev-java/bcpkix/bcpkix-1.71-r1.ebuild b/dev-java/bcpkix/bcpkix-1.71-r1.ebuild
deleted file mode 100644
index bcf70c8d215a..000000000000
--- a/dev-java/bcpkix/bcpkix-1.71-r1.ebuild
+++ /dev/null
@@ -1,116 +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="org.bouncycastle:bcpkix-jdk18on:1.71"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple check-reqs
-
-DESCRIPTION="Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation"
-HOMEPAGE="https://www.bouncycastle.org/java.html"
-SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-r${PV/./rv}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-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
-PROPERTIES="test_network"
-RESTRICT="test"
-
-CDEPEND="
- ~dev-java/bcprov-${PV}:0
- ~dev-java/bcutil-${PV}:0
- "
-DEPEND="${CDEPEND}
- >=virtual/jdk-11:*"
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( ../{README,SECURITY}.md )
-HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
-
-S="${WORKDIR}/bc-java-r${PV/./rv}/pkix"
-
-JAVA_GENTOO_CLASSPATH="bcprov,bcutil"
-JAVA_SRC_DIR=(
- "src/main/java"
- "src/main/jdk1.9" # https://bugs.gentoo.org/797634
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-JAVA_TEST_EXTRA_ARGS="-Dbc.test.data.home=${S}/../core/src/test/data"
-
-# There was 1 failure:
-# 1) testSimpleTests(org.bouncycastle.cert.test.AllTests)
-# junit.framework.AssertionFailedError: CertTest:
-# CertTest: 9 failed - exception java.security.InvalidKeyException: cannot identify EdDSA public key
-# at junit.framework.Assert.fail(Assert.java:57)
-# at junit.framework.TestCase.fail(TestCase.java:223)
-# at org.bouncycastle.cert.test.AllTests.testSimpleTests(AllTests.java:30)
-#
-# FAILURES!!!
-# Tests run: 474, Failures: 1
-JAVA_TEST_RUN_ONLY=(
- "org.bouncycastle.cert.cmp.test.AllTests"
- "org.bouncycastle.cert.crmf.test.AllTests"
- "org.bouncycastle.cert.ocsp.test.AllTests"
- "org.bouncycastle.cert.path.test.AllTests"
-# "org.bouncycastle.cert.test.AllTests"
- "org.bouncycastle.cms.test.AllTests"
- "org.bouncycastle.dvcs.test.AllTests"
- "org.bouncycastle.eac.test.AllTests"
- "org.bouncycastle.est.test.AllTests"
- "org.bouncycastle.mime.test.AllTests"
- "org.bouncycastle.mozilla.test.AllTests"
- "org.bouncycastle.openssl.test.AllTests"
- "org.bouncycastle.operator.test.AllTests"
- "org.bouncycastle.pkcs.test.AllTests"
- "org.bouncycastle.tsp.test.AllTests"
-)
-
-# https://bugs.gentoo.org/823347
-check_env() {
- if use test; then
- # this is needed only for tests
- CHECKREQS_MEMORY="2048M"
- check-reqs_pkg_pretend
- fi
-}
-
-# https://bugs.gentoo.org/823347
-pkg_pretend() {
- check_env
-}
-
-# https://bugs.gentoo.org/823347
-pkg_setup() {
- check_env
- java-pkg-2_pkg_setup
-}
-
-src_prepare() {
- default
- java-pkg_clean ..
-}
-
-# https://bugs.gentoo.org/823347
-src_test() {
- JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}"
- java-pkg-simple_src_test
-}
-
-src_install() {
- default
- einstalldocs
- docinto html
- dodoc -r ../docs
- java-pkg-simple_src_install
-}
diff --git a/dev-java/bcpkix/bcpkix-1.77.ebuild b/dev-java/bcpkix/bcpkix-1.77.ebuild
new file mode 100644
index 000000000000..c4e5b0c09115
--- /dev/null
+++ b/dev-java/bcpkix/bcpkix-1.77.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcpkix-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple check-reqs
+
+DESCRIPTION="Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz
+ test? ( https://github.com/bcgit/bc-test-data/archive/${MY_PV}.tar.gz -> bc-test-data-${MY_PV}.tar.gz )"
+S="${WORKDIR}/bc-java-${MY_PV}/pkix"
+
+LICENSE="BSD"
+SLOT="0"
+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
+PROPERTIES="test_network"
+RESTRICT="test"
+
+CDEPEND="
+ ~dev-java/bcprov-${PV}:0
+ ~dev-java/bcutil-${PV}:0
+ "
+DEPEND="${CDEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( ../{README,SECURITY}.md )
+HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.pkix"
+JAVA_GENTOO_CLASSPATH="bcprov,bcutil"
+JAVA_SRC_DIR=(
+ "src/main/java"
+ "src/main/jdk1.9"
+)
+
+JAVA_TEST_EXTRA_ARGS="-Dbc.test.data.home=${S}/../core/src/test/data"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+# https://bugs.gentoo.org/823347
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="2048M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+# https://bugs.gentoo.org/823347
+pkg_pretend() {
+ check_env
+}
+
+# https://bugs.gentoo.org/823347
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ unpack bc-java-${MY_PV}.tar.gz
+ use test && unpack bc-test-data-${MY_PV}.tar.gz
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ..
+}
+
+# https://bugs.gentoo.org/823347
+src_test() {
+ mv ../../bc-test-data-${MY_PV} bc-test-data || die "cannot move bc-test-data"
+
+ JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}"
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" \
+ )
+ popd
+ einfo "${JAVA_TEST_RUN_ONLY}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ docinto html
+ dodoc -r ../docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcpkix/metadata.xml b/dev-java/bcpkix/metadata.xml
index 40c8ee28be10..3b63dd7f15eb 100644
--- a/dev-java/bcpkix/metadata.xml
+++ b/dev-java/bcpkix/metadata.xml
@@ -5,6 +5,9 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">bcgit/bc-java</remote-id>
+ </upstream>
<longdescription>
The Bouncy Castle Java APIs for CMS, PKCS, EAC, TSP, CMP, CRMF, OCSP, and certificate generation. This jar contains APIs for JDK 1.8 and up. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.
</longdescription>
diff --git a/dev-java/bcprov/Manifest b/dev-java/bcprov/Manifest
index 7feaa1f69257..a9a299b3af1d 100644
--- a/dev-java/bcprov/Manifest
+++ b/dev-java/bcprov/Manifest
@@ -1 +1,4 @@
-DIST bc-java-r1rv71.tar.gz 117684695 BLAKE2B db0a1b2576a55592e0447aa8734e8ecb6fe8452d08dabf010070f3c6b5a3b4caa7a5929baaa52796fed0ef397e18fe58fdb91dfef6da75af8f28efb627d2b808 SHA512 c9a095a034863a46027e28754ae96d9750162120bc1af124fa700ad05d23716a606633b674e2e8490bda658d30d30e93f42ba00dcc1ac13596a24f8aa43a666d
+DIST bc-java-r1rv74.tar.gz 31236157 BLAKE2B ffdfe7aa34f361a559051f31fc57eeff39f7d080e4de4a94bdd0d79d92172b2646efa122edaf067633d6a840015e17271c186122598c18e3226622428fa9e1e7 SHA512 887183f825a8834ff512a66fa3f9075259b3266c2861e6e046990bd2dda80b896a8fd221ff2982a127de79fe998727ecc12cade4e6c381f2a152a72ee575d8a1
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
+DIST bc-test-data-r1rv74.tar.gz 2074813647 BLAKE2B 8060ee31fa45fbceecb3ed57bc5d8195c8ea72c732e56f2c5f5adf9f785e76934300fe2b07aabc4fa5672c2eb39b5b7aad1393a7ff47dd42a048fa110b9a1db6 SHA512 8a8aa2e372b533a8bca5dc81a94c08c50470446c1457a487b18a96620841b8035344148bcb46b4e211c287ca42b0ee2db29ea402967bf55b8bb0958eb5fbabae
+DIST bc-test-data-r1rv77.tar.gz 2074825965 BLAKE2B b797821719ba0dcdd091e0fd4f14c79058a15702973978a055bcc998ff541a8c5e96feb757647a9696e4bbfa28bf80a317066a51fd4daac7b2508111d0d217b1 SHA512 c8701a270ddcfde353b480caa62e2237776b50b0937ac015ee3e5221a74d0817de9bc67f1fa9f53f5e48d861dbf94339cb45a08cb4dad37f1340f754cb1d910e
diff --git a/dev-java/bcprov/bcprov-1.71-r1.ebuild b/dev-java/bcprov/bcprov-1.71-r1.ebuild
deleted file mode 100644
index fbe5c65f3f19..000000000000
--- a/dev-java/bcprov/bcprov-1.71-r1.ebuild
+++ /dev/null
@@ -1,111 +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="org.bouncycastle:bcprov-jdk18on:1.71"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple check-reqs
-
-DESCRIPTION="Java cryptography APIs"
-HOMEPAGE="https://www.bouncycastle.org/java.html"
-SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-r${PV/./rv}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-11:*"
-RDEPEND=">=virtual/jre-1.8:*"
-BDEPEND="app-arch/zip"
-
-DOCS=( ../{README,SECURITY}.md )
-HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
-
-S="${WORKDIR}/bc-java-r${PV/./rv}/prov"
-
-JAVA_SRC_DIR=(
- "src/main/java"
- "../core/src/main/java" # package org.bouncycastle.asn1 does not exist
- "src/main/jdk1.9" # https://bugs.gentoo.org/797634
-)
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR=( "src/test/java" "../core/src/test/java" )
-JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" "../core/src/test/resources" )
-
-JAVA_TEST_EXTRA_ARGS="-Dbc.test.data.home=${S}/../core/src/test/data"
-
-# Depending on vm_version 11 or 17 there are 2 different errrors
-# 1) testJCE(org.bouncycastle.jce.provider.test.SimpleTestTest)
-# junit.framework.AssertionFailedError: index 29 KeyStore: Exception: java.security.KeyStoreException: BKS-V1 not found
-# at junit.framework.Assert.fail(Assert.java:57)
-# at junit.framework.TestCase.fail(TestCase.java:223)
-# at org.bouncycastle.jce.provider.test.SimpleTestTest.testJCE(SimpleTestTest.java:26)
-#
-# 1) testJCE(org.bouncycastle.jce.provider.test.SimpleTestTest)
-# junit.framework.AssertionFailedError: index 9 BlockCipher: IDEA/PGPCFB/NoPadding failed encryption - java.io.IOException: javax.crypto.ShortBufferException: output buffer too short for input.
-# at junit.framework.Assert.fail(Assert.java:57)
-# at junit.framework.TestCase.fail(TestCase.java:223)
-# at org.bouncycastle.jce.provider.test.SimpleTestTest.testJCE(SimpleTestTest.java:26)
-JAVA_TEST_RUN_ONLY=(
- "org.bouncycastle.asn1.test.AllTests"
- "org.bouncycastle.crypto.agreement.test.AllTests"
- "org.bouncycastle.crypto.ec.test.AllTests"
- "org.bouncycastle.crypto.prng.test.AllTests"
- "org.bouncycastle.crypto.test.AllTests"
- "org.bouncycastle.jcajce.provider.test.AllTests"
-# "org.bouncycastle.jce.provider.test.AllTests" # bug #827146
- "org.bouncycastle.jce.provider.test.nist.AllTests"
- "org.bouncycastle.jce.provider.test.rsa3.AllTests"
- "org.bouncycastle.pqc.crypto.lms.AllTests"
- "org.bouncycastle.pqc.crypto.test.AllTests"
- "org.bouncycastle.pqc.jcajce.provider.test.AllTests"
- "org.bouncycastle.util.encoders.test.AllTests"
-)
-
-check_env() {
- if use test; then
- # this is needed only for tests
- CHECKREQS_MEMORY="2048M"
- check-reqs_pkg_pretend
- fi
-}
-
-pkg_pretend() {
- check_env
-}
-
-pkg_setup() {
- check_env
- java-pkg-2_pkg_setup
-}
-
-src_prepare() {
- default
- java-pkg_clean ..
-}
-
-src_test() {
- JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}"
- java-pkg-simple_src_test
-}
-
-src_install() {
- default
- einstalldocs
- docinto html
- dodoc -r ../docs
-
- # These files are not present in the upstream jar but are used for tests
- # Removing them from the jar file after testing
- zip --delete "${S}"/bcprov.jar \
- "org/bouncycastle/pqc/crypto/ntru/*" \
- "org/bouncycastle/pqc/math/ntru/*" \
- || die "cleaning after tests failed"
-
- java-pkg-simple_src_install
-}
diff --git a/dev-java/bcprov/bcprov-1.74.ebuild b/dev-java/bcprov/bcprov-1.74.ebuild
new file mode 100644
index 000000000000..6918c239c192
--- /dev/null
+++ b/dev-java/bcprov/bcprov-1.74.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcprov-jdk18on:1.74"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple check-reqs
+
+DESCRIPTION="Java cryptography APIs"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-r${PV/./rv}.tar.gz
+ test? ( https://github.com/bcgit/bc-test-data/archive/r${PV/./rv}.tar.gz -> bc-test-data-r${PV/./rv}.tar.gz )"
+
+LICENSE="BSD"
+SLOT="1.74"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+BDEPEND="app-arch/zip"
+
+DOCS=( {README,SECURITY}.md )
+HTML_DOCS=( {CONTRIBUTORS,index}.html )
+
+S="${WORKDIR}/bc-java-r${PV/./rv}"
+
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="2048M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_env
+}
+
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ unpack bc-java-r${PV/./rv}.tar.gz
+ use test && unpack bc-test-data-r${PV/./rv}.tar.gz
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # TBD: unboundid-ldapsdk should be packaged from source.
+ java-pkg_clean ! -path "./libs/unboundid-ldapsdk-6.0.8.jar"
+}
+
+src_compile() {
+ JAVA_RESOURCE_DIRS=(
+ "core/src/main/resources"
+ "prov/src/main/resources"
+ )
+ JAVA_SRC_DIR=(
+ "core/src/main/java"
+ "prov/src/main/java"
+ "prov/src/main/jdk1.9"
+ )
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ mv ../bc-test-data-r${PV/./rv} bc-test-data || die "cannot move bc-test-data"
+
+ JAVA_TEST_EXTRA_ARGS="-Dbc.test.data.home=${S}/core/src/test/data"
+ JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}"
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+
+ einfo "Testing \"core\""
+ JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
+ JAVA_TEST_SRC_DIR="core/src/test/java"
+ pushd core/src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" )
+ popd || die
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+
+ einfo "Testing bcprov"
+ JAVA_GENTOO_CLASSPATH_EXTRA=":core.jar:libs/unboundid-ldapsdk-6.0.8.jar"
+ JAVA_TEST_RESOURCE_DIRS="prov/src/test/resources"
+ JAVA_TEST_SRC_DIR="prov/src/test/java"
+ pushd prov/src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" )
+ popd || die
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ docinto html
+ dodoc -r docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcprov/bcprov-1.77.ebuild b/dev-java/bcprov/bcprov-1.77.ebuild
new file mode 100644
index 000000000000..9e17d73d8035
--- /dev/null
+++ b/dev-java/bcprov/bcprov-1.77.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcprov-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple check-reqs
+
+DESCRIPTION="Java cryptography APIs"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz
+ test? ( https://github.com/bcgit/bc-test-data/archive/${MY_PV}.tar.gz -> bc-test-data-${MY_PV}.tar.gz )"
+S="${WORKDIR}/bc-java-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+BDEPEND="app-arch/zip"
+
+DOCS=( {README,SECURITY}.md )
+HTML_DOCS=( {CONTRIBUTORS,index}.html )
+
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="2048M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_env
+}
+
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ unpack bc-java-${MY_PV}.tar.gz
+ use test && unpack bc-test-data-${MY_PV}.tar.gz
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # TBD: unboundid-ldapsdk should be packaged from source.
+ java-pkg_clean ! -path "./libs/unboundid-ldapsdk-6.0.8.jar"
+}
+
+src_compile() {
+ JAVA_RESOURCE_DIRS=(
+ "core/src/main/resources"
+ "prov/src/main/resources"
+ )
+ JAVA_SRC_DIR=(
+ "core/src/main/java"
+ "prov/src/main/java"
+ "prov/src/main/jdk1.9"
+ )
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ mv ../bc-test-data-${MY_PV} bc-test-data || die "cannot move bc-test-data"
+
+ JAVA_TEST_EXTRA_ARGS="-Dbc.test.data.home=${S}/core/src/test/data"
+ JAVA_TEST_EXTRA_ARGS+=" -Xmx${CHECKREQS_MEMORY}"
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+
+ einfo "Testing \"core\""
+ JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
+ JAVA_TEST_SRC_DIR="core/src/test/java"
+ pushd core/src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" )
+ popd || die
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+
+ einfo "Testing bcprov"
+ JAVA_GENTOO_CLASSPATH_EXTRA=":core.jar:libs/unboundid-ldapsdk-6.0.8.jar"
+ JAVA_TEST_RESOURCE_DIRS="prov/src/test/resources"
+ JAVA_TEST_SRC_DIR="prov/src/test/java"
+ pushd prov/src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "AllTests.java" )
+ popd || die
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ docinto html
+ dodoc -r docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcprov/metadata.xml b/dev-java/bcprov/metadata.xml
index 1a34130e2c63..e3ec23b6df50 100644
--- a/dev-java/bcprov/metadata.xml
+++ b/dev-java/bcprov/metadata.xml
@@ -5,6 +5,9 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">bcgit/bc-java</remote-id>
+ </upstream>
<longdescription>
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.8 and up.
</longdescription>
diff --git a/dev-java/bcutil/Manifest b/dev-java/bcutil/Manifest
index 7feaa1f69257..680d64e45a8b 100644
--- a/dev-java/bcutil/Manifest
+++ b/dev-java/bcutil/Manifest
@@ -1 +1 @@
-DIST bc-java-r1rv71.tar.gz 117684695 BLAKE2B db0a1b2576a55592e0447aa8734e8ecb6fe8452d08dabf010070f3c6b5a3b4caa7a5929baaa52796fed0ef397e18fe58fdb91dfef6da75af8f28efb627d2b808 SHA512 c9a095a034863a46027e28754ae96d9750162120bc1af124fa700ad05d23716a606633b674e2e8490bda658d30d30e93f42ba00dcc1ac13596a24f8aa43a666d
+DIST bc-java-r1rv77.tar.gz 31402744 BLAKE2B 1ca1e1dac1ed3d613ae66f08cd8a954e63d43a49ed402f5bd7c30cf1f0830ad29104aa91a9a0a3cbbb5ea750392bc285172a1ab38f2aba1600fa3ca4c469b4f5 SHA512 d75a0ce94bd006499eef9393491347ae70544643c93c2f7591df3ff0179bd477a5066891c7c3bdeb09bd693093c9dc7d29c48462a1d539e464cbf2ee9c1dfce4
diff --git a/dev-java/bcutil/bcutil-1.71.ebuild b/dev-java/bcutil/bcutil-1.71.ebuild
deleted file mode 100644
index df97d23f0e69..000000000000
--- a/dev-java/bcutil/bcutil-1.71.ebuild
+++ /dev/null
@@ -1,57 +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="org.bouncycastle:bcutil-jdk18on:1.71"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java APIs for ASN.1 extension and utility APIs used to support bcpkix and bctls"
-HOMEPAGE="https://www.bouncycastle.org/java.html"
-SRC_URI="https://github.com/bcgit/bc-java/archive/r${PV/./rv}.tar.gz -> bc-java-r${PV/./rv}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc64 x86"
-
-CDEPEND="~dev-java/bcprov-${PV}:0"
-DEPEND="${CDEPEND}
- >=virtual/jdk-11:*"
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( ../{README,SECURITY}.md )
-HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
-
-S="${WORKDIR}/bc-java-r${PV/./rv}/util"
-
-JAVA_GENTOO_CLASSPATH="bcprov"
-JAVA_SRC_DIR=(
- "src/main/java"
- "src/main/jdk1.9" # https://bugs.gentoo.org/797634
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-JAVA_TEST_RUN_ONLY=(
- "org.bouncycastle.asn1.util.test.AllTests"
- "org.bouncycastle.oer.test.AllTests"
-)
-
-src_prepare() {
- default
- java-pkg_clean ..
-}
-
-src_install() {
- default
- einstalldocs
- docinto html
- dodoc -r ../docs
- java-pkg-simple_src_install
-}
diff --git a/dev-java/bcutil/bcutil-1.77.ebuild b/dev-java/bcutil/bcutil-1.77.ebuild
new file mode 100644
index 000000000000..03c870ae5331
--- /dev/null
+++ b/dev-java/bcutil/bcutil-1.77.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.bouncycastle:bcutil-jdk18on:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java APIs for ASN.1 extension and utility APIs used to support bcpkix and bctls"
+HOMEPAGE="https://www.bouncycastle.org/java.html"
+MY_PV="r${PV/./rv}"
+SRC_URI="https://github.com/bcgit/bc-java/archive/${MY_PV}.tar.gz -> bc-java-${MY_PV}.tar.gz"
+S="${WORKDIR}/bc-java-${MY_PV}/util"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc64 x86"
+
+CDEPEND="~dev-java/bcprov-${PV}:0"
+DEPEND="${CDEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( ../{README,SECURITY}.md )
+HTML_DOCS=( ../{CONTRIBUTORS,index}.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.bouncycastle.util"
+JAVA_GENTOO_CLASSPATH="bcprov"
+JAVA_SRC_DIR=(
+ "src/main/java"
+ "src/main/jdk1.9"
+)
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_RUN_ONLY=(
+ "org.bouncycastle.asn1.util.test.AllTests"
+ "org.bouncycastle.oer.test.AllTests"
+)
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ..
+}
+
+src_install() {
+ docinto html
+ dodoc -r ../docs
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/bcutil/metadata.xml b/dev-java/bcutil/metadata.xml
index 8f66cc0abd4b..126e6e2a7798 100644
--- a/dev-java/bcutil/metadata.xml
+++ b/dev-java/bcutil/metadata.xml
@@ -4,6 +4,9 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">bcgit/bc-java</remote-id>
+ </upstream>
<longdescription>
The Bouncy Castle Java APIs for ASN.1 extension and utility APIs used to support bcpkix and bctls. This jar contains APIs for JDK 1.8 and up.
</longdescription>
diff --git a/dev-java/bnd-annotation/Manifest b/dev-java/bnd-annotation/Manifest
new file mode 100644
index 000000000000..4a41f3f9f080
--- /dev/null
+++ b/dev-java/bnd-annotation/Manifest
@@ -0,0 +1,2 @@
+DIST aQute.bnd-7.0.0.tar.gz 172496438 BLAKE2B a2e443b0e4a2eb278a8e1df86456fea22ffb8147adc00c9f300cbd32b226218bb64ccca3da3bcd0d79b07567a7b4cf4456b96224d6abf59486fa08ca6170d0ba SHA512 11d34a7d1a9b2fb2e8c112d414a06c281ccde9a7b06c62043e19d83e85ea64fdf022dd4493a14dd2dcf6adee392a1e9bf1ab05a6d690a328f29d7019045bca8c
+DIST biz.aQute.bnd.annotation-6.3.1-sources.jar 50600 BLAKE2B 6ace86a803c378be17b4ecfb658eb17e9c95f4f8797cdf22cbb9a5acb2a382fe0ee6791ad0280a2de9d9e85fbe2732487e693b2c93f08145b3633810f480f8b9 SHA512 751855a173e6d5f9d09f6d63775b97d971cebbfc019053988ec7fe144d0f49b4d09b9a2339d63bb43cea51d09d7d766554255f727cad8d73d9c196097e58d0fd
diff --git a/dev-java/bnd-annotation/bnd-annotation-6.3.1.ebuild b/dev-java/bnd-annotation/bnd-annotation-6.3.1.ebuild
new file mode 100644
index 000000000000..9522fc6820a9
--- /dev/null
+++ b/dev-java/bnd-annotation/bnd-annotation-6.3.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom biz.aQute.bnd.annotation-6.3.1.pom --download-uri https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.annotation/6.3.1/biz.aQute.bnd.annotation-6.3.1-sources.jar --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild aqute-bnd-annotation-6.3.1.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="biz.aQute.bnd:biz.aQute.bnd.annotation:6.3.1"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="bnd Annotations Library"
+HOMEPAGE="https://bnd.bndtools.org/"
+SRC_URI="https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd.annotation/${PV}/biz.aQute.bnd.annotation-${PV}-sources.jar"
+
+LICENSE="Apache-2.0 EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: biz.aQute.bnd.annotation-${PV}.pom
+# org.osgi:org.osgi.resource:1.0.0 -> !!!artifactId-not-found!!!
+# org.osgi:org.osgi.service.serviceloader:1.0.0 -> !!!artifactId-not-found!!!
+
+CP_DEPEND="dev-java/osgi-annotation:0"
+
+# Compile dependencies
+# POM: biz.aQute.bnd.annotation-${PV}.pom
+# org.osgi:org.osgi.namespace.extender:1.0.1 -> !!!artifactId-not-found!!!
+# org.osgi:org.osgi.namespace.service:1.0.0 -> !!!artifactId-not-found!!!
+# org.osgi:osgi.annotation:8.1.0 -> >=dev-java/osgi-annotation-8.1.0:0
+
+DEPEND=">=virtual/jdk-1.8:*
+ dev-java/osgi-cmpn:8
+ dev-java/osgi-core:0
+ ${CP_DEPEND}"
+
+RDEPEND=">=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+JAVA_CLASSPATH_EXTRA="osgi-cmpn-8,osgi-core"
+JAVA_SRC_DIR="."
diff --git a/dev-java/bnd-annotation/bnd-annotation-7.0.0.ebuild b/dev-java/bnd-annotation/bnd-annotation-7.0.0.ebuild
new file mode 100644
index 000000000000..a66b70291b68
--- /dev/null
+++ b/dev-java/bnd-annotation/bnd-annotation-7.0.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="biz.aQute.bnd:biz.aQute.bnd.annotation:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="bnd Annotations Library"
+HOMEPAGE="https://bnd.bndtools.org/"
+SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.tar.gz -> aQute.bnd-${PV}.tar.gz"
+S="${WORKDIR}/bnd-${PV}"
+
+LICENSE="Apache-2.0 EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ dev-java/osgi-cmpn:8
+ >=virtual/jdk-11:*
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="biz.aQute.bnd.annotation"
+JAVA_CLASSPATH_EXTRA="osgi-cmpn-8"
+JAVA_SRC_DIR="biz.aQute.bnd.annotation/src"
diff --git a/dev-java/bnd-annotation/metadata.xml b/dev-java/bnd-annotation/metadata.xml
new file mode 100644
index 000000000000..cb6317e530db
--- /dev/null
+++ b/dev-java/bnd-annotation/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bndtools/bnd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/bnd-ant/Manifest b/dev-java/bnd-ant/Manifest
new file mode 100644
index 000000000000..a890570b45c8
--- /dev/null
+++ b/dev-java/bnd-ant/Manifest
@@ -0,0 +1 @@
+DIST aQute.bnd-7.0.0.tar.gz 172496438 BLAKE2B a2e443b0e4a2eb278a8e1df86456fea22ffb8147adc00c9f300cbd32b226218bb64ccca3da3bcd0d79b07567a7b4cf4456b96224d6abf59486fa08ca6170d0ba SHA512 11d34a7d1a9b2fb2e8c112d414a06c281ccde9a7b06c62043e19d83e85ea64fdf022dd4493a14dd2dcf6adee392a1e9bf1ab05a6d690a328f29d7019045bca8c
diff --git a/dev-java/bnd-ant/bnd-ant-7.0.0.ebuild b/dev-java/bnd-ant/bnd-ant-7.0.0.ebuild
new file mode 100644
index 000000000000..d3ca0ad13457
--- /dev/null
+++ b/dev-java/bnd-ant/bnd-ant-7.0.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="biz.aQute.bnd:biz.aQute.bnd.ant:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Bnd Ant Tasks"
+HOMEPAGE="https://bnd.bndtools.org/"
+SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.tar.gz -> aQute.bnd-${PV}.tar.gz"
+S="${WORKDIR}/bnd-${PV}"
+
+LICENSE="Apache-2.0 EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+DEPEND="
+ dev-java/ant:0
+ ~dev-java/bnd-${PV}:0
+ >=virtual/jdk-17:*"
+RDEPEND=">=virtual/jre-17:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="biz.aQute.bnd.ant"
+JAVA_CLASSPATH_EXTRA="
+ ant
+ bnd
+"
+
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR="biz.aQute.bnd.ant/src"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ mkdir res || die
+
+ # java-pkg-simple wants resources in JAVA_RESOURCE_DIRS
+ pushd biz.aQute.bnd.ant/src > /dev/null || die
+ find -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t ../../res || die
+ popd > /dev/null || die
+}
diff --git a/dev-java/bnd-ant/metadata.xml b/dev-java/bnd-ant/metadata.xml
new file mode 100644
index 000000000000..cb6317e530db
--- /dev/null
+++ b/dev-java/bnd-ant/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bndtools/bnd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/bnd-junit/Manifest b/dev-java/bnd-junit/Manifest
deleted file mode 100644
index 068af0665527..000000000000
--- a/dev-java/bnd-junit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST bndlib-2.1.0.tar.gz 123217291 BLAKE2B ab8e6876b13db538746f77aa1fe7800e5a3b5e539e1980da78f69c64344f4964bf0a21f2329f7684b055d0de39a10c8df36e030922e9933b29fccb9a35aa669a SHA512 6965143ced45c15fc2316716de32e80506cc411d52309b24313fff37e0713a45ad200d5b3701f0d47a131a3163ec266ed8acb4544884cd1c59c9716c7a2b285e
diff --git a/dev-java/bnd-junit/bnd-junit-2.1.0-r2.ebuild b/dev-java/bnd-junit/bnd-junit-2.1.0-r2.ebuild
deleted file mode 100644
index 3c659d744e29..000000000000
--- a/dev-java/bnd-junit/bnd-junit-2.1.0-r2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="test"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Junit plugin for bndlib, a swiss army knife for OSGi"
-HOMEPAGE="http://www.aqute.biz/Bnd/Bnd"
-SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.REL.tar.gz -> bndlib-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-CDEPEND="
- dev-java/osgi-core-api:0
- dev-java/bndlib:0"
-
-DEPEND="
- ${CDEPEND}
- virtual/jdk:1.8
- test? ( dev-java/junit:4 )"
-
-RDEPEND="
- ${CDEPEND}
- virtual/jre:1.8"
-
-S="${WORKDIR}/bnd-${PV}.REL/biz.aQute.junit"
-
-EANT_BUILD_TARGET="build"
-JAVA_ANT_REWRITE_CLASSPATH="true"
-EANT_GENTOO_CLASSPATH="bndlib,junit-4,osgi-core-api"
-
-# Tests appear broken and cause a circular dependency.
-RESTRICT="test"
-
-src_prepare() {
- default
- java-pkg_clean
- cp ../cnf/build.xml . || die
-}
-
-src_install() {
- java-pkg_newjar generated/biz.aQute.junit.jar
-}
diff --git a/dev-java/bnd-junit/metadata.xml b/dev-java/bnd-junit/metadata.xml
deleted file mode 100644
index 94feb65b0b18..000000000000
--- a/dev-java/bnd-junit/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="github">bndtools/bnd</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/bnd-util/Manifest b/dev-java/bnd-util/Manifest
new file mode 100644
index 000000000000..a890570b45c8
--- /dev/null
+++ b/dev-java/bnd-util/Manifest
@@ -0,0 +1 @@
+DIST aQute.bnd-7.0.0.tar.gz 172496438 BLAKE2B a2e443b0e4a2eb278a8e1df86456fea22ffb8147adc00c9f300cbd32b226218bb64ccca3da3bcd0d79b07567a7b4cf4456b96224d6abf59486fa08ca6170d0ba SHA512 11d34a7d1a9b2fb2e8c112d414a06c281ccde9a7b06c62043e19d83e85ea64fdf022dd4493a14dd2dcf6adee392a1e9bf1ab05a6d690a328f29d7019045bca8c
diff --git a/dev-java/bnd-util/bnd-util-7.0.0.ebuild b/dev-java/bnd-util/bnd-util-7.0.0.ebuild
new file mode 100644
index 000000000000..686d1ca62757
--- /dev/null
+++ b/dev-java/bnd-util/bnd-util-7.0.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="biz.aQute.bnd:biz.aQute.bnd.util:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="AQute Bnd Utilities"
+HOMEPAGE="https://bnd.bndtools.org/"
+SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.tar.gz -> aQute.bnd-${PV}.tar.gz"
+S="${WORKDIR}/bnd-${PV}"
+
+LICENSE="Apache-2.0 EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="dev-java/osgi-annotation:0"
+
+DEPEND="${CP_DEPEND}
+ ~dev-java/bnd-annotation-${PV}:0
+ ~dev-java/libg-${PV}:0
+ dev-java/osgi-cmpn:8
+ dev-java/osgi-core:0
+ dev-java/slf4j-api:0
+ >=virtual/jdk-17:*
+"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-17:*
+"
+
+JAVA_AUTOMATIC_MODULE_NAME="biz.aQute.bnd.util"
+JAVA_CLASSPATH_EXTRA="
+ bnd-annotation
+ libg
+ osgi-cmpn-8
+ osgi-core
+ slf4j-api
+"
+JAVA_SRC_DIR="biz.aQute.bnd.util/src"
diff --git a/dev-java/bnd-util/metadata.xml b/dev-java/bnd-util/metadata.xml
new file mode 100644
index 000000000000..cb6317e530db
--- /dev/null
+++ b/dev-java/bnd-util/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bndtools/bnd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/bnd/Manifest b/dev-java/bnd/Manifest
new file mode 100644
index 000000000000..a890570b45c8
--- /dev/null
+++ b/dev-java/bnd/Manifest
@@ -0,0 +1 @@
+DIST aQute.bnd-7.0.0.tar.gz 172496438 BLAKE2B a2e443b0e4a2eb278a8e1df86456fea22ffb8147adc00c9f300cbd32b226218bb64ccca3da3bcd0d79b07567a7b4cf4456b96224d6abf59486fa08ca6170d0ba SHA512 11d34a7d1a9b2fb2e8c112d414a06c281ccde9a7b06c62043e19d83e85ea64fdf022dd4493a14dd2dcf6adee392a1e9bf1ab05a6d690a328f29d7019045bca8c
diff --git a/dev-java/bnd/bnd-7.0.0.ebuild b/dev-java/bnd/bnd-7.0.0.ebuild
new file mode 100644
index 000000000000..61e84e856f6c
--- /dev/null
+++ b/dev-java/bnd/bnd-7.0.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="biz.aQute.bnd:biz.aQute.bnd:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="bndlib: A Swiss Army Knife for OSGi"
+HOMEPAGE="https://bnd.bndtools.org/"
+SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.tar.gz -> aQute.bnd-${PV}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0 EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+BDEPEND="app-arch/zip"
+
+CP_DEPEND="
+ ~dev-java/bndlib-${PV}:0
+ dev-java/felix-resolver:0
+ dev-java/guava:0
+ dev-java/javaparser-core:0
+ dev-java/jline:2
+ dev-java/jtwig-core:0
+ dev-java/osgi-annotation:0
+ dev-java/osgi-cmpn:8
+ dev-java/osgi-core:0
+ dev-java/slf4j-simple:0
+ dev-java/snakeyaml:0
+ dev-java/xz-java:0
+"
+
+DEPEND="${CP_DEPEND}
+ dev-java/commons-lang:3.6
+ dev-java/eclipse-jdt-annotation:0
+ dev-java/felix-gogo-runtime:0
+ dev-java/slf4j-api:0
+ dev-java/jtwig-reflection:0
+ dev-java/osgi-service-log:0
+ dev-java/osgi-service-subsystem:0
+ >=virtual/jdk-17:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-17:*"
+
+PATCHES=(
+ "${FILESDIR}/bnd-7.0.0-aQute.bnd.main.bnd.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="biz.aQute.bnd"
+JAVA_CLASSPATH_EXTRA="
+ commons-lang-3.6
+ eclipse-jdt-annotation
+ jtwig-reflection
+ felix-gogo-runtime
+ osgi-service-subsystem
+ slf4j-api
+"
+JAVA_MAIN_CLASS="aQute.bnd.main.bnd"
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR=(
+ "biz.aQute.bnd.exporters/src"
+ "biz.aQute.bnd.reporter/src"
+ "biz.aQute.bnd/src"
+ "biz.aQute.remote/src"
+ "biz.aQute.repository/src"
+ "biz.aQute.resolve/src"
+)
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ mkdir res || die
+
+ # java-pkg-simple wants resources in JAVA_RESOURCE_DIRS
+ pushd biz.aQute.bnd/src > /dev/null || die
+ find -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t ../../res || die
+ popd > /dev/null || die
+}
+
+src_compile() {
+ # There is another version of osgi-service-log in osgi-core-0
+ JAVA_GENTOO_CLASSPATH_EXTRA=":$(java-pkg_getjars --build-only osgi-service-log)"
+ java-pkg-simple_src_compile
+
+ # remove classes which are not in upstream's jar file
+ zip -d ${PN}.jar \
+ "*/remote/agent/*" \
+ "*/remote/embedded/*" \
+ "*/remote/main/*" \
+ "*/remote/plugin/*" \
+ "*/remote/test/*" \
+ || die
+}
diff --git a/dev-java/bnd/files/bnd-7.0.0-aQute.bnd.main.bnd.patch b/dev-java/bnd/files/bnd-7.0.0-aQute.bnd.main.bnd.patch
new file mode 100644
index 000000000000..6d37cbc9f7d6
--- /dev/null
+++ b/dev-java/bnd/files/bnd-7.0.0-aQute.bnd.main.bnd.patch
@@ -0,0 +1,21 @@
+Upstream uses an older version of slf4j-simple
+--- a/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
++++ b/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
+@@ -486,14 +486,14 @@ public class bnd extends Processor {
+ System.setProperty(DEFAULT_LOG_LEVEL_KEY, "warn");
+ level = org.slf4j.spi.LocationAwareLogger.WARN_INT;
+ }
+- Field field = org.slf4j.impl.SimpleLogger.class.getDeclaredField("CONFIG_PARAMS");
++ Field field = org.slf4j.simple.SimpleLogger.class.getDeclaredField("CONFIG_PARAMS");
+ field.setAccessible(true);
+ Object CONFIG_PARAMS = field.get(null);
+- field = org.slf4j.impl.SimpleLoggerConfiguration.class.getDeclaredField("defaultLogLevel");
++ field = org.slf4j.simple.SimpleLoggerConfiguration.class.getDeclaredField("defaultLogLevel");
+ field.setAccessible(true);
+ field.set(CONFIG_PARAMS, level);
+
+- field = org.slf4j.impl.SimpleLogger.class.getDeclaredField("currentLogLevel");
++ field = org.slf4j.simple.SimpleLogger.class.getDeclaredField("currentLogLevel");
+ field.setAccessible(true);
+ field.set(logger, level);
+ } catch (Exception e) {
diff --git a/dev-java/bnd/metadata.xml b/dev-java/bnd/metadata.xml
new file mode 100644
index 000000000000..cb6317e530db
--- /dev/null
+++ b/dev-java/bnd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bndtools/bnd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/bndlib/Manifest b/dev-java/bndlib/Manifest
index 068af0665527..a890570b45c8 100644
--- a/dev-java/bndlib/Manifest
+++ b/dev-java/bndlib/Manifest
@@ -1 +1 @@
-DIST bndlib-2.1.0.tar.gz 123217291 BLAKE2B ab8e6876b13db538746f77aa1fe7800e5a3b5e539e1980da78f69c64344f4964bf0a21f2329f7684b055d0de39a10c8df36e030922e9933b29fccb9a35aa669a SHA512 6965143ced45c15fc2316716de32e80506cc411d52309b24313fff37e0713a45ad200d5b3701f0d47a131a3163ec266ed8acb4544884cd1c59c9716c7a2b285e
+DIST aQute.bnd-7.0.0.tar.gz 172496438 BLAKE2B a2e443b0e4a2eb278a8e1df86456fea22ffb8147adc00c9f300cbd32b226218bb64ccca3da3bcd0d79b07567a7b4cf4456b96224d6abf59486fa08ca6170d0ba SHA512 11d34a7d1a9b2fb2e8c112d414a06c281ccde9a7b06c62043e19d83e85ea64fdf022dd4493a14dd2dcf6adee392a1e9bf1ab05a6d690a328f29d7019045bca8c
diff --git a/dev-java/bndlib/bndlib-2.1.0-r1.ebuild b/dev-java/bndlib/bndlib-2.1.0-r1.ebuild
deleted file mode 100644
index f78e091b0744..000000000000
--- a/dev-java/bndlib/bndlib-2.1.0-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="test"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="A swiss army knife for OSGi"
-HOMEPAGE="https://bnd.bndtools.org/"
-SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.REL.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CDEPEND="dev-java/libg:0
- dev-java/osgi-compendium:0
- dev-java/osgi-core-api:0
- dev-java/osgi-enterprise-api:0"
-
-# Tests appear broken and cause a circular dependency.
-# test? ( dev-java/bnd-junit:0 )
-DEPEND="virtual/jdk:1.8
- ${CDEPEND}
- test? ( dev-java/junit:4 )"
-
-RDEPEND="virtual/jre:1.8
- ${CDEPEND}"
-
-S="${WORKDIR}/bnd-${PV}.REL/biz.aQute.${PN}"
-
-EANT_BUILD_TARGET="build"
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-
-# Tests appear broken and cause a circular dependency.
-RESTRICT="test"
-
-src_prepare() {
- default
- # Move the correct build.xml into place, needed for testing.
- cp ../cnf/build.xml . || die
-
- # Remove bundled jar files.
- find . -name '*.jar' -delete > /dev/null
-
- if ! use test ; then
- rm -rf src/aQute/bnd/test || die "Failed to remove tests."
- fi
-}
-
-src_compile() {
- local extra_cp=""
-
- if use test ; then
- extra_cp=":$(java-pkg_getjars --build-only junit-4)"
- fi
-
- EANT_EXTRA_ARGS="-Dgentoo.classpath=$(java-pkg_getjars libg):$(java-pkg_getjars osgi-compendium):$(java-pkg_getjars osgi-core-api):$(java-pkg_getjars osgi-enterprise-api)${extra_cp}" \
- java-pkg-2_src_compile
-}
-
-EANT_TEST_GENTOO_CLASSPATH="junit-4,bnd-junit"
-src_test() {
- java-pkg-2_src_test
-}
-
-src_install() {
- java-pkg_newjar generated/biz.aQute.${PN}.jar
-}
diff --git a/dev-java/bndlib/bndlib-7.0.0.ebuild b/dev-java/bndlib/bndlib-7.0.0.ebuild
new file mode 100644
index 000000000000..4a6bee66518d
--- /dev/null
+++ b/dev-java/bndlib/bndlib-7.0.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="biz.aQute.bnd:biz.aQute.bndlib:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="bndlib: A Swiss Army Knife for OSGi"
+HOMEPAGE="https://bnd.bndtools.org/"
+SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.tar.gz -> aQute.bnd-${PV}.tar.gz"
+S="${WORKDIR}/bnd-${PV}"
+
+LICENSE="Apache-2.0 EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ ~dev-java/bnd-annotation-${PV}:0
+ ~dev-java/bnd-util-${PV}:0
+ ~dev-java/libg-${PV}:0
+ dev-java/osgi-annotation:0
+ dev-java/osgi-cmpn:8
+ dev-java/osgi-core:0
+ dev-java/slf4j-api:0
+"
+
+DEPEND="${CP_DEPEND}
+ dev-java/osgi-service-log:0
+ >=virtual/jdk-17:*
+"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-17:*
+"
+
+JAVA_AUTOMATIC_MODULE_NAME="biz.aQute.bndlib"
+JAVA_CLASSPATH_EXTRA="osgi-service-log"
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR="biz.aQute.bndlib/src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir res || die
+
+ # java-pkg-simple wants resources in JAVA_RESOURCE_DIRS
+ mv biz.aQute.bndlib/img res || die
+ pushd biz.aQute.bndlib/src > /dev/null || die
+ find -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t ../../res || die
+ popd > /dev/null || die
+}
diff --git a/dev-java/bndlib/metadata.xml b/dev-java/bndlib/metadata.xml
index 94feb65b0b18..cb6317e530db 100644
--- a/dev-java/bndlib/metadata.xml
+++ b/dev-java/bndlib/metadata.xml
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="github">bndtools/bnd</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bndtools/bnd</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/brotli-dec/brotli-dec-0.1.2.ebuild b/dev-java/brotli-dec/brotli-dec-0.1.2.ebuild
index 545e6b9fff42..acbd619b97b7 100644
--- a/dev-java/brotli-dec/brotli-dec-0.1.2.ebuild
+++ b/dev-java/brotli-dec/brotli-dec-0.1.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ MAVEN_ID="org.brotli:dec:${PV}"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Brotli decompressor"
-HOMEPAGE="https://github.com/google/brotli"
+HOMEPAGE="https://brotli.org/ https://github.com/google/brotli"
SRC_URI="https://repo1.maven.org/maven2/org/brotli/dec/${PV}/dec-${PV}-sources.jar -> ${P}-sources.jar"
LICENSE="MIT"
diff --git a/dev-java/brotli-dec/metadata.xml b/dev-java/brotli-dec/metadata.xml
index 6021501589e0..44cc9d815d1f 100644
--- a/dev-java/brotli-dec/metadata.xml
+++ b/dev-java/brotli-dec/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/brotli</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/browserlauncher2/browserlauncher2-1.3-r2.ebuild b/dev-java/browserlauncher2/browserlauncher2-1.3-r2.ebuild
deleted file mode 100644
index 7f2370c1c9c6..000000000000
--- a/dev-java/browserlauncher2/browserlauncher2-1.3-r2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-ant-2
-
-MY_PV="$(ver_rs 1- _)"
-
-DESCRIPTION="A library that facilitates opening a browser from a Java application"
-HOMEPAGE="http://browserlaunch2.sourceforge.net/"
-SRC_URI="https://downloads.sourceforge.net/project/browserlaunch2/browserlauncher2/${PV}/BrowserLauncher2-all-${MY_PV}.jar"
-
-LICENSE="LGPL-2.1"
-SLOT="1.0"
-KEYWORDS="amd64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-src_prepare() {
- default
- unpack ${A}
- find . -name "*.class" -exec rm -v {} \; || die
- # fixing build.xml
- sed -i -e "s: includes=\"\*\*/\*\.class\"::g" "${S}/build.xml" || die
-
- iconv -f ISO-8859-1 -t UTF8 -o "${S}/source/at/jta/Regor.java~" \
- "${S}/source/at/jta/Regor.java" || die "recoding failed"
- mv -f "${S}"/source/at/jta/Regor.java{~,} || die "cannot rename"
-}
-
-EANT_BUILD_TARGET="build"
-EANT_DOC_TARGET="api"
-
-src_install() {
- java-pkg_newjar deployment/*.jar
- java-pkg_dolauncher BrowserLauncherTestApp-${SLOT} \
- --main "edu.stanford.ejalbert.testing.BrowserLauncherTestApp"
-
- dodoc README*
- use doc && java-pkg_dojavadoc api
- use source && java-pkg_dosrc source
-}
diff --git a/dev-java/browserlauncher2/browserlauncher2-1.3-r3.ebuild b/dev-java/browserlauncher2/browserlauncher2-1.3-r3.ebuild
index a20e47279bc6..6e0be61baf7e 100644
--- a/dev-java/browserlauncher2/browserlauncher2-1.3-r3.ebuild
+++ b/dev-java/browserlauncher2/browserlauncher2-1.3-r3.ebuild
@@ -8,12 +8,12 @@ JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="A library that facilitates opening a browser from a Java application"
-HOMEPAGE="http://browserlaunch2.sourceforge.net/"
+HOMEPAGE="https://browserlaunch2.sourceforge.net/"
SRC_URI="https://downloads.sourceforge.net/project/browserlaunch2/browserlauncher2/${PV}/BrowserLauncher2-all-${PV//./_}.jar"
LICENSE="LGPL-2.1"
SLOT="1.0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ppc64 x86"
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/bsf/Manifest b/dev-java/bsf/Manifest
index aeacf27f9b5a..4add2dfdfd39 100644
--- a/dev-java/bsf/Manifest
+++ b/dev-java/bsf/Manifest
@@ -1 +1,2 @@
DIST bsf-src-2.4.0.tar.gz 299749 BLAKE2B 41f3cfe77b1ccf6b78493df7f5f288b397234b3236977c4b7d2e6c85b330e40319474419f560eefa1632da4d0524593b8c3e0c66cd27b852749b1405c20df5a6 SHA512 a1e7564fd14abbf725fee75c4b0ba5f92d7eada0e242ad05897753bb4afe639d859c42cae1d684e8dd9151409d4cc68e1a422a70bc74d8016144cc30d03a2d43
+DIST bsf-src-2.4.0.tar.gz.asc 191 BLAKE2B c4d17ee6df06aa2da70b9e733cb9890cef2f0f22124d8699400494496c4045851feb006e53ee4f4d09e926d982afd4057c08caf791fd4ea8a8bef5f576d6d8a1 SHA512 b82d1f9e6cd6bc3b3228ceb8f5f0679e8dd95c2200328accafa0ee9fd4b4065367e071d0fa718ecdc34e11c6b14456a671d4e8e74d2b56dea4e8fc3db73c4392
diff --git a/dev-java/bsf/bsf-2.4.0-r3.ebuild b/dev-java/bsf/bsf-2.4.0-r3.ebuild
deleted file mode 100644
index 93a6ebde1b57..000000000000
--- a/dev-java/bsf/bsf-2.4.0-r3.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-JAVA_PKG_IUSE="doc examples source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Bean Script Framework"
-HOMEPAGE="https://commons.apache.org/proper/commons-bsf/"
-SRC_URI="mirror://apache/commons/bsf/source/${PN}-src-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2.3"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# If you add new ones, add them to ant-apache-bsf too for use dependencies
-IUSE="javascript python tcl"
-
-CDEPEND="
- python? (
- dev-java/jython:2.7
- )
- javascript? (
- dev-java/rhino:1.6
- )
- tcl? (
- dev-java/jacl:0
- )
- dev-java/xalan:0
- dev-java/commons-logging:0"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-
-src_prepare() {
- default
- rm -v lib/*.jar || die
- rm samples/*/*.class || die
-
- java-ant_ignore-system-classes
-
- # somebody forgot to add them to source tarball... fetched from svn
- cp "${FILESDIR}/${P}-build-properties.xml" build-properties.xml || die
-
- # Silence javadoc.
- java-ant_xml-rewrite -f build.xml -c \
- -e javadoc \
- -a failonerror \
- -v no
-
- # http://bugs.jython.org/issue1814
- # Also, bsf is an old project (2011) and hasn't officially taken the leap to
- # jython-2.7. This patch fixes the issue.
- eapply "${FILESDIR}"/${P}-PyJavaInstance.patch
-}
-
-src_compile() {
- local pkgs="commons-logging,xalan"
- local antflags="-Dxalan.present=true"
-
- if use python; then
- antflags="${antflags} -Djython.present=true"
- pkgs="${pkgs},jython-2.7"
- fi
- if use javascript; then
- antflags="${antflags} -Drhino.present=true"
- pkgs="${pkgs},rhino-1.6"
- fi
- if use tcl; then
- antflags="${antflags} -Djacl.present=true"
- pkgs="${pkgs},jacl"
- fi
-
- local cp="$(java-pkg_getjars ${pkgs})"
- eant -Dgentoo.classpath="${cp}" ${antflags} jar
-
- # stupid clean
- mv build/lib/${PN}.jar "${S}" || die
- use doc && eant -Dgentoo.classpath="${cp}" ${antflags} javadocs
-}
-
-src_install() {
- java-pkg_dojar ${PN}.jar
-
- java-pkg_dolauncher ${PN} --main org.apache.bsf.Main
-
- dodoc CHANGES.txt NOTICE.txt README.txt RELEASE-NOTE.txt TODO.txt
-
- use doc && java-pkg_dojavadoc build/javadocs
- use examples && java-pkg_doexamples samples
- use source && java-pkg_dosrc src/org
-
- java-pkg_register-optional-dependency bsh,groovy-1,jruby
-}
-
-pkg_postinst() {
- elog "Support for python, javascript, and tcl is controlled via USE flags."
- elog "Also, following languages can be supported just by installing"
- elog "respective package with USE=\"bsf\": BeanShell (dev-java/bsh),"
- elog "Groovy (dev-java/groovy) and JRuby (dev-java/jruby)"
-}
diff --git a/dev-java/bsf/bsf-2.4.0-r5.ebuild b/dev-java/bsf/bsf-2.4.0-r5.ebuild
new file mode 100644
index 000000000000..b3abd4a8391e
--- /dev/null
+++ b/dev-java/bsf/bsf-2.4.0-r5.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Bean Script Framework"
+HOMEPAGE="https://commons.apache.org/proper/commons-bsf/"
+SRC_URI="mirror://apache/commons/bsf/source/bsf-src-${PV}.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/bsf/source/bsf-src-${PV}.tar.gz.asc )"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="2.3"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+# If you add new ones, add them to ant-apache-bsf too for use dependencies
+IUSE="javascript tcl"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+CDEPEND="
+ dev-java/commons-logging:0
+ dev-java/xalan:0
+ javascript? ( dev-java/rhino:1.6 )
+ tcl? ( dev-java/jacl:0 )
+"
+DEPEND="${CDEPEND}
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( CHANGES.txt NOTICE.txt README.txt RELEASE-NOTE.txt TODO.txt )
+
+JAVA_GENTOO_CLASSPATH="
+ commons-logging
+ xalan
+"
+JAVA_MAIN_CLASS="org.apache.bsf.Main"
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ rm -r src/org/apache/bsf/engines/{java,javaclass,jython,netrexx} || die
+ if use javascript; then
+ JAVA_GENTOO_CLASSPATH+=" rhino-1.6"
+ else
+ rm -r src/org/apache/bsf/engines/javascript || die
+ fi
+ if use tcl; then
+ JAVA_GENTOO_CLASSPATH+=" jacl"
+ else
+ rm -r src/org/apache/bsf/engines/jacl || die
+ fi
+ # java-pkg-simple.eclass wants resources in JAVA_RESOURCE_DIRS
+ mkdir res || die "create res"
+ pushd src > /dev/null || die "pushd"
+ find -type f -name '*.properties' \
+ | xargs cp --parent -t ../res || die "copy resources"
+ popd > /dev/null
+}
+
+src_install() {
+ java-pkg-simple_src_install
+# java-pkg_register-optional-dependency bsh,groovy-1,jruby
+}
+
+pkg_postinst() {
+ elog "Support for javascript and tcl is controlled via USE flags."
+ elog "Also, following languages can be supported just by installing"
+ elog "respective package with USE=\"bsf\": BeanShell (dev-java/bsh),"
+ elog "Groovy (dev-java/groovy) and JRuby (dev-java/jruby)"
+}
diff --git a/dev-java/bsf/files/bsf-2.4.0-PyJavaInstance.patch b/dev-java/bsf/files/bsf-2.4.0-PyJavaInstance.patch
deleted file mode 100644
index 4e8c4de7b015..000000000000
--- a/dev-java/bsf/files/bsf-2.4.0-PyJavaInstance.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/src/org/apache/bsf/engines/jython/JythonEngine.java.orig 2015-07-04 08:00:17.120000000 +0000
-+++ b/src/org/apache/bsf/engines/jython/JythonEngine.java 2015-07-04 08:04:55.230000000 +0000
-@@ -26,7 +26,7 @@
- import org.apache.bsf.util.BSFFunctions;
- import org.python.core.Py;
- import org.python.core.PyException;
--import org.python.core.PyJavaInstance;
-+import org.python.core.PyJavaType;
- import org.python.core.PyObject;
- import org.python.util.InteractiveInterpreter;
-
-@@ -110,8 +110,9 @@
-
- Object result = interp.eval ("bsf_temp_fn()");
-
-- if (result != null && result instanceof PyJavaInstance)
-- result = ((PyJavaInstance)result).__tojava__(Object.class);
-+ if (result != null && result instanceof PyJavaType)
-+ //result = ((PyJavaInstance)result).__tojava__(Object.class);
-+ result = PyJavaType.wrapJavaObject(result).__tojava__(Object.class);
- return result;
- } catch (PyException e) {
- throw new BSFException (BSFException.REASON_EXECUTION_ERROR,
-@@ -126,8 +127,9 @@
- Object script) throws BSFException {
- try {
- Object result = interp.eval (byteify(script.toString ()));
-- if (result != null && result instanceof PyJavaInstance)
-- result = ((PyJavaInstance)result).__tojava__(Object.class);
-+ if (result != null && result instanceof PyJavaType)
-+ //result = ((PyJavaInstance)result).__tojava__(Object.class);
-+ result = PyJavaType.wrapJavaObject(result).__tojava__(Object.class);
- return result;
- } catch (PyException e) {
- throw new BSFException (BSFException.REASON_EXECUTION_ERROR,
diff --git a/dev-java/bsf/files/bsf-2.4.0-build-properties.xml b/dev-java/bsf/files/bsf-2.4.0-build-properties.xml
deleted file mode 100644
index 6d716ed00563..000000000000
--- a/dev-java/bsf/files/bsf-2.4.0-build-properties.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<project name="props">
- <property name="project.name" value="bsf"/>
- <property name="project.fullName" value="Bean Scripting Framework"/>
- <property name="project.version" value="2.4.0"/>
- <property name="project.debug" value="on"/>
- <property name="project.deprecation" value="on"/>
-
- <property name="build.file" value="build.xml"/>
- <property name="build.properties.file" value="build-properties.xml"/>
- <property name="build.dir" value="build"/>
- <property name="build.dest" value="build/classes"/>
- <property name="build.lib" value="build/lib"/>
- <property name="build.lib.win32" value="build/lib/win32"/>
- <property name="build.samples" value="build/samples"/>
- <property name="build.samples.calc" value="build/samples/calc"/>
- <property name="build.samples.scriptedui" value="build/samples/scriptedui"/>
- <property name="build.samples.xsl" value="build/samples/xsl"/>
- <property name="build.javadocs" value="build/javadocs"/>
- <property name="build.tests" value="build/testcases" />
-
- <property name="dist.dir" value="dist"/>
- <property name="dist.dir.root" value="${dist.dir}/${project.name}-${project.version}"/>
- <property name="dist.bin.file" value="${dist.dir}/${project.name}-bin-${project.version}"/>
- <property name="dist.src.file" value="${dist.dir}/${project.name}-src-${project.version}"/>
-
- <property name="packages" value="org.apache.*"/>
-
- <property name="samples.dir" value="samples"/>
-
- <property name="site.src" location="xdocs"/>
- <property name="site.dest" location="docs"/>
- <property name="site.projectFile" value="stylesheets/project.xml"/>
-
- <property name="source.level" value="1.4" />
-
- <property name="src.dir" value="src"/>
-
- <property name="templ.path" location="xdocs/stylesheets"/>
-
- <property name="tests.dir" value="test"/>
-
- <property name="velocity.props" location="${site.src}/velocity.properties"/>
-</project>
diff --git a/dev-java/bsf/metadata.xml b/dev-java/bsf/metadata.xml
index b193994fe63e..90f0e6f3943c 100644
--- a/dev-java/bsf/metadata.xml
+++ b/dev-java/bsf/metadata.xml
@@ -5,7 +5,9 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
-
+<upstream>
+ <remote-id type="github">apache/commons-bsf</remote-id>
+</upstream>
<longdescription>
Bean Scripting Framework (BSF) is a set of Java classes which provides
scripting language support within Java applications, and access to Java
diff --git a/dev-java/bsh/Manifest b/dev-java/bsh/Manifest
index 45f1210949a7..f4efff50c5dc 100644
--- a/dev-java/bsh/Manifest
+++ b/dev-java/bsh/Manifest
@@ -1 +1 @@
-DIST bsh-2.0b6.tar.gz 1720334 BLAKE2B 7ade7d35ac66dad8c79dd2cb541c8851b321601bc6239f4d82e6b37269fdefc5cfa5efd1198f58030bb9dcc4712b42c1ca07071f0b042a59ebdbc4168e472fb0 SHA512 3d4458153f5e2a3b30d9afd79f0fe28862effa8e490fd1649d435c03bf90b060c255949a49780afee95069da4e8e8d2e4e2c5d979908370a525b3ca9a396458c
+DIST bsh-2.1.1.tar.gz 1922883 BLAKE2B d60ebfab96f81a17120733887468571dd991dce663d725d9bee2dc44146e320d36600be70a3b7f76516645030d40fcda17db70989d54e98ffdc69c91738bcaf1 SHA512 585fcb9fdc8c36063a7d4dfe9a909e68b61d611f023731c955b7ced3f894cb6c48b0d463735e6825cb6f0181ba97902279212d285e325267aa533490e0bbfe00
diff --git a/dev-java/bsh/bsh-2.0_beta6-r1.ebuild b/dev-java/bsh/bsh-2.0_beta6-r1.ebuild
deleted file mode 100644
index ead3b203a195..000000000000
--- a/dev-java/bsh/bsh-2.0_beta6-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache-extras.beanshell:bsh:2.0b6"
-
-inherit java-pkg-2 java-ant-2
-
-MY_PN="beanshell"
-MY_BETA="b6"
-MY_PV="${PV%%_*}"
-MY_P="${PN}-${MY_PV}${MY_BETA}"
-
-DESCRIPTION="A small embeddable Java source interpreter"
-HOMEPAGE="https://github.com/beanshell/beanshell"
-SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/${MY_PV}${MY_BETA}.tar.gz -> ${MY_P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-CDEPEND="
- dev-java/bsf:2.3
- java-virtuals/servlet-api:3.0
-"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8"
-
-DEPEND="
- ${CDEPEND}
- test? ( dev-java/ant-junit:0 )
- source? ( app-arch/zip )
- virtual/jdk:1.8"
-
-S="${WORKDIR}/${MY_PN}-${MY_PV}${MY_BETA}"
-
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-EANT_BUILD_TARGET="jarall"
-EANT_DOC_TARGET="javadoc"
-EANT_GENTOO_CLASSPATH="
- bsf-2.3
- servlet-api-3.0
-"
-
-java_prepare() {
- java-pkg_clean
-}
-
-EANT_TEST_TARGET="test"
-
-src_test() {
- java-pkg-2_src_test
-}
-
-src_install() {
- java-pkg_newjar "dist/${MY_P}.jar" "${PN}.jar"
-
- java-pkg_dolauncher "${PN}-console" --main bsh.Console
- java-pkg_dolauncher "${PN}-interpreter" --main bsh.Interpreter
-
- use doc && java-pkg_dojavadoc javadoc
- use source && java-pkg_dosrc src/bsh
-}
diff --git a/dev-java/bsh/bsh-2.1.1.ebuild b/dev-java/bsh/bsh-2.1.1.ebuild
new file mode 100644
index 000000000000..bfa3513a8e0a
--- /dev/null
+++ b/dev-java/bsh/bsh-2.1.1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache-extras.beanshell:bsh:2.1.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A small embeddable Java source interpreter"
+HOMEPAGE="https://github.com/beanshell/beanshell"
+SRC_URI="https://github.com/beanshell/beanshell/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/beanshell-${PV}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
+
+# There was 1 failure:
+# 1) do_not_access_non_open_methods(bsh.Java_9_Test)
+# bsh.TargetError: Sourced file: inline evaluation of: ``import java.net.URL;
+PROPERTIES="test_network"
+RESTRICT="test"
+
+CP_DEPEND="
+ dev-java/bsf:2.3
+ dev-java/jakarta-servlet-api:4"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DEPEND="${CP_DEPEND}
+ virtual/jdk:1.8"
+
+DOCS=(
+ CHANGES.md
+ NOTICE
+ README.md
+)
+
+PATCHES=( "${FILESDIR}/bsh-2.1.1-skip-tests.patch" )
+
+JAVA_LAUNCHER_FILENAME="bsh-console"
+JAVA_MAIN_CLASS="bsh.Console"
+JAVA_RESOURCE_DIRS="resources/src"
+JAVA_SRC_DIR=( src bsf/src engine/src )
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="tests"
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./tests/test-scripts/*"
+
+ # These classes are not in upstream jar file
+ mkdir -p tests/src/bsh/engine || die
+ mv {engine,tests}/src/bsh/TestBshScriptEngine.java || die
+ mv {,tests/}src/bsh/JThis.java || die
+
+ # java-pkg-simple.eclass wants resources in JAVA_RESOURCE_DIRS
+ mkdir resources || die
+ find src -type f \
+ ! -name '*.java' \
+ ! -name 'bsh.jj*' \
+ ! -name '*.scripted' \
+ ! -name '*.txt' \
+ ! -name '*.xml' \
+ ! -name '.errLog' \
+ ! -name 'index.html' \
+ ! -name 'Changes.html' \
+ ! -name 'CodeMap.html' \
+ ! -name 'Manifest.*' \
+ | xargs cp --parent -t resources || die
+}
+
+src_test() {
+ # tests/junitTests/src/bsh/Issue_55_Test.java:47: error: cannot find symbol
+ # final Object scriptEngineResult = new BshScriptEngineFactory().getScriptEngine().eval(script);
+ # ^
+ # symbol: class BshScriptEngineFactory
+ # location: class Issue_55_Test
+# cp {engine,tests}/src/bsh/engine/BshScriptEngineFactory.java || die
+ rm tests/junitTests/src/bsh/Issue_55_Test.java || die
+
+ # We add 3 test classes which are not covered by the default test selection of java-pkg-simple
+ # We skip "OldScriptsTest" and 4 failing test classes.
+ # Test failures are documeted in bug #903519.
+ pushd tests/junitTests/src > /dev/null || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -type f \
+ ! -name 'OldScriptsTest.java' \
+ ! -name 'Class3_Test.java' \
+ ! -name 'Class13Test.java' \
+ ! -name 'Issue_7_Test.java' \
+ ! -name 'Issue_8_Test.java' \
+ \( \
+ -name "*Test.java" \
+ -o -name "AnnotationsParsing.java" \
+ -o -name "GoogleReports.java" \
+ -o -name "Namespace_chaining.java" \
+ \) )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd > /dev/null || die
+
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ # The eclass installs only then main launcher.
+ java-pkg_dolauncher "${PN}-interpreter" --main bsh.Interpreter
+}
diff --git a/dev-java/bsh/files/bsh-2.1.1-skip-tests.patch b/dev-java/bsh/files/bsh-2.1.1-skip-tests.patch
new file mode 100644
index 000000000000..23c68e041fad
--- /dev/null
+++ b/dev-java/bsh/files/bsh-2.1.1-skip-tests.patch
@@ -0,0 +1,119 @@
+Test failures are documeted in https://bugs.gentoo.org/903519
+--- a/tests/junitTests/src/bsh/Project_Coin_Test.java
++++ b/tests/junitTests/src/bsh/Project_Coin_Test.java
+@@ -26,6 +26,7 @@
+ package bsh;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.experimental.categories.Category;
+ import org.junit.runner.RunWith;
+
+@@ -48,6 +49,7 @@ public class Project_Coin_Test {
+
+ @Test
+ @Category(ProjectCoinFeature.class)
++ @Ignore
+ public void integer_literal_enhancements() throws Exception {
+ final Interpreter interpreter = new Interpreter();
+ assertEquals("0x99", 153, interpreter.eval("return 0x99;"));
+@@ -61,6 +63,7 @@ public class Project_Coin_Test {
+
+ @Test
+ @Category(ProjectCoinFeature.class)
++ @Ignore
+ public void diamond_operator() throws Exception {
+ eval("List<String> list = new ArrayList<>()");
+ final Object anagrams = eval(
+@@ -98,6 +101,7 @@ public class Project_Coin_Test {
+
+ @Test
+ @Category(Project_Coin_Test.class)
++ @Ignore
+ public void try_with_resource() throws Exception {
+ final Interpreter interpreter = new Interpreter();
+ final AtomicBoolean closed = new AtomicBoolean(false);
+--- a/tests/junitTests/src/bsh/NumberLiteralTest.java
++++ b/tests/junitTests/src/bsh/NumberLiteralTest.java
+@@ -1,6 +1,7 @@
+ package bsh;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.runner.RunWith;
+
+ import static bsh.TestUtil.eval;
+@@ -22,6 +23,7 @@ public class NumberLiteralTest {
+ }
+
+ @Test
++ @Ignore
+ public void integer_literal_enhancements_binary() throws Exception {
+ assertEquals("0b10011001", 153, eval("return 0b10011001;"));
+ }
+@@ -49,11 +51,13 @@ public class NumberLiteralTest {
+ }
+
+ @Test
++ @Ignore
+ public void parsing_large_hex_literal() throws Exception {
+ assertEquals(0xff000000L, eval("return 0xff000000;"));
+ }
+
+ @Test
++ @Ignore
+ public void parsing_very_large_hex_literal() throws Exception {
+ assertEquals(new BigInteger("ff00000000000000", 16), eval("return 0xff00000000000000;"));
+ }
+--- a/tests/junitTests/src/bsh/ClassGeneratorTest.java
++++ b/tests/junitTests/src/bsh/ClassGeneratorTest.java
+@@ -27,6 +27,7 @@ package bsh;
+
+ import org.junit.Assert;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.experimental.categories.Category;
+ import org.junit.runner.RunWith;
+
+@@ -86,6 +87,7 @@ public class ClassGeneratorTest {
+ */
+ @Test
+ @Category(KnownIssue.class)
++ @Ignore
+ public void define_interface_with_constants() throws Exception {
+ // these three are treated equal in java
+ TestUtil.eval("interface Test { public static final int x = 1; }");
+--- a/tests/junitTests/src/bsh/GoogleReports.java
++++ b/tests/junitTests/src/bsh/GoogleReports.java
+@@ -26,6 +26,7 @@
+ package bsh;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.runner.RunWith;
+
+ import javax.script.ScriptEngine;
+@@ -69,6 +70,7 @@ public class GoogleReports {
+ * <a href="http://code.google.com/p/beanshell2/issues/detail?id=6">issue#60</a>
+ */
+ @Test
++ @Ignore
+ public void accessibility_issue_a() throws Exception {
+ final Interpreter interpreter = new Interpreter();
+ interpreter.set("x", this);
+@@ -83,6 +85,7 @@ public class GoogleReports {
+ * <a href="http://code.google.com/p/beanshell2/issues/detail?id=6">issue#60</a>
+ */
+ @Test
++ @Ignore
+ public void accessibility_issue_b() throws Exception {
+ final Interpreter interpreter = new Interpreter();
+ interpreter.set("x", this);
+@@ -96,6 +99,7 @@ public class GoogleReports {
+ * <a href="http://code.google.com/p/beanshell2/issues/detail?id=10">issue#10</a>
+ */
+ @Test(expected = ParseException.class)
++ @Ignore
+ public void parse_error() throws Exception {
+ eval("\1;");
+ }
diff --git a/dev-java/byaccj/byaccj-1.15-r3.ebuild b/dev-java/byaccj/byaccj-1.15-r3.ebuild
index 9feb822145a5..70d92d0ce0ef 100644
--- a/dev-java/byaccj/byaccj-1.15-r3.ebuild
+++ b/dev-java/byaccj/byaccj-1.15-r3.ebuild
@@ -5,8 +5,8 @@ EAPI=8
inherit toolchain-funcs
-DESCRIPTION="A java extension of BSD YACC-compatible parser generator"
-HOMEPAGE="http://byaccj.sourceforge.net/"
+DESCRIPTION="A Java extension of BSD YACC-compatible parser generator"
+HOMEPAGE="https://byaccj.sourceforge.net/"
MY_P="${PN}${PV}_src"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
diff --git a/dev-java/byaccj/files/byaccj-1.15-implicit-function-declaration.patch b/dev-java/byaccj/files/byaccj-1.15-implicit-function-declaration.patch
index 5f5bb58db13e..e1a1235e8ae3 100644
--- a/dev-java/byaccj/files/byaccj-1.15-implicit-function-declaration.patch
+++ b/dev-java/byaccj/files/byaccj-1.15-implicit-function-declaration.patch
@@ -1,3 +1,5 @@
+https://sourceforge.net/p/byaccj/patches/5/
+
main.c: In function ‘done’:
main.c:88:43: error: implicit declaration of function -Werror=implicit-function-declaration
88 | if (action_file) { fclose(action_file); unlink(action_file_name); }
diff --git a/dev-java/byte-buddy/Manifest b/dev-java/byte-buddy/Manifest
index 09b6bc50584f..f5587d193af3 100644
--- a/dev-java/byte-buddy/Manifest
+++ b/dev-java/byte-buddy/Manifest
@@ -1,2 +1 @@
-DIST byte-buddy-1.12.13.tar.gz 1721038 BLAKE2B 60aadbbb3b56e5ac2ecc2bb162653b769f4d4b913bd675457ce2fbf12a5777addc4beb2bb2e347d5956dbf1fbe6a6dfce078a29c53b1f1e2a60585670897d4ee SHA512 88c221d0dccb248683069070e498c5d4320f4fce059c45f460e04fbd86c2c596c18a4c7f4e9b3a0480eaf96d93593d1f1af87d894a7c4b3d73511e88a95f4e92
-DIST byte-buddy-1.12.14.tar.gz 1857258 BLAKE2B 6957246f6689d1bdfdc6277ad752e03df0ae47c62b0afded77c94cdd41e00cc736517d0e4e5d5f8c59be519262a03864cde9bffa4ae53e5a7daeed84a519967f SHA512 5035be16fbdf2f7e8e2c93b87ee5f9adc927a19fd3b7d9fcd262906d8d21532cef8111084c3d6d0b75e101df0bfee19bf9177bc6a7d4b18cf0f26146fba4f147
+DIST byte-buddy-1.14.0.tar.gz 1989303 BLAKE2B c284f54ebc6bf67e4706380f0876f403fcf5ae172a690888d13d6b3399cf41bf1fd8890bf15059f71a9457ec6343254ad1f421f8e4975aa70dd9a2103ab59610 SHA512 e6ccda287935b5ff7104d5c0e4904b0595918a21bcc90c6ac5b2358cc0371b22a4fcac2a95dde9e377c5d1e43077c8b57ea9520a9093b2380ab53c830f107ced
diff --git a/dev-java/byte-buddy/byte-buddy-1.12.13.ebuild b/dev-java/byte-buddy/byte-buddy-1.12.13.ebuild
deleted file mode 100644
index 7e2916ecb2f8..000000000000
--- a/dev-java/byte-buddy/byte-buddy-1.12.13.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# 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/raphw/byte-buddy/archive/byte-buddy-1.12.13.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild byte-buddy-1.12.13.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="net.bytebuddy:byte-buddy-agent:1.12.13"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Offers convenience for attaching an agent to the local or a remote VM"
-HOMEPAGE="https://bytebuddy.net"
-SRC_URI="https://github.com/raphw/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- >=virtual/jdk-11:*
- dev-java/asm:9
- dev-java/findbugs-annotations:0
- dev-java/jna:4
- dev-java/jsr305:0
- test? (
- dev-java/mockito:4
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_CLASSPATH_EXTRA="
- asm-9
- findbugs-annotations
- jsr305
- jna-4
-"
-
-src_prepare() {
- default
- # https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.12/byte-buddy-agent/pom.xml#L132-L165
- cat > byte-buddy-agent/src/main/java/module-info.java <<-EOF
- module net.bytebuddy.agent {
- requires java.instrument;
- requires static jdk.attach;
- requires static com.sun.jna;
- requires static com.sun.jna.platform;
- requires java.base;
- exports net.bytebuddy.agent;
- exports net.bytebuddy.agent.utility.nullability;
- }
- EOF
-
- sed \
- -e 's:verifyZeroInteractions:verifyNoInteractions:g' \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*.java \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*Test.java \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*Test.java \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*/*Test.java \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*/*/*Test.java \
- || die
-}
-
-src_compile() {
- einfo "Compiling byte-buddy-agent.jar"
- JAVA_SRC_DIR="byte-buddy-agent/src/main/java"
- JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources"
- JAVA_JAR_FILENAME="byte-buddy-agent.jar"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar"
- rm -r target || die
-
-# For pkgdiff to compare the content of module-info.class
-# mkdir -p META-INF/versions/9 || die
-# cp target/classes/module-info.class META-INF/versions/9/ || die
-# jar -uf byte-buddy.jar -C . META-INF/versions/9/module-info.class || die
-
- einfo "Compiling byte-buddy-dep.jar"
- JAVA_SRC_DIR="byte-buddy-dep/src/main/java"
- JAVA_RESOURCE_DIRS=()
- JAVA_JAR_FILENAME="byte-buddy-dep.jar"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-dep.jar"
- rm -r target || die
-
- if use doc; then
- einfo "Compiling javadocs"
- JAVA_SRC_DIR=(
- "byte-buddy-agent/src/main/java"
- "byte-buddy-dep/src/main/java"
- )
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
- fi
-}
-
-src_test() {
- JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4"
-
- # einfo "Setting -Djava.library.path"
- # This would work only after manually adding libjnidispatch.so to /usr/share/jna-4/lib/jna.jar,
- # done with ( jar -uf /usr/share/jna-4/lib/jna.jar -C . com/sun/jna/linux-x86-64/libjnidispatch )
-# JAVA_TEST_EXTRA_ARGS=( -Djava.library.path+="$(java-config -i jna-4)" com.sun.jna.Native )
- # Otherwise fails with:
- # Exception in thread "main" java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path
-
- einfo "Testing byte-buddy-agent"
- JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java"
- # Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path
- JAVA_TEST_EXCLUDES=(
- net.bytebuddy.agent.VirtualMachineAttachmentTest
- )
- java-pkg-simple_src_test
-
- einfo "Testing byte-buddy-dep"
- JAVA_TEST_SRC_DIR="byte-buddy-dep/src/test/java"
- JAVA_TEST_RESOURCE_DIRS=(
- byte-buddy-dep/src/test/resources
- byte-buddy-dep/src/test/precompiled*
- )
-
- # what "mvn test" does with java 17 is:
- # Tests run: 9855, Failures: 0, Errors: 0, Skipped: 0
- JAVA_TEST_EXCLUDES+=(
- net.bytebuddy.pool.TypePoolDefaultMethodDescriptionTest # 39 tests
- # v1.12.13
- net.bytebuddy.build.CachedReturnPluginTest # 44 tests
- net.bytebuddy.build.CachedReturnPluginOtherTest # 4 tests
- )
- java-pkg-simple_src_test
-}
-
-src_install() {
- java-pkg_dojar "byte-buddy-agent.jar"
- java-pkg_dojar "byte-buddy-dep.jar"
-
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
-
- if use source; then
- java-pkg_dosrc "byte-buddy-agent/src/main/java/*"
- java-pkg_dosrc "byte-buddy-dep/src/main/java/*"
- fi
-}
diff --git a/dev-java/byte-buddy/byte-buddy-1.12.14.ebuild b/dev-java/byte-buddy/byte-buddy-1.12.14.ebuild
deleted file mode 100644
index a2dee2c98e3d..000000000000
--- a/dev-java/byte-buddy/byte-buddy-1.12.14.ebuild
+++ /dev/null
@@ -1,202 +0,0 @@
-# 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/raphw/byte-buddy/archive/byte-buddy-1.12.14.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild byte-buddy-1.12.14.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="net.bytebuddy:byte-buddy-agent:1.12.14"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Offers convenience for attaching an agent to the local or a remote VM"
-HOMEPAGE="https://bytebuddy.net"
-SRC_URI="https://github.com/raphw/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-DEPEND="
- >=virtual/jdk-11:*
- dev-java/asm:9
- dev-java/findbugs-annotations:0
- dev-java/jna:4
- dev-java/jsr305:0
- test? (
- dev-java/mockito:4
- )
-"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_CLASSPATH_EXTRA="
- asm-9
- findbugs-annotations
- jsr305
- jna-4
-"
-
-src_prepare() {
- default
- # https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.14/byte-buddy-agent/pom.xml#L132-L166
- cat > byte-buddy-agent/src/main/java/module-info.java <<-EOF
- module net.bytebuddy.agent {
- requires java.instrument;
- requires static jdk.attach;
- requires static com.sun.jna;
- requires static com.sun.jna.platform;
- requires java.base;
- exports net.bytebuddy.agent;
- exports net.bytebuddy.agent.utility.nullability;
- }
- EOF
-
- # adjustment for recent mockito versions
- sed \
- -e 's:verifyZeroInteractions:verifyNoInteractions:g' \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*.java \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*Test.java \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*Test.java \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*/*Test.java \
- -i byte-buddy-dep/src/test/java/net/bytebuddy/*/*/*/*/*Test.java \
- || die
-
- # instead of shading byte-buddy-dep we move it into byte-buddy.
- mv byte-buddy{-dep,}/src/main/java || die "cannot move sources"
- mv byte-buddy{-dep,}/src/test || die "cannot move tests"
-
- # https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.14/byte-buddy/pom.xml#L159-L195
- cat > byte-buddy/src/main/java/module-info.java <<-EOF
- module net.bytebuddy {
- requires static java.instrument;
- requires static java.management;
- requires static jdk.unsupported;
- requires static net.bytebuddy.agent;
- requires static com.sun.jna;
- requires static com.sun.jna.platform;
- requires java.base;
- exports net.bytebuddy;
- exports net.bytebuddy.agent.builder;
- exports net.bytebuddy.asm;
- exports net.bytebuddy.build;
- exports net.bytebuddy.description;
- exports net.bytebuddy.description.annotation;
- exports net.bytebuddy.description.enumeration;
- exports net.bytebuddy.description.field;
- exports net.bytebuddy.description.method;
- exports net.bytebuddy.description.modifier;
- exports net.bytebuddy.description.type;
- exports net.bytebuddy.dynamic;
- exports net.bytebuddy.dynamic.loading;
- exports net.bytebuddy.dynamic.scaffold;
- exports net.bytebuddy.dynamic.scaffold.inline;
- exports net.bytebuddy.dynamic.scaffold.subclass;
- exports net.bytebuddy.implementation;
- exports net.bytebuddy.implementation.attribute;
- exports net.bytebuddy.implementation.auxiliary;
- exports net.bytebuddy.implementation.bind;
- exports net.bytebuddy.implementation.bind.annotation;
- exports net.bytebuddy.implementation.bytecode;
- exports net.bytebuddy.implementation.bytecode.assign;
- exports net.bytebuddy.implementation.bytecode.assign.primitive;
- exports net.bytebuddy.implementation.bytecode.assign.reference;
- exports net.bytebuddy.implementation.bytecode.collection;
- exports net.bytebuddy.implementation.bytecode.constant;
- exports net.bytebuddy.implementation.bytecode.member;
- exports net.bytebuddy.matcher;
- exports net.bytebuddy.pool;
- exports net.bytebuddy.utility;
- exports net.bytebuddy.utility.nullability;
- exports net.bytebuddy.utility.privilege;
- exports net.bytebuddy.utility.visitor;
- }
- EOF
- # We don't bundle, hence cannot export them
- # exports net.bytebuddy.jar.asm;
- # exports net.bytebuddy.jar.asm.signature;
- # exports net.bytebuddy.jar.asm.commons;
-}
-
-src_compile() {
- einfo "Compiling byte-buddy-agent.jar"
- JAVA_SRC_DIR="byte-buddy-agent/src/main/java"
- JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources"
- JAVA_JAR_FILENAME="byte-buddy-agent.jar"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar"
- rm -r target || die
-
- einfo "Compiling byte-buddy.jar"
- JAVA_SRC_DIR="byte-buddy/src/main/java"
- JAVA_RESOURCE_DIRS=()
- JAVA_JAR_FILENAME="byte-buddy.jar"
- JAVA_MAIN_CLASS="net.bytebuddy.build.Plugin\$Engine\$Default"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy.jar"
- rm -r target || die
-
- if use doc; then
- einfo "Compiling javadocs"
- JAVA_SRC_DIR=(
- "byte-buddy-agent/src/main/java"
- "byte-buddy-dep/src/main/java"
- )
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
- fi
-}
-
-src_test() {
- JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4"
-
- # einfo "Setting -Djava.library.path"
- # This would work only after manually adding libjnidispatch.so to /usr/share/jna-4/lib/jna.jar,
- # done with ( jar -uf /usr/share/jna-4/lib/jna.jar -C . com/sun/jna/linux-x86-64/libjnidispatch )
-# JAVA_TEST_EXTRA_ARGS=( -Djava.library.path+="$(java-config -i jna-4)" com.sun.jna.Native )
- # Otherwise fails with:
- # Exception in thread "main" java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path
-
- einfo "Testing byte-buddy-agent"
- JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java"
- # Native library (com/sun/jna/linux-x86-64/libjnidispatch.so) not found in resource path
- JAVA_TEST_EXCLUDES=(
- net.bytebuddy.agent.VirtualMachineAttachmentTest
- )
- java-pkg-simple_src_test
-
- einfo "Testing byte-buddy"
- JAVA_TEST_SRC_DIR="byte-buddy/src/test/java"
- JAVA_TEST_RESOURCE_DIRS=(
- byte-buddy/src/test/resources
- byte-buddy/src/test/precompiled*
- )
-
- # what "mvn test" does with java 17 is:
- # Tests run: 10022, Failures: 0, Errors: 0, Skipped: 0
- JAVA_TEST_EXCLUDES+=(
- net.bytebuddy.pool.TypePoolDefaultMethodDescriptionTest # 39 tests
- net.bytebuddy.build.CachedReturnPluginTest # 44 tests
- net.bytebuddy.build.CachedReturnPluginOtherTest # 4 tests
- )
- java-pkg-simple_src_test
-}
-
-src_install() {
- java-pkg_dojar "byte-buddy-agent.jar"
- java-pkg_dojar "byte-buddy.jar"
-
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
-
- if use source; then
- java-pkg_dosrc "byte-buddy-agent/src/main/java/*"
- java-pkg_dosrc "byte-buddy/src/main/java/*"
- fi
-}
diff --git a/dev-java/byte-buddy/byte-buddy-1.14.0.ebuild b/dev-java/byte-buddy/byte-buddy-1.14.0.ebuild
new file mode 100644
index 000000000000..ed2c40b5bb64
--- /dev/null
+++ b/dev-java/byte-buddy/byte-buddy-1.14.0.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2023 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/raphw/byte-buddy/archive/byte-buddy-1.12.23.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild byte-buddy-1.12.23.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="net.bytebuddy:byte-buddy-agent:1.12.23 net.bytebuddy:byte-buddy:1.12.23"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Offers convenience for attaching an agent to the local or a remote VM"
+HOMEPAGE="https://bytebuddy.net"
+SRC_URI="https://github.com/raphw/byte-buddy/archive/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ >=virtual/jdk-11:*
+ dev-java/asm:9
+ dev-java/findbugs-annotations:0
+ dev-java/jna:4
+ dev-java/jsr305:0
+ test? (
+ dev-java/mockito:4
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/byte-buddy-${P}"
+
+JAVA_CLASSPATH_EXTRA="
+ asm-9
+ findbugs-annotations
+ jsr305
+ jna-4
+"
+
+src_prepare() {
+ default
+ # https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.20/byte-buddy-agent/pom.xml#L142-L176
+ cat > byte-buddy-agent/src/main/java/module-info.java <<-EOF || die
+ module net.bytebuddy.agent {
+ requires java.instrument;
+ requires static jdk.attach;
+ requires static com.sun.jna;
+ requires static com.sun.jna.platform;
+ requires java.base;
+ exports net.bytebuddy.agent;
+ exports net.bytebuddy.agent.utility.nullability;
+ }
+ EOF
+
+ # instead of shading byte-buddy-dep we move it into byte-buddy.
+ mv byte-buddy{-dep,}/src/main/java || die "cannot move sources"
+
+ # https://github.com/raphw/byte-buddy/blob/byte-buddy-1.12.20/byte-buddy/pom.xml#L159-L195
+ local exports="$( \
+ sed -n '/<packages.list.external>/,/<\/packages.list.external/p' \
+ byte-buddy/pom.xml \
+ | sed -e 's:^:exports :' -e 's:,:;:' \
+ | grep -v 'packages.list.external\|shade' | tr -s '[:space:]' \
+ )" || die
+ cat > byte-buddy/src/main/java/module-info.java <<-EOF || die
+ module net.bytebuddy {
+ requires static java.instrument;
+ requires static java.management;
+ requires static jdk.unsupported;
+ requires static net.bytebuddy.agent;
+ requires static com.sun.jna;
+ requires static com.sun.jna.platform;
+ requires java.base;
+ ${exports}
+ }
+ EOF
+}
+
+src_compile() {
+ einfo "Compiling byte-buddy-agent.jar"
+ JAVA_JAR_FILENAME="byte-buddy-agent.jar"
+ JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources"
+ JAVA_SRC_DIR="byte-buddy-agent/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar"
+ rm -r target || die
+
+ einfo "Compiling byte-buddy.jar"
+ JAVA_JAR_FILENAME="byte-buddy.jar"
+ JAVA_MAIN_CLASS="net.bytebuddy.build.Plugin\$Engine\$Default"
+ JAVA_RESOURCE_DIRS=()
+ JAVA_SRC_DIR="byte-buddy/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy.jar"
+ rm -r target || die
+
+ if use doc; then
+ einfo "Compiling javadocs"
+ rm byte-buddy-agent/src/main/java/module-info.java || die
+ JAVA_SRC_DIR=(
+ "byte-buddy-agent/src/main/java"
+ "byte-buddy/src/main/java"
+ )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test() {
+ # instead of shading byte-buddy-dep we move it into byte-buddy.
+ mv byte-buddy{-dep,}/src/test || die "cannot move tests"
+
+ # @Ignore one of 4 tests, https://bugs.gentoo.org/863386
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/testIgnoreExistingField()/i @Ignore' \
+ -i byte-buddy/src/test/java/net/bytebuddy/build/CachedReturnPluginOtherTest.java || die
+
+ # @Ignore one of 39 tests, https://bugs.gentoo.org/863386
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/testNoParameterNameAndModifiers()/i @Ignore' \
+ -i byte-buddy/src/test/java/net/bytebuddy/description/method/AbstractMethodDescriptionTest.java || die
+
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4"
+
+ einfo "Testing byte-buddy-agent"
+ # https://github.com/raphw/byte-buddy/issues/1321#issuecomment-1252776459
+ JAVA_TEST_EXTRA_ARGS=( -Dnet.bytebuddy.test.jnapath="${EPREFIX}/usr/$(get_libdir)/jna-4/" )
+ JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing byte-buddy"
+ JAVA_TEST_RESOURCE_DIRS=( byte-buddy/src/test/{resources,precompiled*} )
+ JAVA_TEST_SRC_DIR="byte-buddy/src/test/java"
+
+ JAVA_TEST_EXCLUDES=(
+ # all tests in this class fail, https://bugs.gentoo.org/863386
+ net.bytebuddy.build.CachedReturnPluginTest
+ )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar "byte-buddy-agent.jar"
+ java-pkg_dojar "byte-buddy.jar"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc "byte-buddy-agent/src/main/java/*"
+ java-pkg_dosrc "byte-buddy/src/main/java/*"
+ fi
+}
diff --git a/dev-java/c3p0/c3p0-0.9.5.5-r1.ebuild b/dev-java/c3p0/c3p0-0.9.5.5-r1.ebuild
index ab37f59be694..fe4312864b67 100644
--- a/dev-java/c3p0/c3p0-0.9.5.5-r1.ebuild
+++ b/dev-java/c3p0/c3p0-0.9.5.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,8 +10,8 @@ inherit java-pkg-2 java-ant-2
DESCRIPTION="JDBC drivers with JNDI-bindable DataSources"
HOMEPAGE="https://www.mchange.com/projects/c3p0/"
+SRC_URI="mirror://sourceforge/project/c3p0/c3p0-src/c3p0-${PV}/${P}.src.tgz"
-SRC_URI="mirror://sourceforge/${PN}/${P}.src.tgz"
LICENSE="|| ( EPL-1.0 LGPL-2.1 )"
SLOT="0"
KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux"
diff --git a/dev-java/c3p0/metadata.xml b/dev-java/c3p0/metadata.xml
index c3cad36b9855..668db4bc7044 100644
--- a/dev-java/c3p0/metadata.xml
+++ b/dev-java/c3p0/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">c3p0</remote-id>
+ <remote-id type="github">swaldman/c3p0</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/cache2k-api/Manifest b/dev-java/cache2k-api/Manifest
new file mode 100644
index 000000000000..9a4aeb7fa00c
--- /dev/null
+++ b/dev-java/cache2k-api/Manifest
@@ -0,0 +1 @@
+DIST cache2k-0.23.1.tar.gz 552229 BLAKE2B 7cd47eeb4d0f154a2dba0617ef29c97eadf3cd142e815b0ac760e2b9b2bcf4a9698c17897931d612f9e544ec0aa496d115caf66128ecbfd08a9f74e1d9da01b4 SHA512 205315f13e634ba4f8f38938ea29e15d9750a7ac9542a4f6eb0839868b34b762b1db9de898ce59a47905b11712386de73c01a12756003fd586efcd24b3220233
diff --git a/dev-java/cache2k-api/cache2k-api-0.23.1.ebuild b/dev-java/cache2k-api/cache2k-api-0.23.1.ebuild
new file mode 100644
index 000000000000..ac521a305cf9
--- /dev/null
+++ b/dev-java/cache2k-api/cache2k-api-0.23.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.cache2k:cache2k-api:0.23.1"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="light weight and high performance Java caching library: API"
+HOMEPAGE="https://cache2k.org"
+SRC_URI="https://github.com/cache2k/cache2k/archive/v${PV}.tar.gz -> cache2k-${PV}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/cache2k-${PV}/api"
+
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/cache2k-api/metadata.xml b/dev-java/cache2k-api/metadata.xml
new file mode 100644
index 000000000000..496a7c76e966
--- /dev/null
+++ b/dev-java/cache2k-api/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">cache2k/cache2k</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/cache2k-core/Manifest b/dev-java/cache2k-core/Manifest
new file mode 100644
index 000000000000..9a4aeb7fa00c
--- /dev/null
+++ b/dev-java/cache2k-core/Manifest
@@ -0,0 +1 @@
+DIST cache2k-0.23.1.tar.gz 552229 BLAKE2B 7cd47eeb4d0f154a2dba0617ef29c97eadf3cd142e815b0ac760e2b9b2bcf4a9698c17897931d612f9e544ec0aa496d115caf66128ecbfd08a9f74e1d9da01b4 SHA512 205315f13e634ba4f8f38938ea29e15d9750a7ac9542a4f6eb0839868b34b762b1db9de898ce59a47905b11712386de73c01a12756003fd586efcd24b3220233
diff --git a/dev-java/cache2k-core/cache2k-core-0.23.1.ebuild b/dev-java/cache2k-core/cache2k-core-0.23.1.ebuild
new file mode 100644
index 000000000000..54b82f7d35c9
--- /dev/null
+++ b/dev-java/cache2k-core/cache2k-core-0.23.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.cache2k:cache2k-core:0.23.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="light weight and high performance Java caching library: core"
+HOMEPAGE="https://cache2k.org"
+SRC_URI="https://github.com/cache2k/cache2k/archive/v${PV}.tar.gz -> cache2k-${PV}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+
+CP_DEPEND="
+ dev-java/cache2k-api:0
+ dev-java/commons-logging:0
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+S="${WORKDIR}/cache2k-${PV}/core"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS=( "src/main/resources" )
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/cache2k-core/metadata.xml b/dev-java/cache2k-core/metadata.xml
new file mode 100644
index 000000000000..496a7c76e966
--- /dev/null
+++ b/dev-java/cache2k-core/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">cache2k/cache2k</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/caffeine/Manifest b/dev-java/caffeine/Manifest
new file mode 100644
index 000000000000..5fe009e7d56c
--- /dev/null
+++ b/dev-java/caffeine/Manifest
@@ -0,0 +1 @@
+DIST caffeine-2.6.2-sources.jar 715580 BLAKE2B 882cac33d205c8186232c64010b4e25e805d3d188d6a9e6ca151187b55d5ee3a3d5641566f5e8d32de596fab3dae8967c74f3d60e2321b34374ce996382322fe SHA512 52a8c67648e2a6bb1c600d99712473a64911f2b6c8fe6c924ba98e72b4b040a1094fa5c93ae2bae8734d352634bc72960711afd152566ef02f6bad4c84e510c8
diff --git a/dev-java/caffeine/caffeine-2.6.2-r1.ebuild b/dev-java/caffeine/caffeine-2.6.2-r1.ebuild
new file mode 100644
index 000000000000..673e2da08617
--- /dev/null
+++ b/dev-java/caffeine/caffeine-2.6.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.github.ben-manes.caffeine:caffeine:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A high performance caching library"
+HOMEPAGE="https://github.com/ben-manes/caffeine"
+SRC_URI="https://repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/${PV}/caffeine-${PV}-sources.jar"
+# Compiling from Github tarball would require to be packaged at least
+# package com.squareup.javapoet
+# package MethodSpec
+# package TypeSpec
+# SRC_URI="https://github.com/ben-manes/caffeine/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+# S="${WORKDIR}/${P}/caffeine"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+
+BDEPEND="app-arch/unzip"
+CP_DEPEND="dev-java/jsr305:0"
+# min java 11 for bug #919464
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.github.benmanes.caffeine"
diff --git a/dev-java/caffeine/metadata.xml b/dev-java/caffeine/metadata.xml
new file mode 100644
index 000000000000..8168da8f9820
--- /dev/null
+++ b/dev-java/caffeine/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ben-manes/caffeine</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/cdi-api/cdi-api-4.0.1-r2.ebuild b/dev-java/cdi-api/cdi-api-4.0.1-r2.ebuild
new file mode 100644
index 000000000000..ca054b493d33
--- /dev/null
+++ b/dev-java/cdi-api/cdi-api-4.0.1-r2.ebuild
@@ -0,0 +1,102 @@
+# 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/cdi/archive/4.0.1.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild cdi-api-4.0.1.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="jakarta.enterprise:jakarta.enterprise.cdi-api:4.0.1"
+JAVA_TESTING_FRAMEWORKS="testng"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="APIs for CDI (Contexts and Dependency Injection for Java)"
+HOMEPAGE="https://projects.eclipse.org/projects/ee4j.cdi"
+SRC_URI="https://github.com/jakartaee/cdi/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+EL_API_SLOT="5.0"
+
+DEPEND="
+ dev-java/injection-api:0
+ dev-java/jakarta-annotations-api:0
+ dev-java/jakarta-el-api:${EL_API_SLOT}
+ dev-java/jakarta-interceptors:0
+ >=virtual/jdk-11:*
+"
+RDEPEND=">=virtual/jre-11:*"
+
+DOCS=( CONTRIBUTING.adoc {NOTICE,README}.md )
+
+PATCHES=(
+ # https://bugs.gentoo.org/856412
+ # org.jboss.cdi.api.test.se.SeContainerInitializerTest # Tests run: 4, Failures: 1
+ # org.jboss.cdi.api.test.CDITest # Tests run: 11, Failures: 5
+ "${FILESDIR}/cdi-api-4.0.1-skip-tests.patch"
+)
+
+S="${WORKDIR}/cdi-${PV}"
+
+JAVA_TEST_GENTOO_CLASSPATH="testng"
+JAVA_TEST_EXTRA_ARGS=( -DserviceDir="target/test-classes/META-INF/services" )
+JAVA_TEST_SRC_DIR="api/src/test/java"
+JAVA_TEST_RESOURCE_DIRS="api/src/test/resources"
+
+JAVA_TEST_EXCLUDES=(
+ # Tests run: 1, Failures: 1
+ org.jboss.cdi.api.test.privileged.CDIPrivilegedTest
+)
+
+src_prepare(){
+ default # https://bugs.gentoo.org/780585
+}
+
+src_compile() {
+ JAVA_CLASSPATH_EXTRA="
+ injection-api
+ jakarta-annotations-api
+ jakarta-el-api-${EL_API_SLOT}
+ jakarta-interceptors
+ "
+ JAVA_SRC_DIR="lang-model/src/main/java"
+ JAVA_JAR_FILENAME="lang-model.jar"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":lang-model.jar"
+ rm -r target || die
+
+ JAVA_SRC_DIR="api/src/main/java"
+ JAVA_RESOURCE_DIRS="api/src/main/resources"
+ JAVA_JAR_FILENAME="cdi-api.jar"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":cdi-api.jar"
+ rm -r target || die
+
+ if use doc; then
+ rm lang-model/src/main/java/module-info.java || die
+ JAVA_SRC_DIR=(
+ "lang-model/src/main/java"
+ "api/src/main/java"
+ )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_install() {
+ java-pkg_dojar "lang-model.jar"
+ java-pkg_dojar "cdi-api.jar"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc "lang-model/src/main/java/*"
+ java-pkg_dosrc "api/src/main/java/*"
+ fi
+}
diff --git a/dev-java/cdi-api/cdi-api-4.0.1.ebuild b/dev-java/cdi-api/cdi-api-4.0.1.ebuild
deleted file mode 100644
index 88be8ba2d3a2..000000000000
--- a/dev-java/cdi-api/cdi-api-4.0.1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# 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/cdi/archive/4.0.1.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild cdi-api-4.0.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="jakarta.enterprise:jakarta.enterprise.cdi-api:4.0.1"
-JAVA_TESTING_FRAMEWORKS="testng"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="APIs for CDI (Contexts and Dependency Injection for Java)"
-HOMEPAGE="https://projects.eclipse.org/projects/ee4j.cdi"
-SRC_URI="https://github.com/jakartaee/cdi/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
-
-DEPEND="
- >=dev-java/injection-api-2.0.1:0
- >=dev-java/jakarta-annotations-api-2.1.1:0
- >=dev-java/jakarta-el-api-5.0.1:0
- >=dev-java/jakarta-interceptors-2.1.0:0
- >=virtual/jdk-11:*
-"
-RDEPEND=">=virtual/jre-11:*"
-
-DOCS=( CONTRIBUTING.adoc {NOTICE,README}.md )
-
-PATCHES=(
- # https://bugs.gentoo.org/856412
- # org.jboss.cdi.api.test.se.SeContainerInitializerTest # Tests run: 4, Failures: 1
- # org.jboss.cdi.api.test.CDITest # Tests run: 11, Failures: 5
- "${FILESDIR}/cdi-api-4.0.1-skip-tests.patch"
-)
-
-S="${WORKDIR}/cdi-${PV}"
-
-JAVA_TEST_GENTOO_CLASSPATH="testng"
-JAVA_TEST_EXTRA_ARGS=( -DserviceDir="target/test-classes/META-INF/services" )
-JAVA_TEST_SRC_DIR="api/src/test/java"
-JAVA_TEST_RESOURCE_DIRS="api/src/test/resources"
-
-JAVA_TEST_EXCLUDES=(
- # Tests run: 1, Failures: 1
- org.jboss.cdi.api.test.privileged.CDIPrivilegedTest
-)
-
-src_prepare(){
- default # https://bugs.gentoo.org/780585
-}
-
-src_compile() {
- JAVA_CLASSPATH_EXTRA="
- injection-api
- jakarta-annotations-api
- jakarta-el-api
- jakarta-interceptors
- "
- JAVA_SRC_DIR="lang-model/src/main/java"
- JAVA_JAR_FILENAME="lang-model.jar"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":lang-model.jar"
- rm -r target || die
-
- JAVA_SRC_DIR="api/src/main/java"
- JAVA_RESOURCE_DIRS="api/src/main/resources"
- JAVA_JAR_FILENAME="cdi-api.jar"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":cdi-api.jar"
- rm -r target || die
-
- if use doc; then
- rm lang-model/src/main/java/module-info.java || die
- JAVA_SRC_DIR=(
- "lang-model/src/main/java"
- "api/src/main/java"
- )
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
- fi
-}
-
-src_install() {
- java-pkg_dojar "lang-model.jar"
- java-pkg_dojar "cdi-api.jar"
-
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
-
- if use source; then
- java-pkg_dosrc "lang-model/src/main/java/*"
- java-pkg_dosrc "api/src/main/java/*"
- fi
-}
diff --git a/dev-java/cglib/cglib-3.3.0-r1.ebuild b/dev-java/cglib/cglib-3.3.0-r1.ebuild
deleted file mode 100644
index 64fd2b7900fc..000000000000
--- a/dev-java/cglib/cglib-3.3.0-r1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# doc USE flag is not in IUSE as the docs does not compile because of errors
-JAVA_PKG_IUSE="examples source test"
-MAVEN_ID="cglib:cglib:3.3.0"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PV=RELEASE_${PV//./_}
-MY_P=cglib-${MY_PV}
-
-DESCRIPTION="cglib is a powerful, high performance and quality Code Generation Library"
-HOMEPAGE="https://github.com/cglib/cglib"
-SRC_URI="https://github.com/cglib/cglib/archive//${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="3"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CDEPEND="dev-java/ant-core:0
- dev-java/asm:9
-"
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}
-"
-
-S="${WORKDIR}"
-
-JAVA_GENTOO_CLASSPATH="asm-9 ant-core"
-JAVA_SRC_DIR="${MY_P}/${PN}/src/main/java"
-JAVA_RESOURCE_DIRS="${MY_P}/${PN}/src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="${MY_P}/${PN}/src/test/java"
-JAVA_TEST_EXCLUDES=(
- "net.sf.cglib.CodeGenTestCase" # not a test class
- "net.sf.cglib.TestAll"
- "net.sf.cglib.TestGenerator" # not a test class
- "net.sf.cglib.proxy.TestEnhancer" # broken tests
- "net.sf.cglib.proxy.TestInterceptor" # not a test class
- "net.sf.cglib.reflect.TestFastClass" # broken tests
-)
-
-src_test() {
- # Caused by: net.sf.cglib.core.CodeGenerationException:
- # java.lang.reflect.InaccessibleObjectException-->Unable to make protected final java.lang.Class
- # java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
- # throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @42bb2aee
-
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -ge "17" ; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
- fi
-
- java-pkg-simple_src_test
-}
-
-src_install() {
- java-pkg-simple_src_install
-
- use examples && java-pkg_doexamples --subdir samples ${MY_P}/cglib-sample/src/main/java
-}
diff --git a/dev-java/cglib/cglib-3.3.0-r2.ebuild b/dev-java/cglib/cglib-3.3.0-r2.ebuild
new file mode 100644
index 000000000000..fc4bba040586
--- /dev/null
+++ b/dev-java/cglib/cglib-3.3.0-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# doc USE flag is not in IUSE as the docs does not compile because of errors
+JAVA_PKG_IUSE="examples source test"
+MAVEN_ID="cglib:cglib:3.3.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+MY_PV=RELEASE_${PV//./_}
+MY_P=cglib-${MY_PV}
+
+DESCRIPTION="cglib is a powerful, high performance and quality Code Generation Library"
+HOMEPAGE="https://github.com/cglib/cglib"
+SRC_URI="https://github.com/cglib/cglib/archive//${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="3"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14-r3:0
+ dev-java/asm:9
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+JAVA_SRC_DIR="${MY_P}/${PN}/src/main/java"
+JAVA_RESOURCE_DIRS="${MY_P}/${PN}/src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="${MY_P}/${PN}/src/test/java"
+JAVA_TEST_EXCLUDES=(
+ "net.sf.cglib.CodeGenTestCase" # not a test class
+ "net.sf.cglib.TestAll"
+ "net.sf.cglib.TestGenerator" # not a test class
+ "net.sf.cglib.proxy.TestEnhancer" # broken tests
+ "net.sf.cglib.proxy.TestInterceptor" # not a test class
+ "net.sf.cglib.reflect.TestFastClass" # broken tests
+)
+
+src_test() {
+ # Caused by: net.sf.cglib.core.CodeGenerationException:
+ # java.lang.reflect.InaccessibleObjectException-->Unable to make protected final java.lang.Class
+ # java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
+ # throws java.lang.ClassFormatError accessible: \
+ # module java.base does not "opens java.lang" to unnamed module @42bb2aee
+
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge "17" ; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
+ fi
+
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ use examples && java-pkg_doexamples --subdir samples ${MY_P}/cglib-sample/src/main/java
+}
diff --git a/dev-java/checker-framework-qual/Manifest b/dev-java/checker-framework-qual/Manifest
index 420abc50100b..a520abac15a6 100644
--- a/dev-java/checker-framework-qual/Manifest
+++ b/dev-java/checker-framework-qual/Manifest
@@ -1 +1 @@
-DIST checker-framework-3.14.0.tar.gz 7788010 BLAKE2B e05647b7a551cb1e53c32ea65c1d5a28ed7a968310223664704722c58b6df188e80581df383937fef6ebed5042e7234281b55069fde1f4cb34853495c4e2fbff SHA512 14be47e823ba67b6fcb7a8033632a2dd56341bd0d2a56c7501b50eab5e471622372eb4b62f4e78e33be019c15f44d075d146ece98fa3316e7cb24346db98c238
+DIST checker-framework-3.42.0.tar.gz 8280060 BLAKE2B c2f7c192eb9a7a26b66e46f0c22c18a05ec8cc3c4c01d444e7f14e41c89db83b5d2738f78e3b16eea9cd9ebf3138171bbc6fabb195bdd9776defa06d75e516d6 SHA512 310578593509674b2d36353b2044009ac98b50906d715f1168a96490a1b87aa8227c1713f64adeabd98e370fb1a6a25dd148a5700ff6f4f28ba6b69ba505c149
diff --git a/dev-java/checker-framework-qual/checker-framework-qual-3.14.0.ebuild b/dev-java/checker-framework-qual/checker-framework-qual-3.14.0.ebuild
deleted file mode 100644
index 57becae21d2e..000000000000
--- a/dev-java/checker-framework-qual/checker-framework-qual-3.14.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="${PN%-qual}"
-MY_P="${MY_PN}-${PV}"
-JAVA_PKG_IUSE="doc source"
-JAVA_TESTING_FRAMEWORKS="junit"
-MAVEN_ID="org.checkerframework:checker-qual:${PV}"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Annotations for type-checking by the Checker Framework"
-HOMEPAGE="https://checkerframework.org/"
-SRC_URI="https://codeload.github.com/typetools/${MY_PN}/tar.gz/refs/tags/${MY_P} -> ${MY_P}.tar.gz"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_PN}-${MY_P}/checker-qual"
-
-JAVA_SRC_DIR="src/main/java/org/checkerframework/"
diff --git a/dev-java/checker-framework-qual/checker-framework-qual-3.42.0.ebuild b/dev-java/checker-framework-qual/checker-framework-qual-3.42.0.ebuild
new file mode 100644
index 000000000000..5831dfb7010b
--- /dev/null
+++ b/dev-java/checker-framework-qual/checker-framework-qual-3.42.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.checkerframework:checker-qual:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Annotations for type-checking by the Checker Framework"
+HOMEPAGE="https://checkerframework.org/"
+SRC_URI="https://github.com/typetools/checker-framework/archive/checker-framework-${PV}.tar.gz"
+S="${WORKDIR}/checker-framework-checker-framework-${PV}/checker-qual"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.checkerframework.checker.qual"
+JAVA_SRC_DIR="src/main/java/org/checkerframework/"
diff --git a/dev-java/checker-framework-qual/metadata.xml b/dev-java/checker-framework-qual/metadata.xml
index ca606ae4ec36..29b8e33bf4e4 100644
--- a/dev-java/checker-framework-qual/metadata.xml
+++ b/dev-java/checker-framework-qual/metadata.xml
@@ -5,6 +5,9 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">typetools/checker-framework</remote-id>
+ </upstream>
<longdescription>
The Checker Framework enhances Java's type system to make it
more powerful and useful. This lets software developers detect
diff --git a/dev-java/commons-beanutils/Manifest b/dev-java/commons-beanutils/Manifest
index fe0438633a4b..3d0920954f02 100644
--- a/dev-java/commons-beanutils/Manifest
+++ b/dev-java/commons-beanutils/Manifest
@@ -1 +1,3 @@
DIST commons-beanutils-1.9.4-src.tar.gz 412606 BLAKE2B 213a2ad4d976ed4c55c9a73c0970a656e2f03efcba886369c8be164e04618937ad636ce7ffa6aa7b981e9595b24e4cbacc2bc632268bbfede8172091ef6eb4ff SHA512 6f3d30d02b9a66cf20509bd868c6e2dadb44bb27da1e6b9af7275675e0f3826845a5d4005509dd1eb77a5b2937820c4770a3753daaab072785dcdab0caa69e73
+DIST commons-beanutils-1.9.4-src.tar.gz.asc 833 BLAKE2B c971231cfb034bd9bbbd6e7801a4fcb54853c0d18872cfae81ce761fc8f71ebb70955456827ad33b4abd4df8c9820031fd49f28c50eddef5251b2a0d1b01cff9 SHA512 2a966959b2c94bf013df71885c2906a092b43a0ac6d63963f1462e7c09376964bb948c0681278a58fffae6716d042dc846b1649e1f4b0816e2adb3733bf14451
+DIST commons-collections-3.2.2-src.tar.gz 630693 BLAKE2B a70cebe9526291d5207db7edd7c9b50060413880d41dcb28c01cf05f7e00a9f5e1560012c3c3c763162412282db9512bc2b64a5788f210c5c8866943d912dafb SHA512 2e8ef638f07515b028a3e7e97851fcf1d9023a2c188e211bd1e936f35d3d91c2885adf3b1103ad17dfb7aeea6e7a67ce7826ee346a8a29c1aa7c6b0cf14e9230
diff --git a/dev-java/commons-beanutils/commons-beanutils-1.9.4-r1.ebuild b/dev-java/commons-beanutils/commons-beanutils-1.9.4-r1.ebuild
deleted file mode 100644
index a4b3175fa186..000000000000
--- a/dev-java/commons-beanutils/commons-beanutils-1.9.4-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# 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 mirror://apache/commons/beanutils/source/1.9.4-src.tar.gz --slot 1.7 --keywords "~amd64 ~x86 ~ppc64 ~amd64-linux ~x86-linux ~x64-macos" --ebuild commons-beanutils-1.9.4.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="commons-beanutils:commons-beanutils:1.9.4"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Provides easy-to-use wrappers around Reflection and Introspection APIs"
-HOMEPAGE="https://commons.apache.org/proper/commons-beanutils/"
-SRC_URI="mirror://apache/commons/beanutils/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="1.7"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-# Common dependencies
-# POM: pom.xml
-# commons-collections:commons-collections:3.2.2 -> >=dev-java/commons-collections-3.2.2:0
-# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
-
-CP_DEPEND="
- dev-java/commons-collections:0
- dev-java/commons-logging:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? commons-collections:commons-collections-testframework:3.2.1 -> !!!artifactId-not-found!!!
-# test? junit:junit:4.12 -> >=dev-java/junit-4.12:4
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*
- test? (
- dev-java/commons-collections:0[test]
- )"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( {CONTRIBUTING,README}.md {LICENSE,NOTICE,RELEASE-NOTES}.txt )
-
-S="${WORKDIR}/${P}-src"
-
-JAVA_ENCODING="iso-8859-1"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="commons-collections,junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-JAVA_TEST_EXCLUDES=(
- # Upstream: Tests run: 1293, Failures: 0, Errors: 0, Skipped: 3
- "org.apache.commons.beanutils.TestBeanPublicSubclass" # Invalid test class
- "org.apache.commons.beanutils.TestBeanPackageSubclass" # Invalid test class
- "org.apache.commons.beanutils.TestResultSetMetaData" # Invalid test class
- "org.apache.commons.beanutils.TestResultSet" # Test class can only have one constructor
- "org.apache.commons.beanutils.TestBean" # Test class can only have one constructor
- # https://github.com/apache/commons-beanutils/blob/32ceb2c92512d44f97638805e2f3fd9d70dfcfc6/pom.xml#L378-L383
- # <!-- This test case is known to fail, and there isn't any proposed fix
- # - so we will just exclude it until someone comes up with a solution.
- # -->
- "org.apache.commons.beanutils.converters.MemoryTestCase"
-)
-
-src_test() {
- # There were 8 failures:
- # 1) testPropertyUtilsBean_descriptorsCache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
- # java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
- # 2) testPropertyUtilsBean_mappedDescriptorsCache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
- # java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
- # 3) testMappedPropertyDescriptor_MappedMethodReference1(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
- # java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
- # 4) testMappedPropertyDescriptor_MappedMethodReference2(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
- # java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
- # 5) testLocaleConvertUtilsBean_converters_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
- # java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
- # 6) testWrapDynaClass_dynaClasses_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
- # java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
- # 7) testMethodUtils_cache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
- # java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
- # 8) testConvertUtilsBean_converters_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
- # java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" == "11" ]] ; then
- JAVA_TEST_EXCLUDES+=( "org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase" )
- fi
-
- java-pkg-simple_src_test
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/commons-beanutils/commons-beanutils-1.9.4-r2.ebuild b/dev-java/commons-beanutils/commons-beanutils-1.9.4-r2.ebuild
new file mode 100644
index 000000000000..ba6bfd171173
--- /dev/null
+++ b/dev-java/commons-beanutils/commons-beanutils-1.9.4-r2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-beanutils:commons-beanutils:1.9.4"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Provides easy-to-use wrappers around Reflection and Introspection APIs"
+HOMEPAGE="https://commons.apache.org/proper/commons-beanutils/"
+# We need some test classes of commons-collections which are not part of the jar file.
+ACC="commons-collections-3.2.2"
+SRC_URI="mirror://apache/commons/beanutils/source/${P}-src.tar.gz
+ test? ( https://archive.apache.org/dist/commons/collections/source/${ACC}-src.tar.gz )
+ verify-sig? ( https://downloads.apache.org/commons/beanutils/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="1.7"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+CP_DEPEND="
+ dev-java/commons-collections:0
+ dev-java/commons-logging:0
+"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( {CONTRIBUTING,README}.md {NOTICE,RELEASE-NOTES}.txt )
+
+JAVA_ENCODING="iso-8859-1"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4 "
+JAVA_TEST_SRC_DIR=(
+ src/test/java
+ ../"${ACC}"-src/src/test
+)
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${P}-src.tar.gz{,.asc}
+ fi
+ default
+}
+
+src_test() {
+ export LC_ALL="en_US.UTF-8"
+ # Apply patch to unpacked commons-collections
+ pushd "../${ACC}-src" >> /dev/null || die
+ eapply "${FILESDIR}/${ACC}-fixes.patch"
+ popd
+
+ pushd src/test/java || die
+ # Selection according to lines 375-383 pom.xml
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*TestCase.java" \
+ ! -path "**/*MemoryTestCase.java" \
+ ! -path "**/*MemoryLeakTestCase.java" \
+ ! -path "**/*LocaleBeanificationTestCase.java" \
+ ! -path "**/Jira347TestCase.java" \
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+
+ # We skip 2 more test classes conditionally which have failures with Java 21
+ # Error converting 'String' to 'java.sql.Time' using pattern 'h:mm a'
+ # Error converting 'String' to 'java.sql.Timestamp' using pattern 'M/d/yy, h:mm a'
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge "21"; then
+ JAVA_TEST_RUN_ONLY=${JAVA_TEST_RUN_ONLY//org.apache.commons.beanutils.converters.SqlTimeConverterTestCase}
+ JAVA_TEST_RUN_ONLY=${JAVA_TEST_RUN_ONLY//org.apache.commons.beanutils.converters.SqlTimestampConverterTestCase}
+ fi
+
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/commons-beanutils/files/commons-collections-3.2.2-fixes.patch b/dev-java/commons-beanutils/files/commons-collections-3.2.2-fixes.patch
new file mode 100644
index 000000000000..2f1380a06ffc
--- /dev/null
+++ b/dev-java/commons-beanutils/files/commons-collections-3.2.2-fixes.patch
@@ -0,0 +1,187 @@
+Patch stolen from:
+From e90a6173247f06514731825677f3fc67c62bdc52 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miroslav=20=C5=A0ulc?= <fordfrog@gentoo.org>
+Date: Wed, 21 Apr 2021 11:31:11 +0200
+--- a/build.xml
++++ b/build.xml
+@@ -154,8 +154,7 @@
+
+ <!-- NOTE: A jar built using JDK1.4 is incompatible with JDK1.2 -->
+ <jar jarfile="${build.jar.name}"
+- basedir="${build.classes}"
+- manifest="${build.conf}/MANIFEST.MF"/>
++ basedir="${build.classes}"/>
+ </target>
+
+ <!-- ====================================================================== -->
+--- a/src/java/org/apache/commons/collections/MultiHashMap.java
++++ b/src/java/org/apache/commons/collections/MultiHashMap.java
+@@ -331,7 +331,7 @@ public class MultiHashMap extends HashMap implements MultiMap {
+ * @param item the value to remove
+ * @return the value removed (which was passed in), null if nothing removed
+ */
+- public Object remove(Object key, Object item) {
++ public Object removeMapping(Object key, Object item) {
+ Collection valuesForKey = getCollection(key);
+ if (valuesForKey == null) {
+ return null;
+--- a/src/java/org/apache/commons/collections/MultiMap.java
++++ b/src/java/org/apache/commons/collections/MultiMap.java
+@@ -66,7 +66,7 @@ public interface MultiMap extends Map {
+ * @throws ClassCastException if the key or value is of an invalid type
+ * @throws NullPointerException if the key or value is null and null is invalid
+ */
+- public Object remove(Object key, Object item);
++ public Object removeMapping(Object key, Object item);
+
+ //-----------------------------------------------------------------------
+ /**
+--- a/src/java/org/apache/commons/collections/map/MultiKeyMap.java
++++ b/src/java/org/apache/commons/collections/map/MultiKeyMap.java
+@@ -197,7 +197,7 @@ public class MultiKeyMap
+ * @param key2 the second key
+ * @return the value mapped to the removed key, null if key not in map
+ */
+- public Object remove(Object key1, Object key2) {
++ public Object removeMultiKey(Object key1, Object key2) {
+ int hashCode = hash(key1, key2);
+ int index = map.hashIndex(hashCode, map.data.length);
+ AbstractHashedMap.HashEntry entry = map.data[index];
+--- a/src/java/org/apache/commons/collections/map/MultiValueMap.java
++++ b/src/java/org/apache/commons/collections/map/MultiValueMap.java
+@@ -153,7 +153,7 @@ public class MultiValueMap extends AbstractMapDecorator implements MultiMap {
+ * @param value the value to remove
+ * @return the value removed (which was passed in), null if nothing removed
+ */
+- public Object remove(Object key, Object value) {
++ public Object removeMapping(Object key, Object value) {
+ Collection valuesForKey = getCollection(key);
+ if (valuesForKey == null) {
+ return null;
+--- a/src/test/org/apache/commons/collections/TestMultiHashMap.java
++++ b/src/test/org/apache/commons/collections/TestMultiHashMap.java
+@@ -217,7 +217,7 @@ public class TestMultiHashMap extends AbstractTestMap {
+ MultiHashMap one = new MultiHashMap();
+ Integer value = new Integer(1);
+ one.put("One", value);
+- one.remove("One", value);
++ one.removeMapping("One", value);
+
+ MultiHashMap two = new MultiHashMap();
+ assertEquals(two, one);
+@@ -269,7 +269,7 @@ public class TestMultiHashMap extends AbstractTestMap {
+ assertEquals(4, map.totalSize());
+ map.remove("A");
+ assertEquals(3, map.totalSize());
+- map.remove("B", "BC");
++ map.removeMapping("B", "BC");
+ assertEquals(2, map.totalSize());
+ }
+
+@@ -292,7 +292,7 @@ public class TestMultiHashMap extends AbstractTestMap {
+ map.remove("A");
+ assertEquals(0, map.size("A"));
+ assertEquals(3, map.size("B"));
+- map.remove("B", "BC");
++ map.removeMapping("B", "BC");
+ assertEquals(0, map.size("A"));
+ assertEquals(2, map.size("B"));
+ }
+@@ -464,11 +464,11 @@ public class TestMultiHashMap extends AbstractTestMap {
+ map.put("A", "AA");
+ map.put("A", "AB");
+ map.put("A", "AC");
+- assertEquals(null, map.remove("C", "CA"));
+- assertEquals(null, map.remove("A", "AD"));
+- assertEquals("AC", map.remove("A", "AC"));
+- assertEquals("AB", map.remove("A", "AB"));
+- assertEquals("AA", map.remove("A", "AA"));
++ assertEquals(null, map.removeMapping("C", "CA"));
++ assertEquals(null, map.removeMapping("A", "AD"));
++ assertEquals("AC", map.removeMapping("A", "AC"));
++ assertEquals("AB", map.removeMapping("A", "AB"));
++ assertEquals("AA", map.removeMapping("A", "AA"));
+ assertEquals(new MultiHashMap(), map);
+ }
+
+--- a/src/test/org/apache/commons/collections/collection/AbstractTestCollection.java
++++ b/src/test/org/apache/commons/collections/collection/AbstractTestCollection.java
+@@ -1116,7 +1116,7 @@ public abstract class AbstractTestCollection extends AbstractTestObject {
+ verify();
+
+ try {
+- array = collection.toArray(null);
++ array = collection.toArray((Object[]) null);
+ fail("toArray(null) should raise NPE");
+ } catch (NullPointerException e) {
+ // expected
+--- a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
++++ b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
+@@ -315,10 +315,10 @@ public class TestMultiKeyMap extends AbstractTestIterableMap {
+ switch (key.size()) {
+ case 2:
+ assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1)));
+- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1)));
++ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
+ assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
+ assertEquals(size - 1, multimap.size());
+- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1)));
++ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
+ assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
+ break;
+ case 3:
+--- a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
++++ b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
+@@ -161,7 +161,7 @@ public class TestMultiValueMap extends TestCase {
+ MultiValueMap one = new MultiValueMap();
+ Integer value = new Integer(1);
+ one.put("One", value);
+- one.remove("One", value);
++ one.removeMapping("One", value);
+
+ MultiValueMap two = new MultiValueMap();
+ assertEquals(two, one);
+@@ -187,7 +187,7 @@ public class TestMultiValueMap extends TestCase {
+ assertEquals(4, map.totalSize());
+ map.remove("A");
+ assertEquals(3, map.totalSize());
+- map.remove("B", "BC");
++ map.removeMapping("B", "BC");
+ assertEquals(2, map.totalSize());
+ }
+
+@@ -204,7 +204,7 @@ public class TestMultiValueMap extends TestCase {
+ assertEquals(2, map.size());
+ map.remove("A");
+ assertEquals(2, map.size());
+- map.remove("B", "BC");
++ map.removeMapping("B", "BC");
+ assertEquals(2, map.size());
+ }
+
+@@ -227,7 +227,7 @@ public class TestMultiValueMap extends TestCase {
+ map.remove("A");
+ assertEquals(0, map.size("A"));
+ assertEquals(3, map.size("B"));
+- map.remove("B", "BC");
++ map.removeMapping("B", "BC");
+ assertEquals(0, map.size("A"));
+ assertEquals(2, map.size("B"));
+ }
+@@ -338,11 +338,11 @@ public class TestMultiValueMap extends TestCase {
+ map.put("A", "AA");
+ map.put("A", "AB");
+ map.put("A", "AC");
+- assertEquals(null, map.remove("C", "CA"));
+- assertEquals(null, map.remove("A", "AD"));
+- assertEquals("AC", map.remove("A", "AC"));
+- assertEquals("AB", map.remove("A", "AB"));
+- assertEquals("AA", map.remove("A", "AA"));
++ assertEquals(null, map.removeMapping("C", "CA"));
++ assertEquals(null, map.removeMapping("A", "AD"));
++ assertEquals("AC", map.removeMapping("A", "AC"));
++ assertEquals("AB", map.removeMapping("A", "AB"));
++ assertEquals("AA", map.removeMapping("A", "AA"));
+ assertEquals(new MultiValueMap(), map);
+ }
+
diff --git a/dev-java/commons-cli/commons-cli-1.5.0.ebuild b/dev-java/commons-cli/commons-cli-1.5.0.ebuild
index 5edf37d89a77..576a7661f095 100644
--- a/dev-java/commons-cli/commons-cli-1.5.0.ebuild
+++ b/dev-java/commons-cli/commons-cli-1.5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ SRC_URI="mirror://apache/commons/cli/source/${P}-src.tar.gz"
LICENSE="Apache-2.0"
SLOT="1"
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/commons-codec/Manifest b/dev-java/commons-codec/Manifest
index ce66a8df6605..6493f8c68cff 100644
--- a/dev-java/commons-codec/Manifest
+++ b/dev-java/commons-codec/Manifest
@@ -1 +1,2 @@
-DIST commons-codec-1.15.tar.gz 423639 BLAKE2B 5d9d3dd44fda7eee77048eaa1e28f54f9baff7ad276f7e718f4a4d6c5b26605914809db538e9832bf06b1468a65432645ef9de74aec9f9af9973668a82bd996f SHA512 dcf0b86f269a96362dca5b36b9e764a07e390634804b359d4dbd1a0c50bfcc9f778e3797f196e1f553d76dd25b3c6fd016f0ffbbca856fa6c88d3d55791889ce
+DIST commons-codec-1.16.1-src.tar.gz 450009 BLAKE2B da06c823fae5e106c27b10274fb159e3de62827fe1bb1ace8d65377da26d012534636a8ac58a558b653ba3a7e868bb2f7d94b2ea820b5ddc6400fd4d288c6ba9 SHA512 8e2d40ae625c04e61b0dd7473dea0b32fdd13a6d3aad47b8b052952ca46f57d3df4917133f523ea147305a1c7ed9267cce7c4fa34d901496e36e9d5de9856e61
+DIST commons-codec-1.16.1-src.tar.gz.asc 488 BLAKE2B d3f193b602339714728875189ae90a49f70f9efb70076e73bdc460ccca99aea832a7cf0b18ecd212b016787f8cc96a1e30f9cb0af7b83f05db2dfba00d71c144 SHA512 a0716601374f17add25698eb5abd111c560c258f4ab18278b6bd857b2bf32916b5e4e590ce8c39a0bdef3b83e16e9330ce84268dec810db7dfab1679cace85af
diff --git a/dev-java/commons-codec/commons-codec-1.15-r1.ebuild b/dev-java/commons-codec/commons-codec-1.15-r1.ebuild
deleted file mode 100644
index 95a9ec2ab516..000000000000
--- a/dev-java/commons-codec/commons-codec-1.15-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom commons-codec-1.15-src/pom.xml --download-uri https://apache.osuosl.org/commons/codec/source/commons-codec-1.15-src.tar.gz --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild commons-codec-1.15.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="commons-codec:commons-codec:1.15"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Implementations of common encoders and decoders in Java"
-HOMEPAGE="https://commons.apache.org/proper/commons-codec/"
-SRC_URI="mirror://apache/commons/codec/source/${P}-src.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
-
-# Compile dependencies
-# POM: ${P}-src/pom.xml
-# test? junit:junit:4.13 -> >=dev-java/junit-4.13.1:4
-# test? org.apache.commons:commons-lang3:3.8 -> >=dev-java/commons-lang-3.11:3.6
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- >=dev-java/commons-lang-3.11:3.6
- )
-"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${P}-src"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.codec"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,commons-lang-3.6"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
diff --git a/dev-java/commons-codec/commons-codec-1.16.1.ebuild b/dev-java/commons-codec/commons-codec-1.16.1.ebuild
new file mode 100644
index 000000000000..96485a4fea70
--- /dev/null
+++ b/dev-java/commons-codec/commons-codec-1.16.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-codec:commons-codec:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Implementations of common encoders and decoders in Java"
+HOMEPAGE="https://commons.apache.org/proper/commons-codec/"
+SRC_URI="mirror://apache/commons/codec/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/codec/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
+RESTRICT="test" #839681
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/commons-lang:3.6
+ dev-java/hamcrest:0
+ dev-java/junit:5[migration-support]
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.codec"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ junit-4
+ junit-5
+ commons-lang-3.6
+ hamcrest
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/commons-codec/metadata.xml b/dev-java/commons-codec/metadata.xml
index 05adc2eb44df..3a111ef6e0e6 100644
--- a/dev-java/commons-codec/metadata.xml
+++ b/dev-java/commons-codec/metadata.xml
@@ -5,6 +5,9 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+<upstream>
+ <remote-id type="github">apache/commons-codec</remote-id>
+</upstream>
<longdescription>
Codec was formed as an attempt to focus development effort on one
diff --git a/dev-java/commons-collections/Manifest b/dev-java/commons-collections/Manifest
index a70cf6348c0f..ce4044f37b42 100644
--- a/dev-java/commons-collections/Manifest
+++ b/dev-java/commons-collections/Manifest
@@ -1,2 +1,4 @@
DIST commons-collections-3.2.2-src.tar.gz 630693 BLAKE2B a70cebe9526291d5207db7edd7c9b50060413880d41dcb28c01cf05f7e00a9f5e1560012c3c3c763162412282db9512bc2b64a5788f210c5c8866943d912dafb SHA512 2e8ef638f07515b028a3e7e97851fcf1d9023a2c188e211bd1e936f35d3d91c2885adf3b1103ad17dfb7aeea6e7a67ce7826ee346a8a29c1aa7c6b0cf14e9230
-DIST commons-collections-4.4-src.tar.gz 703008 BLAKE2B f4a0e858eb7412bdd431894f923a4731685ceb2463bee002401d8048cc40534f002ec0291aa67297e061a50b624d3de8f64e227f513ab1f3620e38d1d6858255 SHA512 2110e73eda97ca52a886cb708f21d8609a83655861594f3b6eb7a15b777d42eeeefc5d3b28ffc6ecc5e4f0b3fd5407f80019c2ce006f970f55455ef33eee47ee
+DIST commons-collections-3.2.2-src.tar.gz.asc 819 BLAKE2B a7d170b03613cddddc284908d95287fc092c01b125c5adffebfc493daf9119e0c9d82fdc7d8ce1865ef45a1e015072f5a09181abcba5b17c9c48d7c6333279da SHA512 c5d33518ed5343b38c10e317f677266858bd9614eff7fdc13a2e0131fe71836c3694f49898843e6978496d7dd2f976b82922230a44cde1eac5f6cdfdb822dcd0
+DIST commons-collections4-4.4-src.tar.gz 703008 BLAKE2B f4a0e858eb7412bdd431894f923a4731685ceb2463bee002401d8048cc40534f002ec0291aa67297e061a50b624d3de8f64e227f513ab1f3620e38d1d6858255 SHA512 2110e73eda97ca52a886cb708f21d8609a83655861594f3b6eb7a15b777d42eeeefc5d3b28ffc6ecc5e4f0b3fd5407f80019c2ce006f970f55455ef33eee47ee
+DIST commons-collections4-4.4-src.tar.gz.asc 499 BLAKE2B 8217d8c8714d2c07a66eca22069b40e2d1012881385172bedd29d52f14ae5c6e287ce2f097f1bde77af06677c776e45c3e67dc6c885709f6c97f61155252131c SHA512 533c47ad2cb6b6926ea8e4aaf9072b6c7a0c9d4a6becb31163a33a6cba8a9888534b74701935a0f0e797c10cbc688331d9abefc3d4085edcd9a7d29260f735ae
diff --git a/dev-java/commons-collections/commons-collections-3.2.2-r2.ebuild b/dev-java/commons-collections/commons-collections-3.2.2-r2.ebuild
new file mode 100644
index 000000000000..7ec6cb15cb8c
--- /dev/null
+++ b/dev-java/commons-collections/commons-collections-3.2.2-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-collections:commons-collections:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Jakarta-Commons Collections Component"
+HOMEPAGE="https://commons.apache.org/collections/"
+SRC_URI="https://archive.apache.org/dist/commons/collections/source/${P}-src.tar.gz
+ verify-sig? ( https://archive.apache.org/dist/commons/collections/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+# broken with jdk:21 - https://bugs.gentoo.org/916445
+DEPEND="
+ <=virtual/jdk-17:*
+ test? ( dev-java/junit:0 )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {NOTICE,README,RELEASE-NOTES}.txt )
+HTML_DOCS=( {DEVELOPERS-GUIDE,PROPOSAL}.html )
+
+PATCHES=( "${FILESDIR}/${P}-fixes.patch" )
+
+JAVA_SRC_DIR="src/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit"
+JAVA_TEST_SRC_DIR="src/test"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+src_test() {
+ if [[ "${ARCH}" = "ppc" ]]; then
+ einfo "tests are disabled on ppc"
+ else
+ java-pkg-simple_src_test
+ fi
+}
diff --git a/dev-java/commons-collections/commons-collections-3.2.2.ebuild b/dev-java/commons-collections/commons-collections-3.2.2.ebuild
deleted file mode 100644
index 3e6fe5ecf537..000000000000
--- a/dev-java/commons-collections/commons-collections-3.2.2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="commons-collections:commons-collections:3.2.2"
-
-inherit java-pkg-2 java-ant-2 java-utils-2
-
-DESCRIPTION="Jakarta-Commons Collections Component"
-HOMEPAGE="https://commons.apache.org/collections/"
-SRC_URI="mirror://apache/${PN/-//}/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- dev-java/junit:0
- dev-java/ant-junit:0
- )"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${P}-src"
-
-PATCHES=(
- "${FILESDIR}/${P}-fixes.patch"
-)
-
-src_prepare() {
- default
-}
-
-src_compile() {
- local antflags
- if use test; then
- antflags="tf.jar -Djunit.jar=$(java-pkg_getjars --build-only junit)"
- fi
- eant jar $(use_doc) ${antflags}
-}
-
-src_test() {
- if [[ "${ARCH}" = "ppc" ]]; then
- einfo "tests are disabled on ppc"
- else
- ANT_TASKS="ant-junit" eant testjar -Djunit.jar="$(java-pkg_getjars junit)"
- fi
-}
-
-src_install() {
- java-pkg_newjar build/${P}.jar ${PN}.jar
- use test && \
- java-pkg_newjar build/${PN}-testframework-${PV}.jar \
- ${PN}-testframework.jar
-
- java-pkg_dohtml *.html
- if use doc; then
- java-pkg_dojavadoc build/docs/apidocs
- fi
- use source && java-pkg_dosrc src/java/*
-}
diff --git a/dev-java/commons-collections/commons-collections-4.4-r1.ebuild b/dev-java/commons-collections/commons-collections-4.4-r1.ebuild
deleted file mode 100644
index 5c4b6e0ebaee..000000000000
--- a/dev-java/commons-collections/commons-collections-4.4-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# 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 mirror://apache/commons/collections/source/commons-collections4-4.4-src.tar.gz --slot 4 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild commons-collections-4.4.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.commons:commons-collections4:4.4"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Extends the JCF classes with new interfaces, implementations and utilities"
-HOMEPAGE="https://commons.apache.org/proper/commons-collections/"
-SRC_URI="mirror://apache/commons/collections/source/${PN}4-${PV}-src.tar.gz -> ${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.12 -> >=dev-java/junit-4.13.2:4
-# test? org.apache.commons:commons-lang3:3.9 -> >=dev-java/commons-lang-3.12.0:3.6
-# test? org.easymock:easymock:4.0.2 -> !!!suitable-mavenVersion-not-found!!!
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- dev-java/easymock:3.2
- dev-java/commons-lang:3.6
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-DOCS=( {CONTRIBUTING,README}.md {LICENSE,NOTICE,RELEASE-NOTES}.txt )
-HTML_DOCS=( {DEVELOPERS-GUIDE,PROPOSAL}.html )
-
-S="${WORKDIR}/commons-collections4-${PV}-src"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,commons-lang-3.6,easymock-3.2"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.collections4"
-
-src_test() {
- # https://github.com/apache/commons-collections/blob/cab58b3a8093a2f6b84f12783a3fb358747310f7/pom.xml#L542-L550
- pushd src/test/java || die
- local TESTS=$(find * -name "*Test.java" ! -name "TestUtils.java" ! -name "Abstract*.java" ! -name "BulkTest.java")
- TESTS="${TESTS//.java}"
- TESTS="${TESTS//\//.}"
- popd
-
- JAVA_TEST_RUN_ONLY=( "${TESTS}" )
- java-pkg-simple_src_test
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/commons-collections/commons-collections-4.4-r2.ebuild b/dev-java/commons-collections/commons-collections-4.4-r2.ebuild
new file mode 100644
index 000000000000..059e87b91233
--- /dev/null
+++ b/dev-java/commons-collections/commons-collections-4.4-r2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.commons:commons-collections4:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Extends the JCF classes with new interfaces, implementations and utilities"
+HOMEPAGE="https://commons.apache.org/proper/commons-collections/"
+SRC_URI="mirror://apache/commons/collections/source/${PN}4-${PV}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/collections/source/${PN}4-${PV}-src.tar.gz.asc )"
+S="${WORKDIR}/commons-collections4-${PV}-src"
+
+LICENSE="Apache-2.0"
+SLOT="4"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+# broken with jdk:21 - https://bugs.gentoo.org/916445
+DEPEND="
+ <=virtual/jdk-17:*
+ test? (
+ dev-java/easymock:3.2
+ dev-java/commons-lang:3.6
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {CONTRIBUTING,README}.md {NOTICE,RELEASE-NOTES}.txt )
+HTML_DOCS=( {DEVELOPERS-GUIDE,PROPOSAL}.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.collections4"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="
+ commons-lang-3.6
+ easymock-3.2
+ junit-4
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ # https://github.com/apache/commons-collections/blob/commons-commons-collections-4.4/pom.xml#L542-L550
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "*Test.java" \
+ ! -name "TestUtils.java" \
+ ! -name "Abstract*.java" \
+ ! -name "BulkTest.java")
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/commons-collections/metadata.xml b/dev-java/commons-collections/metadata.xml
index 62a57c23950f..23e31dd764c3 100644
--- a/dev-java/commons-collections/metadata.xml
+++ b/dev-java/commons-collections/metadata.xml
@@ -5,6 +5,12 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <bugs-to>https://issues.apache.org/jira/projects/COLLECTIONS/issues</bugs-to>
+ <changelog>https://commons.apache.org/proper/commons-collections/changes-report.html</changelog>
+ <doc>https://commons.apache.org/proper/commons-collections/userguide.html</doc>
+ <remote-id type="github">apache/commons-collections</remote-id>
+ </upstream>
<longdescription>
The Apache Commons Collections package contains types that extend and augment the Java Collections Framework.
</longdescription>
diff --git a/dev-java/commons-compress/Manifest b/dev-java/commons-compress/Manifest
index b829aa5af451..531be855daa7 100644
--- a/dev-java/commons-compress/Manifest
+++ b/dev-java/commons-compress/Manifest
@@ -1,2 +1,2 @@
-DIST commons-compress-1.21-sources.tar.gz 15165800 BLAKE2B 3fed32af039860c6b434c485f0c78939ed810a224a12680ddf1d9d6ed540f4e74530edd0e0077fd41af31404c296a607db912465cfd725c31446bc6fa7b8df8a SHA512 8041371b491057435ca62390e70b30031e4d21e80c37d9cb922fdffa794b56aee3b5d60d8241e4db0cecc28c82dfdaafbe52b2175e26062da169fec8efbb17e1
-DIST commons-compress-1.21-src.tar.gz 15165800 BLAKE2B 3fed32af039860c6b434c485f0c78939ed810a224a12680ddf1d9d6ed540f4e74530edd0e0077fd41af31404c296a607db912465cfd725c31446bc6fa7b8df8a SHA512 8041371b491057435ca62390e70b30031e4d21e80c37d9cb922fdffa794b56aee3b5d60d8241e4db0cecc28c82dfdaafbe52b2175e26062da169fec8efbb17e1
+DIST commons-compress-1.26.1-src.tar.gz 54843710 BLAKE2B 84c4c1363a4396a06773a8c120f5f32d98fceaa139e33a2a27df79a9aea41b8084a93a5735b0c4cd17fa88c404060af2336ab20f127acceb0da948ff170164c3 SHA512 096c94344a9bbcd021a3cce0869456cf6d22ca5136b63de017922d7c3de5d94b591961fe550201b654f9dc90b2cd8f32ef9bf1e507fddfb2e2f7c33bddc790c4
+DIST commons-compress-1.26.1-src.tar.gz.asc 488 BLAKE2B 4df27d6d7ab226eb87ca6b7691c677b95d59c2d37f44ced6a5c0586aefa2506c9a635d869fd181526149416c228a8859a961386ca98519dc080709a55d9264c9 SHA512 b9533d63f961022ca42e79f8aed91a6c4b8a91cb0f3aa095a4ffa2202ed87d171f6c0d32babfbd730eb0c250be2331da4bd12e5251f7e7076f78536d20d96ced
diff --git a/dev-java/commons-compress/commons-compress-1.21-r1.ebuild b/dev-java/commons-compress/commons-compress-1.21-r1.ebuild
deleted file mode 100644
index 4be5fb2c26c7..000000000000
--- a/dev-java/commons-compress/commons-compress-1.21-r1.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# 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://apache.miloslavbrada.cz//commons/compress/source/commons-compress-1.21-src.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~x86" --ebuild commons-compress-1.21.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.commons:commons-compress:1.21"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java API for working with archive files"
-HOMEPAGE="https://commons.apache.org/proper/commons-compress/"
-SRC_URI="mirror://apache/commons/compress/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm"
-
-# Common dependencies
-# POM: pom.xml
-# asm:asm:3.2 -> !!!groupId-not-found!!!
-# com.github.luben:zstd-jni:1.5.0-2 -> >=dev-java/zstd-jni-1.5.0.5:0
-# org.brotli:dec:0.1.2 -> >=dev-java/brotli-dec-0.1.2:0
-# org.tukaani:xz:1.9 -> >=dev-java/xz-java-1.9:0
-
-CP_DEPEND="
- dev-java/asm:9
- dev-java/brotli-dec:0
- dev-java/xz-java:0
- dev-java/zstd-jni:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# org.osgi:osgi.core:6.0.0 -> >=dev-java/osgi-core-8.0.0:0
-# POM: pom.xml
-# test? com.github.marschall:memoryfilesystem:2.1.0 -> >=dev-java/memoryfilesystem-2.3.0:0
-# test? javax.inject:javax.inject:1 -> >=dev-java/javax-inject-1:0
-# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
-# test? org.apache.felix:org.apache.felix.framework:7.0.0 -> >=dev-java/felix-framework-7.0.5:0
-# test? org.hamcrest:hamcrest:2.2 -> >=dev-java/hamcrest-2.2:0
-# test? org.mockito:mockito-core:3.11.1 -> >=dev-java/mockito-4.6.1:4
-# test? org.ops4j.pax.exam:pax-exam-cm:4.13.1 -> !!!groupId-not-found!!!
-# test? org.ops4j.pax.exam:pax-exam-container-native:4.13.1 -> !!!groupId-not-found!!!
-# test? org.ops4j.pax.exam:pax-exam-junit4:4.13.1 -> !!!groupId-not-found!!!
-# test? org.ops4j.pax.exam:pax-exam-link-mvn:4.13.1 -> !!!groupId-not-found!!!
-# test? org.slf4j:slf4j-api:1.7.30 -> >=dev-java/slf4j-api-1.7.36:0
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}
- dev-java/osgi-core:0
- test? (
- dev-java/felix-framework:0
- dev-java/hamcrest:0
- dev-java/javax-inject:0
- dev-java/memoryfilesystem:0
- dev-java/mockito:4
- dev-java/slf4j-api:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/${P}-src"
-
-PATCHES=(
- "${FILESDIR}/${P}-asm7+.patch"
-)
-
-JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.compress"
-JAVA_CLASSPATH_EXTRA="osgi-core"
-JAVA_ENCODING="iso-8859-1"
-JAVA_MAIN_CLASS="org.apache.commons.compress.archivers.Lister"
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="memoryfilesystem,javax-inject,junit-4,felix-framework,hamcrest,mockito-4,slf4j-api"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-src_prepare() {
- default
- # error: package org.ops4j.pax.exam does not exist
- # removing it costs 2 tests
- rm src/test/java/org/apache/commons/compress/OsgiITest.java || die
-
- # java.io.FileNotFoundException: couldn't find zstandard.testdata.zst
- # pom.xml lines 420-422
- tar xf src/test/resources/zstd-tests.tar \
- -C src/test/resources || die "cannot unpack zstd-tests.tar"
-
- # pom.xml lines 518-520
- tar xjf src/test/resources/zip64support.tar.bz2 \
- -C src/test/resources || die "cannot unpack zip64support.tar.bz2"
-
- JAVA_TEST_EXTRA_ARGS=( -Djava.library.path="${EPREFIX}/usr/$(get_libdir)/zstd-jni/" )
-}
-
-JAVA_TEST_EXCLUDES=(
- # No runnable methods
- org.apache.commons.compress.archivers.TestArchiveStreamProvider
- org.apache.commons.compress.compressors.TestCompressorStreamProvider
-
- # fails without useful message
- org.apache.commons.compress.compressors.DetectCompressorTestCase # has 8 tests
-
- # These tests pass but they prevent printing test messages::
-# org.apache.commons.compress.compressors.pack200.Pack200UtilsTest # has 2 tests
-# org.apache.commons.compress.compressors.FramedSnappyTestCase # has 5 tests
-# org.apache.commons.compress.compressors.XZTestCase # has 4 tests
-# org.apache.commons.compress.compressors.Pack200TestCase # has 15 tests
-# org.apache.commons.compress.harmony.pack200.tests.PackingOptionsTest # has 12 tests
-# org.apache.commons.compress.harmony.pack200.tests.ArchiveTest # has 9 tests
-# org.apache.commons.compress.harmony.unpack200.tests.ArchiveTest # has 13 tests
-)
diff --git a/dev-java/commons-compress/commons-compress-1.21.ebuild b/dev-java/commons-compress/commons-compress-1.21.ebuild
deleted file mode 100644
index c011b4bda384..000000000000
--- a/dev-java/commons-compress/commons-compress-1.21.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2021 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://apache.miloslavbrada.cz//commons/compress/source/commons-compress-1.21-src.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~x86" --ebuild commons-compress-1.21.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.apache.commons:commons-compress:1.21"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java API for working with archive files"
-HOMEPAGE="https://commons.apache.org/proper/commons-compress/"
-SRC_URI="mirror://apache/commons/compress/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# asm:asm:3.2 -> !!!groupId-not-found!!!
-# com.github.luben:zstd-jni:1.5.0-2 -> >=dev-java/zstd-jni-1.5.0.4:0
-# org.brotli:dec:0.1.2 -> >=dev-java/brotli-dec-0.1.2:0
-# org.tukaani:xz:1.9 -> >=dev-java/xz-java-1.9:0
-
-CDEPEND="
- dev-java/asm:9
- >=dev-java/brotli-dec-0.1.2:0
- >=dev-java/xz-java-1.9:0
- >=dev-java/zstd-jni-1.5.0.4:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# org.osgi:org.osgi.core:6.0.0 -> !!!artifactId-not-found!!!
-# POM: pom.xml
-# test? com.github.marschall:memoryfilesystem:2.1.0 -> !!!groupId-not-found!!!
-# test? javax.inject:javax.inject:1 -> !!!groupId-not-found!!!
-# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
-# test? org.apache.felix:org.apache.felix.framework:7.0.0 -> !!!groupId-not-found!!!
-# test? org.hamcrest:hamcrest:2.2 -> !!!artifactId-not-found!!!
-# test? org.mockito:mockito-core:3.11.1 -> !!!suitable-mavenVersion-not-found!!!
-# test? org.ops4j.pax.exam:pax-exam-cm:4.13.1 -> !!!groupId-not-found!!!
-# test? org.ops4j.pax.exam:pax-exam-container-native:4.13.1 -> !!!groupId-not-found!!!
-# test? org.ops4j.pax.exam:pax-exam-junit4:4.13.1 -> !!!groupId-not-found!!!
-# test? org.ops4j.pax.exam:pax-exam-link-mvn:4.13.1 -> !!!groupId-not-found!!!
-# test? org.slf4j:slf4j-api:1.7.30 -> >=dev-java/slf4j-api-1.7.30:0
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-S="${WORKDIR}/${P}-src"
-
-PATCHES=(
- "${FILESDIR}/${P}-asm7+.patch"
-)
-
-JAVA_ENCODING="iso-8859-1"
-
-JAVA_GENTOO_CLASSPATH="asm-9,zstd-jni,brotli-dec,xz-java"
-JAVA_SRC_DIR="src/main/java"
-
-src_prepare() {
- default
-}
diff --git a/dev-java/commons-compress/commons-compress-1.26.1.ebuild b/dev-java/commons-compress/commons-compress-1.26.1.ebuild
new file mode 100644
index 000000000000..c8764e448be2
--- /dev/null
+++ b/dev-java/commons-compress/commons-compress-1.26.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Not ready for running tests, https://bugs.gentoo.org/839681
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.apache.commons:commons-compress:${PV}"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Java API for working with archive files"
+HOMEPAGE="https://commons.apache.org/proper/commons-compress/"
+SRC_URI="mirror://apache/commons/compress/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/compress/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+CP_DEPEND="
+ dev-java/asm:9
+ dev-java/brotli-dec:0
+ dev-java/commons-codec:0
+ >=dev-java/commons-io-2.15.1:1
+ dev-java/commons-lang:3.6
+ dev-java/xz-java:0
+ dev-java/zstd-jni:0
+"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*
+ dev-java/osgi-core:0"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.compress"
+JAVA_CLASSPATH_EXTRA="osgi-core"
+JAVA_ENCODING="iso-8859-1"
+JAVA_MAIN_CLASS="org.apache.commons.compress.archivers.Lister"
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/commons-compress/files/commons-compress-1.21-asm7+.patch b/dev-java/commons-compress/files/commons-compress-1.21-asm7+.patch
deleted file mode 100644
index e20fa89787dc..000000000000
--- a/dev-java/commons-compress/files/commons-compress-1.21-asm7+.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From 7709c8be97147e8d5c5d7fa42d076504931ba9e0 Mon Sep 17 00:00:00 2001
-From: Stephan Blecher <token_github@blecher.at>
-Date: Tue, 10 Aug 2021 14:39:21 +0200
-Subject: [PATCH] COMPRESS-582: update harmony to ASM >= 7.0
-
----
- pom.xml | 5 +--
- .../harmony/pack200/Pack200ClassReader.java | 2 +-
- .../compress/harmony/pack200/Segment.java | 35 +++++++++++++++----
- .../harmony/pack200/tests/ArchiveTest.java | 0
- 4 files changed, 32 insertions(+), 10 deletions(-)
- mode change 100644 => 100755 src/test/java/org/apache/commons/compress/harmony/pack200/tests/ArchiveTest.java
-
-diff --git a/pom.xml b/pom.xml
-index 28f50f06a..1c6844d24 100644
---- a/pom.xml
-+++ b/pom.xml
-@@ -78,6 +78,7 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.
- <commons.jacoco.version>0.8.7</commons.jacoco.version>
- <commons.japicmp.version>0.15.3</commons.japicmp.version>
- <commons.javadoc.version>3.3.0</commons.javadoc.version>
-+ <asm.version>7.0</asm.version>
- </properties>
-
- <issueManagement>
-@@ -119,9 +120,9 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.
-
- <!-- Pack200 -->
- <dependency>
-- <groupId>asm</groupId>
-+ <groupId>org.ow2.asm</groupId>
- <artifactId>asm</artifactId>
-- <version>3.2</version>
-+ <version>${asm.version}</version>
- <optional>true</optional>
- </dependency>
-
-diff --git a/src/main/java/org/apache/commons/compress/harmony/pack200/Pack200ClassReader.java b/src/main/java/org/apache/commons/compress/harmony/pack200/Pack200ClassReader.java
-index 2a017bc01..7022b7b30 100644
---- a/src/main/java/org/apache/commons/compress/harmony/pack200/Pack200ClassReader.java
-+++ b/src/main/java/org/apache/commons/compress/harmony/pack200/Pack200ClassReader.java
-@@ -40,7 +40,7 @@ public int readUnsignedShort(final int index) {
- // Doing this to check whether last load-constant instruction was ldc (18) or ldc_w (19)
- // TODO: Assess whether this impacts on performance
- final int unsignedShort = super.readUnsignedShort(index);
-- if (b[index - 1] == 19) {
-+ if (index > 0 && b[index - 1] == 19) {
- lastUnsignedShort = unsignedShort;
- } else {
- lastUnsignedShort = Short.MIN_VALUE;
-diff --git a/src/main/java/org/apache/commons/compress/harmony/pack200/Segment.java b/src/main/java/org/apache/commons/compress/harmony/pack200/Segment.java
-index 0609aa4c2..1bc73a018 100644
---- a/src/main/java/org/apache/commons/compress/harmony/pack200/Segment.java
-+++ b/src/main/java/org/apache/commons/compress/harmony/pack200/Segment.java
-@@ -32,12 +32,20 @@
- import org.objectweb.asm.FieldVisitor;
- import org.objectweb.asm.Label;
- import org.objectweb.asm.MethodVisitor;
-+import org.objectweb.asm.Opcodes;
- import org.objectweb.asm.Type;
-
-+
- /**
- * A Pack200 archive consists of one or more Segments.
- */
--public class Segment implements ClassVisitor {
-+public class Segment extends ClassVisitor {
-+
-+ public static int ASM_API = Opcodes.ASM4; /* see https://asm.ow2.io/javadoc/org/objectweb/asm/Opcodes.html#ASM4 */
-+
-+ public Segment() {
-+ super(ASM_API);
-+ }
-
- private SegmentHeader segmentHeader;
- private CpBands cpBands;
-@@ -255,8 +263,12 @@ public void visitEnd() {
- *
- * It delegates to BcBands for bytecode related visits and to ClassBands for everything else.
- */
-- public class SegmentMethodVisitor implements MethodVisitor {
--
-+ public class SegmentMethodVisitor extends MethodVisitor {
-+
-+ public SegmentMethodVisitor() {
-+ super(ASM_API);
-+ }
-+
- @Override
- public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
- return new SegmentAnnotationVisitor(MetadataBandGroup.CONTEXT_METHOD, desc, visible);
-@@ -427,7 +439,7 @@ public ClassBands getClassBands() {
- /**
- * SegmentAnnotationVisitor implements <code>AnnotationVisitor</code> to visit Annotations found in a class file.
- */
-- public class SegmentAnnotationVisitor implements AnnotationVisitor {
-+ public class SegmentAnnotationVisitor extends AnnotationVisitor {
-
- private int context = -1;
- private int parameter = -1;
-@@ -443,17 +455,20 @@ public ClassBands getClassBands() {
- private final List nestPairN = new ArrayList();
-
- public SegmentAnnotationVisitor(final int context, final String desc, final boolean visible) {
-+ super(ASM_API);
- this.context = context;
- this.desc = desc;
- this.visible = visible;
- }
-
- public SegmentAnnotationVisitor(final int context) {
-+ super(ASM_API);
- this.context = context;
- }
-
- public SegmentAnnotationVisitor(final int context, final int parameter, final String desc,
- final boolean visible) {
-+ super(ASM_API);
- this.context = context;
- this.parameter = parameter;
- this.desc = desc;
-@@ -478,7 +493,7 @@ public AnnotationVisitor visitAnnotation(String name, final String desc) {
- nameRU.add(name);
- nestTypeRS.add(desc);
- nestPairN.add(Integer.valueOf(0));
-- return new AnnotationVisitor() {
-+ return new AnnotationVisitor(context, av) {
- @Override
- public void visit(final String name, final Object value) {
- final Integer numPairs = (Integer) nestPairN.remove(nestPairN.size() - 1);
-@@ -552,7 +567,7 @@ public void visitEnum(String name, final String desc, final String value) {
- }
- }
-
-- public class ArrayVisitor implements AnnotationVisitor {
-+ public class ArrayVisitor extends AnnotationVisitor {
-
- private final int indexInCaseArrayN;
- private final List caseArrayN;
-@@ -561,6 +576,8 @@ public void visitEnum(String name, final String desc, final String value) {
- private final List T;
-
- public ArrayVisitor(final List caseArrayN, final List T, final List nameRU, final List values) {
-+ super(ASM_API);
-+
- this.caseArrayN = caseArrayN;
- this.T = T;
- this.nameRU = nameRU;
-@@ -612,7 +629,11 @@ public void visitEnum(final String name, final String desc, final String value)
- * SegmentFieldVisitor implements <code>FieldVisitor</code> to visit the metadata relating to fields in a class
- * file.
- */
-- public class SegmentFieldVisitor implements FieldVisitor {
-+ public class SegmentFieldVisitor extends FieldVisitor {
-+
-+ public SegmentFieldVisitor() {
-+ super(ASM_API);
-+ }
-
- @Override
- public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
-diff --git a/src/test/java/org/apache/commons/compress/harmony/pack200/tests/ArchiveTest.java b/src/test/java/org/apache/commons/compress/harmony/pack200/tests/ArchiveTest.java
-old mode 100644
-new mode 100755
diff --git a/dev-java/commons-compress/metadata.xml b/dev-java/commons-compress/metadata.xml
index 6021501589e0..add1db7ad802 100644
--- a/dev-java/commons-compress/metadata.xml
+++ b/dev-java/commons-compress/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">apache/commons-compress</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/commons-daemon/Manifest b/dev-java/commons-daemon/Manifest
index 97c35db071c4..2255e60c5501 100644
--- a/dev-java/commons-daemon/Manifest
+++ b/dev-java/commons-daemon/Manifest
@@ -1 +1,2 @@
-DIST commons-daemon-1.3.1-src.tar.gz 287642 BLAKE2B 02e85a5534af7f804a0374789506ee25ee8313987c68153974aa938b983745ae44d579f17deb362764d1a03b04bc552115bd69ef28b4f7d3bbb06f3bb4199814 SHA512 b810ac152f8296d980a4fb3786eff9d147b234dc2377df5fe1bded0824c694c9e82a7ef50b0a63c3e6432dfc4684a3aa2ce8d583aacb740bd4664c3dfb8b8f16
+DIST commons-daemon-1.3.4-src.tar.gz 290834 BLAKE2B be57fbf89cad23fb4108e97b8e75d8380ff5b286068edfed65cd3539971375949ec80fd5aeece50a6498642f60e26498eb37ea3778f503d7498662ae79ecd14e SHA512 bb36d88bc21a5777245012b2a73ee0e764b85715731f54cc4ff09343e95ccb18fc6c68b3ae9c680fb45a60c7ef5ed0f9e40991c2c03246dd7f8dd65031eddf24
+DIST commons-daemon-1.3.4-src.tar.gz.asc 873 BLAKE2B f7886e67e2cfb0211d3271d79c251d07e5b0d7f7819566891e838619021ab9e3f468e3647f2f901d41a6d00f12b30adfa2d16f828ac5ce526666caab30ab8001 SHA512 eae6b01844bf5c49a95a60f4b59e0b989488728edb209252779f83e33ea3eeb53900a5fdeee5d953b231b241ba14a27c77967bdd3fe5acf2d9c6da50c225c79b
diff --git a/dev-java/commons-daemon/commons-daemon-1.3.1.ebuild b/dev-java/commons-daemon/commons-daemon-1.3.1.ebuild
deleted file mode 100644
index baa152a4895a..000000000000
--- a/dev-java/commons-daemon/commons-daemon-1.3.1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# 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 mirror://apache/commons/daemon/source/commons-daemon-1.2.4-src.tar.gz --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild commons-daemon-1.2.4.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="commons-daemon:commons-daemon:1.3.1"
-# JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple toolchain-funcs
-
-DESCRIPTION="Tools to allow Java programs to run as UNIX daemons"
-HOMEPAGE="https://commons.apache.org/proper/commons-daemon/"
-SRC_URI="mirror://apache/commons/daemon/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-PATCHES=( "${FILESDIR}/commons-daemon-1.3.1-Make.patch" )
-DOCS=( {CONTRIBUTING,README}.md {HOWTO-RELEASE,NOTICE,RELEASE-NOTES}.txt )
-HTML_DOCS=( PROPOSAL.html )
-
-S="${WORKDIR}/${P}-src"
-
-JAVA_ENCODING="iso-8859-1"
-
-JAVA_SRC_DIR="src/main/java"
-
-# There is only org/apache/commons/daemon/SimpleDaemon.java
-# which is not even run upstream ( mvn test ).
-# JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-# JAVA_TEST_SRC_DIR="src/test/java"
-
-src_prepare() {
- default
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- java-pkg-simple_src_compile
-
- pushd src/native/unix || die
- ./configure
- emake AR="$(tc-getAR)"
- popd
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-
- dobin src/native/unix/jsvc
-}
diff --git a/dev-java/commons-daemon/commons-daemon-1.3.4.ebuild b/dev-java/commons-daemon/commons-daemon-1.3.4.ebuild
new file mode 100644
index 000000000000..fcc845ad0c9a
--- /dev/null
+++ b/dev-java/commons-daemon/commons-daemon-1.3.4.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-daemon:commons-daemon:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple toolchain-funcs verify-sig
+
+DESCRIPTION="Tools to allow Java programs to run as UNIX daemons"
+HOMEPAGE="https://commons.apache.org/proper/commons-daemon/"
+SRC_URI="mirror://apache/commons/daemon/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/daemon/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+RESTRICT="test" #839681
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+DEPEND=">=virtual/jdk-1.8:*
+ test? ( dev-java/junit:5[migration-support] )"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {CONTRIBUTING,README}.md {HOWTO-RELEASE,NOTICE,RELEASE-NOTES}.txt )
+HTML_DOCS=( PROPOSAL.html )
+PATCHES=( "${FILESDIR}/commons-daemon-1.3.1-Make.patch" )
+
+JAVA_ENCODING="iso-8859-1"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4 junit-5"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+
+ pushd src/native/unix || die
+ ./configure
+ emake AR="$(tc-getAR)"
+ popd
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ dobin src/native/unix/jsvc
+}
diff --git a/dev-java/commons-daemon/metadata.xml b/dev-java/commons-daemon/metadata.xml
index 4818627a6525..cfdf736c966a 100644
--- a/dev-java/commons-daemon/metadata.xml
+++ b/dev-java/commons-daemon/metadata.xml
@@ -8,4 +8,8 @@
<longdescription>
Apache Commons Daemon software is a set of utilities and Java support classes for running Java applications as server processes. These are commonly known as 'daemon' processes in Unix terminology (hence the name). On Windows they are called 'services'
</longdescription>
+ <upstream>
+ <doc>https://cwiki.apache.org/confluence/display/commons/Daemon</doc>
+ <bugs-to>https://issues.apache.org/jira/browse/DAEMON</bugs-to>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/commons-httpclient/Manifest b/dev-java/commons-httpclient/Manifest
index a8ecdcddf113..f2e83ed5113b 100644
--- a/dev-java/commons-httpclient/Manifest
+++ b/dev-java/commons-httpclient/Manifest
@@ -1 +1,2 @@
DIST commons-httpclient-3.1-src.tar.gz 1882664 BLAKE2B ccf96bedad09011ee20eae38aae1fdfdd6fea5a8226f4b4d156762080c286c71b34c149035abfd61e70c55a1de84ab3cd38d73c3228f591dd8e16c0a7e79c3a5 SHA512 e73ceeba3f34a35c30b24a3c6cb8dfc2102ff21079a5ff9270935908cb2f707d366c2f31a53fbdafa99673cc2b82e05470a2bf40d96767c72b2ab037c0f55490
+DIST commons-httpclient-3.1-src.tar.gz.asc 189 BLAKE2B 44661748db96429682a82d8dba5ad71d0d1fc2aaf03e2f1dda059985757547a78ab04dff38863ca421e65d13100a68c8cb909ed4c34e0a66a837b6fdb91baf63 SHA512 3832c90048de4db1f96efecd2f467153f0bdce1ebd533b848b8fc78a92da0bba3ba8bb3447e6c8d34f4c1c731a5b41ab941754a1509728ff4ea96e238927ab09
diff --git a/dev-java/commons-httpclient/commons-httpclient-3.1-r2.ebuild b/dev-java/commons-httpclient/commons-httpclient-3.1-r2.ebuild
deleted file mode 100644
index 6e82213d770d..000000000000
--- a/dev-java/commons-httpclient/commons-httpclient-3.1-r2.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc examples source test"
-MAVEN_ID="commons-httpclient:commons-httpclient:3.1"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="The Jakarta Commons HttpClient library"
-HOMEPAGE="https://hc.apache.org/httpclient-legacy/"
-SRC_URI="mirror://apache/httpcomponents/${PN}/source/${P}-src.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="3"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-# doesn't work with IBM JDK, bug #176133
-RESTRICT="test"
-
-CDEPEND="dev-java/commons-logging:0
- dev-java/commons-codec:0"
-RDEPEND=">=virtual/jre-1.8:*
- ${CDEPEND}"
-DEPEND=">=virtual/jdk-1.8:*
- test? ( dev-java/ant-junit:0 )
- ${CDEPEND}"
-
-JAVA_ANT_ENCODING="ISO-8859-1"
-JAVA_ANT_REWRITE_CLASSPATH="true"
-EANT_GENTOO_CLASSPATH="commons-logging,commons-codec"
-EANT_BUILD_TARGET="dist"
-EANT_DOC_TARGET="doc"
-
-# patch against CVE-2012-{5783,6153}. See bug 442292.
-PATCHES=(
- "${FILESDIR}/${P}-SSLProtocolSocketFactory.java.patch"
-)
-
-src_prepare() {
- default
-
- # generated docs go into docs/api
- rm -rf docs/apidocs
-
- # remove javadoc task from compile task
- sed -i -e 's/depends="compile,doc"/depends="compile"/' build.xml || die
- sed -i -e '/link/ d' build.xml || die
-
- mkdir lib && cd lib
- java-pkg_filter-compiler jikes
-}
-
-EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},junit"
-EANT_TEST_TARGET="test"
-
-src_install() {
- java-pkg_dojar dist/${PN}.jar
-
- # contains both html docs and javadoc in correct subdir
- if use doc ; then
- java-pkg_dojavadoc dist/docs/api
- java-pkg_dohtml -r dist/docs/*
- fi
- use source && java-pkg_dosrc src/java/*
- use examples && java-pkg_doexamples src/examples
-}
diff --git a/dev-java/commons-httpclient/commons-httpclient-3.1-r3.ebuild b/dev-java/commons-httpclient/commons-httpclient-3.1-r3.ebuild
new file mode 100644
index 000000000000..c0053b42b61e
--- /dev/null
+++ b/dev-java/commons-httpclient/commons-httpclient-3.1-r3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-httpclient:commons-httpclient:3.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="The Jakarta Commons HttpClient library"
+HOMEPAGE="https://hc.apache.org/httpclient-legacy/"
+SRC_URI="mirror://apache/httpcomponents/${PN}/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/httpcomponents/commons-httpclient/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="3"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
+
+# Tests run: 2036, Failures: 91
+RESTRICT="test"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/httpclient.commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons-httpclient )"
+DEPEND="
+ dev-java/commons-logging:0
+ dev-java/commons-codec:0
+ >=virtual/jdk-1.8:*
+ test? ( >=dev-java/ant-1.10.14:0[junit] )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( NOTICE README RELEASE_NOTES )
+
+JAVA_ENCODING="ISO-8859-1"
+JAVA_CLASSPATH_EXTRA="
+ commons-logging
+ commons-codec
+"
+JAVA_SRC_DIR="src/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ rm -r docs/apidocs || die "clean apidocs"
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ use doc && docinto html dodoc -r docs
+}
diff --git a/dev-java/commons-httpclient/files/commons-httpclient-3.1-SSLProtocolSocketFactory.java.patch b/dev-java/commons-httpclient/files/commons-httpclient-3.1-SSLProtocolSocketFactory.java.patch
deleted file mode 100644
index c059bf496a45..000000000000
--- a/dev-java/commons-httpclient/files/commons-httpclient-3.1-SSLProtocolSocketFactory.java.patch
+++ /dev/null
@@ -1,369 +0,0 @@
---- ./src/java/org/apache/commons/httpclient/protocol/SSLProtocolSocketFactory.java
-+++ ./src/java/org/apache/commons/httpclient/protocol/SSLProtocolSocketFactory.java
-@@ -31,10 +31,25 @@
- package org.apache.commons.httpclient.protocol;
-
- import java.io.IOException;
-+import java.io.InputStream;
- import java.net.InetAddress;
- import java.net.Socket;
- import java.net.UnknownHostException;
--
-+import java.security.cert.Certificate;
-+import java.security.cert.CertificateParsingException;
-+import java.security.cert.X509Certificate;
-+import java.util.Arrays;
-+import java.util.Collection;
-+import java.util.Iterator;
-+import java.util.LinkedList;
-+import java.util.List;
-+import java.util.Locale;
-+import java.util.StringTokenizer;
-+import java.util.regex.Pattern;
-+
-+import javax.net.ssl.SSLException;
-+import javax.net.ssl.SSLSession;
-+import javax.net.ssl.SSLSocket;
- import javax.net.ssl.SSLSocketFactory;
-
- import org.apache.commons.httpclient.ConnectTimeoutException;
-@@ -55,6 +70,11 @@
- */
- private static final SSLProtocolSocketFactory factory = new SSLProtocolSocketFactory();
-
-+ // This is a a sorted list, if you insert new elements do it orderdered.
-+ private final static String[] BAD_COUNTRY_2LDS =
-+ {"ac", "co", "com", "ed", "edu", "go", "gouv", "gov", "info",
-+ "lg", "ne", "net", "or", "org"};
-+
- /**
- * Gets an singleton instance of the SSLProtocolSocketFactory.
- * @return a SSLProtocolSocketFactory
-@@ -79,12 +99,14 @@
- InetAddress clientHost,
- int clientPort)
- throws IOException, UnknownHostException {
-- return SSLSocketFactory.getDefault().createSocket(
-+ Socket sslSocket = SSLSocketFactory.getDefault().createSocket(
- host,
- port,
- clientHost,
- clientPort
- );
-+ verifyHostName(host, (SSLSocket) sslSocket);
-+ return sslSocket;
- }
-
- /**
-@@ -124,16 +146,19 @@
- }
- int timeout = params.getConnectionTimeout();
- if (timeout == 0) {
-- return createSocket(host, port, localAddress, localPort);
-+ Socket sslSocket = createSocket(host, port, localAddress, localPort);
-+ verifyHostName(host, (SSLSocket) sslSocket);
-+ return sslSocket;
- } else {
- // To be eventually deprecated when migrated to Java 1.4 or above
-- Socket socket = ReflectionSocketFactory.createSocket(
-+ Socket sslSocket = ReflectionSocketFactory.createSocket(
- "javax.net.ssl.SSLSocketFactory", host, port, localAddress, localPort, timeout);
-- if (socket == null) {
-- socket = ControllerThreadSocketFactory.createSocket(
-+ if (sslSocket == null) {
-+ sslSocket = ControllerThreadSocketFactory.createSocket(
- this, host, port, localAddress, localPort, timeout);
- }
-- return socket;
-+ verifyHostName(host, (SSLSocket) sslSocket);
-+ return sslSocket;
- }
- }
-
-@@ -142,10 +167,12 @@
- */
- public Socket createSocket(String host, int port)
- throws IOException, UnknownHostException {
-- return SSLSocketFactory.getDefault().createSocket(
-+ Socket sslSocket = SSLSocketFactory.getDefault().createSocket(
- host,
- port
- );
-+ verifyHostName(host, (SSLSocket) sslSocket);
-+ return sslSocket;
- }
-
- /**
-@@ -157,13 +184,271 @@
- int port,
- boolean autoClose)
- throws IOException, UnknownHostException {
-- return ((SSLSocketFactory) SSLSocketFactory.getDefault()).createSocket(
-+ Socket sslSocket = ((SSLSocketFactory) SSLSocketFactory.getDefault()).createSocket(
- socket,
- host,
- port,
- autoClose
- );
-+ verifyHostName(host, (SSLSocket) sslSocket);
-+ return sslSocket;
-+ }
-+
-+
-+
-+
-+ /**
-+ * Verifies that the given hostname in certicifate is the hostname we are trying to connect to
-+ * http://www.cvedetails.com/cve/CVE-2012-5783/
-+ * @param host
-+ * @param ssl
-+ * @throws IOException
-+ */
-+
-+ private static void verifyHostName(String host, SSLSocket ssl)
-+ throws IOException {
-+ if (host == null) {
-+ throw new IllegalArgumentException("host to verify was null");
-+ }
-+
-+ SSLSession session = ssl.getSession();
-+ if (session == null) {
-+ // In our experience this only happens under IBM 1.4.x when
-+ // spurious (unrelated) certificates show up in the server's chain.
-+ // Hopefully this will unearth the real problem:
-+ InputStream in = ssl.getInputStream();
-+ in.available();
-+ /*
-+ If you're looking at the 2 lines of code above because you're
-+ running into a problem, you probably have two options:
-+
-+ #1. Clean up the certificate chain that your server
-+ is presenting (e.g. edit "/etc/apache2/server.crt" or
-+ wherever it is your server's certificate chain is
-+ defined).
-+
-+ OR
-+
-+ #2. Upgrade to an IBM 1.5.x or greater JVM, or switch to a
-+ non-IBM JVM.
-+ */
-+
-+ // If ssl.getInputStream().available() didn't cause an exception,
-+ // maybe at least now the session is available?
-+ session = ssl.getSession();
-+ if (session == null) {
-+ // If it's still null, probably a startHandshake() will
-+ // unearth the real problem.
-+ ssl.startHandshake();
-+
-+ // Okay, if we still haven't managed to cause an exception,
-+ // might as well go for the NPE. Or maybe we're okay now?
-+ session = ssl.getSession();
-+ }
-+ }
-+
-+ Certificate[] certs = session.getPeerCertificates();
-+ verifyHostName(host.trim().toLowerCase(Locale.US), (X509Certificate) certs[0]);
-+ }
-+ /**
-+ * Extract the names from the certificate and tests host matches one of them
-+ * @param host
-+ * @param cert
-+ * @throws SSLException
-+ */
-+
-+ private static void verifyHostName(final String host, X509Certificate cert)
-+ throws SSLException {
-+ // I'm okay with being case-insensitive when comparing the host we used
-+ // to establish the socket to the hostname in the certificate.
-+ // Don't trim the CN, though.
-+
-+ String cn = getCN(cert);
-+ String[] subjectAlts = getDNSSubjectAlts(cert);
-+ verifyHostName(host, cn.toLowerCase(Locale.US), subjectAlts);
-+
-+ }
-+
-+ /**
-+ * Extract all alternative names from a certificate.
-+ * @param cert
-+ * @return
-+ */
-+ private static String[] getDNSSubjectAlts(X509Certificate cert) {
-+ LinkedList subjectAltList = new LinkedList();
-+ Collection c = null;
-+ try {
-+ c = cert.getSubjectAlternativeNames();
-+ } catch (CertificateParsingException cpe) {
-+ // Should probably log.debug() this?
-+ cpe.printStackTrace();
-+ }
-+ if (c != null) {
-+ Iterator it = c.iterator();
-+ while (it.hasNext()) {
-+ List list = (List) it.next();
-+ int type = ((Integer) list.get(0)).intValue();
-+ // If type is 2, then we've got a dNSName
-+ if (type == 2) {
-+ String s = (String) list.get(1);
-+ subjectAltList.add(s);
-+ }
-+ }
-+ }
-+ if (!subjectAltList.isEmpty()) {
-+ String[] subjectAlts = new String[subjectAltList.size()];
-+ subjectAltList.toArray(subjectAlts);
-+ return subjectAlts;
-+ } else {
-+ return new String[0];
-+ }
-+
-+ }
-+ /**
-+ * Verifies
-+ * @param host
-+ * @param cn
-+ * @param subjectAlts
-+ * @throws SSLException
-+ */
-+
-+ private static void verifyHostName(final String host, String cn, String[] subjectAlts)throws SSLException{
-+ StringBuffer cnTested = new StringBuffer();
-+
-+ for (int i = 0; i < subjectAlts.length; i++){
-+ String name = subjectAlts[i];
-+ if (name != null) {
-+ name = name.toLowerCase();
-+ if (verifyHostName(host, name)){
-+ return;
-+ }
-+ cnTested.append("/").append(name);
-+ }
-+ }
-+ if (cn != null && verifyHostName(host, cn)){
-+ return;
-+ }
-+ cnTested.append("/").append(cn);
-+ throw new SSLException("hostname in certificate didn't match: <"
-+ + host + "> != <" + cnTested + ">");
-+
-+ }
-+
-+ private static boolean verifyHostName(final String host, final String cn){
-+ if (doWildCard(cn) && !isIPAddress(host)) {
-+ return matchesWildCard(cn, host);
-+ }
-+ return host.equalsIgnoreCase(cn);
-+ }
-+ private static boolean doWildCard(String cn) {
-+ // Contains a wildcard
-+ // wildcard in the first block
-+ // not an ipaddress (ip addres must explicitily be equal)
-+ // not using 2nd level common tld : ex: not for *.co.uk
-+ String parts[] = cn.split("\\.");
-+ return parts.length >= 3 &&
-+ parts[0].endsWith("*") &&
-+ acceptableCountryWildcard(cn) &&
-+ !isIPAddress(cn);
- }
-+
-+
-+ private static final Pattern IPV4_PATTERN =
-+ Pattern.compile("^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$");
-+
-+ private static final Pattern IPV6_STD_PATTERN =
-+ Pattern.compile("^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$");
-+
-+ private static final Pattern IPV6_HEX_COMPRESSED_PATTERN =
-+ Pattern.compile("^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)$");
-+
-+
-+ private static boolean isIPAddress(final String hostname) {
-+ return hostname != null
-+ && (
-+ IPV4_PATTERN.matcher(hostname).matches()
-+ || IPV6_STD_PATTERN.matcher(hostname).matches()
-+ || IPV6_HEX_COMPRESSED_PATTERN.matcher(hostname).matches()
-+ );
-+
-+ }
-+
-+ private static boolean acceptableCountryWildcard(final String cn) {
-+ // The CN better have at least two dots if it wants wildcard action,
-+ // but can't be [*.co.uk] or [*.co.jp] or [*.org.uk], etc...
-+ // The [*.co.uk] problem is an interesting one. Should we just
-+ // hope that CA's would never foolishly allow such a
-+ // certificate to happen?
-+
-+ String[] parts = cn.split("\\.");
-+ // Only checks for 3 levels, with country code of 2 letters.
-+ if (parts.length > 3 || parts[parts.length - 1].length() != 2) {
-+ return true;
-+ }
-+ String countryCode = parts[parts.length - 2];
-+ return Arrays.binarySearch(BAD_COUNTRY_2LDS, countryCode) < 0;
-+ }
-+
-+ private static boolean matchesWildCard(final String cn,
-+ final String hostName) {
-+ String parts[] = cn.split("\\.");
-+ boolean match = false;
-+ String firstpart = parts[0];
-+ if (firstpart.length() > 1) {
-+ // server∗
-+ // e.g. server
-+ String prefix = firstpart.substring(0, firstpart.length() - 1);
-+ // skipwildcard part from cn
-+ String suffix = cn.substring(firstpart.length());
-+ // skip wildcard part from host
-+ String hostSuffix = hostName.substring(prefix.length());
-+ match = hostName.startsWith(prefix) && hostSuffix.endsWith(suffix);
-+ } else {
-+ match = hostName.endsWith(cn.substring(1));
-+ }
-+ if (match) {
-+ // I f we're in strict mode ,
-+ // [ ∗.foo.com] is not allowed to match [a.b.foo.com]
-+ match = countDots(hostName) == countDots(cn);
-+ }
-+ return match;
-+ }
-+
-+ private static int countDots(final String data) {
-+ int dots = 0;
-+ for (int i = 0; i < data.length(); i++) {
-+ if (data.charAt(i) == '.') {
-+ dots += 1;
-+ }
-+ }
-+ return dots;
-+ }
-+
-+ private static String getCN(X509Certificate cert) {
-+ // Note: toString() seems to do a better job than getName()
-+ //
-+ // For example, getName() gives me this:
-+ // 1.2.840.113549.1.9.1=#16166a756c6975736461766965734063756362632e636f6d
-+ //
-+ // whereas toString() gives me this:
-+ // EMAILADDRESS=juliusdavies@cucbc.com
-+ String subjectPrincipal = cert.getSubjectX500Principal().toString();
-+
-+ return getCN(subjectPrincipal);
-+
-+ }
-+ private static String getCN(String subjectPrincipal) {
-+ StringTokenizer st = new StringTokenizer(subjectPrincipal, ",");
-+ while(st.hasMoreTokens()) {
-+ String tok = st.nextToken().trim();
-+ if (tok.length() > 3) {
-+ if (tok.substring(0, 3).equalsIgnoreCase("CN=")) {
-+ return tok.substring(3);
-+ }
-+ }
-+ }
-+ return null;
-+ }
-
- /**
- * All instances of SSLProtocolSocketFactory are the same.
diff --git a/dev-java/commons-imaging/Manifest b/dev-java/commons-imaging/Manifest
index 5472b1ce60c6..f9c3e790ff64 100644
--- a/dev-java/commons-imaging/Manifest
+++ b/dev-java/commons-imaging/Manifest
@@ -1 +1,3 @@
DIST commons-imaging-1.0-alpha3-src.tar.gz 39966281 BLAKE2B f0fbb6d7ae0c12be19fe13d3ff4e1cced5acfe7ea72326528c67b57fade73c0acee3eb8eaa62b3d40c473c0c2faf7f60ec190bc0954c5159405358bfac4efd42 SHA512 16300adb5873fef464bedfdce7e1368f52add8d33087f059667840880b8666024feeecdb278a53d5c3d8e76d01ab921ea146d41ca688757f0cf0c2f2b32b0d53
+DIST commons-imaging-1.0-alpha3-src.tar.gz.asc 833 BLAKE2B b28631badf344fa476a99db78e26a9453d033d21dba8484b2621a4cb0295ea262f58d2df4f8afd6d8090ecd0ea98ec2dca0168e2b401d662c335ad1ef9518b98 SHA512 b7e6691d5eac6f81657dc42aa69184da7fd1bf364da391ac4e1a27991d9a8bbba23296d58b874b4c69a20d39c3c1e821ca19c312f3e71b3acd8903156a2a0a1d
+DIST apache-sanselan-incubating-0.97-src.tar.gz 33317875 BLAKE2B c9db6c30accc308d2c5d5977b84da118ab50b010b3728665a75dab13f9fecb70075e2d2208a62fabc57af7396f7c39b1ec498e0840e5a2c9c8de9b95d2dd597a SHA512 b7e8af01f4b4ca812313bbf573758d9c0e1355266bfb83898336b14c4b492a8979f2a593f00d53c076e83cf807a049df624491a26623cfbceb00560b748f05f2
diff --git a/dev-java/commons-imaging/commons-imaging-0.97.ebuild b/dev-java/commons-imaging/commons-imaging-0.97.ebuild
new file mode 100644
index 000000000000..6017ef9c71e8
--- /dev/null
+++ b/dev-java/commons-imaging/commons-imaging-0.97.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A minimalistic realtime charting library for Java"
+HOMEPAGE="https://commons.apache.org/proper/commons-imaging/"
+SRC_URI="https://archive.apache.org/dist/commons/sanselan/source/apache-sanselan-incubating-${PV}-src.tar.gz"
+S="${WORKDIR}/sanselan-${PV}-incubator"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test" # 5/48 failures, dunno why :(
+
+DEPEND=">=virtual/jdk-1.8:*
+ test? ( dev-java/junit:4 )"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_ENCODING="ISO-8859-1"
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # Tsk, Windows developers…
+ find src/test/java -name "*.java" -exec sed -i 's:\\:/:g' {} + || die
+}
+
+src_test() {
+ local DIR="src/test/java"
+ local CP="${DIR}:${PN}.jar:$(java-pkg_getjars junit-4)"
+
+ local TESTS=$(find "${DIR}" -name "*Test.java" \
+ ! -name "*BaseTest.java" ! -name SanselanTest.java ! -name ByteSourceTest.java)
+ TESTS="${TESTS//src\/test\/java\/}"
+ TESTS="${TESTS//.java}"
+ TESTS="${TESTS//\//.}"
+
+ ejavac -cp "${CP}" -d "${DIR}" $(find "${DIR}" -name "*.java")
+ ejunit4 -classpath "${CP}" ${TESTS}
+}
diff --git a/dev-java/commons-imaging/commons-imaging-1.0_alpha3-r2.ebuild b/dev-java/commons-imaging/commons-imaging-1.0_alpha3-r2.ebuild
new file mode 100644
index 000000000000..73382ff1998c
--- /dev/null
+++ b/dev-java/commons-imaging/commons-imaging-1.0_alpha3-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.apache.commons:commons-imaging:${PV/_/-}"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Apache Commons Imaging (previously Sanselan) is a pure-Java image library."
+HOMEPAGE="https://commons.apache.org/proper/commons-imaging/"
+SRC_URI="mirror://apache/commons/imaging/source/${P/_/-}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/imaging/source/${P/_/-}-src.tar.gz.asc )"
+S="${WORKDIR}/${P/_/-}-src"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~amd64 ~x86"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {NOTICE,RELEASE-NOTES}.txt README.md )
+PATCHES=( "${FILESDIR}/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch" )
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.imaging"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
diff --git a/dev-java/commons-imaging/commons-imaging-1.0_alpha3.ebuild b/dev-java/commons-imaging/commons-imaging-1.0_alpha3.ebuild
deleted file mode 100644
index 338fc76ea1a4..000000000000
--- a/dev-java/commons-imaging/commons-imaging-1.0_alpha3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# 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 mirror://apache/commons/imaging/source/commons-imaging-1.0-alpha3-src.tar.gz --slot 0 --keywords "~amd64 ~x86" --ebuild commons-imaging-1.0_alpha3.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.apache.commons:commons-imaging:1.0-alpha2"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Apache Commons Imaging (previously Sanselan) is a pure-Java image library."
-HOMEPAGE="https://commons.apache.org/proper/commons-imaging/"
-SRC_URI="mirror://apache/commons/imaging/source/commons-imaging-${PV/_/-}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Compile dependencies
-# POM: pom.xml
-# test? commons-io:commons-io:2.7 -> >=dev-java/commons-io-2.11.0:1
-# test? org.hamcrest:hamcrest:2.2 -> !!!artifactId-not-found!!!
-# test? org.junit.jupiter:junit-jupiter:5.6.2 -> !!!groupId-not-found!!!
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( {LICENSE,NOTICE,RELEASE-NOTES}.txt README.md )
-
-S="${WORKDIR}/${P/_/-}-src"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.imaging"
diff --git a/dev-java/commons-imaging/files/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch b/dev-java/commons-imaging/files/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch
new file mode 100644
index 000000000000..03f8074b8f3a
--- /dev/null
+++ b/dev-java/commons-imaging/files/commons-imaging-1.0_alpha3-PngChunk.javadoc.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/861767
+--- a/src/main/java/org/apache/commons/imaging/formats/png/chunks/PngChunk.java
++++ b/src/main/java/org/apache/commons/imaging/formats/png/chunks/PngChunk.java
+@@ -24,7 +24,7 @@ import org.apache.commons.imaging.common.BinaryFileParser;
+ * A PNG image is composed of several chunks. This is the base class for the chunks,
+ * used by the parser.
+ *
+- * @see <a href="https://en.wikipedia.org/wiki/Portable_Network_Graphics#%22Chunks%22_within_the_file>Portable_Network_Graphics</a>
++ * @see <a href="https://en.wikipedia.org/wiki/Portable_Network_Graphics#%22Chunks%22_within_the_file">Portable_Network_Graphics</a>
+ */
+ public class PngChunk extends BinaryFileParser {
+ public final int length;
diff --git a/dev-java/commons-io/Manifest b/dev-java/commons-io/Manifest
index 322cd4d655c9..10661d3ab0c6 100644
--- a/dev-java/commons-io/Manifest
+++ b/dev-java/commons-io/Manifest
@@ -1 +1,2 @@
-DIST commons-io-2.11.0-sources.tar.gz 498841 BLAKE2B e45ae4400246d7469e8628f08d2f647ea670b994360c1150fe1f414beee5177e7af7c94589a5c81ce6996f2fb755441f29080ca9b69b98cb5ae1ad897f8f00b5 SHA512 e2ab8ebc9c328093a460f8f5f96c80bb45f5073ec7aaa0beabdcdeac2e97324292eab2e2cb8b64d8e78b2c5d89048ba84e50daa0965dffcbe2fd0da7ab789ee3
+DIST commons-io-2.15.1-src.tar.gz 618534 BLAKE2B 6fc539f28ce610e9947bf529154c79f6924d74872d6f03561d477feba6013e48d74cb5097c851173b690b27052d59c38a9ca4048c1ed54736d29d962746182d6 SHA512 809c7aa66354f2e35fd23f295c4e2f325596ee7f842b7f63f6acc3bd9377c17d4dd276ce62c477fff8d51d0d660e9addbc068270a876097cbecfe3e64f57f385
+DIST commons-io-2.15.1-src.tar.gz.asc 488 BLAKE2B 5fb3128a63d2fbc74cd96bf00919cca0fbf7b0a2cbd48287c8495c0fdb78c9df53dcc06a443b626b52ff3f9c32c55425ba619a4f61de542f3dd912916f3b2469 SHA512 1d358d3acd88816fb4d95746d8e4bd4351062cf35caad8c6f4d2da42c7974a4a583db4f7d98d8768ca7fcb4900172b869c6d6f714b8df71bb214634f83c7a55a
diff --git a/dev-java/commons-io/commons-io-2.11.0-r1.ebuild b/dev-java/commons-io/commons-io-2.11.0-r1.ebuild
deleted file mode 100644
index 222c0ad697b9..000000000000
--- a/dev-java/commons-io/commons-io-2.11.0-r1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# 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://mirror.dkm.cz/apache//commons/io/source/commons-io-2.11.0-src.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" --ebuild commons-io-2.11.0.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="commons-io:commons-io:2.11.0"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Utility classes, stream implementations, file filters, and much more"
-HOMEPAGE="https://commons.apache.org/proper/commons-io/"
-SRC_URI="mirror://apache/commons/io/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="1"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-
-# Compile dependencies
-# POM: pom.xml
-# test? com.google.jimfs:jimfs:1.2 -> !!!groupId-not-found!!!
-# test? org.apache.commons:commons-lang3:3.12.0 -> >=dev-java/commons-lang-3.12.0:3.6
-# test? org.junit-pioneer:junit-pioneer:1.4.2 -> !!!groupId-not-found!!!
-# test? org.junit.jupiter:junit-jupiter:5.7.2 -> !!!groupId-not-found!!!
-# test? org.mockito:mockito-inline:3.11.2 -> !!!artifactId-not-found!!!
-# test? org.openjdk.jmh:jmh-core:1.32 -> !!!groupId-not-found!!!
-# test? org.openjdk.jmh:jmh-generator-annprocess:1.32 -> !!!groupId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- >=dev-java/commons-lang-3.12.0:3.6
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-# some test dependencies are missing
-RESTRICT="test"
-
-S="${WORKDIR}/${P}-src"
-
-JAVA_ENCODING="iso-8859-1"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="commons-lang-3.6"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.io"
diff --git a/dev-java/commons-io/commons-io-2.15.1.ebuild b/dev-java/commons-io/commons-io-2.15.1.ebuild
new file mode 100644
index 000000000000..99a17eafd8b9
--- /dev/null
+++ b/dev-java/commons-io/commons-io-2.15.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# No tests, #839681
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="commons-io:commons-io:${PV}"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Utility classes, stream implementations, file filters, and much more"
+HOMEPAGE="https://commons.apache.org/proper/commons-io/"
+SRC_URI="mirror://apache/commons/io/source/${P}-src.tar.gz
+ verify-sig? ( https://archive.apache.org/dist/commons/io/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+RESTRICT="test" #839681
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.io"
+JAVA_ENCODING="iso-8859-1"
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/commons-io/metadata.xml b/dev-java/commons-io/metadata.xml
index 6021501589e0..571ffcd30f0e 100644
--- a/dev-java/commons-io/metadata.xml
+++ b/dev-java/commons-io/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">apache/commons-io</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/commons-junit4/Manifest b/dev-java/commons-junit4/Manifest
new file mode 100644
index 000000000000..081aa48e41a9
--- /dev/null
+++ b/dev-java/commons-junit4/Manifest
@@ -0,0 +1 @@
+DIST unkrig-commons1.2.17.tar.gz 2187066 BLAKE2B 29addd6ba41edf475ff878c15a40ee328682fc7d458fae4f745e20cd00afbaa99a8f202e0d285a81a45e47177944d8dcce2e30d6f3c74d2374b46f34c5813dff SHA512 dd8652bcffd62aa847e7c36358de8eecca66f731f06da504cbdcb29f55608e384db2e0d9a7847773423d82d7ae9f3bf75e07142c95ae0ec758f15e5a3020db99
diff --git a/dev-java/commons-junit4/commons-junit4-1.2.17.ebuild b/dev-java/commons-junit4/commons-junit4-1.2.17.ebuild
new file mode 100644
index 000000000000..d12acbb23c14
--- /dev/null
+++ b/dev-java/commons-junit4/commons-junit4-1.2.17.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="de.unkrig.commons:commons-junit4:1.2.17"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Assertions etc. for those who write tests with JUNIT 4"
+HOMEPAGE="https://unkrig.de/w/Commons.unkrig.de"
+SRC_URI="https://github.com/aunkrig/commons/archive/V${PV}.tar.gz -> unkrig-commons${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ ~dev-java/commons-nullanalysis-${PV}:0
+ dev-java/junit:4
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+S="${WORKDIR}/commons-${PV}/commons-junit4"
+
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/commons-junit4/metadata.xml b/dev-java/commons-junit4/metadata.xml
new file mode 100644
index 000000000000..4fc465e4c3e9
--- /dev/null
+++ b/dev-java/commons-junit4/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">aunkrig/commons</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/commons-lang/Manifest b/dev-java/commons-lang/Manifest
index c614da984589..32bc9f65cb7e 100644
--- a/dev-java/commons-lang/Manifest
+++ b/dev-java/commons-lang/Manifest
@@ -1,2 +1,2 @@
-DIST commons-lang-2.6-src.tar.gz 564032 BLAKE2B 9d72b0426f2146eaa8498a6601edf80dbf45a16ef5ee14cf4ed87130e6d3732d5c713f25f44c10435baa1357f61a271acb88483915968aaf645d1ceaa318c601 SHA512 4a30ed153f93fe6616a28974721bdf005d064203ef8a3dd375d6c1176647c0cdbd29cfde2a580e2c8d26bfa4655be6be7025b8ccae94086dcd816676c5cf8e87
-DIST commons-lang-3.12.0-sources.tar.gz 1072858 BLAKE2B d6b7ee9ef165e60f61d8d0dfaaf38919877f2edc6742cd58b2b70d379e807e75d9dc24e19f23db1b174d1797d6ef0af7700d686dd835d7a40bf2b2a91346e215 SHA512 80d1b960ae0b02859be329ea60d68cef33f3c7be7ec19752b3c9cfef442adef480878317ce2cfa309a27e662e2c72cab22023eaa3702e27970a1e5d55ca43f57
+DIST commons-lang-3.14.0-src.tar.gz 1153353 BLAKE2B 78d116864e488baf5c0c241b2304244f207c7b56b2f72006648de217d407d7c577a43ed89d78b0c868a2842eb1985c842e214078cc8e55bc5d93fac5553fa2ed SHA512 1ee4176c3588c11594a79f416a1f34b063cddb10c2124a37640fee48e5d8135091573002b6bf1eda5a60a324c1125665dadc93f9bfda32c9270c35113b6e1bea
+DIST commons-lang-3.14.0-src.tar.gz.asc 488 BLAKE2B 3ef9b7529a1681e2687f533bf8d45a8394f6633e0a56e8e17ae63b2f8631f94c854b35e50b0f780908ffdcd0f8a8d99d8132aaa1ade5e932ee1ff56181b1ce77 SHA512 025673c12587970de5ebb62aad0d2d34cdbd57c575ebb6c83359b975b3d1ec50ff3caa544395ad04aecd59df454a12a769025635aa55d860195e39086ddcf47e
diff --git a/dev-java/commons-lang/commons-lang-2.6-r2.ebuild b/dev-java/commons-lang/commons-lang-2.6-r2.ebuild
deleted file mode 100644
index cdb5a083002e..000000000000
--- a/dev-java/commons-lang/commons-lang-2.6-r2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="commons-lang:commons-lang:2.6"
-JAVA_PKG_WANT_SOURCE="1.4"
-JAVA_PKG_WANT_TARGET="1.4"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Commons components to manipulate core java classes"
-HOMEPAGE="https://commons.apache.org/proper/commons-lang/"
-SRC_URI="mirror://apache/commons/lang/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2.1"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
-
-DEPEND="virtual/jdk:1.8
- test? (
- dev-java/ant-junit:0
- )"
-
-RDEPEND="virtual/jre:1.8"
-
-S="${WORKDIR}/${P}-src"
-
-JAVA_ANT_ENCODING="ISO-8859-1"
-
-src_install() {
- java-pkg_newjar "target/${P}.jar" "${PN}.jar"
- dodoc RELEASE-NOTES.txt NOTICE.txt
- docinto html
- dodoc *.html
- use doc && java-pkg_dojavadoc target/apidocs
- use source && java-pkg_dosrc src/main/java/*
-}
diff --git a/dev-java/commons-lang/commons-lang-3.12.0.ebuild b/dev-java/commons-lang/commons-lang-3.12.0.ebuild
deleted file mode 100644
index 4979efe4b1eb..000000000000
--- a/dev-java/commons-lang/commons-lang-3.12.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 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://mirror.checkdomain.de/apache//commons/lang/source/commons-lang3-3.12.0-src.tar.gz --slot 3.6 --keywords "~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" --ebuild commons-lang-3.12.0.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.apache.commons:commons-lang3:3.12.0"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Commons components to manipulate core java classes"
-HOMEPAGE="https://commons.apache.org/proper/commons-lang/"
-SRC_URI="mirror://apache/commons/lang/source/${PN}3-${PV}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="3.6"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
-
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${PN}3-${PV}-src"
-
-JAVA_ENCODING="ISO-8859-1"
-
-JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/commons-lang/commons-lang-3.14.0.ebuild b/dev-java/commons-lang/commons-lang-3.14.0.ebuild
new file mode 100644
index 000000000000..556c3414c385
--- /dev/null
+++ b/dev-java/commons-lang/commons-lang-3.14.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# No tests because of missing eclass support of junit-jupiter, #902723
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.apache.commons:commons-lang3:${PV}"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Commons components to manipulate core java classes"
+HOMEPAGE="https://commons.apache.org/proper/commons-lang/"
+SRC_URI="https://archive.apache.org/dist/commons/lang/source/${PN}3-${PV}-src.tar.gz -> ${P}-src.tar.gz
+ verify-sig? ( https://archive.apache.org/dist/commons/lang/source/${PN}3-${PV}-src.tar.gz.asc -> ${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${PN}3-${PV}-src"
+
+LICENSE="Apache-2.0"
+SLOT="3.6"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.lang3"
+JAVA_ENCODING="ISO-8859-1"
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/commons-lang/metadata.xml b/dev-java/commons-lang/metadata.xml
index 6021501589e0..597bf973bf66 100644
--- a/dev-java/commons-lang/metadata.xml
+++ b/dev-java/commons-lang/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">apache/commons-lang</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/commons-logging/Manifest b/dev-java/commons-logging/Manifest
index 7831dfb07830..9f2bae1c3096 100644
--- a/dev-java/commons-logging/Manifest
+++ b/dev-java/commons-logging/Manifest
@@ -1 +1,3 @@
-DIST commons-logging-1.2-src.tar.gz 188536 BLAKE2B 80613b78619f7b3429f60df4fb9b66dd4836e8b89fcf93a3a1bcd5cb7e410d474be010da16b325143e028a40ff4dd971753962c9d9145f85b1738f5dda13ba99 SHA512 9f3761184950f2f13e85d8bc447709ab8be631dfd231b4f053f8147468db1bf71fb116ddba95e39f4afc4cf28c742e07d40c7a637f28004a60dc13935f9609f9
+DIST commons-logging-1.3.0_pre20230319.tar.gz 184984 BLAKE2B 01b46bdb657dfaf3ffb55b3440b416d61a419a3358e4d240cc7e25794f38e0061e14ee77e5578aedf1b50006d6ec65016c9e837bd13c4dab9a2182604fe85c72 SHA512 b586be5dd891572aa55c3066c3fb7d57ba5f31c0bfaa768b80cd8c1c5c659a8c718b4cb42e6c65332b52f073462432c0f81e4aaf1535afb781da9a7884cdc07e
+DIST commons-logging-1.3.1-src.tar.gz 189156 BLAKE2B 23308b2bff6ea67620b0f07f49a63ffdbd07833fc0d9a6654386f4c17c9125abef5ad2afb6d8c798dcb98bc3e99bd8d94d35b9deec569c3aec1dde20f69e1a1d SHA512 ffda970d086601df4b476caf8bd01d1bdc22dd7f8846a22287036f7f000ce6cf0a757d16621910f041f8d90aa6066819454b3977dd005ca66817bec59e91e91f
+DIST commons-logging-1.3.1-src.tar.gz.asc 488 BLAKE2B 3225a62f6269224f1b52907631be03d97cde65d1c7a76c06b6a23b9e30b1cee08b048eb4fdaa41b0a6b5bcf090b54c9dc54307fb1629b039b786fd426572a4d1 SHA512 6f13f85a5aeab1099ebfca38a6173384050b1f1c2e7eac93d978587c92751ddd24d583e39bc5a949f0caec66ca141d265147e63e9e2afea2094bda4667936a86
diff --git a/dev-java/commons-logging/commons-logging-1.2-r5.ebuild b/dev-java/commons-logging/commons-logging-1.2-r5.ebuild
deleted file mode 100644
index b3a0f8533760..000000000000
--- a/dev-java/commons-logging/commons-logging-1.2-r5.ebuild
+++ /dev/null
@@ -1,122 +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"
-MAVEN_ID="commons-logging:commons-logging:1.2"
-
-inherit java-pkg-2 java-ant-2 java-osgi
-
-DESCRIPTION="An ultra-thin bridge between different Java logging libraries"
-HOMEPAGE="https://commons.apache.org/logging/"
-SRC_URI="mirror://apache/commons/logging/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-IUSE="avalon-framework avalon-logkit log4j servletapi test"
-REQUIRED_USE="doc? ( avalon-framework avalon-logkit log4j servletapi )"
-RESTRICT="!test? ( test ) !servletapi? ( test )"
-
-CDEPEND="
- avalon-logkit? ( dev-java/avalon-logkit:2.0 )
- avalon-framework? ( dev-java/avalon-framework:4.2 )
- log4j? (
- dev-java/log4j-12-api:2
- dev-java/log4j-api:2
- dev-java/log4j-core:2
- )
- servletapi? ( dev-java/tomcat-servlet-api:4.0 )"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*
- test? ( dev-java/ant-junit:0 )"
-
-S="${WORKDIR}/${P}-src"
-
-EANT_BUILD_TARGET="compile"
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-JAVA_ANT_IGNORE_SYSTEM_CLASSES="yes"
-
-DOCS=( RELEASE-NOTES.txt PROPOSAL.html )
-
-src_prepare() {
- default
-
- eapply "${FILESDIR}/${P}-gentoo.patch"
- # patch to make the build.xml respect no servletapi
- eapply "${FILESDIR}/${P}-servletapi.patch"
-
- # bug #208098
- echo "jdk.1.4.present=true" > build.properties || die
-
- if use avalon-framework; then
- echo "avalon-framework.jar=$(java-pkg_getjars avalon-framework-4.2)" >> build.properties || die
- fi
- if use avalon-logkit; then
- echo "logkit.jar=$(java-pkg_getjars avalon-logkit-2.0)" >> build.properties || die
- fi
- if use log4j; then
- # log4j12.jar can only contain path to one single file because
- # build.xml decides whether the Log4JLogger should be built with
- # <available file="${log4j12.jar}" property="log4j12.present"/>,
- # and a value that contains multiple file paths will cause the
- # test to return a negative result. However, classes from multiple
- # Log4j 2 JARs are needed to compile the sources. So, we combine
- # them into a single JAR on the go.
- # https://bugs.gentoo.org/834036
- mkdir -p "${T}/log4j-2" ||
- die "Failed to create temporary directory for Log4j 2 classes"
- pushd "${T}/log4j-2" > /dev/null ||
- die "Failed to enter temporary directory for Log4j 2 classes"
-
- local jar="$(java-config -j)"
- local dep
- for dep in log4j-{12-api,api,core}; do
- # Assuming SLOT="2" for Log4j 2 dependencies
- "${jar}" -xf "$(java-pkg_getjar "${dep}-2" "${dep}.jar")" ||
- die "Failed to extract files from ${dep}-2 installed on system"
- done
- "${jar}" -cf log4j-2.jar . || die "Failed to create JAR for Log4j"
-
- popd > /dev/null ||
- die "Failed to leave temporary directory for Log4j 2 classes"
-
- echo "log4j12.jar=${T}/log4j-2/log4j-2.jar" >> build.properties || die
- fi
-
- if use servletapi; then
- echo "servletapi.jar=$(java-pkg_getjar tomcat-servlet-api-4.0 servlet-api.jar)" >> build.properties || die
- fi
-}
-
-src_install() {
- local pkg=org.apache.commons.logging
- java-osgi_newjar "target/${P}.jar" "${pkg}" "Apache Commons Logging" "${pkg};version=\"${PV}\", ${pkg}.impl;version=\"${PV}\""
- java-pkg_newjar target/${PN}-api-${PV}.jar ${PN}-api.jar
- java-pkg_newjar target/${PN}-adapters-${PV}.jar ${PN}-adapters.jar
-
- einstalldocs
- use doc && java-pkg_dojavadoc target/docs/
- use source && java-pkg_dosrc src/main/java/org
-}
-
-src_test() {
- # Do not run Log4j tests because these tests use an Appender to verify
- # logging correctness. The log4j-12-api bridge no longer supports using an
- # Appender for verifications since the methods for adding an Appender in
- # the bridge "are largely no-ops". This means an Appender's state would
- # never be changed by log4j-12-api after new messages are logged. The test
- # cases, however, expect changes to the Appender's state in such an event,
- # so they would fail with log4j-12-api.
- # https://logging.apache.org/log4j/log4j-2.8/log4j-1.2-api/index.html
- sed -i -e "/^log4j12\.jar=/d" build.properties ||
- die "Failed to skip Log4j tests by modifying build.properties"
- java-pkg-2_src_test
-}
diff --git a/dev-java/commons-logging/commons-logging-1.3.0_pre20230319.ebuild b/dev-java/commons-logging/commons-logging-1.3.0_pre20230319.ebuild
new file mode 100644
index 000000000000..e7ce766be362
--- /dev/null
+++ b/dev-java/commons-logging/commons-logging-1.3.0_pre20230319.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-logging:commons-logging:1.3.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Thin adapter allowing configurable bridging to other well known logging systems"
+HOMEPAGE="https://commons.apache.org/proper/commons-logging/"
+MY_COMMIT="d376d3128663e53de4af948e161291e7ec0c6ec1"
+SRC_URI="https://github.com/apache/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="log4j"
+
+CDEPEND="
+ log4j? (
+ dev-java/log4j-12-api:2
+ dev-java/log4j-api:2
+ dev-java/log4j-core:2
+ )
+"
+
+DEPEND="${CDEPEND}
+ dev-java/javax-servlet-api:2.5
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( README.md src/changes/changes.xml )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.logging"
+JAVA_ENCODING="iso-8859-1"
+JAVA_CLASSPATH_EXTRA="javax-servlet-api-2.5"
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # https://avalon.apache.org/closed.html Apache Avalon has closed.
+ rm src/main/java/org/apache/commons/logging/impl/{Avalon,LogKit}Logger.java || die
+ rm src/test/java/org/apache/commons/logging/{avalon/AvalonLogger,logkit/Standard}TestCase.java || die
+
+ if use !log4j; then
+ rm src/main/java/org/apache/commons/logging/impl/Log4JLogger.java || die
+ fi
+}
+
+src_compile() {
+ if use log4j; then
+ JAVA_GENTOO_CLASSPATH="log4j-12-api-2,log4j-api-2,log4j-core-2"
+ fi
+ java-pkg-simple_src_compile
+
+ pushd target/classes > /dev/null || die
+
+ # Need Automatic-Module-Name also for the other JAR files
+ jar xvf ../../commons-logging.jar META-INF/MANIFEST.MF || die
+
+ # https://github.com/apache/commons-logging/blob/058cf5ee350cd83d1ab28b000ad6be903ca160c5/pom.xml#L215-L236
+ jar -cvfm ../../commons-logging-api.jar META-INF/MANIFEST.MF \
+ $(find . -type f -name '*.class' \
+ ! -name 'Jdk13LumberjackLogger.class' \
+ ! -name 'ServletContextCleaner.class' \
+ ) || die
+
+ # https://github.com/apache/commons-logging/blob/058cf5ee350cd83d1ab28b000ad6be903ca160c5/pom.xml#L240-L257
+ jar -cvfm ../../commons-logging-adapters.jar META-INF/MANIFEST.MF \
+ $(find . -type f -path './org/apache/commons/logging/impl/**.class' \
+ ! -name 'WeakHashtable*.class' \
+ ! -name 'LogFactoryImpl*.class' \
+ ) || die
+
+ popd > /dev/null || die
+}
+
+src_test() {
+ # Do not run Log4j tests because these tests use an Appender to verify
+ # logging correctness. The log4j-12-api bridge no longer supports using an
+ # Appender for verifications since the methods for adding an Appender in
+ # the bridge "are largely no-ops". This means an Appender's state would
+ # never be changed by log4j-12-api after new messages are logged. The test
+ # cases, however, expect changes to the Appender's state in such an event,
+ # so they would fail with log4j-12-api.
+ # https://logging.apache.org/log4j/log4j-2.8/log4j-1.2-api/index.html
+ rm src/test/java/org/apache/commons/logging/pathable/ParentFirstTestCase.java || die # Log4JLogger
+ rm src/test/java/org/apache/commons/logging/pathable/ChildFirstTestCase.java || die # Log4JLogger
+ rm -r src/test/java/org/apache/commons/logging/log4j || die
+
+ JAVA_TEST_EXCLUDES=(
+ org.apache.commons.logging.security.SecurityForbiddenTestCase # 2 tests 1 failing
+ org.apache.commons.logging.jdk14.TestHandler # No runnable methods
+ )
+ JAVA_TEST_EXTRA_ARGS=(
+ -Dservlet-api="$(java-pkg_getjars javax-servlet-api-2.5)"
+ -Dcommons-logging="commons-logging.jar"
+ -Dcommons-logging-api="commons-logging-api.jar"
+ -Dcommons-logging-adapters="commons-logging-adapters.jar"
+ -Dtestclasses="target/test-classes"
+ )
+ if use log4j; then
+ JAVA_TEST_EXTRA_ARGS+=" -Dlog4j12=$(java-pkg_getjars log4j-12-api-2,log4j-core-2)"
+ fi
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+ JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+ JAVA_TEST_SRC_DIR="src/test/java"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_dojar commons-logging-api.jar commons-logging-adapters.jar
+}
diff --git a/dev-java/commons-logging/commons-logging-1.3.1.ebuild b/dev-java/commons-logging/commons-logging-1.3.1.ebuild
new file mode 100644
index 000000000000..1f9180268241
--- /dev/null
+++ b/dev-java/commons-logging/commons-logging-1.3.1.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-logging:commons-logging:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Thin adapter allowing configurable bridging to other well known logging systems"
+HOMEPAGE="https://commons.apache.org/proper/commons-logging/"
+SRC_URI="mirror://apache/commons/logging/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/logging/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="log4j"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+COMMON_DEPEND="
+ dev-java/jakarta-servlet-api:4
+ dev-java/slf4j-api:0
+ log4j? (
+ dev-java/log4j-12-api:2
+ dev-java/log4j-api:2
+ )"
+
+DEPEND="${COMMON_DEPEND}
+ >=virtual/jdk-11:*"
+
+RDEPEND="${COMMON_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( NOTICE.txt src/changes/changes.xml )
+HTML_DOCS=( PROPOSAL.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.logging"
+JAVA_ENCODING="iso-8859-1"
+JAVA_GENTOO_CLASSPATH="
+ jakarta-servlet-api-4
+ slf4j-api
+"
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # javax-servlet-api and log4j* do not presently provide module-info
+ cat > src/main/java/module-info.java <<-EOF || die
+ module org.apache.commons.logging {
+ // requires static org.apache.logging.log4j;
+ requires static org.slf4j;
+ requires static java.logging;
+ // requires static log4j;
+ // requires static servlet.api;
+ // requires static org.apache.log4j;
+ requires java.base;
+ exports org.apache.commons.logging;
+ exports org.apache.commons.logging.impl;
+ uses org.apache.commons.logging.LogFactory;
+ }
+ EOF
+
+ # https://avalon.apache.org/closed.html Apache Avalon has closed.
+ rm src/main/java/org/apache/commons/logging/impl/{Avalon,LogKit}Logger.java || die
+ rm src/test/java/org/apache/commons/logging/{avalon/AvalonLogger,logkit/Standard}TestCase.java || die
+
+ if use !log4j; then
+ rm src/main/java/org/apache/commons/logging/impl/Log4JLogger.java || die
+ rm src/main/java/org/apache/commons/logging/impl/Log4jApiLogFactory.java || die
+ else
+ JAVA_GENTOO_CLASSPATH+="
+ log4j-12-api-2
+ log4j-api-2
+ "
+ fi
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+
+ pushd target/classes > /dev/null || die
+
+ # Need Automatic-Module-Name also for the other JAR files
+ jar xvf ../../commons-logging.jar META-INF/MANIFEST.MF || die
+
+ # pom.xml, lines 81-103
+ jar -cvfm ../../commons-logging-api.jar META-INF/MANIFEST.MF \
+ $(find . -type f -name '*.class' \
+ ! -name 'Jdk13LumberjackLogger.class' \
+ ! -name 'ServletContextCleaner.class' \
+ ) || die
+
+ # pom.xml, lines 205-124
+ jar -cvfm ../../commons-logging-adapters.jar META-INF/MANIFEST.MF \
+ $(find . -type f -path './org/apache/commons/logging/impl/**.class' \
+ ! -name 'WeakHashtable*.class' \
+ ! -name 'LogFactoryImpl*.class' \
+ ) || die
+
+ popd > /dev/null || die
+}
+
+src_test() {
+ # Do not run Log4j tests because these tests use an Appender to verify
+ # logging correctness. The log4j-12-api bridge no longer supports using an
+ # Appender for verifications since the methods for adding an Appender in
+ # the bridge "are largely no-ops". This means an Appender's state would
+ # never be changed by log4j-12-api after new messages are logged. The test
+ # cases, however, expect changes to the Appender's state in such an event,
+ # so they would fail with log4j-12-api.
+ # https://logging.apache.org/log4j/log4j-2.8/log4j-1.2-api/index.html
+ rm src/test/java/org/apache/commons/logging/pathable/ParentFirstTestCase.java || die # Log4JLogger
+ rm src/test/java/org/apache/commons/logging/pathable/ChildFirstTestCase.java || die # Log4JLogger
+ rm -r src/test/java/org/apache/commons/logging/log4j || die
+ rm src/test/java/org/apache/commons/logging/log4j2/CallerInformationTestCase.java || die
+ # error: package ch.qos.logback.classic does not exist
+ rm src/test/java/org/apache/commons/logging/slf4j/CallerInformationTestCase.java || die
+
+ JAVA_TEST_EXCLUDES=(
+ org.apache.commons.logging.jdk14.TestHandler # No runnable methods
+ # junit.framework.AssertionFailedError: Wrong factory retrieved through
+ # ServiceLoader: org.apache.commons.logging.impl.Slf4jLogFactory
+ org.apache.commons.logging.serviceloader.ServiceLoaderTestCase
+ # junit.framework.ComparisonFailure: Log class expected:<...ommons.logging.impl.[NoOp]Log>
+ # but was:<...ommons.logging.impl.[Slf4jLogFactory$Slf4j]Log>
+ org.apache.commons.logging.noop.NoOpLogTestCase
+ )
+ JAVA_TEST_EXTRA_ARGS=(
+ -Dservlet-api="$(java-pkg_getjars jakarta-servlet-api-4)"
+ -Dcommons-logging="commons-logging.jar"
+ -Dcommons-logging-api="commons-logging-api.jar"
+ -Dcommons-logging-adapters="commons-logging-adapters.jar"
+ -Dtestclasses="target/test-classes"
+ )
+ if use log4j; then
+ JAVA_TEST_EXTRA_ARGS+=" -Dlog4j12=$(java-pkg_getjars log4j-12-api-2,log4j-core-2)"
+ fi
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+ JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+ JAVA_TEST_SRC_DIR="src/test/java"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_dojar commons-logging-api.jar commons-logging-adapters.jar
+}
diff --git a/dev-java/commons-logging/files/commons-logging-1.2-gentoo.patch b/dev-java/commons-logging/files/commons-logging-1.2-gentoo.patch
deleted file mode 100644
index a654ce1fc763..000000000000
--- a/dev-java/commons-logging/files/commons-logging-1.2-gentoo.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/build.xml
-+++ b/build.xml
-@@ -773,4 +773,23 @@
- </fail>
- </target>
-
-+ <target depends="" name="javadoc" description="o Generate javadoc" >
-+ <mkdir dir="${build.home}/docs" >
-+ </mkdir>
-+ <tstamp >
-+ <format pattern="2001-yyyy" property="year" >
-+ </format>
-+ </tstamp>
-+ <property name="copyright" value="Copyright &amp;copy; The Apache Software Foundation. All Rights Reserved." >
-+ </property>
-+ <property name="title" value="Logging 1.1 API" >
-+ </property>
-+ <javadoc use="true" author="true" sourcepath="src/main/java" destdir="${build.home}/docs" version="true" private="true" packagenames="org.apache.commons.logging.*" >
-+ <classpath >
-+ <path refid="javadoc.classpath" >
-+ </path>
-+ </classpath>
-+ </javadoc>
-+ </target>
-+
- </project>
diff --git a/dev-java/commons-logging/files/commons-logging-1.2-servletapi.patch b/dev-java/commons-logging/files/commons-logging-1.2-servletapi.patch
deleted file mode 100644
index a9fccba8d5c1..000000000000
--- a/dev-java/commons-logging/files/commons-logging-1.2-servletapi.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/build.xml
-+++ b/build.xml
-@@ -279,6 +279,8 @@
- classpathref="compile.classpath"
- classname="org.apache.log.Logger"/>
-
-+ <available classname="javax.servlet.ServletContextEvent" property="servletapi.present" classpathref="compile.classpath" ignoresystemclasses="true" ></available>
-+
- <available property="avalon-framework.present"
- classpathref="compile.classpath"
- classname="org.apache.avalon.framework.logger.Logger"/>
-@@ -315,6 +317,13 @@
- </echo>
- </target>
-
-+ <target depends="init,discovery" unless="servletapi.present" name="servletapi-warning" >
-+ <echo >
-+ *** WARNING ***
-+ ServletAPI not found: Cannot Build ServletContextCleaner
-+ </echo>
-+ </target>
-+
- <target name="avalon-framework-warning" unless='avalon-framework.present' depends='init,discovery'>
- <echo>
- *** WARNING ***
-@@ -337,7 +346,7 @@
- </target>
-
- <target name='warning'
-- depends='log4j12-warning,log4j13-warning,logkit-warning,jdk1.4-warning,avalon-framework-warning,compile-1.4'/>
-+ depends='log4j12-warning,log4j13-warning,logkit-warning,jdk1.4-warning,avalon-framework-warning,servletapi-warning,compile-1.4'/>
-
- <target name="compile-only"
- depends="prepare,discovery,warning,show-lib-presence,compile-non-log4j,compile-log4j12,compile-log4j13,build-jar"/>
-@@ -365,6 +374,7 @@
-
- <exclude name="org/apache/commons/logging/impl/Log4J*.java"/>
-
-+ <exclude unless="servletapi.present" name="org/apache/commons/logging/impl/ServletContextCleaner.java" ></exclude>
- <exclude name="org/apache/commons/logging/impl/Jdk13LumberjackLogger.java"
- unless="jdk.1.4.present"/>
- <exclude name="org/apache/commons/logging/impl/Jdk14Logger.java"
diff --git a/dev-java/commons-logging/metadata.xml b/dev-java/commons-logging/metadata.xml
index 929f4e61cf4e..6f7f23a3f9e5 100644
--- a/dev-java/commons-logging/metadata.xml
+++ b/dev-java/commons-logging/metadata.xml
@@ -1,14 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <use>
- <flag name="avalon-framework">Add optional support for avalon-framework</flag>
- <flag name="avalon-logkit">Add optional support for avalon-logkit</flag>
- <flag name="log4j">Add optional support for log4j</flag>
- <flag name="servletapi">Add optional support for servletapi</flag>
- </use>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://issues.apache.org/jira/projects/LOGGING/issues/</bugs-to>
+ <doc>https://commons.apache.org/proper/commons-logging/guide.html</doc>
+ <remote-id type="github">apache/commons-logging</remote-id>
+ </upstream>
+ <use>
+ <flag name="log4j">Add optional support for log4j</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-java/commons-math/commons-math-3.6.1-r2.ebuild b/dev-java/commons-math/commons-math-3.6.1-r2.ebuild
index d77cb259350a..1ca7a92bf8f1 100644
--- a/dev-java/commons-math/commons-math-3.6.1-r2.ebuild
+++ b/dev-java/commons-math/commons-math-3.6.1-r2.ebuild
@@ -20,6 +20,6 @@ RDEPEND=">=virtual/jre-1.8:*"
LICENSE="Apache-2.0"
SLOT="3"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
JAVA_AUTOMATIC_MODULE_NAME="commons.math3"
diff --git a/dev-java/commons-net/Manifest b/dev-java/commons-net/Manifest
index 9a5756803a63..ff3a88cde8b6 100644
--- a/dev-java/commons-net/Manifest
+++ b/dev-java/commons-net/Manifest
@@ -1 +1,2 @@
-DIST commons-net-3.8.0.jar 437325 BLAKE2B 92bdbf2f95cc54f6a791a9de0a56878fe12b6d956d47a4116ae21df35f3dcc4d7b10f5c03c081fc7012a06416f5f9f6555060784bfe22ec9c8d70b17ee7ea215 SHA512 a16ed8c2966541cc052fe963338efcc6f9c42ccd6fefe246547e66d9f46c35cf42bc6d13cb983a1829a378ebd7a676bcb812acbc3aa0ed30e6fa206748dae620
+DIST commons-net-3.10.0-src.tar.gz 450082 BLAKE2B 0df46b21ca298393500494e41d918b3fc6e700485c4d9dfb2bab61d8f834a4f44dd881c464c4008731deec9fc82ca36e0442022f0942b3e59e384a2b44329660 SHA512 d9d80255feddfb434d3baa629aa9e6d8feffd530c5e3172106fec55bbc986f6423a46dc9e737a1bb7020c62447229e6b83d0b7f9582d041e1def423536cc92dd
+DIST commons-net-3.10.0-src.tar.gz.asc 488 BLAKE2B 31a15e952c55079e595f33be1730126b85c669b481c649e401cb4617a5489fc3e3025e8c172f8193b190b16fe55d9c78c171d16d4adf7fa1a8e71648e295bc77 SHA512 ab27b1fa2c02d79eff26f93697fafc54f22a7368db631bb6f7173b8702cda10836ac8b656df987135fe5c1d39a557840fefb0355d8d52f0e4815808d4938de18
diff --git a/dev-java/commons-net/commons-net-3.10.0.ebuild b/dev-java/commons-net/commons-net-3.10.0.ebuild
new file mode 100644
index 000000000000..d4161a272d96
--- /dev/null
+++ b/dev-java/commons-net/commons-net-3.10.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# No tests because of missing eclass support of junit-jupiter, #902723
+JAVA_PKG_IUSE="doc examples source"
+MAVEN_ID="commons-net:commons-net:${PV}"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Client-oriented Java library to implement many Internet protocols"
+HOMEPAGE="https://commons.apache.org/proper/commons-net/"
+SRC_URI="mirror://apache/commons/net/source/commons-net-${PV}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/net/source/commons-net-${PV}-src.tar.gz.asc )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+DOCS=(
+ CONTRIBUTING.md
+ NOTICE.txt
+ README.md
+ RELEASE-NOTES.txt
+)
+
+S="${WORKDIR}/${P}-src"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.net"
+JAVA_ENCODING="iso-8859-1"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/commons-net/commons-net-3.8.0.ebuild b/dev-java/commons-net/commons-net-3.8.0.ebuild
deleted file mode 100644
index f05db9b3a131..000000000000
--- a/dev-java/commons-net/commons-net-3.8.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc examples source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_P="${P}-sources"
-
-DESCRIPTION="Client-oriented Java library to implement many Internet protocols"
-HOMEPAGE="https://commons.apache.org/net/"
-SRC_URI="https://repo1.maven.org/maven2/${PN}/${PN}/${PV}/${P}-sources.jar -> ${P}.jar"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
diff --git a/dev-java/commons-nullanalysis/Manifest b/dev-java/commons-nullanalysis/Manifest
new file mode 100644
index 000000000000..081aa48e41a9
--- /dev/null
+++ b/dev-java/commons-nullanalysis/Manifest
@@ -0,0 +1 @@
+DIST unkrig-commons1.2.17.tar.gz 2187066 BLAKE2B 29addd6ba41edf475ff878c15a40ee328682fc7d458fae4f745e20cd00afbaa99a8f202e0d285a81a45e47177944d8dcce2e30d6f3c74d2374b46f34c5813dff SHA512 dd8652bcffd62aa847e7c36358de8eecca66f731f06da504cbdcb29f55608e384db2e0d9a7847773423d82d7ae9f3bf75e07142c95ae0ec758f15e5a3020db99
diff --git a/dev-java/commons-nullanalysis/commons-nullanalysis-1.2.17.ebuild b/dev-java/commons-nullanalysis/commons-nullanalysis-1.2.17.ebuild
new file mode 100644
index 000000000000..837845785cf6
--- /dev/null
+++ b/dev-java/commons-nullanalysis/commons-nullanalysis-1.2.17.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="de.unkrig.commons:commons-nullanalysis:1.2.17"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Annotations and utility classes for ECLIPSE annotation-base null analysis"
+HOMEPAGE="https://unkrig.de/w/Commons.unkrig.de"
+SRC_URI="https://github.com/aunkrig/commons/archive/V${PV}.tar.gz -> unkrig-commons${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/commons-${PV}/commons-nullanalysis"
+
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/commons-nullanalysis/metadata.xml b/dev-java/commons-nullanalysis/metadata.xml
new file mode 100644
index 000000000000..4fc465e4c3e9
--- /dev/null
+++ b/dev-java/commons-nullanalysis/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">aunkrig/commons</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/commons-text/Manifest b/dev-java/commons-text/Manifest
deleted file mode 100644
index e99bcc4b22d1..000000000000
--- a/dev-java/commons-text/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST commons-text-1.9-sources.tar.gz 312764 BLAKE2B 44b628c418a910ff38b5a1fb3b4c9f14a1f9818afd12540f8c8cf8b1a99fd7abd365e704142bcec901e5e067b303ff44f9c992f8714eae68b94819780a270dd2 SHA512 53f993e79aaa6789d3388aa96b6b2a14cf646b27ff3774524390e511241a85288947cc929519eff61a8734578f25bdf3d9969d84da20c1a749b19d90a55da8ae
diff --git a/dev-java/commons-text/commons-text-1.9.ebuild b/dev-java/commons-text/commons-text-1.9.ebuild
deleted file mode 100644
index 530b720f0f19..000000000000
--- a/dev-java/commons-text/commons-text-1.9.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 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://downloads.apache.org//commons/text/source/commons-text-1.9-src.tar.gz --slot 0 --keywords "~amd64 ~x86" --ebuild commons-text-1.9.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.apache.commons:commons-text:1.9"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Apache Commons Text is a library focused on algorithms working on strings"
-HOMEPAGE="https://commons.apache.org/proper/commons-text"
-SRC_URI="https://downloads.apache.org//commons/text/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# org.apache.commons:commons-lang3:3.11 -> >=dev-java/commons-lang-3.11:3.6
-
-CDEPEND="
- >=dev-java/commons-lang-3.11:3.6
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-S="${WORKDIR}/${P}-src"
-
-JAVA_ENCODING="ISO-8859-1"
-
-JAVA_GENTOO_CLASSPATH="commons-lang-3.6"
-JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/commons-text/metadata.xml b/dev-java/commons-text/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/commons-text/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/commons-validator/Manifest b/dev-java/commons-validator/Manifest
index 8b0c5a34c397..c8d595696045 100644
--- a/dev-java/commons-validator/Manifest
+++ b/dev-java/commons-validator/Manifest
@@ -1 +1,2 @@
-DIST commons-validator-1.7-src.tar.gz 289870 BLAKE2B 576c6ac00187b67618eee251a69e7166cd817bb6184f4cf138a226539fc100a1a4e32ebc4ef6cea567aff581d11c63a817a9dad4836142de4d9a3b313d59a31b SHA512 4007872fda856e9e154f325270748081920d21a716143389713706ca0e5a8ec3c88b9b978d75801a5926723764a81f1dbfd77a8fd4b361b16cd65e84cf47a868
+DIST commons-validator-1.8.0-src.tar.gz 291779 BLAKE2B 0a0a0f9019b39ff1899be2f65e5e6750e12ed7b6833cc7e03279b5bedd3b3c3e02561891ba8885b50c356d103dabe207bf18adf04d8e6ba627397c5b81656603 SHA512 f0c2662e5db0bbc6ee9d05d5508caa02bf45b7c7ada92f4a97a867848f3d704b35552d47859a46567705194248e7b88cd8df8f082939012ab60b6aed446e36b2
+DIST commons-validator-1.8.0-src.tar.gz.asc 488 BLAKE2B 9e9b7f54f430c5a42de8af6d8c55a0f4029e3a41f0bc41efb08863a9470f0935ad23d6ba6757cf4d5e28c11626e15ae392807ae9c33529a3feb15b90a2316ca5 SHA512 f04709f64026560bfd2f5cc51ebf373d44359452f41af73b53d105059a6760786f49d89837c624cd133875de0a37358af1cf587a6db567e7cc76ce823efa9efd
diff --git a/dev-java/commons-validator/commons-validator-1.7.ebuild b/dev-java/commons-validator/commons-validator-1.7.ebuild
deleted file mode 100644
index b71d4a85a4b9..000000000000
--- a/dev-java/commons-validator/commons-validator-1.7.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 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://artfiles.org/apache.org//commons/validator/source/commons-validator-1.7-src.tar.gz --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild commons-validator-1.7.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="commons-validator:commons-validator:1.7"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Commons component to validate user input, or data input"
-HOMEPAGE="https://commons.apache.org/proper/commons-validator/"
-SRC_URI="mirror://apache/commons/validator/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# commons-beanutils:commons-beanutils:1.9.4 -> >=dev-java/commons-beanutils-1.9.4:1.7
-# commons-collections:commons-collections:3.2.2 -> >=dev-java/commons-collections-3.2.2:0
-# commons-digester:commons-digester:2.1 -> >=dev-java/commons-digester-2.1:2.1
-# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
-
-CDEPEND="
- dev-java/commons-beanutils:1.7
- dev-java/commons-digester:2.1
- dev-java/commons-logging:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.13 -> >=dev-java/junit-4.13.1:4
-# test? org.apache.commons:commons-csv:1.6 -> dev-java/commons-csv:0
-# test? org.bitstrings.test:junit-clptr:1.2.2 -> dev-java/junit-clptr:0
-#
-# restricting for compilation to jdk 1.8 just because of tests which
-# are not adjusted by upstream for jdk 11, otherwise the package works fine with jdk 11
-
-DEPEND="${CDEPEND}
- virtual/jdk:1.8
- test? (
- dev-java/commons-csv:0
- dev-java/junit-clptr:0
- )
-"
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${P}-src"
-
-JAVA_GENTOO_CLASSPATH="commons-beanutils-1.7,commons-digester-2.1,commons-logging"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="commons-csv,junit-4,junit-clptr"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
diff --git a/dev-java/commons-validator/commons-validator-1.8.0.ebuild b/dev-java/commons-validator/commons-validator-1.8.0.ebuild
new file mode 100644
index 000000000000..e92d0c4c8374
--- /dev/null
+++ b/dev-java/commons-validator/commons-validator-1.8.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-validator:commons-validator:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Commons component to validate user input, or data input"
+HOMEPAGE="https://commons.apache.org/proper/commons-validator/"
+SRC_URI="mirror://apache/commons/validator/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/commons/validator/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+RESTRICT="test" #839681
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+CP_DEPEND="
+ dev-java/commons-beanutils:1.7
+ dev-java/commons-digester:2.1
+ dev-java/commons-logging:0
+"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
diff --git a/dev-java/commons-validator/metadata.xml b/dev-java/commons-validator/metadata.xml
index 7a495722507b..b356ec45e875 100644
--- a/dev-java/commons-validator/metadata.xml
+++ b/dev-java/commons-validator/metadata.xml
@@ -7,6 +7,9 @@
</maintainer>
<upstream>
<bugs-to>https://issues.apache.org/jira/projects/VALIDATOR/issues/</bugs-to>
- <changelog>http://commons.apache.org/proper/commons-validator/changes-report.html</changelog>
+ <changelog>
+ http://commons.apache.org/proper/commons-validator/changes-report.html
+ </changelog>
+ <remote-id type="github">apache/commons-validator</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/commons-vfs/commons-vfs-2.0-r2.ebuild b/dev-java/commons-vfs/commons-vfs-2.0-r2.ebuild
deleted file mode 100644
index 6a24d0bb811e..000000000000
--- a/dev-java/commons-vfs/commons-vfs-2.0-r2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="A single API for accessing various different file systems"
-HOMEPAGE="https://commons.apache.org/vfs/"
-SRC_URI="mirror://apache/commons/vfs/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
-
-CDEPEND="
- dev-java/ant-core:0
- dev-java/commons-collections:0
- dev-java/commons-logging:0
- dev-java/commons-net:0
- dev-java/commons-httpclient:3
- dev-java/jackrabbit-webdav:0
- dev-java/jsch:0"
-
-DEPEND="${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-PATCHES=(
- "${FILESDIR}"/${P}-incompatibility.patch
-)
-
-S="${WORKDIR}/${P}/core"
-
-EANT_GENTOO_CLASSPATH="
- ant-core
- commons-collections
- commons-logging
- commons-net
- commons-httpclient-3
- jackrabbit-webdav
- jsch
-"
-EANT_EXTRA_ARGS="-Dlibdir=${T}"
-
-# The build.xml is generated from maven and can't run the tests properly
-# Use maven test to execute these manually but that means downloading deps from
-# the internet. Also the tests need to login to some ftp servers and samba
-# shares so I doubt they work for everyone.
-#src_test() {
-# ANT_TASKS="ant-junit" eant test
-#}
-
-src_prepare() {
- default
- cp "${FILESDIR}"/${P}-build.xml build.xml || die
-
- java-ant_rewrite-classpath
- java-ant_ignore-system-classes
-}
-
-src_install() {
- java-pkg_newjar target/*.jar
-
- # [javadoc] No javadoc created, no need to post-process anything
-# use doc && java-pkg_dojavadoc target/site/apidocs
- use source && java-pkg_dosrc src/main/java
-}
diff --git a/dev-java/commons-vfs/commons-vfs-2.0-r3.ebuild b/dev-java/commons-vfs/commons-vfs-2.0-r3.ebuild
new file mode 100644
index 000000000000..418ad23cc41f
--- /dev/null
+++ b/dev-java/commons-vfs/commons-vfs-2.0-r3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="A single API for accessing various different file systems"
+HOMEPAGE="https://commons.apache.org/vfs/"
+SRC_URI="https://archive.apache.org/dist/commons/vfs/source/${P}-src.tar.gz"
+S="${WORKDIR}/${P}/core"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
+
+CDEPEND="
+ dev-java/ant:0
+ dev-java/commons-collections:0
+ dev-java/commons-logging:0
+ dev-java/commons-net:0
+ dev-java/commons-httpclient:3
+ dev-java/jackrabbit-webdav:0
+ dev-java/jsch:0"
+
+DEPEND="${CDEPEND}
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-incompatibility.patch
+)
+
+EANT_GENTOO_CLASSPATH="
+ ant
+ commons-collections
+ commons-logging
+ commons-net
+ commons-httpclient-3
+ jackrabbit-webdav
+ jsch
+"
+EANT_EXTRA_ARGS="-Dlibdir=${T}"
+
+# The build.xml is generated from maven and can't run the tests properly
+# Use maven test to execute these manually but that means downloading deps from
+# the internet. Also the tests need to login to some ftp servers and samba
+# shares so I doubt they work for everyone.
+#src_test() {
+# ANT_TASKS="ant-junit" eant test
+#}
+
+src_prepare() {
+ default
+ cp "${FILESDIR}"/${P}-build.xml build.xml || die
+
+ java-ant_rewrite-classpath
+ java-ant_ignore-system-classes
+}
+
+src_install() {
+ java-pkg_newjar target/*.jar
+
+ # [javadoc] No javadoc created, no need to post-process anything
+# use doc && java-pkg_dojavadoc target/site/apidocs
+ use source && java-pkg_dosrc src/main/java
+}
diff --git a/dev-java/commons-vfs/commons-vfs-2.0-r4.ebuild b/dev-java/commons-vfs/commons-vfs-2.0-r4.ebuild
new file mode 100644
index 000000000000..f2cbfd6d3ba5
--- /dev/null
+++ b/dev-java/commons-vfs/commons-vfs-2.0-r4.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A single API for accessing various different file systems"
+HOMEPAGE="https://commons.apache.org/vfs/"
+SRC_URI="https://archive.apache.org/dist/commons/vfs/source/${P}-src.tar.gz"
+S="${WORKDIR}/${P}/core"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14-r3:0
+ dev-java/commons-collections:0
+ dev-java/commons-logging:0
+ dev-java/commons-net:0
+ dev-java/commons-httpclient:3
+ dev-java/jackrabbit-webdav:0
+ dev-java/jsch:0"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-incompatibility.patch
+ "${FILESDIR}"/commons-vfs-2.0-utf8.patch
+)
+
+JAVA_RESOURCE_DIRS="resources/src/main/java"
+JAVA_SRC_DIR="src/main/java"
+
+# The build.xml is generated from maven and can't run the tests properly
+# Use maven test to execute these manually but that means downloading deps from
+# the internet. Also the tests need to login to some ftp servers and samba
+# shares so I doubt they work for everyone.
+#src_test() {
+# ANT_TASKS="ant-junit" eant test
+#}
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ mkdir resources || die
+ find src/main/java -type f ! -name '*.java' ! -name 'package.html' \
+ | xargs cp --parent -t resources || die
+}
diff --git a/dev-java/commons-vfs/files/commons-vfs-2.0-utf8.patch b/dev-java/commons-vfs/files/commons-vfs-2.0-utf8.patch
new file mode 100644
index 000000000000..199fb380c3cb
--- /dev/null
+++ b/dev-java/commons-vfs/files/commons-vfs-2.0-utf8.patch
@@ -0,0 +1,13 @@
+diff --git a/src/main/java/org/apache/commons/vfs2/FileSystemManager.java b/src/main/java/org/apache/commons/vfs2/FileSystemManager.java
+index bb8cc2a..1e26559 100644
+--- a/src/main/java/org/apache/commons/vfs2/FileSystemManager.java
++++ b/src/main/java/org/apache/commons/vfs2/FileSystemManager.java
+@@ -98,7 +98,7 @@ public interface FileSystemManager
+ FileObject resolveFile(String name, FileSystemOptions fileSystemOptions)
+ throws FileSystemException;
+
+- /** §
++ /**
+ * Locates a file by name. The name is resolved as described
+ * <a href="#naming">above</a>. That is, the name can be either
+ * an absolute URI, an absolute file name, or a relative path to
diff --git a/dev-java/concurrentlinkedhashmap-lru/Manifest b/dev-java/concurrentlinkedhashmap-lru/Manifest
new file mode 100644
index 000000000000..1e9c38335e81
--- /dev/null
+++ b/dev-java/concurrentlinkedhashmap-lru/Manifest
@@ -0,0 +1 @@
+DIST concurrentlinkedhashmap-lru-1.4.2.tar.gz 245357 BLAKE2B ac743e2be30195f171154c179ac1b4a6bc6b563b080555c664cdd57fc30d083525f03a8367a891e1087623d455adef27c7ff7416b5c8523c01fc3d5ef775a185 SHA512 95f33cdeb2e3e65be0fa26a825339c4c60eb830e07895fbae731103ef14a9599137f8fad18f9b0a582ec2552ccc1391f5d0338837395e35c1d28de977614a199
diff --git a/dev-java/concurrentlinkedhashmap-lru/concurrentlinkedhashmap-lru-1.4.2.ebuild b/dev-java/concurrentlinkedhashmap-lru/concurrentlinkedhashmap-lru-1.4.2.ebuild
new file mode 100644
index 000000000000..15bcca0f020c
--- /dev/null
+++ b/dev-java/concurrentlinkedhashmap-lru/concurrentlinkedhashmap-lru-1.4.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A high performance version of java.util.LinkedHashMap for use as software cache"
+HOMEPAGE="https://github.com/ben-manes/concurrentlinkedhashmap"
+SRC_URI="https://github.com/ben-manes/concurrentlinkedhashmap/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN%lru}${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+CP_DEPEND="dev-java/jsr305:0"
+
+RDEPEND=">=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+DEPEND=">=virtual/jdk-1.8:*
+ ${CP_DEPEND}"
+
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # https://github.com/ben-manes/concurrentlinkedhashmap/issues/46#issuecomment-160696203
+ rm src/main/java/com/googlecode/concurrentlinkedhashmap/ConcurrentHashMapV8.java || die
+ sed \
+ -e 's/ConcurrentHashMapV8/ConcurrentHashMap/' \
+ -i src/main/java/com/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap.java || die
+}
diff --git a/dev-java/concurrentlinkedhashmap-lru/metadata.xml b/dev-java/concurrentlinkedhashmap-lru/metadata.xml
new file mode 100644
index 000000000000..fe2d156a4574
--- /dev/null
+++ b/dev-java/concurrentlinkedhashmap-lru/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ben-manes/concurrentlinkedhashmap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/conversant-disruptor/metadata.xml b/dev-java/conversant-disruptor/metadata.xml
index 75321cfb5598..44a1037d7ce3 100644
--- a/dev-java/conversant-disruptor/metadata.xml
+++ b/dev-java/conversant-disruptor/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">conversant/disruptor</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/core-specs-alpha/Manifest b/dev-java/core-specs-alpha/Manifest
deleted file mode 100644
index 077792b32a55..000000000000
--- a/dev-java/core-specs-alpha/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST core-specs-alpha-0.1.24.tar.gz 9896 BLAKE2B cb06053d2aa77b4bbd58b612fb0f80137833e156a5136e4f53f6123d158bdbe676e9bacdfe76728b1320986589e8242c52f49a4d8922bda5374e34fe52969ddc SHA512 6ddf20bf9be36f7493104f69f4e9402fc62f49005471a967843c7cfee898c67aaf5046886db73e6b54942538beed9556d83f4582e85fd02ef4cb755cb5a18d34
-DIST core-specs-alpha-0.2.44.tar.gz 10163 BLAKE2B c81ebb08779c3db137363ffb12bc7e26d29cd67323c98430a033f639714da83bf8c9d14146c12d925094e057d3735d100e33656e9571a0a4c107dc9fb56359e9 SHA512 1a59b947c580e45a280b25d5827a174565e066dde577685ca86aa1bbd9767716991cefb8a944c7ded0f84a71f9902f7fcdb5baacc7e19180096d599a51083048
-DIST core-specs-alpha-0.2.56.tar.gz 11780 BLAKE2B 088d0b32dea7ec49ddaf0f461703762a5a877ff4028b775eb35998e6a5a3436ad57b35d7d9431b6911ca2304403e95043d375bac80080ecaf6144a77b3ebcf4c SHA512 afbfc04b9708a21ae6c6b29b8653fc62b23efcb271b973534c4b8421a7d73df3ad24bd28d7115a2fe926954dc45571de86971637736f3a494799f6f1ba1765c8
diff --git a/dev-java/core-specs-alpha/core-specs-alpha-0.1.24.ebuild b/dev-java/core-specs-alpha/core-specs-alpha-0.1.24.ebuild
deleted file mode 100644
index a04c6e5dd6ac..000000000000
--- a/dev-java/core-specs-alpha/core-specs-alpha-0.1.24.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2 java-ant-2
-
-EGIT_REF="43815fc"
-
-MY_PN=${PN//-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="A Clojure library with specs to describe Clojure core macros and functions"
-HOMEPAGE="https://clojure.org/ https://github.com/clojure/core.specs.alpha"
-SRC_URI="https://github.com/clojure/${MY_PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="0.1"
-KEYWORDS="~amd64 ~x86 ~x86-linux"
-IUSE=""
-
-CDEPEND="dev-java/ant-core:0"
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${MY_PN}-${MY_P}"
-
-EANT_TASKS="jar"
-EANT_EXTRA_ARGS="-Dmaven.build.finalName=${MY_P}"
-
-src_prepare() {
- default
- cp "${FILESDIR}/build.xml" . || die
-}
-
-src_install() {
- java-pkg_newjar "target/${MY_P}.jar"
- dodoc CONTRIBUTING.md README.md
-}
diff --git a/dev-java/core-specs-alpha/core-specs-alpha-0.2.44.ebuild b/dev-java/core-specs-alpha/core-specs-alpha-0.2.44.ebuild
deleted file mode 100644
index f54ad2867014..000000000000
--- a/dev-java/core-specs-alpha/core-specs-alpha-0.2.44.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2 java-ant-2
-
-EGIT_REF="d69f559"
-
-MY_PN=${PN//-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="A Clojure library with specs to describe Clojure core macros and functions"
-HOMEPAGE="https://clojure.org/ https://github.com/clojure/core.specs.alpha"
-SRC_URI="https://github.com/clojure/${MY_PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="0.2"
-KEYWORDS="~amd64 ~x86 ~x86-linux"
-IUSE=""
-
-CDEPEND="dev-java/ant-core:0"
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${MY_PN}-${MY_P}"
-
-EANT_TASKS="jar"
-EANT_EXTRA_ARGS="-Dmaven.build.finalName=${MY_P}"
-
-src_prepare() {
- default
- cp "${FILESDIR}/build.xml" . || die
-}
-
-src_install() {
- java-pkg_newjar "target/${MY_P}.jar"
- dodoc CONTRIBUTING.md README.md
-}
diff --git a/dev-java/core-specs-alpha/core-specs-alpha-0.2.56.ebuild b/dev-java/core-specs-alpha/core-specs-alpha-0.2.56.ebuild
deleted file mode 100644
index 64ba20033302..000000000000
--- a/dev-java/core-specs-alpha/core-specs-alpha-0.2.56.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2 java-ant-2
-
-EGIT_REF="053d789"
-
-MY_PN=core.specs.alpha
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="A Clojure library with specs to describe Clojure core macros and functions"
-HOMEPAGE="https://clojure.org/ https://github.com/clojure/core.specs.alpha"
-SRC_URI="https://github.com/clojure/core.specs.alpha/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="0.2"
-KEYWORDS="~amd64 ~x86 ~x86-linux"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-DEPEND="
- dev-java/ant-core:0
- >=virtual/jdk-1.8:*
-"
-
-S="${WORKDIR}/${MY_PN}-${MY_P}"
-
-DOCS=( CONTRIBUTING.md LICENSE README.md )
-
-EANT_TASKS="jar"
-EANT_EXTRA_ARGS="-Dmaven.build.finalName=${MY_P}"
-
-src_prepare() {
- default
- rm -r CHANGES.md epl-v10.html || die # epl-10.html is the LICENSE in html format
- cp "${FILESDIR}/build.xml" . || die
-}
-
-src_install() {
- java-pkg_newjar "target/${MY_P}.jar"
- einstalldocs
-}
diff --git a/dev-java/core-specs-alpha/files/build.xml b/dev-java/core-specs-alpha/files/build.xml
deleted file mode 100644
index 0499525e8817..000000000000
--- a/dev-java/core-specs-alpha/files/build.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. -->
-<!-- ====================================================================== -->
-
-<project name="spec.alpha" default="package" basedir=".">
- <property name="maven.build.finalName" value="core.specs.alpha-SNAPSHOT"/>
- <property name="maven.build.dir" value="target"/>
- <property name="maven.build.outputDir" value="${maven.build.dir}/classes"/>
- <property name="maven.build.srcDir.0" value="src/main/clojure"/>
-
- <!-- clean -->
- <target name="clean" description="Clean the output directory">
- <delete dir="${maven.build.dir}"/>
- </target>
-
- <!-- build -->
- <target name="build" description="Copy the files">
- <mkdir dir="${maven.build.outputDir}"/>
- <copy todir="${maven.build.outputDir}">
- <fileset dir="${maven.build.srcDir.0}"/>
- </copy>
- </target>
-
- <!-- package -->
- <target name="package" depends="build" description="Package the application">
- <jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar"
- compress="true"
- index="false"
- basedir="${maven.build.outputDir}"
- excludes="**/package.html"/>
- </target>
-
- <!-- jar -->
- <target name="jar" depends="package" description="Builds the jar for the application"/>
-</project>
diff --git a/dev-java/core-specs-alpha/metadata.xml b/dev-java/core-specs-alpha/metadata.xml
deleted file mode 100644
index 76ec8e09ecae..000000000000
--- a/dev-java/core-specs-alpha/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>tgbugs@gmail.com</email>
- <name>Tom Gillespie</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">clojure/core.specs.alpha</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/coursier-bin/Manifest b/dev-java/coursier-bin/Manifest
new file mode 100644
index 000000000000..0876b79d106f
--- /dev/null
+++ b/dev-java/coursier-bin/Manifest
@@ -0,0 +1,3 @@
+DIST coursier-bin-2.1.7.gz 20790038 BLAKE2B 6e362ae784fcb7007f0adc58604d72dba33cb37f0726883b69f9f298e38759e3acea0232edac30c7cb34c5b837598e6b2c0947345938bce196f7a326a4aa3f0e SHA512 b6df4d7ad89f735989dfb4bb8cacbdf1559dd5ea4f494b7e72df544bd24a3a208738cf37d1cfd7944bb6aebc0e1b6d32b1bfd48c9f333cf54919a055afd5348e
+DIST coursier-bin-2.1.8.gz 20863902 BLAKE2B 13ce0a1aa6dd2c1272567a76f3a762e31d9d6794e034e033d5d5accd0b6c534702fc62b5cab83070bb1081c7072ad7a04be86c38b4929d75f2d1f050f320820d SHA512 9cc8f13ecd0c166d46aaeeedb9279eb2885a7edac24c5b106ca30968c4c6fc5f47efe3a38e7aa6864dee517a7bc2cfba71fdd32741d295887bdb62594832bb9e
+DIST coursier-bin-2.1.9.gz 20870390 BLAKE2B 720698e6c55a8c070d02f01ec528bab06f397b3c580fa3e533a45cf0073d8b9caf506cfff10d1b68eb9348c8b0da9abab9e7fb183f0561b62a82a96d21d35f5e SHA512 102c351aa0647fe5cd9d00ee164c1cebbcd6bd133a11bdfd653f70a5347da02e32ba74d5b51ea425e9189bb7113ef16c3902219bfa1ef0172bac7955712031c6
diff --git a/dev-java/coursier-bin/coursier-bin-2.1.7.ebuild b/dev-java/coursier-bin/coursier-bin-2.1.7.ebuild
new file mode 100644
index 000000000000..4c77d05f1d13
--- /dev/null
+++ b/dev-java/coursier-bin/coursier-bin-2.1.7.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+get_orig_coursier_pv() {
+ local orig_pv=$(ver_rs 3 -)
+ orig_pv=${orig_pv/rc/RC}
+ orig_pv=${orig_pv/pre/M}
+ echo "${orig_pv}"
+}
+
+DESCRIPTION="Java/Scala artifact fetching, bundling and deploying"
+HOMEPAGE="https://get-coursier.io/"
+SRC_URI="https://github.com/coursier/coursier/releases/download/v$(get_orig_coursier_pv)/cs-x86_64-pc-linux.gz -> ${P}.gz"
+
+KEYWORDS="amd64"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}"
+
+RDEPEND=">=virtual/jre-8"
+
+QA_FLAGS_IGNORED="usr/bin/coursier"
+QA_TEXTRELS="usr/bin/coursier"
+
+src_install() {
+ newbin "${P}" coursier
+}
diff --git a/dev-java/coursier-bin/coursier-bin-2.1.8.ebuild b/dev-java/coursier-bin/coursier-bin-2.1.8.ebuild
new file mode 100644
index 000000000000..536fb0da7de1
--- /dev/null
+++ b/dev-java/coursier-bin/coursier-bin-2.1.8.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+get_orig_coursier_pv() {
+ local orig_pv=$(ver_rs 3 -)
+ orig_pv=${orig_pv/rc/RC}
+ orig_pv=${orig_pv/pre/M}
+ echo "${orig_pv}"
+}
+
+DESCRIPTION="Java/Scala artifact fetching, bundling and deploying"
+HOMEPAGE="https://get-coursier.io/"
+SRC_URI="https://github.com/coursier/coursier/releases/download/v$(get_orig_coursier_pv)/cs-x86_64-pc-linux.gz -> ${P}.gz"
+
+KEYWORDS="amd64"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}"
+
+RDEPEND=">=virtual/jre-8"
+
+QA_FLAGS_IGNORED="usr/bin/coursier"
+QA_TEXTRELS="usr/bin/coursier"
+
+src_install() {
+ newbin "${P}" coursier
+}
diff --git a/dev-java/coursier-bin/coursier-bin-2.1.9.ebuild b/dev-java/coursier-bin/coursier-bin-2.1.9.ebuild
new file mode 100644
index 000000000000..af4c8329d0bf
--- /dev/null
+++ b/dev-java/coursier-bin/coursier-bin-2.1.9.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+get_orig_coursier_pv() {
+ local orig_pv=$(ver_rs 3 -)
+ orig_pv=${orig_pv/rc/RC}
+ orig_pv=${orig_pv/pre/M}
+ echo "${orig_pv}"
+}
+
+DESCRIPTION="Java/Scala artifact fetching, bundling and deploying"
+HOMEPAGE="https://get-coursier.io/"
+SRC_URI="https://github.com/coursier/coursier/releases/download/v$(get_orig_coursier_pv)/cs-x86_64-pc-linux.gz -> ${P}.gz"
+
+KEYWORDS="~amd64"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}"
+
+RDEPEND=">=virtual/jre-8"
+
+QA_FLAGS_IGNORED="usr/bin/coursier"
+QA_TEXTRELS="usr/bin/coursier"
+
+src_install() {
+ newbin "${P}" coursier
+}
diff --git a/dev-java/coursier-bin/metadata.xml b/dev-java/coursier-bin/metadata.xml
new file mode 100644
index 000000000000..17a908b541f0
--- /dev/null
+++ b/dev-java/coursier-bin/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type='person'>
+ <email>flow@gentoo.org</email>
+ <name>Florian Schmaus</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">coursier/coursier</remote-id>
+ <bugs-to>https://github.com/coursier/coursier/issues</bugs-to>
+ <changelog>https://github.com/coursier/coursier/releases</changelog>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/cpptasks/cpptasks-1.0_beta5-r1.ebuild b/dev-java/cpptasks/cpptasks-1.0_beta5-r1.ebuild
deleted file mode 100644
index 38a0c3f54a50..000000000000
--- a/dev-java/cpptasks/cpptasks-1.0_beta5-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc examples source test"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Ant-tasks to compile various source languages and produce executables"
-HOMEPAGE="http://ant-contrib.sourceforge.net/"
-SRC_URI="mirror://sourceforge/ant-contrib/ant-contrib/${P/_/-}/${P/_beta/b}.tar.gz"
-S="${WORKDIR}/${P/_beta/b}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CP_DEPEND="
- dev-java/ant-core:0
- dev-java/xerces:2
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- dev-java/ant-junit:0
- dev-java/junit:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-JAVA_ANT_CLASSPATH_TAGS="javac javadoc"
-
-EANT_BUILD_TARGET="jars"
-EANT_TEST_TARGET="run-tests -Djunit-available=true"
-EANT_DOC_TARGET="javadocs -Dbuild.javadocs=build/api"
-
-src_prepare() {
- java-pkg_clean
- use test && eapply "${FILESDIR}/${P}-test-classpath.patch"
- java-pkg-2_src_prepare
-}
-
-src_test() {
- java-pkg-2_src_test
-}
-
-src_install() {
- java-pkg_dojar target/lib/${PN}.jar
-
- java-pkg_register-ant-task
-
- dodoc NOTICE
- use doc && java-pkg_dojavadoc build/api
- use examples && java-pkg_doexamples src/samples/*
- use source && java-pkg_dosrc src/main/java/*
-}
diff --git a/dev-java/cpptasks/cpptasks-1.0_beta5-r2.ebuild b/dev-java/cpptasks/cpptasks-1.0_beta5-r2.ebuild
new file mode 100644
index 000000000000..425390046c7e
--- /dev/null
+++ b/dev-java/cpptasks/cpptasks-1.0_beta5-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc examples source test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="Ant-tasks to compile various source languages and produce executables"
+HOMEPAGE="https://ant-contrib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/ant-contrib/ant-contrib/${P/_/-}/${P/_beta/b}.tar.gz"
+S="${WORKDIR}/${P/_beta/b}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14:0
+ dev-java/xerces:2
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ test? (
+ >=dev-java/ant-1.10.14:0[junit]
+ dev-java/junit:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS="javac javadoc"
+
+EANT_BUILD_TARGET="jars"
+EANT_TEST_TARGET="run-tests -Djunit-available=true"
+EANT_DOC_TARGET="javadocs -Dbuild.javadocs=build/api"
+
+src_prepare() {
+ java-pkg_clean
+ use test && eapply "${FILESDIR}/${P}-test-classpath.patch"
+ java-pkg-2_src_prepare
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar target/lib/${PN}.jar
+
+ java-pkg_register-ant-task
+
+ dodoc NOTICE
+ use doc && java-pkg_dojavadoc build/api
+ use examples && java-pkg_doexamples src/samples/*
+ use source && java-pkg_dosrc src/main/java/*
+}
diff --git a/dev-java/dom4j/Manifest b/dev-java/dom4j/Manifest
index a884ea898fb6..5e15c8c800a1 100644
--- a/dev-java/dom4j/Manifest
+++ b/dev-java/dom4j/Manifest
@@ -1,2 +1,2 @@
-DIST dom4j-2.1.3.tar.gz 565918 BLAKE2B d6f8c9ae22f84086491ca7e60e5498edda727b219b4fe019da8f62a441dc3cea86ecf0554e32f8e717e21234b8ef8e2905946ab3722462f1fa748ad7e68e9e20 SHA512 8c4d7b4f2dd1b3f806e0d5103101998a094c31e9a4912539dcee32f24b35452c7f0d72c5f4cf55f8a8c9a416fee7284f9bca43ae56b0e66104b2b54fdb49ad96
+DIST dom4j-2.1.4.tar.gz 566090 BLAKE2B 3078389c947d6915f001a6b59e1398c037d9b696186a9386a00f79b6aec33093e1786903eff35d4d9766345c3fa4f644dd756b431f4f9772b988038d8b48ce17 SHA512 bb735222c8b7dd3788bd8be3b265814d8f3133d42b750a2911464c92dacff1172067d3eedd6736014879ea9e54af32d46a45224522e6a6f2607d25c0fc9e6f38
DIST jaxen-1.2.0.jar 232455 BLAKE2B 6bd16e8ac34f3af1b9d61218dc6a29862178516cfbb98c6834bf6db846b537e44b48db6ff578b3d67d32c3e2b142e44440a2fdcc6dc06a6ea427b04e6bf1f370 SHA512 cad582fc12d0741e9e6fd7e0cf80a50feb04f5ef42043df96f8a5b78476c77695d8b43836d2241f76b35676ea759921edd25eaeb2c04ec916eb138aa2901ce5f
diff --git a/dev-java/dom4j/dom4j-2.1.3.ebuild b/dev-java/dom4j/dom4j-2.1.3.ebuild
deleted file mode 100644
index 69be8c48e9fc..000000000000
--- a/dev-java/dom4j/dom4j-2.1.3.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom dom4j-2.1.3.pom --download-uri https://github.com/dom4j/dom4j/archive/refs/tags/version-2.1.3.tar.gz --slot 1 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild dom4j-2.1.3.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.dom4j:dom4j:2.1.3"
-JAVA_TESTING_FRAMEWORKS="testng"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="flexible XML framework for Java"
-HOMEPAGE="https://dom4j.github.io/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/version-${PV}.tar.gz -> ${P}.tar.gz
- https://repo1.maven.org/maven2/jaxen/jaxen/1.2.0/jaxen-1.2.0.jar"
-
-LICENSE="dom4j"
-SLOT="1"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-IUSE="jaxen"
-
-CDEPEND="
- dev-java/jaxb-api:2
- dev-java/xpp2:0
- dev-java/xpp3:0
- dev-java/xsdlib:0
- jaxen? ( dev-java/jaxen:1.2[dom4j] )
-"
-DEPEND="${CDEPEND}
- >=virtual/jdk-1.8:*
- test? ( dev-java/xerces:2 )
-"
-
-# Runtime dependencies
-# POM: ${P}.pom
-# javax.xml.bind:jaxb-api:2.2.12 -> !!!groupId-not-found!!!
-# javax.xml.stream:stax-api:1.0-2 -> java-virtuals/stax-api:0
-# jaxen:jaxen:1.1.6 -> >=dev-java/jaxen-1.2.0:1.2
-# net.java.dev.msv:xsdlib:2013.6.1 -> >=dev-java/xsdlib-20090415:0
-# pull-parser:pull-parser:2 -> >=dev-java/xpp2-2.1.10:0
-# xpp3:xpp3:1.1.4c -> >=dev-java/xpp3-1.1.4c:0
-
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*
-"
-
-PATCHES=(
- # XmlStartTag.java:31: error: ProxyXmlStartTag is not abstract and does not override abstract method removeAttributeByRawName
- # patch from https://github.com/dom4j/dom4j/pull/22
- "${FILESDIR}"/dom4j-2.1.3-xpp3-add-removeAttribute.patch
-)
-
-S="${WORKDIR}/${PN}-version-${PV}"
-
-# dom4j has a cyclic dependency on jaxen[dom4j].
-# The downloaded jaxen-1.2.0.jar is provided for compilation only.
-# No prebuilt software is actually installed onto the system.
-JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/jaxen-1.2.0.jar"
-JAVA_GENTOO_CLASSPATH="jaxb-api-2,xpp2,xpp3,xsdlib"
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="testng,xerces-2"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="xml"
-
-src_prepare() {
- default
-
- if use jaxen; then
- JAVA_GENTOO_CLASSPATH+=" jaxen-1.2"
- fi
-}
diff --git a/dev-java/dom4j/dom4j-2.1.4.ebuild b/dev-java/dom4j/dom4j-2.1.4.ebuild
new file mode 100644
index 000000000000..1d44328e98cd
--- /dev/null
+++ b/dev-java/dom4j/dom4j-2.1.4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.dom4j:dom4j:2.1.4"
+JAVA_TESTING_FRAMEWORKS="testng"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="flexible XML framework for Java"
+HOMEPAGE="https://dom4j.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/version-${PV}.tar.gz -> ${P}.tar.gz
+ https://repo1.maven.org/maven2/jaxen/jaxen/1.2.0/jaxen-1.2.0.jar"
+S="${WORKDIR}/${PN}-version-${PV}"
+
+LICENSE="dom4j"
+SLOT="1"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+IUSE="jaxen"
+
+CP_DEPEND="
+ dev-java/jaxb-api:2
+ dev-java/xpp2:0
+ dev-java/xpp3:0
+ dev-java/xsdlib:0
+"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ jaxen? ( dev-java/jaxen:1.2[dom4j] )
+ test? ( dev-java/xerces:2 )
+"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*
+ jaxen? ( dev-java/jaxen:1.2[dom4j] )
+"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.dom4j"
+
+# dom4j has a cyclic dependency on jaxen[dom4j].
+# The downloaded jaxen-1.2.0.jar is provided for compilation only.
+# No prebuilt software is actually installed onto the system.
+JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/jaxen-1.2.0.jar"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="testng,xerces-2"
+JAVA_TEST_RESOURCE_DIRS="xml"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ..
+
+ if use jaxen; then
+ JAVA_GENTOO_CLASSPATH+=" jaxen-1.2"
+ fi
+}
diff --git a/dev-java/dom4j/files/dom4j-2.1.3-xpp3-add-removeAttribute.patch b/dev-java/dom4j/files/dom4j-2.1.3-xpp3-add-removeAttribute.patch
deleted file mode 100644
index a58a06dfcd61..000000000000
--- a/dev-java/dom4j/files/dom4j-2.1.3-xpp3-add-removeAttribute.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java b/src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java
-index 08b88fc..aa27c10 100644
---- a/src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java
-+++ b/src/main/java/org/dom4j/xpp/ProxyXmlStartTag.java
-@@ -211,7 +211,7 @@ public class ProxyXmlStartTag implements XmlStartTag {
- * @throws XmlPullParserException
- * DOCUMENT ME!
- */
-- public void removeAtttributes() throws XmlPullParserException {
-+ public void removeAttributes() throws XmlPullParserException {
- if (element != null) {
- element.setAttributes(new ArrayList());
-
-@@ -221,6 +221,33 @@ public class ProxyXmlStartTag implements XmlStartTag {
- }
- }
-
-+ public boolean removeAttributeByName(String namespaceURI, String localName) throws XmlPullParserException {
-+ if (element != null) {
-+ for (Iterator<Attribute> iter = element.attributeIterator(); iter.hasNext();) {
-+ Attribute attribute = iter.next();
-+
-+ if (namespaceURI.equals(attribute.getNamespaceURI())
-+ && localName.equals(attribute.getName())) {
-+ return element.remove(attribute);
-+ }
-+ }
-+ }
-+ return false;
-+ }
-+
-+ public boolean removeAttributeByRawName(String rawName) throws XmlPullParserException {
-+ if (element != null) {
-+ for (Iterator<Attribute> iter = element.attributeIterator(); iter.hasNext();) {
-+ Attribute attribute = iter.next();
-+
-+ if (rawName.equals(attribute.getQualifiedName())) {
-+ return element.remove(attribute);
-+ }
-+ }
-+ }
-+ return false;
-+ }
-+
- public String getLocalName() {
- return element.getName();
- }
diff --git a/dev-java/easymock/easymock-2.5.2.ebuild b/dev-java/easymock/easymock-2.5.2.ebuild
index b1a4c88ddd5d..30cfb883f7a9 100644
--- a/dev-java/easymock/easymock-2.5.2.ebuild
+++ b/dev-java/easymock/easymock-2.5.2.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/easymock/easymock/archive/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="2.5"
-KEYWORDS="~amd64 ~arm"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/eclipse-ecj/Manifest b/dev-java/eclipse-ecj/Manifest
index 8445570a7ca7..3f8812e6ada6 100644
--- a/dev-java/eclipse-ecj/Manifest
+++ b/dev-java/eclipse-ecj/Manifest
@@ -1,2 +1,6 @@
DIST ecjsrc-4.15.jar 2166228 BLAKE2B 794e0ba1a19b325e2dd8ad0b288ccbe04866627670b50d39dd327c13fe1fac56200eb3a6c1c3d1af043cad795508b9b714a5243049671414b5a62a97725d3297 SHA512 ada55b2522cf26570f0cd43f415eb5cf20e6840f83dadc72e1ae474ebf10eadca73f9fa3d1db51e13fd2762c38cd3e3567db3c7840d43ae3d8665ebe35e1889d
-DIST ecjsrc-4.22.jar 2358194 BLAKE2B e091050297b4556c38adfb01fb1e43e13644af1b3c2b30a93cfe3fdbb55050a0f7709081c7406d384d7141de67a954253aa26cdbb45f56327b16ee5ddd5e82a7 SHA512 cd52a72aecded032625ee83581ac565e1e96f8d26ecfc76e982274fd3d6238f1e7f22576855589b021e9a5ef67686b9b75e010c4e2033a8b7f6e7c9b1ff7eb4c
+DIST ecjsrc-4.20.jar 2255761 BLAKE2B 42e16e1bd3d90b8d9bf3e57f83b3e06f2857a20db3e3ac065ce39e95fc47e75de33186115c36dede691bc37fd55fa8123f2220d13f3d5819404f5de702b10fd2 SHA512 fb27c0a37ed5cdfdcdbc904d067bfdd0477ddfd873a6cd8477d3b473734fd0e37329f0e9ab85dc5f89994d68d9886a488bd88568bc00e25f54c1a5a468dc1384
+DIST ecjsrc-4.26.jar 2347137 BLAKE2B 22e627178fe35f34cee7ba63e740ef2699bca691d460c81e97c2f18c197042cc0d901eea988331b3fa2ac7daa87daef9ee90bc1e62901935a6f2f3fe5f1e8534 SHA512 e53534160e6a2cdc8c5db7caec617d5671eb59954a86b9dcb36a514024c3205167c8416560796ce61d1aa188f551660f3bfd8eab46fefe9111c8f0b7a977342f
+DIST ecjsrc-4.27.jar 2301849 BLAKE2B 77f35d1a9f36086e8515dc9437894b84c88fd440bd48b5248b141191bc04babfcf1af288643ed21e41cb054bdcfa94125a7eb139cbec9ead97e366c65c1dbe95 SHA512 689fe9ed2327f1d0e89fd13c3543369e0e13d7f15f521fc7667352e7f8d7f0b48107bc180ac16cfad375449cc2b61de74bc8ca56c95cab9ef172260a9d3a530b
+DIST ecjsrc-4.30.jar 2330181 BLAKE2B 7f3ba7f8dbfcaea9f8bbcdb8161ae8f164e2bf3469cf2242b6b7df5d375c98322f810b9c6de7209f622740a2cc61704915d255559bd376bf158b114e30a17d40 SHA512 ddc1569082fad0dcf91a9d41d5ef5f2f694f007e1378af5f5f28893aeb91e99acef91af59c762010eba071fa8b8b8a9d367b08e23f91b8c73ceacc6e6150bb23
+DIST ecjsrc-4.31.jar 2347993 BLAKE2B edb1a525646fc3152661a6583ab5c50a1dd7f06dac0b7cdae0913843e0ed6ef2c9862889351557857140c79c479505aeca154958b649d05ace6a5b83f6ccac45 SHA512 3e72ae5e5209dd80f7b3f208aeb0a6eece28ab416c56eedd590c67724c6a905b39b8f27a41394e3cf6a96acc16a9c7dd91d12df9651bc289839648036ac2d430
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.15-r1.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.15-r1.ebuild
new file mode 100644
index 000000000000..63723662da43
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.15-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple prefix
+
+DMF="R-${PV}-202003050155"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
+SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV}.jar"
+S="${WORKDIR}"
+
+LICENSE="EPL-1.0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+SLOT="4.15"
+
+BDEPEND="
+ app-arch/unzip
+ app-arch/zip
+"
+COMMON_DEP="app-eselect/eselect-java"
+DEPEND="${COMMON_DEP}
+ >=dev-java/ant-1.10.14:0
+ >=virtual/jdk-11:*"
+RDEPEND="${COMMON_DEP}
+ !dev-java/ant-eclipse-ecj:4.15
+ >=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.eclipse.jdt.core.compiler.batch"
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_JAR_FILENAME="ecj.jar"
+JAVA_LAUNCHER_FILENAME="ecj-${SLOT}"
+JAVA_MAIN_CLASS="org.eclipse.jdt.internal.compiler.batch.Main"
+JAVA_RESOURCE_DIRS="res"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ find org META-INF -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t "${JAVA_RESOURCE_DIRS}" || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ insinto /usr/share/java-config-2/compiler
+ doins "${FILESDIR}/ecj-${SLOT}"
+ eprefixify "${ED}"/usr/share/java-config-2/compiler/ecj-${SLOT}
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.15.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.15.ebuild
deleted file mode 100644
index 56b7b7bfeed2..000000000000
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.15.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PN="ecj"
-DMF="R-${PV}-202003050155"
-
-DESCRIPTION="Eclipse Compiler for Java"
-HOMEPAGE="https://www.eclipse.org/"
-SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/${MY_PN}src-${PV}.jar"
-
-LICENSE="EPL-1.0"
-KEYWORDS="amd64 ~ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
-SLOT="4.15"
-IUSE="+ant"
-
-COMMON_DEP="
- app-eselect/eselect-java
- dev-java/ant-core:0"
-RDEPEND="${COMMON_DEP}
- virtual/jre"
-DEPEND="${COMMON_DEP}
- >=virtual/jdk-11
- app-arch/unzip"
-PDEPEND="
- ant? ( ~dev-java/ant-eclipse-ecj-${PV} )"
-
-JAVA_PKG_WANT_SOURCE="1.8"
-JAVA_PKG_WANT_TARGET="1.8"
-JAVA_JAR_FILENAME="${MY_PN}.jar"
-JAVA_GENTOO_CLASSPATH="ant-core"
-
-S="${WORKDIR}"
-
-# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=479134 for details
-src_prepare() {
- default
-
- # These have their own package.
- rm org/eclipse/jdt/core/JDTCompilerAdapter.java || die
- rm -r org/eclipse/jdt/internal/antadapter || die
-
- # JavaCore is not distributed in the jar
- sed -i -e '/import org.eclipse.jdt.core.JavaCore;/d' \
- -e 's|JavaCore.getOptions()||g' \
- org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.java
-}
-
-src_compile() {
- java-pkg-simple_src_compile
- find org META-INF -type f ! -name "*.java" | xargs jar uvf "${JAVA_JAR_FILENAME}" || die "jar update failed"
-}
-
-src_install() {
- java-pkg-simple_src_install
- java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
- org.eclipse.jdt.internal.compiler.batch.Main
-}
-
-pkg_postinst() {
- einfo "To select between slots of ECJ..."
- einfo " # eselect ecj"
-
- eselect ecj update ecj-${SLOT}
-}
-
-pkg_postrm() {
- eselect ecj update
-}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.20.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.20.ebuild
new file mode 100644
index 000000000000..9e78dd4ea2d0
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.20.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple prefix
+
+DMF="R-${PV/_rc/RC}-202106111600"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
+SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
+
+LICENSE="EPL-1.0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+SLOT="4.20"
+
+BDEPEND="app-arch/unzip"
+COMMON_DEP="app-eselect/eselect-java"
+DEPEND="${COMMON_DEP}
+ dev-java/ant:0
+ >=virtual/jdk-11:*"
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-1.8:*"
+
+HTML_DOCS=( about.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.eclipse.jdt.core.compiler.batch"
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_JAR_FILENAME="ecj.jar"
+JAVA_LAUNCHER_FILENAME="ecj-${SLOT}"
+JAVA_MAIN_CLASS="org.eclipse.jdt.internal.compiler.batch.Main"
+JAVA_RESOURCE_DIRS="res"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
+ rm META-INF/ECLIPSE_* || die
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ find -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t "${JAVA_RESOURCE_DIRS}" || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ insinto /usr/share/java-config-2/compiler
+ doins "${FILESDIR}/ecj-${SLOT}"
+ eprefixify "${ED}"/usr/share/java-config-2/compiler/ecj-${SLOT}
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.22-r1.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.22-r1.ebuild
deleted file mode 100644
index c98b01d949da..000000000000
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.22-r1.ebuild
+++ /dev/null
@@ -1,72 +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"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PN="ecj"
-DMF="R-${PV}-202111241800"
-
-DESCRIPTION="Eclipse Compiler for Java"
-HOMEPAGE="https://www.eclipse.org/"
-SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/${MY_PN}src-${PV}.jar"
-
-LICENSE="EPL-1.0"
-KEYWORDS="amd64 ~ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
-SLOT="4.22"
-IUSE="+ant"
-
-COMMON_DEP="
- app-eselect/eselect-java
- dev-java/ant-core:0"
-RDEPEND="${COMMON_DEP}
- >=virtual/jre-11:*"
-DEPEND="${COMMON_DEP}
- >=virtual/jdk-17:*
- app-arch/unzip"
-PDEPEND="
- ant? ( ~dev-java/ant-eclipse-ecj-${PV} )"
-
-JAVA_JAR_FILENAME="${MY_PN}.jar"
-JAVA_GENTOO_CLASSPATH="ant-core"
-
-S="${WORKDIR}"
-
-# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=479134 for details
-src_prepare() {
- default
-
- # These have their own package.
- rm org/eclipse/jdt/core/JDTCompilerAdapter.java || die
- rm -r org/eclipse/jdt/internal/antadapter || die
-
- # JavaCore is not distributed in the jar
- sed -i -e '/import org.eclipse.jdt.core.JavaCore;/d' \
- -e 's|JavaCore.getOptions()||g' \
- org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.java
-}
-
-src_compile() {
- java-pkg-simple_src_compile
- find org META-INF -type f ! -name "*.java" | xargs jar uvf "${JAVA_JAR_FILENAME}" || die "jar update failed"
-}
-
-src_install() {
- java-pkg-simple_src_install
- java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
- org.eclipse.jdt.internal.compiler.batch.Main
-}
-
-pkg_postinst() {
- einfo "To select between slots of ECJ..."
- einfo " # eselect ecj"
-
- eselect ecj update ecj-${SLOT}
-}
-
-pkg_postrm() {
- eselect ecj update
-}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.26-r2.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.26-r2.ebuild
new file mode 100644
index 000000000000..0a750385f6ab
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.26-r2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple prefix
+
+DMF="R-${PV}-202211231800"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
+SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV}.jar"
+S="${WORKDIR}"
+
+LICENSE="EPL-1.0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+SLOT="4.26"
+
+BDEPEND="
+ app-arch/unzip
+ app-arch/zip
+"
+COMMON_DEP="app-eselect/eselect-java"
+DEPEND="${COMMON_DEP}
+ >=dev-java/ant-1.10.14:0
+ >=virtual/jdk-17:*"
+RDEPEND="${COMMON_DEP}
+ !dev-java/ant-eclipse-ecj:4.26
+ >=virtual/jre-11:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.eclipse.jdt.core.compiler.batch"
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_JAR_FILENAME="ecj.jar"
+JAVA_LAUNCHER_FILENAME="ecj-${SLOT}"
+JAVA_MAIN_CLASS="org.eclipse.jdt.internal.compiler.batch.Main"
+JAVA_RESOURCE_DIRS="res"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ find org META-INF -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t "${JAVA_RESOURCE_DIRS}" || die
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+ #925083
+ # Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
+ zip -d ecj.jar "META-INF/ECLIPSE_.RSA" || die "Failed to remove ECLIPSE_.RSA"
+ zip -d ecj.jar "META-INF/ECLIPSE_.SF" || die "Failed to remove ECLIPSE_.SF"
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ insinto /usr/share/java-config-2/compiler
+ doins "${FILESDIR}/ecj-${SLOT}"
+ eprefixify "${ED}"/usr/share/java-config-2/compiler/ecj-${SLOT}
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.27.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.27.ebuild
new file mode 100644
index 000000000000..590dc3324bcb
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.27.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+# 3.36.0 according to
+# https://github.com/eclipse-jdt/eclipse.jdt.core/blob/R4_30/org.eclipse.jdt.core.compiler.batch/pom.xml#L20
+MAVEN_ID="org.eclipse.jdt:org.eclipse.jdt.core.compiler.batch:3.33.0"
+
+inherit java-pkg-2 java-pkg-simple prefix
+
+DMF="R-${PV/_rc/RC}-202303020300"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
+SRC_URI="https://archive.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
+
+LICENSE="EPL-1.0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+SLOT="4.27"
+
+BDEPEND="app-arch/unzip"
+COMMON_DEP="app-eselect/eselect-java"
+DEPEND="${COMMON_DEP}
+ dev-java/ant:0
+ >=virtual/jdk-17:*"
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-11:*"
+
+HTML_DOCS=( about.html )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.eclipse.jdt.core.compiler.batch"
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_JAR_FILENAME="ecj.jar"
+JAVA_LAUNCHER_FILENAME="ecj-${SLOT}"
+JAVA_MAIN_CLASS="org.eclipse.jdt.internal.compiler.batch.Main"
+JAVA_RESOURCE_DIRS="res"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
+ rm META-INF/ECLIPSE_* || die
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ find -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t "${JAVA_RESOURCE_DIRS}" || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ insinto /usr/share/java-config-2/compiler
+ doins "${FILESDIR}/ecj-${SLOT}"
+ eprefixify "${ED}"/usr/share/java-config-2/compiler/ecj-${SLOT}
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.30-r1.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.30-r1.ebuild
new file mode 100644
index 000000000000..b87cee1c3b1a
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.30-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+# 3.36.0 according to
+# https://github.com/eclipse-jdt/eclipse.jdt.core/blob/R4_30/org.eclipse.jdt.core.compiler.batch/pom.xml#L20
+MAVEN_ID="org.eclipse.jdt:org.eclipse.jdt.core.compiler.batch:3.36.0"
+
+inherit java-pkg-2 java-pkg-simple prefix
+
+DMF="R-${PV/_rc/RC}-202312010110"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
+SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
+S="${WORKDIR}"
+
+LICENSE="EPL-1.0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+SLOT="4.30"
+
+BDEPEND="
+ app-arch/unzip
+ app-arch/zip
+"
+COMMON_DEP="app-eselect/eselect-java"
+# ElementsImpl9.java:206: error:
+# method does not override or implement a method from a supertype
+DEPEND="${COMMON_DEP}
+ >=dev-java/ant-1.10.14:0
+ >=virtual/jdk-21:*"
+# Parser.java:1095: error:
+# pattern matching in instanceof is not supported in -source 11
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-17:*"
+
+DOCS=( org/eclipse/jdt/core/README.md )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.eclipse.jdt.core.compiler.batch"
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_JAR_FILENAME="ecj.jar"
+JAVA_LAUNCHER_FILENAME="ecj-${SLOT}"
+JAVA_MAIN_CLASS="org.eclipse.jdt.internal.compiler.batch.Main"
+JAVA_RESOURCE_DIRS="res"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ find -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t "${JAVA_RESOURCE_DIRS}" || die
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+ # Error: A JNI error has occurred, please check your installation and try again
+ # Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
+ zip -d ecj.jar "META-INF/ECLIPSE_.RSA" || die "Failed to remove ECLIPSE_.RSA"
+ zip -d ecj.jar "META-INF/ECLIPSE_.SF" || die "Failed to remove ECLIPSE_.SF"
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ insinto /usr/share/java-config-2/compiler
+ doins "${FILESDIR}/ecj-${SLOT}"
+ eprefixify "${ED}"/usr/share/java-config-2/compiler/ecj-${SLOT}
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild
new file mode 100644
index 000000000000..44e5c0c826be
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+# 3.36.0 according to
+# https://github.com/eclipse-jdt/eclipse.jdt.core/blob/R4_30/org.eclipse.jdt.core.compiler.batch/pom.xml#L20
+MAVEN_ID="org.eclipse.jdt:org.eclipse.jdt.core.compiler.batch:3.37.0"
+
+inherit java-pkg-2 java-pkg-simple prefix
+
+DMF="R-${PV/_rc/RC}-202402290520"
+
+DESCRIPTION="Eclipse Compiler for Java"
+HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
+SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
+S="${WORKDIR}"
+
+LICENSE="EPL-1.0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+SLOT="4.31"
+
+BDEPEND="app-arch/unzip"
+COMMON_DEP="app-eselect/eselect-java"
+# ElementsImpl9.java:206: error:
+# method does not override or implement a method from a supertype
+DEPEND="${COMMON_DEP}
+ >=dev-java/ant-1.10.14:0
+ >=virtual/jdk-21:*"
+# Parser.java:1095: error:
+# pattern matching in instanceof is not supported in -source 11
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-17:*"
+
+DOCS=( org/eclipse/jdt/core/README.md )
+PATCHES=( "${FILESDIR}/eclipse-ecj-4.31-java21.patch" )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.eclipse.jdt.core.compiler.batch"
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_JAR_FILENAME="ecj.jar"
+JAVA_LAUNCHER_FILENAME="ecj-${SLOT}"
+JAVA_MAIN_CLASS="org.eclipse.jdt.internal.compiler.batch.Main"
+JAVA_RESOURCE_DIRS="res"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+
+ # Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
+ rm META-INF/ECLIPSE_* || die
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ find -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t "${JAVA_RESOURCE_DIRS}" || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ insinto /usr/share/java-config-2/compiler
+ doins "${FILESDIR}/ecj-${SLOT}"
+ eprefixify "${ED}"/usr/share/java-config-2/compiler/ecj-${SLOT}
+}
+
+pkg_postinst() {
+ einfo "To select between slots of ECJ..."
+ einfo " # eselect ecj"
+
+ eselect ecj update ecj-${SLOT}
+}
+
+pkg_postrm() {
+ eselect ecj update
+}
diff --git a/dev-java/ant-eclipse-ecj/files/ecj-4.15 b/dev-java/eclipse-ecj/files/ecj-4.15
index f943dedcc19b..f943dedcc19b 100644
--- a/dev-java/ant-eclipse-ecj/files/ecj-4.15
+++ b/dev-java/eclipse-ecj/files/ecj-4.15
diff --git a/dev-java/eclipse-ecj/files/ecj-4.20 b/dev-java/eclipse-ecj/files/ecj-4.20
new file mode 100644
index 000000000000..c6ecf2c0deeb
--- /dev/null
+++ b/dev-java/eclipse-ecj/files/ecj-4.20
@@ -0,0 +1,7 @@
+JAVAC="@GENTOO_PORTAGE_EPREFIX@/usr/bin/ecj-4.20"
+PACKAGE="=dev-java/eclipse-ecj-4.20*"
+SUPPORTED_TARGET="1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19"
+SUPPORTED_SOURCE="1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19"
+ANT_BUILD_COMPILER="org.eclipse.jdt.core.JDTCompilerAdapter"
+ANT_BUILD_COMPILER_DEPS="eclipse-ecj-4.20"
+GENERATION="2"
diff --git a/dev-java/eclipse-ecj/files/ecj-4.26 b/dev-java/eclipse-ecj/files/ecj-4.26
new file mode 100644
index 000000000000..950088453264
--- /dev/null
+++ b/dev-java/eclipse-ecj/files/ecj-4.26
@@ -0,0 +1,7 @@
+JAVAC="@GENTOO_PORTAGE_EPREFIX@/usr/bin/ecj-4.25"
+PACKAGE="=dev-java/ant-eclipse-ecj-4.25*"
+SUPPORTED_TARGET="1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19"
+SUPPORTED_SOURCE="1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19"
+ANT_BUILD_COMPILER="org.eclipse.jdt.core.JDTCompilerAdapter"
+ANT_BUILD_COMPILER_DEPS="eclipse-ecj-4.26,ant-eclipse-ecj-4.26"
+GENERATION="2"
diff --git a/dev-java/eclipse-ecj/files/ecj-4.27 b/dev-java/eclipse-ecj/files/ecj-4.27
new file mode 100644
index 000000000000..29fb3b51444e
--- /dev/null
+++ b/dev-java/eclipse-ecj/files/ecj-4.27
@@ -0,0 +1,7 @@
+JAVAC="@GENTOO_PORTAGE_EPREFIX@/usr/bin/ecj-4.27"
+PACKAGE="=dev-java/eclipse-ecj-4.27*"
+SUPPORTED_TARGET="1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19"
+SUPPORTED_SOURCE="1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19"
+ANT_BUILD_COMPILER="org.eclipse.jdt.core.JDTCompilerAdapter"
+ANT_BUILD_COMPILER_DEPS="eclipse-ecj-4.27"
+GENERATION="2"
diff --git a/dev-java/eclipse-ecj/files/ecj-4.30 b/dev-java/eclipse-ecj/files/ecj-4.30
new file mode 100644
index 000000000000..65b04403b711
--- /dev/null
+++ b/dev-java/eclipse-ecj/files/ecj-4.30
@@ -0,0 +1,7 @@
+JAVAC="@GENTOO_PORTAGE_EPREFIX@/usr/bin/ecj-4.30"
+PACKAGE="=dev-java/ant-eclipse-ecj-4.30*"
+SUPPORTED_TARGET="1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19 20 21"
+SUPPORTED_SOURCE="1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19 20 21"
+ANT_BUILD_COMPILER="org.eclipse.jdt.core.JDTCompilerAdapter"
+ANT_BUILD_COMPILER_DEPS="eclipse-ecj-4.30,ant-eclipse-ecj-4.30"
+GENERATION="2"
diff --git a/dev-java/eclipse-ecj/files/ecj-4.31 b/dev-java/eclipse-ecj/files/ecj-4.31
new file mode 100644
index 000000000000..b5ed4e32a326
--- /dev/null
+++ b/dev-java/eclipse-ecj/files/ecj-4.31
@@ -0,0 +1,7 @@
+JAVAC="@GENTOO_PORTAGE_EPREFIX@/usr/bin/ecj-4.31"
+PACKAGE="=dev-java/eclipse-ecj-4.31*"
+SUPPORTED_TARGET="1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19 20 21 22"
+SUPPORTED_SOURCE="1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13 14 15 16 17 18 19 20 21 22"
+ANT_BUILD_COMPILER="org.eclipse.jdt.core.JDTCompilerAdapter"
+ANT_BUILD_COMPILER_DEPS="eclipse-ecj-4.31"
+GENERATION="2"
diff --git a/dev-java/eclipse-ecj/files/eclipse-ecj-4.31-java21.patch b/dev-java/eclipse-ecj/files/eclipse-ecj-4.31-java21.patch
new file mode 100644
index 000000000000..fc131777bcba
--- /dev/null
+++ b/dev-java/eclipse-ecj/files/eclipse-ecj-4.31-java21.patch
@@ -0,0 +1,12 @@
+# ./org/eclipse/jdt/internal/compiler/parser/Parser.java:4511: \
+# error: reference to StringTemplate is ambiguous
+--- a/org/eclipse/jdt/internal/compiler/parser/Parser.java
++++ b/org/eclipse/jdt/internal/compiler/parser/Parser.java
+@@ -56,6 +56,7 @@ import org.eclipse.jdt.core.compiler.InvalidInputException;
+ import org.eclipse.jdt.internal.compiler.ASTVisitor;
+ import org.eclipse.jdt.internal.compiler.CompilationResult;
+ import org.eclipse.jdt.internal.compiler.ast.*;
++import org.eclipse.jdt.internal.compiler.ast.StringTemplate;
+ import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
+ import org.eclipse.jdt.internal.compiler.codegen.ConstantPool;
+ import org.eclipse.jdt.internal.compiler.env.ICompilationUnit;
diff --git a/dev-java/eclipse-ecj/metadata.xml b/dev-java/eclipse-ecj/metadata.xml
index de58dba6e94e..d59675e7a795 100644
--- a/dev-java/eclipse-ecj/metadata.xml
+++ b/dev-java/eclipse-ecj/metadata.xml
@@ -12,7 +12,7 @@ as a batch-compiler by running the ecj-3.x script, or it can be
used with Ant by using the -lib option to and and setting
-Dbuild.compiler=ecj
</longdescription>
-<use>
- <flag name="ant">Support using ecj in Ant builds via <pkg>dev-java/ant-eclipse-ecj</pkg></flag>
-</use>
+<upstream>
+ <remote-id type="github">eclipse-jdt/eclipse.jdt.core</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/dev-java/eclipse-jdt-annotation/Manifest b/dev-java/eclipse-jdt-annotation/Manifest
new file mode 100644
index 000000000000..4bcbba688975
--- /dev/null
+++ b/dev-java/eclipse-jdt-annotation/Manifest
@@ -0,0 +1 @@
+DIST eclipse.jdt.core-4.30.tar.gz 13729445 BLAKE2B 9458ec92e3561d42505a602bb637c678c99b1997e2ba530048298d587cad9861066233e7f8e4b1cb22fd30ce50159aabc4e12295fb8231cc8840cdaac4f967a7 SHA512 b51c3ccc098b9100ad653baec7bbff108344ff0402de1cbb7e0f75d97c7b5b64a9746bc7b7f2faee8126bbb5a5f421fe7c54c428cc6403662626f4a566a9ead5
diff --git a/dev-java/eclipse-jdt-annotation/eclipse-jdt-annotation-4.30.ebuild b/dev-java/eclipse-jdt-annotation/eclipse-jdt-annotation-4.30.ebuild
new file mode 100644
index 000000000000..a7218797daaf
--- /dev/null
+++ b/dev-java/eclipse-jdt-annotation/eclipse-jdt-annotation-4.30.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.eclipse.jdt:org.eclipse.jdt.annotation:2.2.800"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JDT Annotations for Enhanced Null Analysis"
+HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
+SRC_URI="https://github.com/eclipse-jdt/eclipse.jdt.core/archive//R${PV//./_}.tar.gz -> eclipse.jdt.core-${PV}.tar.gz"
+S="${WORKDIR}/eclipse.jdt.core-R${PV//./_}/org.eclipse.jdt.annotation"
+
+LICENSE="EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.eclipse.jdt.annotation"
diff --git a/dev-java/eclipse-jdt-annotation/metadata.xml b/dev-java/eclipse-jdt-annotation/metadata.xml
new file mode 100644
index 000000000000..7ac29f83dafb
--- /dev/null
+++ b/dev-java/eclipse-jdt-annotation/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">eclipse-jdt/eclipse.jdt.core</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/emma/emma-2.0.5312-r4.ebuild b/dev-java/emma/emma-2.0.5312-r4.ebuild
deleted file mode 100644
index 0ea013aa1a3e..000000000000
--- a/dev-java/emma/emma-2.0.5312-r4.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Free Java code coverage tool"
-HOMEPAGE="http://emma.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}-src.zip"
-
-LICENSE="CPL-1.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-IUSE="+launcher"
-
-CDEPEND="
- dev-java/ant-core
- launcher? ( !sci-biology/emboss )"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-EANT_BUILD_TARGET="build"
-
-src_prepare() {
- default
- eapply "${FILESDIR}/${P}-java15api.patch"
- # bcp mangling unneccessary for 1.4+ and breaks with IBM 1.6 - bug #220463
- sed -e '/bootclasspathref/d' -e '/extdirs/d' -i build.xml || die
-}
-
-src_install() {
- java-pkg_dojar "dist/${PN}.jar"
- java-pkg_dojar "dist/${PN}_ant.jar"
- java-pkg_register-ant-task
-
- use launcher && java-pkg_dolauncher ${PN} --main emmarun
-
- # One of these does not have java sources
- use source && java-pkg_dosrc */*/com 2> /dev/null
-}
diff --git a/dev-java/emma/emma-2.0.5312-r6.ebuild b/dev-java/emma/emma-2.0.5312-r6.ebuild
new file mode 100644
index 000000000000..10a18486c01d
--- /dev/null
+++ b/dev-java/emma/emma-2.0.5312-r6.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_PROVIDES="
+ emma:emma:${PV}
+ emma:emma_ant:${PV}
+"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Free Java code coverage tool"
+HOMEPAGE="https://emma.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/emma/emma-release/${PV}/${P}-src.zip"
+S="${WORKDIR}/${P}"
+
+LICENSE="CPL-1.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+IUSE="+launcher"
+
+BDEPEND="app-arch/unzip"
+CP_DEPEND=">=dev-java/ant-1.10.14:0"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*
+ launcher? ( !sci-biology/emboss:0 )"
+
+PATCHES=( "${FILESDIR}/emma-2.0.5312-java15api.patch" )
+
+JAVADOC_CLASSPATH="ant"
+JAVADOC_SRC_DIRS=(
+ core/data core/java1{2,3,4}
+ ant/ant1{4,5}
+)
+
+src_prepare() {
+ default #780585
+}
+
+src_compile() {
+ einfo "Compiling emma.jar"
+ JAVA_JAR_FILENAME="emma.jar"
+ JAVA_MAIN_CLASS="emmarun"
+ JAVA_RESOURCE_DIRS=( core/res )
+ JAVA_SRC_DIR=( core/data core/java1{2,3,4} )
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":emma.jar"
+ rm -r target || die
+
+ einfo "Compiling emma_ant.jar"
+ JAVA_JAR_FILENAME="emma_ant.jar"
+ JAVA_MAIN_CLASS="com.vladium.emma.ANTMain"
+ JAVA_RESOURCE_DIRS=()
+ JAVA_SRC_DIR=( ant/ant1{4,5} )
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":emma_ant.jar"
+ rm -r target || die
+
+ use doc && ejavadoc
+}
+
+src_install() {
+ java-pkg_dojar "emma.jar" "emma_ant.jar"
+ java-pkg_register-ant-task
+
+ use launcher && java-pkg_dolauncher ${PN} --main emmarun
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc core/data/*
+ java-pkg_dosrc core/java1{2,3,4}/*
+ java-pkg_dosrc ant/ant1{4,5}*
+ fi
+}
diff --git a/dev-java/error-prone-annotations/Manifest b/dev-java/error-prone-annotations/Manifest
index a5e1af113ed1..4a467474141e 100644
--- a/dev-java/error-prone-annotations/Manifest
+++ b/dev-java/error-prone-annotations/Manifest
@@ -1 +1 @@
-DIST error-prone-2.7.1.tar.gz 1576363 BLAKE2B a204a6a0dfcc88e06ff4f9288764c33c72e1d0c692ba20ce34a1440025abbb96d510129e335a475ffecc037806c72a0e1a85f0ad55a5ee4402d7b731eabd057b SHA512 2e8ff78b2fc65a0a53244711a3b5dd3d42cd09c0c9cca8dde5c814ee3e9dbc6e2c44f8bdb778111c93cd867f9b85b8afae4fd0551eda9326c0a9b1aa1dcaaf92
+DIST error-prone-2.24.0.tar.gz 2808121 BLAKE2B a112cb2c2699b2522321c89f7875cf5978748f653225db2ce89dbca16eacb357689db79c1d584c034f987178e523baa07cedd43ecb96a53941cb2ebd3c26fe63 SHA512 9c3626c7d9e05a3dacf190c6e463b66ef5cb7b0de3b049884e243502ef7bb325c92433f2ac65dfcd72ddc0edada88dde0822c4fe91043de552d69f3b06611c26
diff --git a/dev-java/error-prone-annotations/error-prone-annotations-2.24.0.ebuild b/dev-java/error-prone-annotations/error-prone-annotations-2.24.0.ebuild
new file mode 100644
index 000000000000..0c56d4a3fbca
--- /dev/null
+++ b/dev-java/error-prone-annotations/error-prone-annotations-2.24.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.google.errorprone:error_prone_annotations:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java annotations for the Error Prone static analysis tool"
+HOMEPAGE="https://errorprone.info"
+SRC_URI="https://github.com/google/error-prone/archive/v${PV}.tar.gz -> error-prone-${PV}.tar.gz"
+S="${WORKDIR}/error-prone-${PV}/annotations"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.errorprone.annotations"
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/error-prone-annotations/error-prone-annotations-2.7.1.ebuild b/dev-java/error-prone-annotations/error-prone-annotations-2.7.1.ebuild
deleted file mode 100644
index 2e15db67603f..000000000000
--- a/dev-java/error-prone-annotations/error-prone-annotations-2.7.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# 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://codeload.github.com/google/error-prone/tar.gz/v2.7.1 --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild error-prone-annotations-2.7.1-r1.ebuild
-
-EAPI=7
-
-MY_PN="${PN%-annotations}"
-MY_P="${MY_PN}-${PV}"
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="com.google.errorprone:error_prone_annotations:${PV}"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java annotations for the Error Prone static analysis tool"
-HOMEPAGE="http://errorprone.info"
-SRC_URI="https://codeload.github.com/google/${MY_PN}/tar.gz/v${PV} -> ${MY_P}.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}/annotations"
-JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/failureaccess/Manifest b/dev-java/failureaccess/Manifest
deleted file mode 100644
index 6cdfcc4ae4a4..000000000000
--- a/dev-java/failureaccess/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST guava-30.1.1.tar.gz 5404546 BLAKE2B 818ef4b17c4f0c8e92c327f046434a3bb428ac35d6e95edd6d6be558c755d138a8ac7f8ad2032073cad131890d8f838e896fff84ba217f8305be8bd65c619a48 SHA512 23b30d886a3200b8f998897ca7bc424b2d223a4fecb03ab644e08a989a85f008e30ef093055e6305c4148a1eb8919c407e35d19f492c5b189830bd115e9484f2
diff --git a/dev-java/failureaccess/failureaccess-30.1.1.ebuild b/dev-java/failureaccess/failureaccess-30.1.1.ebuild
deleted file mode 100644
index 15e1ef59ea52..000000000000
--- a/dev-java/failureaccess/failureaccess-30.1.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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://codeload.github.com/google/guava/tar.gz/refs/tags/v30.1.1 --slot 0 --keywords "" --ebuild failureacess-30.1.1.ebuild
-
-EAPI=7
-
-MY_P=guava-${PV}
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="com.google.guava:failureaccess:1.0.1"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Guava's InternalFutureFailureAccess and InternalFutures classes."
-HOMEPAGE="https://github.com/google/guava/failureaccess"
-SRC_URI="https://codeload.github.com/google/guava/tar.gz/refs/tags/v${PV} -> ${MY_P}.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}"
-
-JAVA_SRC_DIR="futures/${PN}/src/com/google/common/util/concurrent/internal/"
diff --git a/dev-java/failureaccess/metadata.xml b/dev-java/failureaccess/metadata.xml
deleted file mode 100644
index 599c42537433..000000000000
--- a/dev-java/failureaccess/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <longdescription lang="en">
-Contains com.google.common.util.concurrent.internal.InternalFutureFailureAccess
-and InternalFutures. Most users will never need to use this artifact. Its
-classes are conceptually a part of Guava, but they're in this separate artifact
-so that Android libraries can use them without pulling in all of Guava (just as
-they can use ListenableFuture by depending on the listenablefuture artifact).
- </longdescription>
- <upstream>
- <remote-id type="github">google/guava</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/fec/fec-1.0.4-r4.ebuild b/dev-java/fec/fec-1.0.4-r4.ebuild
index 214363c410f6..62b81cfdee9d 100644
--- a/dev-java/fec/fec-1.0.4-r4.ebuild
+++ b/dev-java/fec/fec-1.0.4-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ JAVA_PKG_IUSE="doc source"
inherit flag-o-matic toolchain-funcs java-pkg-2 java-ant-2
DESCRIPTION="Forward Error Correction library in Java"
-HOMEPAGE="https://bitbucket.org/onionnetworks/"
+HOMEPAGE="https://github.com/hyphanet/contrib/blob/master/README"
SRC_URI="https://dev.gentoo.org/~monsieurp/packages/${P}.tar.gz"
LICENSE="BSD-2"
diff --git a/dev-java/fec/metadata.xml b/dev-java/fec/metadata.xml
index 9ec6a4a58c78..78b3badc46ff 100644
--- a/dev-java/fec/metadata.xml
+++ b/dev-java/fec/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>tommy@gentoo.org</email>
- <name>Thomas Sachau (Tommy[D])</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">hyphanet/contrib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/felix-framework/Manifest b/dev-java/felix-framework/Manifest
index 7c129e4b6fc7..61ae21b93439 100644
--- a/dev-java/felix-framework/Manifest
+++ b/dev-java/felix-framework/Manifest
@@ -1 +1,2 @@
-DIST felix-framework-7.0.5.tar.gz 505118 BLAKE2B 3652d46dfb4c9c5b43b159450b81ad896483fb2df40165d7e7b8bbd718c8e3297163065474bd10f3858ff7fc2646134ed470e34ede8eeb5efc05cec75f1a7aec SHA512 58fa96500fed827c348a47ac8672aeb4e5b94bfd681c4cde610b3a453fd2abfe2d631742281a192c76718ee83fc4c30980a5179926ff3bc7b8ea649ef07f34a3
+DIST org.apache.felix.framework-7.0.5-source-release.tar.gz 505118 BLAKE2B 3652d46dfb4c9c5b43b159450b81ad896483fb2df40165d7e7b8bbd718c8e3297163065474bd10f3858ff7fc2646134ed470e34ede8eeb5efc05cec75f1a7aec SHA512 58fa96500fed827c348a47ac8672aeb4e5b94bfd681c4cde610b3a453fd2abfe2d631742281a192c76718ee83fc4c30980a5179926ff3bc7b8ea649ef07f34a3
+DIST org.apache.felix.framework-7.0.5-source-release.tar.gz.asc 195 BLAKE2B 94d0afbb7f20119a3f75927e75dc10420caab1c6ce2c3cc5b2b8600a2fd6af4c9217df565cd922bd0017ec6ac54113cc2a894b60249978c87c61c7961d258dda SHA512 2b22f242b5d3ff6c38457908e801dc95abeca6c6427fe8eab4badae171692f9b8de6edf091dca78cc43c3a467a56aa85895cabdfa7eaa92faf6cb090e9fae8fa
diff --git a/dev-java/felix-framework/felix-framework-7.0.5-r2.ebuild b/dev-java/felix-framework/felix-framework-7.0.5-r2.ebuild
new file mode 100644
index 000000000000..2b2058c5acad
--- /dev/null
+++ b/dev-java/felix-framework/felix-framework-7.0.5-r2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.felix:org.apache.felix.framework:7.0.5"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Implementation of the OSGi R8 core framework specification"
+HOMEPAGE="https://felix.apache.org/documentation/subprojects/apache-felix-framework.html"
+SRC_URI="mirror://apache/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz
+ verify-sig? ( https://downloads.apache.org/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz.asc )"
+S="${WORKDIR}/org.apache.felix.framework-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="dev-java/animal-sniffer-annotations:0"
+
+DEPEND="${CP_DEPEND}
+ dev-java/felix-resolver:0
+ dev-java/osgi-annotation:0
+ >=virtual/jdk-11:*
+ test? (
+ dev-java/asm:9
+ dev-java/easymock:2.5
+ dev-java/mockito:0
+ )"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-felix )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/felix.apache.org.asc"
+
+JAVA_CLASSPATH_EXTRA="felix-resolver,osgi-annotation"
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="asm-9,junit-4,easymock-2.5,mockito"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # 58,91 pom.xml
+ cat > src/main/java/module-info.java <<-EOF
+ $( sed -n '/<moduleInfoSource>/,/<\/moduleInfoSource/p' pom.xml \
+ | grep -v moduleInfoSource )
+ EOF
+
+ sed -e 's/{dollar}//g' -i src/main/resources/default.properties || die
+
+ sed -e "s:\${pom.version}:${PV}:" \
+ -i src/main/resources/org/apache/felix/framework/Felix.properties || die
+
+ # bundling some classes from felix-resolver according to 99,132 pom.xml
+ # if we don't bundle compilation would fail with:
+ # src/main/java/module-info.java:23: error: package is empty or does not exist: org.osgi.service.resolver
+ cd src/main/resources || die
+ jar xvf "$(java-pkg_getjar --build-only felix-resolver felix-resolver.jar)" \
+ org/{apache/felix,osgi/service}/resolver/ || die
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+
+ # according to pom.xml, line 129
+ # grep the line between <Add-opens> and </Add-opens> from pom.xml
+ local add_opens="$(sed -n '/<Add-opens>/,/<\/Add-opens/p' pom.xml \
+ | grep -v Add-opens | tr -s '[:space:]')" || die
+ echo "Add-opens:${add_opens}" > "${T}/Add-opens-to-MANIFEST.MF" \
+ || die "Add-opens-to-MANIFEST.MF failed"
+ jar ufmv ${JAVA_JAR_FILENAME} "${T}/Add-opens-to-MANIFEST.MF" \
+ || die "updating MANIFEST.MF failed"
+}
+
+src_test() {
+ # java.base does not "opens java.lang" to unnamed module
+ # adding it to MANIFEST.MF would not fix the test failures.
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
+ fi
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/felix-framework/felix-framework-7.0.5.ebuild b/dev-java/felix-framework/felix-framework-7.0.5.ebuild
deleted file mode 100644
index cba95f677738..000000000000
--- a/dev-java/felix-framework/felix-framework-7.0.5.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# 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 mirror://apache/felix/org.apache.felix.framework-7.0.5-source-release.tar.gz --slot 0 --keywords "~amd64" --ebuild felix-framework-7.0.5.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.felix:org.apache.felix.framework:7.0.5"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Implementation of the OSGi R8 core framework specification"
-HOMEPAGE="https://felix.apache.org/documentation/subprojects/apache-felix-framework.html"
-SRC_URI="mirror://apache/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm"
-
-# Common dependencies
-# POM: pom.xml
-# org.codehaus.mojo:animal-sniffer-annotations:1.9 -> >=dev-java/animal-sniffer-annotations-1.15:0
-
-CP_DEPEND="dev-java/animal-sniffer-annotations:0"
-
-# Compile dependencies
-# POM: pom.xml
-# org.apache.felix:org.apache.felix.resolver:2.0.4 -> >=dev-java/felix-resolver-2.0.4:0
-# org.osgi:org.osgi.annotation:6.0.0 -> !!!artifactId-not-found!!!
-# POM: pom.xml
-# test? junit:junit:4.12 -> >=dev-java/junit-4.13.2:4
-# test? org.easymock:easymock:2.5.2 -> >=dev-java/easymock-2.5.2:2.5
-# test? org.mockito:mockito-all:1.10.19 -> !!!artifactId-not-found!!!
-# test? org.ow2.asm:asm-all:5.2 -> !!!artifactId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}
- dev-java/osgi-annotation:0
- dev-java/felix-resolver:0
- test? (
- dev-java/asm:4
- dev-java/easymock:2.5
- dev-java/mockito:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/org.apache.felix.framework-${PV}"
-
-JAVA_CLASSPATH_EXTRA="felix-resolver,osgi-annotation"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="asm-4,junit-4,easymock-2.5,mockito"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-src_prepare() {
- default
- # 58,91 pom.xml
- cat > src/main/java/module-info.java <<-EOF
- $( sed -n '/<moduleInfoSource>/,/<\/moduleInfoSource/p' pom.xml \
- | grep -v moduleInfoSource )
- EOF
-
- sed -e 's/{dollar}//g' -i src/main/resources/default.properties || die
-
- sed -e "s:\${pom.version}:${PV}:" \
- -i src/main/resources/org/apache/felix/framework/Felix.properties || die
-
- # bundling some classes from felix-resolver according to 99,132 pom.xml
- # if we don't bundle compilation would fail with:
- # src/main/java/module-info.java:23: error: package is empty or does not exist: org.osgi.service.resolver
- cd src/main/resources || die
- jar xvf "$(java-pkg_getjar --build-only felix-resolver felix-resolver.jar)" \
- org/{apache/felix,osgi/service}/resolver/ || die
-}
-
-src_compile() {
- java-pkg-simple_src_compile
-
- # according to pom.xml, line 129
- # grep the line between <Add-opens> and </Add-opens> from pom.xml
- local add_opens="$(sed -n '/<Add-opens>/,/<\/Add-opens/p' pom.xml \
- | grep -v Add-opens | tr -s '[:space:]')" || die
- echo "Add-opens:${add_opens}" > "${T}/Add-opens-to-MANIFEST.MF" \
- || die "Add-opens-to-MANIFEST.MF failed"
- jar ufmv ${JAVA_JAR_FILENAME} "${T}/Add-opens-to-MANIFEST.MF" \
- || die "updating MANIFEST.MF failed"
-}
-
-src_test() {
- # java.base does not "opens java.lang" to unnamed module
- # adding it to MANIFEST.MF would not fix the test failures.
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -ge 17; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
- fi
- java-pkg-simple_src_test
-}
diff --git a/dev-java/felix-gogo-runtime/Manifest b/dev-java/felix-gogo-runtime/Manifest
new file mode 100644
index 000000000000..a252dc474e84
--- /dev/null
+++ b/dev-java/felix-gogo-runtime/Manifest
@@ -0,0 +1,2 @@
+DIST felix-gogo-runtime-1.1.6.tar.gz 117060 BLAKE2B 5ffbc36688f7f69595c5087910e6b9007b57d4b60a6d18d9adee473987193b5fc478cf241229a32044abebf3e796394591e2626ad5560d1cbde0dfb572d62f7f SHA512 0cf431767506a0ca3f78a4e7c666bb9da7301d9968078653ef67deccc73da80e15e01e19ecd6e499215faa4236d46a4f4179b54798ba4d847cfe8a0d858e44ee
+DIST felix-gogo-runtime-1.1.6.tar.gz.asc 833 BLAKE2B 12ef2c9bf4d5f6e5dee1a10b1d6afcd366805361181f2621ed98f3c4a36db155e7c1b493152e528cd3a8e46ca12e61bda140a2e4c13b133374bb10ec47c4554a SHA512 05b8247508c477ad374f18e7dc22faa9d116c3416b6390173366391b6f7a726cbb604adcaecc013faf51b03cbde57f09d95891a283045d35ed809e01ae7d5dae
diff --git a/dev-java/felix-gogo-runtime/felix-gogo-runtime-1.1.6.ebuild b/dev-java/felix-gogo-runtime/felix-gogo-runtime-1.1.6.ebuild
new file mode 100644
index 000000000000..1367fbdf68df
--- /dev/null
+++ b/dev-java/felix-gogo-runtime/felix-gogo-runtime-1.1.6.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.felix:org.apache.felix.gogo.runtime:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Apache Felix Gogo Runtime"
+HOMEPAGE="https://felix.apache.org/documentation/subprojects/apache-felix-gogo.html"
+SRC_URI="mirror://apache/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dlcdn.apache.org/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz.asc -> ${P}.tar.gz.asc )"
+S="${WORKDIR}/org.apache.felix.gogo.runtime-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+CP_DEPEND="
+ dev-java/osgi-annotation:0
+ dev-java/osgi-cmpn:8
+ dev-java/osgi-core:0
+"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/mockito:2
+ )
+"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-felix )"
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/felix.apache.org.asc"
+
+PATCHES=( "${FILESDIR}/${P}-skip-tests-non-java-8.patch" )
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_EXCLUDES=(
+ #Invalid test class No runnable methods
+ org.apache.felix.gogo.runtime.TestEvaluate
+)
+JAVA_TEST_GENTOO_CLASSPATH="
+ junit-4
+ mockito-2
+"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default
+}
diff --git a/dev-java/felix-gogo-runtime/files/felix-gogo-runtime-1.1.6-skip-tests-non-java-8.patch b/dev-java/felix-gogo-runtime/files/felix-gogo-runtime-1.1.6-skip-tests-non-java-8.patch
new file mode 100644
index 000000000000..270b01be759a
--- /dev/null
+++ b/dev-java/felix-gogo-runtime/files/felix-gogo-runtime-1.1.6-skip-tests-non-java-8.patch
@@ -0,0 +1,22 @@
+skip tests that fail with java > 1.8 if java > 1.8 is used
+
+we compare here just that the first part of the version is 1
+which is true only for version 1.8, other versions have first number
+like 11, 17, 21 and those fail the condition hence the remaining tests
+are skipped
+we cannot use System.version() here as this is available only since java 9
+
+--- a/src/test/java/org/apache/felix/gogo/runtime/TestParser.java
++++ b/src/test/java/org/apache/felix/gogo/runtime/TestParser.java
+@@ -149,9 +149,10 @@ public class TestParser extends AbstractParserTest
+ assertEquals("def", c.execute("echo def|grep d.*|capture"));
+ assertEquals("def", c.execute("echoout def|grep d.*|capture"));
+ assertEquals("def", c.execute("myecho def|grep d.*|capture"));
+- assertEquals("def", c.execute("(echoout abc; echoout def; echoout ghi)|grep d.*|capture"));
+ assertEquals("", c.execute("echoout def; echoout ghi | grep d.* | capture"));
+ assertEquals("hello world", c.execute("echo hello world|capture"));
++ org.junit.Assume.assumeTrue("1".equals(System.getProperty("java.version").split("\\.")[0]));
++ assertEquals("def", c.execute("(echoout abc; echoout def; echoout ghi)|grep d.*|capture"));
+ assertEquals("defghi", c.execute("(echoout abc; echoout def; echoout ghi)|grep 'def|ghi'|capture"));
+ }
+
diff --git a/dev-java/felix-gogo-runtime/metadata.xml b/dev-java/felix-gogo-runtime/metadata.xml
new file mode 100644
index 000000000000..b2e227e0b6b2
--- /dev/null
+++ b/dev-java/felix-gogo-runtime/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://issues.apache.org/jira/browse/FELIX</bugs-to>
+ <doc>https://felix.apache.org/documentation/subprojects/apache-felix-gogo.html</doc>
+ <remote-id type="github">apache/felix-dev</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/felix-main/Manifest b/dev-java/felix-main/Manifest
new file mode 100644
index 000000000000..1535ea42b59a
--- /dev/null
+++ b/dev-java/felix-main/Manifest
@@ -0,0 +1,2 @@
+DIST org.apache.felix.main-7.0.5-source-release.tar.gz 255198 BLAKE2B 289e2305b15c28f985bee1d8687db6ecb5098a2086da6fd32a7db8572f83a1ac37e49deeb89d657d48b943a626d400caccd8185ced565e8c65aa558395aeef05 SHA512 e06f6c330a73100a739575e92a6f0af263a98643bbd6fd6661e799c2a11c8c9d9589f1f5b8802799ffcae7007e8362c629055fa8b25a50a4fa736ed2ba2955b0
+DIST org.apache.felix.main-7.0.5-source-release.tar.gz.asc 195 BLAKE2B 24ba68ada20056364a559fea71b1596b07e0adc669c4ddbed89e2aa14fa1937b3d21af793148c057cd2bd9817a6f2c87b5e6465ea537fe7bac69215f82d9945f SHA512 428ba861bbd51b58f8e00226ac33c186e7e91ca5469c24328b65adcfb2631b09a50847870eff483e6569a69e3e01a1c939315747f3b338462bb0e7a7d2757216
diff --git a/dev-java/felix-main/felix-main-7.0.5-r2.ebuild b/dev-java/felix-main/felix-main-7.0.5-r2.ebuild
new file mode 100644
index 000000000000..92f6f1035d8c
--- /dev/null
+++ b/dev-java/felix-main/felix-main-7.0.5-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.apache.felix:org.apache.felix.main:7.0.5"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Open source OSGi framework by Apache Software Foundation"
+HOMEPAGE="https://felix.apache.org/documentation/index.html"
+SRC_URI="mirror://apache/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz
+ verify-sig? ( https://downloads.apache.org/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz.asc )"
+S="${WORKDIR}/org.apache.felix.main-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# org.apache.felix:org.apache.felix.framework:7.0.5 -> >=dev-java/felix-framework-7.0.5:0
+
+CP_DEPEND="~dev-java/felix-framework-${PV}:0"
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-felix )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/felix.apache.org.asc"
+
+DOCS=( DEPENDENCIES NOTICE )
+
+JAVA_MAIN_CLASS="org.apache.felix.main.Main"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ default
+ # 58,91 pom.xml
+ cat > src/main/java/module-info.java <<-EOF || die
+ $( sed -n '/<moduleInfoSource>/,/<\/moduleInfoSource/p' pom.xml \
+ | grep -v moduleInfoSource )
+ EOF
+
+ # according to pom.xml, line 91
+ local add_opens="$( sed -n '/<Add-opens>/,/<\/Add-opens/p' pom.xml \
+ | grep -v Add-opens | tr -s '[:space:]')" || die
+ mkdir src/main/resources/META-INF || die
+ echo "Add-opens:${add_opens}" >> src/main/resources/META-INF/MANIFEST.MF \
+ || die "creating MANIFEST.MF failed"
+
+ # no idea what to do with felix.log.level=${log.level} here, but ...
+ sed -e 's/{dollar}//' -i src/main/resources/config.properties || die
+
+ # bundling some classes from felix-framework according to 78,94 pom.xml
+ # if we don't bundle compilation of module-info would fail
+ cd src/main/resources || die
+ jar xvf "$(java-pkg_getjar --build-only felix-framework felix-framework.jar)" \
+ default.properties org/ || die "felix-framework.jar does not exist"
+}
+
+src_install() {
+ dodoc -r doc
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/felix-main/metadata.xml b/dev-java/felix-main/metadata.xml
new file mode 100644
index 000000000000..2052253c1b6e
--- /dev/null
+++ b/dev-java/felix-main/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://issues.apache.org/jira/browse/FELIX</bugs-to>
+ <doc>https://felix.apache.org/documentation/</doc>
+ <remote-id type="github">apache/felix-dev</remote-id>
+ </upstream>
+ <longdescription>
+ Apache Felix is a community effort to implement the OSGi Framework and Service platform and other interesting OSGi-related technologies.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-java/felix-resolver/Manifest b/dev-java/felix-resolver/Manifest
index e66c365ab77e..81acaa68bcae 100644
--- a/dev-java/felix-resolver/Manifest
+++ b/dev-java/felix-resolver/Manifest
@@ -1 +1,2 @@
-DIST felix-resolver-2.0.4.tar.gz 164538 BLAKE2B 38d979557e484692bc6e47ce069bac5ca3c19f4b01b2d6222760708da571ca79166f4821c0b79c181a40c4228095dbe28f051e7d84d696cfddeef63f5a006ddd SHA512 bf4da4550b208dbe9e74cb4f66e9456fb0a3da66f6e60c08ebea88b68cc6f71200dcf324d22d85e6f5558e7f67335f8899e932de3b813a7fc7e9325eb8a31b61
+DIST org.apache.felix.resolver-2.0.4-source-release.tar.gz 164538 BLAKE2B 38d979557e484692bc6e47ce069bac5ca3c19f4b01b2d6222760708da571ca79166f4821c0b79c181a40c4228095dbe28f051e7d84d696cfddeef63f5a006ddd SHA512 bf4da4550b208dbe9e74cb4f66e9456fb0a3da66f6e60c08ebea88b68cc6f71200dcf324d22d85e6f5558e7f67335f8899e932de3b813a7fc7e9325eb8a31b61
+DIST org.apache.felix.resolver-2.0.4-source-release.tar.gz.asc 195 BLAKE2B feb81e5acb4a7dcc4f0b8d5e85e12739ab341f085925e3f6496a550571662b871e07c294d01f468a8cbb9e2314a2a6ec9ea1c313426dee606e70fa5bc7155be4 SHA512 dad0f1969176cbf3490a11221d37899f20e2f92e661ffa374fc4793f5064ffc8f8f9a6317b49911aafaeb96d582afe4c2660c29b3d907c092b89299b4e0720a8
diff --git a/dev-java/felix-resolver/felix-resolver-2.0.4-r1.ebuild b/dev-java/felix-resolver/felix-resolver-2.0.4-r1.ebuild
new file mode 100644
index 000000000000..e95f1cbbf3ad
--- /dev/null
+++ b/dev-java/felix-resolver/felix-resolver-2.0.4-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.felix:org.apache.felix.resolver:2.0.4"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Provide OSGi resolver service."
+HOMEPAGE="https://felix.apache.org/documentation/index.html"
+SRC_URI="mirror://apache/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz
+ verify-sig? ( https://downloads.apache.org/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz.asc )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/osgi-annotation:0
+ dev-java/osgi-core:0
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ test? (
+ dev-java/felix-utils:0
+ dev-java/mockito:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-felix )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/felix.apache.org.asc"
+
+DOCS=( DEPENDENCIES NOTICE doc/changelog.txt )
+
+S="${WORKDIR}/org.apache.felix.resolver-${PV}"
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="felix-utils,junit-4,mockito"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ # java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @73ec6027
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
+ fi
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/felix-resolver/felix-resolver-2.0.4.ebuild b/dev-java/felix-resolver/felix-resolver-2.0.4.ebuild
deleted file mode 100644
index ef19a29e18ef..000000000000
--- a/dev-java/felix-resolver/felix-resolver-2.0.4.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# 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 mirror://apache/felix/org.apache.felix.resolver-2.0.4-source-release.tar.gz --slot 0 --keywords "~amd64" --ebuild felix-resolver-2.0.4.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.felix:org.apache.felix.resolver:2.0.4"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Provide OSGi resolver service."
-HOMEPAGE="https://felix.apache.org/documentation/index.html"
-SRC_URI="mirror://apache/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm"
-
-# Common dependencies
-# POM: pom.xml
-# org.osgi:org.osgi.core:5.0.0 -> >=dev-java/osgi-core-api-5.0.0:0
-# org.osgi:osgi.annotation:6.0.1 -> >=dev-java/osgi-annotation-8.1.0:0
-
-CP_DEPEND="
- dev-java/osgi-annotation:0
- dev-java/osgi-core:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.11 -> >=dev-java/junit-4.13.2:4
-# test? org.apache.felix:org.apache.felix.utils:1.8.0 -> >=dev-java/felix-utils-1.11.8:0
-# test? org.mockito:mockito-all:1.10.19 -> !!!artifactId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- dev-java/felix-utils:0
- dev-java/mockito:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( DEPENDENCIES NOTICE doc/changelog.txt )
-
-S="${WORKDIR}/org.apache.felix.resolver-${PV}"
-
-JAVA_RESOURCE_DIRS="src/main/resources"
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="felix-utils,junit-4,mockito"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-src_test() {
- # java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @73ec6027
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -ge 17; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
- fi
- java-pkg-simple_src_test
-}
diff --git a/dev-java/felix-utils/Manifest b/dev-java/felix-utils/Manifest
index 5cdf8cb77b6b..7f59424e9061 100644
--- a/dev-java/felix-utils/Manifest
+++ b/dev-java/felix-utils/Manifest
@@ -1 +1,2 @@
-DIST felix-utils-1.11.8.tar.gz 90519 BLAKE2B 2fe6ce8101e8e4d9533a2decacc581d35babd3a26747598a196ade7cea787d6e379968208619dc9c4d89c8f670ccb98124223828c852347f859c4ae3a7f284c8 SHA512 cef0f05754857a5863869145b3c465a1fea0d41767637df904b0b041579af18e5b5e3c8e09dc89f0e2e3d252585e0765b6b6e34bf932df1ebdc62a7127ac8cfd
+DIST org.apache.felix.utils-1.11.8-source-release.tar.gz 90519 BLAKE2B 2fe6ce8101e8e4d9533a2decacc581d35babd3a26747598a196ade7cea787d6e379968208619dc9c4d89c8f670ccb98124223828c852347f859c4ae3a7f284c8 SHA512 cef0f05754857a5863869145b3c465a1fea0d41767637df904b0b041579af18e5b5e3c8e09dc89f0e2e3d252585e0765b6b6e34bf932df1ebdc62a7127ac8cfd
+DIST org.apache.felix.utils-1.11.8-source-release.tar.gz.asc 833 BLAKE2B 231acada5011f33a62460d027e76630fecbe15acd5dedc76673a80b6cd4de1ec7ae13a890cd02231a6e94a5555a33154c9144e514058733827841e98ab509d18 SHA512 06755950ed4d2d943c08d76c0abcfc8846f478e8a18543f551913ec7d74d1a946dc7c9f34444b4191186e41e7bd70594db8462c1bc7c895011696c03ada06921
diff --git a/dev-java/felix-utils/felix-utils-1.11.8-r1.ebuild b/dev-java/felix-utils/felix-utils-1.11.8-r1.ebuild
new file mode 100644
index 000000000000..7ddf0241d207
--- /dev/null
+++ b/dev-java/felix-utils/felix-utils-1.11.8-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.felix:org.apache.felix.utils:1.11.8"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Utility classes for OSGi"
+HOMEPAGE="https://felix.apache.org/documentation/index.html"
+SRC_URI="mirror://apache/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz
+ verify-sig? ( https://downloads.apache.org/felix/org.apache.${PN//-/.}-${PV}-source-release.tar.gz.asc )"
+S="${WORKDIR}/org.apache.felix.utils-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ dev-java/osgi-cmpn:8
+ dev-java/osgi-core:0
+ test? (
+ dev-java/mockito:4
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-felix )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/felix.apache.org.asc"
+
+PATCHES=(
+ "${FILESDIR}/felix-utils-1.11.8-Port-to-osgi-cmpn.patch"
+)
+
+DOCS=( DEPENDENCIES NOTICE doc/changelog.txt )
+
+JAVA_CLASSPATH_EXTRA="osgi-cmpn-8,osgi-core"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+src_prepare() {
+ default # https://bugs.gentoo.org/780585
+}
diff --git a/dev-java/felix-utils/felix-utils-1.11.8.ebuild b/dev-java/felix-utils/felix-utils-1.11.8.ebuild
deleted file mode 100644
index 51201309615f..000000000000
--- a/dev-java/felix-utils/felix-utils-1.11.8.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# 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 mirror://apache/felix/org.apache.felix.utils-1.11.8-source-release.tar.gz --slot 0 --keywords "~amd64" --ebuild felix-utils-1.11.8.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.felix:org.apache.felix.utils:1.11.8"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Utility classes for OSGi"
-HOMEPAGE="https://felix.apache.org/documentation/index.html"
-SRC_URI="mirror://apache/felix/org.apache.felix.utils-${PV}-source-release.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm"
-
-# Compile dependencies
-# POM: pom.xml
-# org.osgi:osgi.cmpn:5.0.0 -> >=dev-java/osgi-cmpn-8.0.0:8
-# org.osgi:osgi.core:5.0.0 -> >=dev-java/osgi-core-8.0.0:0
-# POM: pom.xml
-# test? junit:junit:4.12 -> >=dev-java/junit-4.13.2:4
-# test? org.mockito:mockito-core:2.18.3 -> >=dev-java/mockito-4.7.0:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- dev-java/osgi-cmpn:8
- dev-java/osgi-core:0
- test? (
- dev-java/mockito:4
- )
-"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-PATCHES=(
- "${FILESDIR}/felix-utils-1.11.8-Port-to-osgi-cmpn.patch"
-)
-
-DOCS=( DEPENDENCIES NOTICE doc/changelog.txt )
-
-S="${WORKDIR}/org.apache.felix.utils-${PV}"
-
-JAVA_CLASSPATH_EXTRA="osgi-cmpn-8,osgi-core"
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- default # https://bugs.gentoo.org/780585
-}
diff --git a/dev-java/findbugs-annotations/findbugs-annotations-3.0.1.ebuild b/dev-java/findbugs-annotations/findbugs-annotations-3.0.1.ebuild
index 5270eda74562..99153285f62d 100644
--- a/dev-java/findbugs-annotations/findbugs-annotations-3.0.1.ebuild
+++ b/dev-java/findbugs-annotations/findbugs-annotations-3.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
@@ -12,8 +12,9 @@ MAVEN_ID="com.google.code.findbugs:findbugs-annotations:3.0.1"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Annotation defined by the FindBugs tool"
-HOMEPAGE="http://findbugs.sourceforge.net/"
+HOMEPAGE="https://findbugs.sourceforge.net/"
SRC_URI="https://repo1.maven.org/maven2/com/google/code/findbugs/${PN}/${PV}/${P}-sources.jar"
+S="${WORKDIR}"
LICENSE="LGPL-3"
SLOT="0"
@@ -37,5 +38,3 @@ RDEPEND="
${CP_DEPEND}"
BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
diff --git a/dev-java/findbugs-annotations/metadata.xml b/dev-java/findbugs-annotations/metadata.xml
index 75321cfb5598..8a3dfbf0281d 100644
--- a/dev-java/findbugs-annotations/metadata.xml
+++ b/dev-java/findbugs-annotations/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="sourceforge">findbugs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/fishbowl/fishbowl-1.4.1.ebuild b/dev-java/fishbowl/fishbowl-1.4.1.ebuild
index 7d6536357a1b..a00f47a95146 100644
--- a/dev-java/fishbowl/fishbowl-1.4.1.ebuild
+++ b/dev-java/fishbowl/fishbowl-1.4.1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://github.com/stefanbirkner/${PN}/archive/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
# Compile dependencies
# POM: pom.xml
diff --git a/dev-java/fishbowl/metadata.xml b/dev-java/fishbowl/metadata.xml
index 75321cfb5598..9a4cc6850f96 100644
--- a/dev-java/fishbowl/metadata.xml
+++ b/dev-java/fishbowl/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">stefanbirkner/fishbowl</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/fontbox/Manifest b/dev-java/fontbox/Manifest
index 3336cdec5c6b..088db0a2393c 100644
--- a/dev-java/fontbox/Manifest
+++ b/dev-java/fontbox/Manifest
@@ -3,4 +3,4 @@ DIST NotoEmoji-Regular.ttf 418804 BLAKE2B e94f7b1d5bced052ff3f15a32ecce8f0f1dc2e
DIST NotoSansSC-Regular.otf 8481960 BLAKE2B 3eee2c1e6be5e013d2ed679ccb361221e3e410150c7dc32d570382355e80e540c71be9009ece9951eea2379fb08fc05d8bcd65e941677660c55b450d660e8b03 SHA512 cbdd317d16099d24736457eef631353c7830a1a3c132b01f2cdc1e6a0c21a78e3b1fe8479b3f40179e7630a15cc23a093775bb22d521dba39376bb367d497b21
DIST OpenSans-Regular.pfb 100962 BLAKE2B ff906c67a79df9d8deb9736f7439ba5429b72940b6a6fa49751fdea88adef70a3b57f28b2c31014da3206efe601095a8caeb98382fb36f8544afd0bec5cce355 SHA512 2787fcecc0feb1c9e6ff0d8de6193658413863e44eaab572751ca7e6c3b369c0a9731f4952cb0821f307760f0422f77c5f0d3fe7df6b054643fb39423e8d70ee
DIST SourceSansProBold.otf 104072 BLAKE2B 2c6538ed97cca04a6a38a1bcca7def6c9e923f0e7a773c2715d50ca1a526b1ff683bc6544155b1e170fb828c3923d6b22cdf7017f9da9de164523f328c1cc187 SHA512 28a044a2685fbc8da7810d9ac7b6b93a95542d504d7d8e671f009b8ebb2f5b70c974be7ea78974b188d8e6ab17d65b08f276c054927857315d5aad26f6fe36fc
-DIST pdfbox-2.0.26-src.zip 15766524 BLAKE2B eafedf1db5a54d36cb42111b736ad79adfcc106630fa4b2bc57873dcfbdbbb7bd0e9408611b0d8771909e719813e388430944ae0fbaf800bdc859595de2b101b SHA512 e14c57e28d10324dbcb6ad239bad5751a2dab0035bbd80427afd03f65467ec1376ddd7d08e7cefd4d950b149f85d8f505f6f50cc3093fd65bb8a2cbb2b8c7c1e
+DIST pdfbox-2.0.27-src.zip 15770627 BLAKE2B 9f93d597141ff3da39b69da3ce989a0cc7f4020071e5cb1609a8b86d0f12a3219037cb4c7b276acf58ee6b07d842b6d7c76e14fdf79e9efdeac401048e345f89 SHA512 59a5675f5d1d34f092adc019679f7d10e7e93c0f554a002ac29d48cbffcaa600d930309fa94a92191c01ead8da905cbb37ce5e233dcc9b8732a881d4abf75def
diff --git a/dev-java/fontbox/fontbox-2.0.26.ebuild b/dev-java/fontbox/fontbox-2.0.26.ebuild
deleted file mode 100644
index 693dc662a08d..000000000000
--- a/dev-java/fontbox/fontbox-2.0.26.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# 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 mirror://apache/pdfbox/2.0.26/pdfbox-2.0.26-src.zip --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild fontbox-2.0.26.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.pdfbox:fontbox:2.0.26"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="An open source Java library for parsing font files"
-HOMEPAGE="https://pdfbox.apache.org/"
-SRC_URI="mirror://apache/pdfbox/${PV}/pdfbox-${PV}-src.zip
- test? (
- https://issues.apache.org/jira/secure/attachment/12684264/SourceSansProBold.otf
- https://issues.apache.org/jira/secure/attachment/12896461/NotoEmoji-Regular.ttf
- https://issues.apache.org/jira/secure/attachment/12809395/DejaVuSansMono.ttf
- https://issues.apache.org/jira/secure/attachment/13036376/NotoSansSC-Regular.otf
- http://mirrors.ctan.org/fonts/opensans/type1/OpenSans-Regular.pfb
- )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pdfbox-${PV}/${PN}/pom.xml
-# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
-
-CP_DEPEND="dev-java/commons-logging:0"
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*"
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/pdfbox-${PV}/${PN}"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_test() {
- mkdir --parents target/{pdfs,fonts} || die
- cp \
- "${DISTDIR}"/SourceSansProBold.otf \
- "${DISTDIR}"/NotoEmoji-Regular.ttf \
- "${DISTDIR}"/DejaVuSansMono.ttf \
- "${DISTDIR}"/NotoSansSC-Regular.otf \
- "target/pdfs" || die
- cp "${DISTDIR}"/OpenSans-Regular.pfb \
- "target/fonts" || die
-
- java-pkg-simple_src_test
-}
diff --git a/dev-java/fontbox/fontbox-2.0.27.ebuild b/dev-java/fontbox/fontbox-2.0.27.ebuild
new file mode 100644
index 000000000000..98a6bc644ba5
--- /dev/null
+++ b/dev-java/fontbox/fontbox-2.0.27.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 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 mirror://apache/pdfbox/2.0.27/pdfbox-2.0.27-src.zip --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild fontbox-2.0.27.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.pdfbox:fontbox:2.0.27"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="An open source Java library for parsing font files"
+HOMEPAGE="https://pdfbox.apache.org/"
+SRC_URI="mirror://apache/pdfbox/${PV}/pdfbox-${PV}-src.zip
+ test? (
+ https://issues.apache.org/jira/secure/attachment/12684264/SourceSansProBold.otf
+ https://issues.apache.org/jira/secure/attachment/12896461/NotoEmoji-Regular.ttf
+ https://issues.apache.org/jira/secure/attachment/12809395/DejaVuSansMono.ttf
+ https://issues.apache.org/jira/secure/attachment/13036376/NotoSansSC-Regular.otf
+ https://mirrors.ctan.org/fonts/opensans/type1/OpenSans-Regular.pfb
+ )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
+
+CP_DEPEND="dev-java/commons-logging:0"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}/pdfbox-${PV}/${PN}"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.fontbox"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ mkdir --parents target/{pdfs,fonts} || die
+ cp \
+ "${DISTDIR}"/SourceSansProBold.otf \
+ "${DISTDIR}"/NotoEmoji-Regular.ttf \
+ "${DISTDIR}"/DejaVuSansMono.ttf \
+ "${DISTDIR}"/NotoSansSC-Regular.otf \
+ "target/pdfs" || die
+ cp "${DISTDIR}"/OpenSans-Regular.pfb \
+ "target/fonts" || die
+
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/fop/Manifest b/dev-java/fop/Manifest
index 0cbe07fc9d42..09319bb63d30 100644
--- a/dev-java/fop/Manifest
+++ b/dev-java/fop/Manifest
@@ -1,2 +1,4 @@
DIST fop-2.7-jars.tar.xz 7348 BLAKE2B 79a5b4f1948bbc9628e571a9873494e2d2088d7a90296e81e03cafa6ecd8f9d1c8dd6779d15c47a0e110304aa07e706c56412e3766a84e0a66c8224fdd92f61c SHA512 71c39cbb20416dc29beb8628ae8bac2a663c0b0d1f0418a241f3795a2d5e01159572c210b5a2d2eff8274247dc3631980de50fea4f94182ddde095d0e5e605c6
-DIST fop-2.7-src.tar.gz 26799877 BLAKE2B 00bcbd4cc915aad67c0dac54e85b7c5d10576115a0a8a16517846af249137c73b10c8b0ff161c9957f7c49686eefbf9777dc452b038573c996e29cbad951176a SHA512 bffbc0a97db8bbc826cf9af89fbf4a7e6f705585ea4915c0954df57c6d7af50d323387bb4bb9e2d13047826352d9eb7cbf4f23d5146ce246965b4c531e015633
+DIST fop-2.9-src.tar.gz 20642865 BLAKE2B 6ab265ddfb1c07b9266687930af21ac4653438800772da836dbceb14de126333dcff50c2cea1352ad77988ec7f7a3d4eef91341983edc13684abf2531634eb0a SHA512 d346c8fffd0d3ff5e803bea4233ce171972ded39b0c475b367333e37247da8f9e823c7e2e75fab735bf9282654d67befa2fa473f53a199cbd96b0f7305b3c093
+DIST fop-2.9-src.tar.gz.asc 833 BLAKE2B 284f04d450bcfb6583d353ae21bbadad8da14b59d946e094453b564e700c8cfdcb448ed206a5a246b725b453a1b3feea69f96ff3b2a683320bce6743cc5a167f SHA512 404d5df54cf84ddb11c7f5ebc6772d61cd04fc434dea421429a9a270e1d0ca17f61df8a33600db5a41c6d45f828a67fc26becfa9b4ac18342e9dfb4781dd0bdc
+DIST fop-hyph-2.0.jar 6655933 BLAKE2B bfbefcc2ebd9a9a467c23a70d7cef256f83cf2335f6e17db6bbefceaf8a3cee78de0302f269d096eb3238b3f4883429e09cc640bed11a42da4ef67ab9f0cb164 SHA512 3d5f27623008c7beba5332387bd42c501b7ae1dddfc98014b3fb35273394ca5f0a4ce69e7726090ec468c9b4f7983fb8b1a5759f49e81ea342c81c61311d87b3
diff --git a/dev-java/fop/files/fop-2.9-FO2StructureTreeConverterTestCase.patch b/dev-java/fop/files/fop-2.9-FO2StructureTreeConverterTestCase.patch
new file mode 100644
index 000000000000..87e36eb4b49c
--- /dev/null
+++ b/dev-java/fop/files/fop-2.9-FO2StructureTreeConverterTestCase.patch
@@ -0,0 +1,45 @@
+There were 2 failures:
+1) testRemoveBlocks(org.apache.fop.accessibility.fo.FO2StructureTreeConverterTestCase)
+org.junit.ComparisonFailure: expected:<....0" encoding="UTF-8"[ standalone="no"]?><structure-tree-se...> but was:<....0" encoding="UTF-8"[]?><structure-tree-se...>
+ at org.junit.Assert.assertEquals(Assert.java:117)
+ at org.junit.Assert.assertEquals(Assert.java:146)
+ at org.apache.fop.accessibility.fo.FO2StructureTreeConverterTestCase.compare(FO2StructureTreeConverterTestCase.java:225)
+ at org.apache.fop.accessibility.fo.FO2StructureTreeConverterTestCase.testRemoveBlocks(FO2StructureTreeConverterTestCase.java:150)
+2) testRemoveTableHeader(org.apache.fop.accessibility.fo.FO2StructureTreeConverterTestCase)
+org.junit.ComparisonFailure: expected:<....0" encoding="UTF-8"[ standalone="no"]?><structure-tree-se...> but was:<....0" encoding="UTF-8"[]?><structure-tree-se...>
+ at org.junit.Assert.assertEquals(Assert.java:117)
+ at org.junit.Assert.assertEquals(Assert.java:146)
+ at org.apache.fop.accessibility.fo.FO2StructureTreeConverterTestCase.compare(FO2StructureTreeConverterTestCase.java:225)
+ at org.apache.fop.accessibility.fo.FO2StructureTreeConverterTestCase.testRemoveTableHeader(FO2StructureTreeConverterTestCase.java:187)
+
+FAILURES!!!
+Tests run: 11, Failures: 2
+
+--- a/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
++++ b/fop-core/src/test/java/org/apache/fop/accessibility/fo/FO2StructureTreeConverterTestCase.java
+@@ -43,6 +43,7 @@ import javax.xml.transform.stream.StreamSource;
+
+ import org.custommonkey.xmlunit.Diff;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.w3c.dom.Document;
+ import org.xml.sax.SAXException;
+ import org.xml.sax.helpers.AttributesImpl;
+@@ -144,7 +145,7 @@ public class FO2StructureTreeConverterTestCase {
+ assertNull(d.getStructureTreeEventHandler().startNode("table-body", null, null));
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRemoveBlocks() throws Exception {
+ keepEmptyTags = false;
+ compare("<fo:root xmlns:fo=\"http://www.w3.org/1999/XSL/Format\">\n"
+@@ -180,7 +181,7 @@ public class FO2StructureTreeConverterTestCase {
+ + "</structure-tree-sequence>\n");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRemoveTableHeader() throws Exception {
+ keepEmptyTags = false;
+ String fo = IOUtils.toString(getResource("table-artifact.fo"), "utf8").replace("role=\"artifact\"", "");
diff --git a/dev-java/fop/files/fop-2.9-MissingLanguageWarningTestCase.patch b/dev-java/fop/files/fop-2.9-MissingLanguageWarningTestCase.patch
new file mode 100644
index 000000000000..b3c70d33356c
--- /dev/null
+++ b/dev-java/fop/files/fop-2.9-MissingLanguageWarningTestCase.patch
@@ -0,0 +1,88 @@
+There was 1 failure:
+1) testMissingLanguage(org.apache.fop.accessibility.pdf.MissingLanguageWarningTestCase)
+org.junit.ComparisonFailure: expected:<3[2:36]> but was:<3[0:37]>
+ at org.junit.Assert.assertEquals(Assert.java:117)
+ at org.junit.Assert.assertEquals(Assert.java:146)
+ at org.apache.fop.accessibility.pdf.MissingLanguageWarningTestCase$MissingLanguageEventChecker.processEvent(MissingLanguageWarningTestCase.java:65)
+ at org.apache.fop.events.CompositeEventListener.processEvent(CompositeEventListener.java:61)
+ at org.apache.fop.events.FOPEventListenerProxy.processEvent(FOPEventListenerProxy.java:70)
+ at org.apache.fop.apps.FOUserAgent$FOPEventBroadcaster.broadcastEvent(FOUserAgent.java:621)
+ at org.apache.fop.events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:170)
+ at jdk.proxy2/jdk.proxy2.$Proxy12.unknownLanguage(Unknown Source)
+ at org.apache.fop.render.pdf.PDFPainter$LanguageAvailabilityChecker.checkLanguageAvailability(PDFPainter.java:106)
+ at org.apache.fop.render.pdf.PDFPainter$LanguageAvailabilityChecker.access$000(PDFPainter.java:90)
+ at org.apache.fop.render.pdf.PDFPainter.prepareImageMCID(PDFPainter.java:238)
+ at org.apache.fop.render.pdf.PDFPainter.drawImageUsingURI(PDFPainter.java:216)
+ at org.apache.fop.render.pdf.PDFPainter.drawImage(PDFPainter.java:182)
+ at org.apache.fop.render.intermediate.IFRenderer.drawImage(IFRenderer.java:1306)
+ at org.apache.fop.render.intermediate.IFRenderer.renderImage(IFRenderer.java:1293)
+ at org.apache.fop.render.AbstractRenderer.renderInlineViewport(AbstractRenderer.java:1030)
+ at org.apache.fop.render.AbstractPathOrientedRenderer.renderInlineViewport(AbstractPathOrientedRenderer.java:836)
+ at org.apache.fop.render.intermediate.IFRenderer.renderInlineViewport(IFRenderer.java:860)
+ at org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:877)
+ at org.apache.fop.render.intermediate.IFRenderer.renderInlineArea(IFRenderer.java:924)
+ at org.apache.fop.render.AbstractRenderer.renderLineArea(AbstractRenderer.java:845)
+ at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:704)
+ at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:758)
+ at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:1004)
+ at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:689)
+ at org.apache.fop.render.AbstractRenderer.renderFlow(AbstractRenderer.java:591)
+ at org.apache.fop.render.AbstractPathOrientedRenderer.renderFlow(AbstractPathOrientedRenderer.java:789)
+ at org.apache.fop.render.AbstractRenderer.renderMainReference(AbstractRenderer.java:568)
+ at org.apache.fop.render.AbstractRenderer.renderBodyRegion(AbstractRenderer.java:433)
+ at org.apache.fop.render.AbstractRenderer.renderRegionViewport(AbstractRenderer.java:380)
+ at org.apache.fop.render.intermediate.IFRenderer.renderRegionViewport(IFRenderer.java:735)
+ at org.apache.fop.render.AbstractRenderer.renderPageAreas(AbstractRenderer.java:345)
+ at org.apache.fop.render.AbstractRenderer.renderPage(AbstractRenderer.java:318)
+ at org.apache.fop.render.intermediate.IFRenderer.renderPage(IFRenderer.java:584)
+ at org.apache.fop.area.RenderPagesModel.renderPage(RenderPagesModel.java:193)
+ at org.apache.fop.area.RenderPagesModel.checkPreparedPages(RenderPagesModel.java:174)
+ at org.apache.fop.area.RenderPagesModel.addPage(RenderPagesModel.java:146)
+ at org.apache.fop.layoutmgr.AbstractPageSequenceLayoutManager.finishPage(AbstractPageSequenceLayoutManager.java:316)
+ at org.apache.fop.layoutmgr.PageSequenceLayoutManager.finishPage(PageSequenceLayoutManager.java:243)
+ at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:147)
+ at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
+ at org.apache.fop.fo.DelegatingFOEventHandler.endPageSequence(DelegatingFOEventHandler.java:114)
+ at org.apache.fop.accessibility.fo.FO2StructureTreeConverter.endPageSequence(FO2StructureTreeConverter.java:184)
+ at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:140)
+ at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:390)
+ at org.apache.fop.fo.FOTreeBuilder$3.run(FOTreeBuilder.java:207)
+ at org.apache.fop.fo.FOTreeBuilder$3.run(FOTreeBuilder.java:204)
+ at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
+ at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:203)
+ at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102)
+ at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:618)
+ at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1728)
+ at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2899)
+ at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
+ at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
+ at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)
+ at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)
+ at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
+ at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
+ at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224)
+ at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485)
+ at org.apache.fop.accessibility.pdf.MissingLanguageWarningTestCase.testMissingLanguage(MissingLanguageWarningTestCase.java:90)
+
+FAILURES!!!
+Tests run: 10, Failures: 1
+
+--- a/fop-core/src/test/java/org/apache/fop/accessibility/pdf/MissingLanguageWarningTestCase.java
++++ b/fop-core/src/test/java/org/apache/fop/accessibility/pdf/MissingLanguageWarningTestCase.java
+@@ -31,6 +31,7 @@ import javax.xml.transform.stream.StreamSource;
+
+ import org.junit.Before;
+ import org.junit.Test;
++import org.junit.Ignore;
+
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertFalse;
+@@ -82,7 +83,7 @@ public class MissingLanguageWarningTestCase {
+ fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent, NullOutputStream.NULL_OUTPUT_STREAM);
+ }
+
+- @Test
++ @Test @Ignore
+ public void testMissingLanguage() throws Exception {
+ Source src = new StreamSource(getClass().getResourceAsStream("missing-language.fo"));
+ SAXResult res = new SAXResult(fop.getDefaultHandler());
diff --git a/dev-java/fop/files/fop-2.9-PDFEncodingTestCase.patch b/dev-java/fop/files/fop-2.9-PDFEncodingTestCase.patch
new file mode 100644
index 000000000000..8508de962382
--- /dev/null
+++ b/dev-java/fop/files/fop-2.9-PDFEncodingTestCase.patch
@@ -0,0 +1,31 @@
+There was 1 failure:
+1) testPDFEncodingWithStandardFont(org.apache.fop.render.pdf.PDFEncodingTestCase)
+java.lang.AssertionError: line containing 'PDFE_TEST_MARK_2' must contain 'XX_é_XX'
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.assertTrue(Assert.java:42)
+ at org.apache.fop.render.pdf.PDFEncodingTestCase.checkEncoding(PDFEncodingTestCase.java:159)
+ at org.apache.fop.render.pdf.PDFEncodingTestCase.runTest(PDFEncodingTestCase.java:128)
+ at org.apache.fop.render.pdf.PDFEncodingTestCase.testPDFEncodingWithStandardFont(PDFEncodingTestCase.java:78)
+
+FAILURES!!!
+Tests run: 3, Failures: 1
+
+--- a/fop-core/src/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java
++++ b/fop-core/src/test/java/org/apache/fop/render/pdf/PDFEncodingTestCase.java
+@@ -25,6 +25,7 @@ import java.io.File;
+ import java.io.IOException;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.xml.sax.SAXException;
+
+ import static org.junit.Assert.assertEquals;
+@@ -61,7 +62,7 @@ public class PDFEncodingTestCase extends BasePDFTest {
+ * Test using a standard FOP font
+ * @throws Exception checkstyle wants a comment here, even a silly one
+ */
+- @Test
++ @Test @Ignore
+ public void testPDFEncodingWithStandardFont() throws Exception {
+
+ /* If the PDF encoding is correct, a text dump of the generated PDF file contains this (excerpts)
diff --git a/dev-java/fop/files/fop-2.9-PDFToUnicodeCMapTestCase.patch b/dev-java/fop/files/fop-2.9-PDFToUnicodeCMapTestCase.patch
new file mode 100644
index 000000000000..f08052ac6483
--- /dev/null
+++ b/dev-java/fop/files/fop-2.9-PDFToUnicodeCMapTestCase.patch
@@ -0,0 +1,33 @@
+There was 1 failure:
+1) unpairedHighSurrogateTest(org.apache.fop.pdf.PDFToUnicodeCMapTestCase)
+java.lang.IllegalStateException: Event model isn't consistent with the EventProducer interface. Please rebuild FOP! Affected method: org.apache.fop.render.pdf.PDFEventProducer.unpairedSurrogate
+ at org.apache.fop.events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:155)
+ at jdk.proxy2/jdk.proxy2.$Proxy11.unpairedSurrogate(Unknown Source)
+ at org.apache.fop.pdf.PDFToUnicodeCMap$ToUnicodeCMapBuilder.writeBFCharEntries(PDFToUnicodeCMap.java:160)
+ at org.apache.fop.pdf.PDFToUnicodeCMap$ToUnicodeCMapBuilder.writeBFEntries(PDFToUnicodeCMap.java:108)
+ at org.apache.fop.pdf.PDFToUnicodeCMap$ToUnicodeCMapBuilder.writeCMap(PDFToUnicodeCMap.java:99)
+ at org.apache.fop.pdf.PDFToUnicodeCMapTestCase.buildAndAssertLine(PDFToUnicodeCMapTestCase.java:100)
+ at org.apache.fop.pdf.PDFToUnicodeCMapTestCase.unpairedHighSurrogateTest(PDFToUnicodeCMapTestCase.java:307)
+
+FAILURES!!!
+Tests run: 10, Failures:
+
+--- a/fop-core/src/test/java/org/apache/fop/pdf/PDFToUnicodeCMapTestCase.java
++++ b/fop-core/src/test/java/org/apache/fop/pdf/PDFToUnicodeCMapTestCase.java
+@@ -29,6 +29,7 @@ import java.util.Set;
+ import org.junit.Assert;
+ import org.junit.Before;
+ import org.junit.Test;
++import org.junit.Ignore;
+
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertNotNull;
+@@ -278,7 +279,7 @@ public class PDFToUnicodeCMapTestCase {
+ * Checks that an unpaired surrogate (a high-surrogate as the last code unit) is correctly handled.
+ * @throws IOException
+ */
+- @Test
++ @Test @Ignore
+ public void unpairedHighSurrogateTest() throws IOException {
+ final int charMapSize = 10;
+
diff --git a/dev-java/fop/fop-2.7.ebuild b/dev-java/fop/fop-2.7.ebuild
deleted file mode 100644
index a40189884199..000000000000
--- a/dev-java/fop/fop-2.7.ebuild
+++ /dev/null
@@ -1,158 +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="org.apache.xmlgraphics:fop:2.7"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="XML Graphics Format Object Processor All-In-One"
-HOMEPAGE="https://xmlgraphics.apache.org/fop/"
-SRC_URI="
- mirror://apache/xmlgraphics/fop/source/${P}-src.tar.gz
- https://dev.gentoo.org/~flow/distfiles/fop/${P}-jars.tar.xz
-"
-
-LICENSE="Apache-2.0"
-SLOT="2.7"
-KEYWORDS="amd64 ~arm64 ppc64 x86"
-
-CP_DEPEND="
- dev-java/batik:1.14
- dev-java/commons-io:1
- dev-java/fontbox:0
- dev-java/qdox:1.12
- dev-java/sun-jai-bin:0
- dev-java/xmlgraphics-commons:2
-"
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*
- dev-java/ant-core:0
- dev-java/sun-jai-bin:0
- test? (
- dev-java/mockito:4
- dev-java/pdfbox:0
- dev-java/xmlunit:1
- )
-"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( NOTICE README )
-
-S="${WORKDIR}/fop-${PV}"
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_compile() {
- JAVA_SRC_DIR="fop-util/src/main/java"
- JAVA_JAR_FILENAME="fop-util.jar"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":fop-util.jar"
- rm -r target || die
-
- JAVA_SRC_DIR="fop-events/src/main/java"
- JAVA_RESOURCE_DIRS="fop-events/src/main/resources"
- JAVA_JAR_FILENAME="fop-events.jar"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":fop-events.jar"
- rm -r target || die
-
- JAVA_SRC_DIR="fop-core/src/main/java"
- JAVA_RESOURCE_DIRS="fop-core/src/main/resources"
- JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' fop-core/pom.xml )
- JAVA_JAR_FILENAME="fop-core.jar"
- # Code generation according to
- # https://github.com/apache/xmlgraphics-fop/blob/fop-2_7/fop-core/pom.xml#L150-L219
- pushd fop-core/src/main/codegen/fonts >/dev/null || die
- local fonts=$(find . -name "Courier*.xml" \
- -o -name "Helvetica*.xml" \
- -o -name "Times*.xml" \
- -o -name "Symbol.xml" \
- -o -name "ZapfDingbats.xml"
- )
- for font in ${fonts}; do \
- xalan -XSLTC \
- -IN $font \
- -XSL font-file.xsl \
- -OUT ../../java/org/apache/fop/fonts/base14/${font//.xml}.java || die
- done
- xalan -XSLTC \
- -IN encodings.xml \
- -XSL code-point-mapping.xsl \
- -OUT ../../java/org/apache/fop/fonts/base14/CodePointMapping.java || die
- popd
- java-pkg-simple_src_compile
- rm -r target || die
-
- JAVA_GENTOO_CLASSPATH_EXTRA+=":fop-core.jar"
-
- # Update "fop-core.jar" with "event-mode.xml" files produced manually
- # by running "mvn package".
- mkdir event-model && pushd $_ >/dev/null || die
- jar -xf "${WORKDIR}/fop-2.7-core-event-models.jar"
- popd
- jar -uf "fop-core.jar" -C event-model . || die
- # Upstream does this with maven-antrun-plugin:
- # https://github.com/apache/xmlgraphics-fop/blob/fop-2_7/fop-core/pom.xml#L263-L284
-
- # public class EventProducerCollectorTask extends Task {
- #
- # private List<FileSet> filesets = new java.util.ArrayList<FileSet>();
- # private File destDir;
- # private File translationFile;
-
- if use doc; then \
- JAVA_SRC_DIR=(
- "fop-util/src/main/java"
- "fop-events/src/main/java"
- "fop-core/src/main/java"
- )
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
- fi
-}
-
-src_test() {
- JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4,pdfbox,xmlunit-1"
-
- JAVA_TEST_SRC_DIR="fop-events/src/test/java"
- JAVA_TEST_RUN_ONLY="org.apache.fop.events.BasicEventTestCase"
-
- # This jar file was created manually from the output of "mvn test".
- # Upstream does this with maven-antrun-plugin
- jar -xf "${WORKDIR}/fop-2.7-test-event-model.jar" || die
-
- java-pkg-simple_src_test
-
- sed \
- -e 's:verifyZeroInteractions:verifyNoInteractions:' \
- -i fop-core/src/test/java/org/apache/fop/render/intermediate/BorderPainterTestCase.java || die
-
- JAVA_TEST_SRC_DIR="fop-core/src/test/java"
- JAVA_TEST_RESOURCE_DIRS="fop-core/src/test/resources"
-
- java-pkg-simple_src_test
-}
-
-src_install() {
- for module in fop-util fop-events fop-core ; do
- java-pkg_dojar $module.jar
- if use source; then
- java-pkg_dosrc "$module/src/main/java/*"
- fi
- done
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
- java-pkg_dolauncher "fop-${SLOT}" --main "org.apache.fop.cli.Main"
- einstalldocs
-}
diff --git a/dev-java/fop/fop-2.9-r1.ebuild b/dev-java/fop/fop-2.9-r1.ebuild
new file mode 100644
index 000000000000..c9268c877d7d
--- /dev/null
+++ b/dev-java/fop/fop-2.9-r1.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.xmlgraphics:fop:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="XML Graphics Format Object Processor All-In-One"
+HOMEPAGE="https://xmlgraphics.apache.org/fop/"
+SRC_URI="
+ mirror://apache/xmlgraphics/fop/source/${P}-src.tar.gz
+ https://dev.gentoo.org/~flow/distfiles/fop/fop-2.7-jars.tar.xz
+ verify-sig? ( https://downloads.apache.org/xmlgraphics/fop/source/${P}-src.tar.gz.asc )
+ test? ( https://repo1.maven.org/maven2/net/sf/offo/fop-hyph/2.0/fop-hyph-2.0.jar )
+"
+S="${WORKDIR}/fop-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="2.8"
+KEYWORDS="amd64 ~arm64 ppc64 x86"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/xmlgraphics-fop.apache.org.asc"
+
+BDEPEND="
+ dev-java/xalan:0
+ verify-sig? ( sec-keys/openpgp-keys-apache-xmlgraphics-fop )
+"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14-r3:0
+ dev-java/batik:1.16
+ dev-java/commons-io:1
+ dev-java/commons-logging:0
+ dev-java/fontbox:0
+ dev-java/javax-servlet-api:2.2
+ dev-java/qdox:1.12
+ dev-java/sun-jai-bin:0
+ dev-java/xmlgraphics-commons:2
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/mockito:2
+ dev-java/pdfbox:0
+ dev-java/xmlunit:1
+ )
+"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( NOTICE README )
+
+PATCHES=(
+ "${FILESDIR}/fop-2.9-PDFEncodingTestCase.patch"
+ "${FILESDIR}/fop-2.9-PDFToUnicodeCMapTestCase.patch"
+ "${FILESDIR}/fop-2.9-MissingLanguageWarningTestCase.patch"
+ "${FILESDIR}/fop-2.9-FO2StructureTreeConverterTestCase.patch"
+)
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${P}-src.tar.gz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ java-pkg_clean
+ java-pkg-2_src_prepare
+ default
+}
+
+src_compile() {
+ # while ant could install multiple jar files we only need ant.jar
+ JAVA_GENTOO_CLASSPATH_EXTRA=":$(java-pkg_getjar ant ant.jar)"
+
+ JAVA_JAR_FILENAME="fop-util.jar"
+ JAVA_SRC_DIR="fop-util/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":fop-util.jar"
+ rm -r target || die
+
+ JAVA_JAR_FILENAME="fop-events.jar"
+ JAVA_RESOURCE_DIRS="fop-events/src/main/resources"
+ JAVA_SRC_DIR="fop-events/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":fop-events.jar"
+ rm -r target || die
+
+ JAVA_JAR_FILENAME="fop-core.jar"
+ JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' fop-core/pom.xml )
+ JAVA_RESOURCE_DIRS="fop-core/src/main/resources"
+ JAVA_SRC_DIR="fop-core/src/main/java"
+ # Code generation according to
+ # https://github.com/apache/xmlgraphics-fop/blob/fop-2_8/fop-core/pom.xml#L156-L225
+ pushd fop-core/src/main/codegen/fonts > /dev/null || die
+ local fonts=$(find . -name "Courier*.xml" \
+ -o -name "Helvetica*.xml" \
+ -o -name "Times*.xml" \
+ -o -name "Symbol.xml" \
+ -o -name "ZapfDingbats.xml"
+ )
+ for font in ${fonts}; do \
+ xalan -XSLTC \
+ -IN $font \
+ -XSL font-file.xsl \
+ -OUT ../../java/org/apache/fop/fonts/base14/${font//.xml}.java || die
+ done
+ xalan -XSLTC \
+ -IN encodings.xml \
+ -XSL code-point-mapping.xsl \
+ -OUT ../../java/org/apache/fop/fonts/base14/CodePointMapping.java || die
+ popd > /dev/null || die
+ java-pkg-simple_src_compile
+
+ # Update "fop-core.jar" with "event-mode.xml" files produced manually
+ # by running "mvn package".
+ # Upstream does this with maven-antrun-plugin:
+ # https://github.com/apache/xmlgraphics-fop/blob/fop-2_8/fop-core/pom.xml#L269-L290
+ mkdir event-model && pushd $_ > /dev/null || die
+ jar -xf "${WORKDIR}/fop-2.7-core-event-models.jar"
+ popd > /dev/null || die
+
+ jar -uf "fop-core.jar" -C event-model . || die
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":fop-core.jar"
+ rm -r target || die
+
+ if use doc; then \
+ JAVA_SRC_DIR=(
+ "fop-util/src/main/java"
+ "fop-events/src/main/java"
+ "fop-core/src/main/java"
+ )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test() {
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-2,pdfbox,xmlunit-1"
+
+ einfo "Testing fop-events"
+ JAVA_TEST_EXCLUDES="org.apache.fop.events.TestEventProducer"
+ JAVA_TEST_SRC_DIR="fop-events/src/test/java"
+ # This jar file was created manually from the output of "mvn test".
+ # Upstream does this with maven-antrun-plugin
+ jar -xf "${WORKDIR}/fop-2.7-test-event-model.jar" || die
+ mkdir generated-test || die
+ mv {target/test-classes,generated-test}/org || die
+ java-pkg-simple_src_test
+
+ einfo "Testing fop-core"
+ pushd fop-core/src/test/java > /dev/null || die
+ # Excluding one test, see https://bugs.gentoo.org/903880
+ local JAVA_TEST_RUN_ONLY=$(find * -type f \
+ -name "*TestCase.java" \
+ )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ # these tests would fail with java.lang.NoSuchMethodError if compiled with jdk-1.8
+ if ver_test "${vm_version}" -eq "1.8"; then
+ JAVA_TEST_RUN_ONLY=${JAVA_TEST_RUN_ONLY//org.apache.fop.render.pdf.PDFEncodingTestCase}
+ JAVA_TEST_RUN_ONLY=${JAVA_TEST_RUN_ONLY//org.apache.fop.fonts.truetype.OTFToType1TestCase}
+# org.apache.fop.render.pdf.PDFEncodingTestCase
+# org.apache.fop.fonts.truetype.OTFToType1TestCase
+ fi
+ popd > /dev/null || die
+ # https://github.com/apache/xmlgraphics-fop/blob/fop-2_8/fop-core/pom.xml#L297-L307
+ # <workingDirectory>../fop</workingDirectory>
+ pushd fop > /dev/null || die
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/fop-hyph-2.0.jar"
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":../fop-util.jar"
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":../fop-events.jar"
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":../fop-core.jar"
+ JAVA_TEST_RESOURCE_DIRS="../fop-core/src/test/resources"
+ JAVA_TEST_SRC_DIR="../fop-core/src/test/java"
+ java-pkg-simple_src_test
+ popd > /dev/null || die
+}
+
+src_install() {
+ local module
+ for module in fop-util fop-events fop-core ; do
+ java-pkg_dojar "${module}.jar"
+ if use source; then
+ java-pkg_dosrc "${module}/src/main/java/*"
+ fi
+ done
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+ java-pkg_dolauncher "fop-${SLOT}" --main "org.apache.fop.cli.Main"
+ einstalldocs
+}
diff --git a/dev-java/freenet-ext/Manifest b/dev-java/freenet-ext/Manifest
new file mode 100644
index 000000000000..196e8c487def
--- /dev/null
+++ b/dev-java/freenet-ext/Manifest
@@ -0,0 +1 @@
+DIST freenet-ext-29.tar.gz 4328779 BLAKE2B a9dc6dc34d6dbccc9f89c955f35b35024a7067aa8e89cf195492e77a8ebc92b73cc98e779c7f75ba6a430e994e856937be018a6505e1cda07eeea275925ee0e7 SHA512 11cf0942042483403cf526684a18c2b1766d3f6fb15c2ca4bdb59d95382ed86fcdb71a66d9f43a504abf3ca5c53f9da749086e462bbb56826beb95a2a7f1cbfa
diff --git a/dev-java/freenet-ext/files/freenet-ext-29-convert-jcpuid.patch b/dev-java/freenet-ext/files/freenet-ext-29-convert-jcpuid.patch
new file mode 100644
index 000000000000..e4c84b58ffee
--- /dev/null
+++ b/dev-java/freenet-ext/files/freenet-ext-29-convert-jcpuid.patch
@@ -0,0 +1,46 @@
+Backported from:
+
+From ec11ea4ca73646a790f20adf8ded2e48dedd96e5 Mon Sep 17 00:00:00 2001
+From: scintilla <scintilla>
+Date: Sun, 19 Dec 2004 06:25:27 +0000
+Subject: [PATCH] * Convert native jcpuid code from C++ to C. This should
+ alleviate build problems experienced by some users.
+
+--- /dev/null
++++ b/jcpuid/src/jcpuid.c
+@@ -0,0 +1,35 @@
++#include "jcpuid.h"
++
++//Executes the indicated subfunction of the CPUID operation
++JNIEXPORT jobject JNICALL Java_freenet_support_CPUInformation_CPUID_doCPUID
++ (JNIEnv * env, jclass cls, jint iFunction)
++{
++ int a,b,c,d;
++ jclass clsResult = (*env)->FindClass(env, "freenet/support/CPUInformation/CPUID$CPUIDResult");
++ jmethodID constructor = (*env)->GetMethodID(env, clsResult,"<init>","(IIII)V" );
++ #ifdef _MSC_VER
++ //Use MSVC assembler notation
++ _asm
++ {
++ mov eax, iFunction
++ cpuid
++ mov a, eax
++ mov b, ebx
++ mov c, ecx
++ mov d, edx
++ }
++ #else
++ //Use GCC assembler notation
++ asm
++ (
++ "cpuid"
++ : "=a" (a),
++ "=b" (b),
++ "=c"(c),
++ "=d"(d)
++ :"a"(iFunction)
++ );
++ #endif
++ return (*env)->NewObject(env, clsResult,constructor,a,b,c,d);
++}
++
diff --git a/dev-java/freenet-ext/freenet-ext-29.ebuild b/dev-java/freenet-ext/freenet-ext-29.ebuild
new file mode 100644
index 000000000000..9cac638d5835
--- /dev/null
+++ b/dev-java/freenet-ext/freenet-ext-29.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="" # Empty since we only pick what's not packaged
+
+inherit java-pkg-2 java-pkg-simple toolchain-funcs
+
+DESCRIPTION="Freenet REference Daemon"
+HOMEPAGE="https://github.com/hyphanet/contrib/"
+SRC_URI="https://github.com/hyphanet/contrib/archive/v${PV}.tar.gz -> freenet-ext-${PV}.tar.gz"
+S="${WORKDIR}/contrib-${PV}"
+
+LICENSE="public-domain"
+SLOT="29"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+DEPEND="
+ dev-libs/gmp:0=
+ >=virtual/jdk-1.8:*
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}/freenet-ext-29-convert-jcpuid.patch"
+)
+
+JAVA_SRC_DIR=(
+ "freenet"
+ "freenet_ext"
+ "i2p"
+)
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+ mkdir -p i2p/net freenet || die
+ # From the java directory we need "java/net/i2p"
+ mv {java,i2p}/net/i2p || die
+ # and "java/freenet".
+ mv {java,freenet}/freenet || die
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+
+ local compile_lib
+ compile_lib() {
+ local name="${1}"
+ local file="${2}"
+ shift 2
+
+ "$(tc-getCC)" "${@}" ${CFLAGS} $(java-pkg_get-jni-cflags) \
+ ${LDFLAGS} -shared -fPIC "-Wl,-soname,lib${name}.so" \
+ "${file}" -o "lib${name}.so"
+ }
+
+ cd "${S}/NativeBigInteger/jbigi" || die "unable to cd to jbigi"
+ compile_lib jbigi src/jbigi.c -Iinclude -lgmp ||
+ die "unable to build jbigi"
+
+ if use amd64 || use x86; then
+ cd "${S}/jcpuid" || die "unable to cd to jcpuid"
+ compile_lib jcpuid src/jcpuid.c -Iinclude ||
+ die "unable to build jcpuid"
+ fi
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ java-pkg_doso NativeBigInteger/jbigi/libjbigi.so
+
+ if use amd64 || use x86; then
+ java-pkg_doso jcpuid/libjcpuid.so
+ fi
+}
diff --git a/dev-java/freenet-ext/metadata.xml b/dev-java/freenet-ext/metadata.xml
new file mode 100644
index 000000000000..f76b8843b198
--- /dev/null
+++ b/dev-java/freenet-ext/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hyphanet/contrib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/gin/metadata.xml b/dev-java/gin/metadata.xml
index 0aaeb43aefdc..ffdab2e387f8 100644
--- a/dev-java/gin/metadata.xml
+++ b/dev-java/gin/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gienah@gentoo.org</email>
- <name>Mark Wright</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
diff --git a/dev-java/glassfish-persistence/Manifest b/dev-java/glassfish-persistence/Manifest
deleted file mode 100644
index bdd1ede41798..000000000000
--- a/dev-java/glassfish-persistence/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST glassfish-9_0-b48-src.zip 35162972 BLAKE2B ff96f2135c6bbdc60eadab6a6bd60b623ac1a3635e4465591ee75f6c1229e83f9f6424b46e42eb333eb6edd3ba1aba51897ab80ca5bd5c754e516a27a03381d9 SHA512 512ccd1c89a1bbd88ca1e45b1e60693bd3c4a6c6ffa19376febb786eb73556f27bc0ce4f0e760d6d80b0711206f6701e7c7da70ef3a5e0084ad0482246506a48
diff --git a/dev-java/glassfish-persistence/files/glassfish-persistence-1.0-python2.7-sax-parser.patch b/dev-java/glassfish-persistence/files/glassfish-persistence-1.0-python2.7-sax-parser.patch
deleted file mode 100644
index 51b1e8af9429..000000000000
--- a/dev-java/glassfish-persistence/files/glassfish-persistence-1.0-python2.7-sax-parser.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- glassfish/bootstrap/build.xml
-+++ glassfish/bootstrap/build.xml
-@@ -23,7 +23,7 @@
- -->
-
- <!DOCTYPE project [
-- <!ENTITY glassfish SYSTEM "file:./glassfish.xml">
-+ <!ENTITY glassfish SYSTEM "file:glassfish.xml">
- ]>
-
- <project name="Top Level Build" default="all" basedir=".">
diff --git a/dev-java/glassfish-persistence/glassfish-persistence-1.0-r2.ebuild b/dev-java/glassfish-persistence/glassfish-persistence-1.0-r2.ebuild
deleted file mode 100644
index 9bfaadee8841..000000000000
--- a/dev-java/glassfish-persistence/glassfish-persistence-1.0-r2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Glassfish implementation of persistence API"
-HOMEPAGE="https://javaee.github.io/glassfish/"
-SRC_URI="https://download.java.net/javaee5/fcs_branch/promoted/source/glassfish-9_0-b48-src.zip"
-
-LICENSE="CDDL"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-BDEPEND="app-arch/unzip"
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/glassfish"
-
-EANT_BUILD_XML="persistence-api/build.xml"
-EANT_BUILD_TARGET="all"
-
-PATCHES=(
- "${FILESDIR}"/${P}-python2.7-sax-parser.patch
-)
-
-src_prepare() {
- default
-}
-
-src_install() {
- cd "${WORKDIR}"/publish/glassfish || die
- java-pkg_newjar lib/javaee.jar
-
- insinto /usr/share/${PN}/lib/schemas
- doins lib/schemas/*.xsd
-}
diff --git a/dev-java/glassfish-persistence/metadata.xml b/dev-java/glassfish-persistence/metadata.xml
deleted file mode 100644
index 851b900d2361..000000000000
--- a/dev-java/glassfish-persistence/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-java/glassfish-xmlrpc-api/Manifest b/dev-java/glassfish-xmlrpc-api/Manifest
deleted file mode 100644
index 3d693289f613..000000000000
--- a/dev-java/glassfish-xmlrpc-api/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST glassfish-xmlrpc-api-1.1.1.tar.xz 35180 BLAKE2B 6121f16400b0aab16c7926636ebcefbd9e363bc5c1d76fde575da468179e32a54722d9ac6d14582a8947c3f990dda50f209c8e09223ea684e0477984fbdcf597 SHA512 7de8d5959c0f9f09cca6a169d4e4293fca378aa497389e9a9a0af953b698322b9bbae6288b8cba2cd34abf58a0d0f4272294dcdf201a84ba5cc14d426843daa8
diff --git a/dev-java/glassfish-xmlrpc-api/glassfish-xmlrpc-api-1.1.1-r1.ebuild b/dev-java/glassfish-xmlrpc-api/glassfish-xmlrpc-api-1.1.1-r1.ebuild
deleted file mode 100644
index e7e9196b2364..000000000000
--- a/dev-java/glassfish-xmlrpc-api/glassfish-xmlrpc-api-1.1.1-r1.ebuild
+++ /dev/null
@@ -1,42 +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"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Project GlassFish XML RPC API"
-HOMEPAGE="https://glassfish.java.net/"
-SRC_URI="https://dev.gentoo.org/~tomwij/files/dist/${P}.tar.xz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-CP_DEPEND="
- dev-java/jakarta-xml-soap-api:1
- java-virtuals/servlet-api:3.0
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-JAVA_ANT_CLASSPATH_TAGS="javac javadoc"
-JAVA_PKG_BSFIX_NAME="maven-build.xml"
-
-src_install() {
- java-pkg_newjar "target/javax.xml.rpc-api-${PV}.jar"
-
- use doc && java-pkg_dojavadoc target/site/apidocs
- use source && java-pkg_dosrc src/main/java/javax
-}
diff --git a/dev-java/glassfish-xmlrpc-api/metadata.xml b/dev-java/glassfish-xmlrpc-api/metadata.xml
deleted file mode 100644
index 6021501589e0..000000000000
--- a/dev-java/glassfish-xmlrpc-api/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-java/gnu-jaf/Manifest b/dev-java/gnu-jaf/Manifest
deleted file mode 100644
index bc1c053be9b8..000000000000
--- a/dev-java/gnu-jaf/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST activation-1.1.2.tar.gz 290644 BLAKE2B 15ec89a5c757bb134b9ec71e384a80dea5394b9b6463ca1fe44e2e622993fa8809231379b262b0a54595c32451a49ef508bea45ce82120138efe07d81939a817 SHA512 26534f7bb47daddf97b850ab74fc8ef2c5bd62d12cfb96e28e235071af7dcfc7761fa15f2d8f3a2d194f035665cef127812b7476af6cc81f6d6374f1fa725584
diff --git a/dev-java/gnu-jaf/gnu-jaf-1.1.2-r1.ebuild b/dev-java/gnu-jaf/gnu-jaf-1.1.2-r1.ebuild
deleted file mode 100644
index 6835f9c1d704..000000000000
--- a/dev-java/gnu-jaf/gnu-jaf-1.1.2-r1.ebuild
+++ /dev/null
@@ -1,29 +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"
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="GNU implementation of the JavaBeans Activation Framework"
-HOMEPAGE="https://www.gnu.org/software/classpathx/jaf/jaf.html"
-SRC_URI="mirror://gnu/classpathx/activation-${PV}.tar.gz"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="1"
-KEYWORDS="amd64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/activation-${PV}"
-
-EANT_BUILD_TARGET="activation.jar"
-
-src_install() {
- java-pkg_dojar activation.jar
- einstalldocs
- use doc && java-pkg_dojavadoc docs
- use source && java-pkg_dosrc source/*
-}
diff --git a/dev-java/gnu-jaf/metadata.xml b/dev-java/gnu-jaf/metadata.xml
deleted file mode 100644
index ab2d72bd90a7..000000000000
--- a/dev-java/gnu-jaf/metadata.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
-
-<longdescription>
-GNU JAF is a framework for declaring what beans operate on what MIME
-type data. Content handler beans can be defined to handle particular
-MIME content. The JAF unites internet standards for declaring content
-with JavaBeansâ„¢.
-
-The JAF defines two mechanisms within the framework. The first, the
-file type map, specifies the MIME content type for a given file. The
-default implementation of this uses the UNIX mime.types format to map
-filename extensions to MIME types. The second mechanism, the command
-map, specifies the actions that can be applied to a given MIME content
-type. The default implementation of this uses the standard mailcap format
-to map actions to JavaBeanâ„¢ classes. These beans can then view, edit,
-print, or perform whatever other action is required on the underlying
-resource.
-</longdescription>
-
-</pkgmetadata>
diff --git a/dev-java/gradle-bin/Manifest b/dev-java/gradle-bin/Manifest
index bc9ce60978f7..98941f07f28e 100644
--- a/dev-java/gradle-bin/Manifest
+++ b/dev-java/gradle-bin/Manifest
@@ -1,6 +1,3 @@
-DIST gradle-bin-6.8.3.zip 150631445 BLAKE2B 935a6631167481e289ac5a468b822ffeec204519edf42c8a0f05a911ef716715b706e3c22637763b4a7a0c7cbfa89f163673ef5631c115c025c5634b353fcee6 SHA512 fdd5c347142c2a8e2a1455d8886ddb103531de6e69d41f20d199a488d10165600924876761b452da213759a1dc6d47ed00a069f1a9f8af99fdbf1af3bb2e0564
-DIST gradle-bin-7.1.1.zip 154838841 BLAKE2B 0a0ad08101f0c5fa7c0cb2a4c9ad6e53320cc6214fe1a139f390b73d9aa656ebfaf90c21816d57964f37e9cad51faed21f82f55b7e24fcf0f5a3ffd861c990ad SHA512 95cc2de9b7c3d6019d7780b17238ff8f0db14c9a1e494b391c84d75619eb3064322bb2c56fa9127b0a5681c94b32283090a15b06fefeccdb95a1f8fb9e58c75c
-DIST gradle-bin-7.2.zip 157058280 BLAKE2B 918213df58ac2afbd075c74588f60676cd7dc99030834828138c621348ac1abd368e0b54c2f6937cbfc9533e55e310b46cf841c92dcb1039b898c6f456032d38 SHA512 6ccc79f08afdc20b3d5abf876c3cabb69114d1ab4285cdb77158cd8c5e09207589edefb6c79f2bcffe4629a38c6b9e2f473de42dab29a24310965bc5816b907d
-DIST gradle-bin-7.3.3.zip 158875257 BLAKE2B 94f86e06da3eae4a9522d35a28577d033d64ce1bc2f36d0f5c1992e9b92ec311d25bd98bbeaf4b8a9869f22d93e14c88952e12166e436a0a6c206541d1f967aa SHA512 03f2bdd77202788cd43bb3e3a6390340f4d083d69ade5a53e0163204fb85307f5bbbbf4e04077c6ae558bc36ab3c478674f941079bc14a8344f55631fbba1490
-DIST gradle-bin-7.4.2.zip 159315974 BLAKE2B c7c8dbe82d22dec699d1997a781f3a66110c9910dfe67df2304c48cead96c130ca072550b8c5fa2362744cd2ea3c9723c45a6ecf6e0737fe3c9b7e286b44f4ae SHA512 2e1d05486baa9661d5c8ffead2df87874a66f6cfc958ee6840432b89d221d8b0af9e3cad3675766f5413d12aa61c5b5fb0dd82f4164e5da3022865eba9ceadbf
-DIST gradle-bin-7.5.1.zip 166101707 BLAKE2B e018f8ae0e4cbe1fff2e3fb3029ef4c3f35e1bf541ce75f22561e16c43d8501c2f2501db72081656a836ab1c3358020dbf0be3499e7c16b385d9940c852c62ae SHA512 89189d529df1258a01ad2e6c38b1374dfb3a1440706c1c7f27ace89b6fd5b6849f9809f209e3e410f226aeeb9348d144de70397ac94b4e59fd311a2b0dee0dc9
+DIST gradle-bin-8.4.zip 212870963 BLAKE2B da32c1010e85f6cded0c1b539b243db6d41fcd033266be3b03b389e6a2e317bea17ddbe65c597c7ea82628cc5bec913954ec998d018b68daa67d39f9a8958e7e SHA512 52d5f622b8ad0ab36ff84589733b47423b12f94211086a84eca9810690af29e396877f1155ee31279c4325e98cd1d55b32137d52efcf48eb1e258caeece08f22
+DIST gradle-bin-8.5.zip 218636663 BLAKE2B 0360f240f6183abec540f7755a966767a8dc175ca0ea047273e05c4b2219fd80cb92e62e9b961481d646157418cc91ea211eb83530cc6ec815ea790f6ad8380a SHA512 37a1c2989c46dad0f843565d05fd29010df10ac199d81f0ccddf56ffd490642039046d43a320ba04d1f87cbbc6d4cebf20ff66ce45ec005931cfc85aee2e0180
+DIST gradle-bin-8.7.zip 224435312 BLAKE2B 1926765aea8931b25a9f0b7b9a224dd70756cfd337eecb364c6d288486187dd6311f888c7e1c36b1fc81b454c3514d2807884343e7782f1be45fce03e611496b SHA512 fc18863654cbe8dd2357f388c0fc5f699ca2d40ffd32c283f00cfd5bda94e1711ab7b7a3b154e7da66c17468f00c3c72fe6b6603c4a29617b33b0f292cbac3de
diff --git a/dev-java/gradle-bin/gradle-bin-6.8.3.ebuild b/dev-java/gradle-bin/gradle-bin-6.8.3.ebuild
deleted file mode 100644
index 1e7b593a8227..000000000000
--- a/dev-java/gradle-bin/gradle-bin-6.8.3.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-IUSE="doc"
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2
-
-MY_PN=${PN%%-bin}
-MY_P="${MY_PN}-${PV/_rc/-rc-}"
-
-DESCRIPTION="A project automation and build tool with a Groovy based DSL"
-SRC_URI="https://services.gradle.org/distributions/${MY_P}-all.zip -> ${P}.zip"
-HOMEPAGE="https://www.gradle.org/"
-
-LICENSE="Apache-2.0"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="app-eselect/eselect-gradle"
-BDEPEND="app-arch/unzip"
-RDEPEND="
- ${DEPEND}
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${MY_P}"
-
-src_compile() {
- :
-}
-
-src_install() {
- local gradle_dir="/usr/share/${PN}-${SLOT}"
-
- if use source; then
- java-pkg_dosrc src
- fi
-
- docinto html
- dodoc -r docs/release-notes.html
- if use doc; then
- dodoc -r docs/{dsl,userguide}
- java-pkg_dojavadoc docs/javadoc
- fi
-
- insinto "${gradle_dir}"
- doins -r bin/ lib/
- fperms 755 "${gradle_dir}/bin/gradle"
- dosym "${gradle_dir}/bin/gradle" "/usr/bin/${PN}-${SLOT}"
-}
-
-pkg_postinst() {
- eselect gradle update ifunset
-}
-
-pkg_postrm() {
- eselect gradle update ifunset
-}
diff --git a/dev-java/gradle-bin/gradle-bin-7.1.1.ebuild b/dev-java/gradle-bin/gradle-bin-7.1.1.ebuild
deleted file mode 100644
index 1e7b593a8227..000000000000
--- a/dev-java/gradle-bin/gradle-bin-7.1.1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-IUSE="doc"
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2
-
-MY_PN=${PN%%-bin}
-MY_P="${MY_PN}-${PV/_rc/-rc-}"
-
-DESCRIPTION="A project automation and build tool with a Groovy based DSL"
-SRC_URI="https://services.gradle.org/distributions/${MY_P}-all.zip -> ${P}.zip"
-HOMEPAGE="https://www.gradle.org/"
-
-LICENSE="Apache-2.0"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="app-eselect/eselect-gradle"
-BDEPEND="app-arch/unzip"
-RDEPEND="
- ${DEPEND}
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${MY_P}"
-
-src_compile() {
- :
-}
-
-src_install() {
- local gradle_dir="/usr/share/${PN}-${SLOT}"
-
- if use source; then
- java-pkg_dosrc src
- fi
-
- docinto html
- dodoc -r docs/release-notes.html
- if use doc; then
- dodoc -r docs/{dsl,userguide}
- java-pkg_dojavadoc docs/javadoc
- fi
-
- insinto "${gradle_dir}"
- doins -r bin/ lib/
- fperms 755 "${gradle_dir}/bin/gradle"
- dosym "${gradle_dir}/bin/gradle" "/usr/bin/${PN}-${SLOT}"
-}
-
-pkg_postinst() {
- eselect gradle update ifunset
-}
-
-pkg_postrm() {
- eselect gradle update ifunset
-}
diff --git a/dev-java/gradle-bin/gradle-bin-7.2.ebuild b/dev-java/gradle-bin/gradle-bin-7.2.ebuild
deleted file mode 100644
index fe6f492c7e4e..000000000000
--- a/dev-java/gradle-bin/gradle-bin-7.2.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-IUSE="doc"
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2
-
-MY_PN=${PN%%-bin}
-MY_P="${MY_PN}-${PV/_rc/-rc-}"
-
-DESCRIPTION="A project automation and build tool with a Groovy based DSL"
-SRC_URI="https://services.gradle.org/distributions/${MY_P}-all.zip -> ${P}.zip"
-HOMEPAGE="https://www.gradle.org/"
-
-LICENSE="Apache-2.0"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="app-eselect/eselect-gradle"
-BDEPEND="app-arch/unzip"
-RDEPEND="
- ${DEPEND}
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${MY_P}"
-
-src_compile() {
- :
-}
-
-src_install() {
- local gradle_dir="/usr/share/${PN}-${SLOT}"
-
- if use source; then
- java-pkg_dosrc src
- fi
-
- docinto html
- dodoc -r docs/release-notes.html
- if use doc; then
- dodoc -r docs/{dsl,userguide}
- java-pkg_dojavadoc docs/javadoc
- fi
-
- insinto "${gradle_dir}"
- doins -r bin/ lib/
- fperms 755 "${gradle_dir}/bin/gradle"
- dosym "${gradle_dir}/bin/gradle" "/usr/bin/${PN}-${SLOT}"
-}
-
-pkg_postinst() {
- eselect gradle update ifunset
-}
-
-pkg_postrm() {
- eselect gradle update ifunset
-}
diff --git a/dev-java/gradle-bin/gradle-bin-7.3.3.ebuild b/dev-java/gradle-bin/gradle-bin-7.3.3.ebuild
deleted file mode 100644
index fe6f492c7e4e..000000000000
--- a/dev-java/gradle-bin/gradle-bin-7.3.3.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-IUSE="doc"
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2
-
-MY_PN=${PN%%-bin}
-MY_P="${MY_PN}-${PV/_rc/-rc-}"
-
-DESCRIPTION="A project automation and build tool with a Groovy based DSL"
-SRC_URI="https://services.gradle.org/distributions/${MY_P}-all.zip -> ${P}.zip"
-HOMEPAGE="https://www.gradle.org/"
-
-LICENSE="Apache-2.0"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="app-eselect/eselect-gradle"
-BDEPEND="app-arch/unzip"
-RDEPEND="
- ${DEPEND}
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${MY_P}"
-
-src_compile() {
- :
-}
-
-src_install() {
- local gradle_dir="/usr/share/${PN}-${SLOT}"
-
- if use source; then
- java-pkg_dosrc src
- fi
-
- docinto html
- dodoc -r docs/release-notes.html
- if use doc; then
- dodoc -r docs/{dsl,userguide}
- java-pkg_dojavadoc docs/javadoc
- fi
-
- insinto "${gradle_dir}"
- doins -r bin/ lib/
- fperms 755 "${gradle_dir}/bin/gradle"
- dosym "${gradle_dir}/bin/gradle" "/usr/bin/${PN}-${SLOT}"
-}
-
-pkg_postinst() {
- eselect gradle update ifunset
-}
-
-pkg_postrm() {
- eselect gradle update ifunset
-}
diff --git a/dev-java/gradle-bin/gradle-bin-7.4.2.ebuild b/dev-java/gradle-bin/gradle-bin-7.4.2.ebuild
deleted file mode 100644
index fe6f492c7e4e..000000000000
--- a/dev-java/gradle-bin/gradle-bin-7.4.2.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-IUSE="doc"
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2
-
-MY_PN=${PN%%-bin}
-MY_P="${MY_PN}-${PV/_rc/-rc-}"
-
-DESCRIPTION="A project automation and build tool with a Groovy based DSL"
-SRC_URI="https://services.gradle.org/distributions/${MY_P}-all.zip -> ${P}.zip"
-HOMEPAGE="https://www.gradle.org/"
-
-LICENSE="Apache-2.0"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="app-eselect/eselect-gradle"
-BDEPEND="app-arch/unzip"
-RDEPEND="
- ${DEPEND}
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${MY_P}"
-
-src_compile() {
- :
-}
-
-src_install() {
- local gradle_dir="/usr/share/${PN}-${SLOT}"
-
- if use source; then
- java-pkg_dosrc src
- fi
-
- docinto html
- dodoc -r docs/release-notes.html
- if use doc; then
- dodoc -r docs/{dsl,userguide}
- java-pkg_dojavadoc docs/javadoc
- fi
-
- insinto "${gradle_dir}"
- doins -r bin/ lib/
- fperms 755 "${gradle_dir}/bin/gradle"
- dosym "${gradle_dir}/bin/gradle" "/usr/bin/${PN}-${SLOT}"
-}
-
-pkg_postinst() {
- eselect gradle update ifunset
-}
-
-pkg_postrm() {
- eselect gradle update ifunset
-}
diff --git a/dev-java/gradle-bin/gradle-bin-7.5.1.ebuild b/dev-java/gradle-bin/gradle-bin-7.5.1.ebuild
deleted file mode 100644
index 0e7b49ee8847..000000000000
--- a/dev-java/gradle-bin/gradle-bin-7.5.1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-IUSE="doc"
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2
-
-MY_PN=${PN%%-bin}
-MY_P="${MY_PN}-${PV/_rc/-rc-}"
-
-DESCRIPTION="A project automation and build tool with a Groovy based DSL"
-SRC_URI="https://services.gradle.org/distributions/${MY_P}-all.zip -> ${P}.zip"
-HOMEPAGE="https://www.gradle.org/"
-
-LICENSE="Apache-2.0"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="app-eselect/eselect-gradle"
-BDEPEND="app-arch/unzip"
-RDEPEND="
- ${DEPEND}
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${MY_P}"
-
-src_compile() {
- :
-}
-
-src_install() {
- local gradle_dir="/usr/share/${PN}-${SLOT}"
-
- if use source; then
- java-pkg_dosrc src
- fi
-
- docinto html
- dodoc -r docs/release-notes.html
- if use doc; then
- dodoc -r docs/{dsl,userguide}
- java-pkg_dojavadoc docs/javadoc
- fi
-
- insinto "${gradle_dir}"
- doins -r bin/ lib/
- fperms 755 "${gradle_dir}/bin/gradle"
- dosym "${gradle_dir}/bin/gradle" "/usr/bin/${PN}-${SLOT}"
-}
-
-pkg_postinst() {
- eselect gradle update ifunset
-}
-
-pkg_postrm() {
- eselect gradle update ifunset
-}
diff --git a/dev-java/gradle-bin/gradle-bin-8.4.ebuild b/dev-java/gradle-bin/gradle-bin-8.4.ebuild
new file mode 100644
index 000000000000..1d63ca89fe19
--- /dev/null
+++ b/dev-java/gradle-bin/gradle-bin-8.4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+IUSE="doc"
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2
+
+MY_PN=${PN%%-bin}
+MY_P="${MY_PN}-${PV/_rc/-rc-}"
+
+DESCRIPTION="A project automation and build tool with a Groovy based DSL"
+SRC_URI="https://services.gradle.org/distributions/${MY_P}-all.zip -> ${P}.zip"
+HOMEPAGE="https://www.gradle.org/"
+
+LICENSE="Apache-2.0"
+SLOT="${PV}"
+KEYWORDS="amd64 ~x86"
+
+DEPEND="app-eselect/eselect-gradle"
+BDEPEND="app-arch/unzip"
+RDEPEND="
+ ${DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+S="${WORKDIR}/${MY_P}"
+
+src_compile() {
+ :
+}
+
+src_install() {
+ local gradle_dir="/usr/share/${PN}-${SLOT}"
+
+ if use source; then
+ java-pkg_dosrc src
+ fi
+
+ docinto html
+ dodoc -r docs/release-notes.html
+ if use doc; then
+ dodoc -r docs/{dsl,userguide}
+ java-pkg_dojavadoc docs/javadoc
+ fi
+
+ insinto "${gradle_dir}"
+ doins -r bin/ lib/
+ fperms 755 "${gradle_dir}/bin/gradle"
+ dosym "${gradle_dir}/bin/gradle" "/usr/bin/${PN}-${SLOT}"
+}
+
+pkg_postinst() {
+ eselect gradle update ifunset
+}
+
+pkg_postrm() {
+ eselect gradle update ifunset
+}
diff --git a/dev-java/gradle-bin/gradle-bin-8.5.ebuild b/dev-java/gradle-bin/gradle-bin-8.5.ebuild
new file mode 100644
index 000000000000..1d63ca89fe19
--- /dev/null
+++ b/dev-java/gradle-bin/gradle-bin-8.5.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+IUSE="doc"
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2
+
+MY_PN=${PN%%-bin}
+MY_P="${MY_PN}-${PV/_rc/-rc-}"
+
+DESCRIPTION="A project automation and build tool with a Groovy based DSL"
+SRC_URI="https://services.gradle.org/distributions/${MY_P}-all.zip -> ${P}.zip"
+HOMEPAGE="https://www.gradle.org/"
+
+LICENSE="Apache-2.0"
+SLOT="${PV}"
+KEYWORDS="amd64 ~x86"
+
+DEPEND="app-eselect/eselect-gradle"
+BDEPEND="app-arch/unzip"
+RDEPEND="
+ ${DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+S="${WORKDIR}/${MY_P}"
+
+src_compile() {
+ :
+}
+
+src_install() {
+ local gradle_dir="/usr/share/${PN}-${SLOT}"
+
+ if use source; then
+ java-pkg_dosrc src
+ fi
+
+ docinto html
+ dodoc -r docs/release-notes.html
+ if use doc; then
+ dodoc -r docs/{dsl,userguide}
+ java-pkg_dojavadoc docs/javadoc
+ fi
+
+ insinto "${gradle_dir}"
+ doins -r bin/ lib/
+ fperms 755 "${gradle_dir}/bin/gradle"
+ dosym "${gradle_dir}/bin/gradle" "/usr/bin/${PN}-${SLOT}"
+}
+
+pkg_postinst() {
+ eselect gradle update ifunset
+}
+
+pkg_postrm() {
+ eselect gradle update ifunset
+}
diff --git a/dev-java/gradle-bin/gradle-bin-8.7.ebuild b/dev-java/gradle-bin/gradle-bin-8.7.ebuild
new file mode 100644
index 000000000000..61b08c49be55
--- /dev/null
+++ b/dev-java/gradle-bin/gradle-bin-8.7.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+IUSE="doc"
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2
+
+MY_PN=${PN%%-bin}
+MY_P="${MY_PN}-${PV/_rc/-rc-}"
+
+DESCRIPTION="A project automation and build tool with a Groovy based DSL"
+SRC_URI="https://services.gradle.org/distributions/${MY_P}-all.zip -> ${P}.zip"
+HOMEPAGE="https://www.gradle.org/"
+
+LICENSE="Apache-2.0"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="app-eselect/eselect-gradle"
+BDEPEND="app-arch/unzip"
+RDEPEND="
+ ${DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+S="${WORKDIR}/${MY_P}"
+
+src_compile() {
+ :
+}
+
+src_install() {
+ local gradle_dir="/usr/share/${PN}-${SLOT}"
+
+ if use source; then
+ java-pkg_dosrc src
+ fi
+
+ docinto html
+ dodoc -r docs/release-notes.html
+ if use doc; then
+ dodoc -r docs/{dsl,userguide}
+ java-pkg_dojavadoc docs/javadoc
+ fi
+
+ insinto "${gradle_dir}"
+ doins -r bin/ lib/
+ fperms 755 "${gradle_dir}/bin/gradle"
+ dosym "${gradle_dir}/bin/gradle" "/usr/bin/${PN}-${SLOT}"
+}
+
+pkg_postinst() {
+ eselect gradle update ifunset
+}
+
+pkg_postrm() {
+ eselect gradle update ifunset
+}
diff --git a/dev-java/greenmail/Manifest b/dev-java/greenmail/Manifest
new file mode 100644
index 000000000000..5def750177c9
--- /dev/null
+++ b/dev-java/greenmail/Manifest
@@ -0,0 +1 @@
+DIST greenmail-2.0.0_alpha2.tar.gz 969798 BLAKE2B 0e1b00ccc96fac26d453cff5f49937bebc7b62e58ad33c9c287e7edb15de2884620ea52c94e00f5ddb9dc6e8853ed36101c4f7f294d48044d78a2a747146952e SHA512 925762f834d797e5136412520d45e9ce56c7b946f9cf1b7e90b674b12405a426bdceb068c7b459b1d4321d04ed68ff5dfd2d32ea6d5f17e848189596cc9acb17
diff --git a/dev-java/greenmail/greenmail-2.0.0_alpha2.ebuild b/dev-java/greenmail/greenmail-2.0.0_alpha2.ebuild
new file mode 100644
index 000000000000..564a6c9ca56d
--- /dev/null
+++ b/dev-java/greenmail/greenmail-2.0.0_alpha2.ebuild
@@ -0,0 +1,57 @@
+# 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/greenmail-mail-test/greenmail/archive/release-2.0.0-alpha-2.tar.gz --slot 2 --keywords "~amd64" --ebuild greenmail-2.0.0_alpha2.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.icegreen:greenmail:2.0.0-alpha-2"
+# No tests, dependencies are not packaged
+# JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="GreenMail - Email Test Servers"
+HOMEPAGE="https://greenmail-mail-test.github.io/greenmail/"
+SRC_URI="https://github.com/greenmail-mail-test/greenmail/archive/release-${PV/_alpha/-alpha-}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# com.sun.mail:jakarta.mail:2.0.1 -> >=dev-java/jakarta-mail-2.0.1:0
+# jakarta.activation:jakarta.activation-api:2.0.1 -> >=dev-java/jakarta-activation-api-2.1.0:2
+# junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
+# org.slf4j:slf4j-api:1.7.32 -> >=dev-java/slf4j-api-1.7.36:0
+
+CP_DEPEND="
+ dev-java/jakarta-activation-api:2
+ dev-java/jakarta-mail:0
+ dev-java/junit:4
+ dev-java/slf4j-api:0
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? org.assertj:assertj-core:3.19.0 -> !!!suitable-mavenVersion-not-found!!!
+# test? org.hamcrest:hamcrest-core:2.2 -> !!!suitable-mavenVersion-not-found!!!
+# test? org.hamcrest:hamcrest-library:2.2 -> !!!suitable-mavenVersion-not-found!!!
+# test? org.slf4j:slf4j-log4j12:1.7.32 -> !!!artifactId-not-found!!!
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+DOCS=( ../README.md )
+
+S="${WORKDIR}/greenmail-release-${PV/_alpha/-alpha-}/greenmail-core"
+
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/greenmail/metadata.xml b/dev-java/greenmail/metadata.xml
new file mode 100644
index 000000000000..88b4c60ecd57
--- /dev/null
+++ b/dev-java/greenmail/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">greenmail-mail-test/greenmail</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/gson/Manifest b/dev-java/gson/Manifest
index 52ad44456dd4..be2124b47485 100644
--- a/dev-java/gson/Manifest
+++ b/dev-java/gson/Manifest
@@ -1,2 +1,2 @@
-DIST gson-2.9.0.tar.gz 350309 BLAKE2B f17f7a7410744b14cb79c979b35c7f3c46a3d9e922722c41893b872013319a1bd06d81526e8380055aafa47524bfcc50e02629d1c5994e1f9f81df4391a9c651 SHA512 25e57f0e3cbff7e4d33070d250ba4ecf1c659380bce07863c52a3b30edd0ba88c923e55b0f38098b5ce3827a74a21c4d41f9de02f6a84da771ae39fd823667d3
-DIST gson-parent-2.9.1.tar.gz 359012 BLAKE2B e0a0d6e517e7323a508d7aa6cb26e39aad4a3c479b479ae7b075d3cb47c0312294eb074ed52f1fbbec5de301341dac7f5d742913498205f0544a53da0c0eb1a1 SHA512 928a17491efc9866271f08d4ec0fc22b96b4b6f4827d86679cd4a9085e91fbf6b1b4d6618d380ff63e7a9922d9cf0ec7ba9cd073862e7e212eb31c0140c6b6ad
+DIST gson-2.10.2_pre20231128.tar.gz 451312 BLAKE2B d16e0510e0806fd33e8d49b5a8fb73e969b89acb2598ca34a43faa97a09debc99466ab472176d60d617aa20b2190884def25881f0bf651e96be2c1bb9a976d70 SHA512 37f2073e5eee2cb85626040552ac750f4917abd05e3b7944c30a2d5ace6888424870a95a0ceba89bf2dadf9ab33e6bbae1591509b84f35aba4521780764c0877
+DIST truth-1.1.3.jar 243021 BLAKE2B a59149038c62ef5dd352b13d4b393e1b7715fbafe5ed86ec2d16d722c738a31dcdca10132fc73b17b367ac4309e5407ba2e489f8d4c8fbca60ce5f35ae75d1e3 SHA512 f29a9fb070aff8a32358a7b6c8998c0095de5d8d68afa7f7bac759c7050309deff929e767657ecbbefd96163460f10255ca01bc567ab30df4834b9d916a4fae8
diff --git a/dev-java/gson/files/gson-2.10.2-GsonVersionDiagnosticsTest.patch b/dev-java/gson/files/gson-2.10.2-GsonVersionDiagnosticsTest.patch
new file mode 100644
index 000000000000..9feeb0aa3797
--- /dev/null
+++ b/dev-java/gson/files/gson-2.10.2-GsonVersionDiagnosticsTest.patch
@@ -0,0 +1,13 @@
+support our versioning schemes
+
+--- a/src/test/java/com/google/gson/functional/GsonVersionDiagnosticsTest.java
++++ b/src/test/java/com/google/gson/functional/GsonVersionDiagnosticsTest.java
+@@ -35,7 +35,7 @@ import org.junit.Test;
+ public class GsonVersionDiagnosticsTest {
+ // We require a patch number, even if it is .0, consistent with https://semver.org/#spec-item-2.
+ private static final Pattern GSON_VERSION_PATTERN =
+- Pattern.compile("(\\(GSON \\d\\.\\d+\\.\\d)(?:[-.][A-Z]+)?\\)$");
++ Pattern.compile("(\\(GSON \\d\\.\\d+\\.\\d)(?:[-.][A-Z]+|_[a-z]+[0-9]+)?\\)$");
+
+ private Gson gson;
+
diff --git a/dev-java/gson/gson-2.10.2_pre20231128.ebuild b/dev-java/gson/gson-2.10.2_pre20231128.ebuild
new file mode 100644
index 000000000000..4247c08c2190
--- /dev/null
+++ b/dev-java/gson/gson-2.10.2_pre20231128.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.code.gson:gson:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Gson JSON library"
+HOMEPAGE="https://github.com/google/gson"
+# SRC_URI="https://github.com/google/gson/archive/gson-parent-${PV}.tar.gz"
+# S="${WORKDIR}/gson-gson-parent-${PV}/gson"
+MY_COMMIT="b17b1a0e98dcaf4b61823e1f0c29dda44c0ea3d5"
+SRC_URI="https://github.com/google/gson/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/gson-${MY_COMMIT}/gson"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ dev-java/error-prone-annotations:0
+ >=virtual/jdk-17:*
+ test? (
+ dev-java/guava:0
+ dev-java/guava-testlib:0
+ )"
+# src/test/java/com/google/gson/functional/Java17RecordTest.java:78:
+# error: records are not supported in -source 11
+RDEPEND=">=virtual/jre-17:*"
+
+DOCS=(
+ ../CHANGELOG.md
+ ../GsonDesignDocument.md
+ ../README.md
+ ../Troubleshooting.md
+ ../UserGuide.md
+)
+
+PATCHES=( "${FILESDIR}/gson-2.10.2-GsonVersionDiagnosticsTest.patch" )
+
+JAVA_CLASSPATH_EXTRA="error-prone-annotations"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=(
+ "src/main/java"
+ "src/main/java-templates"
+)
+
+JAVA_TEST_EXCLUDES=(
+ # requires the test class to be obfuscated using proguard which we do not have atm
+ "com.google.gson.functional.EnumWithObfuscatedTest"
+ # testComGoogleGsonAnnotationsPackage(com.google.gson.regression.OSGiTest)
+ # junit.framework.AssertionFailedError: Cannot find com.google.gson OSGi bundle manifest
+ "com.google.gson.regression.OSGiTest"
+)
+JAVA_TEST_GENTOO_CLASSPATH="
+ guava
+ guava-testlib
+ junit-4
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ sed -e "s/\${project.version}/${PV}/g" \
+ -i src/main/java-templates/com/google/gson/internal/GsonBuildConfig.java \
+ || die "Failed to set version"
+}
+
+src_compile() {
+ if ! use test; then
+ JAVA_PKG_WANT_SOURCE="1.8"
+ JAVA_PKG_WANT_TARGET="1.8"
+ fi
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar:testdata.jar"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/gson/gson-2.9.0-r2.ebuild b/dev-java/gson/gson-2.9.0-r2.ebuild
deleted file mode 100644
index 19d4e18df7d0..000000000000
--- a/dev-java/gson/gson-2.9.0-r2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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/google/gson/archive/gson-parent-2.9.0.tar.gz --slot 2.6 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild gson-2.9.0.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.google.code.gson:gson:2.9.0"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Gson JSON library"
-HOMEPAGE="https://github.com/google/gson"
-SRC_URI="https://github.com/google/${PN}/archive/${PN}-parent-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2.6"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-11:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${PN}-${PN}-parent-${PV}/${PN}"
-
-JAVA_SRC_DIR=(
- "src/main/java"
- "src/main/java-templates"
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-JAVA_TEST_EXCLUDES=(
- # requires the test class to be obfuscated using proguard which we do not have atm
- "com.google.gson.functional.EnumWithObfuscatedTest"
- # FAILURES!!!
- # Tests run: 1090, Failures: 3
- # testComGoogleGsonAnnotationsPackage(com.google.gson.regression.OSGiTest)
- # junit.framework.AssertionFailedError: Cannot find com.google.gson OSGi bundle manifest
- "com.google.gson.regression.OSGiTest"
- # testSerializeInternalImplementationObject(com.google.gson.functional.ReflectionAccessTest)
- # java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $
- "com.google.gson.functional.ReflectionAccessTest"
-)
-
-src_prepare() {
- default
- sed -e "s/\${project.version}/${PV}/g" \
- -i src/main/java-templates/com/google/gson/internal/GsonBuildConfig.java \
- || die "Failed to set version"
-
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -ge "17" ; then
- JAVA_TEST_EXCLUDES+=( "com.google.gson.internal.bind.DefaultDateTypeAdapterTest" )
- fi
-}
diff --git a/dev-java/gson/gson-2.9.1.ebuild b/dev-java/gson/gson-2.9.1.ebuild
deleted file mode 100644
index db9194478d17..000000000000
--- a/dev-java/gson/gson-2.9.1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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/google/gson/archive/gson-parent-2.9.1.tar.gz --slot 2.6 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild gson-2.9.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.google.code.gson:gson:2.9.1"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Gson JSON library"
-HOMEPAGE="https://github.com/google/gson"
-SRC_URI="https://github.com/google/gson/archive/gson-parent-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2.6"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-DEPEND=">=virtual/jdk-11:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/gson-gson-parent-${PV}/gson"
-
-JAVA_SRC_DIR=(
- "src/main/java"
- "src/main/java-templates"
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-JAVA_TEST_EXCLUDES=(
- # requires the test class to be obfuscated using proguard which we do not have atm
- "com.google.gson.functional.EnumWithObfuscatedTest"
- # FAILURES!!!
- # Tests run: 1135, Failures: 3
- # testComGoogleGsonAnnotationsPackage(com.google.gson.regression.OSGiTest)
- # junit.framework.AssertionFailedError: Cannot find com.google.gson OSGi bundle manifest
- "com.google.gson.regression.OSGiTest"
- # testSerializeInternalImplementationObject(com.google.gson.functional.ReflectionAccessTest)
- # java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $
- "com.google.gson.functional.ReflectionAccessTest"
-)
-
-src_prepare() {
- default
- sed -e "s/\${project.version}/${PV}/g" \
- -i src/main/java-templates/com/google/gson/internal/GsonBuildConfig.java \
- || die "Failed to set version"
-
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -ge "17" ; then
- JAVA_TEST_EXCLUDES+=( "com.google.gson.internal.bind.DefaultDateTypeAdapterTest" )
- fi
-}
diff --git a/dev-java/guava-testlib/Manifest b/dev-java/guava-testlib/Manifest
index 6cdfcc4ae4a4..9e4363a3129a 100644
--- a/dev-java/guava-testlib/Manifest
+++ b/dev-java/guava-testlib/Manifest
@@ -1 +1,2 @@
-DIST guava-30.1.1.tar.gz 5404546 BLAKE2B 818ef4b17c4f0c8e92c327f046434a3bb428ac35d6e95edd6d6be558c755d138a8ac7f8ad2032073cad131890d8f838e896fff84ba217f8305be8bd65c619a48 SHA512 23b30d886a3200b8f998897ca7bc424b2d223a4fecb03ab644e08a989a85f008e30ef093055e6305c4148a1eb8919c407e35d19f492c5b189830bd115e9484f2
+DIST guava-33.0.0.tar.gz 5779322 BLAKE2B b7790f4207e2061b364f3dfac8d3f6f0de180f33f1f1c24078c40b6e69d3a372fc7f681bdd51a670a4b913c0e537731ecbff849a08411c250de4dc6b255e70cf SHA512 4f97aca4621a703b69535c1d56c0b09b3b4ed893e3f136ae5622fe727ce43f920dcdf39a6e8c9667d4f51eccc7f8297c088bc3c34e1f8d6e84a0b7164855ce7c
+DIST truth-1.1.5.jar 244558 BLAKE2B c6a0889c9b50334d16cedff3974a1526b190b56a082d986dbcfce40c902a1d0e8689e387edc5b5f54f6b1ae079f2efd1e785398711b7b9363ed4dc6c1fe297f8 SHA512 b840a4ff9bd44189b0ada2770e53669b6368ad06b40a182d7ddb497866df872892f8ee5139f707f53b83cf0b860073f9d24a0f711dfb15b2f64b63e3f5013749
diff --git a/dev-java/guava-testlib/guava-testlib-30.1.1.ebuild b/dev-java/guava-testlib/guava-testlib-30.1.1.ebuild
deleted file mode 100644
index 24c89a665ecc..000000000000
--- a/dev-java/guava-testlib/guava-testlib-30.1.1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom guava-testlib --download-uri https://codeload.github.com/google/guava/tar.gz/refs/tags/v30.1.1 --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild guava-testlib-30.1.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.google.guava:guava-testlib:30.1.1-jre"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A set of java classes to assist the tests for Guava itself"
-HOMEPAGE="https://github.com/google/guava"
-SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> guava-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# error: package com.google.common.truth does not exist
-RESTRICT="test"
-
-# Common dependencies
-# POM: ${PN}
-# com.google.code.findbugs:jsr305:3.0.2 -> !!!groupId-not-found!!!
-# com.google.errorprone:error_prone_annotations:2.5.1 -> >=dev-java/error-prone-annotations-2.7.1:0
-# com.google.guava:guava:30.1.1-jre -> >=dev-java/guava-30.1.1:0
-# com.google.j2objc:j2objc-annotations:1.3 -> !!!groupId-not-found!!!
-# junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
-# org.checkerframework:checker-qual:3.8.0 -> >=dev-java/checker-framework-qual-3.14.0:0
-
-CP_DEPEND="
- dev-java/checker-framework-qual:0
- dev-java/error-prone-annotations:0
- ~dev-java/guava-30.1.1:0
- dev-java/jsr305:0
- dev-java/junit:4
- dev-java/j2objc-annotations:0
-"
-
-# Compile dependencies
-# POM: ${PN}
-# test? com.google.truth:truth:1.1 -> !!!groupId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}"
-# test? (
-# !!!groupId-not-found!!!
-# )
-#"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/guava-${PV}"
-
-JAVA_SRC_DIR=( "${PN}/src" )
-# JAVA_RESOURCE_DIRS="${PN}/src"
-
-# JAVA_TEST_GENTOO_CLASSPATH="!!!groupId-not-found!!!"
-JAVA_TEST_SRC_DIR=( "${PN}/test" )
-JAVA_TEST_RESOURCE_DIRS=( "${PN}/test" )
diff --git a/dev-java/guava-testlib/guava-testlib-33.0.0.ebuild b/dev-java/guava-testlib/guava-testlib-33.0.0.ebuild
new file mode 100644
index 000000000000..dfe7882178a8
--- /dev/null
+++ b/dev-java/guava-testlib/guava-testlib-33.0.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.guava:guava-testlib:${PV}-jre"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A set of java classes to assist the tests for Guava itself"
+HOMEPAGE="https://github.com/google/guava"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> guava-${PV}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.5/truth-1.1.5.jar )"
+S="${WORKDIR}/guava-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ >=dev-java/error-prone-annotations-2.24.0:0
+ ~dev-java/guava-${PV}:0
+ dev-java/jsr305:0
+ dev-java/junit:4
+"
+
+DEPEND="${CP_DEPEND}
+ dev-java/checker-framework-qual:0
+ dev-java/j2objc-annotations:0
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="checker-framework-qual j2objc-annotations"
+JAVA_SRC_DIR="${PN}/src"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="${PN}/test"
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.5.jar:testdata.jar"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/guava-testlib/metadata.xml b/dev-java/guava-testlib/metadata.xml
index 8f8ff281cf6a..5dcc33c704ec 100644
--- a/dev-java/guava-testlib/metadata.xml
+++ b/dev-java/guava-testlib/metadata.xml
@@ -4,6 +4,9 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">google/guava</remote-id>
+ </upstream>
<longdescription>
Guava testlib is a set of java classes used for more convenient unit testing - particularly to assist the tests for Guava itself.
</longdescription>
diff --git a/dev-java/guava/Manifest b/dev-java/guava/Manifest
index 6cdfcc4ae4a4..044968475684 100644
--- a/dev-java/guava/Manifest
+++ b/dev-java/guava/Manifest
@@ -1 +1 @@
-DIST guava-30.1.1.tar.gz 5404546 BLAKE2B 818ef4b17c4f0c8e92c327f046434a3bb428ac35d6e95edd6d6be558c755d138a8ac7f8ad2032073cad131890d8f838e896fff84ba217f8305be8bd65c619a48 SHA512 23b30d886a3200b8f998897ca7bc424b2d223a4fecb03ab644e08a989a85f008e30ef093055e6305c4148a1eb8919c407e35d19f492c5b189830bd115e9484f2
+DIST guava-33.0.0.tar.gz 5779322 BLAKE2B b7790f4207e2061b364f3dfac8d3f6f0de180f33f1f1c24078c40b6e69d3a372fc7f681bdd51a670a4b913c0e537731ecbff849a08411c250de4dc6b255e70cf SHA512 4f97aca4621a703b69535c1d56c0b09b3b4ed893e3f136ae5622fe727ce43f920dcdf39a6e8c9667d4f51eccc7f8297c088bc3c34e1f8d6e84a0b7164855ce7c
diff --git a/dev-java/guava/guava-30.1.1.ebuild b/dev-java/guava/guava-30.1.1.ebuild
deleted file mode 100644
index 8b858ee7d259..000000000000
--- a/dev-java/guava/guava-30.1.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# 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://codeload.github.com/google/guava/tar.gz/refs/tags/v30.1.1 --slot 0 --keywords "" --ebuild guava-30.1.1.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-#JAVA_TESTING_FRAMEWORKS="junit-5"
-MAVEN_ID="com.google.guava:guava:${PV}-jre"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A collection of Google's core Java libraries"
-HOMEPAGE="https://github.com/google/guava"
-SRC_URI="https://codeload.github.com/google/guava/tar.gz/v${PV} -> ${P}.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# com.google.code.findbugs:jsr305:3.0.2 -> !!!groupId-not-found!!!
-# com.google.errorprone:error_prone_annotations:2.5.1 -> >=dev-java/error-prone-annotations-2.7.1:0
-# com.google.guava:failureaccess:1.0.1 -> >=dev-java/failureaccess-30.1.1:0
-# com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava -> !!!artifactId-not-found!!!
-# com.google.j2objc:j2objc-annotations:1.3 -> !!!groupId-not-found!!!
-# org.checkerframework:checker-qual:3.8.0 -> >=dev-java/checker-framework-qual-3.14.0:0
-
-CDEPEND="
- >=dev-java/error-prone-annotations-2.7.1:0
- >=dev-java/failureaccess-30.1.1:0
- dev-java/jsr305:0
-"
-
-DEPEND="
- >=dev-java/checker-framework-qual-3.14.0:0
- dev-java/j2objc-annotations:0
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CDEPEND}
-"
-
-S="${WORKDIR}/${P}"
-
-JAVA_GENTOO_CLASSPATH="error-prone-annotations,failureaccess,jsr305"
-
-src_configure() {
- JAVA_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --build-only checker-framework-qual,j2objc-annotations)"
-}
-
-JAVA_SRC_DIR="${PN}/src"
-
-JAVA_TEST_SRC_DIR="${PN}-tests/"
diff --git a/dev-java/guava/guava-33.0.0.ebuild b/dev-java/guava/guava-33.0.0.ebuild
new file mode 100644
index 000000000000..b47d69abc5a9
--- /dev/null
+++ b/dev-java/guava/guava-33.0.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.google.guava:guava:${PV}-jre"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A collection of Google's core Java libraries"
+HOMEPAGE="https://github.com/google/guava"
+SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ >=dev-java/error-prone-annotations-2.24.0:0
+ dev-java/j2objc-annotations:0
+ dev-java/jsr305:0
+"
+
+DEPEND="${CP_DEPEND}
+ dev-java/checker-framework-qual:0
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.common"
+JAVA_CLASSPATH_EXTRA="checker-framework-qual"
+JAVA_GENTOO_CLASSPATH_EXTRA=":futures/failureaccess/src"
+JAVA_SRC_DIR="guava/src"
diff --git a/dev-java/guice/metadata.xml b/dev-java/guice/metadata.xml
index fbbc13fd826c..a8f059e86374 100644
--- a/dev-java/guice/metadata.xml
+++ b/dev-java/guice/metadata.xml
@@ -6,7 +6,6 @@
<name>Java</name>
</maintainer>
<upstream>
- <remote-id type="google-code">google-guice</remote-id>
<remote-id type="github">google/guice</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/gwt/files/gwt-2.9.0-jsinterop-classpath.patch b/dev-java/gwt/files/gwt-2.9.0-jsinterop-classpath.patch
index 5e69341210cf..55d14fab15d3 100644
--- a/dev-java/gwt/files/gwt-2.9.0-jsinterop-classpath.patch
+++ b/dev-java/gwt/files/gwt-2.9.0-jsinterop-classpath.patch
@@ -1,6 +1,6 @@
# It's unclear how upstream gets their "dev.compile.test" target to compile
# without this - it could be that their testing is done with the local tools/
-# dir, and that some assumptions are made somewhere in the bulid system that
+# dir, and that some assumptions are made somewhere in the build system that
# don't apply when the tools dir is elsewhere. Either way, this fixes it.
#
# a Pull Request (of sorts) has been issued with upstream to incorporate this
diff --git a/dev-java/gwt/metadata.xml b/dev-java/gwt/metadata.xml
index 18f25b56258f..cd120d3bccba 100644
--- a/dev-java/gwt/metadata.xml
+++ b/dev-java/gwt/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gienah@gentoo.org</email>
- <name>Mark Wright</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
diff --git a/dev-java/hamcrest-core/Manifest b/dev-java/hamcrest-core/Manifest
index 26d456730a41..53b1379edb09 100644
--- a/dev-java/hamcrest-core/Manifest
+++ b/dev-java/hamcrest-core/Manifest
@@ -1,3 +1,2 @@
-DIST hamcrest-1.3.tgz 3686096 BLAKE2B 38ff91a524064cb00b4d2e82c0a50a2df870bbb0a6e43055f33ce344a1dc8de3760530652691db26aa42890d8517940c038a570b5acaaf91b7e970aca7df3493 SHA512 5672bc627bc71d6fd64b6f776b89ac16ed68819fa4a0748c1250b57f1065c1e7e18ba184d9fe3392e54000ddeb353d0d8d67f4eecdf464974563f05c6b226fc2
DIST hamcrest-core-1.1.tar.gz 1247348 BLAKE2B 07b874ca2e61808cd1a30246cbfe7baa220a9c83df7be94dbb50c4df0279bcf906a32cc1b69aed0ebd81d51392af28050d070b7fabb50f8063964b0782b5e105 SHA512 d86080f1ef5982faee728e29675676a89b42a02c4b00783c67be948076e502e70a2b435568502d8ed3c5b1bcc5441b3cdd8817dab841cac537087edeee47632f
DIST hamcrest-java-1.3.tar.gz 2007925 BLAKE2B 7d54f056814ba30d669e171f00c31e71a0aaea37d345fa93d0c88afb8c3f916180ba699c2cee9219504c3e931b4f4548d708c927cf2caf483847f217c22c7cdf SHA512 4356df7b5b78f821847fde027b416b49b8456e84ab2ec98c2982adf54e2bdc01a5ca2c2b5425620c5ee34bfe3f95ea43c77190504f76ddc9f8b93b137a4ca54b
diff --git a/dev-java/hamcrest-core/files/hamcrest-core-1.3-java-11.patch b/dev-java/hamcrest-core/files/hamcrest-core-1.3-java-11.patch
deleted file mode 100644
index 9f68faecb6bf..000000000000
--- a/dev-java/hamcrest-core/files/hamcrest-core-1.3-java-11.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/hamcrest-core/src/main/java/org/hamcrest/core/AllOf.java
-+++ b/hamcrest-core/src/main/java/org/hamcrest/core/AllOf.java
-@@ -57,7 +57,7 @@ public class AllOf<T> extends DiagnosingMatcher<T> {
- */
- @Factory
- public static <T> Matcher<T> allOf(Matcher<? super T>... matchers) {
-- return allOf(Arrays.asList(matchers));
-+ return allOf((List<Matcher<? super T>>) Arrays.asList(matchers));
- }
-
- /**
---- a/hamcrest-core/src/main/java/org/hamcrest/core/AnyOf.java
-+++ b/hamcrest-core/src/main/java/org/hamcrest/core/AnyOf.java
-@@ -47,7 +47,7 @@ public class AnyOf<T> extends ShortcutCombination<T> {
- */
- @Factory
- public static <T> AnyOf<T> anyOf(Matcher<? super T>... matchers) {
-- return anyOf(Arrays.asList(matchers));
-+ return anyOf((List<Matcher<? super T>>) Arrays.asList(matchers));
- }
-
- /**
diff --git a/dev-java/hamcrest-core/hamcrest-core-1.3-r2.ebuild b/dev-java/hamcrest-core/hamcrest-core-1.3-r2.ebuild
deleted file mode 100644
index dc0a524fea35..000000000000
--- a/dev-java/hamcrest-core/hamcrest-core-1.3-r2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.hamcrest:hamcrest-core:1.3"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PN="hamcrest"
-MY_P="${MY_PN}-${PV}"
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="Core library of matchers for building test expressions"
-HOMEPAGE="https://hamcrest.org/JavaHamcrest/"
-SRC_URI="mirror://gentoo/${MY_P}.tgz"
-
-LICENSE="BSD-2"
-SLOT="${PV}"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~ppc-macos ~x64-macos"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-BDEPEND=">=dev-java/hamcrest-generator-${PV}:1.3"
-
-JAVA_SRC_DIR="${PN}/src"
-
-DOCS=( {CHANGES,LICENSE,README}.txt )
-
-PATCHES=(
- # https://bugs.gentoo.org/751379
- "${FILESDIR}"/hamcrest-core-1.3-java-11.patch
-)
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_compile() {
- java-pkg-simple_src_compile
-
- # Need to add this in order to generate "CoreMatchers.java" as with java-ant-2 was triggered by "build.xml"
- "$(java-config -J)" \
- -cp $(java-config --with-dependencies --classpath hamcrest-generator:1.3):${PN}.jar \
- org.hamcrest.generator.config.XmlConfigurator \
- core-matchers.xml \
- hamcrest-core/src/main/java \
- org.hamcrest.CoreMatchers \
- hamcrest-core/src/main/java
-
- # Compile again, this time including the freshly generated "CoreMatchers.java"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- default
- java-pkg-simple_src_install
-}
diff --git a/dev-java/hamcrest-core/hamcrest-core-1.3-r3.ebuild b/dev-java/hamcrest-core/hamcrest-core-1.3-r3.ebuild
index 26a360ae6eda..8ef55c0cf9a8 100644
--- a/dev-java/hamcrest-core/hamcrest-core-1.3-r3.ebuild
+++ b/dev-java/hamcrest-core/hamcrest-core-1.3-r3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/hamcrest/JavaHamcrest/archive/hamcrest-java-${PV}.ta
LICENSE="BSD-2"
SLOT="${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/hamcrest-generator/Manifest b/dev-java/hamcrest-generator/Manifest
index 42f381d82b57..1139a7ccc0a9 100644
--- a/dev-java/hamcrest-generator/Manifest
+++ b/dev-java/hamcrest-generator/Manifest
@@ -1,2 +1 @@
-DIST hamcrest-1.3.tgz 3686096 BLAKE2B 38ff91a524064cb00b4d2e82c0a50a2df870bbb0a6e43055f33ce344a1dc8de3760530652691db26aa42890d8517940c038a570b5acaaf91b7e970aca7df3493 SHA512 5672bc627bc71d6fd64b6f776b89ac16ed68819fa4a0748c1250b57f1065c1e7e18ba184d9fe3392e54000ddeb353d0d8d67f4eecdf464974563f05c6b226fc2
DIST hamcrest-java-1.3.tar.gz 2007925 BLAKE2B 7d54f056814ba30d669e171f00c31e71a0aaea37d345fa93d0c88afb8c3f916180ba699c2cee9219504c3e931b4f4548d708c927cf2caf483847f217c22c7cdf SHA512 4356df7b5b78f821847fde027b416b49b8456e84ab2ec98c2982adf54e2bdc01a5ca2c2b5425620c5ee34bfe3f95ea43c77190504f76ddc9f8b93b137a4ca54b
diff --git a/dev-java/hamcrest-generator/files/hamcrest-generator-1.3-no_jarjar.patch b/dev-java/hamcrest-generator/files/hamcrest-generator-1.3-no_jarjar.patch
deleted file mode 100644
index 6cd74732c2c0..000000000000
--- a/dev-java/hamcrest-generator/files/hamcrest-generator-1.3-no_jarjar.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/build.xml 2012-07-02 21:14:09.000000000 +0200
-+++ b/build.xml 2013-06-15 21:39:55.005813436 +0200
-@@ -16,13 +16,6 @@
- modulename="hamcrest-generator-nodeps"
- classpath="lib/generator/qdox-1.12.jar"/>
-
-- <!-- Bundle QDox classes in hamcrest-generator.jar using JarJar to place classes under a different package -->
-- <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="lib/generator/jarjar-1.3.jar"/>
-- <jarjar jarfile="build/hamcrest-generator-${version}.jar">
-- <zipfileset src="build/hamcrest-generator-nodeps-${version}.jar"/>
-- <zipfileset src="lib/generator/qdox-1.12.jar"/>
-- <rule pattern="com.thoughtworks.qdox.**" result="org.hamcrest.generator.qdox.@1"/>
-- </jarjar>
- <copy file="build/hamcrest-generator-nodeps-${version}-sources.jar" tofile="build/hamcrest-generator-${version}-sources.jar"/>
- </target>
-
diff --git a/dev-java/hamcrest-generator/hamcrest-generator-1.3-r3.ebuild b/dev-java/hamcrest-generator/hamcrest-generator-1.3-r3.ebuild
deleted file mode 100644
index 6aa236cef3f7..000000000000
--- a/dev-java/hamcrest-generator/hamcrest-generator-1.3-r3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="source test"
-
-inherit java-pkg-2 java-ant-2
-
-MY_PN="hamcrest"
-MY_P="${MY_PN}-${PV}"
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="Code generator for Hamcrest's library of matchers for building test expressions"
-HOMEPAGE="http://hamcrest.org/JavaHamcrest/"
-SRC_URI="mirror://gentoo/${MY_P}.tgz"
-
-LICENSE="BSD-2"
-SLOT="${PV}"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~ppc-macos ~x64-macos"
-
-CDEPEND="dev-java/qdox:1.12"
-
-DEPEND=">=virtual/jdk-1.8:*
- ${CDEPEND}"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CDEPEND}"
-
-EANT_BUILD_TARGET="generator"
-EANT_EXTRA_ARGS="-Dversion=${PV}"
-
-src_prepare() {
- default
- # Don't include source in JAR. If a Gentoo user wants the source the source
- # USE flag will be enabled.
- eapply "${FILESDIR}/${P}-no_jarjar.patch"
-
- find -iname "*.jar" -exec rm -v {} + || die "Unable to remove bundled JAR files"
-
- # These jars must be symlinked. Specifying them using gentoo.classpath
- # does not work.
- java-pkg_jar-from --into lib/generator qdox-1.12 qdox.jar qdox-1.12.jar
-}
-
-src_install() {
- java-pkg_newjar build/${PN}-nodeps-${PV}.jar ${PN}.jar
-
- dodoc README.txt CHANGES.txt
-
- use source && java-pkg_dosrc ${PN}/src/main/java/org
-}
diff --git a/dev-java/hamcrest-generator/hamcrest-generator-1.3-r4.ebuild b/dev-java/hamcrest-generator/hamcrest-generator-1.3-r4.ebuild
index 45b47f1cdb66..2a11b0c6d4ed 100644
--- a/dev-java/hamcrest-generator/hamcrest-generator-1.3-r4.ebuild
+++ b/dev-java/hamcrest-generator/hamcrest-generator-1.3-r4.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/hamcrest/JavaHamcrest/archive/hamcrest-java-${PV}.ta
LICENSE="BSD-2"
SLOT="${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~ppc-macos ~x64-macos"
CP_DEPEND="dev-java/qdox:1.12"
diff --git a/dev-java/hamcrest-library/Manifest b/dev-java/hamcrest-library/Manifest
index 42f381d82b57..1139a7ccc0a9 100644
--- a/dev-java/hamcrest-library/Manifest
+++ b/dev-java/hamcrest-library/Manifest
@@ -1,2 +1 @@
-DIST hamcrest-1.3.tgz 3686096 BLAKE2B 38ff91a524064cb00b4d2e82c0a50a2df870bbb0a6e43055f33ce344a1dc8de3760530652691db26aa42890d8517940c038a570b5acaaf91b7e970aca7df3493 SHA512 5672bc627bc71d6fd64b6f776b89ac16ed68819fa4a0748c1250b57f1065c1e7e18ba184d9fe3392e54000ddeb353d0d8d67f4eecdf464974563f05c6b226fc2
DIST hamcrest-java-1.3.tar.gz 2007925 BLAKE2B 7d54f056814ba30d669e171f00c31e71a0aaea37d345fa93d0c88afb8c3f916180ba699c2cee9219504c3e931b4f4548d708c927cf2caf483847f217c22c7cdf SHA512 4356df7b5b78f821847fde027b416b49b8456e84ab2ec98c2982adf54e2bdc01a5ca2c2b5425620c5ee34bfe3f95ea43c77190504f76ddc9f8b93b137a4ca54b
diff --git a/dev-java/hamcrest-library/files/hamcrest-library-1.3-java-11.patch b/dev-java/hamcrest-library/files/hamcrest-library-1.3-java-11.patch
deleted file mode 100644
index fb749dfe7d24..000000000000
--- a/dev-java/hamcrest-library/files/hamcrest-library-1.3-java-11.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- a/hamcrest-library/src/main/java/org/hamcrest/collection/IsIterableContainingInAnyOrder.java
-+++ b/hamcrest-library/src/main/java/org/hamcrest/collection/IsIterableContainingInAnyOrder.java
-@@ -122,7 +122,7 @@ public class IsIterableContainingInAnyOrder<T> extends TypeSafeDiagnosingMatcher
- */
- @Factory
- public static <T> Matcher<Iterable<? extends T>> containsInAnyOrder(Matcher<? super T>... itemMatchers) {
-- return containsInAnyOrder(Arrays.asList(itemMatchers));
-+ return containsInAnyOrder((List<Matcher<? super T>>) Arrays.asList(itemMatchers));
- }
-
- /**
---- a/hamcrest-library/src/main/java/org/hamcrest/collection/IsIterableContainingInOrder.java
-+++ b/hamcrest-library/src/main/java/org/hamcrest/collection/IsIterableContainingInOrder.java
-@@ -138,7 +138,7 @@ public class IsIterableContainingInOrder<E> extends TypeSafeDiagnosingMatcher<It
- */
- @Factory
- public static <E> Matcher<Iterable<? extends E>> contains(Matcher<? super E>... itemMatchers) {
-- return contains(asList(itemMatchers));
-+ return contains((List<Matcher<? super E>>) asList(itemMatchers));
- }
-
- /**
---- a/hamcrest-library/src/main/java/org/hamcrest/collection/IsArrayContainingInAnyOrder.java
-+++ b/hamcrest-library/src/main/java/org/hamcrest/collection/IsArrayContainingInAnyOrder.java
-@@ -55,7 +55,7 @@ public class IsArrayContainingInAnyOrder<E> extends TypeSafeMatcher<E[]> {
- */
- @Factory
- public static <E> Matcher<E[]> arrayContainingInAnyOrder(Matcher<? super E>... itemMatchers) {
-- return arrayContainingInAnyOrder(Arrays.asList(itemMatchers));
-+ return arrayContainingInAnyOrder((List<Matcher<? super E>>) Arrays.asList(itemMatchers));
- }
-
- /**
---- a/hamcrest-library/src/main/java/org/hamcrest/collection/IsArrayContainingInOrder.java
-+++ b/hamcrest-library/src/main/java/org/hamcrest/collection/IsArrayContainingInOrder.java
-@@ -69,7 +69,7 @@ public class IsArrayContainingInOrder<E> extends TypeSafeMatcher<E[]> {
- */
- @Factory
- public static <E> Matcher<E[]> arrayContaining(Matcher<? super E>... itemMatchers) {
-- return arrayContaining(asList(itemMatchers));
-+ return arrayContaining((List<Matcher<? super E>>) asList(itemMatchers));
- }
-
- /**
diff --git a/dev-java/hamcrest-library/hamcrest-library-1.3-r2.ebuild b/dev-java/hamcrest-library/hamcrest-library-1.3-r2.ebuild
deleted file mode 100644
index 116e14e5b5b7..000000000000
--- a/dev-java/hamcrest-library/hamcrest-library-1.3-r2.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="source"
-MAVEN_ID="org.hamcrest:hamcrest-library:1.3"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PN=${PN/-library}
-MY_P="${MY_PN}-${PV}"
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="Core library of matchers for building test expressions"
-HOMEPAGE="http://hamcrest.org/JavaHamcrest/"
-SRC_URI="mirror://gentoo/${MY_P}.tgz"
-
-LICENSE="BSD-2"
-SLOT="${PV}"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="dev-java/hamcrest-core:${SLOT}
- >=virtual/jdk-1.8:*"
-RDEPEND="dev-java/hamcrest-core:${SLOT}
- >=virtual/jre-1.8:*"
-BDEPEND=">=dev-java/hamcrest-generator-${PV}:1.3"
-
-JAVA_SRC_DIR="${PN}/src"
-JAVA_GENTOO_CLASSPATH="hamcrest-core-1.3"
-
-DOCS=( {CHANGES,LICENSE,README}.txt )
-
-PATCHES=(
- "${FILESDIR}"/hamcrest-library-1.3-java-11.patch
-)
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_compile() {
- java-pkg-simple_src_compile
-
- # Generate "Matchers.java" (java-pkg-simple does not use the "build.xml" file)
- "$(java-config -J)" \
- -cp $(java-config --with-dependencies --classpath hamcrest-core:1.3,hamcrest-generator:1.3):${PN}.jar \
- org.hamcrest.generator.config.XmlConfigurator \
- matchers.xml \
- hamcrest-core/src/main/java,hamcrest-library/src/main/java \
- org.hamcrest.Matchers \
- hamcrest-library/src/main/java
-
- # Compile again, this time including the freshly generated "Matchers.java"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- default
- java-pkg-simple_src_install
-}
diff --git a/dev-java/hamcrest-library/hamcrest-library-1.3-r3.ebuild b/dev-java/hamcrest-library/hamcrest-library-1.3-r3.ebuild
index 8c4511ea30f9..1fb31d824ea8 100644
--- a/dev-java/hamcrest-library/hamcrest-library-1.3-r3.ebuild
+++ b/dev-java/hamcrest-library/hamcrest-library-1.3-r3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/hamcrest/JavaHamcrest/archive/hamcrest-java-${PV}.ta
LICENSE="BSD-2"
SLOT="${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
CP_DEPEND="dev-java/hamcrest-core:1.3"
diff --git a/dev-java/hamcrest/hamcrest-2.2-r1.ebuild b/dev-java/hamcrest/hamcrest-2.2-r1.ebuild
new file mode 100644
index 000000000000..401f297eddd3
--- /dev/null
+++ b/dev-java/hamcrest/hamcrest-2.2-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.hamcrest:hamcrest:2.2"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Core API and libraries of hamcrest matcher framework."
+HOMEPAGE="https://hamcrest.org/JavaHamcrest/"
+SRC_URI="https://github.com/${PN}/JavaHamcrest/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/JavaHamcrest-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+"
+
+PATCHES=( "${FILESDIR}"/hamcrest-2.2-java-11.patch )
+
+DOCS=( {CHANGES,README}.md )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.hamcrest"
+JAVA_SRC_DIR="hamcrest/src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="hamcrest/src/test/java"
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+}
diff --git a/dev-java/hamcrest/hamcrest-2.2.ebuild b/dev-java/hamcrest/hamcrest-2.2.ebuild
deleted file mode 100644
index 8660d4f26194..000000000000
--- a/dev-java/hamcrest/hamcrest-2.2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom hamcrest-2.2.pom --download-uri https://github.com/hamcrest/JavaHamcrest/archive/v2.2.tar.gz --slot 0 --keywords "~amd64" --ebuild hamcrest-2.2.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.hamcrest:hamcrest:2.2"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Core API and libraries of hamcrest matcher framework."
-HOMEPAGE="http://hamcrest.org/JavaHamcrest/"
-SRC_URI="https://github.com/${PN}/JavaHamcrest/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-PATCHES=( "${FILESDIR}"/hamcrest-2.2-java-11.patch )
-
-DOCS=( {CHANGES,README}.md )
-
-S="${WORKDIR}/JavaHamcrest-${PV}"
-
-JAVA_SRC_DIR="hamcrest/src/main/java"
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="hamcrest/src/test/java"
-
-src_prepare() {
- default
- java-pkg-2_src_prepare
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/hashcash/Manifest b/dev-java/hashcash/Manifest
new file mode 100644
index 000000000000..073e15819b7f
--- /dev/null
+++ b/dev-java/hashcash/Manifest
@@ -0,0 +1 @@
+DIST HashCash.java 16678 BLAKE2B 1909addd4b698243a0008712a146aea28205af5ce35049836ff67fc6026235416f0092f9f702a75ade65a9d8c491a4afe136c995bee913cba28d93beabce2f34 SHA512 a3cc8535cb99f100139b5cae7bb3668cda726f60eea8de83b5e272982dacc4783f65fd462b388029e21ebf9d9a157c9b06784fb90f921955d4022b1f341eb103
diff --git a/dev-java/hashcash/hashcash-1.1.ebuild b/dev-java/hashcash/hashcash-1.1.ebuild
new file mode 100644
index 000000000000..5c93c554d7e5
--- /dev/null
+++ b/dev-java/hashcash/hashcash-1.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Generation and parsing of Hashcash"
+HOMEPAGE="https://www.nettgryppa.com/code"
+SRC_URI="https://www.nettgryppa.com/code/HashCash.java"
+
+LICENSE="GregoryRubin"
+SLOT="1"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+src_unpack() {
+ cp "${DISTDIR}/${A}" "${S}" || die 'copy source file'
+}
diff --git a/dev-java/hashcash/metadata.xml b/dev-java/hashcash/metadata.xml
new file mode 100644
index 000000000000..2578eaba4e38
--- /dev/null
+++ b/dev-java/hashcash/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-java/htmlcleaner/Manifest b/dev-java/htmlcleaner/Manifest
index c055de4d6604..e19159c540f6 100644
--- a/dev-java/htmlcleaner/Manifest
+++ b/dev-java/htmlcleaner/Manifest
@@ -1 +1 @@
-DIST htmlcleaner-2.26-src.zip 414195 BLAKE2B c73533054bf7a8a66a767e53cbafecca1f174cb3be16e116ddd0e025e627603e225323e9095ea40b38a06c661ebe9f2a9e1f53736bf74fd8a2e41d909381c4fb SHA512 df1f9ccc696d538289a0addd19f8d955a3bcb0da88640208c513b2f4f0c4a3ee516b459aa3aae25d36d6ec09c4082b96484df287fb422add2eb160072668af5a
+DIST htmlcleaner-src-2.29.zip 394326 BLAKE2B 6317e5dd51facd901e7a5bdc72322c58deb5d3a2e2d0a784e6cd71b938c7b46b7a612d0610a1e5f96ac6c55714942e00ffa68f2259416fe1e6be8cb5ad96c0b3 SHA512 87c3884f56c01d4f34be71b5a016a839f949f03ea429a3c10cc5518fe954b09aa42d05fdf821e7b0bf2115787cffff6ae72dbe13e3d7e08537c4ffbf51d6b34f
diff --git a/dev-java/htmlcleaner/files/htmlcleaner-2.24-fix-tests.patch b/dev-java/htmlcleaner/files/htmlcleaner-2.24-fix-tests.patch
deleted file mode 100644
index 0e10ccee4816..000000000000
--- a/dev-java/htmlcleaner/files/htmlcleaner-2.24-fix-tests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/test/java/org/htmlcleaner/DomSerializerTest.java b/src/test/java/org/htmlcleaner/DomSerializerTest.java
-index b09c6d6..f4e83f0 100644
---- a/src/test/java/org/htmlcleaner/DomSerializerTest.java
-+++ b/src/test/java/org/htmlcleaner/DomSerializerTest.java
-@@ -132,7 +132,7 @@ public class DomSerializerTest extends AbstractHtmlCleanerTest {
- + "</html>";
-
- final String expectedOutput =
-- "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n"
-+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
- + "<html>\n" +
- " <head/>\n" +
- " <body>\n" +
-diff --git a/src/test/java/org/htmlcleaner/TraversalDomSerializerTest.java b/src/test/java/org/htmlcleaner/TraversalDomSerializerTest.java
-index 3e1d1e9..d406c40 100644
---- a/src/test/java/org/htmlcleaner/TraversalDomSerializerTest.java
-+++ b/src/test/java/org/htmlcleaner/TraversalDomSerializerTest.java
-@@ -143,7 +143,7 @@ public class TraversalDomSerializerTest extends AbstractHtmlCleanerTest {
- + "</html>";
-
- final String expectedOutput =
-- "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n"
-+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
- + "<html>\n" +
- " <head/>\n" +
- " <body>\n" +
diff --git a/dev-java/htmlcleaner/htmlcleaner-2.26.ebuild b/dev-java/htmlcleaner/htmlcleaner-2.26.ebuild
deleted file mode 100644
index 11ae5880fbc2..000000000000
--- a/dev-java/htmlcleaner/htmlcleaner-2.26.ebuild
+++ /dev/null
@@ -1,55 +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.sourceforge.htmlcleaner:htmlcleaner:2.26"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="HTML parser written in Java that can be used as a tool, library or Ant task"
-HOMEPAGE="http://htmlcleaner.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/htmlcleaner/htmlcleaner/htmlcleaner%20v${PV}/htmlcleaner-${PV}-src.zip"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-CP_DEPEND="dev-java/jdom:2"
-
-RDEPEND="
- ${CP_DEPEND}
- >=virtual/jre-1.8:*
-"
-
-DEPEND="
- ${CP_DEPEND}
- dev-java/ant-core:0
- >=virtual/jdk-1.8:*
- test? ( dev-java/junit:4 )
-"
-
-BDEPEND="app-arch/unzip"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.24-fix-tests.patch"
-)
-
-JAVA_CLASSPATH_EXTRA="ant-core"
-JAVA_SRC_DIR="src/main/java"
-JAVA_MAIN_CLASS="org.htmlcleaner.CommandLine"
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-
-src_prepare() {
- default # https://bugs.gentoo.org/780585
-}
-
-src_install() {
- java-pkg-simple_src_install
- java-pkg_register-ant-task
-
- insinto "${JAVA_PKG_SHAREPATH}"
- newins example.xml default.xml
-}
diff --git a/dev-java/htmlcleaner/htmlcleaner-2.29-r1.ebuild b/dev-java/htmlcleaner/htmlcleaner-2.29-r1.ebuild
new file mode 100644
index 000000000000..ed7088f6cec6
--- /dev/null
+++ b/dev-java/htmlcleaner/htmlcleaner-2.29-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="net.sourceforge.htmlcleaner:htmlcleaner:2.29"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="HTML parser written in Java that can be used as a tool, library or Ant task"
+HOMEPAGE="https://htmlcleaner.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/htmlcleaner/htmlcleaner/htmlcleaner%20v${PV}/htmlcleaner-src-${PV}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+BDEPEND="app-arch/unzip"
+CP_DEPEND="dev-java/jdom:2"
+DEPEND="${CP_DEPEND}
+ dev-java/ant:0
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/junit:4 )"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_MAIN_CLASS="org.htmlcleaner.CommandLine"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_register-ant-task
+
+ insinto "${JAVA_PKG_SHAREPATH}"
+ newins example.xml default.xml
+}
diff --git a/dev-java/icedtea-bin/icedtea-bin-3.16.0-r2.ebuild b/dev-java/icedtea-bin/icedtea-bin-3.16.0-r2.ebuild
index 329f90ac4a8d..d81265453bcb 100644
--- a/dev-java/icedtea-bin/icedtea-bin-3.16.0-r2.ebuild
+++ b/dev-java/icedtea-bin/icedtea-bin-3.16.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -32,7 +32,7 @@ HOMEPAGE="http://icedtea.classpath.org"
LICENSE="GPL-2-with-classpath-exception"
SLOT="8"
-KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="-* amd64 ~arm arm64 ppc64 x86"
IUSE="+alsa big-endian cups doc examples +gtk headless-awt pulseaudio selinux source"
REQUIRED_USE="gtk? ( !headless-awt )"
diff --git a/dev-java/icedtea-bin/icedtea-bin-3.16.0.ebuild b/dev-java/icedtea-bin/icedtea-bin-3.16.0.ebuild
deleted file mode 100644
index 0d8ff65ee21c..000000000000
--- a/dev-java/icedtea-bin/icedtea-bin-3.16.0.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit java-vm-2 multilib-build toolchain-funcs
-
-abi_uri() {
- echo "${2-$1}? (
- ${BASE_URI}/${PN}-core-${PV}${3+-r${3}}-${1}.tar.xz
- examples? ( ${BASE_URI}/${PN}-examples-${PV}${3+-r${3}}-${1}.tar.xz )
- )"
-}
-
-BASE_URI="https://dev.gentoo.org/~gyakovlev/distfiles"
-SRC_URI="
- doc? ( ${BASE_URI}/${PN}-doc-${PV}.tar.xz )
- source? ( ${BASE_URI}/${PN}-src-${PV}.tar.xz )
- big-endian? ( $(abi_uri ppc64) )
- !big-endian? ( $(abi_uri ppc64le ppc64) )
- $(abi_uri amd64)
- $(abi_uri arm)
- $(abi_uri arm64)
- $(abi_uri x86)
-"
-
-DESCRIPTION="A Gentoo-made binary build of the IcedTea JDK"
-HOMEPAGE="http://icedtea.classpath.org"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="8"
-KEYWORDS="-* amd64 ~arm arm64 ppc64 x86"
-IUSE="+alsa big-endian cups doc examples +gtk headless-awt pulseaudio selinux source"
-
-REQUIRED_USE="gtk? ( !headless-awt )"
-
-RESTRICT="preserve-libs strip"
-QA_PREBUILT="opt/.*"
-
-DEPEND="app-arch/xz-utils"
-
-RDEPEND="
- >=dev-libs/glib-2.60.7:2
- >=media-libs/fontconfig-2.13:1.0
- >=media-libs/freetype-2.9.1:2
- >=media-libs/lcms-2.9:2
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/zlib-1.2.11-r2
- virtual/jpeg-compat:62
- alsa? ( >=media-libs/alsa-lib-1.2 )
- cups? ( >=net-print/cups-2.0 )
- gtk? (
- >=dev-libs/atk-2.32.0
- >=x11-libs/cairo-1.16.0
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-2.24:2
- >=x11-libs/pango-1.42
- )
- selinux? ( sec-policy/selinux-java )
- virtual/ttf-fonts
- !headless-awt? (
- media-libs/giflib:0/7
- =media-libs/libpng-1.6*
- >=x11-libs/libX11-1.6
- >=x11-libs/libXcomposite-0.4
- >=x11-libs/libXext-1.3
- >=x11-libs/libXi-1.7
- >=x11-libs/libXrender-0.9.10
- >=x11-libs/libXtst-1.2
- )
-"
-
-PDEPEND="pulseaudio? ( dev-java/icedtea-sound )"
-
-S="${WORKDIR}"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-src_prepare() {
- default
-
- # I wouldn't normally use -f below but symlinks in the arm files
- # make this fail otherwise and any other approach would be tedious.
-
- if ! use alsa; then
- rm -fv */jre/lib/*/libjsoundalsa.* || die
- fi
-
- if use headless-awt; then
- rm -fvr */jre/lib/*/lib*{[jx]awt,splashscreen}* \
- */{,jre/}bin/policytool */bin/appletviewer || die
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}${dest#/}"
- dodir "${dest}"
-
- dodoc ${P}-${ABI}/doc/{ASSEMBLY_EXCEPTION,AUTHORS,NEWS,README,THIRD_PARTY_README}
- use doc && dodoc -r ${P}/doc/html
-
- # doins doesn't preserve executable bits.
- cp -pRP ${P}-${ABI}/{bin,include,jre,lib,man} "${ddest}" || die
-
- if use examples; then
- cp -pRP ${P}-${ABI}/{demo,sample} "${ddest}" || die
- fi
-
- if use source; then
- cp ${P}/src.zip "${ddest}" || die
- fi
-
- # use system-wide cacert store
- rm "${ddest}"/jre/lib/security/cacerts || die
- dosym ../../../../../etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
-
- java-vm_install-env "${FILESDIR}/icedtea-bin.env.sh"
-
- # Both icedtea itself and the icedtea ebuild set PAX markings but we
- # disable them for the icedtea-bin build because the line below will
- # respect end-user settings when icedtea-bin is actually installed.
- java-vm_set-pax-markings "${ddest}"
-
- # Each invocation appends to the config.
- java-vm_revdep-mask "${EPREFIX}${dest}"
- java-vm_sandbox-predict /proc/self/coredump_filter
-}
diff --git a/dev-java/icedtea-bin/metadata.xml b/dev-java/icedtea-bin/metadata.xml
index 97520fe245f0..ba41cd79150b 100644
--- a/dev-java/icedtea-bin/metadata.xml
+++ b/dev-java/icedtea-bin/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
diff --git a/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild b/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild
index 186bb18591b3..f36cb218a52d 100644
--- a/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild
+++ b/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,10 +23,10 @@ RESTRICT="test"
BDEPEND="
app-arch/zip
- sys-devel/bc
+ app-alternatives/bc
virtual/pkgconfig
virtual/rust
- doc? ( sys-devel/bc )
+ doc? ( app-alternatives/bc )
"
# Build within Portage using JDK 11+ (also presumably 9+) fails during
diff --git a/dev-java/icedtea/Manifest b/dev-java/icedtea/Manifest
deleted file mode 100644
index 6adf8d98b5fa..000000000000
--- a/dev-java/icedtea/Manifest
+++ /dev/null
@@ -1,13 +0,0 @@
-DIST icedtea-3.21-aarch32-3.21.0.tar.xz 7207712 BLAKE2B bb9001aa31011fd0b29141caa1ba48344f2ca08e5dbe69cb3501a4830886d02b7a8782336a84273aad2ea721f26db2d3f51cdc72a9eccde1ad45a2790fb2caf1 SHA512 fc44c3c59164f6904ad92e04cb8023f39e82d6a2704fb5a91bf84d41066183ca6140273fa4c13d08a0dda47f263bd2d7d5138a5c45f205c58f649e6b87f15a9e
-DIST icedtea-3.21-corba-3.21.0.tar.xz 949700 BLAKE2B b845a46b5dcb22545073f894fbc5464e014f8f0e02e0cc66bccda0db6bd5566908a886823189ecf476847adb7f3fa5c009814e54c69d65a3a4a6c3cfc692564d SHA512 55110b92c6eddeb29eab97cbe644d8cc171a489b9fa806c81e4af88a1e5e3e6776fb97371715782935222944464f68e7d6783c46bd0d0de5659123f46c577a7a
-DIST icedtea-3.21-hotspot-3.21.0.tar.xz 7121192 BLAKE2B 64813c6a71405c5c093792dadf8613361a056b590fa4fa7453887ac5eb1eda1da63777a2f1e529e50eefe033d6f7f757d3235d53ba8f0f45d40dad6f0c215334 SHA512 678f6c53db5858ba828e063eeeddb727dbeb0586ff26a4287f9735dc01ad00ddcd9f41fa65343b81d5f5c512a944f47a447d4bdc929ca26ba78a68a7e3dfc1cd
-DIST icedtea-3.21-jaxp-3.21.0.tar.xz 2269276 BLAKE2B a1848fa6832a8c87c9a6edcfc5ac45fc487b5378368c07bafe5a3e54b849b81b781fb3652593e3506ffbd220a933cb5a04ae6dee86b3a44be7a1138813f5454c SHA512 ff14c9b63cee2a7b9213872b8710b1c5b901ccaf4122c8ddf5d8437d1cdd35cf9af50f461d05f004b74802ba8a21c7e9f288ec080b2b5f7daad065d40dc39258
-DIST icedtea-3.21-jaxws-3.21.0.tar.xz 2278396 BLAKE2B 1fb8608df94937447e192d010465379b2c3aa578f9c1ebd2eba445b1cd92ea9427511fd72351537ae78796d90d130497b02bc3e89b9e1ff1765013c681e6cf83 SHA512 e21bd36b6cfa92f648856532647150243f2184943dc6f5003fea02cf69aa9b6a94fb18d6478db28d5ee5e3af9b780122c0539fd3207cf4dfcb69a042835c13d6
-DIST icedtea-3.21-jdk-3.21.0.tar.xz 40714380 BLAKE2B be2bda5027d20515717ffecef71996bd56c4246a2a0e4d670bb386ea9ed2ff71c91ca8faa17ee209a5894784dff8e1b7d8df544c0b88b8f9da946514d9070bc7 SHA512 06385f14d093be250aa530d0659576d75aed57b0264ec7329d6b2c9309cf4ed660a9ecbfb6f199868ae23aedfbdb97036fccda501c00e9d2e3b1562c92b0ed37
-DIST icedtea-3.21-langtools-3.21.0.tar.xz 2081452 BLAKE2B 97c0820a9c734fc8d155fd5ec8fa9c56b4eaa0bf6fe5df5235b2dc5680f8c1989e608210007faa8e0120ad7dadfe682f4fe174e5cdae64d34624f239a7b1bb16 SHA512 949366138278104fc06452d8227bbe5d0829a9124503928cab34e5e9df37e25d25964a5c755e46d9ca74e63f1b318b2e3366f8f08e144524a8043bc2a7ca626e
-DIST icedtea-3.21-nashorn-3.21.0.tar.xz 2324264 BLAKE2B d7bcd9dd6df244004e3cb3ea1cdc178d781dd7f1b1d7b97df32385b67829bc3d9cb168caa64dc13fc15f27a9eeab276576d22cb804de5bc0d0209b98308a7105 SHA512 eda17f94ed2f34dd5bc4670dd3340d50de956723213948fd15963b0a589433bbe2e0ba8be7761974754b6a5d875ef58c31839daa6fef7215af552842f787bb44
-DIST icedtea-3.21-openjdk-3.21.0.tar.xz 367068 BLAKE2B 7fe212e84f1f527c229a854212617cd99457c0a4c5fdbd41a1ae65098706a22843e52a108cbf62fac341b9aa85e22f00746bb5a84e7d249ebbd605630bee127a SHA512 6a1706dfcb5e5d79191c01db6da30ca0ca48cea628a26a3a35f6e43c710091e25c97ec95122e8bc19b4ac69ede27a8dae37b49e1a7e4db07a635ded69e2e0336
-DIST icedtea-3.21-shenandoah-3.21.0.tar.xz 7295776 BLAKE2B c139711d81ccf593a93f786c398371eaddbaa9aa5044683669204ef9671cd17e80488ba2d290565ba5f1e27a62fa696c3d331c215442ddd29f3067b60682adec SHA512 c0282207854ad13d57dc7e1dd73412fb184406e7783d720cacbf58152177ae70af51bb4d577442bc1bebc75e88458cdb86356b79857b01eafb1eb214dbc439f4
-DIST icedtea-3.21.0.tar.xz 1574548 BLAKE2B 55dca04bf55a272a92f161a96a1cabe7c0e1f46289d95d74e9253c4da45d8df00e292e5d806118805241ea5c4b914643e380b05ad7996d850a8e5eebd7a2959a SHA512 874f91f3c3311d7017efb91aaff4e2fb660f55c58a626bcf5b120b7158df15e9b94abda7cd28f9620ad76c50bfa89cc8c1d251c193404c0db51ff1430167b018
-DIST icedtea-cacao-c182f119eaad.tar.xz 3056520 BLAKE2B 6b1be66ce19f491d49f1591babcd8c088e8e327f828dca3f30b8f8b04c132140f8b9f487ef6d91aed212aebab2c7c3052d79fa3f2d76d3832341d94d48e77089 SHA512 22e8a031db5f93f82b276b310c175f1e926e48d64e1e50bebe51138e0f66391cd005501491a959d31663f338f27a29ec984ac29f77078f59472856e4d08edef7
-DIST icedtea-jamvm-ec18fb9e49e62dce16c5094ef1527eed619463aa.tar.gz 317187 BLAKE2B 1ca581a02be4cf5c09162687bbc90ec01b58b4910d866d11512cf17a1caff181fdc69e42f7498b2df9deb875ddc6efc6bc2888428f411da94bbc2313ddf5a2c9 SHA512 a31348481e1c02747f5bb9db333f855c45a1555aa187ee35de5ef553a10a8a47dfcc1beb1e69502046c1758438b91958a328e0a0015812c153221f67734a70a6
diff --git a/dev-java/icedtea/files/icedtea.env.sh b/dev-java/icedtea/files/icedtea.env.sh
deleted file mode 100644
index ac8303bda073..000000000000
--- a/dev-java/icedtea/files/icedtea.env.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-VERSION="IcedTea JDK ${PV}"
-JAVA_HOME="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}"
-JDK_HOME="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}"
-JAVAC="\${JAVA_HOME}/bin/javac"
-PATH="\${JAVA_HOME}/bin:\${JAVA_HOME}/jre/bin"
-ROOTPATH="\${JAVA_HOME}/bin:\${JAVA_HOME}/jre/bin"
-LDPATH="\${JAVA_HOME}/jre/lib/$(get_system_arch)/:\${JAVA_HOME}/jre/lib/$(get_system_arch)/server/"
-MANPATH="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}/man"
-PROVIDES_TYPE="JDK JRE"
-PROVIDES_VERSION="1.${SLOT}"
-# Taken from sun.boot.class.path property
-BOOTCLASSPATH="\${JAVA_HOME}/jre/lib/resources.jar:\${JAVA_HOME}/jre/lib/rt.jar:\${JAVA_HOME}/jre/lib/sunrsasign.jar:\${JAVA_HOME}/jre/lib/jsse.jar:\${JAVA_HOME}/jre/lib/jce.jar:\${JAVA_HOME}/jre/lib/charsets.jar:\${JAVA_HOME}/jre/lib/jfr.jar"
-GENERATION="2"
-ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
diff --git a/dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch b/dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch
deleted file mode 100644
index ba5283f15771..000000000000
--- a/dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Workarounds build error:
-Error: dl failure on line 895
-Error relocating .../libjvm.so: _ZN14ArrayAllocatorImL10MemoryType7EE4freeEv: symbol not found
-
-Possibly due to g++ 10.x error on not properly instantiating the template.
-
---- openjdk/hotspot/src/share/vm/utilities/bitMap.cpp.orig 2020-11-10 14:07:08.372045326 +0200
-+++ openjdk/hotspot/src/share/vm/utilities/bitMap.cpp 2020-11-10 14:08:07.911412813 +0200
-@@ -42,6 +42,7 @@
- # include "os_bsd.inline.hpp"
- #endif
-
-+template class ArrayAllocator<BitMap::bm_word_t, mtInternal>;
-
- BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) :
- _map(map), _size(size_in_bits), _map_allocator(false)
diff --git a/dev-java/icedtea/icedtea-3.21.0.ebuild b/dev-java/icedtea/icedtea-3.21.0.ebuild
deleted file mode 100644
index 9e6737770814..000000000000
--- a/dev-java/icedtea/icedtea-3.21.0.ebuild
+++ /dev/null
@@ -1,385 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Build written by Andrew John Hughes (gnu_andrew@member.fsf.org)
-
-# *********************************************************
-# * IF YOU CHANGE THIS EBUILD, CHANGE ICEDTEA-6.* AS WELL *
-# *********************************************************
-
-EAPI=6
-SLOT="8"
-
-inherit check-reqs eapi7-ver flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils toolchain-funcs xdg-utils
-
-ICEDTEA_VER=$(ver_cut 1-3)
-ICEDTEA_BRANCH=$(ver_cut 1-2)
-ICEDTEA_PKG=icedtea-${ICEDTEA_VER}
-
-CORBA_TARBALL="${PV}.tar.xz"
-JAXP_TARBALL="${PV}.tar.xz"
-JAXWS_TARBALL="${PV}.tar.xz"
-JDK_TARBALL="${PV}.tar.xz"
-LANGTOOLS_TARBALL="${PV}.tar.xz"
-OPENJDK_TARBALL="${PV}.tar.xz"
-NASHORN_TARBALL="${PV}.tar.xz"
-HOTSPOT_TARBALL="${PV}.tar.xz"
-SHENANDOAH_TARBALL="${PV}.tar.xz"
-AARCH32_TARBALL="${PV}.tar.xz"
-
-CACAO_TARBALL="cacao-c182f119eaad.tar.xz"
-JAMVM_TARBALL="jamvm-ec18fb9e49e62dce16c5094ef1527eed619463aa.tar.gz"
-
-CORBA_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-corba-${CORBA_TARBALL}"
-JAXP_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jaxp-${JAXP_TARBALL}"
-JAXWS_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jaxws-${JAXWS_TARBALL}"
-JDK_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jdk-${JDK_TARBALL}"
-LANGTOOLS_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-langtools-${LANGTOOLS_TARBALL}"
-OPENJDK_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-openjdk-${OPENJDK_TARBALL}"
-NASHORN_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-nashorn-${NASHORN_TARBALL}"
-HOTSPOT_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-hotspot-${HOTSPOT_TARBALL}"
-SHENANDOAH_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-shenandoah-${SHENANDOAH_TARBALL}"
-AARCH32_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-aarch32-${AARCH32_TARBALL}"
-
-CACAO_GENTOO_TARBALL="icedtea-${CACAO_TARBALL}"
-JAMVM_GENTOO_TARBALL="icedtea-${JAMVM_TARBALL}"
-
-DROP_URL="https://icedtea.classpath.org/download/drops"
-ICEDTEA_URL="${DROP_URL}/icedtea${SLOT}/${ICEDTEA_VER}"
-
-DESCRIPTION="A harness to build OpenJDK using Free Software build tools and dependencies"
-HOMEPAGE="https://icedtea.classpath.org"
-SRC_PKG="${ICEDTEA_PKG}.tar.xz"
-SRC_URI="
- https://icedtea.classpath.org/download/source/${SRC_PKG}
- ${ICEDTEA_URL}/openjdk.tar.xz -> ${OPENJDK_GENTOO_TARBALL}
- ${ICEDTEA_URL}/corba.tar.xz -> ${CORBA_GENTOO_TARBALL}
- ${ICEDTEA_URL}/jaxp.tar.xz -> ${JAXP_GENTOO_TARBALL}
- ${ICEDTEA_URL}/jaxws.tar.xz -> ${JAXWS_GENTOO_TARBALL}
- ${ICEDTEA_URL}/jdk.tar.xz -> ${JDK_GENTOO_TARBALL}
- ${ICEDTEA_URL}/hotspot.tar.xz -> ${HOTSPOT_GENTOO_TARBALL}
- ${ICEDTEA_URL}/nashorn.tar.xz -> ${NASHORN_GENTOO_TARBALL}
- ${ICEDTEA_URL}/langtools.tar.xz -> ${LANGTOOLS_GENTOO_TARBALL}
- shenandoah? ( ${ICEDTEA_URL}/shenandoah.tar.xz -> ${SHENANDOAH_GENTOO_TARBALL} )
- arm? ( ${ICEDTEA_URL}/aarch32.tar.xz -> ${AARCH32_GENTOO_TARBALL} )
- ${DROP_URL}/cacao/${CACAO_TARBALL} -> ${CACAO_GENTOO_TARBALL}
- ${DROP_URL}/jamvm/${JAMVM_TARBALL} -> ${JAMVM_GENTOO_TARBALL}"
-
-LICENSE="Apache-1.1 Apache-2.0 GPL-1 GPL-2 GPL-2-with-linking-exception LGPL-2 MPL-1.0 MPL-1.1 public-domain W3C"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-IUSE="+alsa cacao +cups doc examples +gtk headless-awt
- jamvm +jbootstrap kerberos pax-kernel pch
- pulseaudio sctp selinux shenandoah smartcard +source +system-lcms test zero"
-
-RESTRICT="!test? ( test )"
-REQUIRED_USE="gtk? ( !headless-awt )"
-
-# Ideally the following were optional at build time.
-ALSA_COMMON_DEP=">=media-libs/alsa-lib-1.0"
-CUPS_COMMON_DEP=">=net-print/cups-1.2.12"
-
-X_COMMON_DEP="
- >=media-libs/giflib-4.1.6:0=
- >=media-libs/libpng-1.2:0=
- >=x11-libs/libX11-1.1.3
- >=x11-libs/libXext-1.1.1
- >=x11-libs/libXi-1.1.3
- >=x11-libs/libXrender-0.9.4
- >=x11-libs/libXtst-1.0.3
- x11-libs/libXcomposite
-"
-
-X_DEPEND="
- x11-base/xorg-proto
- >=x11-libs/libXau-1.0.3
- >=x11-libs/libXdmcp-1.0.2
- >=x11-libs/libXinerama-1.0.2
-"
-
-# The Javascript requirement is obsolete; OpenJDK 8+ has Nashorn
-COMMON_DEP="
- >=dev-libs/glib-2.26:2=
- >=dev-util/systemtap-1
- media-libs/fontconfig:1.0=
- >=media-libs/freetype-2.5.3:2=
- >=sys-libs/zlib-1.2.3
- virtual/jpeg:0=
- gtk? (
- >=dev-libs/atk-1.30.0
- >=x11-libs/cairo-1.8.8
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-2.8:2
- >=x11-libs/pango-1.24.5
- )
- kerberos? ( virtual/krb5 )
- sctp? ( net-misc/lksctp-tools )
- smartcard? ( sys-apps/pcsc-lite )
- system-lcms? ( >=media-libs/lcms-2.9:2= )
-"
-
-RDEPEND="${COMMON_DEP}
- !dev-java/icedtea:0
- !dev-java/icedtea-web:7
- >=gnome-base/gsettings-desktop-schemas-3.12.2
- >=sys-apps/baselayout-java-0.1.0-r1
- virtual/ttf-fonts
- alsa? ( ${ALSA_COMMON_DEP} )
- cups? ( ${CUPS_COMMON_DEP} )
- !headless-awt? ( ${X_COMMON_DEP} )
- selinux? ( sec-policy/selinux-java )
-"
-
-# perl is needed for running the SystemTap tests and the bootstrap javac
-# lsb-release is used to obtain distro information for the version & crash dump output
-# attr is needed for xattr.h which defines the extended attribute syscalls used by NIO2
-# x11-libs/libXt is needed for headers only (Intrinsic.h, IntrinsicP.h, Shell.h, StringDefs.h)
-# Ant is no longer needed under the new build system
-DEPEND="${COMMON_DEP} ${ALSA_COMMON_DEP} ${CUPS_COMMON_DEP} ${X_COMMON_DEP} ${X_DEPEND}
- || (
- dev-java/openjdk-bin:8
- dev-java/openjdk:8
- dev-java/icedtea-bin:8
- dev-java/icedtea:8
- )
- app-arch/cpio
- app-arch/unzip
- app-arch/zip
- app-misc/ca-certificates
- dev-lang/perl
- dev-libs/openssl:0
- sys-apps/attr
- sys-apps/lsb-release
- x11-libs/libXt
- virtual/pkgconfig
- pax-kernel? ( sys-apps/elfix )"
-
-PDEPEND="pulseaudio? ( dev-java/icedtea-sound )"
-
-S="${WORKDIR}"/${ICEDTEA_PKG}
-
-icedtea_check_requirements() {
- local CHECKREQS_DISK_BUILD
-
- if use doc; then
- CHECKREQS_DISK_BUILD="9000M"
- else
- CHECKREQS_DISK_BUILD="8500M"
- fi
-
- check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- icedtea_check_requirements
-}
-
-pkg_setup() {
- icedtea_check_requirements
-
- JAVA_PKG_WANT_BUILD_VM="
- openjdk-8 openjdk-bin-8
- icedtea-8 icedtea-bin-8"
- JAVA_PKG_WANT_SOURCE="1.5"
- JAVA_PKG_WANT_TARGET="1.5"
-
- java-vm-2_pkg_setup
- java-pkg-2_pkg_setup
-}
-
-src_unpack() {
- unpack ${SRC_PKG}
-}
-
-src_configure() {
- # GCC10/-fno-common handling, #723102
- if [[ $(gcc-major-version) -ge 10 ]]; then
- append-flags -fcommon
- append-flags -fno-delete-null-pointer-checks -fno-lifetime-dse
- fi
- # this patch helps with gcc10 as well
- # since build system unpacks tarballs itself, this is a way to force makefile
- # to apply our patch. it expects relative path inside source, so we can't specify
- # ${FILESDIR} directly.
- mkdir -v gentoo_patches || die
- cp -v "${FILESDIR}/openjdk-8-hotspot-arrayallocator.patch" gentoo_patches || die
- export DISTRIBUTION_PATCHES="gentoo_patches//openjdk-8-hotspot-arrayallocator.patch"
-
- # For bootstrap builds as the sandbox control file might not yet exist.
- addpredict /proc/self/coredump_filter #nowarn
-
- # icedtea doesn't like some locales. #330433 #389717
- export LANG="C" LC_ALL="C"
-
- local cacao_config config hotspot_port hs_config jamvm_config use_cacao use_jamvm use_zero zero_config
- local vm=$(java-pkg_get-current-vm)
-
- # gcj-jdk ensures ecj is present.
- if use jbootstrap || has "${vm}" gcj-jdk; then
- use jbootstrap || einfo "bootstrap is necessary when building with ${vm}, ignoring USE=\"-jbootstrap\""
- config+=" --enable-bootstrap"
- else
- config+=" --disable-bootstrap"
- fi
-
- # Use Zero if requested
- if use zero; then
- use_zero="yes"
- fi
-
- # Use JamVM if requested
- if use jamvm; then
- use_jamvm="yes"
- fi
-
- # Use CACAO if requested
- if use cacao; then
- use_cacao="yes"
- fi
-
- # Are we on a architecture with a HotSpot port?
- # In-tree JIT ports are available for amd64, arm, arm64, ppc64 (be&le), SPARC and x86.
- if { use amd64 || use arm || use arm64 || use ppc64 || use sparc || use x86; }; then
- hotspot_port="yes"
- # Work around stack alignment issue, bug #647954.
- use x86 && append-flags -mincoming-stack-boundary=2
- fi
-
- # Always use HotSpot as the primary VM if available. #389521 #368669 #357633 ...
- # Otherwise use Zero for now until alternate VMs are working
- if test "x${hotspot_port}" != "xyes"; then
- use_zero="yes"
- fi
-
- if use shenandoah; then
- if { use amd64 || use arm64; }; then
- hs_config="--with-hotspot-build=shenandoah"
- hs_config+=" --with-hotspot-src-zip="${DISTDIR}/${SHENANDOAH_GENTOO_TARBALL}""
- else
- eerror "Shenandoah is only supported on arm64 and x86_64. Please re-build with USE="-shenandoah""
- fi
- else
- if use arm ; then
- hs_config="--with-hotspot-src-zip="${DISTDIR}/${AARCH32_GENTOO_TARBALL}""
- else
- hs_config="--with-hotspot-src-zip="${DISTDIR}/${HOTSPOT_GENTOO_TARBALL}""
- fi
- fi
-
- # Turn on JamVM if needed (non-HS archs) or requested
- if test "x${use_jamvm}" = "xyes"; then
- if test "x${hotspot_port}" = "xyes"; then
- ewarn 'Enabling JamVM on an architecture with HotSpot support; issues may result.'
- ewarn 'If so, please rebuild with USE="-jamvm"'
- fi
- ewarn 'JamVM is known to still have issues with IcedTea 3.x; please rebuild with USE="-jamvm"'
- jamvm_config="--enable-jamvm"
- fi
-
- # Turn on CACAO if needed (non-HS archs) or requested
- if test "x${use_cacao}" = "xyes"; then
- if test "x${hotspot_port}" = "xyes"; then
- ewarn 'Enabling CACAO on an architecture with HotSpot support; issues may result.'
- ewarn 'If so, please rebuild with USE="-cacao"'
- fi
- ewarn 'CACAO is known to still have issues with IcedTea 3.x; please rebuild with USE="-cacao"'
- cacao_config="--enable-cacao"
- fi
-
- # Turn on Zero if needed (non-HS/CACAO archs) or requested
- if test "x${use_zero}" = "xyes"; then
- if test "x${hotspot_port}" = "xyes"; then
- ewarn 'Enabling Zero on an architecture with HotSpot support; performance will be significantly reduced.'
- fi
- zero_config="--enable-zero"
- fi
-
- # PaX breaks pch, bug #601016
- if use pch && ! host-is-pax; then
- config+=" --enable-precompiled-headers"
- else
- config+=" --disable-precompiled-headers"
- fi
-
- config+=" --with-parallel-jobs=$(makeopts_jobs)"
-
- unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
-
- # force bash for now https://bugs.gentoo.org/722292
- CONFIG_SHELL="${EPREFIX}/bin/bash" econf ${config} \
- --with-openjdk-src-zip="${DISTDIR}/${OPENJDK_GENTOO_TARBALL}" \
- --with-corba-src-zip="${DISTDIR}/${CORBA_GENTOO_TARBALL}" \
- --with-jaxp-src-zip="${DISTDIR}/${JAXP_GENTOO_TARBALL}" \
- --with-jaxws-src-zip="${DISTDIR}/${JAXWS_GENTOO_TARBALL}" \
- --with-jdk-src-zip="${DISTDIR}/${JDK_GENTOO_TARBALL}" \
- --with-langtools-src-zip="${DISTDIR}/${LANGTOOLS_GENTOO_TARBALL}" \
- --with-nashorn-src-zip="${DISTDIR}/${NASHORN_GENTOO_TARBALL}" \
- --with-cacao-src-zip="${DISTDIR}/${CACAO_GENTOO_TARBALL}" \
- --with-jamvm-src-zip="${DISTDIR}/${JAMVM_GENTOO_TARBALL}" \
- --with-jdk-home="$(java-config -O)" \
- --prefix="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}" \
- --mandir="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}/man" \
- --with-pkgversion="Gentoo ${PF}" \
- --disable-ccache \
- --disable-downloading --disable-Werror --disable-tests \
- --disable-systemtap-tests --enable-improved-font-rendering \
- --enable-system-jpeg --enable-system-zlib \
- $(use_enable headless-awt headless) \
- $(use_enable !headless-awt system-gif) \
- $(use_enable !headless-awt system-png) \
- $(use_enable doc docs) \
- $(use_enable kerberos system-kerberos) \
- $(use_enable system-lcms) \
- $(use_with pax-kernel pax "${EPREFIX}/usr/sbin/paxmark.sh") \
- $(use_enable sctp system-sctp) \
- $(use_enable smartcard system-pcsc) \
- ${zero_config} ${cacao_config} ${jamvm_config} ${hs_config}
-}
-
-src_compile() {
- default
-}
-
-src_test() {
- default
-}
-
-src_install() {
- default
-
- local dest="/usr/$(get_libdir)/icedtea${SLOT}"
- local ddest="${ED}${dest#/}"
-
- if ! use alsa; then
- rm -v "${ddest}"/jre/lib/$(get_system_arch)/libjsoundalsa.* || die
- fi
-
- if ! use examples; then
- rm -r "${ddest}"/demo "${ddest}"/sample || die
- fi
-
- if ! use source; then
- rm -v "${ddest}"/src.zip || die
- fi
-
- dosym ../../../usr/share/doc/"${PF}" usr/share/doc/"${PN}${SLOT}"
-
- # Fix the permissions.
- find "${ddest}" \! -type l \( -perm /111 -exec chmod 755 {} \; -o -exec chmod 644 {} \; \) || die
-
- dosym ../../../../../../etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
-
- java-vm_install-env "${FILESDIR}/icedtea.env.sh"
- java-vm_sandbox-predict /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- java-vm-2_pkg_postinst
- einfo "JavaWebStart functionality provided by icedtea-web package"
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- java-vm-2_pkg_postrm
-}
diff --git a/dev-java/icedtea/metadata.xml b/dev-java/icedtea/metadata.xml
deleted file mode 100644
index ed7f1f695903..000000000000
--- a/dev-java/icedtea/metadata.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>gnu_andrew@member.fsf.org</email>
- <name>Andrew John Hughes</name>
- </maintainer>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription>
- The IcedTea project provides a harness to build the source code from OpenJDK (http://openjdk.java.net) using Free Software build tools along with additional tools such as a browser plugin and Web Start support via NetX.
- </longdescription>
- <use>
- <flag name="cacao">Use the CACAO virtual machine rather than HotSpot.</flag>
- <flag name="cups">Link against the CUPS library at compile time, rather than using it dynamically at runtime.</flag>
- <flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs (used to be X flag)</flag>
- <flag name="jamvm">Use the JamVM virtual machine rather than HotSpot.</flag>
- <flag name="jbootstrap">If possible, recompile the final IcedTea executables with itself.</flag>
- <flag name="kerberos">Link against Kerberos in order to obtain the cache location.</flag>
- <flag name="pax-kernel">Apply patch needed for pax enabled kernels.</flag>
- <flag name="pch">Build using pre-compiled headers.</flag>
- <flag name="sctp">Build the SCTP NIO channel implementation against lksctp</flag>
- <flag name="shenandoah">Include the Shenandoah ultra-low pause time garbage collector (-XX:+UseShenandoahGC) (arm64 and x86_64 only)</flag>
- <flag name="smartcard">Build the PCSC driver against pcsc-lite</flag>
- <flag name="system-lcms">Build against the system LCMS installation rather than the in-tree copy.</flag>
- <flag name="zero">Enable Zero assembler port (usually for non-HotSpot architectures)</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-java/icu4j/Manifest b/dev-java/icu4j/Manifest
index 14622dceb93a..052b7f5e2744 100644
--- a/dev-java/icu4j/Manifest
+++ b/dev-java/icu4j/Manifest
@@ -1 +1,2 @@
-DIST icu4j-71.1.tar.gz 66177851 BLAKE2B 39c5f6e1a8adc6ee913a7a41dcbf733c1f50e6de3047c0c548bf39426102fccef1a03dd7cb4020bd56b32d0c565848f11cc5ce3f738519dd7d2820a670c40443 SHA512 cc9ccb3208d8079c4f8169713aa0ebb930e86cf6c72510a3b7de5824e6482f26166a2e530abaaecfb8338764b23ac215b2921a821167b41d6a3f23952e2718e6
+DIST icu-74.2.tar.gz 65888936 BLAKE2B 81d5acddbfc58a859906cb61660b6f230b88f4a1b1cfd56838843e9445b5858d3dd4888707026340581322143f6a4b7b81f53b6431fd5d4cc3fb90531c4d82fb SHA512 728ae0f09ffc802d675bcf5b849e3081472de8417736bf8b7df0f4db9d1fb8073779be76536764c9111f7cb0e5ab2d2af6c644cc24be432b9eeae9063802ad6c
+DIST icu4j-75.1.tar.gz 65866291 BLAKE2B ae9a2a8f9bf6f38a08c46c4c3695fa4096c831beab1af5b654e86c9d681eb32be727930aeb1fd866fe9f93a96abe807fd353d108b5fe7a4d8203ee33cc16d971 SHA512 08f8fce8a4dd85706d9f7c57fd021ba15c403ab2da33d9a122d7cb441e0e148deebf245a661e4ef53a30bfa8b7622c63035946fd8966be3927af322275b87ca3
diff --git a/dev-java/icu4j/icu4j-71.1.ebuild b/dev-java/icu4j/icu4j-71.1.ebuild
deleted file mode 100644
index 1b928fc77942..000000000000
--- a/dev-java/icu4j/icu4j-71.1.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# 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/unicode-org/icu/archive/refs/tags/release-70-1.tar.gz --slot 70 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild icu4j-70.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.ibm.icu:icu4j:71.1"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A set of Java libraries providing Unicode and Globalization support"
-HOMEPAGE="https://icu.unicode.org"
-SRC_URI="https://github.com/unicode-org/icu/archive/refs/tags/release-${PV/./-}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="icu"
-SLOT="70"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*
- test? ( dev-java/junitparams:0 )"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/icu-release-${PV/./-}/icu4j/main"
-
-HTML_DOCS=( ../{APIChangeReport,license,readme}.html )
-
-JAVA_GENTOO_CLASSPATH_EXTRA="icu4j.jar:icu4j-charset.jar:icu4j-localespi.jar:testdata.jar:framework.jar"
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,junitparams"
-JAVA_TEST_EXTRA_ARGS="-Djava.locale.providers=CLDR,COMPAT,SPI"
-
-JAVA_TEST_SRC_DIR=(
- tests/charset/src
- tests/collate/src
- tests/core/src
-# tests/framework/src # we compile it in src_compile
- tests/localespi/src
- tests/packaging/src
- tests/translit/src
-)
-
-JAVA_TEST_RESOURCE_DIRS=(
- tests/charset/resources
- tests/collate/resources
- tests/core/resources
-# tests/framework/resources
- tests/localespi/resources
- tests/packaging/resources
- tests/translit/resources
-)
-
-JAVA_TEST_EXCLUDES=(
- "com.ibm.icu.dev.data.TestDataElements_testtypes" # Invalid test class 1. No runnable methods
- "com.ibm.icu.dev.data.resources.TestDataElements_en_Latn_US" # Invalid test class 1. No runnable methods
- "com.ibm.icu.dev.data.resources.TestDataElements_en_US" # Invalid test class 1. No runnable methods
- "com.ibm.icu.dev.data.resources.TestDataElements_fr_Latn_FR" # Invalid test class 1. No runnable methods
- "com.ibm.icu.dev.data.resources.TestDataElements_te" # Invalid test class 1. No runnable methods
- "com.ibm.icu.dev.data.resources.TestMessages" # Invalid test class 1. No runnable methods
- "com.ibm.icu.dev.test.translit.TestUtility" # Invalid test class 1. No runnable methods
- "com.ibm.icu.dev.test.localespi.TestUtil" # Invalid test class 1. No runnable methods
- "com.ibm.icu.dev.test.stringprep.TestData" # Invalid test class 1. No runnable methods
- "com.ibm.icu.dev.test.calendar.ChineseTestCase" # Invalid test class 1. Test class should have exactly one public zero-argument constructor
- "com.ibm.icu.dev.test.calendar.TestCase" # java.lang.IllegalArgumentException: Test class can only have one constructor
- "com.ibm.icu.dev.test.bidi.TestData" # Invalid test class 1. Test class should have exactly one public constructor
- # following kills 98 tests and and avoids 9 test failures
- # coverage tests fail because test handlers for the parametrized tests are not defined so the tests are broken and cannot succeed
- "com.ibm.icu.dev.test.serializable.CoverageTest"
-)
-
-src_prepare() {
- default
-
- # create the resources directories
- mkdir resources || die
- cp -r classes/* resources || die
-
- # remove .java files from resources
- find resources -type f -name '*.java' -exec rm -rf {} + || die "deleting classes failed"
-
- # this should not go in the jar files
- mv shared/licenses/license.html .. || die
-
- # icudata and icutzdata for "icu4j.jar"
- pushd resources/core/src || die
- jar -xf "${S}"/shared/data/icudata.jar || die
- jar -xf "${S}"/shared/data/icutzdata.jar || die
- # move these resources to "icu4j-charset.jar"
- mkdir -p "${S}"/resources/charset/src/com/ibm/icu/impl/data/icudt"$(ver_cut 1)"b || die
- mv com/ibm/icu/impl/data/icudt"$(ver_cut 1)"b/{*.cnv,cnvalias.icu} \
- "${S}"/resources/charset/src/com/ibm/icu/impl/data/icudt"$(ver_cut 1)"b || die
-
- # create 9 files com/ibm/icu/impl/data/icudt69b/*/fullLocaleNames.lst
- for dir in $(find com/ibm/icu/impl/data/icudt"$(ver_cut 1)"b/ -type d ! -name 'unit' -exec echo {} +); do
- ls -1 $dir/*.res | sed -e 's%.*\/%%' -e 's%\..*$%%' -e '/pool/d' -e '/res_index/d' -e '/tzdbNames/d'\
- > $dir/'fullLocaleNames.lst';
- done || die "fullLocaleNames.lst failed"
- popd
-
- # this test class was failing with "No runnable methods"
- # but test_excluding it would kill tousands of other tests.
- mkdir -p tests/framework/src/com/ibm/icu/dev/data/resources || die
- mv tests/{core,framework}/src/com/ibm/icu/dev/data/resources/TestDataElements.java || die
-
- # testdata.jar needs to be on classpath
- cp shared/data/testdata.jar . || die
-
- # clone tests src
- for i in charset collate core framework localespi packaging translit; do \
- cp -r tests/$i/{src,resources} ; \
- done || die "copying tests from src to resources failed"
- cp -r ../tools/misc/{src,resources} || die
-
- # separate tests resources from tests src
- find tests/*/resources -type f -name '*.java' -exec rm -rf {} + || die
- find ../tools/misc/resources -type f -name '*.java' -exec rm -rf {} + || die
-
- # 874576
- rm resources/core/src/META-INF/MANIFEST.MF || die
-}
-
-src_compile() {
- # "icu4j.jar"
- JAVA_SRC_DIR=(
- classes/collate/src
- classes/core/src
- classes/currdata/src
- classes/langdata/src
- classes/regiondata/src
- classes/translit/src
- )
- JAVA_RESOURCE_DIRS=(
- resources/collate/src
- resources/core/src
- resources/currdata/src
- resources/langdata/src
- resources/regiondata/src
- resources/translit/src
- shared/licenses
- )
- JAVA_JAR_FILENAME="icu4j.jar"
- JAVA_MAIN_CLASS="com.ibm.icu.util.VersionInfo"
- java-pkg-simple_src_compile
- rm -r target || die
-
- # "icu4j-charset.jar"
- JAVA_SRC_DIR=( classes/charset/src )
- JAVA_RESOURCE_DIRS=( resources/charset/src shared/licenses )
- JAVA_JAR_FILENAME="icu4j-charset.jar"
- JAVA_MAIN_CLASS=""
- java-pkg-simple_src_compile
- rm -r target || die
-
- # "icu4j-localespi.jar"
- JAVA_SRC_DIR=( classes/localespi/src )
- JAVA_RESOURCE_DIRS=( resources/localespi/src shared/licenses )
- JAVA_JAR_FILENAME="icu4j-localespi.jar"
- java-pkg-simple_src_compile
- rm -r target || die
-
- # main/test/framework
- # needed for compilicg the tests
- # but "No runnable methods" ("Invalid test class")
- if use test; then
- JAVA_SRC_DIR=( tests/framework/src ../tools/misc/src )
- JAVA_RESOURCE_DIRS=( tests/framework/resources ../tools/misc/resources )
- JAVA_JAR_FILENAME="framework.jar"
- java-pkg-simple_src_compile
- rm -fr target || die
- fi
-
- # javadocs
- if use doc; then
- JAVA_SRC_DIR=( classes )
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
- fi
-}
-
-src_test () {
- # https://bugs.gentoo.org/827212
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" != "1.8" ]] ; then
- java-pkg-simple_src_test
- fi
-}
-
-src_install() {
- default
- java-pkg_dojar "icu4j.jar"
- java-pkg_dojar "icu4j-charset.jar"
- java-pkg_dojar "icu4j-localespi.jar"
-
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
- if use source; then
- java-pkg_dosrc "classes"
- fi
-}
diff --git a/dev-java/icu4j/icu4j-74.2-r1.ebuild b/dev-java/icu4j/icu4j-74.2-r1.ebuild
new file mode 100644
index 000000000000..df2c5aa4daba
--- /dev/null
+++ b/dev-java/icu4j/icu4j-74.2-r1.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ com.ibm.icu:icu4j:${PV}
+ com.ibm.icu:icu4j-charset:${PV}
+ com.ibm.icu:icu4j-localespi:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A set of Java libraries providing Unicode and Globalization support"
+HOMEPAGE="https://icu.unicode.org"
+SRC_URI="https://github.com/unicode-org/icu/archive/release-${PV/./-}.tar.gz -> icu-${PV}.tar.gz"
+S="${WORKDIR}/icu-release-${PV/./-}/icu4j/main"
+
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/junitparams:0 )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../../{CONTRIBUTING,README,SECURITY}.md )
+HTML_DOCS=( ../{APIChangeReport,readme}.html )
+
+src_compile() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="icu4j.jar:icu4j-charset.jar:icu4j-localespi.jar"
+
+ einfo "Compiling icu4j.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu"
+ JAVA_JAR_FILENAME="icu4j.jar"
+ JAVA_MAIN_CLASS="com.ibm.icu.util.VersionInfo"
+ JAVA_RESOURCE_DIRS=(
+ collate/src/main/resources
+ core/src/main/resources
+ currdata/src/main/resources
+ langdata/src/main/resources
+ regiondata/src/main/resources
+ translit/src/main/resources
+ )
+ JAVA_SRC_DIR=(
+ collate/src/main/java
+ core/src/main/java
+ currdata/src/main/java
+ langdata/src/main/java
+ regiondata/src/main/java
+ translit/src/main/java
+ )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ einfo "Compiling icu4j-charset.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.charset"
+ JAVA_JAR_FILENAME="icu4j-charset.jar"
+ JAVA_MAIN_CLASS=""
+ JAVA_RESOURCE_DIRS=( charset/src/main/resources )
+ JAVA_SRC_DIR=( charset/src/main/java )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ einfo "Compiling icu4j-localespi.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.localespi"
+ JAVA_JAR_FILENAME="icu4j-localespi.jar"
+ JAVA_RESOURCE_DIRS=( localespi/src/main/resources )
+ JAVA_SRC_DIR=( localespi/src/main/java )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ # javadocs
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ JAVA_SRC_DIR=(
+ collate/src/main/java
+ core/src/main/java
+ currdata/src/main/java
+ langdata/src/main/java
+ regiondata/src/main/java
+ translit/src/main/java
+ charset/src/main/java
+ localespi/src/main/java
+ )
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test () {
+ # TZ needed for some tests in com/ibm/icu/dev/test/format/DateFormatTest
+ export LC_ALL="en_US.UTF-8" TZ="US/Pacific"
+
+ JAVA_TEST_EXTRA_ARGS="-Djava.locale.providers=CLDR,COMPAT,SPI"
+ JAVA_TEST_GENTOO_CLASSPATH="junit-4,junitparams"
+
+ einfo "Compiling framework-tests.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.framework"
+ JAVA_JAR_FILENAME="framework-tests.jar"
+ JAVA_MAIN_CLASS="com.ibm.icu.dev.test.TestAll"
+ JAVA_RESOURCE_DIRS=( framework/src/test/resources )
+ JAVA_SRC_DIR=( framework/src/test/java )
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":framework-tests.jar"
+
+ einfo "Testing core aka icu4j.jar"
+ JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
+ JAVA_TEST_SRC_DIR="core/src/test/java"
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ # exclude invalid tests, not run by "mvn test"
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "*Test*.java" \
+ ! -name "ChineseTestCase.java" \
+ ! -name "DataDrivenNumberFormatTestUtility.java" \
+ ! -name "*Helper.java" \
+ ! -name "ModuleTest.java" \
+ ! -name "*Sample.java" \
+ ! -name "TestCase.java" \
+ ! -name "*TestData*.java" \
+ ! -name "*TestFmwk.java" \
+ ! -name "TestMessages.java" \
+ ! -name "TestUtils.java" \
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+
+ einfo "Creating core-tests.jar"
+ jar cvf core-tests.jar -C target/test-classes .
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":core-tests.jar"
+ JAVA_TEST_RUN_ONLY=""
+
+ einfo "Testing collate"
+ JAVA_TEST_RESOURCE_DIRS="collate/src/test/resources"
+ JAVA_TEST_SRC_DIR="collate/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing translit"
+ JAVA_TEST_EXCLUDES=(
+ # Invalid test classes, No runnable methods
+ com.ibm.icu.dev.test.TestBoilerplate
+ com.ibm.icu.dev.test.translit.TestUtility
+ )
+ JAVA_TEST_RESOURCE_DIRS="translit/src/test/resources"
+ JAVA_TEST_SRC_DIR="translit/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing charset"
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="charset/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing common_tests"
+ # "mvn test" runs only 90 tests here, Gentoo runs 99 but 9 of them fail.
+ # coverage tests fail because test handlers for the parametrized tests
+ # are not defined so the tests are broken and cannot succeed
+ JAVA_TEST_EXCLUDES=( com.ibm.icu.dev.test.serializable.CoverageTest )
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="common_tests/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing localespi"
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="localespi/src/test/java"
+ # Invalid test classes, No runnable methods
+ JAVA_TEST_EXCLUDES=( com.ibm.icu.dev.test.localespi.TestUtil )
+ # https://bugs.gentoo.org/827212, "mvn test" does not run it at all
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if [[ "${vm_version}" != "1.8" ]] ; then
+ java-pkg-simple_src_test
+ fi
+}
+
+src_install() {
+ default
+ java-pkg_dojar "icu4j.jar"
+ java-pkg_dojar "icu4j-charset.jar"
+ java-pkg_dojar "icu4j-localespi.jar"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+ if use source; then
+ java-pkg_dosrc "classes"
+ fi
+}
diff --git a/dev-java/icu4j/icu4j-75.1.ebuild b/dev-java/icu4j/icu4j-75.1.ebuild
new file mode 100644
index 000000000000..b7830c3dc842
--- /dev/null
+++ b/dev-java/icu4j/icu4j-75.1.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ com.ibm.icu:icu4j:${PV}
+ com.ibm.icu:icu4j-charset:${PV}
+ com.ibm.icu:icu4j-localespi:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A set of Java libraries providing Unicode and Globalization support"
+HOMEPAGE="https://icu.unicode.org"
+SRC_URI="https://github.com/unicode-org/icu/archive/release-${PV/./-}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/icu-release-${PV/./-}/icu4j/main"
+
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/gson:0
+ dev-java/junitparams:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../../{CONTRIBUTING,README,SECURITY}.md )
+HTML_DOCS=( ../{APIChangeReport,readme}.html )
+
+src_compile() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="icu4j.jar:icu4j-charset.jar:icu4j-localespi.jar"
+
+ einfo "Compiling icu4j.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu"
+ JAVA_JAR_FILENAME="icu4j.jar"
+ JAVA_MAIN_CLASS="com.ibm.icu.util.VersionInfo"
+ JAVA_RESOURCE_DIRS=(
+ collate/src/main/resources
+ core/src/main/resources
+ currdata/src/main/resources
+ langdata/src/main/resources
+ regiondata/src/main/resources
+ translit/src/main/resources
+ )
+ JAVA_SRC_DIR=(
+ collate/src/main/java
+ core/src/main/java
+ currdata/src/main/java
+ langdata/src/main/java
+ regiondata/src/main/java
+ translit/src/main/java
+ )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ einfo "Compiling icu4j-charset.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.charset"
+ JAVA_JAR_FILENAME="icu4j-charset.jar"
+ JAVA_MAIN_CLASS=""
+ JAVA_RESOURCE_DIRS=( charset/src/main/resources )
+ JAVA_SRC_DIR=( charset/src/main/java )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ einfo "Compiling icu4j-localespi.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.localespi"
+ JAVA_JAR_FILENAME="icu4j-localespi.jar"
+ JAVA_RESOURCE_DIRS=( localespi/src/main/resources )
+ JAVA_SRC_DIR=( localespi/src/main/java )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ einfo "Generating javadocs"
+ JAVADOC_SRC_DIRS=(
+ collate/src/main/java
+ core/src/main/java
+ currdata/src/main/java
+ langdata/src/main/java
+ regiondata/src/main/java
+ translit/src/main/java
+ charset/src/main/java
+ localespi/src/main/java
+ )
+ use doc && ejavadoc
+}
+
+src_test () {
+ # TZ needed for some tests in com/ibm/icu/dev/test/format/DateFormatTest
+ export LC_ALL="en_US.UTF-8" TZ="US/Pacific"
+
+ JAVA_TEST_EXTRA_ARGS="-Djava.locale.providers=CLDR,COMPAT,SPI"
+ JAVA_TEST_GENTOO_CLASSPATH="gson,junit-4,junitparams"
+
+ einfo "Compiling framework-tests.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.framework"
+ JAVA_JAR_FILENAME="framework-tests.jar"
+ JAVA_MAIN_CLASS="com.ibm.icu.dev.test.TestAll"
+ JAVA_RESOURCE_DIRS=( framework/src/test/resources )
+ JAVA_SRC_DIR=( framework/src/test/java )
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":framework-tests.jar"
+
+ einfo "Testing core aka icu4j.jar"
+ JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
+ JAVA_TEST_SRC_DIR="core/src/test/java"
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ # exclude invalid tests, not run by "mvn test"
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "*Test*.java" \
+ ! -name "ChineseTestCase.java" \
+ ! -name "DataDrivenNumberFormatTestUtility.java" \
+ ! -name "*Helper.java" \
+ ! -name "ModuleTest.java" \
+ ! -name "*Sample.java" \
+ ! -name "TestCase.java" \
+ ! -name "*TestData*.java" \
+ ! -name "*TestFmwk.java" \
+ ! -name "TestMessages.java" \
+ ! -name "TestUtils.java" \
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+
+ einfo "Creating core-tests.jar"
+ jar cvf core-tests.jar -C target/test-classes .
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":core-tests.jar"
+ JAVA_TEST_RUN_ONLY=""
+
+ einfo "Testing collate"
+ JAVA_TEST_RESOURCE_DIRS="collate/src/test/resources"
+ JAVA_TEST_SRC_DIR="collate/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing translit"
+ JAVA_TEST_EXCLUDES=(
+ # Invalid test classes, No runnable methods
+ com.ibm.icu.dev.test.TestBoilerplate
+ com.ibm.icu.dev.test.translit.TestUtility
+ )
+ JAVA_TEST_RESOURCE_DIRS="translit/src/test/resources"
+ JAVA_TEST_SRC_DIR="translit/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing charset"
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="charset/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing common_tests"
+ # "mvn test" runs only 90 tests here, Gentoo runs 99 but 9 of them fail.
+ # coverage tests fail because test handlers for the parametrized tests
+ # are not defined so the tests are broken and cannot succeed
+ JAVA_TEST_EXCLUDES=( com.ibm.icu.dev.test.serializable.CoverageTest )
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="common_tests/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing localespi"
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="localespi/src/test/java"
+ # Invalid test classes, No runnable methods
+ JAVA_TEST_EXCLUDES=( com.ibm.icu.dev.test.localespi.TestUtil )
+ # https://bugs.gentoo.org/827212, "mvn test" does not run it at all
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if [[ "${vm_version}" != "1.8" ]] ; then
+ java-pkg-simple_src_test
+ fi
+}
+
+src_install() {
+ default
+ java-pkg_dojar "icu4j.jar"
+ java-pkg_dojar "icu4j-charset.jar"
+ java-pkg_dojar "icu4j-localespi.jar"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+ if use source; then
+ java-pkg_dosrc "classes"
+ fi
+}
diff --git a/dev-java/identicon/Manifest b/dev-java/identicon/Manifest
new file mode 100644
index 000000000000..b1b5a9a0006e
--- /dev/null
+++ b/dev-java/identicon/Manifest
@@ -0,0 +1 @@
+DIST identicon-1.0.tar.gz 12173 BLAKE2B 177f11739dc7a419206f63e9008f6b7830e71cd5adba2c207e5f3d8f420c30fcb7188dad62fe3541fac7a4966e31ef3451fab6a094bb962b749d4ff2e64eb610 SHA512 b8c3a14b69ac14018179be7a61813f05caa1b8e40178f02b973776c8d59867c56d84e3268735218a90dceed7e4e8f47f7acbd4401ab5a13dd6e2c2e155007647
diff --git a/dev-java/identicon/identicon-1.0.ebuild b/dev-java/identicon/identicon-1.0.ebuild
new file mode 100644
index 000000000000..b3db99166311
--- /dev/null
+++ b/dev-java/identicon/identicon-1.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.github.donpark.identicon:identicon:1.0"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Visual representation of a hash value"
+HOMEPAGE="https://github.com/PauloMigAlmeida/identicon"
+COMMIT="96902d3c7c9733d9da4cce9c5ed424557fc2ec3c"
+SRC_URI="https://github.com/PauloMigAlmeida/identicon/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+LICENSE="MIT"
+SLOT="1"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+CP_DEPEND="
+ dev-java/cache2k-api:0
+ dev-java/commons-logging:0
+"
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+S="${WORKDIR}/${PN}-${COMMIT}/core"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="cache2k-api-2"
diff --git a/dev-java/identicon/metadata.xml b/dev-java/identicon/metadata.xml
new file mode 100644
index 000000000000..87f89724fd55
--- /dev/null
+++ b/dev-java/identicon/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">PauloMigAlmeida/identicon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/injection-api/injection-api-2.0.1.ebuild b/dev-java/injection-api/injection-api-2.0.1.ebuild
index 397769b6e2cf..149141f12301 100644
--- a/dev-java/injection-api/injection-api-2.0.1.ebuild
+++ b/dev-java/injection-api/injection-api-2.0.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/eclipse-ee4j/${PN}/archive/${PV}.tar.gz -> ${P}.tar.
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
DEPEND=">=virtual/jdk-11:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/iso-relax/iso-relax-20050331-r5.ebuild b/dev-java/iso-relax/iso-relax-20050331-r5.ebuild
deleted file mode 100644
index c722dee93a25..000000000000
--- a/dev-java/iso-relax/iso-relax-20050331-r5.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Interfaces useful for applications which support RELAX Core"
-HOMEPAGE="http://www.xml.gr.jp/relax/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-
-RESTRICT="test"
-
-CDEPEND="dev-java/ant-core:0"
-
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${P}"
-
-JAVA_GENTOO_CLASSPATH="ant-core"
-
-JAVA_SRC_DIR="src"
-
-src_prepare() {
- default
- java-pkg_clean
-}
diff --git a/dev-java/iso-relax/iso-relax-20050331-r6.ebuild b/dev-java/iso-relax/iso-relax-20050331-r6.ebuild
new file mode 100644
index 000000000000..6359c5cb8203
--- /dev/null
+++ b/dev-java/iso-relax/iso-relax-20050331-r6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Interfaces useful for applications which support RELAX Core"
+HOMEPAGE="http://www.xml.gr.jp/relax/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+S="${WORKDIR}/${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+
+CP_DEPEND=">=dev-java/ant-1.10.14-r3:0"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean
+}
diff --git a/dev-java/istack-commons-runtime/Manifest b/dev-java/istack-commons-runtime/Manifest
index 17d337e462c8..bb86522a3923 100644
--- a/dev-java/istack-commons-runtime/Manifest
+++ b/dev-java/istack-commons-runtime/Manifest
@@ -1 +1,2 @@
+DIST jaxb-istack-commons-3.0.12.tar.gz 66063 BLAKE2B 7f869d17e78b62eac08b1c7c6bb0b974d9c7a8e4f0ad79ed4d659e3ea672a1e4947cd90fa122ac3d9b3ce902e17e8bfc7eca3d9133332bdbe1ff236d47b3bac5 SHA512 41193fbc20e9332f66754fc4dd52b7e98bd905c4a5dbca8adc46cb9b29f3e5fe39a684d9ca08b38c5ba15e54acb69dc289b72e2885946349bb48f4e9c2e34dfb
DIST jaxb-istack-commons-istack-commons-runtime-4.1.1.tar.gz 66161 BLAKE2B 07103ec616d23e14a5f61c4bb7ef9dce042f0df678db44f035b48c74eb7930f251d8b7fd8ce36c9bae7a7ef8ce213c62587dad2547518ba4638faf102ef651cd SHA512 b119b2c3582f5cbbd5793e0eb0a00c199c93119f3c18e34c57f8753b3a7008b9b93de58fd62df94d6cbedd698488616a80c334fda3d5038078e3858229f995cf
diff --git a/dev-java/istack-commons-runtime/istack-commons-runtime-3.0.12.ebuild b/dev-java/istack-commons-runtime/istack-commons-runtime-3.0.12.ebuild
new file mode 100644
index 000000000000..b08a535e4c27
--- /dev/null
+++ b/dev-java/istack-commons-runtime/istack-commons-runtime-3.0.12.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.sun.istack:istack-commons-runtime:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="istack common utility code"
+HOMEPAGE="https://projects.eclipse.org/projects/ee4j/istack-commons/"
+SRC_URI="https://github.com/eclipse-ee4j/jaxb-istack-commons/archive/${PV}.tar.gz -> jaxb-istack-commons-${PV}.tar.gz"
+S="${WORKDIR}/jaxb-istack-commons-${PV}/istack-commons"
+
+LICENSE="EPL-1.0"
+SLOT="3"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# fails if jdk-1.8:* # https://bugs.gentoo.org/857024
+DEPEND="
+ >=virtual/jdk-11:*
+ dev-java/jakarta-activation-api:1
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
+
+JAVA_CLASSPATH_EXTRA="jakarta-activation-api-1"
+JAVA_SRC_DIR="runtime/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="runtime/src/test/java"
diff --git a/dev-java/jackrabbit-webdav/Manifest b/dev-java/jackrabbit-webdav/Manifest
index 0b64bdb648ed..7e898af088fc 100644
--- a/dev-java/jackrabbit-webdav/Manifest
+++ b/dev-java/jackrabbit-webdav/Manifest
@@ -1,2 +1 @@
DIST jackrabbit-2.10.1-src.zip 13437021 BLAKE2B 3542bbe5f7c8ab8feb585fecdaca028a4908eb664d01cb9fb32156c71756973671969b1141e796fbc165f7f6f305db25f74d36657e4d86dac6766e4d79b888dd SHA512 c371ff941054f3a916f43f7020f0aebd8146422835a75ab2ad9f9f716c4ef0a94b3b962f9b6e4fadef87b9e82e8143b4ece27280714a4eb71a6b0a38c47d48e9
-DIST jackrabbit-2.21.7-src.zip 13532529 BLAKE2B ea3ebf687e29b58e75840d6f5665da8abcb474dbaa353c0caf6a8d1cb1de6c6347830cbe0b6c91259fd496eeff834278874b64306da85a7e0c82ab71dd0b1c34 SHA512 254e151ed7e814ff8b4df985814ace12316a9dc56e87f4ba6236986ac2364936d3b15327f50ebc1b9fa7ac9bbed067924148436cc8ac31a7ef91d11faecb4678
diff --git a/dev-java/jackrabbit-webdav/jackrabbit-webdav-2.21.7-r1.ebuild b/dev-java/jackrabbit-webdav/jackrabbit-webdav-2.21.7-r1.ebuild
deleted file mode 100644
index 378c64394006..000000000000
--- a/dev-java/jackrabbit-webdav/jackrabbit-webdav-2.21.7-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# 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://ftp.halifax.rwth-aachen.de/gentoo/distfiles/3b/jackrabbit-2.21.7-src.zip --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild jackrabbit-webdav-2.21.7.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.jackrabbit:jackrabbit-webdav:2.21.7"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Generic WebDAV Library"
-HOMEPAGE="https://jackrabbit.apache.org"
-SRC_URI="mirror://apache/jackrabbit/${PV}/jackrabbit-${PV}-src.zip"
-
-LICENSE="Apache-2.0"
-SLOT="2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# org.apache.httpcomponents:httpclient:4.5.13 -> >=dev-java/commons-httpclient-4.5.13:4
-# org.apache.httpcomponents:httpcore:4.4.14 -> >=dev-java/httpcore-4.4.14:0
-# org.slf4j:jcl-over-slf4j:1.7.30 -> !!!artifactId-not-found!!!
-# org.slf4j:slf4j-api:1.7.30 -> >=dev-java/slf4j-api-1.7.30:0
-
-CDEPEND="
- dev-java/httpcomponents-client:4
- dev-java/httpcore:0
- dev-java/osgi-annotation-versioning:0
- dev-java/slf4j-api:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# javax.servlet:javax.servlet-api:3.1.0 -> !!!groupId-not-found!!!
-# org.osgi:org.osgi.annotation:6.0.0 -> !!!groupId-not-found!!!
-# POM: pom.xml
-# test? ch.qos.logback:logback-classic:1.2.3 -> !!!groupId-not-found!!!
-# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="${CDEPEND}
- >=virtual/jdk-1.8:*
- dev-java/osgi-annotation-versioning:0
- java-virtuals/servlet-api:3.1"
-
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/jackrabbit-${PV}/${PN}"
-
-JAVA_GENTOO_CLASSPATH="httpcomponents-client-4,httpcore,osgi-annotation-versioning,servlet-api-3.1,slf4j-api"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS=( "src/main/resources" "src/main/appended-resources" )
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
diff --git a/dev-java/jackson-annotations/Manifest b/dev-java/jackson-annotations/Manifest
index 72572870ca8c..e56fa64c2593 100644
--- a/dev-java/jackson-annotations/Manifest
+++ b/dev-java/jackson-annotations/Manifest
@@ -1,2 +1 @@
-DIST jackson-annotations-2.13.3.tar.gz 1984205 BLAKE2B c577fcdcb40c44cf1cb08ebe467318ca4e4fff9fdeaf756360ef202275a48b5f5a93135439567261651b5731f523588f0c29a17c05ba6d03fec0f19ed19d9c5b SHA512 c00aec542c8ddea999fb60536cb2cab3edbf4f1d20b29e404d62add54a22546ca195ab7faeda4a2cd1d3a827f10420ccafe1dfb0065742f46aecfc2d00f2c1fc
DIST jackson-annotations-2.13.4.tar.gz 1984001 BLAKE2B 8c4eed89fc0c5b3d68f25f2db28a38e55a2e629c7c38289a82f4ff4a122967326e0221cb020afb69577fe4d5baa2ba89f8db5a398302cd25404083a5d0830eaf SHA512 5ad1d07b254956f9d4123eb01e32d8a8f43eccefe60c6841675ccfecd8837feb4de9352d90f8b8a2703f0f12a0fd20083f8d274594e1ca5674894b2cd76ce322
diff --git a/dev-java/jackson-annotations/jackson-annotations-2.13.3.ebuild b/dev-java/jackson-annotations/jackson-annotations-2.13.3.ebuild
deleted file mode 100644
index 13397eeb87c4..000000000000
--- a/dev-java/jackson-annotations/jackson-annotations-2.13.3.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# 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/FasterXML/jackson-annotations/archive/jackson-annotations-2.13.3.tar.gz --slot 2 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-annotations-2.13.3.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.jackson.core:jackson-annotations:2.13.3"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Core annotations used for value types, used by Jackson data binding package."
-HOMEPAGE="https://github.com/FasterXML/jackson-annotations"
-SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-11:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( README.md release-notes/VERSION-2.x )
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_EXCLUDES=(
- # 1) warning(junit.framework.TestSuite$1)
- # junit.framework.AssertionFailedError: No tests found in com.fasterxml.jackson.annotation.TestBase
- com.fasterxml.jackson.annotation.TestBase
-)
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jackson-annotations/jackson-annotations-2.13.4.ebuild b/dev-java/jackson-annotations/jackson-annotations-2.13.4.ebuild
index c4e28ae651e0..4505a819c458 100644
--- a/dev-java/jackson-annotations/jackson-annotations-2.13.4.ebuild
+++ b/dev-java/jackson-annotations/jackson-annotations-2.13.4.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="2"
-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/jackson-core/Manifest b/dev-java/jackson-core/Manifest
index 648bc2c14460..ebe2f5072775 100644
--- a/dev-java/jackson-core/Manifest
+++ b/dev-java/jackson-core/Manifest
@@ -1,2 +1 @@
-DIST jackson-core-2.13.3.tar.gz 12268319 BLAKE2B 8053988b060cd625670c643d9ba12d9ceae72dffa583bfc78e87044ac723c78bc44dfbdbaca0331098116a43b273dac844721a9e44ba1a536cc457f841d89b56 SHA512 9e7a9ec54073fa6faac36914c496df38bb6c201a37ade2b32306561b71e1b78a0ec4f48b006d4fb10cbde21979a16d117706b59338ada7aedcb593ba5c31ea52
DIST jackson-core-2.13.4.tar.gz 12270995 BLAKE2B d4556ad35eaf4f3182cb07eb39b14691a0d9c5d7801a4f6450536fcb33c19e9d6f24e80477c09dae167d4ff3b3e57798d63f4c24ca689a902350a6ff4ce0b19d SHA512 95fba755c9289728ce6168e57ef8f2417df03616b5839beacc338947d1447719e930b6f820144c0f398f162676e5d56a6a5bbcb86cbdb15f80de566ba45c478a
diff --git a/dev-java/jackson-core/jackson-core-2.13.3.ebuild b/dev-java/jackson-core/jackson-core-2.13.3.ebuild
deleted file mode 100644
index e25ceed85a1a..000000000000
--- a/dev-java/jackson-core/jackson-core-2.13.3.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# 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/FasterXML/jackson-core/archive/jackson-core-2.13..tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-core-2.13.333.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.jackson.core:jackson-core:2.13.3"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Core Jackson processing abstractions (Streaming API), implementation for JSON"
-HOMEPAGE="https://github.com/FasterXML/jackson-core"
-SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-11:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( README.md release-notes/{CREDITS-2.x,VERSION-2.x} )
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- default
-
- sed -e 's:@package@:com.fasterxml.jackson.core.json:g' \
- -e "s:@projectversion@:${PV}:g" \
- -e 's:@projectgroupid@:com.fasterxml.jackson.core:g' \
- -e 's:@projectartifactid@:jackson-core:g' \
- "${JAVA_SRC_DIR}/com/fasterxml/jackson/core/json/PackageVersion.java.in" \
- > "${JAVA_SRC_DIR}/com/fasterxml/jackson/core/json/PackageVersion.java" || die
-
- java-pkg-2_src_prepare
-}
-
-src_test() {
- pushd src/test/java || die
- local JAVA_TEST_RUN_ONLY=$(find * -name "*Test*.java" \
- ! -wholename "**/failing**/*.java" \
- ! -wholename "**/testsupport**/*.java" \
- ! -wholename "perf**/*.java" \
- ! -name "*TestBase.java" \
- ! -name "*BaseTest.java" \
- )
- popd
-
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
- java-pkg-simple_src_test
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jackson-core/jackson-core-2.13.4.ebuild b/dev-java/jackson-core/jackson-core-2.13.4.ebuild
index 797e9cf5cd05..c5efc120c377 100644
--- a/dev-java/jackson-core/jackson-core-2.13.4.ebuild
+++ b/dev-java/jackson-core/jackson-core-2.13.4.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
LICENSE="Apache-2.0"
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/jackson-core/metadata.xml b/dev-java/jackson-core/metadata.xml
index 7c4f08455c28..b23e2bb1f6ba 100644
--- a/dev-java/jackson-core/metadata.xml
+++ b/dev-java/jackson-core/metadata.xml
@@ -6,5 +6,6 @@
</maintainer>
<upstream>
<bugs-to>https://github.com/FasterXML/jackson-core/issues</bugs-to>
+ <remote-id type="github">FasterXML/jackson-core</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jackson-databind/Manifest b/dev-java/jackson-databind/Manifest
index 94081af27935..34113ea0eb6d 100644
--- a/dev-java/jackson-databind/Manifest
+++ b/dev-java/jackson-databind/Manifest
@@ -1,2 +1 @@
-DIST jackson-databind-2.13.3.tar.gz 48056095 BLAKE2B 04751cd99eae3bbf3c3a30993506f05b47a85782f52e2cf51f50de9bcb5e9c3718d6ba6105667226272d644dcac6aeeb3ce06dc7ae737adf0392a7a7eafef2aa SHA512 785db6cab20ee74ff90815b8a1afedcbf10f13f60c336a61c20513757cbcde80c073d5f4dc60d390a72600a2b5719cca22b4c71220707dd4edd67dd87f6a7ac9
-DIST jackson-databind-2.13.4.tar.gz 48052399 BLAKE2B f3ad6d8c2afa69dfadaef7cc592215bb5b9a63c03ef214dd75f4b5b88a35edd0d24a4a680936a057046dd3418a901aa8af1ca093097f17f0998ab66b19c3cb84 SHA512 b315a8bffdc81c954ed1a3b07032b47229e1fa2e78ca8f4c3609c47d4afd000ba849cc54ea9a0073dd4a9313b17ce7e1f420ce5df5d389d5ecc640e925dc6cd1
+DIST jackson-databind-2.13.4.1.tar.gz 48063423 BLAKE2B 88370810068f3c1b3973f310e55e6fb53067ff9796de960d2c57cd50ee59dd552f58b4e73d4455076b18ec996ce7714ab84000a4887a1779fcf259859c891346 SHA512 22b7a4225903a0fad3d7d17a5fad79905da96a4a7ebf70b7d9f2c778e88f8c9c2a27d96f66beae96f189ebcd9ca19fd7b12405009ae38023ec8b0511e1ba1af2
diff --git a/dev-java/jackson-databind/jackson-databind-2.13.3.ebuild b/dev-java/jackson-databind/jackson-databind-2.13.3.ebuild
deleted file mode 100644
index f6673fd7ebe7..000000000000
--- a/dev-java/jackson-databind/jackson-databind-2.13.3.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# 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/FasterXML/jackson-databind/archive/jackson-databind-2.13.3.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-databind-2.13.3.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.jackson.core:jackson-databind:2.13.3"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="General data-binding functionality for Jackson: works on core streaming API"
-HOMEPAGE="https://github.com/FasterXML/jackson-databind"
-SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Dependencies like powermock-{core,module-junit4,api-mockito2} are not available in ::gentoo
-RESTRICT="test"
-
-# Common dependencies
-# POM: pom.xml
-# com.fasterxml.jackson.core:jackson-annotations:2.13.3 -> >=dev-java/jackson-annotations-2.13.3:2
-# com.fasterxml.jackson.core:jackson-core:2.13.3 -> >=dev-java/jackson-core-2.13.3:0
-
-CP_DEPEND="
- ~dev-java/jackson-annotations-${PV}:2
- ~dev-java/jackson-core-${PV}:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? javax.measure:jsr-275:0.9.1 -> !!!groupId-not-found!!!
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-# test? org.powermock:powermock-api-mockito2:2.0.0 -> !!!groupId-not-found!!!
-# test? org.powermock:powermock-core:2.0.0 -> !!!groupId-not-found!!!
-# test? org.powermock:powermock-module-junit4:2.0.0 -> !!!groupId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}"
-# test? (
-# !!!groupId-not-found!!!
-# )
-#"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( {README,SECURITY}.md release-notes/{CREDITS,VERSION}-2.x )
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-# JAVA_TEST_GENTOO_CLASSPATH="!!!groupId-not-found!!!,junit-4,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!"
-# JAVA_TEST_SRC_DIR="src/test/java"
-# JAVA_TEST_RESOURCE_DIRS=(
-# "src/test/resources"
-# )
-
-src_prepare() {
- java-pkg-2_src_prepare
-
- sed -e 's:@package@:com.fasterxml.jackson.databind.cfg:g' \
- -e "s:@projectversion@:${PV}:g" \
- -e 's:@projectgroupid@:com.fasterxml.jackson.core:g' \
- -e "s:@projectartifactid@:${PN}:g" \
- "${JAVA_SRC_DIR}/com/fasterxml/jackson/databind/cfg/PackageVersion.java.in" \
- > "${JAVA_SRC_DIR}/com/fasterxml/jackson/databind/cfg/PackageVersion.java" || die
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jackson-databind/jackson-databind-2.13.4.1.ebuild b/dev-java/jackson-databind/jackson-databind-2.13.4.1.ebuild
new file mode 100644
index 000000000000..e7113f161f38
--- /dev/null
+++ b/dev-java/jackson-databind/jackson-databind-2.13.4.1.ebuild
@@ -0,0 +1,76 @@
+# 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/FasterXML/jackson-databind/archive/jackson-databind-2.13.4.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-databind-2.13.4.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.fasterxml.jackson.core:jackson-databind:2.13.4.1"
+# No tests because of not yet packaged powermock
+# JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="General data-binding functionality for Jackson: works on core streaming API"
+HOMEPAGE="https://github.com/FasterXML/jackson-databind"
+SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# com.fasterxml.jackson.core:jackson-annotations:2.13.4 -> >=dev-java/jackson-annotations-2.13.4:2
+# com.fasterxml.jackson.core:jackson-core:2.13.4 -> >=dev-java/jackson-core-2.13.4:0
+
+CP_DEPEND="
+ ~dev-java/jackson-annotations-2.13.4:2
+ ~dev-java/jackson-core-2.13.4:0
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? javax.measure:jsr-275:0.9.1 -> !!!groupId-not-found!!!
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
+# test? org.powermock:powermock-api-mockito2:2.0.0 -> !!!groupId-not-found!!!
+# test? org.powermock:powermock-core:2.0.0 -> !!!groupId-not-found!!!
+# test? org.powermock:powermock-module-junit4:2.0.0 -> !!!groupId-not-found!!!
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}"
+# test? (
+# !!!groupId-not-found!!!
+# )
+#"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+DOCS=( {README,SECURITY}.md release-notes/{CREDITS,VERSION}-2.x )
+
+S="${WORKDIR}/${PN}-${P}"
+
+JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+# JAVA_TEST_GENTOO_CLASSPATH="!!!groupId-not-found!!!,junit-4,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!"
+# JAVA_TEST_SRC_DIR="src/test/java"
+# JAVA_TEST_RESOURCE_DIRS=(
+# "src/test/resources"
+# )
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ sed -e 's:@package@:com.fasterxml.jackson.databind.cfg:g' \
+ -e "s:@projectversion@:${PV}:g" \
+ -e 's:@projectgroupid@:com.fasterxml.jackson.core:g' \
+ -e "s:@projectartifactid@:${PN}:g" \
+ "${JAVA_SRC_DIR}/com/fasterxml/jackson/databind/cfg/PackageVersion.java.in" \
+ > "${JAVA_SRC_DIR}/com/fasterxml/jackson/databind/cfg/PackageVersion.java" || die
+}
diff --git a/dev-java/jackson-databind/jackson-databind-2.13.4.ebuild b/dev-java/jackson-databind/jackson-databind-2.13.4.ebuild
deleted file mode 100644
index cefd08b5c6da..000000000000
--- a/dev-java/jackson-databind/jackson-databind-2.13.4.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# 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/FasterXML/jackson-databind/archive/jackson-databind-2.13.4.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-databind-2.13.4.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="com.fasterxml.jackson.core:jackson-databind:2.13.4"
-# No tests because of not yet packaged powermock
-# JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="General data-binding functionality for Jackson: works on core streaming API"
-HOMEPAGE="https://github.com/FasterXML/jackson-databind"
-SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-# Common dependencies
-# POM: pom.xml
-# com.fasterxml.jackson.core:jackson-annotations:2.13.4 -> >=dev-java/jackson-annotations-2.13.4:2
-# com.fasterxml.jackson.core:jackson-core:2.13.4 -> >=dev-java/jackson-core-2.13.4:0
-
-CP_DEPEND="
- ~dev-java/jackson-annotations-${PV}:2
- ~dev-java/jackson-core-${PV}:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? javax.measure:jsr-275:0.9.1 -> !!!groupId-not-found!!!
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-# test? org.powermock:powermock-api-mockito2:2.0.0 -> !!!groupId-not-found!!!
-# test? org.powermock:powermock-core:2.0.0 -> !!!groupId-not-found!!!
-# test? org.powermock:powermock-module-junit4:2.0.0 -> !!!groupId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}"
-# test? (
-# !!!groupId-not-found!!!
-# )
-#"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( {README,SECURITY}.md release-notes/{CREDITS,VERSION}-2.x )
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-# JAVA_TEST_GENTOO_CLASSPATH="!!!groupId-not-found!!!,junit-4,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!"
-# JAVA_TEST_SRC_DIR="src/test/java"
-# JAVA_TEST_RESOURCE_DIRS=(
-# "src/test/resources"
-# )
-
-src_prepare() {
- java-pkg-2_src_prepare
-
- sed -e 's:@package@:com.fasterxml.jackson.databind.cfg:g' \
- -e "s:@projectversion@:${PV}:g" \
- -e 's:@projectgroupid@:com.fasterxml.jackson.core:g' \
- -e "s:@projectartifactid@:${PN}:g" \
- "${JAVA_SRC_DIR}/com/fasterxml/jackson/databind/cfg/PackageVersion.java.in" \
- > "${JAVA_SRC_DIR}/com/fasterxml/jackson/databind/cfg/PackageVersion.java" || die
-}
diff --git a/dev-java/jackson-databind/metadata.xml b/dev-java/jackson-databind/metadata.xml
index 7db69d87c0d8..de712481f022 100644
--- a/dev-java/jackson-databind/metadata.xml
+++ b/dev-java/jackson-databind/metadata.xml
@@ -6,5 +6,6 @@
</maintainer>
<upstream>
<bugs-to>https://github.com/FasterXML/jackson-databind/issues</bugs-to>
+ <remote-id type="github">FasterXML/jackson-databind</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jackson-dataformat-xml/Manifest b/dev-java/jackson-dataformat-xml/Manifest
index 0ac67954bc80..e8a729e86a91 100644
--- a/dev-java/jackson-dataformat-xml/Manifest
+++ b/dev-java/jackson-dataformat-xml/Manifest
@@ -1,2 +1 @@
-DIST jackson-dataformat-xml-2.13.3.tar.gz 3201473 BLAKE2B 90f6b98325e3ae43e7ba560b077ee8fc8e5ad5004fd23b7c10a2c2a3ec7a674b700b80766690d2442820f87698fa5e33c440c2aa12cd521b7566e78eca50bbaa SHA512 52e26e1a398d90f75ef61d074ed1d149b9f13555f1878703b3148ed008f29f8802586a6020f3c1427a748a73b9a4ca56d86ffd769cf6cb7317a69e039345eefa
DIST jackson-dataformat-xml-2.13.4.tar.gz 3203115 BLAKE2B c959c878c6905de9fee73fab87381296d30146ab755765e715f49f141ea80d3843116752710e78f270c96abb0a2dd784fff01769ce68c126b3c7bd5acbe1a880 SHA512 8b6c76d8b324ceffece806f2de1352e2b2b557d64f51885bec8e60033c254e9c5a9adad29c07b6a5aaa77d535245ad581f67768a62af7a44160221aae62115e6
diff --git a/dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.3-r1.ebuild b/dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.3-r1.ebuild
deleted file mode 100644
index af94b82ff4ac..000000000000
--- a/dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.3-r1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# 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/FasterXML/jackson-dataformat-xml/archive/jackson-dataformat-xml-2.13.3.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-dataformat-xml-2.13.3.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.13.3"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Data format extension for Jackson"
-HOMEPAGE="https://github.com/FasterXML/jackson-dataformat-xml"
-SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# com.fasterxml.jackson.core:jackson-annotations:2.13.3 -> >=dev-java/jackson-annotations-2.13.3:2
-# 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.woodstox:woodstox-core:6.2.7 -> >=dev-java/woodstox-core-6.2.8:0
-# org.codehaus.woodstox:stax2-api:4.2.1 -> >=dev-java/stax2-api-4.2.1:0
-
-CP_DEPEND="
- ~dev-java/jackson-annotations-${PV}:2
- ~dev-java/jackson-core-${PV}:0
- ~dev-java/jackson-databind-${PV}:0
- >=dev-java/stax2-api-4.2.1-r1:0
- dev-java/woodstox-core:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.13.3 -> >=dev-java/jackson-module-jakarta-xmlbind-2.13.3:0
-# test? com.sun.xml.stream:sjsxp:1.0.2 -> >=dev-java/sjsxp-1.0.2:0
-# test? jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 -> >=dev-java/jaxb-api-3.0.1:3
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}
- test? (
- ~dev-java/jackson-module-jakarta-xmlbind-${PV}:0
- dev-java/jaxb-api:4
- dev-java/sjsxp:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( README.md release-notes/{CREDITS,VERSION}-2.x )
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="jackson-module-jakarta-xmlbind,sjsxp,jaxb-api-4,junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- java-pkg-2_src_prepare
-
- sed -e 's:@package@:com.fasterxml.jackson.dataformat.xml:g' \
- -e "s:@projectversion@:${PV}:g" \
- -e 's:@projectgroupid@:com.fasterxml.jackson.dataformat:g' \
- -e "s:@projectartifactid@:${PN}:g" \
- "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/xml/PackageVersion.java.in" \
- > "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/xml/PackageVersion.java" || die
-}
-
-src_test() {
- pushd src/test/java || die
- local JAVA_TEST_RUN_ONLY=$(find * -name "*Test*.java" \
- ! -wholename "**/failing**/*.java" \
- ! -name "*TestBase.java" )
- popd
-
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
-
- # The same failure under openjdk-17 occurs upstream (running 'mvn test')
-
- # 1) testCollection(com.fasterxml.jackson.dataformat.xml.lists.ListAsObjectTest)
- # com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Failed to call `setAccess()` on Field 'first' due to
- # `java.lang.reflect.InaccessibleObjectException`, problem: Unable to make field transient java.util.LinkedList$Node
- # java.util.LinkedList.first accessible: module java.base does not "opens java.util" to unnamed module @42bb2aee
-
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -ge "17" ; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.util=ALL-UNNAMED )
- fi
-
- java-pkg-simple_src_test
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.4-r1.ebuild b/dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.4-r1.ebuild
new file mode 100644
index 000000000000..0abe765139fe
--- /dev/null
+++ b/dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.4-r1.ebuild
@@ -0,0 +1,105 @@
+# 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/FasterXML/jackson-dataformat-xml/archive/jackson-dataformat-xml-2.13.4.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-dataformat-xml-2.13.4.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.13.4"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Data format extension for Jackson"
+HOMEPAGE="https://github.com/FasterXML/jackson-dataformat-xml"
+SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# com.fasterxml.jackson.core:jackson-annotations:2.13.4 -> >=dev-java/jackson-annotations-2.13.4:2
+# com.fasterxml.jackson.core:jackson-core:2.13.4 -> >=dev-java/jackson-core-2.13.4:0
+# com.fasterxml.jackson.core:jackson-databind:2.13.4 -> >=dev-java/jackson-databind-2.13.4:0
+# com.fasterxml.woodstox:woodstox-core:6.3.1 -> >=dev-java/woodstox-core-6.3.1:0
+# org.codehaus.woodstox:stax2-api:4.2.1 -> >=dev-java/stax2-api-4.2.1:0
+
+CP_DEPEND="
+ ~dev-java/jackson-annotations-${PV}:2
+ ~dev-java/jackson-core-${PV}:0
+ ~dev-java/jackson-databind-${PV}.1:0
+ >=dev-java/stax2-api-4.2.1-r1:0
+ dev-java/woodstox-core:0
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.13.4 -> >=dev-java/jackson-module-jakarta-xmlbind-2.13.4:0
+# test? com.sun.xml.stream:sjsxp:1.0.2 -> >=dev-java/sjsxp-1.0.2:0
+# test? jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 -> >=dev-java/jaxb-api-3.0.1:3
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+ test? (
+ ~dev-java/jackson-module-jakarta-xmlbind-${PV}:0
+ dev-java/jaxb-api:4
+ dev-java/sjsxp:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+DOCS=( {README,SECURITY}.md release-notes/{CREDITS,VERSION}-2.x )
+
+S="${WORKDIR}/${PN}-${P}"
+
+JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="jackson-module-jakarta-xmlbind,sjsxp,jaxb-api-4,junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ sed -e 's:@package@:com.fasterxml.jackson.dataformat.xml:g' \
+ -e "s:@projectversion@:${PV}:g" \
+ -e 's:@projectgroupid@:com.fasterxml.jackson.dataformat:g' \
+ -e "s:@projectartifactid@:${PN}:g" \
+ "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/xml/PackageVersion.java.in" \
+ > "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/xml/PackageVersion.java" || die
+}
+
+src_test() {
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * -name "*Test*.java" \
+ ! -wholename "**/failing**/*.java" \
+ ! -name "*TestBase.java" )
+ popd
+
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+
+ # The same failure under openjdk-17 occurs upstream (running 'mvn test')
+
+ # 1) testCollection(com.fasterxml.jackson.dataformat.xml.lists.ListAsObjectTest)
+ # com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Failed to call `setAccess()` on Field 'first' due to
+ # `java.lang.reflect.InaccessibleObjectException`, problem: Unable to make field transient java.util.LinkedList$Node
+ # java.util.LinkedList.first accessible: module java.base does not "opens java.util" to unnamed module @42bb2aee
+
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge "17" ; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.util=ALL-UNNAMED )
+ fi
+
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.4.ebuild b/dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.4.ebuild
deleted file mode 100644
index f7c722ff3c0b..000000000000
--- a/dev-java/jackson-dataformat-xml/jackson-dataformat-xml-2.13.4.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# 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/FasterXML/jackson-dataformat-xml/archive/jackson-dataformat-xml-2.13.4.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-dataformat-xml-2.13.4.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.13.4"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Data format extension for Jackson"
-HOMEPAGE="https://github.com/FasterXML/jackson-dataformat-xml"
-SRC_URI="https://github.com/FasterXML/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-# Common dependencies
-# POM: pom.xml
-# com.fasterxml.jackson.core:jackson-annotations:2.13.4 -> >=dev-java/jackson-annotations-2.13.4:2
-# com.fasterxml.jackson.core:jackson-core:2.13.4 -> >=dev-java/jackson-core-2.13.4:0
-# com.fasterxml.jackson.core:jackson-databind:2.13.4 -> >=dev-java/jackson-databind-2.13.4:0
-# com.fasterxml.woodstox:woodstox-core:6.3.1 -> >=dev-java/woodstox-core-6.3.1:0
-# org.codehaus.woodstox:stax2-api:4.2.1 -> >=dev-java/stax2-api-4.2.1:0
-
-CP_DEPEND="
- ~dev-java/jackson-annotations-${PV}:2
- ~dev-java/jackson-core-${PV}:0
- ~dev-java/jackson-databind-${PV}:0
- >=dev-java/stax2-api-4.2.1-r1:0
- dev-java/woodstox-core:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.13.4 -> >=dev-java/jackson-module-jakarta-xmlbind-2.13.4:0
-# test? com.sun.xml.stream:sjsxp:1.0.2 -> >=dev-java/sjsxp-1.0.2:0
-# test? jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 -> >=dev-java/jaxb-api-3.0.1:3
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}
- test? (
- ~dev-java/jackson-module-jakarta-xmlbind-${PV}:0
- dev-java/jaxb-api:4
- dev-java/sjsxp:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( {README,SECURITY}.md release-notes/{CREDITS,VERSION}-2.x )
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="jackson-module-jakarta-xmlbind,sjsxp,jaxb-api-4,junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- java-pkg-2_src_prepare
-
- sed -e 's:@package@:com.fasterxml.jackson.dataformat.xml:g' \
- -e "s:@projectversion@:${PV}:g" \
- -e 's:@projectgroupid@:com.fasterxml.jackson.dataformat:g' \
- -e "s:@projectartifactid@:${PN}:g" \
- "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/xml/PackageVersion.java.in" \
- > "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/xml/PackageVersion.java" || die
-}
-
-src_test() {
- pushd src/test/java || die
- local JAVA_TEST_RUN_ONLY=$(find * -name "*Test*.java" \
- ! -wholename "**/failing**/*.java" \
- ! -name "*TestBase.java" )
- popd
-
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
-
- # The same failure under openjdk-17 occurs upstream (running 'mvn test')
-
- # 1) testCollection(com.fasterxml.jackson.dataformat.xml.lists.ListAsObjectTest)
- # com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Failed to call `setAccess()` on Field 'first' due to
- # `java.lang.reflect.InaccessibleObjectException`, problem: Unable to make field transient java.util.LinkedList$Node
- # java.util.LinkedList.first accessible: module java.base does not "opens java.util" to unnamed module @42bb2aee
-
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -ge "17" ; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.util=ALL-UNNAMED )
- fi
-
- java-pkg-simple_src_test
-}
diff --git a/dev-java/jackson-dataformat-xml/metadata.xml b/dev-java/jackson-dataformat-xml/metadata.xml
index 76dcd355d49d..8891308e2cbd 100644
--- a/dev-java/jackson-dataformat-xml/metadata.xml
+++ b/dev-java/jackson-dataformat-xml/metadata.xml
@@ -9,5 +9,6 @@
</longdescription>
<upstream>
<bugs-to>https://github.com/FasterXML/jackson-dataformat-xml/issues</bugs-to>
+ <remote-id type="github">FasterXML/jackson-dataformat-xml</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jackson-dataformat-yaml/Manifest b/dev-java/jackson-dataformat-yaml/Manifest
index 14e9a15bca6e..3788f2029f74 100644
--- a/dev-java/jackson-dataformat-yaml/Manifest
+++ b/dev-java/jackson-dataformat-yaml/Manifest
@@ -1,2 +1 @@
-DIST jackson-dataformats-text-2.13.3.tar.gz 3528981 BLAKE2B 98593f45e663905c15ab5cb37152c95d69a0121515990fac0c66f640d93af83cd51802e2856a4e8df6b82c0121ac4fcd20774fd6a3841e019e1da56c599ed9a9 SHA512 77fad3e6ab5ad55d3a46ffaee3482e9f0dbfa36ce67d5ad31e0b7cde667536387f1dce5bc8296733a28efb09f423785aca7291d9ba85a67ca2b94ef4c8766d7f
DIST jackson-dataformats-text-2.13.4.tar.gz 3530892 BLAKE2B 3cbfcbbd33aeac67476caa453b77c19a1da88a9fb9482360bf427af3f41d689a04fc1ecb28d4424c5bfd7436979f1b03c215ca88a0064338f53dfd169f288562 SHA512 792f416c7cabd639b42bd93205e55328ace53c093e59d57eeaedc27a61358527515031c70dd503702471a13237f6389ca118e453da0ab002e20a531885d58a11
diff --git a/dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.3-r1.ebuild b/dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.3-r1.ebuild
deleted file mode 100644
index 9e85e26ba239..000000000000
--- a/dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.3-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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/FasterXML/jackson-dataformats-text/archive/jackson-dataformats-text-2.13.3.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-dataformat-yaml-2.13.3.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Support for reading and writing YAML-encoded data via Jackson abstractions"
-HOMEPAGE="https://github.com/FasterXML/jackson-dataformats-text"
-SRC_URI="https://github.com/FasterXML/jackson-dataformats-text/archive/jackson-dataformats-text-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- ~dev-java/jackson-core-${PV}:0
- ~dev-java/jackson-databind-${PV}:0
- >=dev-java/snakeyaml-1.30-r1:0
- >=virtual/jdk-11:*
-"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( README.md release-notes/{CREDITS,VERSION} )
-
-S="${WORKDIR}/jackson-dataformats-text-jackson-dataformats-text-${PV}/yaml"
-
-JAVA_CLASSPATH_EXTRA="jackson-core,jackson-databind,snakeyaml"
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_TEST_EXCLUDES=(
- # Upstream's usual exclude pattern: "**/failing**/*.java"
- com.fasterxml.jackson.dataformat.yaml.failing.ObjectIdWithTree2Test
- com.fasterxml.jackson.dataformat.yaml.failing.PolymorphicWithObjectId25Test
- com.fasterxml.jackson.dataformat.yaml.failing.SimpleGeneration215Test
-)
-
-src_prepare() {
- default
- java-pkg-2_src_prepare
-
- sed -e 's:@package@:com.fasterxml.jackson.dataformat.yaml:g' \
- -e "s:@projectversion@:${PV}:g" \
- -e 's:@projectgroupid@:com.fasterxml.jackson.dataformat:g' \
- -e "s:@projectartifactid@:${PN}:g" \
- "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/yaml/PackageVersion.java.in" \
- > "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/yaml/PackageVersion.java" || die
-}
diff --git a/dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.4-r1.ebuild b/dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.4-r1.ebuild
new file mode 100644
index 000000000000..a852610200cc
--- /dev/null
+++ b/dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.4-r1.ebuild
@@ -0,0 +1,60 @@
+# 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/FasterXML/jackson-dataformats-text/archive/jackson-dataformats-text-2.13.4.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-dataformat-yaml-2.13.4.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.4"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Support for reading and writing YAML-encoded data via Jackson abstractions"
+HOMEPAGE="https://github.com/FasterXML/jackson-dataformats-text"
+SRC_URI="https://github.com/FasterXML/jackson-dataformats-text/archive/jackson-dataformats-text-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ ~dev-java/jackson-core-${PV}:0
+ ~dev-java/jackson-databind-${PV}.1:0
+ dev-java/snakeyaml:0
+ >=virtual/jdk-11:*
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( README.md release-notes/{CREDITS,VERSION} )
+
+S="${WORKDIR}/jackson-dataformats-text-jackson-dataformats-text-${PV}/yaml"
+
+JAVA_CLASSPATH_EXTRA="jackson-core,jackson-databind,snakeyaml"
+JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_EXCLUDES=(
+ # Upstream's usual exclude pattern: "**/failing**/*.java"
+ com.fasterxml.jackson.dataformat.yaml.failing.ObjectIdWithTree2Test
+ com.fasterxml.jackson.dataformat.yaml.failing.PolymorphicWithObjectId25Test
+ com.fasterxml.jackson.dataformat.yaml.failing.SimpleGeneration215Test
+)
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+
+ sed -e 's:@package@:com.fasterxml.jackson.dataformat.yaml:g' \
+ -e "s:@projectversion@:${PV}:g" \
+ -e 's:@projectgroupid@:com.fasterxml.jackson.dataformat:g' \
+ -e "s:@projectartifactid@:${PN}:g" \
+ "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/yaml/PackageVersion.java.in" \
+ > "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/yaml/PackageVersion.java" || die
+}
diff --git a/dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.4.ebuild b/dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.4.ebuild
deleted file mode 100644
index 56fbfba3fd2a..000000000000
--- a/dev-java/jackson-dataformat-yaml/jackson-dataformat-yaml-2.13.4.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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/FasterXML/jackson-dataformats-text/archive/jackson-dataformats-text-2.13.4.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-dataformat-yaml-2.13.4.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.4"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Support for reading and writing YAML-encoded data via Jackson abstractions"
-HOMEPAGE="https://github.com/FasterXML/jackson-dataformats-text"
-SRC_URI="https://github.com/FasterXML/jackson-dataformats-text/archive/jackson-dataformats-text-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-DEPEND="
- ~dev-java/jackson-core-${PV}:0
- ~dev-java/jackson-databind-${PV}:0
- >=dev-java/snakeyaml-1.30-r1:0
- >=virtual/jdk-11:*
-"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( README.md release-notes/{CREDITS,VERSION} )
-
-S="${WORKDIR}/jackson-dataformats-text-jackson-dataformats-text-${PV}/yaml"
-
-JAVA_CLASSPATH_EXTRA="jackson-core,jackson-databind,snakeyaml"
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_TEST_EXCLUDES=(
- # Upstream's usual exclude pattern: "**/failing**/*.java"
- com.fasterxml.jackson.dataformat.yaml.failing.ObjectIdWithTree2Test
- com.fasterxml.jackson.dataformat.yaml.failing.PolymorphicWithObjectId25Test
- com.fasterxml.jackson.dataformat.yaml.failing.SimpleGeneration215Test
-)
-
-src_prepare() {
- default
- java-pkg-2_src_prepare
-
- sed -e 's:@package@:com.fasterxml.jackson.dataformat.yaml:g' \
- -e "s:@projectversion@:${PV}:g" \
- -e 's:@projectgroupid@:com.fasterxml.jackson.dataformat:g' \
- -e "s:@projectartifactid@:${PN}:g" \
- "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/yaml/PackageVersion.java.in" \
- > "${JAVA_SRC_DIR}/com/fasterxml/jackson/dataformat/yaml/PackageVersion.java" || die
-}
diff --git a/dev-java/jackson-module-jakarta-xmlbind/Manifest b/dev-java/jackson-module-jakarta-xmlbind/Manifest
index 4152549fa1d4..9066121ef023 100644
--- a/dev-java/jackson-module-jakarta-xmlbind/Manifest
+++ b/dev-java/jackson-module-jakarta-xmlbind/Manifest
@@ -1,2 +1 @@
-DIST jackson-module-jakarta-xmlbind-2.13.3.tar.gz 2145569 BLAKE2B 13864e4272d40e8425232482a67a2bc720ff294e93ec623589bd0b7286e2c63c2b724bc1033eb19437cdea23db0b11142380715fc300c32e8af9dba22eeed407 SHA512 2807a9e1d3531f3553a2ab6bb64e0ece2809ca9d2facae320dbd38efe0797cdc7ab11e9b284122d75a98a50eda9bc0cfb0f098ca0921e3bf67a0e38b5252a14d
DIST jackson-module-jakarta-xmlbind-2.13.4.tar.gz 2146134 BLAKE2B ae20a115464a052a8403172706025fc595d6e6aeafda60cf3cce784e1e0a29f38d672fb5205e9dbd74de1ef9615f3bfd0268711d9992c123cac0ef692e59be3a SHA512 0706566a9e5e68697d54319a425fde53948ad610a6eb9519d2e02d375ea280468c7e9e3d5ff4378535ed3a71480f207257a558f73819b1b81edc69f9d3c317a8
diff --git a/dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.3-r1.ebuild b/dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.3-r1.ebuild
deleted file mode 100644
index 3bb5e6e244e1..000000000000
--- a/dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.3-r1.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# 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/FasterXML/jackson-modules-base/archive/jackson-modules-base-2.13.3.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-module-jakarta-xmlbind-2.13.3.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.13.3"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Support for using Jakarta XML Bind (aka JAXB 3.0) annotations"
-HOMEPAGE="https://github.com/FasterXML/jackson-modules-base"
-SRC_URI="https://github.com/FasterXML/jackson-modules-base/archive/jackson-modules-base-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# com.fasterxml.jackson.core:jackson-annotations:2.13.3 -> >=dev-java/jackson-annotations-2.13.3:2
-# 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.sun.activation:jakarta.activation:2.0.1 -> >=dev-java/jakarta-activation-2.0.1:2
-# jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 -> >=dev-java/jaxb-api-3.0.1:3
-
-CP_DEPEND="
- ~dev-java/jackson-annotations-${PV}:2
- ~dev-java/jackson-core-${PV}:0
- ~dev-java/jackson-databind-${PV}:0
- dev-java/jakarta-activation:1
- dev-java/jaxb-api:4
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-# test? org.glassfish.jaxb:jaxb-runtime:3.0.1 -> !!!groupId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}
- test? (
- dev-java/jaxb-runtime:4
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/jackson-modules-base-jackson-modules-base-${PV}/jakarta-xmlbind/"
-
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="jaxb-runtime-4,junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-JAVA_TEST_EXCLUDES=(
- # Upstream does not run these
- com.fasterxml.jackson.module.jakarta.xmlbind.failing.TestUnwrapping
- com.fasterxml.jackson.module.jakarta.xmlbind.failing.TestXmlID3
-)
-
-src_prepare() {
- java-pkg-2_src_prepare
-
- sed -e 's:@package@:com.fasterxml.jackson.module.jakarta.xmlbind:g' \
- -e "s:@projectversion@:${PV}:g" \
- -e 's:@projectgroupid@:com.fasterxml.jackson.module:g' \
- -e "s:@projectartifactid@:jackson-module-jakarta-xmlbind-annotations:g" \
- "${JAVA_SRC_DIR}/com/fasterxml/jackson/module/jakarta/xmlbind/PackageVersion.java.in" \
- > "${JAVA_SRC_DIR}/com/fasterxml/jackson/module/jakarta/xmlbind/PackageVersion.java" || die
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.4-r1.ebuild b/dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.4-r1.ebuild
new file mode 100644
index 000000000000..afca2db73bd3
--- /dev/null
+++ b/dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.4-r1.ebuild
@@ -0,0 +1,79 @@
+# 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/FasterXML/jackson-modules-base/archive/jackson-modules-base-2.13.4.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-module-jakarta-xmlbind-2.13.4.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.13.4"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Support for using Jakarta XML Bind (aka JAXB 3.0) annotations"
+HOMEPAGE="https://github.com/FasterXML/jackson-modules-base"
+SRC_URI="https://github.com/FasterXML/jackson-modules-base/archive/jackson-modules-base-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# com.fasterxml.jackson.core:jackson-annotations:2.13.4 -> >=dev-java/jackson-annotations-2.13.4:2
+# com.fasterxml.jackson.core:jackson-core:2.13.4 -> >=dev-java/jackson-core-2.13.4:0
+# com.fasterxml.jackson.core:jackson-databind:2.13.4 -> >=dev-java/jackson-databind-2.13.4:0
+# jakarta.activation:jakarta.activation-api:2.1.0 -> >=dev-java/jakarta-activation-api-2.1.0:2
+# jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 -> >=dev-java/jaxb-api-3.0.1:3
+
+CP_DEPEND="
+ ~dev-java/jackson-annotations-${PV}:2
+ ~dev-java/jackson-core-${PV}:0
+ ~dev-java/jackson-databind-${PV}.1:0
+ dev-java/jakarta-activation:1
+ dev-java/jaxb-api:4
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
+# test? org.glassfish.jaxb:jaxb-runtime:3.0.1 -> >=dev-java/jaxb-runtime-4.0.0:4
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+ test? (
+ dev-java/jaxb-runtime:4
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+S="${WORKDIR}/jackson-modules-base-jackson-modules-base-${PV}/jakarta-xmlbind/"
+
+JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="jaxb-runtime-4,junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+JAVA_TEST_EXCLUDES=(
+ # Upstream does not run these
+ com.fasterxml.jackson.module.jakarta.xmlbind.failing.TestUnwrapping
+ com.fasterxml.jackson.module.jakarta.xmlbind.failing.TestXmlID3
+)
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ sed -e 's:@package@:com.fasterxml.jackson.module.jakarta.xmlbind:g' \
+ -e "s:@projectversion@:${PV}:g" \
+ -e 's:@projectgroupid@:com.fasterxml.jackson.module:g' \
+ -e "s:@projectartifactid@:jackson-module-jakarta-xmlbind-annotations:g" \
+ "${JAVA_SRC_DIR}/com/fasterxml/jackson/module/jakarta/xmlbind/PackageVersion.java.in" \
+ > "${JAVA_SRC_DIR}/com/fasterxml/jackson/module/jakarta/xmlbind/PackageVersion.java" || die
+}
diff --git a/dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.4.ebuild b/dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.4.ebuild
deleted file mode 100644
index cced241a8774..000000000000
--- a/dev-java/jackson-module-jakarta-xmlbind/jackson-module-jakarta-xmlbind-2.13.4.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# 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/FasterXML/jackson-modules-base/archive/jackson-modules-base-2.13.4.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jackson-module-jakarta-xmlbind-2.13.4.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.13.4"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Support for using Jakarta XML Bind (aka JAXB 3.0) annotations"
-HOMEPAGE="https://github.com/FasterXML/jackson-modules-base"
-SRC_URI="https://github.com/FasterXML/jackson-modules-base/archive/jackson-modules-base-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-# Common dependencies
-# POM: pom.xml
-# com.fasterxml.jackson.core:jackson-annotations:2.13.4 -> >=dev-java/jackson-annotations-2.13.4:2
-# com.fasterxml.jackson.core:jackson-core:2.13.4 -> >=dev-java/jackson-core-2.13.4:0
-# com.fasterxml.jackson.core:jackson-databind:2.13.4 -> >=dev-java/jackson-databind-2.13.4:0
-# jakarta.activation:jakarta.activation-api:2.1.0 -> >=dev-java/jakarta-activation-api-2.1.0:2
-# jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 -> >=dev-java/jaxb-api-3.0.1:3
-
-CP_DEPEND="
- ~dev-java/jackson-annotations-${PV}:2
- ~dev-java/jackson-core-${PV}:0
- ~dev-java/jackson-databind-${PV}:0
- dev-java/jakarta-activation:1
- dev-java/jaxb-api:4
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-# test? org.glassfish.jaxb:jaxb-runtime:3.0.1 -> >=dev-java/jaxb-runtime-4.0.0:4
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}
- test? (
- dev-java/jaxb-runtime:4
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/jackson-modules-base-jackson-modules-base-${PV}/jakarta-xmlbind/"
-
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="jaxb-runtime-4,junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-JAVA_TEST_EXCLUDES=(
- # Upstream does not run these
- com.fasterxml.jackson.module.jakarta.xmlbind.failing.TestUnwrapping
- com.fasterxml.jackson.module.jakarta.xmlbind.failing.TestXmlID3
-)
-
-src_prepare() {
- java-pkg-2_src_prepare
-
- sed -e 's:@package@:com.fasterxml.jackson.module.jakarta.xmlbind:g' \
- -e "s:@projectversion@:${PV}:g" \
- -e 's:@projectgroupid@:com.fasterxml.jackson.module:g' \
- -e "s:@projectartifactid@:jackson-module-jakarta-xmlbind-annotations:g" \
- "${JAVA_SRC_DIR}/com/fasterxml/jackson/module/jakarta/xmlbind/PackageVersion.java.in" \
- > "${JAVA_SRC_DIR}/com/fasterxml/jackson/module/jakarta/xmlbind/PackageVersion.java" || die
-}
diff --git a/dev-java/jackson-module-jakarta-xmlbind/metadata.xml b/dev-java/jackson-module-jakarta-xmlbind/metadata.xml
index d8255baa3203..b32b36b8af8e 100644
--- a/dev-java/jackson-module-jakarta-xmlbind/metadata.xml
+++ b/dev-java/jackson-module-jakarta-xmlbind/metadata.xml
@@ -9,5 +9,6 @@
</longdescription>
<upstream>
<bugs-to>https://github.com/FasterXML/jackson-modules-base/issues</bugs-to>
+ <remote-id type="github">FasterXML/jackson-modules-base</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jacl/metadata.xml b/dev-java/jacl/metadata.xml
index 2cb9f05ebf1a..c574f221537a 100644
--- a/dev-java/jacl/metadata.xml
+++ b/dev-java/jacl/metadata.xml
@@ -6,35 +6,35 @@
<name>Java</name>
</maintainer>
<longdescription>
-The Tcl/Java project's goal is to make integrating the Java platform and the
-Tcl scripting language as easy as possible. The project actually consists of
-two distinct packages, called Tcl Blend and Jacl. It is important to
-understand what each package provides and in what situations one might choose
-to use Jacl or Tcl Blend.
+ The Tcl/Java project's goal is to make integrating the Java platform and the
+ Tcl scripting language as easy as possible. The project actually consists of
+ two distinct packages, called Tcl Blend and Jacl. It is important to
+ understand what each package provides and in what situations one might choose
+ to use Jacl or Tcl Blend.
-Tcl Blend is a Tcl extension that makes use of JNI to facilitate communication
-between a Java interpreter and a Tcl interpreter. Tcl Blend is typically used
-to load a Java interpreter into an existing Tcl process, so that functionality
-implemented in Java can be accessed via Tcl. One can also load Tcl Blend and
-Tcl into a Java process, which is a great way to add scripting functionality
-to an existing Java application. Because Tcl Blend is a normal Tcl extension,
-one can use it with other popular Tcl extensions like Tk, Expect, and Itcl.
+ Tcl Blend is a Tcl extension that makes use of JNI to facilitate communication
+ between a Java interpreter and a Tcl interpreter. Tcl Blend is typically used
+ to load a Java interpreter into an existing Tcl process, so that functionality
+ implemented in Java can be accessed via Tcl. One can also load Tcl Blend and
+ Tcl into a Java process, which is a great way to add scripting functionality
+ to an existing Java application. Because Tcl Blend is a normal Tcl extension,
+ one can use it with other popular Tcl extensions like Tk, Expect, and Itcl.
-Jacl is a self-contained implementation of a Tcl interpreter, written entirely
-in Java. Jacl also includes features that facilitate communication between a
-Java interpreter and a Tcl interpreter. Jacl is typically used to incorporate
-scripting functionality into an existing Java application. For users who want
-to avoid adding any native code to their Java applications, Jacl is the ideal
-solution.
+ Jacl is a self-contained implementation of a Tcl interpreter, written entirely
+ in Java. Jacl also includes features that facilitate communication between a
+ Java interpreter and a Tcl interpreter. Jacl is typically used to incorporate
+ scripting functionality into an existing Java application. For users who want
+ to avoid adding any native code to their Java applications, Jacl is the ideal
+ solution.
-Tcl Blend and Jacl define both a Tcl API and a Java API that make it easy to
-call Java code from Tcl or call Tcl code from Java. For example, one could
-allocate a Java object in a Tcl script and interactively invoke Java methods
-on the object. It is also easy to use the supplied API to evaluate a Tcl
-procedure from a Java method or implement Tcl procudures in Java. The flexible
-API and wealth of implementation options provided by the Tcl/Java project make
-integrating Tcl and Java easy.
-</longdescription>
+ Tcl Blend and Jacl define both a Tcl API and a Java API that make it easy to
+ call Java code from Tcl or call Tcl code from Java. For example, one could
+ allocate a Java object in a Tcl script and interactively invoke Java methods
+ on the object. It is also easy to use the supplied API to evaluate a Tcl
+ procedure from a Java method or implement Tcl procudures in Java. The flexible
+ API and wealth of implementation options provided by the Tcl/Java project make
+ integrating Tcl and Java easy.
+ </longdescription>
<upstream>
<remote-id type="sourceforge">tcljava</remote-id>
</upstream>
diff --git a/dev-java/jakarta-activation-api/Manifest b/dev-java/jakarta-activation-api/Manifest
index 5f44c8a13868..be3b04e2f0c9 100644
--- a/dev-java/jakarta-activation-api/Manifest
+++ b/dev-java/jakarta-activation-api/Manifest
@@ -1,2 +1,2 @@
-DIST jakarta-activation-2.1.0.tar.gz 118833 BLAKE2B ad4b23405b412eb31ffe6fa9ebb62e5f3d21f721908bec6607d1e236b1aa36a5fbc5d721db879210b99a236a3ead4e6b89854f311b4593f32bc537f0d37638a0 SHA512 6552789b3bc590b241250387e07fd9973f2ba210544baf5e5c272ce9824ddc568dd186d2db2b28d89698b68c6505d8263d8aa5ceedf1a12a2d8fc94d648cc8fa
-DIST jakarta-activation-api-1.2.2.tar.gz 123283 BLAKE2B 2d205b0a042790f931d20b30f422690eb4f7b51ffa3e8eb2af0eb1fabbcd3fa9e469e9b68384bd95278c319f97911795473cbc81282b516f30148488da729f4d SHA512 a9062eadf260621e0a10695e63082d010567665bc749f76be43381c0f313d61fdb8ab04b9b2765e7da740277cd0335e9f555dd7a1cd89b7eedf88f6e557427c4
+DIST jakarta-activation-1.2.2.tar.gz 123311 BLAKE2B 1d33b9980f1843066ce1311dfcc81a897c23fd2667de7bf6ca9590b78e165b3ffe38230d8ccb2598b2e702a126849008421a21f97deceaf0a66ce0e9488ce5ea SHA512 4ea88a32b89a752e1dc8e6cc2a47b978c42e1a6a7103bda87b717cc5845ec6b9cce147362597959d188e02f7328decea620e0b7e425dede546a1d163ede47c10
+DIST jakarta-activation-api-2.1.1.tar.gz 127696 BLAKE2B d0f89e64a02fa88e251ab6f5eafa1001c987147c2163862e270b36e86c7c811bb32bfbab1aba32c8c4b8e7eab4eeed7478618974191b2f5386a0194a6a556a19 SHA512 95dd5b6696cf3ec66ce843334375740057c37dc5b4503173f607c95bd6020e8d0b8f87ec13b6d9be4d397096300cc0acb323b5700ad7ff0428a178272c1da41f
diff --git a/dev-java/jakarta-activation-api/jakarta-activation-api-1.2.2-r1.ebuild b/dev-java/jakarta-activation-api/jakarta-activation-api-1.2.2-r1.ebuild
index 459fa0f06282..20b19ae30fba 100644
--- a/dev-java/jakarta-activation-api/jakarta-activation-api-1.2.2-r1.ebuild
+++ b/dev-java/jakarta-activation-api/jakarta-activation-api-1.2.2-r1.ebuild
@@ -1,9 +1,6 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom jaf-1.2.2/activationapi/pom.xml --download-uri https://github.com/eclipse-ee4j/jaf/archive/refs/tags/1.2.2.tar.gz --slot 1 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jakarta-activation-api-1.2.2.ebuild
-
EAPI=8
JAVA_PKG_IUSE="doc source"
@@ -12,8 +9,8 @@ MAVEN_ID="jakarta.activation:jakarta.activation-api:1.2.2"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Jakarta Activation API jar"
-HOMEPAGE="https://eclipse-ee4j.github.io/jaf/"
-SRC_URI="https://github.com/eclipse-ee4j/jaf/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://jakartaee.github.io/jaf-api/"
+SRC_URI="https://github.com/jakartaee/jaf-api/archive/${PV}.tar.gz -> jakarta-activation-${PV}.tar.gz"
LICENSE="EPL-1.0"
SLOT="1"
@@ -25,7 +22,7 @@ BDEPEND="app-arch/zip"
DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
-S="${WORKDIR}/jaf-${PV}/activation"
+S="${WORKDIR}/jaf-api-${PV}/activation"
JAVA_ENCODING="iso-8859-1"
@@ -33,7 +30,7 @@ JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS="src/main/resources"
src_prepare() {
- default
+ java-pkg-2_src_prepare
# these files are not present in the upstream jar
find ${JAVA_RESOURCE_DIRS} -name "*.default" -delete || die "Failed to delete *.default files"
}
@@ -45,7 +42,6 @@ src_compile() {
}
src_install() {
- default
# we remove the implementation sources so that they don't land in sources
rm -fr ${JAVA_SRC_DIR}/com || "Failed to delete implementation sources"
java-pkg-simple_src_install
diff --git a/dev-java/jakarta-activation-api/jakarta-activation-api-2.1.0-r1.ebuild b/dev-java/jakarta-activation-api/jakarta-activation-api-2.1.0-r1.ebuild
deleted file mode 100644
index 2b6b9f6729b6..000000000000
--- a/dev-java/jakarta-activation-api/jakarta-activation-api-2.1.0-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# 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/eclipse-ee4j/jaf/archive/refs/tags/2.0.1.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jakarta-activation-2.0.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="jakarta.activation:jakarta.activation-api:2.1.0"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Jakarta Activation API jar"
-HOMEPAGE="https://eclipse-ee4j.github.io/jaf/"
-SRC_URI="https://github.com/eclipse-ee4j/jaf/archive/${PV}.tar.gz -> jakarta-activation-${PV}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-11:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
-
-S="${WORKDIR}/jaf-${PV}/api"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jakarta-activation-api/jakarta-activation-api-2.1.1.ebuild b/dev-java/jakarta-activation-api/jakarta-activation-api-2.1.1.ebuild
new file mode 100644
index 000000000000..81fd0c8051e6
--- /dev/null
+++ b/dev-java/jakarta-activation-api/jakarta-activation-api-2.1.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="jakarta.activation:jakarta.activation-api:2.1.1"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta Activation API jar"
+HOMEPAGE="https://jakartaee.github.io/jaf-api/"
+SRC_URI="https://github.com/jakartaee/jaf-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/jaf-api-${PV}/api"
+
+LICENSE="EPL-1.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
diff --git a/dev-java/jakarta-activation-api/metadata.xml b/dev-java/jakarta-activation-api/metadata.xml
index 947a81e39af4..26d86f56dec0 100644
--- a/dev-java/jakarta-activation-api/metadata.xml
+++ b/dev-java/jakarta-activation-api/metadata.xml
@@ -5,7 +5,7 @@
<email>java@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="github">eclipse-ee4j/jaf</remote-id>
- <bugs-to>https://github.com/eclipse-ee4j/jaf/issues</bugs-to>
+ <remote-id type="github">jakartaee/jaf-api</remote-id>
+ <bugs-to>https://github.com/jakartaee/jaf-api/issues</bugs-to>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jakarta-activation/Manifest b/dev-java/jakarta-activation/Manifest
index 1dd5a7e9b404..69ab6e98ddb0 100644
--- a/dev-java/jakarta-activation/Manifest
+++ b/dev-java/jakarta-activation/Manifest
@@ -1,2 +1,2 @@
-DIST jakarta-activation-1.2.2.tar.gz 123283 BLAKE2B 2d205b0a042790f931d20b30f422690eb4f7b51ffa3e8eb2af0eb1fabbcd3fa9e469e9b68384bd95278c319f97911795473cbc81282b516f30148488da729f4d SHA512 a9062eadf260621e0a10695e63082d010567665bc749f76be43381c0f313d61fdb8ab04b9b2765e7da740277cd0335e9f555dd7a1cd89b7eedf88f6e557427c4
-DIST jakarta-activation-2.0.1.tar.gz 133807 BLAKE2B 3b793fc767601cc1406482facb0456efd1f784371dff602e71f579a2c74f8e66affed384c8ce3b6aa7c2abfcb5cb0ff5f781ea109829c03f645099fb52016e21 SHA512 51e60d851b9f2027944ab24b248b3c7c19028a504ccf5f92a61495ffa65176df78c63c25e91de4a22d6aa9a1989db274f419f91693a21f052875635b8b21bad1
+DIST jakarta-activation-1.2.2.tar.gz 123311 BLAKE2B 1d33b9980f1843066ce1311dfcc81a897c23fd2667de7bf6ca9590b78e165b3ffe38230d8ccb2598b2e702a126849008421a21f97deceaf0a66ce0e9488ce5ea SHA512 4ea88a32b89a752e1dc8e6cc2a47b978c42e1a6a7103bda87b717cc5845ec6b9cce147362597959d188e02f7328decea620e0b7e425dede546a1d163ede47c10
+DIST jakarta-activation-2.0.1.tar.gz 133817 BLAKE2B bd74e3df8a2d75c137cd3e25c9689296c4827f626c86455da4e10dd8b743e8ffbd5c502162f4f1f7399c4f1e1f2eab6632e9a69e67f017a7f8f111ea4a2ac836 SHA512 f5672f20588e894e7fb5248da7c69c1c8cebb3053342013f713fd58011a2ef069e9abfff8948613b19fd3404151f950d083aeda77ab6a79baaf673658016bfd6
diff --git a/dev-java/jakarta-activation/jakarta-activation-1.2.2-r1.ebuild b/dev-java/jakarta-activation/jakarta-activation-1.2.2-r1.ebuild
index 0a83f80926ed..1483a29bde02 100644
--- a/dev-java/jakarta-activation/jakarta-activation-1.2.2-r1.ebuild
+++ b/dev-java/jakarta-activation/jakarta-activation-1.2.2-r1.ebuild
@@ -1,9 +1,6 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 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/eclipse-ee4j/jaf/archive/refs/tags/1.2.2.tar.gz --slot 1 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jakarta-activation-1.2.2.ebuild
-
EAPI=8
JAVA_PKG_IUSE="doc source"
@@ -12,8 +9,9 @@ MAVEN_ID="com.sun.activation:jakarta.activation:1.2.2"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Jakarta Activation"
-HOMEPAGE="https://eclipse-ee4j.github.io/jaf/"
-SRC_URI="https://github.com/eclipse-ee4j/jaf/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://jakartaee.github.io/jaf-api/"
+SRC_URI="https://github.com/jakartaee/jaf-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/jaf-api-${PV}/activation"
LICENSE="EPL-1.0"
SLOT="1"
@@ -28,8 +26,6 @@ BDEPEND="app-arch/zip"
DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
-S="${WORKDIR}/jaf-${PV}/activation"
-
JAVA_ENCODING="iso-8859-1"
JAVA_GENTOO_CLASSPATH="jakarta-activation-api-1"
@@ -37,7 +33,7 @@ JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS="src/main/resources"
src_prepare() {
- default
+ java-pkg-2_src_prepare
find ${JAVA_RESOURCE_DIRS} -name "*.default" -delete || die "Failed to delete *.default files"
}
diff --git a/dev-java/jakarta-activation/jakarta-activation-2.0.1-r1.ebuild b/dev-java/jakarta-activation/jakarta-activation-2.0.1-r1.ebuild
index c409f44c8000..7b2fc15669ec 100644
--- a/dev-java/jakarta-activation/jakarta-activation-2.0.1-r1.ebuild
+++ b/dev-java/jakarta-activation/jakarta-activation-2.0.1-r1.ebuild
@@ -1,9 +1,6 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 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/eclipse-ee4j/jaf/archive/refs/tags/2.0.1.tar.gz --slot 2 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jakarta-activation-2.0.1.ebuild
-
EAPI=8
JAVA_PKG_IUSE="doc source"
@@ -12,24 +9,16 @@ MAVEN_ID="com.sun.activation:jakarta.activation:2.0.1"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Jakarta Activation"
-HOMEPAGE="https://github.com/eclipse-ee4j/jaf"
-SRC_URI="https://github.com/eclipse-ee4j/jaf/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://jakartaee.github.io/jaf-api/"
+SRC_URI="https://github.com/jakartaee/jaf-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/jaf-api-${PV}/activation"
LICENSE="EPL-1.0"
SLOT="2"
KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-DEPEND="
- >=virtual/jdk-11:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/jaf-${PV}/activation"
+DEPEND=">=virtual/jdk-11:* "
+RDEPEND=">=virtual/jre-1.8:* "
JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS=(
- "src/main/resources"
-)
+JAVA_RESOURCE_DIRS="src/main/resources"
diff --git a/dev-java/jakarta-activation/metadata.xml b/dev-java/jakarta-activation/metadata.xml
index 947a81e39af4..9641aeda8c6f 100644
--- a/dev-java/jakarta-activation/metadata.xml
+++ b/dev-java/jakarta-activation/metadata.xml
@@ -5,7 +5,7 @@
<email>java@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="github">eclipse-ee4j/jaf</remote-id>
- <bugs-to>https://github.com/eclipse-ee4j/jaf/issues</bugs-to>
+ <bugs-to>https://github.com/jakartaee/jaf-api/issues</bugs-to>
+ <remote-id type="github">jakartaee/jaf-api</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jakarta-el-api/jakarta-el-api-5.0.1-r1.ebuild b/dev-java/jakarta-el-api/jakarta-el-api-5.0.1-r1.ebuild
new file mode 100644
index 000000000000..9147cace3d1f
--- /dev/null
+++ b/dev-java/jakarta-el-api/jakarta-el-api-5.0.1-r1.ebuild
@@ -0,0 +1,33 @@
+# 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/expression-language/archive/5.0.1-RELEASE-api.tar.gz --slot 0 --keywords "~amd64" --ebuild jakarta-el-api-5.0.1.ebuild
+
+EAPI=8
+
+# No tests since we don't have junit-jupiter
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="jakarta.el:jakarta.el-api:5.0.1"
+# JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta Expression Language defines an expression language for Java applications"
+HOMEPAGE="https://projects.eclipse.org/projects/ee4j.el"
+SRC_URI="https://github.com/jakartaee/expression-language/archive/${PV}-RELEASE-api.tar.gz -> ${P}.tar.gz"
+
+LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+SLOT="5.0"
+
+DEPEND=">=virtual/jdk-11:*"
+# <release>11</release>
+# https://github.com/jakartaee/expression-language/blob/5.0.1-RELEASE-api/api/pom.xml#L143
+RDEPEND=">=virtual/jre-11:*"
+
+DOCS=( {CONTRIBUTING,NOTICE,README}.md )
+
+S="${WORKDIR}/expression-language-${PV}-RELEASE-api"
+
+JAVA_SRC_DIR="api/src/main/java"
diff --git a/dev-java/jakarta-el-api/jakarta-el-api-5.0.1.ebuild b/dev-java/jakarta-el-api/jakarta-el-api-5.0.1.ebuild
deleted file mode 100644
index 5f091d3de8b1..000000000000
--- a/dev-java/jakarta-el-api/jakarta-el-api-5.0.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# 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/expression-language/archive/5.0.1-RELEASE-api.tar.gz --slot 0 --keywords "~amd64" --ebuild jakarta-el-api-5.0.1.ebuild
-
-EAPI=8
-
-# No tests since we don't have junit-jupiter
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="jakarta.el:jakarta.el-api:5.0.1"
-# JAVA_TESTING_FRAMEWORKS="junit-jupiter"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Jakarta Expression Language defines an expression language for Java applications"
-HOMEPAGE="https://projects.eclipse.org/projects/ee4j.el"
-SRC_URI="https://github.com/jakartaee/expression-language/archive/${PV}-RELEASE-api.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
-
-DEPEND=">=virtual/jdk-11:*"
-# <release>11</release>
-# https://github.com/jakartaee/expression-language/blob/5.0.1-RELEASE-api/api/pom.xml#L143
-RDEPEND=">=virtual/jre-11:*"
-
-DOCS=( {CONTRIBUTING,NOTICE,README}.md )
-
-S="${WORKDIR}/expression-language-${PV}-RELEASE-api"
-
-JAVA_SRC_DIR="api/src/main/java"
diff --git a/dev-java/jakarta-interceptors/jakarta-interceptors-2.1.0.ebuild b/dev-java/jakarta-interceptors/jakarta-interceptors-2.1.0.ebuild
index 4c54ecd1391a..894a7f0f3b5f 100644
--- a/dev-java/jakarta-interceptors/jakarta-interceptors-2.1.0.ebuild
+++ b/dev-java/jakarta-interceptors/jakarta-interceptors-2.1.0.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/jakartaee/interceptors/archive/${PV}-RELEASE.tar.gz
LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
DEPEND="
dev-java/jakarta-annotations-api:0
diff --git a/dev-java/jakarta-mail-api/Manifest b/dev-java/jakarta-mail-api/Manifest
index 799d229338cd..0c2e67d3398e 100644
--- a/dev-java/jakarta-mail-api/Manifest
+++ b/dev-java/jakarta-mail-api/Manifest
@@ -1 +1,2 @@
-DIST jakarta-mail-api-2.1.0.tar.gz 1072862 BLAKE2B dcfe0cbbd777dfe2bb703ddc67803402a6a617f6956822e574b7f9b01f2541d0e06eacb3cd192b08205a6ff8151c7a93ad0db758a7df0eec0085e3964a3f88b8 SHA512 38d3e0476073b4faa732e6840d251f9ec90c42a7558b1ac628e83dfdad65f74c8cb3f87b6e1964f15354b5bcfee7fce2d0bdee20fa49073985db0e4401bc7627
+DIST jakarta-mail-api-2.1.1.tar.gz 1214949 BLAKE2B d92861ed3c957db8d7fda2ec25269ed7b3ec27d55c6b8865278cd6b1dcdef750ecb126136760f15bf86216c14bb00a856a60719f6121ccb87b41523662754ab1 SHA512 e367c27d85aa9513ab1a4ff0a1eb9ef947b6fad6b0c24263c5f0c0befc8f152e193eedb4a0c9687aa3decac07615094904639e11db395d25dd45c5d9fd8677cc
+DIST jakarta-mail-api-2.1.3.tar.gz 1219840 BLAKE2B 6fff0fc63bcdb9f52e02c957408fffdc77be9733bc612f461500b23212572407b3a26dcef2434043d6b38011f8f8c8983a450a043f540c9217783247cf2bfd2b SHA512 274f8dfac3d228df4161a293ef02ca22cd7e411ee9143216eb6784a8bd049b9d2849566ce78baee0ba8e65ed5a7e84b4e03d8b551ac1e6273de1ed44e7798931
diff --git a/dev-java/jakarta-mail-api/jakarta-mail-api-2.1.0-r1.ebuild b/dev-java/jakarta-mail-api/jakarta-mail-api-2.1.0-r1.ebuild
deleted file mode 100644
index 987359f4550e..000000000000
--- a/dev-java/jakarta-mail-api/jakarta-mail-api-2.1.0-r1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# 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/eclipse-ee4j/mail/archive/2.1.0.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild jakarta-mail-api-2.1.0-r1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="jakarta.mail:jakarta.mail-api:2.1.0"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Jakarta Mail API 2.1 Specification API"
-HOMEPAGE="https://eclipse-ee4j.github.io/mail/"
-SRC_URI="https://github.com/eclipse-ee4j/mail/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0 EPL-2.0 GPL-2-with-classpath-exception"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Probably caused by --module-path missing @${test_sources}
-
-# warning: [options] system modules path not set in conjunction with -source 9
-# src/test/java/module-info.java:24: error: package is empty or does not exist: jakarta.mail.event
-# exports jakarta.mail.event;
-# ^
-# src/test/java/module-info.java:29: error: cannot find symbol
-# uses jakarta.mail.Provider;
-# ^
-# symbol: class Provider
-# location: package jakarta.mail
-# src/test/java/module-info.java:30: error: cannot find symbol
-# uses jakarta.mail.util.StreamProvider;
-# ^
-# symbol: class StreamProvider
-# location: package jakarta.mail.util
-# src/test/java/module-info.java:32: error: cannot find symbol
-# provides jakarta.mail.util.StreamProvider with jakarta.mail.util.DummyStreamProvider;
-# ^
-# symbol: class StreamProvider
-# location: package jakarta.mail.util
-# 4 errors
-RESTRICT="test"
-
-DEPEND="
- dev-java/jakarta-activation-api:2
- >=virtual/jdk-11:*
- test? (
- >=dev-java/angus-activation-1.0.0-r1:0
- )"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
-
-S="${WORKDIR}/mail-${PV}/api"
-
-JAVA_CLASSPATH_EXTRA="jakarta-activation-api-2"
-JAVA_SRC_DIR="src/main/"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,angus-activation"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- default
- java-pkg_clean ..
- java-pkg-2_src_prepare
-}
diff --git a/dev-java/jakarta-mail-api/jakarta-mail-api-2.1.1.ebuild b/dev-java/jakarta-mail-api/jakarta-mail-api-2.1.1.ebuild
new file mode 100644
index 000000000000..9a5fec2d653a
--- /dev/null
+++ b/dev-java/jakarta-mail-api/jakarta-mail-api-2.1.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="jakarta.mail:jakarta.mail-api:2.1.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta Mail API 2.1 Specification API"
+HOMEPAGE="https://jakartaee.github.io/mail-api/"
+SRC_URI="https://github.com/jakartaee/mail-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/mail-api-${PV}/api"
+
+LICENSE="EPL-1.0 EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ dev-java/jakarta-activation-api:2
+ >=virtual/jdk-11:*
+ test? (
+ >=dev-java/angus-activation-1.0.0-r1:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
+
+JAVA_CLASSPATH_EXTRA="jakarta-activation-api-2"
+JAVA_SRC_DIR="src/main/"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,angus-activation"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ rm src/test/java/module-info.java || die
+
+ # There was 1 failure:
+ # 1) doesNotExist(jakarta.mail.util.FactoryFinderTest)
+ # java.lang.NullPointerException
+ # at jakarta.mail.util.FactoryFinderTest.doesNotExist(FactoryFinderTest.java:55)
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/doesNotExist/i @Ignore' \
+ -i src/test/java/jakarta/mail/util/FactoryFinderTest.java || die
+
+ # These tests need to run separately, otherwise would fail
+ JAVA_TEST_EXCLUDES=(
+ jakarta.mail.internet.ContentDispositionNoStrictTest
+ jakarta.mail.internet.WindowsFileNamesTest
+ jakarta.mail.internet.AppleFileNamesTest
+ )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="jakarta.mail.internet.ContentDispositionNoStrictTest"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="jakarta.mail.internet.WindowsFileNamesTest"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="jakarta.mail.internet.AppleFileNamesTest"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jakarta-mail-api/jakarta-mail-api-2.1.3.ebuild b/dev-java/jakarta-mail-api/jakarta-mail-api-2.1.3.ebuild
new file mode 100644
index 000000000000..2f43cfc96efe
--- /dev/null
+++ b/dev-java/jakarta-mail-api/jakarta-mail-api-2.1.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="jakarta.mail:jakarta.mail-api:2.1.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta Mail API 2.1 Specification API"
+HOMEPAGE="https://jakartaee.github.io/mail-api/"
+SRC_URI="https://github.com/jakartaee/mail-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/mail-api-${PV}/api"
+
+LICENSE="EPL-1.0 EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND="
+ dev-java/jakarta-activation-api:2
+ >=virtual/jdk-11:*
+ test? (
+ dev-java/angus-activation:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
+
+JAVA_CLASSPATH_EXTRA="jakarta-activation-api-2"
+JAVA_SRC_DIR="src/main/"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,angus-activation"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ # bug #853151 - copying from target/classes as a workaraound
+ # handing of module-info.java in java-pkg-simple_src_test seems not aware of target/classes
+ mkdir -p generated-test/jakarta/mail || die
+ cp -r {target/classes,generated-test}/jakarta/mail/event || die
+ cp -r {target/classes,generated-test}/jakarta/mail/util || die
+ cp -r target/classes/jakarta/mail/Provider* generated-test/jakarta/mail || die
+
+ # These tests need to run separately, otherwise would fail
+ JAVA_TEST_EXCLUDES=(
+ jakarta.mail.internet.ContentDispositionNoStrictTest
+ jakarta.mail.internet.WindowsFileNamesTest
+ jakarta.mail.internet.AppleFileNamesTest
+ )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="jakarta.mail.internet.ContentDispositionNoStrictTest"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="jakarta.mail.internet.WindowsFileNamesTest"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="jakarta.mail.internet.AppleFileNamesTest"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jakarta-mail-api/metadata.xml b/dev-java/jakarta-mail-api/metadata.xml
index bb9bcf723eb6..42164ceaf82a 100644
--- a/dev-java/jakarta-mail-api/metadata.xml
+++ b/dev-java/jakarta-mail-api/metadata.xml
@@ -8,6 +8,7 @@
Jakarta Mail defines a platform-independent and protocol-independent framework to build mail and messaging applications.
</longdescription>
<upstream>
- <remote-id type="github">eclipse-ee4j/mail</remote-id>
+ <changelog>https://jakartaee.github.io/mail-api/docs/CHANGES.txt</changelog>
+ <remote-id type="github">jakartaee/mail-api</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jakarta-mail/Manifest b/dev-java/jakarta-mail/Manifest
new file mode 100644
index 000000000000..720158c77d99
--- /dev/null
+++ b/dev-java/jakarta-mail/Manifest
@@ -0,0 +1 @@
+DIST jakarta-mail-2.0.1.tar.gz 1799232 BLAKE2B 91c8109dee5b1dd5d245df44b905435e59c4f7a888711edf19431bd3e7627d5ba4dbc34e3bd8458507c77c5fb6ed50843f45b2e8b01b7369b660055d8c99739d SHA512 42e9f82cda788b4cf73c06c8c2798a3f886fe714e4f8f4cb0356643b05acd756d46ff382333d2a9e4aaa4ed0dd5d01bc354f7e442c78be9f59cca25d4c23a3ec
diff --git a/dev-java/jakarta-mail/files/jakarta-mail-2.0.1-LogManagerPropertiesTest.patch b/dev-java/jakarta-mail/files/jakarta-mail-2.0.1-LogManagerPropertiesTest.patch
new file mode 100644
index 000000000000..7848f1e77c9a
--- /dev/null
+++ b/dev-java/jakarta-mail/files/jakarta-mail-2.0.1-LogManagerPropertiesTest.patch
@@ -0,0 +1,11 @@
+--- a/src/test/java/com/sun/mail/util/logging/LogManagerPropertiesTest.java
++++ b/src/test/java/com/sun/mail/util/logging/LogManagerPropertiesTest.java
+@@ -78,7 +78,7 @@ public class LogManagerPropertiesTest extends AbstractLogging {
+ assertEquals(Arrays.toString(declared), 0, declared.length);
+ }
+
+- @Test
++ @Test @Ignore
+ public void testCheckAccessPresent() {
+ LogManager m = LogManager.getLogManager();
+ m.checkAccess();
diff --git a/dev-java/jakarta-mail/jakarta-mail-2.0.1.ebuild b/dev-java/jakarta-mail/jakarta-mail-2.0.1.ebuild
new file mode 100644
index 000000000000..0e12088b9f5e
--- /dev/null
+++ b/dev-java/jakarta-mail/jakarta-mail-2.0.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.sun.mail:jakarta.mail:2.0.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Implementation of the Jakarta Mail API"
+HOMEPAGE="https://github.com/jakartaee/mail-api"
+SRC_URI="https://github.com/jakartaee/mail-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/mail-api-${PV}/mail"
+
+LICENSE="EPL-1.0 EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="dev-java/jakarta-activation:2"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
+
+JAVA_ENCODING="iso-8859-1"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_EXTRA_ARGS=( -ea )
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+src_prepare() {
+ default
+ mv src/main/{resources,java}/jakarta/mail/Version.java || die
+}
+
+src_test() {
+ # test failure with jdk:21
+ # 1) testCheckAccessPresent(com.sun.mail.util.logging.LogManagerPropertiesTest)
+ # java.lang.UnsupportedOperationException:
+ # The Security Manager is deprecated and will be removed in a future release
+ # at java.base/java.lang.System.setSecurityManager(System.java:429)
+ # at com.sun.mail.util.logging.LogManagerPropertiesTest.testCheckAccessPresent(LogManagerPropertiesTest.java:89)
+ # https://github.com/jakartaee/mail-api/pull/704#issuecomment-1911924741
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 21; then
+ eapply "${FILESDIR}/jakarta-mail-2.0.1-LogManagerPropertiesTest.patch"
+ fi
+ pushd src/test/java || die
+ # Selection according to 137,138 pom.xml
+ # MailHandlerTest does not run because of
+ # "java.io.IOException: Permission denied"
+ # excluding it costs 141 tests.
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ \( -path "**/*TestSuite.java" \
+ -o -path "**/*Test.java" \) \
+ ! -name "MailHandlerTest.java" \
+ )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd
+
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jakarta-mail/metadata.xml b/dev-java/jakarta-mail/metadata.xml
new file mode 100644
index 000000000000..53eb0003d9ca
--- /dev/null
+++ b/dev-java/jakarta-mail/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jakartaee/mail-api</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jakarta-oro/jakarta-oro-2.0.8-r5.ebuild b/dev-java/jakarta-oro/jakarta-oro-2.0.8-r5.ebuild
index 749ea832a8da..f01c659c6ea0 100644
--- a/dev-java/jakarta-oro/jakarta-oro-2.0.8-r5.ebuild
+++ b/dev-java/jakarta-oro/jakarta-oro-2.0.8-r5.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://archive.apache.org/dist/${MY_J}/${MY_O}/${P}.tar.gz"
LICENSE="Apache-1.1"
SLOT="2.0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/jakarta-regexp/Manifest b/dev-java/jakarta-regexp/Manifest
index c997055568c5..5e6c64169679 100644
--- a/dev-java/jakarta-regexp/Manifest
+++ b/dev-java/jakarta-regexp/Manifest
@@ -1,3 +1 @@
-DIST jakarta-regexp-1.3.tar.gz 127069 BLAKE2B c6bb7383459a4cacc3af40ec65d83f7d16ae723585fee06b4c874995455924e000d8bdc0b07615028f81fc7d6ba2927755e11bc9e7a726ffb4adf34be034ce63 SHA512 20e932856a2e761ac2c8b62617a0e661eb9ef309230ea8379cf3582a1a9308b50334bea66405fa47fade9b92a3cf9609c0a3e42cb7db85af4af63acaec553112
DIST jakarta-regexp-1.4.tar.gz 137768 BLAKE2B f6732f6a856736d1394b429453fd8958deb9f3f651f24accf641fee8b5ccc39e9807510135b07452f80fff55423406afc1aed88cef7d80e16ac013a1436b2649 SHA512 209b3f960cd16f05d3fd609b3b6ddb119e056f428b831788caaed6ebcb64c00279b18484845456dd07b8b761a7181f6772dbe9fd578f0401a5d8b1dcf98afc35
-DIST jakarta-regexp-1.5.tar.gz 170142 BLAKE2B f245a3d53eb0be3ed2494269eee956aec7a7459872219f1bb8ecb3e5f544070b0792a690b4a52f70f0e2ba6963842868cfcbf40cdfea0155831f216636d943cf SHA512 428e5971140dd29246ec41e698813d244efc0e871c69d2d83685d8ae3691f0e20ac44aedad3c59f3c356d24384461de83921e40f0cc4d69c95813f02e8aaba82
diff --git a/dev-java/jakarta-regexp/jakarta-regexp-1.3-r6.ebuild b/dev-java/jakarta-regexp/jakarta-regexp-1.3-r6.ebuild
deleted file mode 100644
index 6a45372245ce..000000000000
--- a/dev-java/jakarta-regexp/jakarta-regexp-1.3-r6.ebuild
+++ /dev/null
@@ -1,33 +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"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="100% Pure Java Regular Expression package"
-SRC_URI="mirror://apache/jakarta/regexp/source/${P}.tar.gz"
-HOMEPAGE="https://jakarta.apache.org/"
-
-SLOT="${PV}"
-IUSE=""
-LICENSE="Apache-1.1"
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-
-RDEPEND="
- >=virtual/jre-1.8:*"
-
-DEPEND="
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${P}"
-
-JAVA_SRC_DIR="src/java"
-
-src_prepare() {
- default
-
- java-pkg_clean
-}
diff --git a/dev-java/jakarta-regexp/jakarta-regexp-1.4-r3.ebuild b/dev-java/jakarta-regexp/jakarta-regexp-1.4-r3.ebuild
index 76c18b6d8dcd..c6f3f7a1753f 100644
--- a/dev-java/jakarta-regexp/jakarta-regexp-1.4-r3.ebuild
+++ b/dev-java/jakarta-regexp/jakarta-regexp-1.4-r3.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://jakarta.apache.org/"
SLOT="${PV}"
IUSE=""
LICENSE="Apache-1.1"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND="
>=virtual/jre-1.8:*"
diff --git a/dev-java/jakarta-regexp/jakarta-regexp-1.5-r1.ebuild b/dev-java/jakarta-regexp/jakarta-regexp-1.5-r1.ebuild
deleted file mode 100644
index 40c79264c7f8..000000000000
--- a/dev-java/jakarta-regexp/jakarta-regexp-1.5-r1.ebuild
+++ /dev/null
@@ -1,32 +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"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="100% Pure Java Regular Expression package"
-SRC_URI="mirror://apache/jakarta/regexp/source/${P}.tar.gz"
-HOMEPAGE="https://jakarta.apache.org/"
-
-SLOT="${PV}"
-IUSE=""
-LICENSE="Apache-1.1"
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-
-RDEPEND="
- >=virtual/jre-1.8:*"
-
-DEPEND="
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${P}"
-
-JAVA_SRC_DIR="src/java"
-
-src_prepare() {
- default
- java-pkg_clean
-}
diff --git a/dev-java/jakarta-servlet-api/jakarta-servlet-api-6.0.0.ebuild b/dev-java/jakarta-servlet-api/jakarta-servlet-api-6.0.0.ebuild
index 74495765cc3e..7fbf152908ae 100644
--- a/dev-java/jakarta-servlet-api/jakarta-servlet-api-6.0.0.ebuild
+++ b/dev-java/jakarta-servlet-api/jakarta-servlet-api-6.0.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://github.com/jakartaee/servlet/archive/${PV}-RELEASE.tar.gz -> ${
LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
SLOT="6"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
RDEPEND=">=virtual/jre-1.8:*"
DEPEND=">=virtual/jdk-11:*"
diff --git a/dev-java/jakarta-xml-soap-api/files/jakarta-xml-soap-api-1.4.2-dropSecurityManager.patch b/dev-java/jakarta-xml-soap-api/files/jakarta-xml-soap-api-1.4.2-dropSecurityManager.patch
new file mode 100644
index 000000000000..a94489044d7f
--- /dev/null
+++ b/dev-java/jakarta-xml-soap-api/files/jakarta-xml-soap-api-1.4.2-dropSecurityManager.patch
@@ -0,0 +1,14 @@
+bug #923606
+--- a/api/src/test/java/javax/xml/soap/test/SAAJFactoryTest.java
++++ b/api/src/test/java/javax/xml/soap/test/SAAJFactoryTest.java
+@@ -165,9 +165,7 @@ public class SAAJFactoryTest {
+ }
+
+ private void enableSM() {
+- System.setSecurityManager(null);
+- System.setProperty("java.security.policy", classesDir + "javax/xml/soap/test.policy");
+- System.setSecurityManager(new SecurityManager());
++ // no-op
+ }
+
+ protected MessageFactory factory() throws Throwable {
diff --git a/dev-java/jakarta-xml-soap-api/jakarta-xml-soap-api-1.4.2-r1.ebuild b/dev-java/jakarta-xml-soap-api/jakarta-xml-soap-api-1.4.2-r1.ebuild
deleted file mode 100644
index be69299aa916..000000000000
--- a/dev-java/jakarta-xml-soap-api/jakarta-xml-soap-api-1.4.2-r1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# This version provides module java.xml.soap and package javax.xml.soap
-MAVEN_ID="jakarta.xml.soap:jakarta.xml.soap-api:1.4.2"
-
-JAVA_PKG_IUSE="doc source test"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="SOAP with Attachments API for Java (SAAJ) API (Eclipse Project for JAX-WS)"
-HOMEPAGE="https://projects.eclipse.org/projects/ee4j.jaxws"
-SRC_URI="https://github.com/eclipse-ee4j/saaj-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-# EDL-1.0 equivalent to BSD
-# - 'SPDX-License-Identifier: BSD-3-Clause' in source files' headers
-# - https://www.eclipse.org/org/documents/edl-v10.php
-LICENSE="BSD"
-# Since version 2.0.0, the namespace has changed to jakarta.xml.soap
-SLOT="1"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CP_DEPEND="
- >=dev-java/jakarta-activation-api-1.2.2-r1:1
-"
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CP_DEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-S="${WORKDIR}/saaj-api-${PV}"
-
-JAVA_SRC_DIR="api/src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="api/src/test/java"
-JAVA_TEST_RESOURCE_DIRS=( "api/src/test/resources" )
-JAVA_TEST_EXTRA_ARGS=( -Xbootclasspath/a:target/classes )
-
-DOCS=( CONTRIBUTING.md NOTICE.md README.md )
-
-src_install() {
- java-pkg-simple_src_install
- einstalldocs # https://bugs.gentoo.org/789582
-}
diff --git a/dev-java/jakarta-xml-soap-api/jakarta-xml-soap-api-1.4.2-r2.ebuild b/dev-java/jakarta-xml-soap-api/jakarta-xml-soap-api-1.4.2-r2.ebuild
new file mode 100644
index 000000000000..fc7c2c78bdec
--- /dev/null
+++ b/dev-java/jakarta-xml-soap-api/jakarta-xml-soap-api-1.4.2-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+MAVEN_ID="jakarta.xml.soap:jakarta.xml.soap-api:1.4.2"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="SOAP with Attachments API for Java (SAAJ) API (Eclipse Project for JAX-WS)"
+HOMEPAGE="https://projects.eclipse.org/projects/ee4j.jaxws"
+SRC_URI="https://github.com/jakartaee/saaj-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/saaj-api-${PV}"
+
+# EDL-1.0 equivalent to BSD
+# - 'SPDX-License-Identifier: BSD-3-Clause' in source files' headers
+# - https://www.eclipse.org/org/documents/edl-v10.php
+LICENSE="BSD"
+# Since version 2.0.0, the namespace has changed to jakarta.xml.soap
+SLOT="1"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ >=dev-java/jakarta-activation-api-1.2.2-r1:1
+"
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/jakarta-xml-soap-api-1.4.2-dropSecurityManager.patch"
+)
+
+JAVA_SRC_DIR="api/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="api/src/test/java"
+JAVA_TEST_RESOURCE_DIRS=( "api/src/test/resources" )
+JAVA_TEST_EXTRA_ARGS=( -Xbootclasspath/a:target/classes )
+
+DOCS=( CONTRIBUTING.md NOTICE.md README.md )
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
diff --git a/dev-java/jakarta-xml-soap-api/metadata.xml b/dev-java/jakarta-xml-soap-api/metadata.xml
index 24700dcb8731..cceeb17a326d 100644
--- a/dev-java/jakarta-xml-soap-api/metadata.xml
+++ b/dev-java/jakarta-xml-soap-api/metadata.xml
@@ -6,6 +6,6 @@
<name>Java</name>
</maintainer>
<upstream>
- <remote-id type="github">eclipse-ee4j/saaj-api</remote-id>
+ <remote-id type="github">jakartaee/saaj-api</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jakartaee-migration/Manifest b/dev-java/jakartaee-migration/Manifest
index f40987c027dd..604ff981904b 100644
--- a/dev-java/jakartaee-migration/Manifest
+++ b/dev-java/jakartaee-migration/Manifest
@@ -1,3 +1 @@
-DIST jakartaee-migration-1.0.1-sources.tar.gz 35763 BLAKE2B 9e739668a7ebd65396960cd2447ecf2bc114cb85a2c554a17cb8478bef13f70f2fed26cc96553a22e7279dde698e1c094ca4dc7a8695ff9f82903ebe8badbd69 SHA512 6caaadfe5dcb21a859f2e401c039832b2774d8876ac724c3159b28c80a1153f7cd1c6706ba29a38d5f748cd2e55a85bd9bfecfb3a405f86aa85637ff3ca3c5f7
-DIST jakartaee-migration-1.0.3-sources.tar.gz 38243 BLAKE2B e1c05c05dd16ec6d54f0eb3523aed14a3fcbc9c0999b54e7c240c5ebfbb968a8cc3025855485318c19f0e85931ea239f4f08efbd0d042c7ad163c1fe5d3819f9 SHA512 79947fe47d55e4e93a417118e7a41fd79614b3fe3bfad967bfdcc865121c9247f92ecd99231e08abb2187036cdb1dceb85b8f2bc695c5bd2ecbf48a84bdd3b2a
-DIST jakartaee-migration-1.0.4-sources.tar.gz 38400 BLAKE2B c0c0151adfde56632ad95919a88eedd6a44056e2d29320e63e0dc64c59cf7ba928135f817ddb3c79a96dd7a8418ab92c8fe4aa9f50a51442bb55384349de603f SHA512 a9d49463f44affa1c5f57d9342e7b4dc77a829c904ba2376f87f086c3662f01e05a2b1cfe2dc746e33605a66849f12415ebb2b63eb05c5e476a4eab9ffd39644
+DIST jakartaee-migration-1.0.8-sources.tar.gz 43466 BLAKE2B f9ffbb46ef6a26c9884e1d3eb55f283556cf8dbaf0955c9efe7e9766f77eadaae1e5bd066225948e9d97adac0f2f34fee3d6ad552bbbdad7303a0abb98d3070c SHA512 ecb1db63cb258b1b8c0e8106ea171e80e66622a48cafa62f8fb75e1b1ba6d539cfefc5dfe0ba9536d06b102c599afeba80d094598d2af3fe1d2ca153ef61ced8
diff --git a/dev-java/jakartaee-migration/jakartaee-migration-1.0.1.ebuild b/dev-java/jakartaee-migration/jakartaee-migration-1.0.1.ebuild
deleted file mode 100644
index 2f557abf9a8c..000000000000
--- a/dev-java/jakartaee-migration/jakartaee-migration-1.0.1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# 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://ftp.fau.de/apache/tomcat/jakartaee-migration/v1.0.1/source/jakartaee-migration-1.0.1-src.tar.gz --slot 0 --keywords "~amd64" --ebuild jakartaee-migration-1.0.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.tomcat:jakartaee-migration:1.0.1"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Apache Tomcat tool for migration from Java EE 8 to Jakarta EE 9"
-HOMEPAGE="https://tomcat.apache.org"
-SRC_URI="mirror://apache/tomcat/${PN}/v${PV}/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-
-# Common dependencies
-# POM: pom.xml
-# commons-io:commons-io:2.8.0 -> >=dev-java/commons-io-2.8.0:1
-# org.apache.bcel:bcel:6.5.0 -> >=dev-java/bcel-6.5.0:0
-# org.apache.commons:commons-compress:1.20 -> >=dev-java/commons-compress-1.20:0
-
-CDEPEND="
- dev-java/ant-core:0
- dev-java/bcel:0
- >=dev-java/commons-compress-1.20:0
- dev-java/commons-io:1
-"
-
-# Compile dependencies
-# POM: pom.xml
-# org.apache.ant:ant:1.10.9 -> !!!groupId-not-found!!!
-# POM: pom.xml
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.1:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-S="${WORKDIR}/${P}"
-
-JAVA_LAUNCHER_FILENAME="${PN}"
-
-JAVA_GENTOO_CLASSPATH="ant-core,bcel,commons-compress,commons-io-1"
-JAVA_SRC_DIR="src/main/java"
-JAVA_MAIN_CLASS="org.apache.tomcat.jakartaee.MigrationCLI"
-JAVA_RESOURCE_DIRS=(
- "src/main/resources"
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS=(
- "src/test/resources"
-)
-JAVA_TEST_EXCLUDES=(
- "org.apache.tomcat.jakartaee.TesterConstants"
-)
-
-src_prepare() {
- default
- sed -i "s/\${project.version}/${PV}/g" src/main/resources/info.properties
-}
-
-src_test() {
- # we need to create jar files for the tests the same way as it's done using pom.xml
- local implementation_version=$(grep Implementation-Version pom.xml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+")
- mkdir -p target/test-classes/META-INF || die
- pushd target/test-classes || die
- echo "Implementation-Version: ${implementation_version}" > META-INF/MANIFEST.MF
- ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name CommonGatewayInterface.java) || die
- jar cfm cgi-api.jar META-INF/MANIFEST.MF $(find -name CommonGatewayInterface.class) || die
- ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name HelloCGI.java) || die
- jar cfm hellocgi.jar META-INF/MANIFEST.MF $(find -name HelloCGI.class) || die
- for enc in rsa dsa ec; do
- cp hellocgi.jar hellocgi-signed-${enc}.jar || die
- jarsigner -keystore "${S}/src/test/resources/keystore.p12" -storepass apache hellocgi-signed-${enc}.jar ${enc} || die
- done
- popd
-
- java-pkg-simple_src_test
-}
diff --git a/dev-java/jakartaee-migration/jakartaee-migration-1.0.3.ebuild b/dev-java/jakartaee-migration/jakartaee-migration-1.0.3.ebuild
deleted file mode 100644
index ad63fdea59bb..000000000000
--- a/dev-java/jakartaee-migration/jakartaee-migration-1.0.3.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# 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://ftp.fau.de/apache/tomcat/jakartaee-migration/v1.0.3/source/jakartaee-migration-1.0.3-src.tar.gz --slot 0 --keywords "~amd64" --ebuild jakartaee-migration-1.0.3.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.tomcat:jakartaee-migration:1.0.3"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Apache Tomcat tool for migration from Java EE 8 to Jakarta EE 9"
-HOMEPAGE="https://tomcat.apache.org"
-SRC_URI="mirror://apache/tomcat/${PN}/v${PV}/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# Common dependencies
-# POM: pom.xml
-# commons-io:commons-io:2.8.0 -> >=dev-java/commons-io-2.8.0:1
-# org.apache.bcel:bcel:6.5.0 -> >=dev-java/bcel-6.5.0:0
-# org.apache.commons:commons-compress:1.20 -> >=dev-java/commons-compress-1.20:0
-
-CDEPEND="
- dev-java/ant-core:0
- dev-java/bcel:0
- >=dev-java/commons-compress-1.20:0
- dev-java/commons-io:1
-"
-
-# Compile dependencies
-# POM: pom.xml
-# org.apache.ant:ant:1.10.9 -> !!!groupId-not-found!!!
-# POM: pom.xml
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.1:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-S="${WORKDIR}/${P}"
-
-JAVA_LAUNCHER_FILENAME="${PN}"
-
-JAVA_GENTOO_CLASSPATH="ant-core,bcel,commons-compress,commons-io-1"
-JAVA_SRC_DIR="src/main/java"
-JAVA_MAIN_CLASS="org.apache.tomcat.jakartaee.MigrationCLI"
-JAVA_RESOURCE_DIRS=(
- "src/main/resources"
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS=(
- "src/test/resources"
-)
-JAVA_TEST_EXCLUDES=(
- "org.apache.tomcat.jakartaee.TesterConstants"
-)
-
-src_prepare() {
- default
- sed -i "s/\${project.version}/${PV}/g" src/main/resources/info.properties
-}
-
-src_test() {
- # we need to create jar files for the tests the same way as it's done using pom.xml
- local implementation_version=$(grep Implementation-Version pom.xml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+")
- mkdir -p target/test-classes/META-INF || die
- pushd target/test-classes || die
- echo "Implementation-Version: ${implementation_version}" > META-INF/MANIFEST.MF
- ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name CommonGatewayInterface.java) || die
- jar cfm cgi-api.jar META-INF/MANIFEST.MF $(find -name CommonGatewayInterface.class) || die
- ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name HelloCGI.java) || die
- jar cfm hellocgi.jar META-INF/MANIFEST.MF $(find -name HelloCGI.class) || die
- for enc in rsa dsa ec; do
- cp hellocgi.jar hellocgi-signed-${enc}.jar || die
- jarsigner -keystore "${S}/src/test/resources/keystore.p12" -storepass apache hellocgi-signed-${enc}.jar ${enc} || die
- done
- popd
-
- java-pkg-simple_src_test
-}
diff --git a/dev-java/jakartaee-migration/jakartaee-migration-1.0.4.ebuild b/dev-java/jakartaee-migration/jakartaee-migration-1.0.4.ebuild
deleted file mode 100644
index 06ff253bc625..000000000000
--- a/dev-java/jakartaee-migration/jakartaee-migration-1.0.4.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# 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://ftp.fau.de/apache/tomcat/jakartaee-migration/v1.0.4/source/jakartaee-migration-1.0.4-src.tar.gz --slot 0 --keywords "~amd64" --ebuild jakartaee-migration-1.0.4.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.tomcat:jakartaee-migration:1.0.4"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Apache Tomcat tool for migration from Java EE 8 to Jakarta EE 9"
-HOMEPAGE="https://tomcat.apache.org"
-SRC_URI="mirror://apache/tomcat/${PN}/v${PV}/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# Common dependencies
-# POM: pom.xml
-# commons-io:commons-io:2.11.0 -> >=dev-java/commons-io-2.11.0:1
-# org.apache.bcel:bcel:6.5.0 -> >=dev-java/bcel-6.5.0:0
-# org.apache.commons:commons-compress:1.21 -> >=dev-java/commons-compress-1.21:0
-
-CDEPEND="
- dev-java/ant-core:0
- >=dev-java/bcel-6.5.0:0
- >=dev-java/commons-compress-1.21:0
- >=dev-java/commons-io-2.11.0:1
-"
-
-# Compile dependencies
-# POM: pom.xml
-# org.apache.ant:ant:1.10.12 -> !!!suitable-mavenVersion-not-found!!!
-# POM: pom.xml
-# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-S="${WORKDIR}/${P}"
-
-JAVA_LAUNCHER_FILENAME="${PN}"
-
-JAVA_GENTOO_CLASSPATH="ant-core,bcel,commons-compress,commons-io-1"
-JAVA_SRC_DIR="src/main/java"
-JAVA_MAIN_CLASS="org.apache.tomcat.jakartaee.MigrationCLI"
-JAVA_RESOURCE_DIRS=(
- "src/main/resources"
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS=(
- "src/test/resources"
-)
-JAVA_TEST_EXCLUDES=(
- "org.apache.tomcat.jakartaee.TesterConstants"
-)
-
-src_prepare() {
- default
- sed -i "s/\${project.version}/${PV}/g" src/main/resources/info.properties
-}
-
-src_test() {
- # we need to create jar files for the tests the same way as it's done using pom.xml
- local implementation_version=$(grep Implementation-Version pom.xml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+")
- mkdir -p target/test-classes/META-INF || die
- pushd target/test-classes || die
- echo "Implementation-Version: ${implementation_version}" > META-INF/MANIFEST.MF
- ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name CommonGatewayInterface.java) || die
- jar cfm cgi-api.jar META-INF/MANIFEST.MF $(find -name CommonGatewayInterface.class) || die
- ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name HelloCGI.java) || die
- jar cfm hellocgi.jar META-INF/MANIFEST.MF $(find -name HelloCGI.class) || die
- for enc in rsa dsa ec; do
- cp hellocgi.jar hellocgi-signed-${enc}.jar || die
- jarsigner -keystore "${S}/src/test/resources/keystore.p12" -storepass apache hellocgi-signed-${enc}.jar ${enc} || die
- done
- popd
-
- java-pkg-simple_src_test
-}
diff --git a/dev-java/jakartaee-migration/jakartaee-migration-1.0.8-r1.ebuild b/dev-java/jakartaee-migration/jakartaee-migration-1.0.8-r1.ebuild
new file mode 100644
index 000000000000..4ee56f6fa8ae
--- /dev/null
+++ b/dev-java/jakartaee-migration/jakartaee-migration-1.0.8-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.tomcat:jakartaee-migration:1.0.8"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Apache Tomcat tool for migration from Java EE 8 to Jakarta EE 9"
+HOMEPAGE="https://tomcat.apache.org"
+SRC_URI="mirror://apache/tomcat/${PN}/v${PV}/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14-r1:0
+ dev-java/bcel:0
+ >=dev-java/commons-compress-1.26.0:0
+ dev-java/commons-io:1
+"
+
+# we need jdk-11 just for some tests as those need stuff from newer jdk,
+# otherwise the package as of version 1.0.7 compiles fine with jdk 1.8
+# with tests disabled
+# see bug https://bugs.gentoo.org/910499
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_MAIN_CLASS="org.apache.tomcat.jakartaee.MigrationCLI"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_EXCLUDES=(
+ "org.apache.tomcat.jakartaee.TesterConstants"
+)
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ sed -i "s/\${project.version}/${PV}/g" src/main/resources/info.properties
+}
+
+src_test() {
+ # we need to create jar files for the tests the same way as it's done using pom.xml
+ local implementation_version=$(grep Implementation-Version pom.xml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+")
+ mkdir -p generated-test/META-INF || die
+ pushd generated-test || die
+ echo "Implementation-Version: ${implementation_version}" > META-INF/MANIFEST.MF
+ ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name CommonGatewayInterface.java) || die
+ jar cfm cgi-api.jar META-INF/MANIFEST.MF $(find -name CommonGatewayInterface.class) || die
+ ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name HelloCGI.java) || die
+ jar cfm hellocgi.jar META-INF/MANIFEST.MF $(find -name HelloCGI.class) || die
+ for enc in rsa dsa ec; do
+ cp hellocgi.jar hellocgi-signed-${enc}.jar || die
+ jarsigner -keystore "${S}/src/test/resources/keystore.p12" -storepass apache hellocgi-signed-${enc}.jar ${enc} || die
+ done
+ popd
+
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jakartaee-migration/metadata.xml b/dev-java/jakartaee-migration/metadata.xml
index 6021501589e0..e9aebc513f50 100644
--- a/dev-java/jakartaee-migration/metadata.xml
+++ b/dev-java/jakartaee-migration/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">apache/tomcat-jakartaee-migration</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/jal/jal-20031117-r6.ebuild b/dev-java/jal/jal-20031117-r6.ebuild
deleted file mode 100644
index f8f5bb559e77..000000000000
--- a/dev-java/jal/jal-20031117-r6.ebuild
+++ /dev/null
@@ -1,48 +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"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Partial port of the C++ Standard Template Library"
-HOMEPAGE="http://vigna.dsi.unimi.it/jal"
-SRC_URI="https://dev.gentoo.org/~monsieurp/packages/${P}.tar.gz"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-CP_DEPEND="dev-java/ant-core:0"
-
-RDEPEND="
- ${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="
- ${CP_DEPEND}
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${P}"
-
-JAVA_SRC_DIR="src/jal"
-
-src_prepare() {
- default
-
- # Generate sources.
- ./instantiate -n byte bytes || die
- ./instantiate -n short shorts || die
- ./instantiate -n char chars || die
- ./instantiate -n int ints || die
- ./instantiate -n long longs || die
- ./instantiate -n float floats || die
- ./instantiate -n double doubles || die
- ./instantiate Object objects || die
- ./instantiate String strings || die
-
- mkdir -p src/jal || die
- mv bytes shorts chars ints longs floats doubles objects strings src/jal || die
-}
diff --git a/dev-java/jal/jal-20031117-r7.ebuild b/dev-java/jal/jal-20031117-r7.ebuild
new file mode 100644
index 000000000000..184a2ce24dc7
--- /dev/null
+++ b/dev-java/jal/jal-20031117-r7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Partial port of the C++ Standard Template Library"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="https://dev.gentoo.org/~monsieurp/packages/${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="
+ dev-java/ant:0
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_SRC_DIR="src/jal"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # Generate sources.
+ ./instantiate -n byte bytes || die
+ ./instantiate -n short shorts || die
+ ./instantiate -n char chars || die
+ ./instantiate -n int ints || die
+ ./instantiate -n long longs || die
+ ./instantiate -n float floats || die
+ ./instantiate -n double doubles || die
+ ./instantiate Object objects || die
+ ./instantiate String strings || die
+
+ mkdir -p src/jal || die
+ mv bytes shorts chars ints longs floats doubles objects strings src/jal || die
+}
diff --git a/dev-java/janino/Manifest b/dev-java/janino/Manifest
deleted file mode 100644
index fb07b1534b7c..000000000000
--- a/dev-java/janino/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST janino-3.1.7.tar.gz 1747439 BLAKE2B 6e42a9d5cc079c2cf17b76c1d76420ff3fa0027b54736f23e0aa2c5062f4dad19c1ac7efa678fa06cee369a01125a64a4ee32e4120e60ecd8a56d47aa4f69503 SHA512 541925fc10f5fbefde45e60cec1925e3d6f5b7244a6b9de251b5483224bee05c16182e2bf137a00349cbdb6c209ce18b2203ca066e5a7a1f146efa255f5f7799
diff --git a/dev-java/janino/janino-3.1.7.ebuild b/dev-java/janino/janino-3.1.7.ebuild
deleted file mode 100644
index b0fbd7ad85b3..000000000000
--- a/dev-java/janino/janino-3.1.7.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom janino/pom.xml --download-uri https://github.com/janino-compiler/janino/archive/refs/tags/v3.1.7.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild janino-3.1.7.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.codehaus.janino:janino:3.1.7"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="An embedded compiler for run-time compilation purposes"
-HOMEPAGE="https://janino-compiler.github.io/janino/"
-SRC_URI="https://github.com/janino-compiler/janino/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: ${PN}/pom.xml
-# org.codehaus.janino:commons-compiler:3.1.7 -> !!!artifactId-not-found!!!
-
-CDEPEND="
- !!!artifactId-not-found!!!
-"
-
-# Compile dependencies
-# POM: ${PN}/pom.xml
-# org.apache.ant:ant:1.10.11 -> !!!suitable-mavenVersion-not-found!!!
-# POM: ${PN}/pom.xml
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- dev-java/ant-core:0
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${P}/janino"
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_compile() {
- JAVA_SRC_DIR="../commons-compiler/src/main/java"
- JAVA_JAR_FILENAME="commons-compiler.jar"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":commons-compiler.jar"
- rm -r target || die
-
- JAVA_CLASSPATH_EXTRA="ant-core"
- JAVA_SRC_DIR="src/main/java"
- JAVA_RESOURCE_DIRS="src/main/resources"
- JAVA_JAR_FILENAME="janino.jar"
- java-pkg-simple_src_compile
- JAVA_GENTOO_CLASSPATH_EXTRA+=":janino.jar"
- rm -r target || die
-
- if use doc; then
- JAVA_SRC_DIR=(
- "../commons-compiler/src/main/java"
- "src/main/java"
- )
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
- fi
-}
-
-src_test() {
- JAVA_TEST_GENTOO_CLASSPATH="junit-4"
- JAVA_TEST_SRC_DIR="../commons-compiler/src/test/java"
- JAVA_TEST_RESOURCE_DIRS="../commons-compiler/src/test/resources"
- java-pkg-simple_src_test
-
- JAVA_TEST_GENTOO_CLASSPATH="junit-4"
- JAVA_TEST_SRC_DIR="src/test/java"
- JAVA_TEST_RESOURCE_DIRS="src/test/resources"
- java-pkg-simple_src_test
-}
-
-src_install() {
- default
-
- java-pkg_dojar "commons-compiler.jar"
- java-pkg_dojar "janino.jar"
-
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
-
- if use source; then
- java-pkg_dosrc "../commons-compiler/src/main/java/*"
- java-pkg_dosrc "src/main/java/*"
- fi
-}
diff --git a/dev-java/janino/metadata.xml b/dev-java/janino/metadata.xml
deleted file mode 100644
index ea18cea355a4..000000000000
--- a/dev-java/janino/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <longdescription>
- The "JANINO" implementation of the "commons-compiler" API: Super-small, super-fast, independent from the JDK's "tools.jar".
- </longdescription>
-</pkgmetadata>
diff --git a/dev-java/jansi/jansi-2.4.0-r1.ebuild b/dev-java/jansi/jansi-2.4.0-r1.ebuild
index 7974adb4db91..94f5bb697e72 100644
--- a/dev-java/jansi/jansi-2.4.0-r1.ebuild
+++ b/dev-java/jansi/jansi-2.4.0-r1.ebuild
@@ -71,7 +71,7 @@ src_compile() {
src_install() {
# default # https://bugs.gentoo.org/789582
- # deafult fails with
+ # default fails with
# make: *** No rule to make target 'install'. Stop.
java-pkg_doso target/native--/libjansi-$(ver_cut 1-2).so
java-pkg-simple_src_install
diff --git a/dev-java/java-config/Manifest b/dev-java/java-config/Manifest
index 9cc9cc4e6e3a..3bcc3e4b9642 100644
--- a/dev-java/java-config/Manifest
+++ b/dev-java/java-config/Manifest
@@ -1 +1,2 @@
DIST java-config-2.3.1.tar.gz 26165 BLAKE2B 948506663513db369d0ed8ffdfaa54c643989431430ea03440551a6a4b6725d8eec38f5cb4fde3b64e8936c0f43de0e65a7368469032c646c7b6b3bb7ec3ed13 SHA512 62db555b2d8a37a03b6a03aa133010848d54be33ba6e3c43807abefe665a9d8ff2790baf1af79b98d4a7bd3e9ba6bc64382a24c3fcf7038338123dabd146b7b4
+DIST java-config-2.3.3.tar.gz 33837 BLAKE2B dc522a61775272e520521a06c80ac33cbe40010a40051857df8abdbda72cc064969cb00dbf8f7d06efabd352d9cf2c711808205579c7cef73ce4bb7fe2845c8d SHA512 f999ccbdd47f2552913467d3b0c6704fc6511f2bc9d0a6f62d38a9c2e9899f11b239f2039b025f7fdee5e0713d2aaf13c1a9a9baf4f1551bb97d85b12d3f28e9
diff --git a/dev-java/java-config/java-config-2.3.1-r1.ebuild b/dev-java/java-config/java-config-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..13f2ded5c0e8
--- /dev/null
+++ b/dev-java/java-config/java-config-2.3.1-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# jython depends on java-config, so don't add it or things will break
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_SETUPTOOLS=no
+
+inherit distutils-r1 prefix
+
+DESCRIPTION="Java environment configuration query tool"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Java"
+SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( sys-apps/portage[${PYTHON_USEDEP}] )"
+
+# baselayout-java is added as a dep till it can be added to eclass.
+RDEPEND="
+ sys-apps/baselayout-java
+ sys-apps/portage[${PYTHON_USEDEP}]"
+
+python_configure_all() {
+ # setup.py fails to update this file
+ eprefixify src/launcher.bash
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # This replaces the file installed by java-config-wrapper.
+ dosym java-config-2 /usr/bin/java-config
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-java/java-config/java-config-2.3.1.ebuild b/dev-java/java-config/java-config-2.3.1.ebuild
deleted file mode 100644
index bc0266c8e44b..000000000000
--- a/dev-java/java-config/java-config-2.3.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# jython depends on java-config, so don't add it or things will break
-PYTHON_COMPAT=( python3_{7..10} )
-DISTUTILS_USE_SETUPTOOLS=no
-
-inherit distutils-r1
-
-DESCRIPTION="Java environment configuration query tool"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Java"
-SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="2"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( sys-apps/portage[${PYTHON_USEDEP}] )"
-
-# baselayout-java is added as a dep till it can be added to eclass.
-RDEPEND="
- sys-apps/baselayout-java
- sys-apps/portage[${PYTHON_USEDEP}]"
-
-python_install_all() {
- distutils-r1_python_install_all
-
- # This replaces the file installed by java-config-wrapper.
- dosym java-config-2 /usr/bin/java-config
-}
-
-python_test() {
- esetup.py test
-}
diff --git a/dev-java/java-config/java-config-2.3.3-r1.ebuild b/dev-java/java-config/java-config-2.3.3-r1.ebuild
new file mode 100644
index 000000000000..ab1cb1b890e9
--- /dev/null
+++ b/dev-java/java-config/java-config-2.3.3-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson python-r1
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/java-config.git"
+else
+ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="Java environment configuration query tool"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Java"
+
+LICENSE="GPL-2"
+SLOT="2"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="test? ( sys-apps/portage[${PYTHON_USEDEP}] )"
+
+# baselayout-java is added as a dep till it can be added to eclass.
+RDEPEND="
+ ${PYTHON_DEPS}
+ sys-apps/baselayout-java
+ sys-apps/portage[${PYTHON_USEDEP}]
+"
+
+src_configure() {
+ local python_only=false
+ python_foreach_impl my_src_configure
+}
+
+my_src_configure() {
+ local emesonargs=(
+ -Darch="${ARCH}"
+ -Dpython-only="${python_only}"
+ -Deprefix="${EPREFIX}"
+ )
+
+ meson_src_configure
+ python_only=true
+}
+
+src_compile() {
+ python_foreach_impl meson_src_compile
+}
+
+src_test() {
+ python_foreach_impl meson_src_test --no-rebuild --verbose
+}
+
+src_install() {
+ python_foreach_impl my_src_install
+
+ local scripts
+ mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die)
+ python_replicate_script "${scripts[@]}"
+
+ # This replaces the file installed by java-config-wrapper.
+ dosym java-config-2 /usr/bin/java-config
+}
+
+my_src_install() {
+ meson_src_install
+
+ local pydirs=(
+ "${D}$(python_get_sitedir)"
+ )
+ python_optimize "${pydirs[@]}"
+}
diff --git a/dev-java/java-config/java-config-9999.ebuild b/dev-java/java-config/java-config-9999.ebuild
index 395572d16010..1b124ce70a3a 100644
--- a/dev-java/java-config/java-config-9999.ebuild
+++ b/dev-java/java-config/java-config-9999.ebuild
@@ -1,20 +1,18 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-# jython depends on java-config, so don't add it or things will break
-PYTHON_COMPAT=( python3_{7..10} )
-DISTUTILS_USE_SETUPTOOLS=no
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit meson python-r1
-if [[ ${PV} = *9999 ]]; then
+if [[ ${PV} = 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/java-config.git"
else
SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
fi
DESCRIPTION="Java environment configuration query tool"
@@ -22,23 +20,61 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Java"
LICENSE="GPL-2"
SLOT="2"
-IUSE="test"
+IUSE="+compat test"
RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="test? ( sys-apps/portage[${PYTHON_USEDEP}] )"
# baselayout-java is added as a dep till it can be added to eclass.
RDEPEND="
+ ${PYTHON_DEPS}
sys-apps/baselayout-java
- sys-apps/portage[${PYTHON_USEDEP}]"
+ sys-apps/portage[${PYTHON_USEDEP}]
+"
-python_install_all() {
- distutils-r1_python_install_all
+src_configure() {
+ local python_only=false
+ python_foreach_impl my_src_configure
+}
+
+my_src_configure() {
+ local emesonargs=(
+ -Darch="${ARCH}"
+ -Dpython-only="${python_only}"
+ -Deprefix="${EPREFIX}"
+ )
+
+ meson_src_configure
+ python_only=true
+}
+
+src_compile() {
+ python_foreach_impl meson_src_compile
+}
- # This replaces the file installed by java-config-wrapper.
- dosym java-config-2 /usr/bin/java-config
+src_test() {
+ python_foreach_impl meson_src_test --no-rebuild --verbose
}
-python_test() {
- esetup.py test
+src_install() {
+ python_foreach_impl my_src_install
+
+ local scripts
+ mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die)
+ python_replicate_script "${scripts[@]}"
+
+ if use compat; then
+ # Symlink java-config-2 to java-config for now.
+ dosym java-config /usr/bin/java-config-2
+ fi
+}
+
+my_src_install() {
+ meson_src_install
+
+ local pydirs=(
+ "${D}$(python_get_sitedir)"
+ )
+ python_optimize "${pydirs[@]}"
}
diff --git a/dev-java/java-config/metadata.xml b/dev-java/java-config/metadata.xml
index bec9235101d9..faeac11b5e48 100644
--- a/dev-java/java-config/metadata.xml
+++ b/dev-java/java-config/metadata.xml
@@ -11,4 +11,11 @@
per-user default JVMs, construct classpath env vars from installed java
packages and be used to query for the path to various JDK tools.
</longdescription>
+ <use>
+ <flag name="compat">Install bin/java-config-2 symlink pointing to java-config</flag>
+ </use>
+ <upstream>
+ <remote-id type="gentoo">proj/java-config</remote-id>
+ <remote-id type="github">gentoo/java-config</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/java-dep-check/files/Main-0.5.java b/dev-java/java-dep-check/files/Main-0.5.java
index bcd6b4f2a9d6..b8a1e053e301 100644
--- a/dev-java/java-dep-check/files/Main-0.5.java
+++ b/dev-java/java-dep-check/files/Main-0.5.java
@@ -73,7 +73,7 @@ public final class Main extends ClassVisitor {
* Empty Constructor, sets ASM op code version
*/
public Main() {
- super(Opcodes.ASM5);
+ super(Opcodes.ASM9);
}
/**
diff --git a/dev-java/java-dep-check/java-dep-check-0.5-r3.ebuild b/dev-java/java-dep-check/java-dep-check-0.5-r3.ebuild
new file mode 100644
index 000000000000..0ab6c71728ef
--- /dev/null
+++ b/dev-java/java-dep-check/java-dep-check-0.5-r3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2016-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java Dependency checker"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Java"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+CP_DEPEND="
+ dev-java/commons-cli:1
+ dev-java/asm:9"
+RDEPEND=">=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+DEPEND=">=virtual/jdk-1.8:*
+ ${CP_DEPEND}"
+PDEPEND="dev-java/javatoolkit:0"
+
+JAVA_MAIN_CLASS="javadepchecker.Main"
+
+src_unpack() {
+ cp "${FILESDIR}/Main-${PV}.java" Main.java || die
+}
diff --git a/dev-java/java-dep-check/java-dep-check-0.5.ebuild b/dev-java/java-dep-check/java-dep-check-0.5.ebuild
deleted file mode 100644
index ef6057f4e111..000000000000
--- a/dev-java/java-dep-check/java-dep-check-0.5.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2016-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java Dependency checker"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Java"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-COMMON_DEP="
- dev-java/commons-cli:1
- dev-java/asm:4"
-RDEPEND=">=virtual/jre-1.8:*
- ${COMMON_DEP}"
-DEPEND=">=virtual/jdk-1.8:*
- ${COMMON_DEP}"
-
-JAVA_GENTOO_CLASSPATH="asm-4,commons-cli-1"
-
-src_unpack() {
- cp "${FILESDIR}/Main-${PV}.java" Main.java || die
-}
-
-src_install() {
- java-pkg-simple_src_install
- java-pkg_dolauncher ${PN} --main javadepchecker.Main
-}
diff --git a/dev-java/java-diff-utils/Manifest b/dev-java/java-diff-utils/Manifest
index 60048788afe8..4d0a48225dde 100644
--- a/dev-java/java-diff-utils/Manifest
+++ b/dev-java/java-diff-utils/Manifest
@@ -1 +1,2 @@
DIST java-diff-utils-1.3.0-sources.jar 35161 BLAKE2B 365b2b3a8701a7bf63b1fc8c34f8a54d7a5f67b3b485e91ea3489303de821d5ac08aac4e2b13d140b045b6b45393d293a825e92e800cd34c3b84a17442d548bc SHA512 16426c13fde20c606ac5dc01b4ee368d10360c45c4569879c94d30ac41aba372e9865a7b5db3a68067ea26bdade538eeea4e3e38900f8627beb21d7e48968e62
+DIST java-diff-utils-parent-4.12.tar.gz 2080632 BLAKE2B 36cb824bd00e946484dc62b3d5739620eeff6f509cdfa3f521144c21ea9d5de43ccc838700d3d9d116817dc1256d90fe1bdb552b02a2c7cff1e6b702b889f8d0 SHA512 0ac8f633e01f70b6c0f243b65c95716a1237142abde96eed3211a5ee5afb5bf721e936a67b4e2ce27e1df34a8402d0fbcb830e0557bd32cd24a7529d80e61e5c
diff --git a/dev-java/java-diff-utils/java-diff-utils-4.12.ebuild b/dev-java/java-diff-utils/java-diff-utils-4.12.ebuild
new file mode 100644
index 000000000000..eda5f5df35e7
--- /dev/null
+++ b/dev-java/java-diff-utils/java-diff-utils-4.12.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="io.github.java-diff-utils:java-diff-utils:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Library for computing diffs, applying patches, generationg side-by-side view"
+HOMEPAGE="https://java-diff-utils.github.io/java-diff-utils/"
+SRC_URI="https://github.com/java-diff-utils/java-diff-utils/archive/java-diff-utils-parent-${PV}.tar.gz"
+S="${WORKDIR}/java-diff-utils-java-diff-utils-parent-${PV}/java-diff-utils"
+
+LICENSE="Apache-2.0"
+SLOT="4"
+KEYWORDS="amd64 arm64 ppc64 x86"
+RESTRICT="test" #839681
+
+BDEPEND="app-arch/unzip"
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="io.github.javadiffutils"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="
+ assertj-core-3
+ junit-5
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/java-diff-utils/metadata.xml b/dev-java/java-diff-utils/metadata.xml
index 75321cfb5598..4df5c7c25054 100644
--- a/dev-java/java-diff-utils/metadata.xml
+++ b/dev-java/java-diff-utils/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">java-diff-utils/java-diff-utils</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/java-getopt/java-getopt-1.0.14-r1.ebuild b/dev-java/java-getopt/java-getopt-1.0.14-r1.ebuild
deleted file mode 100644
index 2cf4dd980a50..000000000000
--- a/dev-java/java-getopt/java-getopt-1.0.14-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Java command line option parser"
-HOMEPAGE="https://www.urbanophile.com/arenn/hacking/download.html"
-SRC_URI="https://www.urbanophile.com/arenn/hacking/getopt/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="1"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}"
-
-src_prepare() {
- default
- mv gnu/getopt/buildx.xml build.xml || die
-}
-
-src_install() {
- java-pkg_dojar build/lib/gnu.getopt.jar
- dodoc gnu/getopt/COPYING.LIB gnu/getopt/ChangeLog gnu/getopt/README
- use doc && java-pkg_dojavadoc build/api
- use source && java-pkg_dosrc gnu
-}
diff --git a/dev-java/java-getopt/java-getopt-1.0.14-r2.ebuild b/dev-java/java-getopt/java-getopt-1.0.14-r2.ebuild
new file mode 100644
index 000000000000..44bec027d4f2
--- /dev/null
+++ b/dev-java/java-getopt/java-getopt-1.0.14-r2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="gnu.getopt:java-getopt:§{PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java command line option parser"
+HOMEPAGE="https://www.urbanophile.com/arenn/hacking/download.html"
+SRC_URI="https://www.urbanophile.com/arenn/hacking/getopt/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( gnu/getopt/{COPYING.LIB,ChangeLog,LANGUAGES,README} )
+
+JAVA_RESOURCE_DIRS="resources"
+JAVA_SRC_DIR="gnu/getopt"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir resources || die
+ find gnu/getopt -type f -name '*.properties' \
+ | xargs cp --parent -t resources || die
+}
diff --git a/dev-java/java-getopt/metadata.xml b/dev-java/java-getopt/metadata.xml
index 6021501589e0..f44f7c814750 100644
--- a/dev-java/java-getopt/metadata.xml
+++ b/dev-java/java-getopt/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">arenn/java-getopt</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/java-service-wrapper/files/java-service-wrapper-3.5.25-gentoo-wrapper-defaults.patch b/dev-java/java-service-wrapper/files/java-service-wrapper-3.5.25-gentoo-wrapper-defaults.patch
new file mode 100644
index 000000000000..135c5a1ae8bf
--- /dev/null
+++ b/dev-java/java-service-wrapper/files/java-service-wrapper-3.5.25-gentoo-wrapper-defaults.patch
@@ -0,0 +1,25 @@
+|Original version of this patch by Ralph Sennhauser <sera@gentoo.org>
+|Updated version for 3.5.25 by tomboy64 <tomboy64@sina.cn>
+|
+|Added in 3.5.4, make false default for Gentoo
+|
+|* Add a new wrapper.java.command.resolve property to control whether or not the
+| Wrapper tries to resolve any symbolic links in the Java command, specified
+| with the wrapper.java.command property. Historically, it has always done so,
+| but some jvm started applications like run-java-tool on Gentoo will fail if
+| it is run directly as they have a check to make sure it is launched via a
+| symbolic link.
+|
+# https://bugs.gentoo.org/878869
+--- a/src/c/wrapper.c.old 2014-07-21 09:12:55.000000000 +0200
++++ b/src/c/wrapper.c 2014-07-21 09:13:22.000000000 +0200
+@@ -4908,7 +4908,7 @@
+ if (!path) {
+ log_printf(WRAPPER_SOURCE_WRAPPER, LEVEL_WARN, TEXT("The configured wrapper.java.command could not be found, attempting to launch anyway: %s"), *para);
+ } else {
+- replacePath = getBooleanProperty(properties, TEXT("wrapper.java.command.resolve"), TRUE);
++ replacePath = getBooleanProperty(properties, TEXT("wrapper.java.command.resolve"), FALSE);
+ if (replacePath == TRUE) {
+ free(*para);
+ *para = malloc((_tcslen(path) + 1) * sizeof(TCHAR));
+
diff --git a/dev-java/java-service-wrapper/java-service-wrapper-3.5.50-r1.ebuild b/dev-java/java-service-wrapper/java-service-wrapper-3.5.50-r1.ebuild
new file mode 100644
index 000000000000..8fdfe9ac2063
--- /dev/null
+++ b/dev-java/java-service-wrapper/java-service-wrapper-3.5.50-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+inherit java-pkg-2 java-pkg-simple toolchain-funcs java-ant-2
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+DESCRIPTION="A wrapper that makes it possible to install a Java Application as daemon"
+HOMEPAGE="https://wrapper.tanukisoftware.com"
+SRC_URI="https://download.tanukisoftware.com/wrapper/${PV}/wrapper_${PV}_src.tar.gz"
+
+LICENSE="tanuki-community"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/junit:4
+ dev-util/cunit
+ )
+"
+BDEPEND="virtual/jdk"
+
+S="${WORKDIR}/wrapper_${PV}_src"
+
+JAVA_SRC_DIR="src/java/"
+JAVA_JAR_FILENAME="wrapper.jar"
+JAVA_TEST_SRC_DIR="src/test"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+
+PATCHES=(
+ "${FILESDIR}"/java-service-wrapper-3.5.25-gentoo-wrapper-defaults.patch
+)
+
+src_prepare() {
+ default
+
+ # replaces as-needed.patch
+ sed -i \
+ -e 's/gcc -O3/$(CC)/g' \
+ -e 's/ -pthread/ $(CFLAGS) $(LDFLAGS) -pthread/g' \
+ -e 's/ -shared/ $(LDFLAGS) -shared/g' \
+ -e 's/$(TEST)\/testsuite/testsuite/g' \
+ src/c/Makefile-*.make || die
+
+ cp "${S}/src/c/Makefile-linux-armel-32.make" "${S}/src/c/Makefile-linux-arm-32.make"
+ java-pkg-2_src_prepare
+
+ # disable tests by default (they are only enabled by default on amd64)
+ sed -e "s/\(all: init wrapper libwrapper.so\) testsuite/\1/g" \
+ -i src/c/Makefile-linux-x86-64.make || die
+
+ # re-enable tests on all platforms if requested
+ if use test; then
+ grep "testsuite_SOURCE" "src/c/Makefile-linux-x86-64.make" | tee -a src/c/Makefile-*.make
+ assert
+ echo 'all: testsuite' | tee -a src/c/Makefile-*.make
+ assert
+ fi
+}
+
+src_compile() {
+ tc-export CC
+
+ pushd "${T}" || die
+ echo 'public class GetArchDataModel{public static void main(String[] args){System.out.println(System.getProperty("sun.arch.data.model"));}}' \
+ > GetArchDataModel.java || die
+ ejavac GetArchDataModel.java
+ local BITS
+ BITS="$(java GetArchDataModel)" || die "Failed to identify sun.arch.data.model property"
+ popd || die
+ eant -Dbits="${BITS}" compile-c
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ src/c/testsuite --basic || die
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_doso lib/libwrapper.so
+
+ dobin bin/wrapper
+ dodoc README*.txt
+ dodoc doc/revisions.txt
+}
diff --git a/dev-java/java-service-wrapper/java-service-wrapper-3.5.50.ebuild b/dev-java/java-service-wrapper/java-service-wrapper-3.5.50.ebuild
deleted file mode 100644
index 261d3bf92668..000000000000
--- a/dev-java/java-service-wrapper/java-service-wrapper-3.5.50.ebuild
+++ /dev/null
@@ -1,90 +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"
-inherit java-pkg-2 java-pkg-simple toolchain-funcs java-ant-2
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-DESCRIPTION="A wrapper that makes it possible to install a Java Application as daemon"
-HOMEPAGE="https://wrapper.tanukisoftware.com"
-SRC_URI="https://download.tanukisoftware.com/wrapper/${PV}/wrapper_${PV}_src.tar.gz"
-
-LICENSE="tanuki-community"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- dev-java/junit:4
- dev-util/cunit
- )
-"
-BDEPEND="virtual/jdk"
-
-S="${WORKDIR}/wrapper_${PV}_src"
-
-JAVA_SRC_DIR="src/java/"
-JAVA_JAR_FILENAME="wrapper.jar"
-JAVA_TEST_SRC_DIR="src/test"
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-
-src_prepare() {
- default
-
- # replaces as-needed.patch
- sed -i \
- -e 's/gcc -O3/$(CC)/g' \
- -e 's/ -pthread/ $(CFLAGS) $(LDFLAGS) -pthread/g' \
- -e 's/ -shared/ $(LDFLAGS) -shared/g' \
- -e 's/$(TEST)\/testsuite/testsuite/g' \
- src/c/Makefile-*.make || die
-
- cp "${S}/src/c/Makefile-linux-armel-32.make" "${S}/src/c/Makefile-linux-arm-32.make"
- java-pkg-2_src_prepare
-
- # disable tests by default (they are only enabled by default on amd64)
- sed -e "s/\(all: init wrapper libwrapper.so\) testsuite/\1/g" \
- -i src/c/Makefile-linux-x86-64.make || die
-
- # re-enable tests on all platforms if requested
- if use test; then
- grep "testsuite_SOURCE" "src/c/Makefile-linux-x86-64.make" | tee -a src/c/Makefile-*.make
- assert
- echo 'all: testsuite' | tee -a src/c/Makefile-*.make
- assert
- fi
-}
-
-src_compile() {
- tc-export CC
-
- pushd "${T}" || die
- echo 'public class GetArchDataModel{public static void main(String[] args){System.out.println(System.getProperty("sun.arch.data.model"));}}' \
- > GetArchDataModel.java || die
- ejavac GetArchDataModel.java
- local BITS
- BITS="$(java GetArchDataModel)" || die "Failed to identify sun.arch.data.model property"
- popd || die
- eant -Dbits="${BITS}" compile-c
-
- java-pkg-simple_src_compile
-}
-
-src_test() {
- src/c/testsuite --basic || die
- java-pkg-simple_src_test
-}
-
-src_install() {
- java-pkg-simple_src_install
- java-pkg_doso lib/libwrapper.so
-
- dobin bin/wrapper
- dodoc README*.txt
- dodoc doc/revisions.txt
-}
diff --git a/dev-java/javacc/Manifest b/dev-java/javacc/Manifest
index b126cef8bf5a..aea384cd1646 100644
--- a/dev-java/javacc/Manifest
+++ b/dev-java/javacc/Manifest
@@ -1 +1,3 @@
-DIST javacc-5.0src.tar.gz 810123 BLAKE2B 6833e79a33c7ae8b28902d1c372162a2f9e326629f0d4c1936a8c3638d3aa3f6bd5713aca8398ba5f1ff963fe585eb683fcd3009602ee592ba79692c8ba0f3d6 SHA512 91896a0affac1c4fd00a093a731dfd02bda548d1a4d83e1077ed36a67f4f9deab0ce9f2d0212fd4c08ab00065d3029533adbafbc026a22ca071285093bd3bba6
+DIST javacc-4.1.tar.gz 769476 BLAKE2B c2a22fa78ff4dcf1e36221a23ca1e3cd1eecb473a59ea94ce52e298673f6bd18c0ea0cf757dd68885696ebc8cc724d271c69c923a21ffa433d03c1062b1201ee SHA512 911e5e9f062561ade1748dcef3596e0f25c399c4d52dd174773783dadf24a4ceea8d3feab9ab08880370677959051d8557aed815d4c4184f5ecd5789ee8a5754
+DIST javacc-7.0.13.tar.gz 3199783 BLAKE2B 7e3dddbe53a6e417a31bb7386d154c0e9589f17f88e652f5e146a4e344d72cd948d4d8e55fab753bb983e5d31971efc948c1ecdca4e875031bea3f8a38bfc082 SHA512 ed71e47fc4a382c9c53067bbf73bd9736ee0c41d65e328d5e4843cd71c88d3b7715d7a8fe38f10152ef7ef3be064abf9e801c6ea78066c4fcbabf124dfc4e144
+DIST javacc-7.0.4.tar.gz 2842349 BLAKE2B e5a2e24c99e5e3883270cf0e3931d7667e5b5b49a11c1d9b79b98767f74f4addf2dc7d3d620550bc1b5bb0bfbef8bf07af48a40d250d0902d97c8215f6cb8e01 SHA512 b93c93e8490aae9a26b0de948896ec6d7a044c205d09584c3908988e24a3ea63a1147365115b17a15c6fb311c44f53ddff7c11f092731cbd05d3ec1950ef57f1
diff --git a/dev-java/javacc/javacc-4.1.ebuild b/dev-java/javacc/javacc-4.1.ebuild
new file mode 100644
index 000000000000..f74f36d4eb2f
--- /dev/null
+++ b/dev-java/javacc/javacc-4.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc examples source test"
+MAVAN_ID="net.java.dev.javacc:javacc:${PV}"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="Java Compiler Compiler - The Java Parser Generator"
+HOMEPAGE="https://javacc.github.io/javacc/"
+SRC_URI="https://github.com/javacc/javacc/archive/release_${PV//./}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/javacc-release_${PV//./}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="dev-java/junit:0"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? ( >=dev-java/ant-1.10.14:0[junit] )"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0-javadoc.patch
+)
+
+JAVA_ANT_CLASSPATH_TAGS+=" javadoc"
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./bootstrap/*"
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar bin/lib/"${PN}".jar
+
+ if use doc; then
+ java-pkg_dohtml -r www/*
+ java-pkg_dojavadoc target/javadoc
+ fi
+
+ use examples && java-pkg_doexamples examples
+ use source && java-pkg_dosrc src/*
+
+ echo "JAVACC_HOME=${EPREFIX}/usr/share/javacc/" > "${T}"/22javacc-${SLOT} || die
+ doenvd "${T}"/22javacc-${SLOT}
+
+ echo "export VERSION=${PV}" > "${T}"/pre || die
+
+ local launcher
+ for launcher in javacc jjdoc jjtree; do
+ java-pkg_dolauncher ${launcher} -pre "${T}"/pre --main ${launcher}
+ done
+
+ einstalldocs
+}
diff --git a/dev-java/javacc/javacc-5.0-r4.ebuild b/dev-java/javacc/javacc-5.0-r4.ebuild
deleted file mode 100644
index f63c12eccf55..000000000000
--- a/dev-java/javacc/javacc-5.0-r4.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc examples source test"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Java Compiler Compiler - The Java Parser Generator"
-HOMEPAGE="https://javacc.github.io/javacc/"
-SRC_URI="http://java.net/projects/${PN}/downloads/download/${P}src.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-CDEPEND="dev-java/junit:0"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*
- test? ( dev-java/ant-junit:0 )"
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.0-javadoc.patch
-)
-
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-JAVA_ANT_CLASSPATH_TAGS+=" javadoc"
-
-EANT_GENTOO_CLASSPATH="junit"
-
-src_prepare() {
- default
-
- rm -v lib/junit*/*.jar || die
-}
-
-src_test() {
- java-pkg-2_src_test
-}
-
-src_install() {
- java-pkg_dojar "bin/lib/${PN}.jar"
-
- if use doc; then
- java-pkg_dohtml -r www/*
- java-pkg_dojavadoc doc/api
- fi
-
- use examples && java-pkg_doexamples examples
- use source && java-pkg_dosrc src/*
-
- echo "JAVACC_HOME=${EPREFIX}/usr/share/javacc/" > "${T}"/22javacc || die
- doenvd "${T}"/22javacc
-
- echo "export VERSION=${PV}" > "${T}"/pre || die
-
- local launcher
- for launcher in javacc jjdoc jjtree; do
- java-pkg_dolauncher ${launcher} -pre "${T}"/pre --main ${launcher}
- done
-
- einstalldocs
-}
diff --git a/dev-java/javacc/javacc-7.0.13.ebuild b/dev-java/javacc/javacc-7.0.13.ebuild
new file mode 100644
index 000000000000..29c7faf60f0d
--- /dev/null
+++ b/dev-java/javacc/javacc-7.0.13.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc examples source test"
+MAVAN_ID="net.java.dev.javacc:javacc:${PV}"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="Java Compiler Compiler - The Java Parser Generator"
+HOMEPAGE="https://javacc.github.io/javacc/"
+SRC_URI="https://github.com/javacc/javacc/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="BSD-2"
+SLOT="7.0.13"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? ( >=dev-java/ant-1.10.14:0[junit] )"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./bootstrap/*"
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar "target/${PN}.jar"
+
+ use doc && java-pkg_dojavadoc target/javadoc
+
+ use examples && java-pkg_doexamples examples
+ use source && java-pkg_dosrc src/*
+
+ echo "JAVACC_HOME=${EPREFIX}/usr/share/javacc/" > "${T}"/22javacc-${SLOT} || die
+ doenvd "${T}"/22javacc-${SLOT}
+
+ echo "export VERSION=${PV}" > "${T}"/pre || die
+
+ local launcher
+ for launcher in javacc jjdoc jjtree; do
+ java-pkg_dolauncher ${launcher}-${SLOT} -pre "${T}"/pre --main ${launcher}
+ done
+
+ einstalldocs
+}
diff --git a/dev-java/javacc/javacc-7.0.4.ebuild b/dev-java/javacc/javacc-7.0.4.ebuild
new file mode 100644
index 000000000000..85e46252a432
--- /dev/null
+++ b/dev-java/javacc/javacc-7.0.4.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc examples source test"
+MAVAN_ID="net.java.dev.javacc:javacc:${PV}"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="Java Compiler Compiler - The Java Parser Generator"
+HOMEPAGE="https://javacc.github.io/javacc/"
+SRC_URI="https://github.com/javacc/javacc/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="7.0.4"
+KEYWORDS="amd64 ~arm ~arm64"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? ( >=dev-java/ant-1.10.14:0[junit] )"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=(
+ README
+ javacc-releases.notes
+ jjdoc-releases.notes
+ jjtree-releases.notes
+ release.notes
+)
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./bootstrap/*"
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar "target/${PN}.jar"
+
+ if use doc; then
+ java-pkg_dohtml -r www/*
+ java-pkg_dojavadoc target/javadoc
+ fi
+
+ use examples && java-pkg_doexamples examples
+ use source && java-pkg_dosrc src/*
+
+ echo "JAVACC_HOME=${EPREFIX}/usr/share/javacc/" > "${T}"/22javacc-${SLOT} || die
+ doenvd "${T}"/22javacc-${SLOT}
+
+ echo "export VERSION=${PV}" > "${T}"/pre || die
+
+ local launcher
+ for launcher in javacc jjdoc jjtree; do
+ java-pkg_dolauncher ${launcher}-${SLOT} -pre "${T}"/pre --main ${launcher}
+ done
+
+ einstalldocs
+}
diff --git a/dev-java/javacc/metadata.xml b/dev-java/javacc/metadata.xml
index 6021501589e0..ceba116c02a9 100644
--- a/dev-java/javacc/metadata.xml
+++ b/dev-java/javacc/metadata.xml
@@ -5,4 +5,7 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+<upstream>
+ <remote-id type="github">javacc/javacc</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/dev-java/javacup/javacup-0.11b_p20151001-r1.ebuild b/dev-java/javacup/javacup-0.11b_p20151001-r1.ebuild
index d541109c2e08..4fd75cc0bcbd 100644
--- a/dev-java/javacup/javacup-0.11b_p20151001-r1.ebuild
+++ b/dev-java/javacup/javacup-0.11b_p20151001-r1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="http://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${MY_PV}.tar.
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
DEPEND="dev-java/ant-core:0
dev-java/jflex:0
diff --git a/dev-java/javahelp/javahelp-2.0.05_p20170719-r1.ebuild b/dev-java/javahelp/javahelp-2.0.05_p20170719-r1.ebuild
deleted file mode 100644
index d617465487ec..000000000000
--- a/dev-java/javahelp/javahelp-2.0.05_p20170719-r1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-COMMIT="3ca862d8626096770598a3a256886d205246f4a4"
-JAVA_PKG_IUSE="examples source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="The JavaHelp system online help system"
-HOMEPAGE="https://javaee.github.io/javahelp/"
-SRC_URI="https://github.com/javaee/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-CDEPEND="java-virtuals/servlet-api:2.4"
-
-RDEPEND=">=virtual/jre-1.4
- ${CDEPEND}"
-
-DEPEND="virtual/jdk:1.8
- ${CDEPEND}"
-
-JAVA_PKG_NV_DEPEND="virtual/jdk:1.8"
-
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-_eant() {
- local \
- servlet_jar=$(java-pkg_getjar --virtual servlet-api-2.4 servlet-api.jar) \
- jsp_jar=$(java-pkg_getjar --virtual servlet-api-2.4 jsp-api.jar)
-
- eant \
- -f javahelp_nbproject/build.xml \
- -Dfile.reference.servlet-api.jar="${servlet_jar}" \
- -Dfile.reference.jsp-api.jar="${jsp_jar}" \
- -Dservlet-jar="${servlet_jar}" \
- -Djsp-jar="${jsp_jar}" \
- -Dservlet-jar-present=true \
- -Djsp-jar-present=true \
- -Dtomcat-zip-present=true \
- ${@}
-}
-
-src_compile() {
- _eant release
-}
-
-#Does not actually run anything
-#src_test() {
-# _eant test
-#}
-
-src_install() {
- java-pkg_dojar javahelp_nbproject/dist/lib/*.jar
-
- java-pkg_dolauncher jhsearch \
- --main com.sun.java.help.search.QueryEngine
- java-pkg_dolauncher jhindexer \
- --main com.sun.java.help.search.Indexer
-
- use source && java-pkg_dosrc \
- jhMaster/JSearch/*/com \
- jhMaster/JavaHelp/src/*/{javax,com}
-
- use examples && java-pkg_doexamples jhMaster/JavaHelp/demos
-}
diff --git a/dev-java/javahelp/javahelp-2.0.05_p20170719-r3.ebuild b/dev-java/javahelp/javahelp-2.0.05_p20170719-r3.ebuild
new file mode 100644
index 000000000000..73a927bee381
--- /dev/null
+++ b/dev-java/javahelp/javahelp-2.0.05_p20170719-r3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT="3ca862d8626096770598a3a256886d205246f4a4"
+JAVA_PKG_IUSE="examples source"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="The JavaHelp system online help system"
+HOMEPAGE="https://javaee.github.io/javahelp/"
+SRC_URI="https://github.com/javaee/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+CDEPEND="
+ dev-java/javax-jsp-api:2.0
+ dev-java/javax-servlet-api:2.5
+"
+
+RDEPEND=">=virtual/jre-1.8:*
+ ${CDEPEND}"
+
+DEPEND="virtual/jdk:1.8
+ ${CDEPEND}"
+
+JAVA_PKG_NV_DEPEND="virtual/jdk:1.8"
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+_eant() {
+ local \
+ servlet_jar=$(java-pkg_getjars javax-servlet-api-2.5) \
+ jsp_jar=$(java-pkg_getjars javax-jsp-api-2.0)
+
+ eant \
+ -f javahelp_nbproject/build.xml \
+ -Dfile.reference.servlet-api.jar="${servlet_jar}" \
+ -Dfile.reference.jsp-api.jar="${jsp_jar}" \
+ -Dservlet-jar="${servlet_jar}" \
+ -Djsp-jar="${jsp_jar}" \
+ -Dservlet-jar-present=true \
+ -Djsp-jar-present=true \
+ -Dtomcat-zip-present=true \
+ ${@}
+}
+
+src_compile() {
+ _eant release
+}
+
+#Does not actually run anything
+#src_test() {
+# _eant test
+#}
+
+src_install() {
+ java-pkg_dojar javahelp_nbproject/dist/lib/*.jar
+
+ java-pkg_dolauncher jhsearch \
+ --main com.sun.java.help.search.QueryEngine
+ java-pkg_dolauncher jhindexer \
+ --main com.sun.java.help.search.Indexer
+
+ use source && java-pkg_dosrc \
+ jhMaster/JSearch/*/com \
+ jhMaster/JavaHelp/src/*/{javax,com}
+
+ use examples && java-pkg_doexamples jhMaster/JavaHelp/demos
+}
diff --git a/dev-java/javahelp/metadata.xml b/dev-java/javahelp/metadata.xml
index 308f2cfd932c..1bce4ec84d8e 100644
--- a/dev-java/javahelp/metadata.xml
+++ b/dev-java/javahelp/metadata.xml
@@ -12,4 +12,7 @@
implementation of that specification. The JavaHelp system open source
project includes the source to the reference implementation.
</longdescription>
+ <upstream>
+ <remote-id type="github">javaee/javahelp</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/javaparser-core/Manifest b/dev-java/javaparser-core/Manifest
new file mode 100644
index 000000000000..44d5620a8988
--- /dev/null
+++ b/dev-java/javaparser-core/Manifest
@@ -0,0 +1 @@
+DIST javaparser-3.13.10.tar.gz 7043664 BLAKE2B 5d2e35cfa22dbcb425365e2e7806c46b989b92a84472fbd80d42716fbb2a5ddcad2daec6214be689b1dcc6541890527e422953c083e713e9f1d22ce5b3035e90 SHA512 b90a6b7b2fbb6a13cc36cdd17acd09a22adb9e62311862c2a67a9ea339b98e245c93ba371645e3c695e76966b21e3bc01accf040482e30b2b6882a5569db5806
diff --git a/dev-java/javaparser-core/javaparser-core-3.13.10.ebuild b/dev-java/javaparser-core/javaparser-core-3.13.10.ebuild
new file mode 100644
index 000000000000..edcef0c4b6dd
--- /dev/null
+++ b/dev-java/javaparser-core/javaparser-core-3.13.10.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.github.javaparser:javaparser-core:3.13.10"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java 1-17 Parser and Abstract Syntax Tree for Java"
+HOMEPAGE="https://javaparser.org/"
+SRC_URI="https://github.com/javaparser/javaparser/archive/v${PV}.tar.gz -> javaparser-${PV}.tar.gz"
+S="${WORKDIR}/javaparser-${PV}"
+
+LICENSE="Apache-2.0 LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+JAVACC_SLOT="7.0.4"
+
+BDEPEND="dev-java/javacc:7.0.4"
+# Does not compile with Java 21
+DEPEND="<=virtual/jdk-17:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( CONTRIBUTING.md changelog.md readme.md )
+
+JAVA_AUTOMATIC_MODULE_NAME="com.github.javaparser.core"
+JAVA_SRC_DIR=(
+ "${PN}/src/main/java"
+ "${PN}/src/main/java-templates"
+ "${PN}/src/main/javacc-support"
+)
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ mkdir -p "${PN}/src/main/java/com/github/javaparser"
+ javacc-${JAVACC_SLOT} -GRAMMAR_ENCODING=UTF-8 \
+ -JDK_VERSION=1.8 \
+ -OUTPUT_DIRECTORY="${PN}/src/main/java/com/github/javaparser" \
+ "javaparser-core/src/main/javacc/java.jj" \
+ || die "Code generation with java.jj failed"
+}
diff --git a/dev-java/javaparser-core/metadata.xml b/dev-java/javaparser-core/metadata.xml
new file mode 100644
index 000000000000..297067f408d2
--- /dev/null
+++ b/dev-java/javaparser-core/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">javaparser/javaparser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/javassist/Manifest b/dev-java/javassist/Manifest
index c60258e00a51..ab442f432fc0 100644
--- a/dev-java/javassist/Manifest
+++ b/dev-java/javassist/Manifest
@@ -1,2 +1 @@
-DIST javassist-3.29.0.tar.gz 1290728 BLAKE2B 21543fe4d81cc46fa8d6530e8b5b821df64af31404831d15255fe7d362fe40de39451f4e6a264986ce7b8fdb16116c3266a522caf24a2df6a91cc7203354e070 SHA512 9487d4b6e1d7981360f768f2ebe7e8313c103752cc458eb454fffcf6714f62952cc772e920ee663e89cd51cd6a2669993f5595e682ec74313799eff32144541c
-DIST javassist-3.29.1.tar.gz 1291658 BLAKE2B 4064401ad01c1e1c9aa4a219a81f0fc2e67b1d4cb85cb98b4a996dd2bf789ee1feb790e5bb332205ef2fafe1c7ac0ea82e5e25afff4d9960c54dfe2cb895d0fd SHA512 5788a4a50b803b2a4520340ceae9fd47466d2004cce4138fd861b57fd760109c61c375a28bd907bb9dfeb56bd44734f003ddd1b550571f101a7d1bc04096b5f8
+DIST javassist-3.29.2.tar.gz 1293705 BLAKE2B 23101970a3fe9e4428b9e2e55ec2973663b537b2e205db55952bce116eb0cdd327e156f9bebf16a3c4322d8e5002d612067b14e8d234e87524361b5f08c9ecde SHA512 651f48d9138b54d4816611c077614bbb15f8189d755c2c2c7e5c2dfb35ad8f48cd9d2e0532edbd565456a923b3166eaecdde8702d65c70a32eb21c2d42f67bfc
diff --git a/dev-java/javassist/javassist-3.29.0-r2.ebuild b/dev-java/javassist/javassist-3.29.0-r2.ebuild
deleted file mode 100644
index c34576b87f4b..000000000000
--- a/dev-java/javassist/javassist-3.29.0-r2.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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/jboss-javassist/javassist/archive/rel_3_29_0_ga.tar.gz --slot 3 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild javassist-3.29.0.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.javassist:javassist:3.29.0-GA"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A class library for editing bytecodes in Java."
-HOMEPAGE="https://www.javassist.org"
-SRC_URI="https://github.com/jboss-javassist/javassist/archive/rel_${PV//./_}_ga.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 LGPL-2.1 MPL-1.1"
-SLOT="3"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
-
-# Tests run: 431, Failures: 6
-# Cannot solve those test failures. Using "mvn test" they all pass.
-# https://bugs.gentoo.org/856364
-RESTRICT="test"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:[4.13.1,) -> >=dev-java/junit-4.13.2:4
-# test? org.hamcrest:hamcrest-all:1.3 -> !!!artifactId-not-found!!!
-
-DEPEND=">=virtual/jdk-11:*
- test? ( dev-java/hamcrest-library:1.3 )"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${PN}-rel_${PV//./_}_ga"
-
-JAVA_NEEDS_TOOLS=1
-JAVA_SRC_DIR="src/main"
-JAVA_MAIN_CLASS="javassist.CtClass"
-
-JAVA_TEST_GENTOO_CLASSPATH="hamcrest-library-1.3,junit-4"
-JAVA_TEST_SRC_DIR="src/test"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-# https://github.com/jboss-javassist/javassist/blob/rel_3_29_0_ga/pom.xml#L166-L168
-# <include>javassist/JvstTest.java</include>
-JAVA_TEST_RUN_ONLY="javassist.JvstTest"
-
-src_prepare() {
- default
- java-pkg_clean javassist.jar
- sed -e 's:\.\./\.\./::' -i src/test/javassist/JvstTest{4,Root}.java || die
-}
-
-src_test() {
- default
- einfo "Testing"
- JAVA_PKG_WANT_SOURCE=11
- JAVA_PKG_WANT_TARGET=11
- java-pkg-simple_src_test
-}
diff --git a/dev-java/javassist/javassist-3.29.1.ebuild b/dev-java/javassist/javassist-3.29.1.ebuild
deleted file mode 100644
index d9a588f78267..000000000000
--- a/dev-java/javassist/javassist-3.29.1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# 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/jboss-javassist/javassist/archive/rel_3_29_1_ga.tar.gz --slot 3 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild javassist-3.29.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.javassist:javassist:3.29.1-GA"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A class library for editing bytecodes in Java."
-HOMEPAGE="https://www.javassist.org"
-SRC_URI="https://github.com/jboss-javassist/javassist/archive/rel_${PV//./_}_ga.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 LGPL-2.1 MPL-1.1"
-SLOT="3"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-
-# Tests run: 431, Failures: 6
-# Cannot solve those test failures. Using "mvn test" they all pass.
-# https://bugs.gentoo.org/856364
-RESTRICT="test"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:[4.13.1,) -> >=dev-java/junit-4.13.2:4
-# test? org.hamcrest:hamcrest-all:1.3 -> !!!artifactId-not-found!!!
-
-DEPEND=">=virtual/jdk-11:*
- test? ( dev-java/hamcrest-library:1.3 )"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( Changes.md README.md )
-HTML_DOCS=( tutorial/{brown.css,tutorial.html,tutorial2.html,tutorial3.html} )
-
-S="${WORKDIR}/${PN}-rel_${PV//./_}_ga"
-
-JAVA_AUTOMATIC_MODULE_NAME="org.javassist"
-JAVA_MAIN_CLASS="javassist.CtClass"
-JAVA_NEEDS_TOOLS=1
-JAVA_SRC_DIR="src/main"
-
-JAVA_TEST_GENTOO_CLASSPATH="hamcrest-library-1.3,junit-4"
-JAVA_TEST_SRC_DIR="src/test"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-# https://github.com/jboss-javassist/javassist/blob/rel_3_29_0_ga/pom.xml#L166-L168
-# <include>javassist/JvstTest.java</include>
-JAVA_TEST_RUN_ONLY="javassist.JvstTest"
-
-src_prepare() {
- default
- java-pkg_clean javassist.jar
- sed -e 's:\.\./\.\./::' -i src/test/javassist/JvstTest{4,Root}.java || die
-}
-
-src_test() {
- default
- einfo "Testing"
- JAVA_PKG_WANT_SOURCE=11
- JAVA_PKG_WANT_TARGET=11
- java-pkg-simple_src_test
-}
diff --git a/dev-java/javassist/javassist-3.29.2.ebuild b/dev-java/javassist/javassist-3.29.2.ebuild
new file mode 100644
index 000000000000..0d7ace3e1511
--- /dev/null
+++ b/dev-java/javassist/javassist-3.29.2.ebuild
@@ -0,0 +1,79 @@
+# 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/jboss-javassist/javassist/archive/rel_3_29_2_ga.tar.gz --slot 3 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild javassist-3.29.2.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.javassist:javassist:3.29.2-GA"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A class library for editing bytecodes in Java."
+HOMEPAGE="https://www.javassist.org"
+SRC_URI="https://github.com/jboss-javassist/javassist/archive/rel_${PV//./_}_ga.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 LGPL-2.1 MPL-1.1"
+SLOT="3"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
+
+# Compile dependencies
+# POM: pom.xml
+# test? junit:junit:[4.13.1,) -> >=dev-java/junit-4.13.2:4
+# test? org.hamcrest:hamcrest-all:1.3 -> !!!artifactId-not-found!!!
+
+DEPEND=">=virtual/jdk-11:*
+ test? ( dev-java/hamcrest-library:1.3 )"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( Changes.md README.md )
+HTML_DOCS=( tutorial/{brown.css,tutorial.html,tutorial2.html,tutorial3.html} )
+
+S="${WORKDIR}/${PN}-rel_${PV//./_}_ga"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.javassist"
+JAVA_MAIN_CLASS="javassist.CtClass"
+JAVA_NEEDS_TOOLS=1
+JAVA_SRC_DIR="src/main"
+
+JAVA_TEST_GENTOO_CLASSPATH="hamcrest-library-1.3,junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_RUN_ONLY="javassist.JvstTest" # pom.xml, line 167
+JAVA_TEST_SRC_DIR="src/test"
+
+src_prepare() {
+ default
+ java-pkg_clean javassist.jar
+ sed -e 's:\.\./\.\./::' -i src/test/javassist/JvstTest{4,Root}.java || die
+
+ # Tests run: 432, Failures: 6
+ # https://bugs.gentoo.org/856364
+ # Cannot solve those test failures.
+ # replacing test... with notTest... for those tests
+ sed \
+ -e '/public void/s:testInsertAt:notTestInsertAt:' \
+ -e '/public void/s:testInsertLocal:notTestInsertLocal:' \
+ -e '/public void/s:testNewArray:notTestNewArray:' \
+ -e '/public void/s:testURL:notTestURL:' \
+ -i src/test/javassist/JvstTest2.java || die
+
+ sed \
+ -e '/public void/s:testMethodParameters:notTestMethodParameters:' \
+ -i src/test/javassist/JvstTest4.java || die
+
+ sed \
+ -e '/public void/s:testLocalVarAttribute:notTestLocalVarAttribute:' \
+ -i src/test/javassist/bytecode/BytecodeTest.java || die
+}
+
+src_test() {
+ default
+ einfo "Testing"
+ JAVA_PKG_WANT_SOURCE=11
+ JAVA_PKG_WANT_TARGET=11
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/javatoolkit/javatoolkit-0.6.7.ebuild b/dev-java/javatoolkit/javatoolkit-0.6.7.ebuild
index d2ba9cf64fac..e0d6e70346ee 100644
--- a/dev-java/javatoolkit/javatoolkit-0.6.7.ebuild
+++ b/dev-java/javatoolkit/javatoolkit-0.6.7.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7,8,9,10} )
+PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE="xml(+)"
DISTUTILS_USE_SETUPTOOLS=no
@@ -15,7 +15,7 @@ SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
python_prepare_all() {
hprefixify src/py/buildparser src/py/findclass setup.py
diff --git a/dev-java/javatoolkit/metadata.xml b/dev-java/javatoolkit/metadata.xml
index 5aec4384f60a..01a22ce44f86 100644
--- a/dev-java/javatoolkit/metadata.xml
+++ b/dev-java/javatoolkit/metadata.xml
@@ -5,5 +5,9 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="gentoo">proj/javatoolkit</remote-id>
+ <remote-id type="github">gentoo/javatoolkit</remote-id>
+ </upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/dev-java/javax-el-api/Manifest b/dev-java/javax-el-api/Manifest
new file mode 100644
index 000000000000..db9d616a19e7
--- /dev/null
+++ b/dev-java/javax-el-api/Manifest
@@ -0,0 +1 @@
+DIST el-api-2.2-sources.jar 77708 BLAKE2B 4d31cf6ee76954fb4b16128e6cf162bcc5abe446500713a33010850bc9d416c754a1c61544dabfb1423cb3aed1f7fe06fbd367000679c04ab0f88beaf082dd4a SHA512 83db61c50735f33e6895a0ebb1f0198e4dad7868a35997180e86c68e4f833a202882120fda2f9657b3698faff852bba40affa29daa818e0dcd00a4caa6fc1c65
diff --git a/dev-java/javax-el-api/javax-el-api-2.2.ebuild b/dev-java/javax-el-api/javax-el-api-2.2.ebuild
new file mode 100644
index 000000000000..164895534df4
--- /dev/null
+++ b/dev-java/javax-el-api/javax-el-api-2.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="javax.el:el-api:2.2"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Expression Language API"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="https://repo1.maven.org/maven2/javax/el/el-api/${PV}/el-api-${PV}-sources.jar"
+
+# https://repo1.maven.org/maven2/javax/el/el-api/2.2/el-api-2.2.pom
+LICENSE="CDDL GPL-2"
+SLOT="2.2"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+JAVA_RESOURCE_DIRS="resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir resources || die
+ cp --parents javax/el/*.properties resources || die
+}
diff --git a/dev-java/aqute-bnd-annotation/metadata.xml b/dev-java/javax-el-api/metadata.xml
index 75321cfb5598..75321cfb5598 100644
--- a/dev-java/aqute-bnd-annotation/metadata.xml
+++ b/dev-java/javax-el-api/metadata.xml
diff --git a/dev-java/javax-inject/metadata.xml b/dev-java/javax-inject/metadata.xml
index 6ef2d50cf07e..72c0c8eb4e70 100644
--- a/dev-java/javax-inject/metadata.xml
+++ b/dev-java/javax-inject/metadata.xml
@@ -5,4 +5,7 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">javax-inject/javax-inject</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/javax-jsp-api/Manifest b/dev-java/javax-jsp-api/Manifest
new file mode 100644
index 000000000000..d1bdfd42d152
--- /dev/null
+++ b/dev-java/javax-jsp-api/Manifest
@@ -0,0 +1,2 @@
+DIST jsp-api-2.0-sources.jar 118348 BLAKE2B d9f615961a6ef2afb1447477d44e4f49eaf9137f62ba596c40d7437c8d4973a68f689189255bcc6bae5e5970b23c8e93fbabcad2fb230f54963dad55eef2a8f7 SHA512 4f38ed56e9e51a979488a26fde36905748674e225a10df82259891fa85f8493575a58babb7620b27a96ab7e83002433ae4ee60f700a866e330642c7dd0a0f7a8
+DIST jsp-api-2.2-sources.jar 163137 BLAKE2B 8bac5428393518cb3edb8488eaaab772d37db51dfbc5b466eabcb5b8ccd90cfa4869ebe65d861c64a6c588c8ede3ab1f5ab0c2e9080dde16c0585a7f774abb05 SHA512 ff79c34904372b722501b4479cbf88796017839d636a31b9343ef9104d93e3554154b3124f366295d05a41dc8320ff8bc83e9f8ee971df35c791220065b70647
diff --git a/dev-java/javax-jsp-api/javax-jsp-api-2.0.ebuild b/dev-java/javax-jsp-api/javax-jsp-api-2.0.ebuild
new file mode 100644
index 000000000000..2bc79637f253
--- /dev/null
+++ b/dev-java/javax-jsp-api/javax-jsp-api-2.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="javax.servlet.jsp:jsp-api:2.0"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JavaServer Pages(TM) API JSR-000152 JSR-000245"
+HOMEPAGE="https://jcp.org/aboutJava/communityprocess/final/jsr152/"
+SRC_URI="https://repo1.maven.org/maven2/javax/servlet/jsp/jsp-api/${PV}/jsp-api-${PV}-sources.jar"
+
+LICENSE="CDDL GPL-2-with-classpath-exception"
+SLOT="2.0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+
+CP_DEPEND="dev-java/javax-servlet-api:2.5"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+JAVA_RESOURCE_DIRS="resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir -p "${JAVA_RESOURCE_DIRS}/javax/servlet/jsp/resources" || die
+ mv dtd/* "${JAVA_RESOURCE_DIRS}/javax/servlet/jsp/resources" || die
+}
diff --git a/dev-java/javax-jsp-api/javax-jsp-api-2.2.ebuild b/dev-java/javax-jsp-api/javax-jsp-api-2.2.ebuild
new file mode 100644
index 000000000000..bd949201c1c8
--- /dev/null
+++ b/dev-java/javax-jsp-api/javax-jsp-api-2.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="javax.servlet.jsp:jsp-api:2.2"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JavaServer Pages(TM) API JSR-000152 JSR-000245"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="https://repo1.maven.org/maven2/javax/servlet/jsp/jsp-api/${PV}/jsp-api-${PV}-sources.jar"
+
+LICENSE="CDDL GPL-2-with-classpath-exception"
+SLOT="2.2"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+CP_DEPEND="
+ dev-java/javax-el-api:2.2
+ dev-java/javax-servlet-api:2.5
+"
+
+RDEPEND=">=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+DEPEND=">=virtual/jdk-1.8:*
+ ${CP_DEPEND}"
diff --git a/dev-java/javax-jsp-api/metadata.xml b/dev-java/javax-jsp-api/metadata.xml
new file mode 100644
index 000000000000..882410dd6f2e
--- /dev/null
+++ b/dev-java/javax-jsp-api/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <slots>
+ <slot name="2.0">https://jcp.org/aboutJava/communityprocess/final/jsr152/</slot>
+ <slot name="2.2">https://jcp.org/aboutJava/communityprocess/mrel/jsr245/</slot>
+ </slots>
+</pkgmetadata>
diff --git a/dev-java/javax-mail/Manifest b/dev-java/javax-mail/Manifest
index 25170c74c15f..35dd8eaf5b5a 100644
--- a/dev-java/javax-mail/Manifest
+++ b/dev-java/javax-mail/Manifest
@@ -1 +1,2 @@
-DIST javax-mail-1.6.7.tar.gz 1854297 BLAKE2B 70dac40cdf67c413db3370f9cdf5b9786fcebce4ba12725758bf6120a2b6874e079a5beef08ee1190e30bfe2f14ad21e73ef1710c982e3f658a2f2f11e524f2e SHA512 9e8754839efb43d14ade6189428c4b86f5fc180e2e18b4e121a9463aaa52c34a431dbf05a6264ef8221faf0b09cc08f914ff758cbb3931df97cea1a897c54c08
+DIST javax-mail-1.6.7-java21.patch 108038 BLAKE2B 41dd770dc9de5b17d9a4b4a427f31fd3158d45420a3bf1b7949075f1c65103c4093d945e224d70fec66045c314d41aca721b8a7667b6c839fd3f1c3d448c00a4 SHA512 f6f777f7a158114707196321f4480c98bd04ab9a807cbc65a6166bbb55dd9e33853ec4074a5fd23540a1d70629368f1e187e9e839c2bd775ad6d309b4d59fca7
+DIST javax-mail-1.6.7.tar.gz 1854403 BLAKE2B b6681995202c5fd9ed978314d79a6e3c6ee0edeecbbcdb147b94e1f789f7706e090342df8e6491dc23a67d9b3b2b12150cdd0c8ab17a120d1bc0dd4e153be846 SHA512 eb9d1bf863ef2404bdcfde4d9c23089e8d6f76c3f8fd2fc817dd365811636d23d57a60e6991e0349842b1f29b5a1b36b3af78533077858fd2d4550560d2e2d8c
diff --git a/dev-java/javax-mail/javax-mail-1.6.7-r1.ebuild b/dev-java/javax-mail/javax-mail-1.6.7-r1.ebuild
deleted file mode 100644
index c72608beb918..000000000000
--- a/dev-java/javax-mail/javax-mail-1.6.7-r1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom mail/pom.xml --download-uri https://github.com/eclipse-ee4j/mail/archive/refs/tags/1.6.7.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild javax-mail-1.6.7.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.sun.mail:jakarta.mail:1.6.7"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Jakarta Mail API"
-HOMEPAGE="https://eclipse-ee4j.github.io/mail/"
-SRC_URI="https://github.com/eclipse-ee4j/mail/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0 EPL-2.0 GPL-2-with-classpath-exception"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: mail/pom.xml
-# com.sun.activation:jakarta.activation:1.2.1 -> >=dev-java/jakarta-activation-1.2.2:1
-
-CDEPEND="
- >=dev-java/jakarta-activation-1.2.2:1
-"
-
-DEPEND="
- >=virtual/jdk-11:*
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-DOCS=( ../{LICENSE,NOTICE,README}.md )
-
-S="${WORKDIR}/mail-${PV}/mail"
-
-src_prepare() {
- default
- mv src/main/{resources,java}/javax/mail/Version.java || die
-}
-
-JAVA_ENCODING="iso-8859-1"
-
-JAVA_GENTOO_CLASSPATH="jakarta-activation-1"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_TEST_EXTRA_ARGS=( -ea )
-
-src_test() {
- pushd src/test/java || die
- # Selection according to 137,138 pom.xml
- # 1) com.sun.mail.util.logging.MailHandlerTest
- # java.io.IOException: Permission denied
- local JAVA_TEST_RUN_ONLY=$(find * \
- -name "*TestSuite.java" -o -name "*Test.java" \
- ! -name "MailHandlerTest.java" \
- )
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
- popd
-
- java-pkg-simple_src_test
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/javax-mail/javax-mail-1.6.7-r2.ebuild b/dev-java/javax-mail/javax-mail-1.6.7-r2.ebuild
new file mode 100644
index 000000000000..f19bd8c2717b
--- /dev/null
+++ b/dev-java/javax-mail/javax-mail-1.6.7-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.sun.mail:jakarta.mail:1.6.7"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta Mail API"
+HOMEPAGE="https://jakartaee.github.io/mail-api/"
+SRC_URI="https://github.com/jakartaee/mail-api/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/jakartaee/mail-api/commit/86ee859eb1.patch -> ${P}-java21.patch"
+S="${WORKDIR}/mail-api-${PV}"
+
+LICENSE="EPL-1.0 EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ dev-java/jakarta-activation:1
+ >=virtual/jdk-11:*
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {NOTICE,README}.md )
+PATCHES=( "${DISTDIR}/javax-mail-1.6.7-java21.patch" ) #917068
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ mv mail/src/main/{resources,java}/javax/mail/Version.java || die
+}
+
+JAVA_CLASSPATH_EXTRA="jakarta-activation-1"
+JAVA_ENCODING="iso-8859-1"
+JAVA_RESOURCE_DIRS="mail/src/main/resources"
+JAVA_SRC_DIR="mail/src/main/java"
+
+JAVA_TEST_EXTRA_ARGS=( -ea )
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="mail/src/test/resources"
+JAVA_TEST_SRC_DIR="mail/src/test/java"
+
+src_test() {
+ pushd mail/src/test/java || die
+ # Selection according to 137,138 pom.xml
+ # 1) com.sun.mail.util.logging.MailHandlerTest
+ # java.io.IOException: Permission denied
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "*TestSuite.java" -o -name "*Test.java" \
+ ! -name "MailHandlerTest.java" \
+ )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/javax-mail/metadata.xml b/dev-java/javax-mail/metadata.xml
index 75321cfb5598..53eb0003d9ca 100644
--- a/dev-java/javax-mail/metadata.xml
+++ b/dev-java/javax-mail/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">jakartaee/mail-api</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/javax-persistence-api/Manifest b/dev-java/javax-persistence-api/Manifest
new file mode 100644
index 000000000000..1860158b5d05
--- /dev/null
+++ b/dev-java/javax-persistence-api/Manifest
@@ -0,0 +1 @@
+DIST javax.persistence-api-2.2-sources.jar 257011 BLAKE2B 022d70134c8cd9cb8afd0f65f1530e8937dd3535ba533d98f59409f28a39b9238dc23e10b8f86378b1e817520839c25647aad4c01b9234dc65be4bd68bdc9bb6 SHA512 07a31f509fc7215e3f671579ce63161ac3e776171a240c9d087e8f47423d65f590026fe7c2fcd67365894ee906eb4b39e81f070d7f795346e18697775efdf428
diff --git a/dev-java/javax-persistence-api/javax-persistence-api-2.2.ebuild b/dev-java/javax-persistence-api/javax-persistence-api-2.2.ebuild
new file mode 100644
index 000000000000..9350a857e77e
--- /dev/null
+++ b/dev-java/javax-persistence-api/javax-persistence-api-2.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="javax.persistence:javax.persistence-api:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Persistence API"
+HOMEPAGE="https://www.jcp.org/en/jsr/detail?id=220"
+SRC_URI="https://repo1.maven.org/maven2/javax/persistence/${PN/-/.}/${PV}/${PN/-/.}-${PV}-sources.jar"
+
+LICENSE="CDDL"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+BDEPEND="app-arch/unzip"
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_RESOURCE_DIRS="resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # java-pkg-simple.eclass wants resources in JAVA_RESOURCE_DIRS
+ mkdir resources || die
+ find -type f \
+ -name '*.xsd' \
+ | xargs cp --parent -t resources || die
+}
diff --git a/dev-java/javax-persistence-api/metadata.xml b/dev-java/javax-persistence-api/metadata.xml
new file mode 100644
index 000000000000..75321cfb5598
--- /dev/null
+++ b/dev-java/javax-persistence-api/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-java/javax-servlet-api/Manifest b/dev-java/javax-servlet-api/Manifest
new file mode 100644
index 000000000000..d09584b82304
--- /dev/null
+++ b/dev-java/javax-servlet-api/Manifest
@@ -0,0 +1,4 @@
+DIST javax.servlet-api-3.0.1-sources.jar 212871 BLAKE2B aea63157c3c0af5a40b7245ed0cab312b6d21419087d269374446e1c5f13200fb726a4533bf8d843a7e30d26266e4d9ae6c5e0b05004165ffcef14a7d179cf7b SHA512 9a955e4c8973af31f421f5651b0ae0c00fe4966318ef1849af97aa525736e262fa88b312c0acad093f25d7fa2c0903549d3e53b0cbc45afa7a2436b2c2282e7d
+DIST javax.servlet-api-3.1.0-sources.jar 223386 BLAKE2B ca472d1312e3ebb86ac1f0d1971dbaa607143f856e56a5544cf30daa3c23745e0b338ca10f518300627a53adccf284da91c6f70a25001c5a030b3308b23cb89d SHA512 15c9e497a67c1702ff9f987713553ade10ddfc722ea69377e721b8b094491184efc5801aad420fdbbdffd1d23691328c6eb768d5ad580fc00f3a7eaa6411749c
+DIST servlet-api-2.2-sources.jar 124718 BLAKE2B e9b79dafd1e858935215bf53e70f6e7d6eca226659c50abf6922e895c037ca23c5592da557cb53e649024e59dc56392535ca174dc96130d95e4b8ee98bff790e SHA512 62335089d991e05ba463bc7d976dcc51861e03d0ff350c4de9b63a508e0a8adf043764a7935c7c5c4b64baa2853f8163a78ab8609ee9d5a6001a7e6acb81e16e
+DIST servlet-api-2.5-sources.jar 158114 BLAKE2B 84997b9cc2122f49a850ac32089eb484bc4f68c4e73c7541cf70f453f0a0eaa0c037d6f2b8c8270d4122502f224a6943011f6a964da406093d0ad4bb173dc71e SHA512 6590adea214ba7f59e033b8f450ca8fd3a0764ac6aaf2789d5824ddeecc4c520d004242e42e3a058517d5f556a41a970f782dfde35b2cf184874a77063dc0fef
diff --git a/dev-java/javax-servlet-api/javax-servlet-api-2.2.ebuild b/dev-java/javax-servlet-api/javax-servlet-api-2.2.ebuild
new file mode 100644
index 000000000000..e1ef677f416c
--- /dev/null
+++ b/dev-java/javax-servlet-api/javax-servlet-api-2.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="javax.servlet:servlet-api:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JavaServlet(TM) Specification"
+HOMEPAGE="https://javaee.github.io/servlet-spec/"
+SRC_URI="https://repo1.maven.org/maven2/javax/servlet/servlet-api/${PV}/servlet-api-${PV}-sources.jar"
+
+LICENSE="CDDL GPL-2"
+SLOT="2.2"
+KEYWORDS="amd64 ~arm ~arm64 ppc64 x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+JAVA_RESOURCE_DIRS="resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir -p "${JAVA_RESOURCE_DIRS}/META-INF" || die
+ echo "Implementation-Version: 2.2" > "${JAVA_RESOURCE_DIRS}/META-INF/MANIFEST.MF"
+ echo "Specification-Version: 2.2" >> "${JAVA_RESOURCE_DIRS}/META-INF/MANIFEST.MF"
+ find . -type f -name '*.properties' | xargs cp --parent -t resources || die
+}
diff --git a/dev-java/javax-servlet-api/javax-servlet-api-2.5.ebuild b/dev-java/javax-servlet-api/javax-servlet-api-2.5.ebuild
new file mode 100644
index 000000000000..75c0e7178cc5
--- /dev/null
+++ b/dev-java/javax-servlet-api/javax-servlet-api-2.5.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="javax.servlet:servlet-api:2.5"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JavaServlet(TM) Specification"
+HOMEPAGE="https://javaee.github.io/servlet-spec/"
+SRC_URI="https://repo1.maven.org/maven2/javax/servlet/servlet-api/${PV}/servlet-api-${PV}-sources.jar"
+
+LICENSE="CDDL GPL-2"
+SLOT="2.5"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+JAVA_RESOURCE_DIRS="resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir -p "${JAVA_RESOURCE_DIRS}/javax/servlet/resources" || die
+ mv dtd/* "${JAVA_RESOURCE_DIRS}/javax/servlet/resources" || die
+ find . -type f -name '*.properties' | xargs cp --parent -t resources || die
+}
diff --git a/dev-java/javax-servlet-api/javax-servlet-api-3.0.1.ebuild b/dev-java/javax-servlet-api/javax-servlet-api-3.0.1.ebuild
new file mode 100644
index 000000000000..c591b2849432
--- /dev/null
+++ b/dev-java/javax-servlet-api/javax-servlet-api-3.0.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="javax.servlet:javax.servlet-api:3.0.1"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JavaServlet(TM) Specification JSR-000315"
+HOMEPAGE="https://javaee.github.io/servlet-spec/"
+SRC_URI="https://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/${PV}/javax.servlet-api-${PV}-sources.jar"
+
+LICENSE="CDDL GPL-2"
+SLOT="3.0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+JAVA_RESOURCE_DIRS="resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir -p "${JAVA_RESOURCE_DIRS}/META-INF" || die
+ find . -type f ! -name '*.java' | xargs cp --parent -t resources || die
+ echo "Implementation-Version: 3.0.1" > "${JAVA_RESOURCE_DIRS}/META-INF/MANIFEST.MF"
+ echo "Specification-Version: 3.0" >> "${JAVA_RESOURCE_DIRS}/META-INF/MANIFEST.MF"
+}
diff --git a/dev-java/javax-servlet-api/javax-servlet-api-3.1.0.ebuild b/dev-java/javax-servlet-api/javax-servlet-api-3.1.0.ebuild
new file mode 100644
index 000000000000..d587febbc061
--- /dev/null
+++ b/dev-java/javax-servlet-api/javax-servlet-api-3.1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="javax.servlet:javax.servlet-api:3.1.0"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JavaServlet(TM) Specification JSR-000340"
+HOMEPAGE="https://javaee.github.io/servlet-spec/"
+SRC_URI="https://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/${PV}/javax.servlet-api-${PV}-sources.jar"
+
+LICENSE="CDDL GPL-2"
+SLOT="3.1"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+JAVA_RESOURCE_DIRS="resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir -p "${JAVA_RESOURCE_DIRS}/META-INF" || die
+ echo "Implementation-Version: 3.1.0" > "${JAVA_RESOURCE_DIRS}/META-INF/MANIFEST.MF"
+ echo "Specification-Version: 3.1" >> "${JAVA_RESOURCE_DIRS}/META-INF/MANIFEST.MF"
+ find . -type f -name '*.properties' | xargs cp --parent -t resources || die
+}
diff --git a/dev-java/javax-servlet-api/metadata.xml b/dev-java/javax-servlet-api/metadata.xml
new file mode 100644
index 000000000000..8b4338de30f3
--- /dev/null
+++ b/dev-java/javax-servlet-api/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ Java Servlet is the foundation web specification in the Java Enterprise Platform. Developers can build web applications using the Servlet API to interact with the request/response workflow.
+ </longdescription>
+ <slots>
+ <slot name="2.2">https://jcp.org/aboutJava/communityprocess/maintenance/jsr903/</slot>
+ <slot name="2.5">https://jcp.org/aboutJava/communityprocess/final/jsr154/</slot>
+ <slot name="3.1">https://jcp.org/aboutJava/communityprocess/final/jsr340/</slot>
+ <slot name="3.0">https://jcp.org/aboutJava/communityprocess/final/jsr315/</slot>
+ </slots>
+</pkgmetadata>
diff --git a/dev-java/jax-rpc-api/Manifest b/dev-java/jax-rpc-api/Manifest
new file mode 100644
index 000000000000..a188d7d0974f
--- /dev/null
+++ b/dev-java/jax-rpc-api/Manifest
@@ -0,0 +1 @@
+DIST jax-rpc-api-1.1.4.tar.gz 91556 BLAKE2B a8d830a34fcd829bd44b66aadd473d25bcff788d01822b50b4eafafa3cc4ee002118904d79a38054f716bfd1fe68bd49dc7e74ae2f7ab8f9249277ddc863934d SHA512 4b2a15050d989754f93f7771622e5df286de633f4bcdeb750dbf3df6aa1115cf8de5fe84b809c15b9ccb85bd14283696df76cbe619b06ca48ce048b728525496
diff --git a/dev-java/jax-rpc-api/jax-rpc-api-1.1.4.ebuild b/dev-java/jax-rpc-api/jax-rpc-api-1.1.4.ebuild
new file mode 100644
index 000000000000..9d4fbbaaf082
--- /dev/null
+++ b/dev-java/jax-rpc-api/jax-rpc-api-1.1.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="jakarta.xml.rpc:jakarta.xml.rpc-api:1.1.4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Eclipse Project for Stable EE4J APIs"
+HOMEPAGE="https://github.com/eclipse-ee4j/jax-rpc-api"
+SRC_URI="https://github.com/eclipse-ee4j/jax-rpc-api/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+# Common dependencies
+# POM: api/pom.xml
+# jakarta.servlet:jakarta.servlet-api:4.0.3 -> >=dev-java/jakarta-servlet-api-4.0.4:4
+
+CP_DEPEND="
+ dev-java/jakarta-servlet-api:4
+ dev-java/jakarta-xml-soap-api:1
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+JAVA_SRC_DIR="api/src/main/java"
diff --git a/dev-java/jax-rpc-api/metadata.xml b/dev-java/jax-rpc-api/metadata.xml
new file mode 100644
index 000000000000..4f37e2c488cf
--- /dev/null
+++ b/dev-java/jax-rpc-api/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">eclipse-ee4j/jax-rpc-api</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jaxb-api/Manifest b/dev-java/jaxb-api/Manifest
index d20a942ff296..26a0e66387da 100644
--- a/dev-java/jaxb-api/Manifest
+++ b/dev-java/jaxb-api/Manifest
@@ -1,3 +1,3 @@
DIST jaxb-api-2.3.3.tar.gz 193025 BLAKE2B 1cf4461fdc67cc05ee43e880c254290b9dbe8a40b1dc39444d8fb6656698876a4bb16c679ee551ec7baa95c07eaf83e2fe5638a71eafbb158805c14c38888cb8 SHA512 37d6705fc1563f0d35a215e2f176473ee5e817a4a3017afe22042a4235c86b8556ea1fb23210d07ca7ea3cd1e0a3271daa4be8c9652cfe92ce2898f1381de3bf
DIST jaxb-api-3.0.1.tar.gz 420695 BLAKE2B 70da435e75f6fcb155d57ee20659897d7d1a72dc38e77f0348eaa767b56e2c5fbb7df88c3b0c794cfc7eaad3d839550a197288dab59520a63562f083388764c0 SHA512 16d62a1fd6045a57f1d215227ce75860340c286eb0986b1086a0312dbc8ca8119b25533c42fe54f367231ec1c34795fec6a9355417f71ce826ee28d5fb6cf9fe
-DIST jaxb-api-4.0.0.tar.gz 543827 BLAKE2B 12a113126290fdf46270d2713d88836e8f5d01059127747a343816a10deb45ecc8c8dc8cf2cf7e2b71754977900645d4fef6e08fa8c47f583945fea34bc62357 SHA512 eb4eab396b894ab801433e0e31f93a4980f3913176a1960591a69e4fd55f10f316a7edb712df323c59f7dc9ca6cebacb7257be06aec72446059dd8b93c6de175
+DIST jaxb-api-4.0.2.tar.gz 544391 BLAKE2B fc143248645eb7ea5e17724531c3b6bd902d8c787c735abf16a97259850386d330de67b96837fcbb2be74182e0abbca585e4d6766dd4efffc31b73cb6040e336 SHA512 9fa4cb55a2771011d372fee670672062a12d9eb12aeb3a250ec86cc7814d9ea9fe80aca01039b37f96d5997b15938b2371d8fa323a132caf3be1093e76db1869
diff --git a/dev-java/jaxb-api/files/jaxb-api-2.3.3-dropSecurityManager.patch b/dev-java/jaxb-api/files/jaxb-api-2.3.3-dropSecurityManager.patch
new file mode 100644
index 000000000000..36fed49987b4
--- /dev/null
+++ b/dev-java/jaxb-api/files/jaxb-api-2.3.3-dropSecurityManager.patch
@@ -0,0 +1,10 @@
+--- a/jaxb-api-test/src/test/java/javax/xml/bind/test/JAXBContextTest.java
++++ b/jaxb-api-test/src/test/java/javax/xml/bind/test/JAXBContextTest.java
+@@ -265,7 +265,6 @@ public class JAXBContextTest {
+ private void enableSM() {
+ System.setSecurityManager(null);
+ System.setProperty("java.security.policy", classesDir + "javax/xml/bind/test.policy");
+- System.setSecurityManager(new SecurityManager());
+ }
+
+ private void cleanResource(Path resource) {
diff --git a/dev-java/jaxb-api/files/jaxb-api-4.0.2-dropSecurityManager.patch b/dev-java/jaxb-api/files/jaxb-api-4.0.2-dropSecurityManager.patch
new file mode 100644
index 000000000000..3d78b40cdaba
--- /dev/null
+++ b/dev-java/jaxb-api/files/jaxb-api-4.0.2-dropSecurityManager.patch
@@ -0,0 +1,12 @@
+# java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
+# https://github.com/jakartaee/jaxb-api/issues/303#issuecomment-1962748051
+--- a/jaxb-api-test/src/test/java/jakarta/xml/bind/test/JAXBContextTest.java
++++ b/jaxb-api-test/src/test/java/jakarta/xml/bind/test/JAXBContextTest.java
+@@ -265,7 +265,6 @@ public class JAXBContextTest {
+ private void enableSM() {
+ System.setSecurityManager(null);
+ System.setProperty("java.security.policy", classesDir + "jakarta/xml/bind/test.policy");
+- System.setSecurityManager(new SecurityManager());
+ }
+
+ private void cleanResource(Path resource) {
diff --git a/dev-java/jaxb-api/jaxb-api-2.3.3-r1.ebuild b/dev-java/jaxb-api/jaxb-api-2.3.3-r1.ebuild
deleted file mode 100644
index 179eb6a32e3c..000000000000
--- a/dev-java/jaxb-api/jaxb-api-2.3.3-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# 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/eclipse-ee4j/jaxb-api/archive/refs/tags/2.3.3.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jaxb-api-2.3.3.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="jakarta.xml.bind:jakarta.xml.bind-api:2.3.3"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Jakarta XML Binding API"
-HOMEPAGE="https://github.com/eclipse-ee4j/jaxb-api"
-SRC_URI="https://github.com/eclipse-ee4j/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# jakarta.activation:jakarta.activation-api:1.2.2 -> >=dev-java/jakarta-activation-api-2.0.1:0
-# jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 -> >=dev-java/jaxb-api-2.3.3:0
-
-CDEPEND="dev-java/jakarta-activation-api:1"
-DEPEND="${CDEPEND}
- >=virtual/jdk-11:*"
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( ../{LICENSE,NOTICE,README}.md )
-
-S="${WORKDIR}/${P}/${PN}"
-
-JAVA_GENTOO_CLASSPATH="jakarta-activation-api-1"
-JAVA_GENTOO_CLASSPATH_EXTRA="jaxb-api.jar"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="../${PN}-test/src/test/java"
-JAVA_TEST_RESOURCE_DIRS="../${PN}-test/src/test/resources"
-
-src_install() {
- default
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jaxb-api/jaxb-api-2.3.3-r2.ebuild b/dev-java/jaxb-api/jaxb-api-2.3.3-r2.ebuild
new file mode 100644
index 000000000000..abe2f8cfb559
--- /dev/null
+++ b/dev-java/jaxb-api/jaxb-api-2.3.3-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="jakarta.xml.bind:jakarta.xml.bind-api:2.3.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta XML Binding API"
+HOMEPAGE="https://github.com/jakartaee/jaxb-api"
+SRC_URI="https://github.com/jakartaee/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="EPL-1.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CDEPEND="dev-java/jakarta-activation-api:1"
+DEPEND="${CDEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( {LICENSE,NOTICE,README}.md )
+PATCHES=( "${FILESDIR}/jaxb-api-2.3.3-dropSecurityManager.patch" )
+
+JAVA_GENTOO_CLASSPATH="jakarta-activation-api-1"
+JAVA_GENTOO_CLASSPATH_EXTRA="jaxb-api.jar"
+JAVA_RESOURCE_DIRS="${PN}/src/main/resources"
+JAVA_SRC_DIR="${PN}/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="${PN}-test/src/test/resources"
+JAVA_TEST_SRC_DIR="${PN}-test/src/test/java"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
diff --git a/dev-java/jaxb-api/jaxb-api-4.0.0.ebuild b/dev-java/jaxb-api/jaxb-api-4.0.0.ebuild
deleted file mode 100644
index 09661390a579..000000000000
--- a/dev-java/jaxb-api/jaxb-api-4.0.0.ebuild
+++ /dev/null
@@ -1,42 +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="jakarta.xml.bind:jakarta.xml.bind-api:4.0.0"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Jakarta XML Binding API"
-HOMEPAGE="https://github.com/eclipse-ee4j/jaxb-api"
-SRC_URI="https://github.com/eclipse-ee4j/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CP_DEPEND="dev-java/jakarta-activation:2"
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-11:*"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( {CONTRIBUTING,NOTICE,README}.md )
-
-S="${WORKDIR}/${P}"
-
-JAVA_SRC_DIR="api/src/main/java"
-JAVA_RESOURCE_DIRS="api/src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="jaxb-api-test/src/test/java"
-JAVA_TEST_RESOURCE_DIRS="jaxb-api-test/src/test/resources"
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jaxb-api/jaxb-api-4.0.2.ebuild b/dev-java/jaxb-api/jaxb-api-4.0.2.ebuild
new file mode 100644
index 000000000000..d0a0b6381a1a
--- /dev/null
+++ b/dev-java/jaxb-api/jaxb-api-4.0.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="jakarta.xml.bind:jakarta.xml.bind-api:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta XML Binding API"
+HOMEPAGE="https://github.com/jakartaee/jaxb-api"
+SRC_URI="https://github.com/jakartaee/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="EPL-1.0"
+SLOT="4"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="dev-java/jakarta-activation:2"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+
+# reason: '<>' with anonymous inner classes is not supported in -source 8
+# (use -source 9 or higher to enable '<>' with anonymous inner classes)
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-11:*"
+
+DOCS=( {CONTRIBUTING,NOTICE,README}.md )
+PATCHES=( "${FILESDIR}/jaxb-api-4.0.2-dropSecurityManager.patch" )
+
+JAVA_RESOURCE_DIRS="api/src/main/resources"
+JAVA_SRC_DIR="api/src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="jaxb-api-test/src/test/resources"
+JAVA_TEST_SRC_DIR="jaxb-api-test/src/test/java"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
diff --git a/dev-java/jaxb-api/metadata.xml b/dev-java/jaxb-api/metadata.xml
index 44d0d808c013..82e13368f4e7 100644
--- a/dev-java/jaxb-api/metadata.xml
+++ b/dev-java/jaxb-api/metadata.xml
@@ -5,7 +5,7 @@
<email>java@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="github">eclipse-ee4j/jaxb-api</remote-id>
- <bugs-to>https://github.com/eclipse-ee4j/jaxb-api/issues</bugs-to>
+ <bugs-to>https://github.com/jakartaee/jaxb-api/issues</bugs-to>
+ <remote-id type="github">jakartaee/jaxb-api</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jaxb-runtime/Manifest b/dev-java/jaxb-runtime/Manifest
index 3f6b074dab8d..b5ce05d21247 100644
--- a/dev-java/jaxb-runtime/Manifest
+++ b/dev-java/jaxb-runtime/Manifest
@@ -1 +1,2 @@
+DIST jaxb-ri-2.3.8.tar.gz 1734411 BLAKE2B e60a7f78f2bfaf23cc0ce6727ee1b1611facdeebd5b456c207260447a508674dcbf934d2c6343cfbb58b93adf3352c8145caa2a8c77e264ae2403351527ff96d SHA512 73fda68e8d936b681d53ec72153cec0f7608517d0f037b4f140e4fd48e26f3e03a88f5b34bb635d0e6c7701121befd7d18a98aebd019a663e08ed9667a39c535
DIST jaxb-ri-4.0.0.tar.gz 1739184 BLAKE2B a85a12fdca0b6eff8664894d65e2f82d30491e20050fde2ca828fa3c2c79ce2e158fca5ce6d0ae2cb2a00859abc0c9e9d49321c0943b862fd603a9e732f29dc4 SHA512 766a58d5107a88c19a99014b737b7b14a510b928dd26991adfe902073614923690c1e5a231834ec4a200a10adf9505b27179b8d84cf09dbb09292341c328e743
diff --git a/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild b/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild
new file mode 100644
index 000000000000..6f2e9531600b
--- /dev/null
+++ b/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.glassfish.jaxb:jaxb-runtime:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JAXB (JSR 222) Reference Implementation"
+HOMEPAGE="https://eclipse-ee4j.github.io/jaxb-ri/"
+SRC_URI="https://github.com/eclipse-ee4j/jaxb-ri/archive/${PV}-RI.tar.gz -> jaxb-ri-${PV}.tar.gz"
+S="${WORKDIR}/jaxb-ri-${PV}-RI/jaxb-ri/runtime/impl"
+
+LICENSE="EPL-1.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/fastinfoset:0
+ dev-java/istack-commons-runtime:3
+ dev-java/jaxb-api:2
+ dev-java/jaxb-stax-ex:1
+ ~dev-java/txw2-${PV}:2
+"
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+ >=dev-java/jakarta-activation-api-1.2.2:1
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+ >=dev-java/jakarta-activation-1.2.2:1
+"
+
+JAVA_CLASSPATH_EXTRA="jakarta-activation-api-1"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ # Run this test separately as it prevents a reasonable test summary
+ JAVA_TEST_RUN_ONLY="com.sun.xml.bind.v2.schemagen.XmlSchemaGeneratorTest"
+ java-pkg-simple_src_test
+
+ # The default test selection of java-pkg-simple would omit
+ # "com.sun.xml.bind.v2.schemagen.MarshallingAbstractTest"
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -type f \
+ -name "*Test.java" \
+ ! -name "XmlSchemaGeneratorTest.java" \
+ )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jaxb-runtime/metadata.xml b/dev-java/jaxb-runtime/metadata.xml
index 75321cfb5598..dbb1a70c5a43 100644
--- a/dev-java/jaxb-runtime/metadata.xml
+++ b/dev-java/jaxb-runtime/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">eclipse-ee4j/jaxb-ri</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/jaxb-stax-ex/Manifest b/dev-java/jaxb-stax-ex/Manifest
index 403024b4deb8..fda5f4a3d30e 100644
--- a/dev-java/jaxb-stax-ex/Manifest
+++ b/dev-java/jaxb-stax-ex/Manifest
@@ -1 +1,2 @@
+DIST jaxb-stax-ex-1.8.3.tar.gz 28164 BLAKE2B 992597cf7556221449755f8d20b7695c277e6e28289cc4a60203d9ad5c9b549559ee98092cc03a11220221843eb02e7969ae307fb85924718aecc5a8c4dc9184 SHA512 c7a360c44a0546a2d8b5dac652886d439530049286791e61a4296575dde6b91f2d11e2b2b6d85b72494f8976d1ff15858f1032c880f2e61d24afca24e7f01cd5
DIST jaxb-stax-ex-2.1.0.tar.gz 28683 BLAKE2B 774f7420f996eb52abc9db56753f0fc492164ed12f4ddffacad8f801ac759666e6dcae85cf24ce1231df4d49d5b5084278d2cac0c5c129302ec973c215408782 SHA512 f81dcb4870800c4799e716254b84e57a15ef36a9e6a8502da7ee2711aad67765595674fccc1c4d9d4e8865c642dfadd694f8849d4e98c4e9f2368cb940deb38d
diff --git a/dev-java/jaxb-stax-ex/jaxb-stax-ex-1.8.3.ebuild b/dev-java/jaxb-stax-ex/jaxb-stax-ex-1.8.3.ebuild
new file mode 100644
index 000000000000..670310633c8a
--- /dev/null
+++ b/dev-java/jaxb-stax-ex/jaxb-stax-ex-1.8.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.jvnet.staxex:stax-ex:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Extensions to JSR-173 StAX API"
+HOMEPAGE="https://projects.eclipse.org/projects/ee4j/stax-ex"
+SRC_URI="https://github.com/eclipse-ee4j/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="EPL-1.0"
+SLOT="1"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ dev-java/jakarta-activation-api:1
+ dev-java/jaxb-api:2
+ >=virtual/jdk-11:*
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {CONTRIBUTING,NOTICE,README}.md )
+
+JAVA_CLASSPATH_EXTRA="jakarta-activation-api-1,jaxb-api-2"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/jaxb-stax-ex/metadata.xml b/dev-java/jaxb-stax-ex/metadata.xml
index 75321cfb5598..e2010ec6e14e 100644
--- a/dev-java/jaxb-stax-ex/metadata.xml
+++ b/dev-java/jaxb-stax-ex/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">eclipse-ee4j/jaxb-stax-ex</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/jaxen/Manifest b/dev-java/jaxen/Manifest
index b85b4cd1177a..3b203f52423c 100644
--- a/dev-java/jaxen/Manifest
+++ b/dev-java/jaxen/Manifest
@@ -1 +1 @@
-DIST jaxen-1.2.0.tar.gz 282829 BLAKE2B 4d89d4fd3dfd8c4113fe7ecc05597ea9dd743d9c871f320936809016ae8cb3a3d4fb3f935de19463e6c99db1b67eff3545e909b707e81f4c0f114ec0f0e7bb97 SHA512 cecfc62eab1cf6586b28594855bd983679a932dbdc6cbdd07d85a9a9458e78b2e784dfd6287e6e87e4f4443239eefbeac59a7316dae53b818379daaccae56b53
+DIST jaxen-2.0.0.tar.gz 348084 BLAKE2B 0dd90e040c865e0c2588f93ead9aadd64d49a8559a7c48255bdf89cca88967a60c8c0817ee4b234352fc0c8c3607e00e08c21df4580be7a889ca748073184f54 SHA512 897d8ee72b2ee3743118e363f66e1ccf5195863e4395dbdffa33b0bd7339663d85946f5e6eb37891e2ebb1572cab610a98a3690bdcc3993a2d2be4ae7920f174
diff --git a/dev-java/jaxen/jaxen-1.2.0-r1.ebuild b/dev-java/jaxen/jaxen-1.2.0-r1.ebuild
deleted file mode 100644
index 263da0bf4a88..000000000000
--- a/dev-java/jaxen/jaxen-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2021 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/jaxen-xpath/jaxen/archive/refs/tags/v1.2.0.tar.gz --slot 1.2 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jaxen-1.2.0.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="jaxen:jaxen:1.2.0"
-JAVA_TESTING_FRAMEWORKS="junit"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Jaxen is a universal XPath engine for Java"
-HOMEPAGE="http://www.cafeconleche.org/jaxen/"
-SRC_URI="https://github.com/${PN}-xpath/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="1.2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-IUSE="dom4j jdom xom"
-
-# It seems that most tests depend on dom4j, jdom and xom which all depend back on jaxen
-REQUIRED_USE="test? ( dom4j jdom xom )"
-
-# Compile dependencies
-# POM: pom.xml
-# xerces:xercesImpl:2.6.2 -> >=dev-java/xerces-2.12.0:2
-# xml-apis:xml-apis:1.3.02 -> >=dev-java/xml-commons-external-1.4.01:1.4
-# POM: pom.xml
-# test? junit:junit:3.8.2 -> >=dev-java/junit-3.8.2:0
-
-CDEPEND="
- dom4j? ( dev-java/dom4j:1 )
- jdom? ( dev-java/jdom:0 )
- xom? ( dev-java/xom:0 )
-"
-
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*
-"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${P}"
-
-DOCS=( "${S}"/{LICENSE.txt,README.md} )
-
-JAVA_SRC_DIR="src/java/main"
-
-JAVA_TEST_SRC_DIR="src/java/test"
-JAVA_TEST_GENTOO_CLASSPATH="junit"
-
-src_prepare() {
- default
-
- if use dom4j; then
- JAVA_GENTOO_CLASSPATH+=" dom4j-1"
- else
- rm -rv "${JAVA_SRC_DIR}"/org/jaxen/dom4j || die
- fi
-
- if use jdom; then
- JAVA_GENTOO_CLASSPATH+=" jdom"
- else
- rm -rv "${JAVA_SRC_DIR}"/org/jaxen/jdom || die
- fi
-
- if use xom; then
- JAVA_GENTOO_CLASSPATH+=" xom"
- else
- rm -rv "${JAVA_SRC_DIR}"/org/jaxen/xom || die
- fi
-}
-
-src_install() {
- default
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jaxen/jaxen-2.0.0.ebuild b/dev-java/jaxen/jaxen-2.0.0.ebuild
new file mode 100644
index 000000000000..87e5391e9b4a
--- /dev/null
+++ b/dev-java/jaxen/jaxen-2.0.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="jaxen:jaxen:2.0.0"
+JAVA_TESTING_FRAMEWORKS="junit"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jaxen is a universal XPath engine for Java"
+HOMEPAGE="http://www.cafeconleche.org/jaxen/"
+SRC_URI="https://github.com/${PN}-xpath/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD-2"
+SLOT="1.2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+IUSE="dom4j jdom xom"
+
+# It seems that most tests depend on dom4j, jdom and xom which all depend back on jaxen
+REQUIRED_USE="test? ( dom4j jdom xom )"
+
+CDEPEND="
+ dom4j? ( dev-java/dom4j:1 )
+ jdom? ( dev-java/jdom:0 )
+ xom? ( dev-java/xom:0 )
+"
+
+DEPEND="
+ ${CDEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CDEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.jaxen"
+JAVA_SRC_DIR="core/src/java/main"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit"
+JAVA_TEST_SRC_DIR="core/src/java/test"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ if use dom4j; then
+ JAVA_GENTOO_CLASSPATH+=" dom4j-1"
+ else
+ rm -rv "${JAVA_SRC_DIR}"/org/jaxen/dom4j || die
+ fi
+
+ if use jdom; then
+ JAVA_GENTOO_CLASSPATH+=" jdom"
+ else
+ rm -rv "${JAVA_SRC_DIR}"/org/jaxen/jdom || die
+ fi
+
+ if use xom; then
+ JAVA_GENTOO_CLASSPATH+=" xom"
+ else
+ rm -rv "${JAVA_SRC_DIR}"/org/jaxen/xom || die
+ fi
+}
diff --git a/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild b/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild
new file mode 100644
index 000000000000..f1dac5a6fa62
--- /dev/null
+++ b/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="jakarta.ws.rs:jakarta.ws.rs-api:2.1.6"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta RESTful Web Services API"
+HOMEPAGE="https://github.com/jakartaee/rest"
+SRC_URI="https://github.com/jakartaee/rest/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/rest-${PV}/${PN}"
+
+LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ >=virtual/jdk-11:*
+ dev-java/jakarta-activation-api:1
+ dev-java/jaxb-api:2
+ test? (
+ dev-java/jaxb-runtime:2
+ dev-java/mockito:4
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
+
+JAVA_CLASSPATH_EXTRA="jakarta-activation-api-1,jaxb-api-2"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="jaxb-runtime-2,junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ # The default test selection of java-pkg-simple would omit
+ # "javax.ws.rs.core.AbstractMultivaluedMapTest"
+ pushd src/test/java > /dev/null || die
+ local JAVA_TEST_RUN_ONLY=$(find * -type f -name "*Test.java" )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd > /dev/null || die
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jaxrs-api/jaxrs-api-2.1.6.ebuild b/dev-java/jaxrs-api/jaxrs-api-2.1.6.ebuild
deleted file mode 100644
index ae4b11e3e35c..000000000000
--- a/dev-java/jaxrs-api/jaxrs-api-2.1.6.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom jaxrs-api/pom.xml --download-uri https://github.com/jakartaee/rest/archive/2.1.6.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jaxrs-api-2.1.6.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="jakarta.ws.rs:jakarta.ws.rs-api:2.1.6"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Jakarta RESTful Web Services API"
-HOMEPAGE="https://github.com/jakartaee/rest"
-SRC_URI="https://github.com/jakartaee/rest/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
-
-# Compile dependencies
-# POM: ${PN}/pom.xml
-# jakarta.activation:jakarta.activation-api:1.2.1 -> >=dev-java/jakarta-activation-api-1.2.2:1
-# jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 -> >=dev-java/jaxb-api-2.3.3:2
-# POM: ${PN}/pom.xml
-# test? junit:junit:4.11 -> >=dev-java/junit-4.13.2:4
-# test? org.glassfish.jaxb:jaxb-runtime:2.3.2 -> !!!groupId-not-found!!!
-# test? org.mockito:mockito-core:2.22.0 -> >=dev-java/mockito-4.4.0:4
-
-DEPEND="
- >=virtual/jdk-11:*
- dev-java/jakarta-activation-api:1
- dev-java/jaxb-api:2
- test? (
- dev-java/jaxb-runtime:4
- dev-java/mockito:4
- )
-"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-DOCS=( ../{CONTRIBUTING,NOTICE,README}.md )
-
-S="${WORKDIR}/rest-${PV}/${PN}"
-
-JAVA_CLASSPATH_EXTRA="jakarta-activation-api-1,jaxb-api-2"
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="jaxb-runtime-4,junit-4,mockito-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-# "mvn test" -> Tests run: 34, Failures: 0, Errors: 0, Skipped: 3
-# 1) testSerializationOfJaxbLink(javax.ws.rs.core.JaxbLinkTest)
-# javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
-JAVA_TEST_EXCLUDES=(
- javax.ws.rs.core.JaxbLinkTest
-)
diff --git a/dev-java/jaxrs-api/metadata.xml b/dev-java/jaxrs-api/metadata.xml
index 75321cfb5598..45d0d6dea3c6 100644
--- a/dev-java/jaxrs-api/metadata.xml
+++ b/dev-java/jaxrs-api/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">jakartaee/rest</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/jaxws-api/jaxws-api-2.3.3.ebuild b/dev-java/jaxws-api/jaxws-api-2.3.3.ebuild
index eb2fe70a8d8f..f9b7430e6ad9 100644
--- a/dev-java/jaxws-api/jaxws-api-2.3.3.ebuild
+++ b/dev-java/jaxws-api/jaxws-api-2.3.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/eclipse-ee4j/jax-ws-api/archive/${PV}.tar.gz -> ${P}
LICENSE="BSD" # "BSD-3 Clause"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
RDEPEND=">=virtual/jre-1.8:*"
DEPEND="
diff --git a/dev-java/jbcrypt/Manifest b/dev-java/jbcrypt/Manifest
new file mode 100644
index 000000000000..8fe034eb868c
--- /dev/null
+++ b/dev-java/jbcrypt/Manifest
@@ -0,0 +1 @@
+DIST jBCrypt-0.4.tar.gz 15167 BLAKE2B 3b8acfb297bc5d412b3d8947a4c2868824d2bed7f7defef147cd1c6040d2ca0e6b97bcd05f1e4b3caf600ddf13cc27b962f30beb15d89e3981116b538609131c SHA512 2cc56a8c7642d9bc97f14b7b285011e0435290f4cadcef4df4e17566ac6801a406589ac6c84c0d0bf9a6e8e0b2835141c7bc9fea6bc36eb5f167682a658f4d64
diff --git a/dev-java/jbcrypt/jbcrypt-0.4.ebuild b/dev-java/jbcrypt/jbcrypt-0.4.ebuild
new file mode 100644
index 000000000000..67f22649a8e5
--- /dev/null
+++ b/dev-java/jbcrypt/jbcrypt-0.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.mindrot:jbcrypt:0.4"
+JAVA_TESTING_FRAMEWORKS="junit"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java implementation of OpenBSD's Blowfish password hashing code"
+HOMEPAGE="https://www.mindrot.org/projects/jBCrypt"
+SRC_URI="https://www.mindrot.org/files/jBCrypt/jBCrypt-${PV}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/jBCrypt-${PV}"
+
+JAVA_SRC_DIR="src"
+JAVA_TEST_SRC_DIR="test"
+JAVA_TEST_GENTOO_CLASSPATH="junit"
diff --git a/dev-java/jbcrypt/metadata.xml b/dev-java/jbcrypt/metadata.xml
new file mode 100644
index 000000000000..2578eaba4e38
--- /dev/null
+++ b/dev-java/jbcrypt/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-java/jbitcollider-core/metadata.xml b/dev-java/jbitcollider-core/metadata.xml
index bd8b865e60d2..0d561256c340 100644
--- a/dev-java/jbitcollider-core/metadata.xml
+++ b/dev-java/jbitcollider-core/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>tommy@gentoo.org</email>
- <name>Thomas Sachau (Tommy[D])</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">bitcollider</remote-id>
</upstream>
diff --git a/dev-java/jboss-jms-api/metadata.xml b/dev-java/jboss-jms-api/metadata.xml
index 75321cfb5598..754269297a20 100644
--- a/dev-java/jboss-jms-api/metadata.xml
+++ b/dev-java/jboss-jms-api/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">jboss/jboss-jms-api_spec</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/jboss-modules/Manifest b/dev-java/jboss-modules/Manifest
deleted file mode 100644
index 0401c017eb3b..000000000000
--- a/dev-java/jboss-modules/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jboss-modules-1.3.3.tar.gz 189906 BLAKE2B f291391a9292731ab9fa00d9ce94817138ea502dbeac282cac0bbb08e070ef64f72dbd5e1cec570afa6452245197fda004173d04b838d806b40a2f808e539321 SHA512 d8e19c59105358070cc7e48a0be29ee68751155d5ac88723dbf32659e73ab4bd9afddf119fec66af8c9420a7e406e77f2eb4a164fbd9c1867b91414de71ddbb7
diff --git a/dev-java/jboss-modules/jboss-modules-1.3.3-r1.ebuild b/dev-java/jboss-modules/jboss-modules-1.3.3-r1.ebuild
deleted file mode 100644
index 177c33e4ec83..000000000000
--- a/dev-java/jboss-modules/jboss-modules-1.3.3-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="source" # doc (needs APIviz)
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="JBoss modular classloading system"
-HOMEPAGE="https://www.jboss.org/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.Final.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND=">=virtual/jre-1.8"
-DEPEND="virtual/jdk:1.8"
-
-S="${WORKDIR}/${P}.Final/"
-
-JAVA_SRC_DIR="src/main/java"
-
-src_prepare() {
- default
- rm pom.xml || die
- mkdir -p target/classes || die
- cp -vr "${S}"/src/main/resources/* target/classes/ || die
-}
diff --git a/dev-java/jboss-modules/metadata.xml b/dev-java/jboss-modules/metadata.xml
deleted file mode 100644
index a643500f1f93..000000000000
--- a/dev-java/jboss-modules/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="github">jboss-modules/jboss-modules</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/jcifs/jcifs-1.3.19-r1.ebuild b/dev-java/jcifs/jcifs-1.3.19-r1.ebuild
deleted file mode 100644
index 2ccf1a0705d6..000000000000
--- a/dev-java/jcifs/jcifs-1.3.19-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc examples source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Library that implements the CIFS/SMB networking protocol in Java"
-SRC_URI="https://jcifs.samba.org/src/${P}.tgz"
-HOMEPAGE="https://jcifs.samba.org/"
-
-LICENSE="LGPL-2.1"
-SLOT="1.1"
-
-KEYWORDS="amd64 ppc64 x86"
-
-CDEPEND="java-virtuals/servlet-api:3.0"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-JAVA_GENTOO_CLASSPATH="servlet-api-3.0"
-
-JAVA_SRC_DIR="src"
-
-DOCS=( README.txt )
-
-S="${WORKDIR}/${P/-/_}"
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_install() {
- java-pkg-simple_src_install
- use examples && java-pkg_doexamples examples
- einstalldocs
-}
diff --git a/dev-java/jcifs/jcifs-1.3.19-r2.ebuild b/dev-java/jcifs/jcifs-1.3.19-r2.ebuild
new file mode 100644
index 000000000000..1ae94af596dc
--- /dev/null
+++ b/dev-java/jcifs/jcifs-1.3.19-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc examples source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Library that implements the CIFS/SMB networking protocol in Java"
+SRC_URI="https://jcifs.samba.org/src/${P}.tgz"
+HOMEPAGE="https://jcifs.samba.org/"
+S="${WORKDIR}/${P/-/_}"
+
+LICENSE="LGPL-2.1"
+SLOT="1.1"
+
+KEYWORDS="amd64 ppc64 x86"
+
+CP_DEPEND="dev-java/jakarta-servlet-api:4"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean
+ mkdir -p res || die
+ cd src || die
+ find . -type f -name '*.css' -o -name '*.map' \
+ | xargs cp --parents -v -t ../res || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ use examples && java-pkg_doexamples examples
+}
diff --git a/dev-java/jcip-annotations/Manifest b/dev-java/jcip-annotations/Manifest
deleted file mode 100644
index 9b0df40a2b8a..000000000000
--- a/dev-java/jcip-annotations/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jcip-annotations-1.0-1.tar.gz 7524 BLAKE2B cd31ecf1fe1ef4d78a9624cd92b9837acaccc35b1edfe5fbfac517d94edada03b5f7ac065ba21b26b43e6a8a6aef70434f3dfb7a76bb866ef4e3e25467ff1c01 SHA512 22eb285a445b25a718846dad45581dbe7a324a2d670bd05f4b2aa5e850ae34af6bcedbf143e17a7cd6cf7e510e0dd447992ba1d5316432e8a8db5584a1e1973e
diff --git a/dev-java/jcip-annotations/jcip-annotations-1.0.1-r1.ebuild b/dev-java/jcip-annotations/jcip-annotations-1.0.1-r1.ebuild
deleted file mode 100644
index 5ee98d998748..000000000000
--- a/dev-java/jcip-annotations/jcip-annotations-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="com.github.stephenc.jcip:jcip-annotations:1.0-1"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_P="${PN}-$(ver_rs 2 -)"
-
-DESCRIPTION="Clean room implementation of the JCIP Annotations"
-HOMEPAGE="https://github.com/stephenc/jcip-annotations"
-SRC_URI="https://github.com/stephenc/${PN}/archive/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND=">=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${PN}-${MY_P}/src"
-JAVA_SRC_DIR="main/java"
-
-src_install() {
- java-pkg-simple_src_install
- dodoc ../README.md
-}
diff --git a/dev-java/jcip-annotations/metadata.xml b/dev-java/jcip-annotations/metadata.xml
deleted file mode 100644
index d46506f39bf9..000000000000
--- a/dev-java/jcip-annotations/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <longdescription>The JCIP Annotations are really useful, however they are released under the Creative Commons Attribution License, which is not recommended for licensing software and may therefore cause issues for some people.</longdescription>
- <upstream>
- <remote-id type="github">stephenc/jcip-annotations</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/jcommander/Manifest b/dev-java/jcommander/Manifest
index dea22c35f059..72fb13e70a45 100644
--- a/dev-java/jcommander/Manifest
+++ b/dev-java/jcommander/Manifest
@@ -1 +1,2 @@
+DIST jcommander-1.64.tar.gz 4404316 BLAKE2B 17ade214604de2ed8e85fd8b8043483f5b3c6d26b7a59afe2cc83dfa804fa298a2a1a4251ac65f66ad3a89002f532c29ee031b0a26293cbbd4f3df72e9a3a6ac SHA512 aaf7c323d9a829635847774b927d63cc35fbe479271029b8f3fdb94c6839dc26ac55f5c28fefbee6a0219e11c73f2c487c3660bf2f3a7f4033c0e2092d6f2fa4
DIST jcommander-1.82.tar.gz 4433079 BLAKE2B 08111ae7a85202dc3a082db58f42ef5183b05cae827bc304ba426a3d02bf7a4123f84500e6ec5694578a7aa29c631cca692fe71d67e12a1107c57e1858be4dcf SHA512 1abcb54cec21e95a3e5fc952320a7fca1d480f9900992e686f66df49749b6eee79e18dc670f10cc05b0d2a4f0a72fae302568a51ff193788897878aefc3ff67b
diff --git a/dev-java/jcommander/files/jcommander-1.64-DynamicParameterTest.patch b/dev-java/jcommander/files/jcommander-1.64-DynamicParameterTest.patch
new file mode 100644
index 000000000000..9867533bcf25
--- /dev/null
+++ b/dev-java/jcommander/files/jcommander-1.64-DynamicParameterTest.patch
@@ -0,0 +1,57 @@
+FAILED: usage
+java.lang.NullPointerException: Cannot invoke "com.beust.jcommander.Parameter.order()" because "<local3>" is null
+ at com.beust.jcommander.JCommander$Options$1.compare(JCommander.java:144)
+ at com.beust.jcommander.JCommander$Options$1.compare(JCommander.java:139)
+ at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
+ at java.base/java.util.TimSort.sort(TimSort.java:220)
+ at java.base/java.util.Arrays.sort(Arrays.java:1307)
+ at java.base/java.util.ArrayList.sort(ArrayList.java:1721)
+ at java.base/java.util.Collections.sort(Collections.java:179)
+ at com.beust.jcommander.JCommander.usage(JCommander.java:1158)
+ at com.beust.jcommander.JCommander.usage(JCommander.java:1113)
+ at com.beust.jcommander.dynamic.DynamicParameterTest.usage(DynamicParameterTest.java:40)
+ at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+ at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
+ at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:568)
+ at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)
+ at org.testng.internal.Invoker.invokeMethod(Invoker.java:661)
+ at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869)
+ at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)
+ at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
+ at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
+ at org.testng.TestRunner.privateRun(TestRunner.java:756)
+ at org.testng.TestRunner.run(TestRunner.java:610)
+ at org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
+ at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
+ at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
+ at org.testng.SuiteRunner.run(SuiteRunner.java:289)
+ at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
+ at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
+ at org.testng.TestNG.runSuitesSequentially(TestNG.java:1306)
+ at org.testng.TestNG.runSuitesLocally(TestNG.java:1231)
+ at org.testng.TestNG.runSuites(TestNG.java:1146)
+ at org.testng.TestNG.run(TestNG.java:1117)
+ at org.testng.TestNG.privateMain(TestNG.java:1447)
+ at org.testng.TestNG.main(TestNG.java:1416)
+
+
+===============================================
+ JCommander tests
+ Tests run: 189, Failures: 1, Skips: 0
+===============================================
+--- a/src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java
++++ b/src/test/java/com/beust/jcommander/dynamic/DynamicParameterTest.java
+@@ -35,10 +35,12 @@ public class DynamicParameterTest {
+ simple("-Da=b", "-Dc=d");
+ }
+
++ /*
+ public void usage() {
+ DSimple ds = new DSimple();
+ new JCommander(ds).usage(new StringBuilder());
+ }
++ */
+
+ public void differentAssignment() {
+ DSimple ds = new DSimple();
diff --git a/dev-java/jcommander/jcommander-1.64-r1.ebuild b/dev-java/jcommander/jcommander-1.64-r1.ebuild
new file mode 100644
index 000000000000..3fc26c3aa562
--- /dev/null
+++ b/dev-java/jcommander/jcommander-1.64-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.beust:jcommander:${PV}"
+JAVA_TESTING_FRAMEWORKS="testng"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Command line parsing framework for Java"
+HOMEPAGE="https://jcommander.org/"
+SRC_URI="https://github.com/cbeust/jcommander/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="1.64"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=( "${FILESDIR}/jcommander-1.64-DynamicParameterTest.patch" )
+
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="testng"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_RUN_ONLY="src/test/resources/testng.xml"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
diff --git a/dev-java/jctools-core/Manifest b/dev-java/jctools-core/Manifest
index 1d6df5e96a0b..dc7d15805cb7 100644
--- a/dev-java/jctools-core/Manifest
+++ b/dev-java/jctools-core/Manifest
@@ -1 +1 @@
-DIST jctools-3.3.0.tar.gz 4214717 BLAKE2B c9c5f5897ebf8bb7ac439b969f372c45b7652517cbc5369c07fe80d11f779eebe7fe5ffb5d93a18fe3df5d9ca9adf3cee7268c8c6ed962fccb4d84f5b0451c4b SHA512 ce212abacca6137a133f7a4e94370442d00bf73794fa7b9ce440631701a9a2fca31c4dda05e2a768fcf28f75e84f2a7f318a936e429c7f4ed20daa7b79d11a4a
+DIST jctools-4.0.3.tar.gz 4237279 BLAKE2B be74c2b0997ec68b90249c8d2b841737fffa4e09724a25b5f5e15b8c4bbf811215023358bc674ed20f81d06a10db3ac2428b29d159ac99ef6dff7e6c36bf7fe2 SHA512 3d7cede6beba54871365cc2f49dc30f014a6f36a5e1f66e9cebd523d202806d49f24c23dbfd6bef0c25cbea0ca230b5d1afefd2b83b0150d335e8e99b6cec90f
diff --git a/dev-java/jctools-core/files/jctools-core-4.0.3-increase-TEST_TIMEOUT.patch b/dev-java/jctools-core/files/jctools-core-4.0.3-increase-TEST_TIMEOUT.patch
new file mode 100644
index 000000000000..6eccce942b62
--- /dev/null
+++ b/dev-java/jctools-core/files/jctools-core-4.0.3-increase-TEST_TIMEOUT.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/863977
+https://bugs.gentoo.org/924135
+--- a/src/test/java/org/jctools/util/TestUtil.java
++++ b/src/test/java/org/jctools/util/TestUtil.java
+@@ -19,7 +19,7 @@ import static org.jctools.util.UnpaddedQueueFactory.newUnpaddedQueue;
+ public class TestUtil {
+ public static final int CONCURRENT_TEST_DURATION = Integer.getInteger("org.jctools.concTestDurationMs", 500);
+ public static final int CONCURRENT_TEST_THREADS = Integer.getInteger("org.jctools.concTestThreads", Math.min(4, Runtime.getRuntime().availableProcessors()));
+- public static final int TEST_TIMEOUT = 30000;
++ public static final int TEST_TIMEOUT = 60000;
+ private static final AtomicInteger threadIndex = new AtomicInteger();
+ public static void sleepQuietly(long timeMs) {
+ LockSupport.parkNanos(TimeUnit.MILLISECONDS.toNanos(timeMs));
diff --git a/dev-java/jctools-core/jctools-core-3.3.0.ebuild b/dev-java/jctools-core/jctools-core-3.3.0.ebuild
deleted file mode 100644
index a58d2f320e2d..000000000000
--- a/dev-java/jctools-core/jctools-core-3.3.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# 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"
- # Test timeout on arm64, https://bugs.gentoo.org/863977
- # "org.jctools.queues.atomic.AtomicMpqSanityTestMpscLinked"
- # "org.jctools.queues.MpqSanityTestMpscLinked"
- 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" \
- ! -name "AtomicMpqSanityTestMpscLinked.java" \
- ! -name "MpqSanityTestMpscLinked.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/jctools-core/jctools-core-4.0.3.ebuild b/dev-java/jctools-core/jctools-core-4.0.3.ebuild
new file mode 100644
index 000000000000..5b54f3488a28
--- /dev/null
+++ b/dev-java/jctools-core/jctools-core-4.0.3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.jctools:jctools-core:${PV}"
+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"
+S="${WORKDIR}/JCTools-${PV}/jctools-core"
+
+LICENSE="Apache-2.0"
+SLOT="3"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ dev-java/osgi-annotation:0
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava-testlib:0
+ dev-java/hamcrest:0
+ )"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../{README,RELEASE-NOTES}.md )
+PATCHES=( "${FILESDIR}/jctools-core-4.0.3-increase-TEST_TIMEOUT.patch" )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.jctools.core"
+JAVA_CLASSPATH_EXTRA="osgi-annotation"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava-testlib,hamcrest,junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+# 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 (8746 tests)
+}
diff --git a/dev-java/jctools-core/metadata.xml b/dev-java/jctools-core/metadata.xml
index a9affe0868c9..fad141505070 100644
--- a/dev-java/jctools-core/metadata.xml
+++ b/dev-java/jctools-core/metadata.xml
@@ -6,5 +6,6 @@
</maintainer>
<upstream>
<bugs-to>https://github.com/JCTools/JCTools/issues</bugs-to>
+ <remote-id type="github">JCTools/JCTools</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jdbc-mysql/Manifest b/dev-java/jdbc-mysql/Manifest
index ede4f5446708..27c5a47904df 100644
--- a/dev-java/jdbc-mysql/Manifest
+++ b/dev-java/jdbc-mysql/Manifest
@@ -1 +1,4 @@
-DIST jdbc-mysql-8.0.26-sources.jar 1578978 BLAKE2B c42e22ea50b6c3890aaf51ec8bfe53918c680ea54b314cee80ecdd2be122f031000fdb70b895807a0d22e5841df6fe5a76ec49b2e3097749fb8eabff4afca68a SHA512 8bf73a2cd0b5348d79e81da9c96da625258066b0b40d05d085b3978538dad75f4540a2b8414f005d90b8b87303c357e762bbf81dd2d8e68ff51c18a92124b7ae
+DIST mysql-connector-j-8.1.0.tar.gz 4241696 BLAKE2B 930257a876b1b512b598ebf8397125145bb9d1a438fe33bb55ca208dddfdd29bd436a365cc35b9128cdee6eee436da688dd53cc3ed6cd04efb22d1f5af731863 SHA512 f8a7c621397f49981dd7d19e880d92ee051015ad011c027380ac85760dc22ce2f4117fd27b8d72325c5e2bc40a1a9c22e9534f7200208916ee62bbf1e5ad0c75
+DIST mysql-connector-j-8.3.0.tar.gz 4255433 BLAKE2B b5cd437e4ab87052c0fd8e4da6a2612d4c068193a4fe2d207505b2f42d664a414c8a0f3131f34b471a30bfa6b6bb9e76ad0dd4779abbecb46ea014ab5d06e36d SHA512 0849ff13f4adc4ae2d2b9f64ff192435dd9560763a50c7df117a171ae1d90fc97bc36dc89097472d0a2c182492a45ca14ffcf577a9c54267be79e5b3f147dc41
+DIST oci-java-sdk-common-2.47.0.jar 439209 BLAKE2B b3b28bb0cf4b8dbca37bb34df7bb48029901be5d9f7754a2ccce888a9af4a06b3348cd545d480127f942687b9b0d63336c37b5f95ecb9f96111c9388a4bc6053 SHA512 73e7376c92d47d81e0630e2ad2d510a483068664874ae31622629dad6dc016d746499c2d29682563e5cdee35ddb6e9e59a2e7557d32e1eeec5fb12206f9d1d6e
+DIST oci-java-sdk-common-3.29.0.jar 453619 BLAKE2B 41a68344a9cf4733c642e3a6e4254f3991f19c13edf57b3c61352b1e6ffdfabfe29cd8dccaa9b128fae618a492fb342007d14ad65b06cd614da572c787cf35ab SHA512 b6def960e114b69d3f34706d5e293f0a05b30c31a1443a92e454631712bb633eaea3795beeeabe4eb1303b8ad42ef2b73d69880b73d360e193f8f1b532bc3430
diff --git a/dev-java/jdbc-mysql/jdbc-mysql-8.0.26.ebuild b/dev-java/jdbc-mysql/jdbc-mysql-8.0.26.ebuild
deleted file mode 100644
index 85090fea59f7..000000000000
--- a/dev-java/jdbc-mysql/jdbc-mysql-8.0.26.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom mysql-connector-java-8.0.25.pom.xml --download-uri https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.25/mysql-connector-java-8.0.25-sources.jar --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild jdbc-mysql-8.0.25.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="mysql:mysql-connector-java:8.0.26"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="JDBC Type 4 driver for MySQL"
-HOMEPAGE="https://dev.mysql.com/doc/connector-j/en/"
-SRC_URI="https://repo1.maven.org/maven2/mysql/mysql-connector-java/${PV}/mysql-connector-java-${PV}-sources.jar -> ${P}-sources.jar"
-
-LICENSE="GPL-2-with-MySQL-FLOSS-exception"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-
-# Common dependencies
-# POM: mysql-connector-java-${PV}.pom.xml
-# com.google.protobuf:protobuf-java:3.11.4 -> !!!groupId-not-found!!!
-
-CDEPEND="dev-java/c3p0:0
- dev-java/protobuf-java:0
- dev-java/slf4j-api:0"
-DEPEND=" ${CDEPEND}
- >=virtual/jdk-1.8:*"
-RDEPEND=" ${CDEPEND}
- >=virtual/jre-1.8:*"
-BDEPEND="app-arch/unzip"
-
-DOCS=( META-INF/README )
-
-S="${WORKDIR}"
-
-JAVA_GENTOO_CLASSPATH="c3p0,protobuf-java,slf4j-api"
-
-JAVA_SRC_DIR="com"
-JAVA_RESOURCE_DIRS="res"
-
-src_prepare() {
- default
- mkdir --parents "${JAVA_RESOURCE_DIRS}" || die
- cp -r "${JAVA_SRC_DIR}" "META-INF" "${JAVA_RESOURCE_DIRS}"
- find "${JAVA_RESOURCE_DIRS}" -type f -name '*.java' -exec rm -rf {} + || die
-}
-
-src_install() {
- default
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jdbc-mysql/jdbc-mysql-8.1.0-r1.ebuild b/dev-java/jdbc-mysql/jdbc-mysql-8.1.0-r1.ebuild
new file mode 100644
index 000000000000..649d226c823b
--- /dev/null
+++ b/dev-java/jdbc-mysql/jdbc-mysql-8.1.0-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Tests disabled, see bug #902723
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.mysql:mysql-connector-j:8.1.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+# Bundling a binary version of oci-java-sdk-common
+# https://github.com/oracle/oci-java-sdk/blob/v2.47.0/bmc-common/pom.xml
+OSC="2.47.0"
+
+DESCRIPTION="JDBC Type 4 driver for MySQL"
+HOMEPAGE="https://dev.mysql.com/doc/connector-j/en/"
+SRC_URI="https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-${PV}.tar.gz
+ https://repo1.maven.org/maven2/com/oracle/oci/sdk/oci-java-sdk-common/${OSC}/oci-java-sdk-common-${OSC}.jar"
+
+S="${WORKDIR}/mysql-connector-j-${PV}"
+
+LICENSE="GPL-2-with-MySQL-FLOSS-exception"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/c3p0:0
+ <dev-java/protobuf-java-3.26.0:0
+ dev-java/slf4j-api:0
+"
+DEPEND=" ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+RDEPEND=" ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( CHANGES README )
+
+JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/oci-java-sdk-common-${OSC}.jar"
+JAVA_JAR_FILENAME="mysql-connector-j.jar"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=(
+ "src/generated"
+ "src/legacy/java"
+ "src/main/core-api/java"
+ "src/main/core-impl/java"
+ "src/main/protocol-impl/java"
+ "src/main/user-api/java"
+ "src/main/user-impl/java"
+)
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/config"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/jdbc-mysql/jdbc-mysql-8.3.0.ebuild b/dev-java/jdbc-mysql/jdbc-mysql-8.3.0.ebuild
new file mode 100644
index 000000000000..b1f06a0b4fbd
--- /dev/null
+++ b/dev-java/jdbc-mysql/jdbc-mysql-8.3.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.mysql:mysql-connector-j:8.3.0"
+# Tests disabled, see bug #902723
+# JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+# Bundling a binary version of oci-java-sdk-common
+# https://github.com/oracle/oci-java-sdk/blob/v2.47.0/bmc-common/pom.xml
+OSC="3.29.0"
+
+DESCRIPTION="JDBC Type 4 driver for MySQL"
+HOMEPAGE="https://dev.mysql.com/doc/connector-j/en/"
+SRC_URI="https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-${PV}.tar.gz
+ https://repo1.maven.org/maven2/com/oracle/oci/sdk/oci-java-sdk-common/${OSC}/oci-java-sdk-common-${OSC}.jar"
+
+S="${WORKDIR}/mysql-connector-j-${PV}"
+
+LICENSE="GPL-2-with-MySQL-FLOSS-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+
+CP_DEPEND="
+ dev-java/c3p0:0
+ >=dev-java/protobuf-java-3.25:0 <dev-java/protobuf-java-3.26:0
+ dev-java/slf4j-api:0
+"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/junit:5 )"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( CHANGES README )
+
+JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/oci-java-sdk-common-${OSC}.jar"
+JAVA_JAR_FILENAME="mysql-connector-j.jar"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=(
+ "src/generated"
+ "src/legacy/java"
+ "src/main/core-api/java"
+ "src/main/core-impl/java"
+ "src/main/protocol-impl/java"
+ "src/main/user-api/java"
+ "src/main/user-impl/java"
+)
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,junit-5"
+JAVA_TEST_RESOURCE_DIRS="src/test/config"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/jdbc-mysql/metadata.xml b/dev-java/jdbc-mysql/metadata.xml
index 4221e170cbc0..5a8beaee4341 100644
--- a/dev-java/jdbc-mysql/metadata.xml
+++ b/dev-java/jdbc-mysql/metadata.xml
@@ -5,4 +5,7 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">mysql/mysql-connector-j</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/jdbc-postgresql/Manifest b/dev-java/jdbc-postgresql/Manifest
index b8b5d45e578b..ac27a538f20a 100644
--- a/dev-java/jdbc-postgresql/Manifest
+++ b/dev-java/jdbc-postgresql/Manifest
@@ -1,2 +1 @@
-DIST postgresql-jdbc-42.4.1.src.tar.gz 969554 BLAKE2B 76035b2362c304d6263b9549b2ecbedc6e1cfedeba9c2c35f07d29dada39e5bce93e939abb8cb2232a428b0341c5cd5e6ae22de6106292c4d28243e3e0e6fc00 SHA512 a49c5b68a26ba6fd1b150c45da2ec58ea4435b7c36b8aa9bf6c3d33b6a265dabe7da51705e9d7234a640c8f6ccb5c3abb639db2d7bc38e6f4e26550b05b4a844
-DIST postgresql-jdbc-42.5.0.src.tar.gz 971368 BLAKE2B 961ba5af17f27792f44b715e8a248950926f1e7a384c3bb7ef4d9f919c84833129d45bcaeaded17d8d8cb3733b3f70cde76c126c501c7c1c1ed8a356c2e2f78d SHA512 432347622d6a1034048cb2dc18e7c5fdb1e843a27db505c8ea0381fee700480682222f4b8a285d8d774a0732398cc6254692c8f130c1814a464966b9dba72f64
+DIST postgresql-jdbc-42.7.1.src.tar.gz 1000212 BLAKE2B 9c09931f15dc0a6dd72fec5148d6eea48226bc2af0de44111c8ea6c3ed798357139aa25c65cc3e6aea33e55201c86864c0e30f5c9b5eadbc980399fbc2f68e36 SHA512 a722415cb29551a59a830c6287873e9ba0cb75e1aa456175b8678caa96be871f42b9294c25a532a67109c7a7e48e3d6d7d5773e99ffb124019b1895430b213ef
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-42.4.1.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-42.4.1.ebuild
deleted file mode 100644
index ef8ca1586488..000000000000
--- a/dev-java/jdbc-postgresql/jdbc-postgresql-42.4.1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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://jdbc.postgresql.org/download/postgresql-jdbc-42.4.1.src.tar.gz --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild jdbc-postgresql-42.4.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.postgresql:postgresql:42.4.1"
-# We don't have junit-vintage and junit-jupiter.
-# JAVA_TESTING_FRAMEWORKS="junit-vintage junit-jupiter junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database"
-HOMEPAGE="https://jdbc.postgresql.org/"
-SRC_URI="https://jdbc.postgresql.org/download/postgresql-jdbc-${PV}.src.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# com.ongres.scram:client:2.1 -> !!!groupId-not-found!!!
-# uk.org.webcompere:system-stubs-jupiter:1.2.0 -> !!!groupId-not-found!!!
-
-CP_DEPEND="dev-java/scram:0"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.13 -> >=dev-java/junit-4.13.2:4
-# test? org.junit.jupiter:junit-jupiter-api:5.6.0 -> !!!groupId-not-found!!!
-# test? org.junit.jupiter:junit-jupiter-engine:5.6.0 -> !!!groupId-not-found!!!
-# test? org.junit.jupiter:junit-jupiter-params:5.6.0 -> !!!groupId-not-found!!!
-# test? org.junit.vintage:junit-vintage-engine:5.6.0 -> !!!groupId-not-found!!!
-# test? se.jiderhamn:classloader-leak-test-framework:1.1.1 -> !!!groupId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}"
-# test? (
-# !!!groupId-not-found!!!
-# )
-# "
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/postgresql-${PV}-jdbc-src"
-
-JAVA_MAIN_CLASS="org.postgresql.util.PGJDBCMain"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-# JAVA_TEST_GENTOO_CLASSPATH="junit-4,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!,!!!groupId-not-found!!!"
-# JAVA_TEST_SRC_DIR="src/test/java"
-# JAVA_TEST_RESOURCE_DIRS="src/test/resources"
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-42.5.0.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-42.5.0.ebuild
deleted file mode 100644
index 52690c919d62..000000000000
--- a/dev-java/jdbc-postgresql/jdbc-postgresql-42.5.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# 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://jdbc.postgresql.org/download/postgresql-jdbc-42.5.0.src.tar.gz --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild jdbc-postgresql-42.5.0.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.postgresql:postgresql:42.5.0"
-# We don't have junit-vintage and junit-jupiter.
-# JAVA_TESTING_FRAMEWORKS="junit-vintage junit-jupiter junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database"
-HOMEPAGE="https://jdbc.postgresql.org/"
-SRC_URI="https://jdbc.postgresql.org/download/postgresql-jdbc-${PV}.src.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-
-# Common dependencies
-# POM: pom.xml
-# com.ongres.scram:client:2.1 -> >=dev-java/scram-2.1:0
-# uk.org.webcompere:system-stubs-jupiter:2.0.1 -> !!!groupId-not-found!!!
-
-CP_DEPEND="dev-java/scram:0"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.13 -> >=dev-java/junit-4.13.2:4
-# test? org.junit.jupiter:junit-jupiter-api:5.8.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.vintage:junit-vintage-engine:5.8.2 -> !!!groupId-not-found!!!
-# test? se.jiderhamn:classloader-leak-test-framework:1.1.1 -> !!!groupId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/postgresql-${PV}-jdbc-src"
-
-JAVA_MAIN_CLASS="org.postgresql.util.PGJDBCMain"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.1.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.1.ebuild
new file mode 100644
index 000000000000..ab85f684bb07
--- /dev/null
+++ b/dev-java/jdbc-postgresql/jdbc-postgresql-42.7.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.postgresql:postgresql:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database"
+HOMEPAGE="https://jdbc.postgresql.org/"
+SRC_URI="https://jdbc.postgresql.org/download/postgresql-jdbc-${PV}.src.tar.gz"
+S="${WORKDIR}/postgresql-${PV}-jdbc-src"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+# package se.jiderhamn.classloader does not exist
+# package se.jiderhamn.classloader.leak does not exist
+# package uk.org.webcompere.systemstubs.environment does not exist
+# package uk.org.webcompere.systemstubs.jupiter does not exist
+# package uk.org.webcompere.systemstubs.properties does not exist
+# package uk.org.webcompere.systemstubs.resource does not exist
+RESTRICT="test" #839681
+
+DEPEND="
+ dev-java/checker-framework-qual:0
+ dev-java/jna:4
+ dev-java/osgi-cmpn:8
+ dev-java/osgi-core:0
+ dev-java/scram:0
+ dev-java/waffle-jna:0
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/junit:5 )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="
+ checker-framework-qual
+ jna-4
+ osgi-cmpn-8
+ osgi-core
+ scram
+ waffle-jna
+"
+JAVA_AUTOMATIC_MODULE_NAME="org.postgresql.jdbc"
+JAVA_MAIN_CLASS="org.postgresql.util.PGJDBCMain"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="
+ junit-4
+ junit-5
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/jdepend/jdepend-2.10-r1.ebuild b/dev-java/jdepend/jdepend-2.10-r1.ebuild
new file mode 100644
index 000000000000..dcf930ec4582
--- /dev/null
+++ b/dev-java/jdepend/jdepend-2.10-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Traverses Java class file directories and generates design quality metrics"
+HOMEPAGE="https://github.com/clarkware/jdepend"
+SRC_URI="https://github.com/clarkware/jdepend/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+RESTRICT="test" #921147
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+JAVA_SRC_DIR="src"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="test"
diff --git a/dev-java/jdepend/jdepend-2.10.ebuild b/dev-java/jdepend/jdepend-2.10.ebuild
deleted file mode 100644
index 1c22b5cab1e6..000000000000
--- a/dev-java/jdepend/jdepend-2.10.ebuild
+++ /dev/null
@@ -1,28 +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"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Traverses Java class file directories and generates design quality metrics"
-HOMEPAGE="https://github.com/clarkware/jdepend"
-SRC_URI="https://github.com/clarkware/jdepend/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-src_install() {
- java-pkg_newjar dist/jdepend-${PV}.jar
- dodoc README.md LICENSE.md ClassFileFormat-Java5.pdf
- docinto html
- dodoc -r docs/*
- use doc && java-pkg_dojavadoc build/docs/api
- use source && java-pkg_dosrc src/*
-}
diff --git a/dev-java/jdepend/metadata.xml b/dev-java/jdepend/metadata.xml
index 6021501589e0..df92bf507738 100644
--- a/dev-java/jdepend/metadata.xml
+++ b/dev-java/jdepend/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">clarkware/jdepend</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/jdisasm/Manifest b/dev-java/jdisasm/Manifest
new file mode 100644
index 000000000000..4d200cc3b0ed
--- /dev/null
+++ b/dev-java/jdisasm/Manifest
@@ -0,0 +1 @@
+DIST jdisasm-1.0.6.tar.gz 60275 BLAKE2B 75231659b51891df37dbc74a150a26ca6ee661f3bc1a5674c99c9ff9b37850f68cba893922e2549fb2b05ec82e479d5b348b6018f2ac6689fd764ebb8d19bbbb SHA512 3c006ae74e7ada7a987a68cbdc0e99694290a3ad984a2d9985a9484c6dea4be08eb48cc66cbeb81b56ff875ad3c2d6ed20a57646d29ab5a6d2d39ae5a939f841
diff --git a/dev-java/jdisasm/jdisasm-1.0.6.ebuild b/dev-java/jdisasm/jdisasm-1.0.6.ebuild
new file mode 100644
index 000000000000..442854e9b8d4
--- /dev/null
+++ b/dev-java/jdisasm/jdisasm-1.0.6.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2023 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/aunkrig/jdisasm/archive/5e354d659e4320d154b3f1fbff24c89c1ba48987.tar.gz --slot 0 --keywords "~amd64" --ebuild jdisasl-1.0.6.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="de.unkrig.jdisasm:jdisasm:1.0.6"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A disassembler for Java .class files"
+HOMEPAGE="https://github.com/aunkrig/jdisasm"
+MY_COMMIT="5e354d659e4320d154b3f1fbff24c89c1ba48987"
+SRC_URI="https://github.com/aunkrig/jdisasm/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# There was 1 failure:
+# 1) testWideLocals(jdisasm.Tests)
+# java.lang.AssertionError: regex [(?m)^ iload_2 \[int l1\]$] not found in [
+# // *** Disassembly of 'target/test-classes/subject/WideLocals.class'.
+#
+# // Class file version = 52.0 (Java 8)
+#
+# package subject;
+#
+# public class WideLocals extends Object {
+#
+# public WideLocals() {
+# // Line 35
+# aload_0 [this]
+# invokespecial Object()
+# return
+# }
+#
+# public int methodWithOnlyAFewLocals(int p0) {
+# // Line 39
+# iconst_2
+# iload_1 [p0]
+# imul
+# istore_2 [v2]
+# // Line 40
+# iload_2 [v2]
+# ireturn
+# }
+#
+# public int methodWithManyLocals(int p0) {
+# // Line 79
+# iconst_3
+# istore [v202]
+# // Line 80
+# iconst_4
+# wide istore [v272]
+# // Line 81
+# iload_1 [p0]
+# ireturn
+# }
+# }
+# ]
+# at org.junit.Assert.fail(Assert.java:89)
+# at de.unkrig.commons.junit4.AssertRegex.assertFind(AssertRegex.java:182)
+# at de.unkrig.commons.junit4.AssertRegex.assertFind(AssertRegex.java:169)
+# at jdisasm.Tests.testWideLocals(Tests.java:44)
+#
+# FAILURES!!!
+# Tests run: 1, Failures: 1
+RESTRICT="test"
+
+# Common dependencies
+# POM: pom.xml
+# de.unkrig.commons:commons-nullanalysis:1.2.13 -> >=dev-java/commons-nullanalysis-1.2.17:0
+
+CP_DEPEND="
+ dev-java/commons-nullanalysis:0
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? de.unkrig.commons:commons-junit4:1.2.13 -> >=dev-java/commons-junit4-1.2.17:0
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ test? (
+ dev-java/commons-junit4:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+S="${WORKDIR}/jdisasm-${MY_COMMIT}/jdisasm"
+
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="commons-junit4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ # but it doesn't help :-(
+ export LANG="C" LC_ALL="C"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jdisasm/metadata.xml b/dev-java/jdisasm/metadata.xml
new file mode 100644
index 000000000000..367d548bde34
--- /dev/null
+++ b/dev-java/jdisasm/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">aunkrig/jdisasm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jdom/files/jdom-2.0.6.1-skip-failing-tests.patch b/dev-java/jdom/files/jdom-2.0.6.1-skip-failing-tests.patch
new file mode 100644
index 000000000000..cb8675153b8a
--- /dev/null
+++ b/dev-java/jdom/files/jdom-2.0.6.1-skip-failing-tests.patch
@@ -0,0 +1,248 @@
+In order to enable tests we skip ( @Ignore ) several of them which
+would otherwise fail, see bug #901743.
+--- a/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java
++++ b/test/src/java/org/jdom2/test/cases/input/TestSAXBuilder.java
+@@ -86,6 +86,7 @@ import java.util.List;
+
+ import org.junit.Ignore;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.xml.sax.Attributes;
+ import org.xml.sax.DTDHandler;
+ import org.xml.sax.EntityResolver;
+@@ -696,6 +697,7 @@ public final class TestSAXBuilder {
+ * are added to the DocType
+ */
+ @Test
++ @Ignore
+ public void test_TCM__void_setExpandEntities_boolean() throws JDOMException, IOException {
+ //test entity exansion on internal entity
+
+--- a/test/src/java/org/jdom2/test/cases/output/AbstractTestOutputter.java
++++ b/test/src/java/org/jdom2/test/cases/output/AbstractTestOutputter.java
+@@ -6,6 +6,7 @@ import java.util.ArrayList;
+ import java.util.List;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+
+ import org.jdom2.Attribute;
+ import org.jdom2.CDATA;
+@@ -483,6 +484,7 @@ public abstract class AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void testDocTypeSimpleISS() {
+ DocType content = new DocType("root");
+ content.setInternalSubset("<!ENTITY name \"value\">");
+@@ -518,6 +520,7 @@ public abstract class AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void testDocTypeSystemIDISS() {
+ DocType content = new DocType("root", "sysid");
+ content.setInternalSubset("internal");
+@@ -553,6 +556,7 @@ public abstract class AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void testDocTypePublicSystemIDISS() {
+ DocType content = new DocType("root", "pubid", "sysid");
+ content.setInternalSubset("internal");
+@@ -768,6 +772,7 @@ public abstract class AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void testOutputElementAttributeNotSpecifiedB() {
+ String txt = "<root atta=\"val\" attb=\"attb\" />";
+ final Element root = new Element("root");
+@@ -1111,6 +1116,7 @@ public abstract class AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void testOutputDocTypeInternalSubset() {
+ String dec = "<!DOCTYPE root [\ninternal]>";
+ DocType dt = new DocType("root");
+@@ -1151,6 +1157,7 @@ public abstract class AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void testOutputDocumentOmitEncoding() {
+ Document doc = new Document();
+ doc.addContent(new Element("root"));
+--- a/test/src/java/org/jdom2/test/cases/output/AbstractTestRoundTrip.java
++++ b/test/src/java/org/jdom2/test/cases/output/AbstractTestRoundTrip.java
+@@ -5,6 +5,7 @@ import static org.junit.Assert.assertTrue;
+ import java.io.IOException;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+
+ import org.jdom2.Document;
+ import org.jdom2.Element;
+@@ -63,6 +64,7 @@ public abstract class AbstractTestRoundTrip {
+ }
+
+ @Test
++ @Ignore
+ public void testNamespaces() throws JDOMException, IOException {
+ final SAXBuilder sb = new SAXBuilder();
+
+@@ -72,6 +74,7 @@ public abstract class AbstractTestRoundTrip {
+ }
+
+ @Test
++ @Ignore
+ public void testComplex() throws JDOMException, IOException {
+ final SAXBuilder sb = new SAXBuilder();
+
+--- a/test/src/java/org/jdom2/test/cases/output/TestDOMOutputter.java
++++ b/test/src/java/org/jdom2/test/cases/output/TestDOMOutputter.java
+@@ -237,6 +237,7 @@ public final class TestDOMOutputter extends AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void testWithDocType() {
+ DocType dt = new DocType("root");
+ dt.setInternalSubset("<!ELEMENT root (#PCDATA)>");
+--- a/test/src/java/org/jdom2/test/cases/output/TestStAXEventOutputter.java
++++ b/test/src/java/org/jdom2/test/cases/output/TestStAXEventOutputter.java
+@@ -347,6 +347,7 @@ public final class TestStAXEventOutputter extends AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void test_HighSurrogatePair() throws XMLStreamException, IOException, JDOMException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+@@ -362,6 +363,7 @@ public final class TestStAXEventOutputter extends AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void test_HighSurrogatePairDecimal() throws JDOMException, IOException, XMLStreamException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+@@ -376,6 +378,7 @@ public final class TestStAXEventOutputter extends AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void test_HighSurrogateAttPair() throws JDOMException, IOException, XMLStreamException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+@@ -390,6 +393,7 @@ public final class TestStAXEventOutputter extends AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void test_HighSurrogateAttPairDecimal() throws JDOMException, IOException, XMLStreamException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+@@ -405,6 +409,7 @@ public final class TestStAXEventOutputter extends AbstractTestOutputter {
+
+ // Construct a raw surrogate pair character and confirm it outputs hex escaped
+ @Test
++ @Ignore
+ public void test_RawSurrogatePair() throws JDOMException, IOException, XMLStreamException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+--- a/test/src/java/org/jdom2/test/cases/output/TestStAXStreamOutputter.java
++++ b/test/src/java/org/jdom2/test/cases/output/TestStAXStreamOutputter.java
+@@ -321,6 +321,7 @@ public final class TestStAXStreamOutputter extends AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void test_HighSurrogatePair() throws XMLStreamException, IOException, JDOMException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+@@ -337,6 +338,7 @@ public final class TestStAXStreamOutputter extends AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void test_HighSurrogatePairDecimal() throws JDOMException, IOException, XMLStreamException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+@@ -352,6 +354,7 @@ public final class TestStAXStreamOutputter extends AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void test_HighSurrogateAttPair() throws JDOMException, IOException, XMLStreamException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+@@ -367,6 +370,7 @@ public final class TestStAXStreamOutputter extends AbstractTestOutputter {
+ }
+
+ @Test
++ @Ignore
+ public void test_HighSurrogateAttPairDecimal() throws JDOMException, IOException, XMLStreamException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+@@ -383,6 +387,7 @@ public final class TestStAXStreamOutputter extends AbstractTestOutputter {
+
+ // Construct a raw surrogate pair character and confirm it outputs hex escaped
+ @Test
++ @Ignore
+ public void test_RawSurrogatePair() throws JDOMException, IOException, XMLStreamException {
+ SAXBuilder builder = new SAXBuilder();
+ builder.setExpandEntities(true);
+--- a/test/src/java/org/jdom2/test/cases/special/TestIssue008ExpandEntity.java
++++ b/test/src/java/org/jdom2/test/cases/special/TestIssue008ExpandEntity.java
+@@ -13,6 +13,7 @@ import org.jdom2.output.XMLOutputter;
+ import org.jdom2.test.util.FidoFetch;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+
+ @SuppressWarnings("javadoc")
+ public class TestIssue008ExpandEntity {
+@@ -53,16 +54,19 @@ public class TestIssue008ExpandEntity {
+ }
+
+ @Test
++ @Ignore
+ public void testFalse() {
+ roundTrip(false, false, null, "<doc>&minus;</doc>");
+ }
+
+ @Test
++ @Ignore
+ public void testFalseUSASCII() {
+ roundTrip(false, false, "US-ASCII", "<doc>&minus;</doc>");
+ }
+
+ @Test
++ @Ignore
+ public void testFalseUTF8() {
+ roundTrip(false, false, "UTF-8", "<doc>&minus;</doc>");
+ }
+@@ -85,16 +89,19 @@ public class TestIssue008ExpandEntity {
+
+
+ @Test
++ @Ignore
+ public void testValidFalse() {
+ roundTrip(false, true, null, "<doc>&minus;</doc>");
+ }
+
+ @Test
++ @Ignore
+ public void testValidFalseUSASCII() {
+ roundTrip(false, true, "US-ASCII", "<doc>&minus;</doc>");
+ }
+
+ @Test
++ @Ignore
+ public void testValidFalseUTF8() {
+ roundTrip(false, true, "UTF-8", "<doc>&minus;</doc>");
+ }
diff --git a/dev-java/jdom/jdom-2.0.6.1.ebuild b/dev-java/jdom/jdom-2.0.6.1.ebuild
index 5cbdaa66520d..774430ba8820 100644
--- a/dev-java/jdom/jdom-2.0.6.1.ebuild
+++ b/dev-java/jdom/jdom-2.0.6.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,15 +12,12 @@ inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Java-based solution for accessing, manipulating, and outputting XML data"
HOMEPAGE="http://www.jdom.org"
SRC_URI="https://github.com/hunterhacker/jdom/archive/${PN^^}-${PV}.tar.gz"
+S="${WORKDIR}/jdom-JDOM-${PV}"
LICENSE="Apache-1.1"
SLOT="2"
KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-# FAILURES!!!
-# Tests run: 1887, Failures: 23
-RESTRICT="test"
-
CP_DEPEND="
dev-java/iso-relax:0
dev-java/jaxen:1.2
@@ -40,35 +37,51 @@ RDEPEND="
${CP_DEPEND}
"
-S="${WORKDIR}/jdom-JDOM-${PV}"
+PATCHES=( "${FILESDIR}/jdom-2.0.6.1-skip-failing-tests.patch" )
-JAVA_TEST_SRC_DIR="test/src/java"
-JAVA_TEST_RESOURCE_DIRS="test/src/resources"
JAVA_TEST_GENTOO_CLASSPATH="junit-4,xerces-2"
+JAVA_TEST_RESOURCE_DIRS="test/src/resources"
+JAVA_TEST_SRC_DIR="test/src/java"
src_prepare() {
- default
+ java-pkg-2_src_prepare
+ default # bug #780585
java-pkg_clean
+ mkdir core/resources || die
+ cp -r core/{package,resources}/META-INF || die
+
# Remove Android stuff to avoid junit RDEPEND.
rm -vr contrib/src/java/org/jdom2/contrib/android || die
- # There are resources in JAVA_TEST_SRC_DIR
- cp -r test/src/{java,resources}/org || die
- # Remove .java files from JAVA_TEST_RESOURCE_DIRS
- find test/src/resources -type f -name '*.java' -exec rm -rf {} + || die "deleting classes failed"
+ cd test/src/java || die
+ # java-pkg-simple.eclass expects test resources in JAVA_TEST_RESOURCE_DIRS
+ find . -type f ! -name '*.java' \
+ | xargs cp --parent -t ../resources || die
+
+ # We skip testDocTypeDocument() from 3 test classes due to test failures,
+ # see bug #901743. This requires changing also the line endings which would
+ # lead to huge patches. Hence we do this with sed ( 's/\r$//g' ).
+ sed \
+ -e 's/\r$//g' \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/testDocTypeDocument()/i @Ignore' \
+ -i org/jdom2/test/cases/input/TestDOMBuilder.java \
+ -i org/jdom2/test/cases/input/TestStAXEventBuilder.java \
+ -i org/jdom2/test/cases/input/TestStAXStreamBuilder.java || die
}
src_compile() {
- JAVA_SRC_DIR="core/src/java"
JAVA_JAR_FILENAME="jdom.jar"
+ JAVA_RESOURCE_DIRS="core/resources"
+ JAVA_SRC_DIR="core/src/java"
java-pkg-simple_src_compile
JAVA_GENTOO_CLASSPATH_EXTRA+=":jdom.jar"
rm -rf target || die
- JAVA_SRC_DIR="contrib/src/java"
- JAVA_RESOURCE_DIRS="contrib/src/resources"
JAVA_JAR_FILENAME="jdom-contrib.jar"
+ JAVA_RESOURCE_DIRS="contrib/src/resources"
+ JAVA_SRC_DIR="contrib/src/java"
java-pkg-simple_src_compile
JAVA_GENTOO_CLASSPATH_EXTRA+=":jdom-contrib.jar"
rm -rf target || die
@@ -85,7 +98,7 @@ src_compile() {
}
src_install() {
- default # https://bugs.gentoo.org/789582
+ default # install README
java-pkg_dojar "jdom.jar"
java-pkg_dojar "jdom-contrib.jar"
if use doc; then
diff --git a/dev-java/jeromq/metadata.xml b/dev-java/jeromq/metadata.xml
index 75321cfb5598..d82f36ba2afd 100644
--- a/dev-java/jeromq/metadata.xml
+++ b/dev-java/jeromq/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">zeromq/jeromq</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/jffi/Manifest b/dev-java/jffi/Manifest
index 1417241bf1c7..8a641aa1521d 100644
--- a/dev-java/jffi/Manifest
+++ b/dev-java/jffi/Manifest
@@ -1 +1 @@
-DIST jffi-1.3.9.tar.gz 3193992 BLAKE2B bcd2dba3f9528c293aebb13a8fbd0b2fd7afcbae0cc5fa231f7e8ab190b834adc9e3f40bfc1211d0019a34a9edbaf8810f44b88f3c44b1e3b8065b2b80ccc6dc SHA512 21bf6997c64c0764c1fe86c9ab9b854037241489789f443a3337253ecc95100c94723a57165c85eed7a6c3837b8c04751af4a1fb5873a9c9fcd9a4535b68fc10
+DIST jffi-1.3.10.tar.gz 3304571 BLAKE2B a2ce4901d05b31cffcbe750e9a9294413057ae26426ae381f08ab07a085507afe38d447a60d4698d0878760ba1fe18bfdc31ce9b737676a70c93689d2e4533a7 SHA512 9e7d9aa1c16d7fa2486c75b71fd23465a3069ea3f314bc1b536115c982333d7cffa93f75a06ec86b740b83f4fca3be0c32cf99222d90bf1e6b45a9744ead1268
diff --git a/dev-java/jffi/files/jffi-1.3.8-GNUmakefile.patch b/dev-java/jffi/files/jffi-1.3.8-GNUmakefile.patch
index 0e42b385e7b7..3153ff08d307 100644
--- a/dev-java/jffi/files/jffi-1.3.8-GNUmakefile.patch
+++ b/dev-java/jffi/files/jffi-1.3.8-GNUmakefile.patch
@@ -1,8 +1,19 @@
-diff --git a/jni/GNUmakefile b/jni/GNUmakefile
-index cfe570a..c8bbb51 100755
+Bug: #898142
--- a/jni/GNUmakefile
+++ b/jni/GNUmakefile
-@@ -278,7 +278,7 @@ debug:
+@@ -67,9 +67,11 @@ OFLAGS = -O2 $(JFLAGS)
+ WERROR = -Werror
+ ifneq ($(OS),darwin)
+ ifneq ($(OS),aix)
++ifneq ($(OS),linux)
+ WFLAGS += -Wundef $(WERROR)
+ endif
+ endif
++endif
+ WFLAGS += -W -Wall -Wno-unused -Wno-parentheses -Wno-unused-parameter
+ PICFLAGS = -fPIC
+ SOFLAGS = # Filled in for each OS specifically
+@@ -278,7 +280,7 @@ debug:
@echo "OBJS=$(OBJS)"
$(LIBJFFI): $(OBJS) $(LIBFFI_LIBS)
@@ -11,7 +22,7 @@ index cfe570a..c8bbb51 100755
$(STRIP) $@
ifeq ($(OS), darwin)
codesign -s - $@
-@@ -287,10 +287,14 @@ endif
+@@ -287,10 +289,14 @@ endif
$(BUILD_DIR)/%.o : $(SRC_DIR)/%.c $(wildcard $(JFFI_SRC_DIR)/*.h)
@mkdir -p $(@D)
@$(CCACHE) $(CC) $(CFLAGS) -c $< -o $@
diff --git a/dev-java/jffi/jffi-1.3.10.ebuild b/dev-java/jffi/jffi-1.3.10.ebuild
new file mode 100644
index 000000000000..6f5d7fa61f9e
--- /dev/null
+++ b/dev-java/jffi/jffi-1.3.10.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.github.jnr:jffi:1.3.10"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java Foreign Function Interface"
+HOMEPAGE="https://github.com/jnr/jffi"
+SRC_URI="https://github.com/jnr/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="1.3"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-1.8:*
+ >=dev-libs/libffi-3.4.2-r2:="
+RDEPEND=">=virtual/jre-1.8:*
+ >=dev-libs/libffi-3.4.2-r2:="
+
+PATCHES=( "${FILESDIR}"/jffi-1.3.8-GNUmakefile.patch )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.jnrproject.jffi"
+JAVA_SRC_DIR="src/main/java"
+
+# https://github.com/jnr/jffi/blob/b6ad5c066a6346072ea04f8ffa8177204aadcb13/build.xml#L26
+JAVA_TEST_EXTRA_ARGS="-Djffi.library.path=${S}/build/jni -Djffi.boot.library.path=${S}/build/jni"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ default
+ cat > src/main/java/com/kenai/jffi/Version.java <<-EOF
+ package com.kenai.jffi;
+ import java.lang.annotation.Native;
+ public final class Version {
+ private Version() {}
+ @Native
+ public static final int MAJOR = $(ver_cut 1);
+ @Native
+ public static final int MINOR = $(ver_cut 2);
+ @Native
+ public static final int MICRO = $(ver_cut 3);
+ }
+ EOF
+
+ # https://bugs.gentoo.org/829820
+ if use arm; then
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/invokeHeapDO()/i @Ignore' \
+ -e '/invokeHeapNO()/i @Ignore' \
+ -e '/invokeHeapOD()/i @Ignore' \
+ -e '/invokeHeapON()/i @Ignore' \
+ -e '/invokeHeapOO()/i @Ignore' \
+ -e '/invokeHeapO()/i @Ignore' \
+ -e '/invokeNativeDO()/i @Ignore' \
+ -e '/invokeNativeNO()/i @Ignore' \
+ -e '/invokeNativeOD()/i @Ignore' \
+ -e '/invokeNativeON()/i @Ignore' \
+ -e '/invokeNativeOO()/i @Ignore' \
+ -e '/invokeNativeO()/i @Ignore' \
+ -i src/test/java/com/kenai/jffi/InvokerTest.java || die
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/returnDefaultF128HighPrecision/i @Ignore' \
+ -i src/test/java/com/kenai/jffi/NumberTest.java || die
+ fi
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+
+ # generate headers
+ mkdir -p build/jni
+ javac -h build/jni -classpath target/classes \
+ ${JAVA_SRC_DIR}/com/kenai/jffi/{Foreign,ObjectBuffer,Version}.java \
+ || die
+
+ #build native library.
+ local args=(
+ SRC_DIR=jni
+ JNI_DIR=jni
+ BUILD_DIR=build/jni
+ VERSION=$(ver_cut 1-2)
+ USE_SYSTEM_LIBFFI=1
+ CCACHE=
+ -f jni/GNUmakefile
+ )
+ emake "${args[@]}"
+}
+
+src_test() {
+ # build native test library
+ emake BUILD_DIR=build -f libtest/GNUmakefile
+
+ # https://github.com/jnr/jffi/issues/60
+ LC_ALL=C java-pkg-simple_src_test
+}
+
+src_install() {
+ local libname=".so"
+ java-pkg_doso build/jni/lib${PN}-$(ver_cut 1-2)${libname}
+
+ # must be after _doso to have JAVA_PKG_LIBDEST set
+ cat > boot.properties <<-EOF
+ jffi.boot.library.path = ${JAVA_PKG_LIBDEST}
+ EOF
+ jar -uf ${PN}.jar boot.properties || die
+
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/jffi/jffi-1.3.9-r1.ebuild b/dev-java/jffi/jffi-1.3.9-r1.ebuild
deleted file mode 100644
index ee8168740ba4..000000000000
--- a/dev-java/jffi/jffi-1.3.9-r1.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# 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/jnr/jffi/archive/jffi-1.3.9.tar.gz --slot 1.3 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild jffi-1.3.9.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.github.jnr:jffi:1.3.9"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java Foreign Function Interface"
-HOMEPAGE="https://github.com/jnr/jffi"
-SRC_URI="https://github.com/jnr/${PN}/archive/refs/tags/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="1.3"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*
- >=dev-libs/libffi-3.4.2-r2:="
-RDEPEND=">=virtual/jre-1.8:*
- >=dev-libs/libffi-3.4.2-r2:="
-
-PATCHES=( "${FILESDIR}"/jffi-1.3.8-GNUmakefile.patch )
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_SRC_DIR="src/main/java"
-
-# https://github.com/jnr/jffi/blob/b6ad5c066a6346072ea04f8ffa8177204aadcb13/build.xml#L26
-JAVA_TEST_EXTRA_ARGS="-Djffi.library.path=${S}/build/jni -Djffi.boot.library.path=${S}/build/jni"
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-src_prepare() {
- default
- cat > src/main/java/com/kenai/jffi/Version.java <<-EOF
- package com.kenai.jffi;
- import java.lang.annotation.Native;
- public final class Version {
- private Version() {}
- @Native
- public static final int MAJOR = $(ver_cut 1);
- @Native
- public static final int MINOR = $(ver_cut 2);
- @Native
- public static final int MICRO = $(ver_cut 3);
- }
- EOF
-
- # https://bugs.gentoo.org/829820
- if use arm; then
- sed \
- -e '/import org.junit.Test/a import org.junit.Ignore;' \
- -e '/invokeHeapDO()/i @Ignore' \
- -e '/invokeHeapNO()/i @Ignore' \
- -e '/invokeHeapOD()/i @Ignore' \
- -e '/invokeHeapON()/i @Ignore' \
- -e '/invokeHeapOO()/i @Ignore' \
- -e '/invokeHeapO()/i @Ignore' \
- -e '/invokeNativeDO()/i @Ignore' \
- -e '/invokeNativeNO()/i @Ignore' \
- -e '/invokeNativeOD()/i @Ignore' \
- -e '/invokeNativeON()/i @Ignore' \
- -e '/invokeNativeOO()/i @Ignore' \
- -e '/invokeNativeO()/i @Ignore' \
- -i src/test/java/com/kenai/jffi/InvokerTest.java || die
- sed \
- -e '/import org.junit.Test/a import org.junit.Ignore;' \
- -e '/returnDefaultF128HighPrecision/i @Ignore' \
- -i src/test/java/com/kenai/jffi/NumberTest.java || die
- fi
-}
-
-src_compile() {
- java-pkg-simple_src_compile
-
- # generate headers
- mkdir -p build/jni
- javac -h build/jni -classpath target/classes \
- ${JAVA_SRC_DIR}/com/kenai/jffi/{Foreign,ObjectBuffer,Version}.java \
- || die
-
- #build native library.
- local args=(
- SRC_DIR=jni
- JNI_DIR=jni
- BUILD_DIR=build/jni
- VERSION=$(ver_cut 1-2)
- USE_SYSTEM_LIBFFI=1
- CCACHE=
- -f jni/GNUmakefile
- )
- emake "${args[@]}"
-}
-
-src_test() {
- # build native test library
- emake BUILD_DIR=build -f libtest/GNUmakefile
-
- # https://github.com/jnr/jffi/issues/60
- LC_ALL=C java-pkg-simple_src_test
-}
-
-src_install() {
- default
-
- local libname=".so"
- java-pkg_doso build/jni/lib${PN}-$(ver_cut 1-2)${libname}
-
- # must be after _doso to have JAVA_PKG_LIBDEST set
- cat > boot.properties <<-EOF
- jffi.boot.library.path = ${JAVA_PKG_LIBDEST}
- EOF
- jar -uf ${PN}.jar boot.properties || die
-
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jflex/jflex-1.6.1-r1.ebuild b/dev-java/jflex/jflex-1.6.1-r1.ebuild
deleted file mode 100644
index 58580490d2fc..000000000000
--- a/dev-java/jflex/jflex-1.6.1-r1.ebuild
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="JFlex is a lexical analyzer generator for Java"
-HOMEPAGE="https://www.jflex.de/"
-SRC_URI="https://${PN}.de/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~ppc-macos ~x64-macos"
-IUSE="examples test vim-syntax"
-RESTRICT="!test? ( test )"
-
-CDEPEND="dev-java/ant-core:0"
-
-RDEPEND=">=virtual/jre-1.8:*
- vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
- ${CDEPEND}"
-
-DEPEND=">=virtual/jdk-1.8:*
- test? ( dev-java/junit:4 )
- ${CDEPEND}"
-
-PDEPEND="dev-java/javacup:0"
-
-S="${WORKDIR}/${P}"
-JAVA_SRC_DIR="src/main/java"
-
-src_prepare() {
- eapply_user
-
- # See below for details.
- eapply "${FILESDIR}/icedtea-arm.patch"
-
- # We need the bundled jflex.jar.
- rm -rv ${JAVA_SRC_DIR}/java_cup examples/pom.xml || die
-
- # Remove the bundled java-cup.jar if unneeded.
- if has_version ${PDEPEND}; then
- rm -v lib/java-cup-*.jar || die
- fi
-}
-
-src_configure() {
- # javacup is a cyclic dependency. Use the package if we have it,
- # otherwise use the bundled version and install the package later.
- if has_version ${PDEPEND}; then
- # Use PORTAGE_QUIET to suppress a QA warning that is spurious
- # thanks to has_version above. This is Portage-specific but
- # showing the warning elsewhere isn't the end of the world.
- JAVACUP=$(PORTAGE_QUIET=1 java-pkg_getjar --build-only javacup javacup.jar)
- else
- JAVACUP=$(echo lib/java-cup-*.jar)
- fi
-
- JAVA_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --build-only ant-core):${JAVACUP}"
-}
-
-jflex_compile() {
- java "${@}" jflex.Main -d ${JAVA_SRC_DIR}/${PN} --skel src/main/${PN}/skeleton.nested src/main/${PN}/LexScan.flex || die
- java-pkg-simple_src_compile
- java-pkg_addres ${PN}.jar src/main/resources
-}
-
-src_compile() {
- java -jar "${JAVACUP}" -destdir ${JAVA_SRC_DIR}/${PN} -package ${PN} -parser LexParse -interface src/main/cup/LexParse.cup || die
-
- # The IcedTea ARM HotSpot port (as of 2.6.1) hangs when running
- # jflex. We have patched jflex to fix it but we have to run the
- # bundled version first. -Xint works around the problem. See
- # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2678.
- use arm && local JFLEX_ARGS="-Xint"
-
- # First compile (without doc/source) using the bundled jflex.
- JAVA_PKG_IUSE= jflex_compile -cp "lib/${P}.jar:${JAVACUP}" ${JFLEX_ARGS}
-
- # Then recompile using the fresh jflex.
- jflex_compile -cp "${PN}.jar:${JAVACUP}"
-}
-
-src_install() {
- java-pkg-simple_src_install
- java-pkg_dolauncher ${PN} --main ${PN}.Main
-
- java-pkg_register-dependency javacup javacup-runtime.jar
- java-pkg_register-ant-task
-
- use examples && java-pkg_doexamples examples
- dodoc {changelog,README}.md
-
- if use doc; then
- dodoc doc/*.pdf
- docinto html
- dodoc doc/*.{css,html,png} doc/COPYRIGHT
- fi
-
- if use vim-syntax; then
- insinto /usr/share/vim/vimfiles/syntax
- doins lib/${PN}.vim
- fi
-}
-
-src_test() {
- if use arm && java-pkg_current-vm-matches oracle-jdk-bin-1.8; then
- # This results in a StackOverflowError as of 1.8.0.65 but works
- # fine on icedtea:7. Don't know about icedtea:8 yet.
- rm -v src/test/java/jflex/EmitterTest.java || die
- fi
-
- local CP="src/test/java:${PN}.jar:${JAVA_GENTOO_CLASSPATH_EXTRA}:$(java-pkg_getjars junit-4)"
-
- local TESTS=$(find src/test/java -name "*Test*.java" -printf "%P\n")
- TESTS="${TESTS//.java}"
- TESTS="${TESTS//\//.}"
-
- ejavac -classpath "${CP}" $(find src/test/java -name "*.java")
- ejunit4 -classpath "${CP}" ${TESTS}
-}
diff --git a/dev-java/jflex/jflex-1.6.1-r2.ebuild b/dev-java/jflex/jflex-1.6.1-r2.ebuild
new file mode 100644
index 000000000000..17d1b99fd468
--- /dev/null
+++ b/dev-java/jflex/jflex-1.6.1-r2.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JFlex is a lexical analyzer generator for Java"
+HOMEPAGE="https://www.jflex.de/"
+SRC_URI="https://${PN}.de/${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~ppc-macos ~x64-macos"
+IUSE="examples test vim-syntax"
+RESTRICT="!test? ( test )"
+
+CDEPEND=">=dev-java/ant-1.10.14:0"
+
+RDEPEND=">=virtual/jre-1.8:*
+ vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
+ ${CDEPEND}"
+
+DEPEND=">=virtual/jdk-1.8:*
+ test? ( dev-java/junit:4 )
+ ${CDEPEND}"
+
+PDEPEND="dev-java/javacup:0"
+
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ eapply_user
+
+ # See below for details.
+ eapply "${FILESDIR}/icedtea-arm.patch"
+
+ # We need the bundled jflex.jar.
+ rm -rv ${JAVA_SRC_DIR}/java_cup examples/pom.xml || die
+
+ # Remove the bundled java-cup.jar if unneeded.
+ if has_version ${PDEPEND}; then
+ rm -v lib/java-cup-*.jar || die
+ fi
+}
+
+src_configure() {
+ # javacup is a cyclic dependency. Use the package if we have it,
+ # otherwise use the bundled version and install the package later.
+ if has_version ${PDEPEND}; then
+ # Use PORTAGE_QUIET to suppress a QA warning that is spurious
+ # thanks to has_version above. This is Portage-specific but
+ # showing the warning elsewhere isn't the end of the world.
+ JAVACUP=$(PORTAGE_QUIET=1 java-pkg_getjar --build-only javacup javacup.jar)
+ else
+ JAVACUP=$(echo lib/java-cup-*.jar)
+ fi
+
+ JAVA_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjar --build-only ant ant.jar):${JAVACUP}"
+}
+
+jflex_compile() {
+ java "${@}" jflex.Main -d ${JAVA_SRC_DIR}/${PN} \
+ --skel src/main/${PN}/skeleton.nested src/main/${PN}/LexScan.flex || die
+ java-pkg-simple_src_compile
+ java-pkg_addres ${PN}.jar src/main/resources
+}
+
+src_compile() {
+ java -jar "${JAVACUP}" -destdir ${JAVA_SRC_DIR}/${PN} -package ${PN} \
+ -parser LexParse -interface src/main/cup/LexParse.cup || die
+
+ # The IcedTea ARM HotSpot port (as of 2.6.1) hangs when running
+ # jflex. We have patched jflex to fix it but we have to run the
+ # bundled version first. -Xint works around the problem. See
+ # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2678.
+ use arm && local JFLEX_ARGS="-Xint"
+
+ # First compile using the bundled jflex.
+ jflex_compile -cp "lib/${P}.jar:${JAVACUP}" ${JFLEX_ARGS}
+
+ # Then recompile using the fresh jflex.
+ jflex_compile -cp "${PN}.jar:${JAVACUP}"
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_dolauncher ${PN} --main ${PN}.Main
+
+ java-pkg_register-dependency javacup javacup-runtime.jar
+ java-pkg_register-ant-task
+
+ use examples && java-pkg_doexamples examples
+ dodoc {changelog,README}.md
+
+ if use doc; then
+ dodoc doc/*.pdf
+ docinto html
+ dodoc doc/*.{css,html,png} doc/COPYRIGHT
+ fi
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins lib/${PN}.vim
+ fi
+}
+
+src_test() {
+ if use arm && java-pkg_current-vm-matches oracle-jdk-bin-1.8; then
+ # This results in a StackOverflowError as of 1.8.0.65 but works
+ # fine on icedtea:7. Don't know about icedtea:8 yet.
+ rm -v src/test/java/jflex/EmitterTest.java || die
+ fi
+
+ local CP="src/test/java:${PN}.jar:${JAVA_GENTOO_CLASSPATH_EXTRA}:$(java-pkg_getjars junit-4)"
+
+ local TESTS=$(find src/test/java -name "*Test*.java" -printf "%P\n")
+ TESTS="${TESTS//.java}"
+ TESTS="${TESTS//\//.}"
+
+ ejavac -classpath "${CP}" $(find src/test/java -name "*.java")
+ ejunit4 -classpath "${CP}" ${TESTS}
+}
diff --git a/dev-java/jformatstring/Manifest b/dev-java/jformatstring/Manifest
deleted file mode 100644
index 0c99c9dd884c..000000000000
--- a/dev-java/jformatstring/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST findbugs-3.0.1-source.zip 9625065 BLAKE2B 26c940ac0eaec16de89ffbbe26d16b0b5c2883a6131a8b3ce93b9a35014a42c221456f977e581d2f4f1b8d9333237c24ac6d5ad8fc2ba6bb018c333b6a09f4eb SHA512 d967769f2356f28b34d92c7451cf3e2ac004e667bfc3b049b5b10b1c19d7be2cfa0db132a77698d042300330f77a2bb5dd8c4baa0d67c37b7e5ae6da9e83a64f
diff --git a/dev-java/jformatstring/jformatstring-2.0.3-r1.ebuild b/dev-java/jformatstring/jformatstring-2.0.3-r1.ebuild
deleted file mode 100644
index f0c536f80c94..000000000000
--- a/dev-java/jformatstring/jformatstring-2.0.3-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-FINDBUGS_PV="3.0.1"
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Compile time checking for Java format strings"
-SRC_URI="mirror://sourceforge/findbugs/findbugs-${FINDBUGS_PV}-source.zip"
-HOMEPAGE="https://code.google.com/p/j-format-string"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND=">=virtual/jdk-1.8:*
- app-arch/unzip"
-
-src_unpack() {
- unzip -qoj "${DISTDIR}/findbugs-${FINDBUGS_PV}-source.zip" "findbugs-${FINDBUGS_PV}/lib/jFormatString.jar" || die
- unpack ./jFormatString.jar
-}
-
-src_prepare() {
- default
- find -name "*.class" -delete || die
-}
diff --git a/dev-java/jformatstring/metadata.xml b/dev-java/jformatstring/metadata.xml
deleted file mode 100644
index e9b6c157e052..000000000000
--- a/dev-java/jformatstring/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <longdescription>This code is designed to allow for compile time checking of Java format strings. It can check that the format string is valid, that the proper number of arguments are supplied and that they are of the correct type.</longdescription>
- <upstream>
- <remote-id type="sourceforge">findbugs</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/jimfs/Manifest b/dev-java/jimfs/Manifest
new file mode 100644
index 000000000000..b43255dddabd
--- /dev/null
+++ b/dev-java/jimfs/Manifest
@@ -0,0 +1,2 @@
+DIST jimfs-1.3.0.tar.gz 157568 BLAKE2B 1febcf132c162ebb87ec9507bc12e05d6a9354195f36b0e198fd50faa22284608adafd1989a79390271ced4c063dda44c477fc7ae051c32960afca0f4f2ee2b7 SHA512 1c769ba74d45de1656fd30bd695b61caaa5ec9bd6c6e051310d371012fa6c746d0b2ba85d3f94490ebfb9f74ca75f173b879144673f8e3af8fde1a132725490d
+DIST truth-1.1.3.jar 243021 BLAKE2B a59149038c62ef5dd352b13d4b393e1b7715fbafe5ed86ec2d16d722c738a31dcdca10132fc73b17b367ac4309e5407ba2e489f8d4c8fbca60ce5f35ae75d1e3 SHA512 f29a9fb070aff8a32358a7b6c8998c0095de5d8d68afa7f7bac759c7050309deff929e767657ecbbefd96163460f10255ca01bc567ab30df4834b9d916a4fae8
diff --git a/dev-java/jimfs/jimfs-1.3.0.ebuild b/dev-java/jimfs/jimfs-1.3.0.ebuild
new file mode 100644
index 000000000000..777cf00cfa5c
--- /dev/null
+++ b/dev-java/jimfs/jimfs-1.3.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.jimfs:jimfs:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="An in-memory file system for Java 7+"
+HOMEPAGE="https://github.com/google/jimfs"
+SRC_URI="https://github.com/google/jimfs/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/${P}/jimfs"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+CP_DEPEND="
+ dev-java/auto-service-annotations:0
+ dev-java/error-prone-annotations:0
+ dev-java/guava:0
+ >=dev-java/icu4j-74.2-r1:0
+ dev-java/jsr305:0
+"
+
+DEPEND="${CP_DEPEND}
+ dev-java/checker-framework-qual:0
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava-testlib:0
+ )"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="checker-framework-qual"
+JAVA_AUTOMATIC_MODULE_NAME="com.google.common.jimfs"
+JAVA_RESOURCE_DIRS="src/main/res"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="guava-testlib junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir -p src/main/res/META-INF/services || die
+ echo "com.google.common.jimfs.SystemJimfsFileSystemProvider" > \
+ src/main/res/META-INF/services/java.nio.file.spi.FileSystemProvider || die
+}
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar"
+ # Using the defaults of java-pkg-simple would exclude
+ # several tests which are run by "mvn test".
+ pushd src/test/java > /dev/null || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "*Test.java" \
+ ! -name AbstractGlob*.java \
+ ! -name AbstractPathMatcherTest.java \
+ ! -name AbstractJimfsIntegrationTest.java \
+ ! -name AbstractAttributeProviderTest.java \
+ )
+ popd > /dev/null
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jimfs/metadata.xml b/dev-java/jimfs/metadata.xml
new file mode 100644
index 000000000000..e1353ba1e585
--- /dev/null
+++ b/dev-java/jimfs/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/jimfs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jmc/Manifest b/dev-java/jmc/Manifest
new file mode 100644
index 000000000000..fdfb3ebf3c28
--- /dev/null
+++ b/dev-java/jmc/Manifest
@@ -0,0 +1 @@
+DIST jmc-8.3.0.ga.tar.gz 40714977 BLAKE2B 7ec59a23a62ede30844cee71bd1c859974ee3112bb5cc1b31b65f63f0bbf1b2689a94180d0fba687858353d05b3d1046a7b98688f01312606332bfd9d99ac9e8 SHA512 e4fb9fe8fa0ebfd3dd550dfa3412a4a7f88cb46eedaba329c4fd1a693047377b5c57db8ef8751f5966bce7621d6d2eff52a8d1921c089e7b1c3104684918fde9
diff --git a/dev-java/jmc/jmc-8.3.0.ebuild b/dev-java/jmc/jmc-8.3.0.ebuild
new file mode 100644
index 000000000000..49b64d2ec06b
--- /dev/null
+++ b/dev-java/jmc/jmc-8.3.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_PROVIDES="
+ org.openjdk.jmc:common:${PV}
+ org.openjdk.jmc:flightrecorder:${PV}
+"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JDK Mission Control"
+HOMEPAGE="https://openjdk.org/projects/jmc/"
+SRC_URI="https://github.com/openjdk/jmc/archive/${PV}-ga.tar.gz -> ${P}.ga.tar.gz"
+S="${WORKDIR}/${P}-ga"
+
+LICENSE="UPL-1.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="
+ dev-java/lz4-java:0
+ dev-java/owasp-java-encoder:0
+ >=virtual/jdk-1.8:*
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+src_compile() {
+ einfo "Compiling jmc-common.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="org.openjdk.jmc.common"
+ JAVA_CLASSPATH_EXTRA="
+ lz4-java
+ owasp-java-encoder
+ "
+ JAVA_JAR_FILENAME="jmc-common.jar"
+ JAVA_RESOURCE_DIRS="core/org.openjdk.jmc.common/src/main/resources"
+ JAVA_SRC_DIR="core/org.openjdk.jmc.common/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":jmc-common.jar"
+ rm -r target || die
+
+ einfo "Compiling jmc-flightrecorder.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="org.openjdk.jmc.flightrecorder"
+ JAVA_JAR_FILENAME="jmc-flightrecorder.jar"
+ JAVA_RESOURCE_DIRS="core/org.openjdk.jmc.flightrecorder/src/main/resources"
+ JAVA_SRC_DIR="core/org.openjdk.jmc.flightrecorder/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":jmc-flightrecorder.jar"
+ rm -r target || die
+
+ if use doc; then
+ JAVA_SRC_DIR=()
+ JAVA_SRC_DIR=(
+ "core/org.openjdk.jmc.common/src/main/java"
+ "core/org.openjdk.jmc.flightrecorder/src/main/java"
+ )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_install() {
+ default
+ java-pkg_dojar jmc-common.jar jmc-flightrecorder.jar
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+ if use source; then
+ java-pkg_dosrc "core/org.openjdk.jmc.common/src/main/java/*"
+ java-pkg_dosrc "core/org.openjdk.jmc.flightrecorder/src/main/java/*"
+ fi
+}
diff --git a/dev-java/jmc/metadata.xml b/dev-java/jmc/metadata.xml
new file mode 100644
index 000000000000..13df86c0e8a8
--- /dev/null
+++ b/dev-java/jmc/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">openjdk/jmc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jmh-core/Manifest b/dev-java/jmh-core/Manifest
index 918f4672b6dd..396f6a6ab0c2 100644
--- a/dev-java/jmh-core/Manifest
+++ b/dev-java/jmh-core/Manifest
@@ -1 +1 @@
-DIST jmh-core-1.35.tar.gz 645087 BLAKE2B ce33167a58c2eaf64c38148f27493c86ac9c0084cb58a438b49148b41d3e2db66d8a78e0be8a78db39aebf06fc0b5767be61100b22ce77e018ac8ca29c05c17f SHA512 53ce7300f5e10f1efcb639f0d4d01adad48cadc8daea2e00db34113e42b192e49a6a04cc2b5fd4d291ac81a73a5b30613d22390722d35f54139f14ebbb01013c
+DIST jmh-1.37.tar.gz 658673 BLAKE2B 696997907f3505f84ed400d75f46625b9f2aa9faf8a6d4250e6380db9088a8d6a61792eed8163703cb0003dba6ee5a2061d08a1b09bed5c058612142cd594469 SHA512 a3aac7d2e774dd7e7457cc1dce9edbe5923fcdae266854d709b926580638a28057bd6b32b8d7dedc4707ab2ae9aa7d5cda04eb72b0116f1cb98480a8b8b02707
diff --git a/dev-java/jmh-core/jmh-core-1.35.ebuild b/dev-java/jmh-core/jmh-core-1.35.ebuild
deleted file mode 100644
index 6d518ed16c03..000000000000
--- a/dev-java/jmh-core/jmh-core-1.35.ebuild
+++ /dev/null
@@ -1,42 +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="org.openjdk.jmh:jmh-core:1.35"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Harness for building, running, and analysing nano/micro/milli/macro benchmarks"
-HOMEPAGE="https://openjdk.java.net/projects/code-tools/jmh/"
-SRC_URI="https://github.com/openjdk/jmh/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CP_DEPEND="
- dev-java/commons-math:3
- dev-java/jopt-simple:0"
-
-DEPEND=">=virtual/jdk-1.8:*
- ${CP_DEPEND}"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/jmh-${PV}"
-
-JAVA_SRC_DIR="jmh-core/src/main/java"
-JAVA_RESOURCE_DIRS="jmh-core/src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="jmh-core/src/test/java"
-JAVA_TEST_RESOURCE_DIRS="jmh-core/src/test/resources"
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/jmh-core/jmh-core-1.37.ebuild b/dev-java/jmh-core/jmh-core-1.37.ebuild
new file mode 100644
index 000000000000..0fcaad366369
--- /dev/null
+++ b/dev-java/jmh-core/jmh-core-1.37.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.openjdk.jmh:jmh-core:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Harness for building, running, and analysing nano/micro/milli/macro benchmarks"
+HOMEPAGE="https://openjdk.org/projects/code-tools/jmh/"
+SRC_URI="https://github.com/openjdk/jmh/archive/${PV}.tar.gz -> jmh-${PV}.tar.gz"
+S="${WORKDIR}/jmh-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/commons-math:3
+ dev-java/jopt-simple:0"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_RESOURCE_DIRS="jmh-core/src/main/resources"
+JAVA_SRC_DIR="jmh-core/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="jmh-core/src/test/resources"
+JAVA_TEST_SRC_DIR="jmh-core/src/test/java"
diff --git a/dev-java/jmh-generator-annprocess/Manifest b/dev-java/jmh-generator-annprocess/Manifest
new file mode 100644
index 000000000000..396f6a6ab0c2
--- /dev/null
+++ b/dev-java/jmh-generator-annprocess/Manifest
@@ -0,0 +1 @@
+DIST jmh-1.37.tar.gz 658673 BLAKE2B 696997907f3505f84ed400d75f46625b9f2aa9faf8a6d4250e6380db9088a8d6a61792eed8163703cb0003dba6ee5a2061d08a1b09bed5c058612142cd594469 SHA512 a3aac7d2e774dd7e7457cc1dce9edbe5923fcdae266854d709b926580638a28057bd6b32b8d7dedc4707ab2ae9aa7d5cda04eb72b0116f1cb98480a8b8b02707
diff --git a/dev-java/jmh-generator-annprocess/jmh-generator-annprocess-1.37.ebuild b/dev-java/jmh-generator-annprocess/jmh-generator-annprocess-1.37.ebuild
new file mode 100644
index 000000000000..a4d3d8c5c886
--- /dev/null
+++ b/dev-java/jmh-generator-annprocess/jmh-generator-annprocess-1.37.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.openjdk.jmh:jmh-generator-annprocess:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Harness for building, running, and analysing nano/micro/milli/macro benchmarks"
+HOMEPAGE="https://openjdk.org/projects/code-tools/jmh/"
+SRC_URI="https://github.com/openjdk/jmh/archive/${PV}.tar.gz -> jmh-${PV}.tar.gz"
+S="${WORKDIR}/jmh-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND="
+ dev-java/jmh-core:0
+ >=virtual/jdk-1.8:*
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="jmh-core"
+JAVA_RESOURCE_DIRS="jmh-generator-annprocess/src/main/resources"
+JAVA_SRC_DIR="jmh-generator-annprocess/src/main/java"
diff --git a/dev-java/jmh-generator-annprocess/metadata.xml b/dev-java/jmh-generator-annprocess/metadata.xml
new file mode 100644
index 000000000000..09c955c1f8a5
--- /dev/null
+++ b/dev-java/jmh-generator-annprocess/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">openjdk/jmh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jmock/Manifest b/dev-java/jmock/Manifest
index c8a558e7e845..3180d94c6641 100644
--- a/dev-java/jmock/Manifest
+++ b/dev-java/jmock/Manifest
@@ -1,3 +1,2 @@
DIST jmock-1.2.0-jars.zip 153214 BLAKE2B 2c40696229018406f3b60559013b73b5331c223da6e2743830c4c9b8b728484b1ebed8fb347c240f50f6936c2fd1e4ee85b754315682047a87a14414effc3a48 SHA512 5290f1d14cbc3d0f223bdaf59716b037dbc021c8f39a3784d13af8d8be3edbddc5e2eb4754b80e78ae954daf12889210183e7e11c110012b4d9320344efe19da
DIST jmock-2.12.0.tar.gz 111963 BLAKE2B d4b8c8c4ca68ed8dae3b4906e3163fa5e8e8ea8f4b993386d7fa605e0188dd43462550ae4833ab9dbfe68c24e15cf6d19a6f444ca57f666fdfe8b29734fd32f7 SHA512 b1ba12981e7379f5b07a29749c7640906c02f72f52158921d0ac02abf69c9c8c2dc753f4462ff0afa5807852a06f59a6da9ed9357ae7dc0303b0377a0e3da854
-DIST jmock-2.6.1-jars.zip 1249841 BLAKE2B 87861dad7151000e1397a54d0ded7e49c3fd81fca64afd74d6176436f336be5b5e89f73be8c124cf086798f74aef4972303137529113e3c85ba93353f95e3a42 SHA512 7cd1d2e89dceb31c68ad3f702ad937b5de6ec77cc37e94be7aa53db2fc61d11aa40ec5aab225a3eeeba5064ad8384f10413ac05a9df97102c8e63f4209ea149e
diff --git a/dev-java/jmock/jmock-2.12.0.ebuild b/dev-java/jmock/jmock-2.12.0.ebuild
index 56d262a4cbfe..a258ba6eeffd 100644
--- a/dev-java/jmock/jmock-2.12.0.ebuild
+++ b/dev-java/jmock/jmock-2.12.0.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/${PN}-developers/${PN}-library/archive/${PV}.tar.gz
LICENSE="BSD"
SLOT="2"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
DEPEND="
dev-java/asm:9
diff --git a/dev-java/jmock/jmock-2.6.1-r1.ebuild b/dev-java/jmock/jmock-2.6.1-r1.ebuild
deleted file mode 100644
index a61fb1719ea3..000000000000
--- a/dev-java/jmock/jmock-2.6.1-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Library for testing Java code using mock objects"
-HOMEPAGE="http://jmock.org"
-SRC_URI="http://jmock.org/downloads/${P}-jars.zip"
-
-LICENSE="BSD"
-SLOT="2"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-
-CDEPEND="dev-java/hamcrest-core:1.3
- dev-java/hamcrest-library:1.3
- dev-java/junit:4"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CDEPEND}"
-
-DEPEND="app-arch/unzip
- >=virtual/jdk-1.8:*
- ${CDEPEND}"
-
-JAVA_GENTOO_CLASSPATH="hamcrest-core-1.3,hamcrest-library-1.3,junit-4"
-
-S="${WORKDIR}/${P}"
-
-src_unpack() {
- unpack ${A}
- cd "${S}" || die
- unzip ${P}.jar -d src || die
- rm *.jar || die
-}
-
-src_prepare() {
- default
- find -name "*.class" -delete || die
-}
diff --git a/dev-java/jna/Manifest b/dev-java/jna/Manifest
index 8790b86f56df..667bee66b18f 100644
--- a/dev-java/jna/Manifest
+++ b/dev-java/jna/Manifest
@@ -1 +1,2 @@
-DIST jna-5.11.0.tar.gz 107424072 BLAKE2B 9f79a0b0e643c8213c159785814dffaeee2dc3b332647c5c887aa5a6e707be5241d392e75730b803b21362fcbdcee82d7049bcdfb7956039f1534e3cd8e170cf SHA512 0122b56c24125e5dea541bee71b43f127df50c8f90b2c240271c677a8d598d9640bb920bd3390856124e8b1bc89a9bd41d2b6c569ae7275f68a13c08fd07027d
+DIST jna-5.13.0.tar.gz 116027625 BLAKE2B 1f2bc7ab28adefa0bbad122957ed2c6ef55ab88e79b30c05f0d2d88e0e05152f7bb5e28097906a7e24f78304dfa2b225587adb0ada205ca3c2ceac1cdbab3f04 SHA512 aefd0becc03bb7fd753e8c5cdcbcb20f6d590125a5fb03048bef0024e826ab0254b750e22a8bb26bea38cc89262ad45e5030b666cb2c857b01b15a6a55379a0f
+DIST jna-5.14.0.tar.gz 116167104 BLAKE2B 3ccb9e53e843690f9c90272c2e94fb2d903dd9bbcb7b6294a6ed3d973d3945c2b3fe5ac5e4c472830a7d07f4f32d84e781bb2ae3bd73cdd1894392331554e2cd SHA512 5758898052b3b099cd8b40046f764813377970a428e66370ba2a7125403661e25379d55fdb0ff75de32d66cbff20f0a05f438b2ca18804cc53f2edf4b1927ff0
diff --git a/dev-java/jna/files/5.10.0-build.xml.patch b/dev-java/jna/files/5.10.0-build.xml.patch
deleted file mode 100644
index 242845bfd356..000000000000
--- a/dev-java/jna/files/5.10.0-build.xml.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/build.xml b/build.xml
-index ed104c2..cd8895c 100644
---- a/build.xml
-+++ b/build.xml
-@@ -182,9 +182,9 @@
-
- <target name="-prepare-anttools">
- <subant antfile="build-ant-tools.xml" buildpath="${basedir}"></subant>
-- <taskdef name="BuildArmSoftFloatDetector" classname="com.sun.jna.BuildArmSoftFloatDetector" classpath="${build}/ant-tools:$lib/asm-8.0.1.jar" />
-- <taskdef name="CalcAndroidVersion" classname="com.sun.jna.ant.CalcAndroidVersion" classpath="${build}/ant-tools:lib/asm-8.0.1.jar" />
-- <taskdef name="ModuleGenerator" classname="com.sun.jna.ant.ModuleGenerator" classpath="${build}/ant-tools:lib/asm-8.0.1.jar" />
-+ <taskdef name="BuildArmSoftFloatDetector" classname="com.sun.jna.BuildArmSoftFloatDetector" classpath="${build}/ant-tools:${gentoo.classpath}" />
-+ <taskdef name="CalcAndroidVersion" classname="com.sun.jna.ant.CalcAndroidVersion" classpath="${build}/ant-tools:${gentoo.classpath}" />
-+ <taskdef name="ModuleGenerator" classname="com.sun.jna.ant.ModuleGenerator" classpath="${build}/ant-tools:${gentoo.classpath}" />
- </target>
-
- <target name="-dynamic-properties" depends="-prepare-anttools">
-@@ -385,7 +385,9 @@
- <pathelement path="${build}/${jar}"/>
- <pathelement path="${test.classes}"/>
- <pathelement path="${build}/${testjar}"/>
-+ <!--
- <pathelement path="lib/clover.jar"/>
-+ -->
- <path refid="test.libs"/>
- </path>
- </target>
-@@ -1265,8 +1267,10 @@ cd ..
- <mkdir dir="${build}/jws"/>
- <copy todir="${build}/jws" file="${build}/${jar}"/>
- <copy todir="${build}/jws" file="${build}/${testjar}"/>
-+ <!--
- <copy todir="${build}/jws" file="lib/junit.jar"/>
- <copy todir="${build}/jws" file="lib/clover.jar"/>
-+ -->
- <jar jarfile="${build}/jws/jnidispatch.jar" createUnicodeExtraFields="never" encoding="UTF-8">
- <fileset dir="${build.native}" includes="*jnidispatch.*"/>
- </jar>
-diff --git a/contrib/platform/build.xml b/contrib/platform/build.xml
-index 47fa8ed..a623ce6 100644
---- a/contrib/platform/build.xml
-+++ b/contrib/platform/build.xml
-@@ -115,9 +115,9 @@
-
- <target name="-prepare-anttools">
- <subant antfile="build-ant-tools.xml" buildpath="${basedir}/../../"></subant>
-- <taskdef name="BuildArmSoftFloatDetector" classname="com.sun.jna.BuildArmSoftFloatDetector" classpath="${basedir}/../../build/ant-tools:${basedir}/../../lib/asm-8.0.1.jar" />
-- <taskdef name="CalcAndroidVersion" classname="com.sun.jna.ant.CalcAndroidVersion" classpath="${basedir}/../../build/ant-tools:${basedir}/../../lib/asm-8.0.1.jar" />
-- <taskdef name="ModuleGenerator" classname="com.sun.jna.ant.ModuleGenerator" classpath="${basedir}/../../build/ant-tools:${basedir}/../../lib/asm-8.0.1.jar" />
-+ <taskdef name="BuildArmSoftFloatDetector" classname="com.sun.jna.BuildArmSoftFloatDetector" classpath="${basedir}/../../build/ant-tools:${gentoo.classpath}" />
-+ <taskdef name="CalcAndroidVersion" classname="com.sun.jna.ant.CalcAndroidVersion" classpath="${basedir}/../../build/ant-tools:${gentoo.classpath}" />
-+ <taskdef name="ModuleGenerator" classname="com.sun.jna.ant.ModuleGenerator" classpath="${basedir}/../../build/ant-tools:${gentoo.classpath}" />
- </target>
-
- <macrodef name="build-manifest">
diff --git a/dev-java/jna/files/jna-5.11.0-no-Werror.patch b/dev-java/jna/files/jna-5.11.0-no-Werror.patch
new file mode 100644
index 000000000000..629a1a4452de
--- /dev/null
+++ b/dev-java/jna/files/jna-5.11.0-no-Werror.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/888813
+--- a/native/Makefile
++++ b/native/Makefile
+@@ -356,11 +356,11 @@ ifeq ($(CC),gcc)
+ GCC_MAJOR_VERSION = $(shell gcc -dumpversion | cut -f 1 -d '.')
+ ifneq ($(GCC_MAJOR_VERSION),4)
+ ifneq ($(GCC_MAJOR_VERSION),3)
+- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable -Wno-alloca-larger-than
++ LOC_CC_OPTS=-Wno-unknown-warning-option -Wno-clobbered -Wno-unused-variable -Wno-alloca-larger-than
+ endif
+ endif
+ else
+- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable
++ LOC_CC_OPTS=-Wno-unknown-warning-option -Wno-clobbered -Wno-unused-variable
+ endif
+
+ # Enable 64-bit builds if the arch demands it
diff --git a/dev-java/jna/files/jna-5.13.0-LibCTest.patch b/dev-java/jna/files/jna-5.13.0-LibCTest.patch
new file mode 100644
index 000000000000..8cc9da563ed3
--- /dev/null
+++ b/dev-java/jna/files/jna-5.13.0-LibCTest.patch
@@ -0,0 +1,12 @@
+Bug #906053
+--- a/contrib/platform/test/com/sun/jna/platform/linux/LibCTest.java
++++ b/contrib/platform/test/com/sun/jna/platform/linux/LibCTest.java
+@@ -71,7 +71,7 @@ public class LibCTest extends TestCase {
+ }
+
+ @Test
+- public void testStatvfs() throws IOException, InterruptedException {
++ public void noTestStatvfs() throws IOException, InterruptedException {
+ Statvfs vfs = new Statvfs();
+
+ String testDirectory = "/";
diff --git a/dev-java/jna/files/jna-5.13.0-testpath.patch b/dev-java/jna/files/jna-5.13.0-testpath.patch
new file mode 100644
index 000000000000..7bd918c4181a
--- /dev/null
+++ b/dev-java/jna/files/jna-5.13.0-testpath.patch
@@ -0,0 +1,103 @@
+This patch solves several test failures on com.sun.jna.LibraryLoadTest like
+"Expected JNA native library at build/native-linux-x86-64/libtestlib.so is missing"
+--- a/test/com/sun/jna/Paths.java
++++ b/test/com/sun/jna/Paths.java
+@@ -47,12 +47,12 @@ public interface Paths {
+ USING_CLOVER
+ ? "build.clover" : "build");
+ String CLASSES = BUILDDIR + (Platform.isWindowsCE() ? "" : "/classes");
+- String JNAJAR = BUILDDIR + "/jna.jar";
++ String JNAJAR = "jna.jar";
+
+ String TESTPATH = Platform.isWindowsCE()
+ ? "/Storage Card/"
+ : System.getProperty("jna.nativedir",
+- BUILDDIR + "/native-" + Platform.RESOURCE_PREFIX + "/");
++ BUILDDIR + "/native/");
+ String TESTJAR = BUILDDIR + "/jna-test.jar";
+ String TESTJAR2 = BUILDDIR + "/jna-test2.jar";
+ String TESTJAR3 = BUILDDIR + "/jna-test3.jar";
+1) testAvoidJarUnpacking(com.sun.jna.JNALoadTest)
+java.lang.ClassNotFoundException: com.sun.jna.Native
+ at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
+ at com.sun.jna.JNALoadTest$TestLoader.findClass(JNALoadTest.java:64)
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+ at java.lang.Class.forName0(Native Method)
+ at java.lang.Class.forName(Class.java:348)
+ at com.sun.jna.JNALoadTest.testAvoidJarUnpacking(JNALoadTest.java:94)
+2) testLoadAndUnloadFromJar(com.sun.jna.JNALoadTest)
+java.lang.ClassNotFoundException: com.sun.jna.Native
+ at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
+ at com.sun.jna.JNALoadTest$TestLoader.findClass(JNALoadTest.java:64)
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+ at java.lang.Class.forName0(Native Method)
+ at java.lang.Class.forName(Class.java:348)
+ at com.sun.jna.JNALoadTest.testLoadAndUnloadFromJar(JNALoadTest.java:128)
+3) testAvoidResourcePathLoading(com.sun.jna.JNALoadTest)
+java.lang.Error: Expected JNA library at build/classes/com/sun/jna/linux-x86-64/libjnidispatch.so is missing
+ at com.sun.jna.JNALoadTest.assertLibraryExists(JNALoadTest.java:87)
+ at com.sun.jna.JNALoadTest$TestLoader.<init>(JNALoadTest.java:54)
+ at com.sun.jna.JNALoadTest.testAvoidResourcePathLoading(JNALoadTest.java:109)
+4) testLoadFromUnicodePath(com.sun.jna.JNALoadTest)
+java.lang.ClassNotFoundException: com.sun.jna.Native
+ at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
+ at com.sun.jna.JNALoadTest$TestLoader.findClass(JNALoadTest.java:64)
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+ at java.lang.Class.forName0(Native Method)
+ at java.lang.Class.forName(Class.java:348)
+ at com.sun.jna.JNALoadTest.testLoadFromUnicodePath(JNALoadTest.java:255)
+5) testLoadAndUnloadFromResourcePath(com.sun.jna.JNALoadTest)
+java.lang.Error: Expected JNA library at build/classes/com/sun/jna/linux-x86-64/libjnidispatch.so is missing
+ at com.sun.jna.JNALoadTest.assertLibraryExists(JNALoadTest.java:87)
+ at com.sun.jna.JNALoadTest$TestLoader.<init>(JNALoadTest.java:54)
+ at com.sun.jna.JNALoadTest.testLoadAndUnloadFromResourcePath(JNALoadTest.java:184)
+--- a/test/com/sun/jna/JNALoadTest.java
++++ b/test/com/sun/jna/JNALoadTest.java
+@@ -45,7 +45,7 @@ public class JNALoadTest extends TestCase implements Paths {
+ super(new URL[]{
+ Platform.isWindowsCE()
+ ? new File("/Storage Card/" + (fromJar ? "jna.jar" : "test.jar")).toURI().toURL()
+- : new File(BUILDDIR + (fromJar ? "/jna.jar" : "/classes")).toURI().toURL()},
++ : new File((fromJar ? "jna.jar" : "/classes")).toURI().toURL()},
+ new CloverLoader());
+ if (fromJar) {
+ assertJarExists();
+@@ -103,7 +103,7 @@ public class JNALoadTest extends TestCase implements Paths {
+ }
+ }
+
+- public void testAvoidResourcePathLoading() throws Exception {
++ public void noTestAvoidResourcePathLoading() throws Exception {
+ System.setProperty("jna.noclasspath", "true");
+ try {
+ Class<?> cls = Class.forName("com.sun.jna.Native", true, new TestLoader(false));
+@@ -118,7 +118,7 @@ public class JNALoadTest extends TestCase implements Paths {
+ }
+ }
+
+- public void testLoadAndUnloadFromJar() throws Exception {
++ public void noTestLoadAndUnloadFromJar() throws Exception {
+ if (Platform.isIntel() && (! Platform.is64Bit())) {
+ System.out.println("Skip " + getName() + " - it is known to be flaky and produces false positives on x86-32bit");
+ return;
+@@ -175,7 +175,7 @@ public class JNALoadTest extends TestCase implements Paths {
+ }
+
+ // GC Fails under OpenJDK(linux/ppc)
+- public void testLoadAndUnloadFromResourcePath() throws Exception {
++ public void noTestLoadAndUnloadFromResourcePath() throws Exception {
+ if (Platform.isIntel() && (! Platform.is64Bit())) {
+ System.out.println("Skip " + getName() + " - it is known to be flaky and produces false positives on x86-32bit");
+ return;
+@@ -231,7 +231,7 @@ public class JNALoadTest extends TestCase implements Paths {
+ }
+ }
+
+- public void testLoadFromUnicodePath() throws Exception {
++ public void noTestLoadFromUnicodePath() throws Exception {
+ if (Platform.isWindows()) {
+ String vendor = System.getProperty("java.vendor");
+ if (vendor != null) {
diff --git a/dev-java/jna/jna-5.11.0-r1.ebuild b/dev-java/jna/jna-5.11.0-r1.ebuild
deleted file mode 100644
index d1b4898f918a..000000000000
--- a/dev-java/jna/jna-5.11.0-r1.ebuild
+++ /dev/null
@@ -1,95 +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.11.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}/5.10.0-build.xml.patch"
- "${FILESDIR}/5.11.0-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"
-
-src_prepare() {
- default
-
- 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)' -DSTRIP='$(tc-getSTRIP)'"
- # Parallel build does not respect dependency relationships between objects
- ANT_OPTS+=" -DEXTRA_MAKE_OPTS='${MAKEOPTS} -j1'"
-
- # 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/jna/jna-5.13.0-r1.ebuild b/dev-java/jna/jna-5.13.0-r1.ebuild
new file mode 100644
index 000000000000..a09e852950df
--- /dev/null
+++ b/dev-java/jna/jna-5.13.0-r1.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ net.java.dev.jna:jna:${PV}
+ net.java.dev.jna:jna-platform:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple toolchain-funcs
+
+DESCRIPTION="Java Native Access"
+HOMEPAGE="https://github.com/java-native-access/jna"
+SRC_URI="https://github.com/java-native-access/jna/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="|| ( Apache-2.0 LGPL-2.1+ )"
+SLOT="4"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+
+CDEPEND="
+ >=dev-libs/libffi-3.4:=
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/reflections:0
+ )
+ ${CDEPEND}
+ x11-libs/libXt
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CDEPEND}
+"
+
+DOCS=( README.md CHANGES.md OTHERS TODO )
+PATCHES=(
+ "${FILESDIR}/5.11.0-makefile-flags.patch"
+ "${FILESDIR}/jna-5.11.0-no-Werror.patch"
+ "${FILESDIR}/jna-5.13.0-testpath.patch"
+ "${FILESDIR}/jna-5.13.0-LibCTest.patch"
+)
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+ java-pkg_clean
+ mkdir -p "res/META-INF" || die
+ echo "Main-Class: com.sun.jna.Native" > "res/META-INF/MANIFEST.MF" || die
+
+ # https://github.com/java-native-access/jna/blob/5.13.0/build.xml#L402-L407
+ sed \
+ -e "/VERSION =/s:TEMPLATE:${PV}:" \
+ -e '/VERSION_NATIVE =/s:TEMPLATE:5.1.0:' \
+ -i src/com/sun/jna/Version.java || die
+}
+
+src_compile() {
+ einfo "Compiling jna.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.sun.jna"
+ JAVA_JAR_FILENAME="jna.jar"
+ JAVA_RESOURCE_DIRS="res"
+ JAVA_SRC_DIR="src"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":jna.jar"
+ rm -r target || die
+
+ einfo "Compiling jna-platform.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.sun.jna.platform"
+ JAVA_JAR_FILENAME="jna-platform.jar"
+ JAVA_RESOURCE_DIRS=""
+ JAVA_SRC_DIR="contrib/platform/src"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":jna-platform.jar"
+ rm -r target || die
+
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_SRC_DIR=(
+ "src"
+ "contrib/platform/src"
+ )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+
+ einfo "Generating headers com_sun_jna_Native.h com_sun_jna_Function.h"
+ ejavac -h native -classpath "src" \
+ "src/com/sun/jna/Function.java" \
+ "src/com/sun/jna/Native.java" || die
+
+ einfo "Building native library"
+ cd native || die
+ local args=(
+ CC="$(tc-getCC)"
+ STRIP=true
+ DYNAMIC_LIBFFI=true
+ )
+ # Using -j1 since otherwise fails to build:
+ # cannot find ../build/native/libtestlib.so: No such file or directory
+ # [Makefile:505: ../build/native/libtestlib2.so] Error 1
+ emake -j1 "${args[@]}"
+}
+
+src_test() {
+ JAVA_TEST_EXTRA_ARGS=(
+ -Djna.nosys=true
+ -Djna.boot.library.path=build/native
+ -Djna.library.path=build/native
+ )
+ JAVA_TEST_GENTOO_CLASSPATH="
+ junit-4
+ reflections
+ "
+
+ JAVA_TEST_SRC_DIR="contrib/platform/test"
+ rm -r contrib/platform/test/com/sun/jna/platform/{mac,unix,win32} || die
+ JAVA_TEST_EXCLUDES=(
+ # 1) testGetXAttr(com.sun.jna.platform.linux.XAttrUtilTest)
+ # java.io.IOException: errno: 95
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:85)
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:70)
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:56)
+ # at com.sun.jna.platform.linux.XAttrUtilTest.testGetXAttr(XAttrUtilTest.java:83)
+ # 2) setXAttr(com.sun.jna.platform.linux.XAttrUtilTest)
+ # java.io.IOException: errno: 95
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:85)
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:70)
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:56)
+ # at com.sun.jna.platform.linux.XAttrUtilTest.setXAttr(XAttrUtilTest.java:53)
+ com.sun.jna.platform.linux.XAttrUtilTest
+ )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_SRC_DIR="test"
+ rm -r test/com/sun/jna/wince || die
+ rm -r test/com/sun/jna/win32 || die
+
+ # 1) testLoadFromJarAbsolute(com.sun.jna.LibraryLoadTest)
+ # java.lang.UnsatisfiedLinkError: Unable to load library '/libtestlib-jar.so':
+ # /libtestlib-jar.so: cannot open shared object file: No such file or directory
+ jar cvf build/jna-test.jar \
+ -C build/native libtestlib-jar.so \
+ -C test com/sun/jna/data || die
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":build/jna-test.jar"
+
+ JAVA_TEST_EXCLUDES=(
+ com.sun.jna.CallbacksTest # Needs to run separately
+ com.sun.jna.DirectTest # Needs to run separately
+ com.sun.jna.NativeTest # Needs to run separately
+ com.sun.jna.TypeMapperTest # Needs to run separately
+ com.sun.jna.UnionTest # Needs to run separately
+ com.sun.jna.VMCrashProtectionTest # Needs to run separately
+ )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY=(
+ com.sun.jna.CallbacksTest
+ com.sun.jna.DirectTest
+ com.sun.jna.UnionTest
+ )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY=( com.sun.jna.NativeTest )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY=( com.sun.jna.VMCrashProtectionTest )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY=( com.sun.jna.TypeMapperTest )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ default
+ java-pkg_dojar jna.jar jna-platform.jar
+ java-pkg_doso build/native/libjnidispatch.so
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc "src/*"
+ java-pkg_dosrc "contrib/platform/src/*"
+ fi
+}
diff --git a/dev-java/jna/jna-5.14.0-r1.ebuild b/dev-java/jna/jna-5.14.0-r1.ebuild
new file mode 100644
index 000000000000..183ba4f35027
--- /dev/null
+++ b/dev-java/jna/jna-5.14.0-r1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ net.java.dev.jna:jna:${PV}
+ net.java.dev.jna:jna-platform:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple toolchain-funcs
+
+DESCRIPTION="Java Native Access"
+HOMEPAGE="https://github.com/java-native-access/jna"
+SRC_URI="https://github.com/java-native-access/jna/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="|| ( Apache-2.0 LGPL-2.1+ )"
+SLOT="4"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+
+CDEPEND="
+ >=dev-libs/libffi-3.4:=
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ x11-base/xorg-proto:0
+ test? (
+ dev-java/reflections:0
+ )
+ ${CDEPEND}
+ x11-libs/libXt
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CDEPEND}
+"
+
+DOCS=( README.md CHANGES.md OTHERS TODO )
+PATCHES=(
+ "${FILESDIR}/5.11.0-makefile-flags.patch"
+ "${FILESDIR}/jna-5.11.0-no-Werror.patch"
+ "${FILESDIR}/jna-5.13.0-testpath.patch"
+ "${FILESDIR}/jna-5.13.0-LibCTest.patch"
+)
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+ java-pkg_clean
+ mkdir -p "res/META-INF" || die
+ echo "Main-Class: com.sun.jna.Native" > "res/META-INF/MANIFEST.MF" || die
+
+ # https://github.com/java-native-access/jna/blob/5.13.0/build.xml#L402-L407
+ sed \
+ -e "/VERSION =/s:TEMPLATE:${PV}:" \
+ -e '/VERSION_NATIVE =/s:TEMPLATE:5.1.0:' \
+ -i src/com/sun/jna/Version.java || die
+}
+
+src_compile() {
+ einfo "Compiling jna.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.sun.jna"
+ JAVA_JAR_FILENAME="jna.jar"
+ JAVA_RESOURCE_DIRS="res"
+ JAVA_SRC_DIR="src"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":jna.jar"
+ rm -r target || die
+
+ einfo "Compiling jna-platform.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.sun.jna.platform"
+ JAVA_JAR_FILENAME="jna-platform.jar"
+ JAVA_RESOURCE_DIRS=""
+ JAVA_SRC_DIR="contrib/platform/src"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":jna-platform.jar"
+ rm -r target || die
+
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_SRC_DIR=(
+ "src"
+ "contrib/platform/src"
+ )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+
+ einfo "Generating headers com_sun_jna_Native.h com_sun_jna_Function.h"
+ ejavac -h native -classpath "src" \
+ "src/com/sun/jna/Function.java" \
+ "src/com/sun/jna/Native.java" || die
+
+ einfo "Building native library"
+ cd native || die
+ local args=(
+ CC="$(tc-getCC)"
+ STRIP=true
+ DYNAMIC_LIBFFI=true
+ )
+ # Using -j1 since otherwise fails to build:
+ # cannot find ../build/native/libtestlib.so: No such file or directory
+ # [Makefile:505: ../build/native/libtestlib2.so] Error 1
+ emake -j1 "${args[@]}"
+}
+
+src_test() {
+ JAVA_TEST_EXTRA_ARGS=(
+ -Djna.nosys=true
+ -Djna.boot.library.path=build/native
+ -Djna.library.path=build/native
+ )
+ JAVA_TEST_GENTOO_CLASSPATH="
+ junit-4
+ reflections
+ "
+
+ JAVA_TEST_SRC_DIR="contrib/platform/test"
+ rm -r contrib/platform/test/com/sun/jna/platform/{mac,unix,win32} || die
+ JAVA_TEST_EXCLUDES=(
+ # 1) testGetXAttr(com.sun.jna.platform.linux.XAttrUtilTest)
+ # java.io.IOException: errno: 95
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:85)
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:70)
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:56)
+ # at com.sun.jna.platform.linux.XAttrUtilTest.testGetXAttr(XAttrUtilTest.java:83)
+ # 2) setXAttr(com.sun.jna.platform.linux.XAttrUtilTest)
+ # java.io.IOException: errno: 95
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:85)
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:70)
+ # at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:56)
+ # at com.sun.jna.platform.linux.XAttrUtilTest.setXAttr(XAttrUtilTest.java:53)
+ com.sun.jna.platform.linux.XAttrUtilTest
+ )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_SRC_DIR="test"
+ rm -r test/com/sun/jna/wince || die
+ rm -r test/com/sun/jna/win32 || die
+
+ # 1) testLoadFromJarAbsolute(com.sun.jna.LibraryLoadTest)
+ # java.lang.UnsatisfiedLinkError: Unable to load library '/libtestlib-jar.so':
+ # /libtestlib-jar.so: cannot open shared object file: No such file or directory
+ jar cvf build/jna-test.jar \
+ -C build/native libtestlib-jar.so \
+ -C test com/sun/jna/data || die
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":build/jna-test.jar"
+
+ JAVA_TEST_EXCLUDES=(
+ com.sun.jna.CallbacksTest # Needs to run separately
+ com.sun.jna.DirectTest # Needs to run separately
+ com.sun.jna.NativeTest # Needs to run separately
+ com.sun.jna.TypeMapperTest # Needs to run separately
+ com.sun.jna.UnionTest # Needs to run separately
+ com.sun.jna.VMCrashProtectionTest # Needs to run separately
+ )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY=(
+ com.sun.jna.CallbacksTest
+ com.sun.jna.DirectTest
+ com.sun.jna.UnionTest
+ )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY=( com.sun.jna.NativeTest )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY=( com.sun.jna.VMCrashProtectionTest )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY=( com.sun.jna.TypeMapperTest )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ default
+ java-pkg_dojar jna.jar jna-platform.jar
+ java-pkg_doso build/native/libjnidispatch.so
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc "src/*"
+ java-pkg_dosrc "contrib/platform/src/*"
+ fi
+}
diff --git a/dev-java/jna/metadata.xml b/dev-java/jna/metadata.xml
index 3966f68718c9..8e530dbd3fd1 100644
--- a/dev-java/jna/metadata.xml
+++ b/dev-java/jna/metadata.xml
@@ -6,6 +6,6 @@
<name>Java</name>
</maintainer>
<upstream>
- <remote-id type="github">twall/jna</remote-id>
+ <remote-id type="github">java-native-access/jna</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jnacl/metadata.xml b/dev-java/jnacl/metadata.xml
index 85fac4d279d3..4be1272c32fb 100644
--- a/dev-java/jnacl/metadata.xml
+++ b/dev-java/jnacl/metadata.xml
@@ -9,5 +9,6 @@
</longdescription>
<upstream>
<bugs-to>https://github.com/neilalexander/jnacl/issues</bugs-to>
+ <remote-id type="github">neilalexander/jnacl</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/jnr-constants/Manifest b/dev-java/jnr-constants/Manifest
index f9acdf1a6917..4d84788ddc47 100644
--- a/dev-java/jnr-constants/Manifest
+++ b/dev-java/jnr-constants/Manifest
@@ -1 +1 @@
-DIST jnr-constants-0.10.3-sources.tar.gz 261921 BLAKE2B f8137455c067e774dd30d64fe457dd859692315f43415bdfbffa4870b981db26de23d73fa7682bbd924523ac17dec56caa7078580cf817d8df3eae4d87c61343 SHA512 f7cd6a3778670c9835f8dce87c8470c8b8cfeda6f30d68051c09dae40c4f7dd7db88bed016450c33ab5c8da9a802b4bd050adf358680d5ec6735467e398404dc
+DIST jnr-constants-0.10.4.tar.gz 261915 BLAKE2B 61ed310837a27cd5a03627db6d9a2c46874f9140d046ac653c6deb6409411ab69b6103c52aab64fff99a311fc9d9e85bf97bd361291e13685d836cdf7253993c SHA512 4ab82699e58523a5f3dbc5cfba333569a605e9d3fafe828fed726aa8fe08de0aba32af431d53565ed19b67f08a63b7a28d533617aa424f95b552e3d6ec3994cb
diff --git a/dev-java/jnr-constants/jnr-constants-0.10.3.ebuild b/dev-java/jnr-constants/jnr-constants-0.10.3.ebuild
deleted file mode 100644
index 03889724207a..000000000000
--- a/dev-java/jnr-constants/jnr-constants-0.10.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 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/jnr/jnr-constants/archive/refs/tags/jnr-constants-0.10.3.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~x86" --ebuild jnr-constants-0.10.3.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.github.jnr:jnr-constants:0.10.3"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A set of platform constants (e.g. errno values)"
-HOMEPAGE="https://github.com/jnr/jnr-constants"
-SRC_URI="https://github.com/jnr/${PN}/archive/refs/tags/${P}.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/jnr-constants/jnr-constants-0.10.4.ebuild b/dev-java/jnr-constants/jnr-constants-0.10.4.ebuild
new file mode 100644
index 000000000000..a4db1ae9b528
--- /dev/null
+++ b/dev-java/jnr-constants/jnr-constants-0.10.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.github.jnr:jnr-constants:0.10.4"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A set of platform constants (e.g. errno values)"
+HOMEPAGE="https://github.com/jnr/jnr-constants"
+SRC_URI="https://github.com/jnr/${PN}/archive/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/${PN}-${P}"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.jnrproject.constants"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/jnr-posix/Manifest b/dev-java/jnr-posix/Manifest
index 99cac23713ca..b71b1747be9a 100644
--- a/dev-java/jnr-posix/Manifest
+++ b/dev-java/jnr-posix/Manifest
@@ -1 +1 @@
-DIST jnr-posix-3.1.15.tar.gz 120573 BLAKE2B 8035308440e444876d8d955ec3dd0b9d41f770436b53f964795a183ed7bd676dda8787c37425c488af2aa0accc948b86d1773e7e97ee5bcdaf209383dfda24a6 SHA512 6c8cd6d43c509ef7c16901d02983b823464b3437019233021398b2a9dfc85923db87c585e2f8248f080447a990e308feff25bbbf2a7261019dcae66c22e14a91
+DIST jnr-posix-3.1.16.tar.gz 120553 BLAKE2B b430d4699b84e9c4139291c34c328ade600adade68081167d3b47ce52caa6f96a818702dcb26652d186d7de825b32b00f2f1329b79f9c459cbbb6f6a4260d9f3 SHA512 988221a9a499db64c2bc3fe4e798fb77ce1bce44a31b51ace4f1e52b9a76a3af9a1521477a64413b44f36da9ab5446feb1b2ffd4e7dc50be055f6092d9e1f977
diff --git a/dev-java/jnr-posix/files/jnr-posix-3.1.15-FileTest.patch b/dev-java/jnr-posix/files/jnr-posix-3.1.15-FileTest.patch
deleted file mode 100644
index a186087c626d..000000000000
--- a/dev-java/jnr-posix/files/jnr-posix-3.1.15-FileTest.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/src/test/java/jnr/posix/FileTest.java
-+++ b/src/test/java/jnr/posix/FileTest.java
-@@ -215,7 +216,7 @@ public class FileTest {
- dir.delete();
- }
-
-- @Test
-+ @Ignore @Test
- public void flockTest() throws Throwable {
- if (!Platform.IS_WINDOWS) {
- File tmp = File.createTempFile("flockTest", "tmp");
-@@ -236,7 +237,7 @@ public class FileTest {
- }
- }
-
-- @Test
-+ @Ignore @Test
- public void dupTest() throws Throwable {
- File tmp = File.createTempFile("dupTest", "tmp");
- RandomAccessFile raf = new RandomAccessFile(tmp, "rw");
-@@ -303,7 +304,7 @@ public class FileTest {
- }
- }
-
-- @Test
-+ @Ignore @Test
- public void fcntlDupfdWithArgTest() throws Throwable {
- if (!Platform.IS_WINDOWS) {
- File tmp = File.createTempFile("dupTest", "tmp");
-@@ -327,7 +328,7 @@ public class FileTest {
- }
- }
-
-- @Test
-+ @Ignore @Test
- public void closeTest() throws Throwable {
- File tmp = File.createTempFile("closeTest", "tmp");
- int fd = getFdFromDescriptor(JavaLibCHelper.getDescriptorFromChannel(new RandomAccessFile(tmp, "rw").getChannel()));
diff --git a/dev-java/jnr-posix/jnr-posix-3.1.15.ebuild b/dev-java/jnr-posix/jnr-posix-3.1.15.ebuild
deleted file mode 100644
index 0fd709bffe6a..000000000000
--- a/dev-java/jnr-posix/jnr-posix-3.1.15.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# 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/jnr/jnr-posix/archive/jnr-posix-3.1.15.tar.gz --slot 3.0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild jnr-posix-3.1.15.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.github.jnr:jnr-posix:3.1.15"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Common cross-project/cross-platform POSIX APIs"
-HOMEPAGE="https://github.com/jnr/jnr-posix"
-SRC_URI="https://github.com/jnr/${PN}/archive/${P}.tar.gz"
-
-LICENSE="EPL-2.0 GPL-2 LGPL-2.1"
-SLOT="3.0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CP_DEPEND="
- >=dev-java/jnr-ffi-2.2.12:2
- dev-java/jnr-constants:0
-"
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-11:*"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-src_test() {
- sed \
- -e '/import org.junit.Test/a import org.junit.Ignore;' \
- -i src/test/java/jnr/posix/FileTest.java || die
-
- if use ppc64; then
- # Ignore testMessageHdrMultipleControl
- # https://bugs.gentoo.org/866199
- # https://github.com/jnr/jnr-posix/issues/178
- sed \
- -e '/testMessageHdrMultipleControl/i @Ignore' \
- -e '/import org.junit.Test/a import org.junit.Ignore;' \
- -i src/test/java/jnr/posix/LinuxPOSIXTest.java || die
- fi
-
- if use arm; then
- # https://bugs.gentoo.org/866692
- sed \
- -e '/utimensatRelativePath()/i @Ignore' \
- -e '/utimesDefaultValuesTest()/i @Ignore' \
- -e '/futimeTest()/i @Ignore' \
- -e '/utimesTest()/i @Ignore' \
- -e '/utimesPointerTest()/i @Ignore' \
- -e '/utimensatAbsolutePath()/i @Ignore' \
- -e '/futimens()/i @Ignore' \
- -i src/test/java/jnr/posix/FileTest.java || die
- sed \
- -e '/import org.junit.Test/a import org.junit.Ignore;' \
- -e '/ioprioThreadedTest()/i @Ignore' \
- -e '/testPosixFadvise()/i @Ignore' \
- -i src/test/java/jnr/posix/LinuxPOSIXTest.java || die
- sed \
- -e '/import org.junit.Test/a import org.junit.Ignore;' \
- -e '/testSetRlimitPointerLinux()/i @Ignore' \
- -e '/testGetRLimitPointer()/i @Ignore' \
- -i src/test/java/jnr/posix/ProcessTest.java || die
- fi
-
- JAVA_TEST_EXCLUDES=(
- # https://github.com/jnr/jnr-posix/blob/jnr-posix-3.1.15/pom.xml#L185
- # <exclude>**/windows/*Test.java</exclude>
- "jnr.posix.windows.WindowsFileTest"
- "jnr.posix.windows.WindowsHelpersTest"
- # Next 3 tests need to run separately, otherwise would fail.
- "jnr.posix.GroupTest"
- "jnr.posix.NlLanginfoTest"
- "jnr.posix.SpawnTest"
- )
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" -ge "17" ]] ; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
- # Some tests in jnr.posix.FileTest fail with jdk-17
- eapply "${FILESDIR}/jnr-posix-3.1.15-FileTest.patch"
- fi
- java-pkg-simple_src_test
- JAVA_TEST_RUN_ONLY="jnr.posix.SpawnTest"
- java-pkg-simple_src_test
- JAVA_TEST_RUN_ONLY="jnr.posix.NlLanginfoTest"
- java-pkg-simple_src_test
- JAVA_TEST_RUN_ONLY="jnr.posix.GroupTest"
- java-pkg-simple_src_test
-}
diff --git a/dev-java/jnr-posix/jnr-posix-3.1.16.ebuild b/dev-java/jnr-posix/jnr-posix-3.1.16.ebuild
new file mode 100644
index 000000000000..dde31b7e4fa4
--- /dev/null
+++ b/dev-java/jnr-posix/jnr-posix-3.1.16.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.github.jnr:jnr-posix:3.1.16"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Common cross-project/cross-platform POSIX APIs"
+HOMEPAGE="https://github.com/jnr/jnr-posix"
+SRC_URI="https://github.com/jnr/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="EPL-2.0 GPL-2 LGPL-2.1"
+SLOT="3.0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ >=dev-java/jnr-ffi-2.2.12:2
+ dev-java/jnr-constants:0
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.jnrproject.posix"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -i src/test/java/jnr/posix/FileTest.java || die
+
+ if use ppc64; then
+ # Ignore testMessageHdrMultipleControl
+ # https://bugs.gentoo.org/866199
+ # https://github.com/jnr/jnr-posix/issues/178
+ sed \
+ -e '/testMessageHdrMultipleControl/i @Ignore' \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -i src/test/java/jnr/posix/LinuxPOSIXTest.java || die
+ fi
+
+ if use arm; then
+ # https://bugs.gentoo.org/866692
+ sed \
+ -e '/utimensatRelativePath()/i @Ignore' \
+ -e '/utimesDefaultValuesTest()/i @Ignore' \
+ -e '/futimeTest()/i @Ignore' \
+ -e '/utimesTest()/i @Ignore' \
+ -e '/utimesPointerTest()/i @Ignore' \
+ -e '/utimensatAbsolutePath()/i @Ignore' \
+ -e '/futimens()/i @Ignore' \
+ -i src/test/java/jnr/posix/FileTest.java || die
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/ioprioThreadedTest()/i @Ignore' \
+ -e '/testPosixFadvise()/i @Ignore' \
+ -i src/test/java/jnr/posix/LinuxPOSIXTest.java || die
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/testSetRlimitPointerLinux()/i @Ignore' \
+ -e '/testGetRLimitPointer()/i @Ignore' \
+ -i src/test/java/jnr/posix/ProcessTest.java || die
+ fi
+
+ JAVA_TEST_EXCLUDES=(
+ # https://github.com/jnr/jnr-posix/blob/jnr-posix-3.1.16/pom.xml#L185
+ # <exclude>**/windows/*Test.java</exclude>
+ "jnr.posix.windows.WindowsFileTest"
+ "jnr.posix.windows.WindowsHelpersTest"
+ )
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if [[ "${vm_version}" -ge "17" ]] ; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.util=ALL-UNNAMED )
+ # Some tests in jnr.posix.FileTest fail with jdk-17
+ sed \
+ -e '/flockTest()/i @Ignore' \
+ -e '/dupTest()/i @Ignore' \
+ -e '/closeTest()/i @Ignore' \
+ -e '/fcntlDupfdWithArgTest()/i @Ignore' \
+ -i src/test/java/jnr/posix/FileTest.java || die
+ fi
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/joda-time/Manifest b/dev-java/joda-time/Manifest
index f88a1d4f314c..9acad90f89bc 100644
--- a/dev-java/joda-time/Manifest
+++ b/dev-java/joda-time/Manifest
@@ -1,3 +1 @@
-DIST joda-time-2.10.14.tar.gz 1055876 BLAKE2B c70ad0724ad5e6d6f6a158ed05eb9711095cd353bf72a43a3edaa8ce36db1f92e0c18cd2e2b73c34e4126962d0ef97bf83844f9de924df8aadce7d38ffdb7975 SHA512 061c341c35f5187422fe402500384f5933c1eb0c77963f65b5295b8f9b479adf29f944269173d9a93e4a288c583777b21f085afe4c5da6c695f14801636f0fc1
-DIST joda-time-2.11.0.tar.gz 1055531 BLAKE2B 98b64e0419a1b7379d3467d012a1162afedb537048c86f8e9069ef5e21649dfe01d458a8e74ccb5dc052940b6edd2eba73ad86ae25bc20d3e62ec73a7a56a605 SHA512 357c8b3d1cc1cdd164cf2486a55ab9489db43c4243f140da5c21ee84bc3a801f51e2e2c2a257dbe2d2ce41bc33c676854136eddf3606ed7da69dcd3a10b2d010
DIST joda-time-2.11.2.tar.gz 1055885 BLAKE2B 52281dcb530734dd33d0c01b07c9fbc5e7afd507a97e6926f7ef442dc91907d999d126289bc609e6fabf6af4267e47e5a79452d462a3f0561c405e6cd7f5976f SHA512 ea43deea4ef751fc631c35589adec0c5d9d0a5c836c1a24ada5d994cb9310a55b5af69260afd2647516c64fc84b892a2e25fca4bb38e852982c40f7caa5858b3
diff --git a/dev-java/joda-time/joda-time-2.10.14.ebuild b/dev-java/joda-time/joda-time-2.10.14.ebuild
deleted file mode 100644
index c1c4f5c954e5..000000000000
--- a/dev-java/joda-time/joda-time-2.10.14.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# 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/JodaOrg/joda-time/archive/v2.10.14.tar.gz --slot 0 --keywords "~amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" --ebuild joda-time-2.10.14.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="joda-time:joda-time:2.10.1r40"
-JAVA_TESTING_FRAMEWORKS="junit"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Date and time library to replace JDK date handling"
-HOMEPAGE="https://www.joda.org/joda-time/"
-SRC_URI="https://github.com/JodaOrg/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-
-# Common dependencies
-# POM: ${P}/pom.xml
-# org.joda:joda-convert:1.9.2 -> >=dev-java/joda-convert-2.2.1:0
-
-CP_DEPEND="
- >=dev-java/joda-convert-2.2.2-r2:0
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/${P}"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/res"
-JAVA_AUTOMATIC_MODULE_NAME="org.joda.time"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- default
- # move .properties files to JAVA_RESOURCE_DIRS
- mkdir -p src/main/res
- cp -r src/main/{java/*,res} || die
- find src/main/res -type f ! -name '*.properties' -exec rm -rf {} + || die
-}
-
-src_compile() {
- java-pkg-simple_src_compile
-
- # Generate the missing "org/joda/time/tz/data/ZoneInfoMap"
- # Arguments from https://github.com/JodaOrg/joda-time/blob/v2.10.10/pom.xml#L413-L427
- "$(java-config -J)" \
- -cp ${PN}.jar \
- org.joda.time.tz.ZoneInfoCompiler \
- -src "${JAVA_SRC_DIR}/org/joda/time/tz/src" \
- -dst "src/main/res/org/joda/time/tz/data" \
- africa \
- antarctica \
- asia \
- australasia \
- europe \
- northamerica \
- southamerica \
- etcetera \
- backward
-
- # add org/joda/time/tz to the jar file
- jar -uf joda-time.jar -C src/main/res org/joda/time/tz/data || die
-}
diff --git a/dev-java/joda-time/joda-time-2.11.0.ebuild b/dev-java/joda-time/joda-time-2.11.0.ebuild
deleted file mode 100644
index f9c720bebe0a..000000000000
--- a/dev-java/joda-time/joda-time-2.11.0.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# 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/JodaOrg/joda-time/archive/v2.11.0.tar.gz --slot 0 --keywords "~amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" --ebuild joda-time-2.11.0.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="joda-time:joda-time:2.11.0"
-JAVA_TESTING_FRAMEWORKS="junit"
-
-inherit edo java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Date and time library to replace JDK date handling"
-HOMEPAGE="https://www.joda.org/joda-time/"
-SRC_URI="https://github.com/JodaOrg/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-
-# Common dependencies
-# POM: pom.xml
-# org.joda:joda-convert:1.9.2 -> >=dev-java/joda-convert-2.2.2:0
-
-CP_DEPEND="dev-java/joda-convert:0"
-
-DEPEND=">=virtual/jdk-1.8:*
- ${CP_DEPEND}"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-PATCHES=(
- # Enable tests for jdk-11 in
- # src/test/java/org/joda/time/TestDateTimeZone.java
- "${FILESDIR}/joda-time-2.11.0-test.patch"
-)
-
-DOCS=( NOTICE.txt README.md RELEASE-NOTES.txt )
-
-S="${WORKDIR}/${P}"
-
-JAVA_AUTOMATIC_MODULE_NAME="org.joda.time"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/res"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-JAVA_TEST_RUN_ONLY="org.joda.time.TestAllPackages"
-
-src_prepare() {
- default
- # move .properties files to JAVA_RESOURCE_DIRS
- mkdir -p src/main/res
- cp -r src/main/{java/*,res} || die
- find src/main/res -type f ! -name '*.properties' -exec rm -rf {} + || die
-}
-
-src_compile() {
- java-pkg-simple_src_compile
-
- # Generate the missing "org/joda/time/tz/data/ZoneInfoMap"
- # Arguments from https://github.com/JodaOrg/joda-time/blob/v2.10.10/pom.xml#L413-L427
- edo "$(java-config -J)" \
- -cp ${PN}.jar \
- org.joda.time.tz.ZoneInfoCompiler \
- -src "${JAVA_SRC_DIR}/org/joda/time/tz/src" \
- -dst "${P}/src/main/resources/org/joda/time/tz/data" \
- africa \
- antarctica \
- asia \
- australasia \
- europe \
- northamerica \
- southamerica \
- etcetera \
- backward
-
- java-pkg_addres ${PN}.jar "${P}"/src/main/resources
-}
-
-src_test() {
- # There are test failures in
- # src/test/java/org/joda/time/TestDateTimeZone.java
- # with jdk higher than 11
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -le 11 ; then
- java-pkg-simple_src_test
- else
- einfo "Tests restricted to <=jdk-11"
- fi
-}
diff --git a/dev-java/joda-time/joda-time-2.11.2.ebuild b/dev-java/joda-time/joda-time-2.11.2.ebuild
index 127dbb0f8733..9df6e71a7775 100644
--- a/dev-java/joda-time/joda-time-2.11.2.ebuild
+++ b/dev-java/joda-time/joda-time-2.11.2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 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/JodaOrg/joda-time/archive/v2.11..tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" --ebuild joda-time-2.11..ebuild
+# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/JodaOrg/joda-time/archive/v2.11..tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos" --ebuild joda-time-2.11..ebuild
EAPI=8
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/JodaOrg/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
# Common dependencies
# POM: pom.xml
diff --git a/dev-java/jol-core/jol-core-0.16-r1.ebuild b/dev-java/jol-core/jol-core-0.16-r1.ebuild
new file mode 100644
index 000000000000..18b26a837482
--- /dev/null
+++ b/dev-java/jol-core/jol-core-0.16-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.openjdk.jol:jol-core:0.16"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+MY_PN="${PN%-core}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Java Object Layout: Core"
+HOMEPAGE="https://openjdk.org/projects/code-tools/jol/"
+SRC_URI="https://github.com/openjdk/jol/archive/${PV}.tar.gz -> jol-${PV}.tar.gz"
+
+LICENSE="GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/asm:9
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+"
+
+S="${WORKDIR}/${MY_P}"
+
+JAVA_SRC_DIR="${PN}/src/main/java"
+JAVA_RESOURCE_DIRS="${PN}/src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,asm-9"
+JAVA_TEST_SRC_DIR="${PN}/src/test/java"
diff --git a/dev-java/jol-core/jol-core-0.16.ebuild b/dev-java/jol-core/jol-core-0.16.ebuild
deleted file mode 100644
index a36940d2c74b..000000000000
--- a/dev-java/jol-core/jol-core-0.16.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.openjdk.jol:jol-core:0.16"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PN="${PN%-core}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Java Object Layout: Core"
-HOMEPAGE="https://openjdk.java.net/projects/code-tools/jol/"
-SRC_URI="https://github.com/openjdk/jol/archive/refs/tags/${PV}.tar.gz -> jol-${PV}.tar.gz"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- dev-java/asm:4
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${MY_P}"
-
-JAVA_SRC_DIR="${PN}/src/main/java"
-JAVA_RESOURCE_DIRS=( "${PN}/src/main/resources" )
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,asm-4"
-JAVA_TEST_SRC_DIR="${PN}/src/test"
-
-src_install() {
- java-pkg-simple_src_install
- einstalldocs # https://bugs.gentoo.org/789582
-}
diff --git a/dev-java/jsch-agent-proxy/jsch-agent-proxy-0.0.9.ebuild b/dev-java/jsch-agent-proxy/jsch-agent-proxy-0.0.9.ebuild
index eea65095cac2..0a12a3826469 100644
--- a/dev-java/jsch-agent-proxy/jsch-agent-proxy-0.0.9.ebuild
+++ b/dev-java/jsch-agent-proxy/jsch-agent-proxy-0.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
@@ -40,6 +40,16 @@ S="${WORKDIR}/jsch-agent-proxy-${MY_COMMIT}"
JAVA_GENTOO_CLASSPATH="jna-4,jsch"
JAVA_GENTOO_CLASSPATH_EXTRA="jsch-agentproxy-core.jar:jsch-agentproxy-pageant.jar:jsch-agentproxy-sshagent.jar:jsch-agentproxy-usocket-jna.jar:jsch-agentproxy-usocket-nc.jar"
+JAVADOC_CLASSPATH="${JAVA_GENTOO_CLASSPATH}"
+JAVADOC_SRC_DIRS=(
+ "${PN}-core"
+ "${PN}-jsch"
+ "${PN}-pageant"
+ "${PN}-sshagent"
+ "${PN}-usocket-jna"
+ "${PN}-usocket-nc"
+ "${PN}-connector-factory"
+)
src_compile() {
JAVA_SRC_DIR="${PN}-core"
@@ -77,17 +87,7 @@ src_compile() {
java-pkg-simple_src_compile
rm -fr target || die
- JAVA_SRC_DIR=(
- "${PN}-core"
- "${PN}-jsch"
- "${PN}-pageant"
- "${PN}-sshagent"
- "${PN}-usocket-jna"
- "${PN}-usocket-nc"
- "${PN}-connector-factory"
- )
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
+ use doc && ejavadoc
}
src_install() {
diff --git a/dev-java/json-simple/Manifest b/dev-java/json-simple/Manifest
index 2d05f995e396..ca0205d6e68a 100644
--- a/dev-java/json-simple/Manifest
+++ b/dev-java/json-simple/Manifest
@@ -1 +1 @@
-DIST json-simple-1.1.tar.gz 22154 BLAKE2B 594717df45d56b4e70cee9aadca661a9da7e19c2a77e5ab2176396c48bdf061f25db0e4cbf5b93b12dc862dfca593a71dcd154f24c914a4d2ff510e3f4b11570 SHA512 f09cb298254a8f35b534670d6a1801eeaf58385529f459f413aed556df1ac577bea6e678a32065077abc851dc310b3af38b818f1737bd255f05e756d7e2da066
+DIST json-simple-2.3.1.tar.gz 56230 BLAKE2B c4a196ffa67a729a1964db8c30b95ccb0bef0c213a76e37e463153a895a5fdb8c6f02f6d188d28f0b56665bf24c75dbdeeb42d88297c8df5e1b409606b0f04f2 SHA512 b80ea33480f8b32511ee2db5cfacc9c02cb5dbf0765b41fb76e099f41ac6c0ea69d75fdf0a5f783e3bfb7b4f200c49ca192a3321e0d8480b3a8b67ada469dbb1
diff --git a/dev-java/json-simple/json-simple-1.1-r2.ebuild b/dev-java/json-simple/json-simple-1.1-r2.ebuild
deleted file mode 100644
index d73b7b55ba0c..000000000000
--- a/dev-java/json-simple/json-simple-1.1-r2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="source doc"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_P="tag_release_1_1_1"
-
-DESCRIPTION="Simple Java toolkit for JSON"
-HOMEPAGE="http://www.json.org"
-SRC_URI="https://github.com/fangyidong/json-simple/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${PN}-${MY_P}"
-
-JAVA_SRC_DIR="src/main"
-
-src_prepare() {
- default
- rm -rv src/test || die
-}
diff --git a/dev-java/json-simple/json-simple-2.3.1.ebuild b/dev-java/json-simple/json-simple-2.3.1.ebuild
new file mode 100644
index 000000000000..db1876d94be6
--- /dev/null
+++ b/dev-java/json-simple/json-simple-2.3.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="source doc test"
+MAVEN_ID="com.github.cliftonlabs:json-simple:2.3.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java 7+ toolkit to quickly develop RFC 4627 JSON compatible applications"
+HOMEPAGE="https://www.json.org"
+SRC_URI="https://github.com/cliftonlabs/json-simple/archive/json-simple-${PV}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="2.3"
+KEYWORDS="amd64 ~arm ~arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/json-simple/metadata.xml b/dev-java/json-simple/metadata.xml
index 0c65410880a7..22e6f7bfad33 100644
--- a/dev-java/json-simple/metadata.xml
+++ b/dev-java/json-simple/metadata.xml
@@ -13,6 +13,6 @@
website,I found that wrappers to JSONObject and JSONArray can be simpler,
due to the simplicity of JSON itself. So I wrote the JSON.simple package.</longdescription>
<upstream>
- <remote-id type="google-code">json-simple</remote-id>
+ <remote-id type="github">cliftonlabs/json-simple</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/json-smart/Manifest b/dev-java/json-smart/Manifest
new file mode 100644
index 000000000000..08a0756cd16f
--- /dev/null
+++ b/dev-java/json-smart/Manifest
@@ -0,0 +1,2 @@
+DIST json-smart-1.3.3.tar.gz 49430 BLAKE2B 805e16e0de5321a2e8164468757e9b722849f0fe90fd6822cc99f7afffd9f4e480fc4e14c2bbd12b325a27abc8ca7e93b4a17ce56ac352117cef336e1ebb3fe9 SHA512 c6006c6a00a085ea8810e18889450d11240dc3671351f20602214db418107808df1f413fe67c199d6529e4c0087f2533601826666ac4fa493bcaf72d2c18ed83
+DIST json-smart-2.5.0.tar.gz 88839 BLAKE2B 25760bd9c9ddecfef2fc3e60fc28b83def2223c7fc1e52ef39b3e6d01e5f2f29f36a35bfd43fc4d6ce6d5df5fcb25f59b1c86e1864a3044c69a6d0010335280b SHA512 4bffadf68998da4b63b34bcc9dbf804fd2b21b8d9514de4e155127d5a2eb3db74c7e396959b54c61c08e169eeed85dff3ad2f1d899cfddca53e501c45cebae21
diff --git a/dev-java/json-smart/json-smart-1.3.3.ebuild b/dev-java/json-smart/json-smart-1.3.3.ebuild
new file mode 100644
index 000000000000..c174d7e6acb7
--- /dev/null
+++ b/dev-java/json-smart/json-smart-1.3.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="net.minidev:json-smart:1.3.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="old JSON parser"
+HOMEPAGE="https://urielch.github.io"
+SRC_URI="https://github.com/netplex/json-smart-v1/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/${PN}-v1-${PV}/json-smart"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
diff --git a/dev-java/json-smart/json-smart-2.5.0.ebuild b/dev-java/json-smart/json-smart-2.5.0.ebuild
new file mode 100644
index 000000000000..04a95c02d05f
--- /dev/null
+++ b/dev-java/json-smart/json-smart-2.5.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ net.minidev:accessors-smart:${PV}
+ net.minidev:json-smart:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JSON Small and Fast Parser"
+HOMEPAGE="https://urielch.github.io"
+SRC_URI="https://github.com/netplex/json-smart-v2/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-v2-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+RESTRICT="test" #839681
+
+DEPEND="
+ dev-java/asm:9
+ >=virtual/jdk-1.8:*
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+src_compile() {
+ einfo "Compiling accessors-smart.jar"
+ JAVA_CLASSPATH_EXTRA="asm-9"
+ JAVA_JAR_FILENAME="accessors-smart.jar"
+ JAVA_SRC_DIR="accessors-smart/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":accessors-smart.jar"
+ rm -r target || die
+
+ einfo "Compiling json-smart.jar"
+ JAVA_JAR_FILENAME="json-smart.jar"
+ JAVA_SRC_DIR="json-smart/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":json-smart.jar"
+ rm -r target || die
+
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_SRC_DIR=(
+ accessors-smart/src/main/java
+ json-smart/src/main/java
+ )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_install() {
+ einstalldocs
+ java-pkg_dojar "accessors-smart.jar"
+ java-pkg_dojar "json-smart.jar"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc "accessors-smart/src/main/java/*"
+ java-pkg_dosrc "json-smart/src/main/java/*"
+ fi
+}
diff --git a/dev-java/json-smart/metadata.xml b/dev-java/json-smart/metadata.xml
new file mode 100644
index 000000000000..d5b2471c532c
--- /dev/null
+++ b/dev-java/json-smart/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">netplex/json-smart-v1</remote-id>
+ <remote-id type="github">netplex/json-smart-v2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/json/Manifest b/dev-java/json/Manifest
index c41dbd88dc04..05f94127628e 100644
--- a/dev-java/json/Manifest
+++ b/dev-java/json/Manifest
@@ -1 +1,4 @@
-DIST json-20220320.tar.gz 229462 BLAKE2B 9d549e4e905e2a63985b0b2d9a6cfbf7483776799d6b907455356940b48242fda9344874f1625da06215991eae1cfa1e87f3f8f0a204807795ed50f3f9afdbc2 SHA512 1bcd99c69201ea6609a41ec1679467504cd129a8c5a9caede0829cd8eb70b0e59e504a4bc409f57e6b27091e11acbf6108830c6f1fe16919d0cb1daff643bdf0
+DIST json-20231013.tar.gz 240211 BLAKE2B c0594f89c2b02273c736c0fc362f1e3d519d3d88b7e708e64bbd5ca202f539368e9856e311dd9ad42a24c317cfd727feed5af215fbc5e9bbcb18e797323684c8 SHA512 4c5eb3e9ef77825c9e7b874c9084b5bb75b39c527c3cb419fc45171e0d11b24796931a2d16255500ed86610da3ac7805b302ec0b1051f97c97795580dca7c183
+DIST json-20240205.tar.gz 245788 BLAKE2B 2c4fa44aa16a53cce153879af6a31364e21e9cc140bc7472535d2a8d2d0fc346502fd4a6e5022d326c80fe23557ce4ce408faf142bcdeec0c9b22aca13b044df SHA512 55e79510819b8e318e15b04cab317fdfd9785ac6b8fe60ef740b2f1eb7298548622556b968def89f4f2eb7761765149f192747b0966698b431cfeb9f2ea72284
+DIST json-path-2.1.0.jar 189658 BLAKE2B 2813abfc3b6c758f600bb5e8f8b73eac8dc2a642d461bc26c569a650378ea65cebf691afe975fa2dca406eb324863c36c4623b21c1df2cb83c92e6859b5a9d85 SHA512 c16fc68a04945ad49eb96c38f68a8b4ff351ab1bbc51685f42d22723b2dee4b827ba45cb6b8167199e3f4d22e668ef58665558beec8e11399ac547e9fcebd9f6
+DIST json-path-2.9.0.jar 276633 BLAKE2B bb83d6c6d972ea05dce3ef9878c0db0b93d6168cb796b63365a4615434c24edaad86bf021d6bf8736d67504ed8803c423efe01a323e094a59854cd9e73eb6862 SHA512 9a9dbb2cd36662c8049419ed891290602baeca2549eb7df62122cb20c91e66bc8c2c0e5e13199c4a70bf0b6e62ea4c2601f84e4c79d2af25ff1704481c86740a
diff --git a/dev-java/json/json-20220320.ebuild b/dev-java/json/json-20220320.ebuild
deleted file mode 100644
index 86e62eab5ee3..000000000000
--- a/dev-java/json/json-20220320.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# 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://codeload.github.com/stleary/JSON-java/tar.gz/20220320 --slot 0 --keywords "~amd64 ~x86" --ebuild json-20220320.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.json:json:20220320"
-# We don't have com.jayway.jsonpath:json-path
-# JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A reference implementation of a JSON package in Java"
-HOMEPAGE="https://github.com/stleary/JSON-java"
-SRC_URI="https://codeload.github.com/stleary/JSON-java/tar.gz/${PV} -> ${P}.tar.gz"
-
-LICENSE="JSON"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# Compile dependencies
-# POM: pom.xml
-# test? com.jayway.jsonpath:json-path:2.1.0 -> !!!groupId-not-found!!!
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-# test? org.mockito:mockito-core:1.9.5 -> >=dev-java/mockito-1.9.5:0
-
-DEPEND="
- >=virtual/jdk-1.8:*"
-# test? (
-# !!!groupId-not-found!!!
-# >=dev-java/mockito-1.9.5:0
-# )
-#"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-DOCS=( {README,SECURITY}.md )
-
-S="${WORKDIR}/JSON-java-${PV}"
-
-JAVA_SRC_DIR="src/main/java"
-
-# JAVA_TEST_GENTOO_CLASSPATH="!!!groupId-not-found!!!,junit-4,mockito"
-# JAVA_TEST_SRC_DIR="src/test/java"
-# JAVA_TEST_RESOURCE_DIRS=(
-# "src/test/resources"
-# )
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/json/json-20231013-r1.ebuild b/dev-java/json/json-20231013-r1.ebuild
new file mode 100644
index 000000000000..33b11fb0702e
--- /dev/null
+++ b/dev-java/json/json-20231013-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.json:json:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A reference implementation of a JSON package in Java"
+HOMEPAGE="https://github.com/stleary/JSON-java"
+SRC_URI="https://codeload.github.com/stleary/JSON-java/tar.gz/${PV} -> ${P}.tar.gz
+ test? (
+ https://repo1.maven.org/maven2/com/jayway/jsonpath/json-path/2.1.0/json-path-2.1.0.jar
+ )"
+S="${WORKDIR}/JSON-java-${PV}"
+
+LICENSE="JSON"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/asm:9
+ dev-java/json-smart:2
+ dev-java/mockito:4
+ dev-java/slf4j-api:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {CONTRIBUTING,README,SECURITY}.md )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.json"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ asm-9
+ json-smart-2
+ junit-4
+ mockito-4
+ slf4j-api
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/json-path-2.1.0.jar" # Test compile dependency
+
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
+ fi
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/json/json-20240205-r1.ebuild b/dev-java/json/json-20240205-r1.ebuild
new file mode 100644
index 000000000000..49f6e727afd8
--- /dev/null
+++ b/dev-java/json/json-20240205-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.json:json:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A reference implementation of a JSON package in Java"
+HOMEPAGE="https://github.com/stleary/JSON-java"
+JPV="2.9.0"
+SRC_URI="https://codeload.github.com/stleary/JSON-java/tar.gz/${PV} -> ${P}.tar.gz
+ test? (
+ https://repo1.maven.org/maven2/com/jayway/jsonpath/json-path/${JPV}/json-path-${JPV}.jar
+ )"
+S="${WORKDIR}/JSON-java-${PV}"
+
+LICENSE="JSON"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/asm:9
+ dev-java/json-smart:2
+ dev-java/mockito:4
+ dev-java/slf4j-api:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {CONTRIBUTING,README,SECURITY}.md )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.json"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ asm-9
+ json-smart-2
+ junit-4
+ mockito-4
+ slf4j-api
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ JAVA_TEST_EXTRA_ARGS=( -Xss2M )
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/json-path-${JPV}.jar" # Test compile dependency
+
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
+ fi
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jsonrpc2-base/Manifest b/dev-java/jsonrpc2-base/Manifest
new file mode 100644
index 000000000000..30ad08f11225
--- /dev/null
+++ b/dev-java/jsonrpc2-base/Manifest
@@ -0,0 +1 @@
+DIST jsonrpc2-base-1.38.2.tar.bz2 31673 BLAKE2B e7ee637f4794f9c0c8e80824200976b8bdb762d14c0d0716bf60e840cc166c8be5794e186294072eb14543f04d37b342f74308b30f9477f066b9785ea94c38b1 SHA512 8084730e36e30d950a57ed6ae6cbe8bb4e5719e428881e394450a5811faa97b33d63991c5f12cb8d17896ead507f96917568881e9923676a942ac229ef146934
diff --git a/dev-java/jsonrpc2-base/jsonrpc2-base-1.38.2.ebuild b/dev-java/jsonrpc2-base/jsonrpc2-base-1.38.2.ebuild
new file mode 100644
index 000000000000..239213069dcd
--- /dev/null
+++ b/dev-java/jsonrpc2-base/jsonrpc2-base-1.38.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.thetransactioncompany:jsonrpc2-base:1.38.2"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Represent, parse and serialise JSON-RPC 2.0 messages"
+HOMEPAGE="https://software.dzhuvinov.com/json-rpc-2.0-base.html"
+SRC_URI="https://bitbucket.org/thetransactioncompany/json-rpc-2.0-base/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+CP_DEPEND="dev-java/json-smart:1"
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+S="${WORKDIR}/thetransactioncompany-json-rpc-2.0-base-75e66af02953"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_EXCLUDES=( "com.thetransactioncompany.jsonrpc2.util.TestEnumDay" )
diff --git a/dev-java/jsonrpc2-base/metadata.xml b/dev-java/jsonrpc2-base/metadata.xml
new file mode 100644
index 000000000000..8ab1b3b4387d
--- /dev/null
+++ b/dev-java/jsonrpc2-base/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="bitbucket">thetransactioncompany/json-rpc-2.0-base</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jsonrpc2-server/Manifest b/dev-java/jsonrpc2-server/Manifest
new file mode 100644
index 000000000000..7993af44cfce
--- /dev/null
+++ b/dev-java/jsonrpc2-server/Manifest
@@ -0,0 +1 @@
+DIST jsonrpc2-server-1.11.1.tar.bz2 12155 BLAKE2B 5bf0140a45cfe51e9aedff49c881ab9a98a35599d8dc564d6a0d7b77bb3fe252edf93e75ebd7f4dfb9573e0adf71416174e170c3d79d32f626edccc7bdc103d1 SHA512 637f07d51abb86d0febe170856ba8b3ca39b885ac9f2525033beee57d8db8704a48857cab4f434f2638e8c61defaed857c6ca65a41e93392d13975a4a44f3f2f
diff --git a/dev-java/jsonrpc2-server/jsonrpc2-server-1.11.1.ebuild b/dev-java/jsonrpc2-server/jsonrpc2-server-1.11.1.ebuild
new file mode 100644
index 000000000000..b54e6d257874
--- /dev/null
+++ b/dev-java/jsonrpc2-server/jsonrpc2-server-1.11.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.thetransactioncompany:jsonrpc2-server:1.11.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Server framework for processing JSON-RPC 2.0 messages"
+HOMEPAGE="https://software.dzhuvinov.com/json-rpc-2.0-server.html"
+SRC_URI="https://bitbucket.org/thetransactioncompany/json-rpc-2.0-server/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+PROPERTIES="test_network"
+RESTRICT="test" # single test, need access to google
+
+CP_DEPEND="
+ dev-java/jsonrpc2-base:1
+ dev-java/json-smart:1
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ dev-java/javax-servlet-api:3.0
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+S="${WORKDIR}/thetransactioncompany-json-rpc-2.0-server-40234a8c2029"
+
+JAVA_CLASSPATH_EXTRA="javax-servlet-api-3.0"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+
+src_prepare() {
+ default
+
+ rm -r src/main/java/com/thetransactioncompany/jsonrpc2/server/examples ||
+ die 'rm example codes'
+}
diff --git a/dev-java/jsonrpc2-server/metadata.xml b/dev-java/jsonrpc2-server/metadata.xml
new file mode 100644
index 000000000000..0432ff238301
--- /dev/null
+++ b/dev-java/jsonrpc2-server/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="bitbucket">thetransactioncompany/json-rpc-2.0-server</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jspeex/Manifest b/dev-java/jspeex/Manifest
deleted file mode 100644
index 37f71379208c..000000000000
--- a/dev-java/jspeex/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jspeex-0.9.7.zip 733580 BLAKE2B d5bfabb0857975ab8ca74d54401f6d4008c7386d8e2464c7386ecccfde8dcf3b92580d6168e4ff06cf8c1a27ca848abc7f630be7f19c6a0245beb8a9cb66c3f6 SHA512 9673bef155f1cccc45bc0a0d5596e79b48ba044309ba3446548b570bc7bad60b4b22cc7761749b0769114c7341b9fab6db8e8a155070f9de6fe2730c843199fe
diff --git a/dev-java/jspeex/files/jspeex-0.9.7-remove-junit-report.patch b/dev-java/jspeex/files/jspeex-0.9.7-remove-junit-report.patch
deleted file mode 100644
index d3446420f720..000000000000
--- a/dev-java/jspeex/files/jspeex-0.9.7-remove-junit-report.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Naur a/build.xml b/build.xml
---- a/build.xml 2014-02-18 23:32:25.440819710 +0100
-+++ b/build.xml 2014-02-18 23:32:43.017053558 +0100
-@@ -218,12 +218,6 @@
- </fileset>
- </batchtest>
- </junit>
-- <junitreport todir="${doc}/junit">
-- <fileset dir="${doc}/junit">
-- <include name="TEST-*.xml"/>
-- </fileset>
-- <report format="noframes" todir="${doc}/junit"/>
-- </junitreport>
- </target>
-
- <!-- ******************************************************************** -->
diff --git a/dev-java/jspeex/files/jspeex-0.9.7-remove-proguard-taskdef.patch b/dev-java/jspeex/files/jspeex-0.9.7-remove-proguard-taskdef.patch
deleted file mode 100644
index eb9e6fc24af2..000000000000
--- a/dev-java/jspeex/files/jspeex-0.9.7-remove-proguard-taskdef.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff -Naur a/build.xml b/build.xml
---- a/build.xml 2014-02-18 23:32:25.440819710 +0100
-+++ b/build.xml 2014-02-18 23:33:26.308555686 +0100
-@@ -57,10 +57,6 @@
-
- <property name="version" value="0.9.7"/>
-
-- <!-- Define additional tasks -->
-- <taskdef name="proguard" classname="proguard.ant.ProGuardTask"
-- classpath="${lib}/proguard3.2.jar" />
--
- <target name="init" description="Initialise ant" depends="clean">
- <tstamp>
- <format property="NOW" pattern="dd/MM/yyyy HH:mm" locale="en"/>
-@@ -138,19 +134,6 @@
- <target name="compress" depends="package"
- description="Package obfuscated JSpeex library" >
- <mkdir dir="${log}"/>
-- <proguard>
---libraryjars ${java.home}/lib/rt.jar
---injars ${dist}/jspeex.jar
---outjar ${dist}/jspeex-obf.jar
---renamesourcefileattribute SourceFile
---keepattributes InnerClasses,SourceFile
---printmapping ${log}/jspeex-obf.map
---overloadaggressively
--
---keep public class * {
-- public protected *;
--}
-- </proguard>
- </target>
-
- <target name="compress-dec-nb" depends="compile-nb"
-@@ -161,18 +144,6 @@
- <attribute name="Main-Class" value="JSpeexDec"/>
- </manifest>
- </jar>
-- <proguard>
---libraryjars ${java.home}/lib/rt.jar
---injars ${dist}/jspeex-dec-nb.jar
---outjar ${dist}/jspeex-dec-nb-obf.jar
---printmapping ${log}/jspeex-dec-nb-obf.map
---overloadaggressively
---defaultpackage ''
--
---keep public class JSpeexDec {
-- public static void main(java.lang.String[]);
--}
-- </proguard>
- </target>
-
- <!-- ******************************************************************** -->
diff --git a/dev-java/jspeex/jspeex-0.9.7-r2.ebuild b/dev-java/jspeex/jspeex-0.9.7-r2.ebuild
deleted file mode 100644
index 404e7773e708..000000000000
--- a/dev-java/jspeex/jspeex-0.9.7-r2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Speex speech codec library for Java"
-HOMEPAGE="http://jspeex.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
-S="${WORKDIR}/${PN}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-CDEPEND="dev-java/ant-core:0"
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*
-"
-DEPEND="
- ${CDEPEND}
- dev-java/junit:0
- >=virtual/jdk-1.8:*
- test? (
- dev-java/ant-junit:0
- )
-"
-BDEPEND="app-arch/unzip"
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-EANT_GENTOO_CLASSPATH="ant-core"
-EANT_BUILD_TARGET="package"
-
-PATCHES=(
- "${FILESDIR}"/${P}-remove-junit-report.patch
- "${FILESDIR}"/${P}-remove-proguard-taskdef.patch
-)
-
-src_prepare() {
- default
-
- java-pkg_clean
-
- cd lib || die
- java-pkg_jar-from --build-only junit
-}
-
-src_test() {
- ANT_TASKS="ant-junit ant-core" eant test
-}
-
-src_install() {
- java-pkg_dojar dist/${PN}.jar
-
- dodoc README TODO
-
- use doc && java-pkg_dojavadoc doc/javadoc
- use source && java-pkg_dosrc src/java/*
-}
diff --git a/dev-java/jspeex/metadata.xml b/dev-java/jspeex/metadata.xml
deleted file mode 100644
index 590b0322bfe5..000000000000
--- a/dev-java/jspeex/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">jspeex</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/jstl-api/Manifest b/dev-java/jstl-api/Manifest
new file mode 100644
index 000000000000..0133dc5a57f2
--- /dev/null
+++ b/dev-java/jstl-api/Manifest
@@ -0,0 +1 @@
+DIST jstl-1.2.7.tar.gz 291252 BLAKE2B 37383f519615f41e4247b1e2207cf1cc57df3a3d01f939bb41cc400dbdb49b331fc0bc3e5ee26c3d9d1e361bd4ec11efd5b6e6a9cc6cafee2b196c1d9491d07f SHA512 2b52869fe5f6d586b8505a2a417790ffad7112db17af667cd52fb567fb6c7ee4a3b3906a072d0d4e7ef463b56a1e5cf9a955b9fbaab97c91a1a286e05add23c3
diff --git a/dev-java/jstl-api/jstl-api-1.2.7.ebuild b/dev-java/jstl-api/jstl-api-1.2.7.ebuild
new file mode 100644
index 000000000000..2d1f36d7caa3
--- /dev/null
+++ b/dev-java/jstl-api/jstl-api-1.2.7.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:1.2.7"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta Standard Tag Library API"
+HOMEPAGE="https://projects.eclipse.org/projects/ee4j.jstl"
+SRC_URI="https://github.com/jakartaee/tags/archive/${PV}-RELEASE.tar.gz -> jstl-${PV}.tar.gz"
+S="${WORKDIR}/tags-${PV}-RELEASE"
+
+LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+CP_DEPEND="
+ dev-java/javax-el-api:2.2
+ dev-java/javax-jsp-api:2.2
+ dev-java/javax-servlet-api:2.5
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+DOCS=(
+ CONTRIBUTING.md
+ NOTICE.md
+ README.md
+)
+
+JAVA_SRC_DIR="api/src/main/java"
diff --git a/dev-java/jstl-api/metadata.xml b/dev-java/jstl-api/metadata.xml
new file mode 100644
index 000000000000..6f95d33b7ee3
--- /dev/null
+++ b/dev-java/jstl-api/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jakartaee/tags</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jstl/Manifest b/dev-java/jstl/Manifest
new file mode 100644
index 000000000000..0133dc5a57f2
--- /dev/null
+++ b/dev-java/jstl/Manifest
@@ -0,0 +1 @@
+DIST jstl-1.2.7.tar.gz 291252 BLAKE2B 37383f519615f41e4247b1e2207cf1cc57df3a3d01f939bb41cc400dbdb49b331fc0bc3e5ee26c3d9d1e361bd4ec11efd5b6e6a9cc6cafee2b196c1d9491d07f SHA512 2b52869fe5f6d586b8505a2a417790ffad7112db17af667cd52fb567fb6c7ee4a3b3906a072d0d4e7ef463b56a1e5cf9a955b9fbaab97c91a1a286e05add23c3
diff --git a/dev-java/jstl/jstl-1.2.7.ebuild b/dev-java/jstl/jstl-1.2.7.ebuild
new file mode 100644
index 000000000000..a7312416c603
--- /dev/null
+++ b/dev-java/jstl/jstl-1.2.7.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.glassfish.web:javax.servlet.jsp.jstl:1.2.7"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jakarta Standard Tag Library API"
+HOMEPAGE="https://projects.eclipse.org/projects/ee4j.jstl"
+SRC_URI="https://github.com/jakartaee/tags/archive/${PV}-RELEASE.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/tags-${PV}-RELEASE"
+
+LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+CP_DEPEND="
+ dev-java/javax-el-api:2.2
+ dev-java/javax-jsp-api:2.2
+ dev-java/javax-servlet-api:2.5
+ dev-java/jstl-api:0
+ dev-java/xalan:0
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+DOCS=(
+ CONTRIBUTING.md
+ NOTICE.md
+ README.md
+)
+
+JAVA_JAR_FILENAME="jstl-impl.jar"
+JAVA_RESOURCE_DIRS="impl/src/main/resources"
+JAVA_SRC_DIR="impl/src/main/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # java-pkg-simple expects resource files in JAVA_RESOURCE_DIRS
+ cp -r impl/src/main/java/* impl/src/main/resources || die
+ find impl/src/main/resources -type f \
+ \( -name '*.java' \
+ -o -name '*.txt' \
+ -o -name '*Parser.jj' \
+ -o -name 'spath.tld' \
+ \) -exec rm -rf {} + || die "deleting classes failed"
+}
diff --git a/dev-java/jstl/metadata.xml b/dev-java/jstl/metadata.xml
new file mode 100644
index 000000000000..6f95d33b7ee3
--- /dev/null
+++ b/dev-java/jstl/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jakartaee/tags</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jta/Manifest b/dev-java/jta/Manifest
deleted file mode 100644
index 50bda7fa8158..000000000000
--- a/dev-java/jta/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jta-1_1-classes.zip 13236 BLAKE2B f2e1ffd531fce804d562c4cdcbe9b260d08eb2bcd79a879f94fbd3e23801849cbf311d8f7410a9776f9a8866027dcedcac479a64444321e8c6b2b23bd9a69054 SHA512 fb8b76223ccdec0ef97b00d7248d74b6316dd67c570667f3a644d03b05cd28af061a191cf71b6624fd4a4195f7bc107281eb847fc4c0ee4606c85c414da79a14
diff --git a/dev-java/jta/jta-1.1-r1.ebuild b/dev-java/jta/jta-1.1-r1.ebuild
deleted file mode 100644
index 4d3770f9bca4..000000000000
--- a/dev-java/jta/jta-1.1-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JTA_ZIP="jta-1_1-classes.zip"
-
-inherit java-pkg-2
-
-DESCRIPTION="The Java Transaction API"
-HOMEPAGE="https://www.oracle.com/java/technologies/jta.html"
-SRC_URI="${JTA_ZIP}"
-
-LICENSE="sun-bcla-jta"
-SLOT=0
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-BDEPEND="app-arch/unzip"
-
-RESTRICT="fetch"
-
-S="${WORKDIR}"
-
-pkg_nofetch() {
- einfo
- einfo " Due to license restrictions, we cannot fetch the"
- einfo " distributables automagically."
- einfo
- einfo " 1. Visit ${HOMEPAGE}"
- einfo " 2. Select 'Java Transaction API Specification 1.1 Maintenance Release'"
- einfo " 3. Download ${JTA_ZIP}"
- einfo " 4. Move file to your DISTDIR directory"
- einfo " 5. Restart the emerge process"
- einfo
-}
-
-src_unpack() {
- unzip -qq "${DISTDIR}"/${JTA_ZIP} || die "failed to unpack"
-}
-
-src_compile() {
- jar cvf jta.jar javax/ || die "failed to create jar"
-}
-
-src_install() {
- java-pkg_dojar jta.jar
-}
diff --git a/dev-java/jta/metadata.xml b/dev-java/jta/metadata.xml
deleted file mode 100644
index 6021501589e0..000000000000
--- a/dev-java/jta/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-java/jtds/metadata.xml b/dev-java/jtds/metadata.xml
index 7b2a6acb973a..bb04112b5b30 100644
--- a/dev-java/jtds/metadata.xml
+++ b/dev-java/jtds/metadata.xml
@@ -6,14 +6,14 @@
<name>Java</name>
</maintainer>
<longdescription>
-jTDS is an open source 100% pure Java (type 4) JDBC 3.0 driver for Microsoft SQL
-Server (6.5, 7, 2000 and 2005) and Sybase (10, 11, 12). jTDS is based on the
-work of the FreeTDS project and is currently the fastest complete JDBC driver
-for SQL Server and Sybase. Starting with release 0.9 jTDS is 100% JDBC 3.0
-compatible, supporting forward-only and scrollable/updateable ResultSets,
-multiple concurrent (completely independent) Statements per Connection and
-implementing all the DatabaseMetaData and ResultSetMetaData methods.
-</longdescription>
+ jTDS is an open source 100% pure Java (type 4) JDBC 3.0 driver for Microsoft SQL
+ Server (6.5, 7, 2000 and 2005) and Sybase (10, 11, 12). jTDS is based on the
+ work of the FreeTDS project and is currently the fastest complete JDBC driver
+ for SQL Server and Sybase. Starting with release 0.9 jTDS is 100% JDBC 3.0
+ compatible, supporting forward-only and scrollable/updateable ResultSets,
+ multiple concurrent (completely independent) Statements per Connection and
+ implementing all the DatabaseMetaData and ResultSetMetaData methods.
+ </longdescription>
<upstream>
<remote-id type="sourceforge">jtds</remote-id>
</upstream>
diff --git a/dev-java/jtidy/files/jtidy-1.0-build.xml.patch b/dev-java/jtidy/files/jtidy-1.0-build.xml.patch
deleted file mode 100644
index ba5e04a7f976..000000000000
--- a/dev-java/jtidy/files/jtidy-1.0-build.xml.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/build.xml.orig 2015-12-01 21:10:36.689000000 +0000
-+++ b/build.xml 2015-12-01 21:11:05.642000000 +0000
-@@ -9,11 +9,7 @@
- <property name="srczip" value="jtidy-${version}-sources.zip"/>
- <property name="allzip" value="jtidy-${version}.zip"/>
-
-- <target name="clean">
-- <delete dir="${target}"/>
-- </target>
--
-- <target name="jar" depends="clean">
-+ <target name="jar">
- <mkdir dir="${target}"/>
- <mkdir dir="${bin}"/>
- <javac srcdir="${src}" destdir="${bin}" source="1.4" target="1.4"/>
-@@ -30,13 +26,13 @@
- </jar>
- </target>
-
-- <target name="javadoc" depends="clean">
-+ <target name="javadoc">
- <javadoc sourcepath="${src}" destdir="${target}/${doc}" windowtitle=" JTidy ${version} " doctitle="JTidy ${version} API documentation">
- <tag name="todo" scope="all" description="To do:"/>
- </javadoc>
- </target>
-
-- <target name="src" depends="clean">
-+ <target name="src">
- <zip destfile="${target}/${srczip}">
- <fileset dir=".">
- <include name="${src}/**"/>
diff --git a/dev-java/jtidy/jtidy-1.0-r1.ebuild b/dev-java/jtidy/jtidy-1.0-r1.ebuild
deleted file mode 100644
index 7c227fdf5e9e..000000000000
--- a/dev-java/jtidy/jtidy-1.0-r1.ebuild
+++ /dev/null
@@ -1,54 +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"
-
-inherit java-pkg-2 java-ant-2
-
-MY_PV="r938"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="Java port of HTML Tidy, an HTML syntax checker and pretty printer"
-HOMEPAGE="http://jtidy.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/${PN}/JTidy/${MY_PV}/${PN}-${MY_PV}-sources.zip -> ${P}.zip"
-LICENSE="HTML-Tidy W3C"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-
-CDEPEND="dev-java/ant-core:0"
-
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*"
-
-BDEPEND="
- app-arch/unzip"
-
-JAVA_ANT_ENCODING="UTF-8"
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-EANT_GENTOO_CLASSPATH="ant-core"
-EANT_BUILD_TARGET="jar"
-
-S="${WORKDIR}"
-
-PATCHES=(
- "${FILESDIR}"/"${P}-build.xml.patch"
-)
-
-src_prepare() {
- default
-}
-
-src_install() {
- java-pkg_newjar "target/${MY_P}.jar"
- java-pkg_dolauncher "jtidy" --main org.w3c.tidy.Tidy
-
- use doc && java-pkg_dojavadoc target/javadoc/
- use source && java-pkg_dosrc src/main/java
-}
diff --git a/dev-java/jtidy/jtidy-1.0-r2.ebuild b/dev-java/jtidy/jtidy-1.0-r2.ebuild
new file mode 100644
index 000000000000..dc23cf930da6
--- /dev/null
+++ b/dev-java/jtidy/jtidy-1.0-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="net.sf.jtidy:jtidy:r${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+MY_PV="r938"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="a Java port of HTML Tidy, a HTML syntax checker and pretty printer"
+HOMEPAGE="https://sourceforge.net/projects/jtidy/"
+SRC_URI="mirror://sourceforge/project/${PN}/JTidy/${MY_PV}/${PN}-${MY_PV}-sources.zip -> ${P}.zip"
+
+LICENSE="HTML-Tidy W3C"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+
+BDEPEND="app-arch/unzip"
+CP_DEPEND=">=dev-java/ant-1.10.14-r3:0"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_MAIN_CLASS="org.w3c.tidy.Tidy"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/jtwig-core/Manifest b/dev-java/jtwig-core/Manifest
new file mode 100644
index 000000000000..0f09a0671e7a
--- /dev/null
+++ b/dev-java/jtwig-core/Manifest
@@ -0,0 +1 @@
+DIST jtwig-core-5.87.0.tar.gz 212205 BLAKE2B 4c7386e0719c05bca6a8ee977e7b936931c095a675b9c7bc83708e7603da7ac8017cdd270d76e148ddf8037da38ca6448c4b20649c47f0e26c8c949e6a6e094a SHA512 245e8e8a4be48be0ad2e803f6868dc9b7190cf4ee2ed33a1e8c7b439d56fa5eeffeb47134f96790f9d98adb664fe40c773990056aaf7c30b665612986dde5202
diff --git a/dev-java/jtwig-core/jtwig-core-5.87.0.ebuild b/dev-java/jtwig-core/jtwig-core-5.87.0.ebuild
new file mode 100644
index 000000000000..f9f32937b91b
--- /dev/null
+++ b/dev-java/jtwig-core/jtwig-core-5.87.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.jtwig:jtwig-core:${PV}.RELEASE"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jtwig Reflection Library"
+HOMEPAGE="https://github.com/jtwig/jtwig-core"
+SRC_URI="https://github.com/jtwig/jtwig-core/archive/${PV}.RELEASE.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}.RELEASE"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+# no tests because
+# net.jperf does not exist
+# org.unitils.reflectionassert does not exist
+RESTRICT="test"
+
+DEPEND="
+ dev-java/commons-lang:3.6
+ dev-java/concurrentlinkedhashmap-lru:0
+ dev-java/guava:0
+ dev-java/jtwig-reflection:0
+ dev-java/parboiled:0
+ dev-java/slf4j-api:0
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/commons-io:1
+ dev-java/commons-lang:3.6
+ dev-java/hamcrest:0
+ dev-java/mockito:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+"
+
+JAVA_CLASSPATH_EXTRA="
+ commons-lang-3.6
+ concurrentlinkedhashmap-lru
+ guava
+ jtwig-reflection
+ parboiled
+ slf4j-api
+"
+
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ commons-io-1
+ commons-lang-3.6
+ hamcrest
+ junit-4
+ mockito
+"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
diff --git a/dev-java/jtwig-core/metadata.xml b/dev-java/jtwig-core/metadata.xml
new file mode 100644
index 000000000000..488c6bf7458e
--- /dev/null
+++ b/dev-java/jtwig-core/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jtwig/jtwig</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jtwig-reflection/Manifest b/dev-java/jtwig-reflection/Manifest
new file mode 100644
index 000000000000..abbce93fde11
--- /dev/null
+++ b/dev-java/jtwig-reflection/Manifest
@@ -0,0 +1 @@
+DIST jtwig-reflection-5.87.0.tar.gz 70500 BLAKE2B 526e009bfabd3ed5d9034285f28980a52fafeee635e07446f32533ea7f6e4546d164ddc577fa25aabdcd80f64b953752a8c48405858534739d52c19474273fcf SHA512 87e4129833951c5c2903d574a9c4986219c7eb61d7ca2c657ecdeb9890d79149ff610ad7ad0002119ba5db0953f342d648eb46d9553185794d7bb7cb0a79e3ab
diff --git a/dev-java/jtwig-reflection/jtwig-reflection-5.87.0.ebuild b/dev-java/jtwig-reflection/jtwig-reflection-5.87.0.ebuild
new file mode 100644
index 000000000000..aaac0c8e5c2c
--- /dev/null
+++ b/dev-java/jtwig-reflection/jtwig-reflection-5.87.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.jtwig:jtwig-reflection:${PV}.RELEASE"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Jtwig Reflection Library"
+HOMEPAGE="https://github.com/jtwig/jtwig-reflection"
+SRC_URI="https://github.com/jtwig/jtwig-reflection/archive/${PV}.RELEASE.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}.RELEASE"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+DEPEND="
+ dev-java/commons-lang:3.6
+ dev-java/guava:0
+ dev-java/slf4j-api:0
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/commons-io:1
+ dev-java/hamcrest:0
+ dev-java/mockito:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+"
+
+JAVA_CLASSPATH_EXTRA="
+ commons-lang-3.6
+ guava
+ slf4j-api
+"
+
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_EXCLUDES=(
+ # Invalid test class; No runnable methods
+ org.jtwig.reflection.integration.example.TestArgumentValueResolver
+ org.jtwig.reflection.integration.example.TestArgumentResolver
+ org.jtwig.reflection.integration.example.TestArgument
+)
+JAVA_TEST_GENTOO_CLASSPATH="
+ commons-io-1
+ hamcrest
+ junit-4
+ mockito
+"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ # Unable to make field private final byte[] java.lang.String.value accessible:
+ # module java.base does not "opens java.lang" to unnamed module @3bc9f433
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
+ fi
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/jtwig-reflection/metadata.xml b/dev-java/jtwig-reflection/metadata.xml
new file mode 100644
index 000000000000..488c6bf7458e
--- /dev/null
+++ b/dev-java/jtwig-reflection/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jtwig/jtwig</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/jul-to-slf4j/Manifest b/dev-java/jul-to-slf4j/Manifest
new file mode 100644
index 000000000000..502a0b5b52a6
--- /dev/null
+++ b/dev-java/jul-to-slf4j/Manifest
@@ -0,0 +1 @@
+DIST slf4j-2.0.3.tar.gz 1435478 BLAKE2B fec1a47882d3bbf508f4faed9cbf9448a23e9749c6c41f241c7e80654e0ce55211cec9228fcf0e666c997a4f24c5b96ad57dc076910e7f05704b02d0cf7db709 SHA512 0fb295f7942c2af8aebe2ecf544ef8326b8cc88de397ee6b37a10249b38150a506f62dcec614eee13519a299b30c6d2481dec3ea235d4b3e6a5241d12639bca6
diff --git a/dev-java/jul-to-slf4j/jul-to-slf4j-2.0.3.ebuild b/dev-java/jul-to-slf4j/jul-to-slf4j-2.0.3.ebuild
new file mode 100644
index 000000000000..cf9d0c136c29
--- /dev/null
+++ b/dev-java/jul-to-slf4j/jul-to-slf4j-2.0.3.ebuild
@@ -0,0 +1,55 @@
+# 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/qos-ch/slf4j/archive/v_2.0.3.tar.gz --slot 0 --keywords "~amd64" --ebuild jul-to-slf4j-2.0.3.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.slf4j:jul-to-slf4j:2.0.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="JUL to SLF4J bridge"
+HOMEPAGE="https://www.slf4j.org"
+SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# org.slf4j:slf4j-api:2.0.3 -> >=dev-java/slf4j-api-2.0.3:0
+
+CP_DEPEND="~dev-java/slf4j-api-${PV}:0"
+
+# Compile dependencies
+# POM: pom.xml
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
+# test? org.slf4j:slf4j-reload4j:2.0.3 -> >=dev-java/slf4j-reload4j-2.0.3:0
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ test? (
+ ~dev-java/slf4j-reload4j-${PV}:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+DOCS=( ../{README,SECURITY}.md )
+
+S="${WORKDIR}/slf4j-v_${PV}/${PN}"
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,slf4j-reload4j"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/jul-to-slf4j/metadata.xml b/dev-java/jul-to-slf4j/metadata.xml
new file mode 100644
index 000000000000..14f9229b142a
--- /dev/null
+++ b/dev-java/jul-to-slf4j/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <doc>https://www.slf4j.org/docs.html</doc>
+ <bugs-to>https://www.slf4j.org/bug-reporting.html</bugs-to>
+ <remote-id type="github">qos-ch/slf4j</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/junit-dataprovider/metadata.xml b/dev-java/junit-dataprovider/metadata.xml
index 75321cfb5598..b37d0d1e2439 100644
--- a/dev-java/junit-dataprovider/metadata.xml
+++ b/dev-java/junit-dataprovider/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">TNG/junit-dataprovider</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/junit/Manifest b/dev-java/junit/Manifest
index 14d9453f2dae..88d8a813f89d 100644
--- a/dev-java/junit/Manifest
+++ b/dev-java/junit/Manifest
@@ -1,2 +1,6 @@
DIST junit-4.13.2.tar.gz 1077147 BLAKE2B c083982cd604812ba3375f90e0486bb3683ecbc3b08e3d14d4541845c5b91cd85100fe86028c70a7cec4e1ab6f6794bcb9333686b3c9b0705eacb75ac36e64da SHA512 29f8f8717efe50b9c7e27805a699f3664a0a068e32ce93e3a1a2bc67a045417490ac04251ef8f8bbd21c77a759bf7e4c6b7a5a07141227bd17de0c526c5031bb
+DIST junit-4.13.2_p20240222.tar.gz 1007781 BLAKE2B 4eeab59aa7ff3cc65c73318acb562523e6ba781da6a0baf28f8fa82042f1affddb583d188c550207a7e267b3475f4a546e8e25eba61d5ba36d13bd7e277ad156 SHA512 89506413b7aca7c2d0b41c8297dde48c1b90a44133bfb3ebf300247c7837839a3aff2d785d891ddb8762427d718eacf016a1d67e2e24edda05f4eae36ca311f1
+DIST junit-5.10.2.tar.gz 2942035 BLAKE2B 4880df74b7cbf23acd34c716f9fce26edd28b31c14d720e129e9e1f06aa35b70c447a0d87904e083a54663fba17e0b2b470678dc32480e0a11c5ebf46d5fe38e SHA512 c36ff7c2bd21f9a64c93b836fc1017a8a96ebcc0079cf1d95b09f5b764435178c2dc2336f2493e7e4df561013693dce4f08dfe0cf3bd76cc9b820313f64d064f
+DIST junit-5.9.2.tar.gz 2882173 BLAKE2B 6baf8768654b399d64237a110dcb6a821ab7dc8964254a5d00f7ffb65c789818aed51ad7042a963a47669042baaeec87b5d0453643a2b0eeeaf6393a42c75fd6 SHA512 5673577f773042b4e253241d27298a60dbac239502788e1d999fbe0d3ffe76b29c90d4fb43660f2e2e00e3e9b8d4c1b6b909ff95dc6e87ccb6f7b009ae6b0e78
DIST junit3.8.2.zip 461426 BLAKE2B 8fbef1ccdf7f71c611976d63f45838f4cb2564da5f5064e7abc39931a3c99039a40660093aba2cc3c70af761171125f434c16c52021226f2e92fdf23597dbf25 SHA512 f203332ccc2bdc38c683a95bdbe448f38cbfbeea81ecc431bf9ebf0a3292f0150fcfe5cd5dd6da481be034366820f95775a33581931aed9e4cc12a6ff27e3930
+DIST junit5-java18-compatibility.patch 742 BLAKE2B 89bfa36330278cdee2f7f66ed5527895e650a7b490d3f3695772a27541be1d8383c1742bab4e8494f3a84c29f93f553880a3bd5cd4d84792cf662fbc33a6e594 SHA512 5a9a562eb61a875764da369ff40da6ff95c6de8b3b3ecb612634112076741d75d6eab385743843b4fe7ca8a1827960e06550f6e90c8b7ef75b55006b41c416cd
diff --git a/dev-java/junit/files/junit-4.13.2_p20240222-ignore-failing-test.patch b/dev-java/junit/files/junit-4.13.2_p20240222-ignore-failing-test.patch
new file mode 100644
index 000000000000..512f680c3aaf
--- /dev/null
+++ b/dev-java/junit/files/junit-4.13.2_p20240222-ignore-failing-test.patch
@@ -0,0 +1,85 @@
+1) lookingForStuckThread_threadGroupNotLeaked[lookingForStuckThread = true](org.junit.internal.runners.statements.FailOnTimeoutTest)
+java.lang.AssertionError: the 'FailOnTimeoutGroup' thread group should be destroyed after running the test
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.assertTrue(Assert.java:42)
+ at org.junit.internal.runners.statements.FailOnTimeoutTest.lookingForStuckThread_threadGroupNotLeaked(FailOnTimeoutTest.java:207)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
+ at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
+ at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:61)
+ at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
+ at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
+ at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
+ at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
+ at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
+ at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
+ at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
+ at org.junit.runners.Suite.runChild(Suite.java:128)
+ at org.junit.runners.Suite.runChild(Suite.java:27)
+ at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
+ at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
+ at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
+ at org.junit.runners.Suite.runChild(Suite.java:128)
+ at org.junit.runners.Suite.runChild(Suite.java:27)
+ at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
+ at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
+ at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
+ at org.junit.runners.Suite.runChild(Suite.java:128)
+ at org.junit.runners.Suite.runChild(Suite.java:27)
+ at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
+ at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
+ at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
+ at org.junit.runners.Suite.runChild(Suite.java:128)
+ at org.junit.runners.Suite.runChild(Suite.java:27)
+ at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
+ at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
+ at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
+ at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
+ at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
+ at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
+ at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:141)
+ at org.junit.runner.JUnitCore.run(JUnitCore.java:119)
+ at org.junit.runner.JUnitCore.runMain(JUnitCore.java:81)
+ at org.junit.runner.JUnitCore.runMain(JUnitCore.java:40)
+ at org.junit.runner.JUnitCore.main(JUnitCore.java:36)
+
+FAILURES!!!
+Tests run: 1106, Failures: 1
+--- a/src/test/java/org/junit/internal/runners/statements/FailOnTimeoutTest.java
++++ b/src/test/java/org/junit/internal/runners/statements/FailOnTimeoutTest.java
+@@ -23,6 +23,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
+ import java.util.concurrent.atomic.AtomicReference;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.function.ThrowingRunnable;
+ import org.junit.runner.RunWith;
+ import org.junit.runners.Parameterized;
+@@ -181,7 +182,7 @@ public class FailOnTimeoutTest {
+ }
+ }
+
+- @Test
++ @Test @Ignore
+ public void lookingForStuckThread_threadGroupNotLeaked() throws Throwable {
+ assumeTrue(lookingForStuckThread);
+ final AtomicReference<ThreadGroup> innerThreadGroup = new AtomicReference<ThreadGroup>();
diff --git a/dev-java/junit/junit-3.8.2-r2.ebuild b/dev-java/junit/junit-3.8.2-r2.ebuild
index 712ad30d85d9..da6bba7b5fed 100644
--- a/dev-java/junit/junit-3.8.2-r2.ebuild
+++ b/dev-java/junit/junit-3.8.2-r2.ebuild
@@ -1,31 +1,30 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
JAVA_PKG_IUSE="doc source"
MAVEN_ID="junit:junit:3.8.2"
inherit java-pkg-2 java-pkg-simple
-MY_P=${P/-/}
-
DESCRIPTION="Simple framework to write repeatable tests"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
-HOMEPAGE="http://www.junit.org/"
+HOMEPAGE="https://junit.org/"
+SRC_URI="mirror://sourceforge/project/junit/junit/${PV}/junit${PV}.zip"
+S="${WORKDIR}/junit${PV}"
+
LICENSE="CPL-1.0"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+BDEPEND="app-arch/unzip"
DEPEND=">=virtual/jdk-1.8"
RDEPEND=">=virtual/jre-1.8"
-DOCS=( README.html cpl-v10.html )
+HTML_DOCS=( README.html cpl-v10.html )
JAVA_SRC_DIR="${PN}"
-S="${WORKDIR}/${MY_P}"
-
src_unpack() {
unpack ${A}
cd "${S}" || die
@@ -33,11 +32,6 @@ src_unpack() {
}
src_prepare() {
- default
+ java-pkg-2_src_prepare
java-pkg_clean
}
-
-src_install() {
- java-pkg-simple_src_install
- einstalldocs
-}
diff --git a/dev-java/junit/junit-4.13.2-r1.ebuild b/dev-java/junit/junit-4.13.2-r1.ebuild
new file mode 100644
index 000000000000..0fa825c0272c
--- /dev/null
+++ b/dev-java/junit/junit-4.13.2-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="junit:junit:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Simple framework to write repeatable tests"
+HOMEPAGE="https://junit.org/junit4/"
+SRC_URI="https://github.com/${PN}-team/${PN}4/archive/r${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}4-r${PV}"
+
+LICENSE="EPL-1.0"
+SLOT="4"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+CP_DEPEND="dev-java/hamcrest-core:1.3"
+# not suitable for jdk:21 #916398
+DEPEND="${CP_DEPEND}
+ <=virtual/jdk-17:*
+ test? ( dev-java/hamcrest-library:1.3 )"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="junit"
+JAVA_ENCODING="ISO-8859-1"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="hamcrest-core-1.3,hamcrest-library-1.3"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+src_test() {
+ cd "${JAVA_TEST_SRC_DIR}" || die
+
+ local CP=".:../resources:${S}/${PN}.jar:$(java-pkg_getjars ${JAVA_TEST_GENTOO_CLASSPATH})"
+
+ ejavac -cp "${CP}" -d . $(find * -name "*.java")
+ # pom.xml lines 264-268
+ java -cp "${CP}" -Djava.awt.headless=true \
+ org.junit.runner.JUnitCore org.junit.tests.AllTests || die "Running junit failed"
+}
diff --git a/dev-java/junit/junit-4.13.2.ebuild b/dev-java/junit/junit-4.13.2.ebuild
deleted file mode 100644
index a11c549f9673..000000000000
--- a/dev-java/junit/junit-4.13.2.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom junit4-r4.13.2/pom.xml --download-uri https://github.com/junit-team/junit4/archive/refs/tags/r4.13.2.tar.gz --slot 4 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild junit-4.13.2.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="junit:junit:4.13.2"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Simple framework to write repeatable tests"
-HOMEPAGE="https://junit.org/junit5/"
-SRC_URI="https://github.com/${PN}-team/${PN}4/archive/refs/tags/r${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-
-# Common dependencies
-# POM: ${PN}4-r${PV}/pom.xml
-# org.hamcrest:hamcrest-core:1.3 -> >=dev-java/hamcrest-core-1.3:1.3
-
-CDEPEND="
- dev-java/hamcrest-core:1.3
-"
-
-# Compile dependencies
-# POM: ${PN}4-r${PV}/pom.xml
-# test? org.hamcrest:hamcrest-library:1.3 -> >=dev-java/hamcrest-library-1.3:1.3
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- dev-java/hamcrest-library:1.3
- )
- ${CDEPEND}"
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-S="${WORKDIR}"
-
-JAVA_ENCODING="ISO-8859-1"
-
-JAVA_GENTOO_CLASSPATH="hamcrest-core-1.3"
-JAVA_SRC_DIR="${PN}4-r${PV}/src/main/java"
-JAVA_RESOURCE_DIRS="${PN}4-r${PV}/src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="hamcrest-core-1.3,hamcrest-library-1.3"
-JAVA_TEST_SRC_DIR="${PN}4-r${PV}/src/test/java"
-JAVA_TEST_RESOURCE_DIRS="${PN}4-r${PV}/src/test/resources"
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_test() {
- cd "${JAVA_TEST_SRC_DIR}" || die
-
- local CP=".:../resources:${S}/${PN}.jar:$(java-pkg_getjars ${JAVA_TEST_GENTOO_CLASSPATH})"
-
- ejavac -cp "${CP}" -d . $(find * -name "*.java")
- java -cp "${CP}" -Djava.awt.headless=true org.junit.runner.JUnitCore junit.tests.AllTests || die "Running junit failed"
-}
diff --git a/dev-java/junit/junit-4.13.2_p20240222.ebuild b/dev-java/junit/junit-4.13.2_p20240222.ebuild
new file mode 100644
index 000000000000..3ca8e79546cc
--- /dev/null
+++ b/dev-java/junit/junit-4.13.2_p20240222.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="junit:junit:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Simple framework to write repeatable tests"
+HOMEPAGE="https://junit.org/junit4/"
+MY_COMMIT="28fa2cae48b365c949935b28967ffb3f388e77ef"
+SRC_URI="https://github.com/${PN}-team/${PN}4/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}4-${MY_COMMIT}"
+
+LICENSE="EPL-1.0"
+SLOT="4"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+CP_DEPEND="dev-java/hamcrest-core:1.3"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/hamcrest-library:1.3 )"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+PATCHES=( "${FILESDIR}/junit-4.13.2_p20240222-ignore-failing-test.patch" )
+
+JAVA_AUTOMATIC_MODULE_NAME="junit"
+JAVA_ENCODING="ISO-8859-1"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="hamcrest-core-1.3,hamcrest-library-1.3"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+src_test() {
+ cd "${JAVA_TEST_SRC_DIR}" || die
+
+ local CP=".:../resources:${S}/${PN}.jar:$(java-pkg_getjars ${JAVA_TEST_GENTOO_CLASSPATH})"
+
+ ejavac -cp "${CP}" -d . $(find * -name "*.java")
+ # pom.xml lines 264-268
+ java -cp "${CP}" -Djava.awt.headless=true \
+ org.junit.runner.JUnitCore org.junit.tests.AllTests || die "Running junit failed"
+}
diff --git a/dev-java/junit/junit-5.10.2.ebuild b/dev-java/junit/junit-5.10.2.ebuild
new file mode 100644
index 000000000000..6e794beca258
--- /dev/null
+++ b/dev-java/junit/junit-5.10.2.ebuild
@@ -0,0 +1,351 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Declare the 'doc' USE flag in IUSE -- not JAVA_PKG_IUSE -- to
+# prevent java-pkg-simple.eclass from handling Javadoc; instead,
+# let this ebuild handle Javadoc generation and installation itself.
+# This ebuild invokes java-pkg-simple.eclass's phase functions
+# multiple times to build multiple modules, but the eclass always
+# installs each module's Javadoc to the same directory, which would
+# trigger an error when the second module's Javadoc is installed.
+JAVA_PKG_IUSE="source test"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Simple framework to write repeatable tests"
+HOMEPAGE="https://junit.org/junit5/"
+DEB="5.10.1-1"
+SRC_URI="https://github.com/junit-team/junit5/archive/r${PV}.tar.gz -> ${P}.tar.gz
+ https://sources.debian.org/data/main/j/junit5/${DEB}/debian/patches/18-java-compatibility.patch \
+ -> junit5-java18-compatibility.patch"
+S="${WORKDIR}/junit5-r${PV}"
+
+LICENSE="EPL-2.0"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="doc migration-support suite vintage"
+
+CP_DEPEND="
+ dev-java/apiguardian-api:0
+ dev-java/opentest4j:0
+ dev-java/open-test-reporting-events:0
+ dev-java/picocli:0
+ dev-java/univocity-parsers:0
+"
+
+# java-utils-2.eclass does not support
+# USE-conditional dependencies in CP_DEPEND
+COND_DEPEND="
+ migration-support? ( dev-java/junit:4 )
+ vintage? ( dev-java/junit:4 )
+"
+
+# Limiting JDK version to >=11 for module-info.java in this package
+# https://bugs.gentoo.org/796875#c3
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+ ${COND_DEPEND}
+ test? ( dev-java/jimfs:0 )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+ ${COND_DEPEND}
+"
+
+PATCHES=(
+ "${DISTDIR}/junit5-java18-compatibility.patch"
+)
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+src_configure() {
+ # Please make sure to declare a module's dependencies before the module itself.
+ # Useful upstream documentation regarding modules and dependencies:
+ # https://junit.org/junit5/docs/current/user-guide/index.html#dependency-metadata
+ # https://junit.org/junit5/docs/current/user-guide/index.html#dependency-diagram
+ JUNIT5_MODULES=(
+ junit-platform-commons
+ junit-platform-engine
+ junit-platform-launcher
+ junit-platform-reporting
+ junit-platform-console # For launching tests from CLI;
+ # an eclass would need it to support running tests using JUnit 5
+
+ $(use suite && echo \
+ junit-platform-suite-api \
+ junit-platform-suite-commons \
+ junit-platform-suite-engine \
+ )
+
+ junit-jupiter-api
+ junit-jupiter-engine # For JUnit Jupiter tests -- the so-called
+ # "JUnit 5 tests", which cannot run on earlier JUnit versions
+ junit-jupiter-params # For parameterized tests; the junit-jupiter
+ # aggregator module includes it, so building it unconditionally
+ $(usev migration-support junit-jupiter-migrationsupport)
+
+ $(usev vintage junit-vintage-engine)
+
+ # Modules not included:
+ # - junit-bom: Has no sources; solely for helping Maven and Gradle
+ # projects that use JUnit 5 manage dependencies easier
+ # - junit-jupiter: Aggregator; does not have 'src/main/java'
+ # - junit-platform-console-standalone: Has no sources; solely used
+ # by the upstream to build a fat JAR that bundles everything, so
+ # users can use just this single JAR to run JUnit 5
+ # - junit-platform-jfr: For an experimental feature
+ # - junit-platform-runner: Deprecated
+ # - junit-platform-suite: Aggregator; does not have 'src/main/java'
+ # - junit-platform-testkit: Requires >=dev-java/assertj-core-3.14.0
+ )
+ local cp_packages=()
+ (use migration-support || use vintage) && cp_packages+=( junit-4 )
+ local save_IFS="${IFS}"
+ IFS=',' JAVA_GENTOO_CLASSPATH="${cp_packages[*]}"
+ IFS="${save_IFS}"
+
+ JUNIT5_VM_VERSION="$(java-config --get-env PROVIDES_VERSION)"
+}
+
+junit5_foreach_module() {
+ local module
+ for module in "${JUNIT5_MODULES[@]}"; do
+ junit5_module_do "${module}" "${@}"
+ done
+}
+
+junit5_module_do() {
+ local module="${1}"
+ # Invocation of the passed function will not be guarded by '|| die'.
+ # Like the case for multibuild_foreach_variant(), it is recommended
+ # that the passed function itself calls 'die'.
+ local func=( "${@:2}" )
+
+ einfo "Running '${func[@]}' for ${module} ..."
+ pushd "${module}" > /dev/null || die "Failed to enter directory '${module}'"
+
+ # Set up Java eclass variables that are
+ # supposed to be set in the ebuild global scope
+
+ local JAVA_JAR_FILENAME="${module}.jar"
+
+ local JAVA_SRC_DIR=(
+ src/main/java
+ src/module
+ )
+
+ local JAVA_RESOURCE_DIRS=()
+ local default_resource_dir="src/main/resources"
+ [[ -d "${default_resource_dir}" ]] &&
+ JAVA_RESOURCE_DIRS+=( "${default_resource_dir}" )
+
+ if [[ "${module}" == junit-platform-console ]]; then
+ local JAVA_MAIN_CLASS="org.junit.platform.console.ConsoleLauncher"
+ local JAVA_LAUNCHER_FILENAME="${module}"
+ fi
+
+ # Invoke the passed function
+ "${func[@]}"
+ local ret="${?}"
+
+ popd > /dev/null || die "Failed to leave directory '${module}'"
+ return "${ret}"
+}
+
+junit5_gen_cp() {
+ echo "$(java-pkg_getjars --build-only --with-dependencies \
+ "${JAVA_GENTOO_CLASSPATH}"):${JAVA_GENTOO_CLASSPATH_EXTRA}"
+}
+
+junit5_module_compile() {
+ if [[ "${module}" == junit-platform-console ]]; then
+ # Unlike other modules that have a src/main/java9 directory, for this
+ # module, the upstream puts the class files built from src/main/java9
+ # in their JAR's top-level directory instead of META-INF/versions/9
+ cp -rv src/main/java9/* src/main/java/ ||
+ die "Failed to merge ${module}'s sources for Java 9+"
+ # Remove for the [[ -d src/main/java9 ]] test
+ # during versioned directory handling
+ rm -rv src/main/java9 ||
+ die "Failed to remove ${module}'s Java 9+ source directory"
+ fi
+
+ java-pkg-simple_src_compile
+ local sources="sources.lst"
+ local classes="target/classes"
+
+ # Collect a list of all compiler input files for building Javadoc
+ local source
+ while read source; do
+ echo "${module}/${source}" >> "${all_sources}"
+ done < "${sources}" ||
+ die "Failed to add ${module}'s sources to Javadoc input list"
+
+ # Handle classes that will go into versioned directories. This will be
+ # no longer needed after https://bugs.gentoo.org/900433 is implemented.
+ local vm_ver
+ for vm_ver in 9 17; do
+ local versioned_src="src/main/java${vm_ver}"
+ if [[ -d "${versioned_src}" ]]; then
+ if ver_test "${JUNIT5_VM_VERSION}" -ge "${vm_ver}"; then
+ local versioned_classes="target/${vm_ver}/classes"
+ mkdir -p "${versioned_classes}" ||
+ die "Failed to create directory for ${module}'s Java ${vm_ver}+ classes"
+ ejavac -d "${versioned_classes}" -encoding "${JAVA_ENCODING}" \
+ -classpath "${classes}:$(junit5_gen_cp)" ${JAVAC_ARGS} \
+ $(find "${versioned_src}" -type f -name '*.java')
+ "$(java-config --jar)" -uvf "${JAVA_JAR_FILENAME}" \
+ --release "${vm_ver}" -C "${versioned_classes}" . ||
+ die "Failed to add ${module}'s Java ${vm_ver}+ classes to JAR"
+ else
+ # Modules that may hit this branch as of 5.9.2:
+ # - junit-platform-console:
+ # src/main/java17/.../ConsoleUtils.java tries to use
+ # java.io.Console.charset() (available since Java 17) to get
+ # the default output charset. It is fine to not use this
+ # file, even if the built artifacts will be used on JRE 17+,
+ # as src/main/java/.../ConsoleUtils.java still gets the
+ # default from java.nio.charset.Charset.defaultCharset().
+ elog "JDK ${JUNIT5_VM_VERSION} used; skipping Java ${vm_ver}-dependent parts in ${module}"
+ fi
+ fi
+ done
+
+ # Add the current module's JAR to classpath
+ # for the module's reverse dependencies in this package
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${S}/${module}/${JAVA_JAR_FILENAME}"
+}
+
+src_compile() {
+ local all_sources="${S}/all-sources.lst"
+ junit5_foreach_module junit5_module_compile
+
+ if use doc; then
+ einfo "Generating Javadoc for all modules ..."
+ local apidoc="target/api"
+ mkdir -p "${apidoc}" || die "Failed to create Javadoc directory"
+ ejavadoc -d "${apidoc}" \
+ -encoding "${JAVA_ENCODING}" -docencoding UTF-8 -charset UTF-8 \
+ -classpath "$(junit5_gen_cp)" ${JAVADOC_ARGS:- -quiet} \
+ -windowtitle "JUnit ${PV} API" \
+ "@${all_sources}"
+ fi
+}
+
+src_test() {
+ # Running the JUnit 5 modules' tests (located in each module's
+ # 'src/test/java') has a few obstacles:
+ # - Some test sources use text blocks -- a feature introduced in Java 15.
+ # A JDK at a lower version, e.g. 11, cannot compile them.
+ # - Some test classes depend on JUnit 5 modules that this ebuild does not
+ # include, like junit-platform-runner and junit-platform-testkit.
+ #
+ # Therefore, this ebuild uses a simpler approach to test the artifacts just
+ # built: it uses the artifacts to run tests in examples under the
+ # 'documentation/src' directory. The test coverage will not be impressive,
+ # but at least this approach verifies that the copy of JUnit 5 just built
+ # is capable of running some simple tests launched from CLI.
+
+ local JUNIT5_TEST_SRC_DIR="documentation/src/test/java"
+ local JUNIT5_TEST_RESOURCE_DIR="documentation/src/test/resources"
+ local JUNIT5_TEST_RM=(
+ $(usev !migration-support example/IgnoredTestsDemo.java)
+ $(use !suite && echo \
+ example/DocumentationTestSuite.java \
+ example/SuiteDemo.java \
+ )
+ $(usev !vintage example/JUnit4Tests.java)
+
+ # Need excluded module junit-platform-runner
+ example/JUnitPlatformClassDemo.java
+ example/JUnitPlatformSuiteDemo.java
+
+ # Need excluded module junit-platform-testkit
+ example/testkit/
+
+ # Not necessary for the tests; some files even require extra dependency
+ org/junit/api/tools/
+
+ # Needs dev-java/hamcrest; no need to pull in extra dependency
+ # as the examples already provide ample tests to run
+ example/HamcrestAssertionsDemo.java
+
+ # Makes an HTTP request and expects a certain response
+ example/session/HttpTests.java
+ )
+
+ pushd "${JUNIT5_TEST_SRC_DIR}" > /dev/null ||
+ die "Failed to enter test source directory"
+ rm -rv "${JUNIT5_TEST_RM[@]}" ||
+ die "Failed to remove unneeded test sources"
+ # Test sources expect the working directory to be 'documentation'
+ sed -i -e "s|src/test/resources|${JUNIT5_TEST_RESOURCE_DIR}|g" \
+ example/ParameterizedTestDemo.java ||
+ die "Failed to update file paths in test sources"
+ popd > /dev/null || die "Failed to leave test source directory"
+
+ local test_dir="${T}/junit5_src_test"
+ local example_classes="${test_dir}/classes"
+ local test_classes="${test_dir}/test-classes"
+ mkdir -p "${example_classes}" "${test_classes}" ||
+ die "Failed to create test directories"
+
+ local example_sources="${test_dir}/sources.lst"
+ local test_sources="${test_dir}/test-sources.lst"
+ find documentation/src/main/java -type f -name '*.java' > "${example_sources}" ||
+ die "Failed to get a list of example sources"
+ find documentation/src/test/java -type f -name '*.java' > "${test_sources}" ||
+ die "Failed to get a list of test sources"
+
+ ejavac -d "${example_classes}" -encoding "${JAVA_ENCODING}" \
+ -classpath "$(junit5_gen_cp)" ${JAVAC_ARGS} \
+ "@${example_sources}"
+
+ local test_cp="${example_classes}:${JUNIT5_TEST_RESOURCE_DIR}:$(junit5_gen_cp)"
+ test_cp="${test_cp}:$(java-pkg_getjars --build-only --with-dependencies jimfs)"
+ ejavac -d "${test_classes}" -encoding "${JAVA_ENCODING}" \
+ -classpath "${test_cp}" ${JAVAC_ARGS} \
+ "@${test_sources}"
+
+ set -- "$(java-config --java)" -classpath "${test_classes}:${test_cp}" \
+ org.junit.platform.console.ConsoleLauncher \
+ --disable-ansi-colors --fail-if-no-tests --scan-classpath \
+ --include-classname='^(Test.*|.+[.$]Test.*|.*Tests?|.*Demo)$' \
+ --exclude-tag="exclude"
+ echo "${@}" >&2
+ "${@}"
+ local status="${?}"
+ [[ "${status}" -eq 2 ]] && die "JUnit did not discover any tests"
+ [[ "${status}" -eq 0 ]] || die "ConsoleLauncher failed"
+}
+
+junit5_module_install() {
+ # It is OK to let java-pkg-simple_src_install call einstalldocs for
+ # each module as long as each documentation file being installed
+ # has a unique filename among _all_ modules; otherwise, some files
+ # would overwrite other ones.
+ if [[ -f README.md ]]; then
+ mv -v README.md "README-${module}.md" ||
+ die "Failed to rename ${module}'s README.md"
+ fi
+ java-pkg-simple_src_install
+}
+
+src_install() {
+ junit5_foreach_module junit5_module_install
+ einstalldocs # For project-global documentation
+
+ if use doc; then
+ einfo "Installing Javadoc for all modules ..."
+ local apidoc="target/api"
+ java-pkg_dojavadoc "${apidoc}"
+ fi
+}
diff --git a/dev-java/junit/junit-5.9.2.ebuild b/dev-java/junit/junit-5.9.2.ebuild
new file mode 100644
index 000000000000..46efd8fcf0d8
--- /dev/null
+++ b/dev-java/junit/junit-5.9.2.ebuild
@@ -0,0 +1,337 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Declare the 'doc' USE flag in IUSE -- not JAVA_PKG_IUSE -- to
+# prevent java-pkg-simple.eclass from handling Javadoc; instead,
+# let this ebuild handle Javadoc generation and installation itself.
+# This ebuild invokes java-pkg-simple.eclass's phase functions
+# multiple times to build multiple modules, but the eclass always
+# installs each module's Javadoc to the same directory, which would
+# trigger an error when the second module's Javadoc is installed.
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Simple framework to write repeatable tests"
+HOMEPAGE="https://junit.org/junit5/"
+SRC_URI="https://github.com/junit-team/junit5/archive/r${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/junit5-r${PV}"
+LICENSE="EPL-2.0"
+
+SLOT="5"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+IUSE="doc migration-support suite vintage"
+
+CP_DEPEND="
+ dev-java/apiguardian-api:0
+ dev-java/opentest4j:0
+ dev-java/open-test-reporting-events:0
+ dev-java/picocli:0
+ dev-java/univocity-parsers:0
+"
+
+# java-utils-2.eclass does not support
+# USE-conditional dependencies in CP_DEPEND
+COND_DEPEND="
+ migration-support? ( dev-java/junit:4 )
+ vintage? ( dev-java/junit:4 )
+"
+
+# Limiting JDK version to >=11 for module-info.java in this package
+# https://bugs.gentoo.org/796875#c3
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+ ${COND_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+ ${COND_DEPEND}
+"
+
+src_configure() {
+ # Please make sure to declare a module's dependencies before the module itself.
+ # Useful upstream documentation regarding modules and dependencies:
+ # https://junit.org/junit5/docs/current/user-guide/index.html#dependency-metadata
+ # https://junit.org/junit5/docs/current/user-guide/index.html#dependency-diagram
+ JUNIT5_MODULES=(
+ junit-platform-commons
+ junit-platform-engine
+ junit-platform-launcher
+ junit-platform-reporting
+ junit-platform-console # For launching tests from CLI;
+ # an eclass would need it to support running tests using JUnit 5
+
+ $(use suite && echo \
+ junit-platform-suite-api \
+ junit-platform-suite-commons \
+ junit-platform-suite-engine \
+ )
+
+ junit-jupiter-api
+ junit-jupiter-engine # For JUnit Jupiter tests -- the so-called
+ # "JUnit 5 tests", which cannot run on earlier JUnit versions
+ junit-jupiter-params # For parameterized tests; the junit-jupiter
+ # aggregator module includes it, so building it unconditionally
+ $(usev migration-support junit-jupiter-migrationsupport)
+
+ $(usev vintage junit-vintage-engine)
+
+ # Modules not included:
+ # - junit-bom: Has no sources; solely for helping Maven and Gradle
+ # projects that use JUnit 5 manage dependencies easier
+ # - junit-jupiter: Aggregator; does not have 'src/main/java'
+ # - junit-platform-console-standalone: Has no sources; solely used
+ # by the upstream to build a fat JAR that bundles everything, so
+ # users can use just this single JAR to run JUnit 5
+ # - junit-platform-jfr: For an experimental feature
+ # - junit-platform-runner: Deprecated
+ # - junit-platform-suite: Aggregator; does not have 'src/main/java'
+ # - junit-platform-testkit: Requires >=dev-java/assertj-core-3.14.0
+ )
+ local cp_packages=()
+ (use migration-support || use vintage) && cp_packages+=( junit-4 )
+ local save_IFS="${IFS}"
+ IFS=',' JAVA_GENTOO_CLASSPATH="${cp_packages[*]}"
+ IFS="${save_IFS}"
+
+ JUNIT5_VM_VERSION="$(java-config --get-env PROVIDES_VERSION)"
+}
+
+junit5_foreach_module() {
+ local module
+ for module in "${JUNIT5_MODULES[@]}"; do
+ junit5_module_do "${module}" "${@}"
+ done
+}
+
+junit5_module_do() {
+ local module="${1}"
+ # Invocation of the passed function will not be guarded by '|| die'.
+ # Like the case for multibuild_foreach_variant(), it is recommended
+ # that the passed function itself calls 'die'.
+ local func=( "${@:2}" )
+
+ einfo "Running '${func[@]}' for ${module} ..."
+ pushd "${module}" > /dev/null || die "Failed to enter directory '${module}'"
+
+ # Set up Java eclass variables that are
+ # supposed to be set in the ebuild global scope
+
+ local JAVA_JAR_FILENAME="${module}.jar"
+
+ local JAVA_SRC_DIR=(
+ src/main/java
+ src/module
+ )
+
+ local JAVA_RESOURCE_DIRS=()
+ local default_resource_dir="src/main/resources"
+ [[ -d "${default_resource_dir}" ]] &&
+ JAVA_RESOURCE_DIRS+=( "${default_resource_dir}" )
+
+ if [[ "${module}" == junit-platform-console ]]; then
+ local JAVA_MAIN_CLASS="org.junit.platform.console.ConsoleLauncher"
+ local JAVA_LAUNCHER_FILENAME="${module}"
+ fi
+
+ # Invoke the passed function
+ "${func[@]}"
+ local ret="${?}"
+
+ popd > /dev/null || die "Failed to leave directory '${module}'"
+ return "${ret}"
+}
+
+junit5_gen_cp() {
+ echo "$(java-pkg_getjars --build-only --with-dependencies \
+ "${JAVA_GENTOO_CLASSPATH}"):${JAVA_GENTOO_CLASSPATH_EXTRA}"
+}
+
+junit5_module_compile() {
+ if [[ "${module}" == junit-platform-console ]]; then
+ # Unlike other modules that have a src/main/java9 directory, for this
+ # module, the upstream puts the class files built from src/main/java9
+ # in their JAR's top-level directory instead of META-INF/versions/9
+ cp -rv src/main/java9/* src/main/java/ ||
+ die "Failed to merge ${module}'s sources for Java 9+"
+ # Remove for the [[ -d src/main/java9 ]] test
+ # during versioned directory handling
+ rm -rv src/main/java9 ||
+ die "Failed to remove ${module}'s Java 9+ source directory"
+ fi
+
+ java-pkg-simple_src_compile
+ local sources="sources.lst"
+ local classes="target/classes"
+
+ # Collect a list of all compiler input files for building Javadoc
+ local source
+ while read source; do
+ echo "${module}/${source}" >> "${all_sources}"
+ done < "${sources}" ||
+ die "Failed to add ${module}'s sources to Javadoc input list"
+
+ # Handle classes that will go into versioned directories. This will be
+ # no longer needed after https://bugs.gentoo.org/900433 is implemented.
+ local vm_ver
+ for vm_ver in 9 17; do
+ local versioned_src="src/main/java${vm_ver}"
+ if [[ -d "${versioned_src}" ]]; then
+ if ver_test "${JUNIT5_VM_VERSION}" -ge "${vm_ver}"; then
+ local versioned_classes="target/${vm_ver}/classes"
+ mkdir -p "${versioned_classes}" ||
+ die "Failed to create directory for ${module}'s Java ${vm_ver}+ classes"
+ ejavac -d "${versioned_classes}" -encoding "${JAVA_ENCODING}" \
+ -classpath "${classes}:$(junit5_gen_cp)" ${JAVAC_ARGS} \
+ $(find "${versioned_src}" -type f -name '*.java')
+ "$(java-config --jar)" -uvf "${JAVA_JAR_FILENAME}" \
+ --release "${vm_ver}" -C "${versioned_classes}" . ||
+ die "Failed to add ${module}'s Java ${vm_ver}+ classes to JAR"
+ else
+ # Modules that may hit this branch as of 5.9.2:
+ # - junit-platform-console:
+ # src/main/java17/.../ConsoleUtils.java tries to use
+ # java.io.Console.charset() (available since Java 17) to get
+ # the default output charset. It is fine to not use this
+ # file, even if the built artifacts will be used on JRE 17+,
+ # as src/main/java/.../ConsoleUtils.java still gets the
+ # default from java.nio.charset.Charset.defaultCharset().
+ elog "JDK ${JUNIT5_VM_VERSION} used; skipping Java ${vm_ver}-dependent parts in ${module}"
+ fi
+ fi
+ done
+
+ # Add the current module's JAR to classpath
+ # for the module's reverse dependencies in this package
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${S}/${module}/${JAVA_JAR_FILENAME}"
+}
+
+src_compile() {
+ local all_sources="${S}/all-sources.lst"
+ junit5_foreach_module junit5_module_compile
+
+ if use doc; then
+ einfo "Generating Javadoc for all modules ..."
+ local apidoc="target/api"
+ mkdir -p "${apidoc}" || die "Failed to create Javadoc directory"
+ ejavadoc -d "${apidoc}" \
+ -encoding "${JAVA_ENCODING}" -docencoding UTF-8 -charset UTF-8 \
+ -classpath "$(junit5_gen_cp)" ${JAVADOC_ARGS:- -quiet} \
+ -windowtitle "JUnit ${PV} API" \
+ "@${all_sources}"
+ fi
+}
+
+src_test() {
+ # Running the JUnit 5 modules' tests (located in each module's
+ # 'src/test/java') has a few obstacles:
+ # - Some test sources use text blocks -- a feature introduced in Java 15.
+ # A JDK at a lower version, e.g. 11, cannot compile them.
+ # - Some test classes depend on JUnit 5 modules that this ebuild does not
+ # include, like junit-platform-runner and junit-platform-testkit.
+ #
+ # Therefore, this ebuild uses a simpler approach to test the artifacts just
+ # built: it uses the artifacts to run tests in examples under the
+ # 'documentation/src' directory. The test coverage will not be impressive,
+ # but at least this approach verifies that the copy of JUnit 5 just built
+ # is capable of running some simple tests launched from CLI.
+
+ local JUNIT5_TEST_SRC_DIR="documentation/src/test/java"
+ local JUNIT5_TEST_RESOURCE_DIR="documentation/src/test/resources"
+ local JUNIT5_TEST_RM=(
+ $(usev !migration-support example/IgnoredTestsDemo.java)
+ $(use !suite && echo \
+ example/DocumentationTestSuite.java \
+ example/SuiteDemo.java \
+ )
+ $(usev !vintage example/JUnit4Tests.java)
+
+ # Need excluded module junit-platform-runner
+ example/JUnitPlatformClassDemo.java
+ example/JUnitPlatformSuiteDemo.java
+
+ # Need excluded module junit-platform-testkit
+ example/testkit/
+
+ # Not necessary for the tests; some files even require extra dependency
+ org/junit/api/tools/
+
+ # Needs dev-java/hamcrest; no need to pull in extra dependency
+ # as the examples already provide ample tests to run
+ example/HamcrestAssertionsDemo.java
+
+ # Makes an HTTP request and expects a certain response
+ example/session/HttpTests.java
+ )
+
+ pushd "${JUNIT5_TEST_SRC_DIR}" > /dev/null ||
+ die "Failed to enter test source directory"
+ rm -rv "${JUNIT5_TEST_RM[@]}" ||
+ die "Failed to remove unneeded test sources"
+ # Test sources expect the working directory to be 'documentation'
+ sed -i -e "s|src/test/resources|${JUNIT5_TEST_RESOURCE_DIR}|g" \
+ example/ParameterizedTestDemo.java ||
+ die "Failed to update file paths in test sources"
+ popd > /dev/null || die "Failed to leave test source directory"
+
+ local test_dir="${T}/junit5_src_test"
+ local example_classes="${test_dir}/classes"
+ local test_classes="${test_dir}/test-classes"
+ mkdir -p "${example_classes}" "${test_classes}" ||
+ die "Failed to create test directories"
+
+ local example_sources="${test_dir}/sources.lst"
+ local test_sources="${test_dir}/test-sources.lst"
+ find documentation/src/main/java -type f -name '*.java' > "${example_sources}" ||
+ die "Failed to get a list of example sources"
+ find documentation/src/test/java -type f -name '*.java' > "${test_sources}" ||
+ die "Failed to get a list of test sources"
+
+ ejavac -d "${example_classes}" -encoding "${JAVA_ENCODING}" \
+ -classpath "$(junit5_gen_cp)" ${JAVAC_ARGS} \
+ "@${example_sources}"
+
+ local test_cp="${example_classes}:${JUNIT5_TEST_RESOURCE_DIR}:$(junit5_gen_cp)"
+ ejavac -d "${test_classes}" -encoding "${JAVA_ENCODING}" \
+ -classpath "${test_cp}" ${JAVAC_ARGS} \
+ "@${test_sources}"
+
+ set -- "$(java-config --java)" -classpath "${test_classes}:${test_cp}" \
+ org.junit.platform.console.ConsoleLauncher \
+ --disable-ansi-colors --fail-if-no-tests --scan-classpath \
+ --include-classname='^(Test.*|.+[.$]Test.*|.*Tests?|.*Demo)$' \
+ --exclude-tag="exclude"
+ echo "${@}" >&2
+ "${@}"
+ local status="${?}"
+ [[ "${status}" -eq 2 ]] && die "JUnit did not discover any tests"
+ [[ "${status}" -eq 0 ]] || die "ConsoleLauncher failed"
+}
+
+junit5_module_install() {
+ # It is OK to let java-pkg-simple_src_install call einstalldocs for
+ # each module as long as each documentation file being installed
+ # has a unique filename among _all_ modules; otherwise, some files
+ # would overwrite other ones.
+ if [[ -f README.md ]]; then
+ mv -v README.md "README-${module}.md" ||
+ die "Failed to rename ${module}'s README.md"
+ fi
+ java-pkg-simple_src_install
+}
+
+src_install() {
+ junit5_foreach_module junit5_module_install
+ einstalldocs # For project-global documentation
+
+ if use doc; then
+ einfo "Installing Javadoc for all modules ..."
+ local apidoc="target/api"
+ java-pkg_dojavadoc "${apidoc}"
+ fi
+}
diff --git a/dev-java/junit/metadata.xml b/dev-java/junit/metadata.xml
index c6886950ead4..87435c66c2c7 100644
--- a/dev-java/junit/metadata.xml
+++ b/dev-java/junit/metadata.xml
@@ -6,7 +6,13 @@
<name>Java</name>
</maintainer>
<upstream>
+ <remote-id type="github">junit-team/junit5</remote-id>
<remote-id type="github">junit-team/junit4</remote-id>
<remote-id type="sourceforge">junit</remote-id>
</upstream>
+ <use>
+ <flag name="migration-support" restrict="&gt;=dev-java/junit-5">Include the junit-jupiter-migrationsupport module, which helps with migration from JUnit 4 to JUnit Jupiter</flag>
+ <flag name="suite" restrict="&gt;=dev-java/junit-5">Include the JUnit Platform Suite Engine, which adds test suite support</flag>
+ <flag name="vintage" restrict="&gt;=dev-java/junit-5">Include JUnit Vintage, which allows JUnit 5 to run JUnit 3 and JUnit 4 tests</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-java/junitparams/junitparams-1.1.1.ebuild b/dev-java/junitparams/junitparams-1.1.1.ebuild
deleted file mode 100644
index 0f82eeb6b29c..000000000000
--- a/dev-java/junitparams/junitparams-1.1.1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 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/Pragmatists/JUnitParams/archive/refs/tags/JUnitParams-1.1.1.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild junitparams-1.1.1.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="pl.pragmatists:JUnitParams:1.1.1"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Better parameterised tests for JUnit"
-HOMEPAGE="https://github.com/Pragmatists/JUnitParams"
-SRC_URI="https://github.com/Pragmatists/JUnitParams/archive/refs/tags/JUnitParams-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# junit:junit:4.12 -> >=dev-java/junit-4.12:4
-
-CDEPEND="
- >=dev-java/junit-4.12:4
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? org.assertj:assertj-core:1.7.1 -> >=dev-java/assertj-core-2.3.0:2
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
- test? (
- >=dev-java/assertj-core-2.3.0:2
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/junitparams-1.1.1-test.patch
-)
-
-S="${WORKDIR}/JUnitParams-JUnitParams-${PV}"
-
-JAVA_GENTOO_CLASSPATH="junit-4"
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="assertj-core-2"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-JAVA_TEST_EXCLUDES=(
- # java.lang.RuntimeException: Could not find method: paramsForSuperclassMethod so no params were used.
- "junitparams.SuperclassTest"
-)
-
-src_prepare() {
- default
-}
diff --git a/dev-java/jython/Manifest b/dev-java/jython/Manifest
deleted file mode 100644
index 37e6fec3e242..000000000000
--- a/dev-java/jython/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jython-2.7.0-sources.jar 15371691 BLAKE2B 7e1c29f2a2c03b034e89bb9c3a8fdddbaef6a0191a7320c82b76e31b41336f3d99c1995b2e9864c033ec53629d45669ad460fb4a1433ea7bc6b0390919500a24 SHA512 7583810245d694fd1d99a57ad504fcefdfbc1183def2cbb93ae3660f341104205c73041d846bdcf2b564b3cf4b770b481703c1dcdb1458396812c92d30ee9fa6
diff --git a/dev-java/jython/files/CVE-2016-4000.patch b/dev-java/jython/files/CVE-2016-4000.patch
deleted file mode 100644
index 81785eb05b07..000000000000
--- a/dev-java/jython/files/CVE-2016-4000.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-
-# HG changeset patch
-# User Jim Baker <jim.baker@rackspace.com>
-# Date 1454384221 25200
-# Node ID d06e29d100c04576735e86c75a26c5f33669bb72
-# Parent b6735606c13df95f770527e629954407f82808c5
-Do not deserialize PyFunction objects. Fixes #2454
-
-Instead use standard Python pickling; or subclass PyFunction.
-
-diff --git a/Lib/test/test_java_integration.py b/Lib/test/test_java_integration.py
---- a/Lib/test/test_java_integration.py
-+++ b/Lib/test/test_java_integration.py
-@@ -14,8 +14,9 @@ import re
- from collections import deque
- from test import test_support
-
--from java.lang import (ClassCastException, ExceptionInInitializerError, String, Runnable, System,
-- Runtime, Math, Byte)
-+from java.lang import (
-+ ClassCastException, ExceptionInInitializerError, UnsupportedOperationException,
-+ String, Runnable, System, Runtime, Math, Byte)
- from java.math import BigDecimal, BigInteger
- from java.net import URI
- from java.io import (ByteArrayInputStream, ByteArrayOutputStream, File, FileInputStream,
-@@ -656,13 +657,30 @@ class SerializationTest(unittest.TestCas
- self.assertEqual(date_list, roundtrip_serialization(date_list))
-
- def test_java_serialization_pycode(self):
--
- def universal_answer():
- return 42
-
- serialized_code = roundtrip_serialization(universal_answer.func_code)
- self.assertEqual(eval(serialized_code), universal_answer())
-
-+ def test_java_serialization_pyfunction(self):
-+ # Not directly supported due to lack of general utility
-+ # (globals will usually be in the function object in
-+ # func_globals), and problems with unserialization
-+ # vulnerabilities. Users can always subclass from PyFunction
-+ # for specific cases, as seen in PyCascading
-+ import new
-+ def f():
-+ return 6 * 7 + max(0, 1, 2)
-+ # However, using the new module, it's possible to create a
-+ # function with no globals, which means the globals will come
-+ # from the current context
-+ g = new.function(f.func_code, {}, "g")
-+ # But still forbid Java deserialization of this function
-+ # object. Use pickling or other support instead.
-+ with self.assertRaises(UnsupportedOperationException):
-+ roundtrip_serialization(g)
-+
- def test_builtin_names(self):
- import __builtin__
- names = [x for x in dir(__builtin__)]
-@@ -872,7 +890,7 @@ class SingleMethodInterfaceTest(unittest
- future.get()
- self.assertEqual(x, [42])
-
-- @unittest.skip("FIXME: not working")
-+ @unittest.skip("FIXME: not working; see http://bugs.jython.org/issue2115")
- def test_callable_object(self):
- callable_obj = CallableObject()
- future = self.executor.submit(callable_obj)
-diff --git a/Lib/test/test_new.py b/Lib/test/test_new.py
---- a/Lib/test/test_new.py
-+++ b/Lib/test/test_new.py
-@@ -24,18 +24,10 @@ class NewTest(unittest.TestCase):
- c = new.instance(C, {'yolks': 3})
-
- o = new.instance(C)
--
-- # __dict__ is a non dict mapping in Jython
-- if test_support.is_jython:
-- self.assertEqual(len(o.__dict__), 0, "new __dict__ should be empty")
-- else:
-- self.assertEqual(o.__dict__, {}, "new __dict__ should be empty")
-+ self.assertEqual(o.__dict__, {}, "new __dict__ should be empty")
- del o
- o = new.instance(C, None)
-- if test_support.is_jython:
-- self.assertEqual(len(o.__dict__), 0, "new __dict__ should be empty")
-- else:
-- self.assertEqual(o.__dict__, {}, "new __dict__ should be empty")
-+ self.assertEqual(o.__dict__, {}, "new __dict__ should be empty")
- del o
-
- def break_yolks(self):
-@@ -109,7 +101,14 @@ class NewTest(unittest.TestCase):
- test_closure(g, (1, 1), ValueError) # closure is wrong size
- test_closure(f, g.func_closure, ValueError) # no closure needed
-
-- if hasattr(new, 'code') and not test_support.is_jython:
-+ # [Obsolete] Note: Jython will never have new.code()
-+ #
-+ # Who said that?!!! guess what, we do! :)
-+ #
-+ # Unfortunately we still need a way to compile to Python bytecode,
-+ # so support is still incomplete, as seen in the fact that we need
-+ # to get values from CPython 2.7.
-+ if hasattr(new, 'code'):
- def test_code(self):
- # bogus test of new.code()
- def f(a): pass
-@@ -117,16 +116,16 @@ class NewTest(unittest.TestCase):
- c = f.func_code
- argcount = c.co_argcount
- nlocals = c.co_nlocals
-- stacksize = c.co_stacksize
-+ stacksize = 1 # TODO c.co_stacksize
- flags = c.co_flags
-- codestring = c.co_code
-- constants = c.co_consts
-- names = c.co_names
-+ codestring = 'd\x00\x00S' # TODO c.co_code
-+ constants = (None,) # TODO c.co_consts
-+ names = () # TODO c.co_names
- varnames = c.co_varnames
- filename = c.co_filename
- name = c.co_name
- firstlineno = c.co_firstlineno
-- lnotab = c.co_lnotab
-+ lnotab = '' # TODO c.co_lnotab, but also see http://bugs.jython.org/issue1638
- freevars = c.co_freevars
- cellvars = c.co_cellvars
-
-diff --git a/src/org/python/core/PyBytecode.java b/src/org/python/core/PyBytecode.java
---- a/src/org/python/core/PyBytecode.java
-+++ b/src/org/python/core/PyBytecode.java
-@@ -66,6 +66,12 @@ public class PyBytecode extends PyBaseCo
-
- debug = defaultDebug;
-
-+ if (argcount < 0) {
-+ throw Py.ValueError("code: argcount must not be negative");
-+ } else if (nlocals < 0) {
-+ throw Py.ValueError("code: nlocals must not be negative");
-+ }
-+
- co_argcount = nargs = argcount;
- co_varnames = varnames;
- co_nlocals = nlocals; // maybe assert = varnames.length;
-diff --git a/src/org/python/core/PyFunction.java b/src/org/python/core/PyFunction.java
---- a/src/org/python/core/PyFunction.java
-+++ b/src/org/python/core/PyFunction.java
-@@ -545,6 +545,9 @@ public class PyFunction extends PyObject
- @Override
- public boolean isSequenceType() { return false; }
-
-+ private Object readResolve() {
-+ throw new UnsupportedOperationException();
-+ }
-
- /* Traverseproc implementation */
- @Override
-
diff --git a/dev-java/jython/files/jython-2.5.2-distutils_scripts_location.patch b/dev-java/jython/files/jython-2.5.2-distutils_scripts_location.patch
deleted file mode 100644
index fc9a95be89f9..000000000000
--- a/dev-java/jython/files/jython-2.5.2-distutils_scripts_location.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Lib/distutils/command/install.py
-+++ b/Lib/distutils/command/install.py
-@@ -70,7 +70,7 @@
- 'purelib': '$base/Lib/site-packages',
- 'platlib': '$base/Lib/site-packages',
- 'headers': '$base/Include/$dist_name',
-- 'scripts': '$base/bin',
-+ 'scripts': '/usr/bin',
- 'data' : '$base',
- }
- }
diff --git a/dev-java/jython/files/jython-2.5.2-respect_PYTHONPATH.patch b/dev-java/jython/files/jython-2.5.2-respect_PYTHONPATH.patch
deleted file mode 100644
index e695122ba1d6..000000000000
--- a/dev-java/jython/files/jython-2.5.2-respect_PYTHONPATH.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/src/org/python/core/PySystemState.java
-+++ b/src/org/python/core/PySystemState.java
-@@ -646,6 +646,12 @@
- if (jythonpath != null) {
- registry.setProperty("python.path", jythonpath);
- }
-+ else {
-+ jythonpath = System.getenv("PYTHONPATH");
-+ if (jythonpath != null) {
-+ registry.setProperty("python.path", jythonpath);
-+ }
-+ }
- } catch (SecurityException e) {
- }
- registry.putAll(postProperties);
diff --git a/dev-java/jython/files/jython-2.7.0-build.xml.patch b/dev-java/jython/files/jython-2.7.0-build.xml.patch
deleted file mode 100644
index 1f0be614dbe5..000000000000
--- a/dev-java/jython/files/jython-2.7.0-build.xml.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/build.xml.orig 2015-06-27 16:12:08.442000000 +0000
-+++ b/build.xml 2015-06-27 16:12:15.684000000 +0000
-@@ -448,7 +448,7 @@
- </target>
-
- <target name="antlr_gen" depends="prepare-output" unless="antlr.notneeded">
-- <java classname="org.antlr.Tool" failonerror="true" fork="true" dir="${jython.base.dir}">
-+ <java classname="org.antlr.Tool" failonerror="false" fork="true" dir="${jython.base.dir}">
- <jvmarg value="-Xmx512m"/>
- <arg value="-Xconversiontimeout"/>
- <arg value="2000"/>
diff --git a/dev-java/jython/files/jython-2.7_beta1-ant.patch b/dev-java/jython/files/jython-2.7_beta1-ant.patch
deleted file mode 100644
index c86cae894a92..000000000000
--- a/dev-java/jython/files/jython-2.7_beta1-ant.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- jython-2.7-b1-sources/build.xml
-+++ jython-2.7-b1-sources/build.xml
-@@ -508,6 +509,7 @@
- </javac>
-
- <!-- java files used by tests -->
-+<!--
- <javac srcdir="${test.source.dir}"
- destdir="${compile.dir}"
- target="${jdk.target.version}"
-@@ -529,6 +531,7 @@
- <compilerarg line="${javac.Xlint}"/>
- <classpath refid="test.classpath" />
- </javac>
-+-->
- <copy file="${source.dir}/org/python/modules/ucnhash.dat"
- todir="${compile.dir}/org/python/modules"
- preservelastmodified="true" />
-@@ -826,9 +829,6 @@
-
- <target name="copy-javalib" unless="full-build">
- <copy todir="${dist.dir}/javalib">
-- <fileset dir="${jython.base.dir}/extlibs">
-- <exclude name="profile.properties"/>
-- </fileset>
- <fileset dir="${work.dir}/build">
- <include name="*.jar"/>
- <include name="*.properties"/>
diff --git a/dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch b/dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch
deleted file mode 100644
index 326ef7f62afa..000000000000
--- a/dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/org/python/core/imp.java
-+++ b/src/org/python/core/imp.java
-@@ -228,7 +228,7 @@
- }
- if (testing && mtime != NO_MTIME) {
- long time = ar.getMTime();
-- if (mtime != time) {
-+ if (mtime < time) {
- return null;
- }
- }
diff --git a/dev-java/jython/files/jython-2.7_beta2-maxrepeat-import.patch b/dev-java/jython/files/jython-2.7_beta2-maxrepeat-import.patch
deleted file mode 100644
index 944bb195cb38..000000000000
--- a/dev-java/jython/files/jython-2.7_beta2-maxrepeat-import.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -r 035eded55c4d lib-python/2.7/sre_constants.py
---- a/lib-python/2.7/sre_constants.py Wed Apr 16 18:30:13 2014 -0600
-+++ b/lib-python/2.7/sre_constants.py Fri Jul 25 10:31:27 2014 -0700
-@@ -15,7 +15,11 @@
-
- MAGIC = 20031017
-
--from _sre import MAXREPEAT
-+try:
-+ from _sre import MAXREPEAT
-+except ImportError:
-+ import _sre
-+ MAXREPEAT = _sre.MAXREPEAT = 65535
-
- # SRE standard exception (access as sre.error)
- # should this really be here?
diff --git a/dev-java/jython/jython-2.7.0-r7.ebuild b/dev-java/jython/jython-2.7.0-r7.ebuild
deleted file mode 100644
index b05f5ed59d82..000000000000
--- a/dev-java/jython/jython-2.7.0-r7.ebuild
+++ /dev/null
@@ -1,156 +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"
-MAVEN_ID="org.python:jython:2.7.0"
-
-inherit java-pkg-2 java-ant-2 python-utils-r1 flag-o-matic
-
-MY_PV=${PV/_beta/-b}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="An implementation of Python written in Java"
-HOMEPAGE="https://www.jython.org"
-SRC_URI="https://search.maven.org/remotecontent?filepath=org/python/${PN}/${MY_PV}/${MY_P}-sources.jar"
-
-LICENSE="PSF-2"
-SLOT="2.7"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="examples test"
-
-CP_DEPEND="dev-java/antlr:3
- dev-java/netty:0
- dev-java/asm:9
- dev-java/commons-compress:0
- dev-java/guava:0
- dev-java/jffi:1.3
- dev-java/jline:2
- dev-java/icu4j:70
- dev-java/jnr-constants:0
- dev-java/jnr-posix:3.0
- dev-java/jnr-netdb:1.0
- dev-java/stringtemplate:0
- dev-java/xerces:2
- java-virtuals/servlet-api:3.0"
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*
- dev-java/ant-core:0
- test? (
- dev-java/junit:4
- dev-java/ant-junit:0
- )"
-BDEPEND="app-arch/unzip"
-
-S=${WORKDIR}
-
-RESTRICT="test"
-
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-JAVA_ANT_CLASSPATH_TAGS+=" java"
-
-EANT_BUILD_TARGET="developer-build"
-EANT_TEST_EXTRA_ARGS="-Dpython.home=dist"
-
-# jdbc-informix and jdbc-oracle-bin (requires registration) aren't exposed.
-# Uncomment and add to CDEPEND if you want either of them
-#EANT_GENTOO_CLASSPATH+=",jdbc-informix" EANT_EXTRA_ARGS+=" -Dinformix.present"
-#EANT_GENTOO_CLASSPATH+=",jdbc-oracle-bin" EANT_EXTRA_ARGS+=" -Doracle.present"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.5.2-distutils_scripts_location.patch
- "${FILESDIR}"/${PN}-2.5.2-respect_PYTHONPATH.patch
- "${FILESDIR}"/${PN}-2.7_beta1-ant.patch
- "${FILESDIR}"/${PN}-2.7_beta1-dont-always-recompile-classes.patch
- "${FILESDIR}"/${PN}-2.7_beta2-maxrepeat-import.patch
- "${FILESDIR}"/${PN}-2.7.0-build.xml.patch
- "${FILESDIR}"/CVE-2016-4000.patch
-)
-
-src_prepare() {
- default
-
- find \( -name '*.jar' -o -name '*.class' \
- -o -name '*.pyc' -o -name '*.exe' \) -delete
-
- # needed for launchertest
- chmod +x tests/shell/test-jython.sh || die
-
- # https://bugs.gentoo.org/show_bug.cgi?id=833785
- sed -e 's:\(CharMatcher.\)ASCII:\1ascii():' \
- -i src/org/python/core/Py{,BaseCode,Unicode}.java || die
-
- java-pkg-2_src_prepare
-}
-
-src_configure() {
- # apparently this can cause problems
- append-flags -fno-stack-protector
-
- EANT_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --with-dependencies antlr-3,jnr-posix-3.0)"
- EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only ant-core)"
-}
-
-src_test() {
- java-pkg-2_src_test
-}
-
-src_install() {
- local instdir=/usr/share/${PN}-${SLOT}
-
- java-pkg_newjar dist/${PN}-dev.jar
-
- java-pkg_register-optional-dependency jdbc-mysql
- java-pkg_register-optional-dependency jdbc-postgresql
-
- insinto ${instdir}
- doins -r dist/{Lib,registry}
-
- dodoc ACKNOWLEDGMENTS NEWS README.txt
-
- use doc && java-pkg_dohtml -r dist/Doc/javadoc
- use source && java-pkg_dosrc src/*
- use examples && java-pkg_doexamples Demo/*
-
- local java_args=(
- -Dpython.home="${EPREFIX}"/usr/share/${PN}-${SLOT}
- -Dpython.executable="${EPREFIX}"/usr/bin/jython${SLOT}
- -Dpython.cachedir="\${HOME}/.jythoncachedir"
- )
-
- java-pkg_dolauncher jython${SLOT} \
- --main org.python.util.jython \
- --java_args "${java_args[*]}"
-
- # we need a wrapper to help python_optimize
- cat <<-EOF > "${T}"/jython
- exec java -cp "$(java-pkg_getjars "${EANT_GENTOO_CLASSPATH}"):${EANT_GENTOO_CLASSPATH_EXTRA}:dist/${PN}-dev.jar" \
- -Dpython.home="${ED}${instdir}" \
- -Dpython.cachedir="${T}/.jythoncachedir" \
- -Duser.home="${T}" \
- org.python.util.jython "\${@}"
- EOF
- chmod +x "${T}"/jython || die
-
- local -x PYTHON="${T}"/jython
- # we can't get the path from the interpreter since it does some
- # magic that fails on non-installed copy...
- _python_export jython${SLOT} EPYTHON
-
- # compile tests (everything else is compiled already)
- # we're keeping it quiet since jython reports errors verbosely
- # and some of the tests are supposed to trigger compile errors
- python_optimize "${ED}${instdir}"/Lib/test &>/dev/null
-
- # for python-exec
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_moduleinto "/usr/share/jython-${SLOT}/Lib/site-packages"
- python_domodule epython.py
-
- # some of the class files end up with newer timestamps than the files they
- # were generated from, make sure this doesn't happen
- find "${ED}${instdir}"/Lib/ -name '*.class' | xargs touch
-}
diff --git a/dev-java/jython/metadata.xml b/dev-java/jython/metadata.xml
deleted file mode 100644
index 917ad960b715..000000000000
--- a/dev-java/jython/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">jython</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/jzlib/jzlib-1.1.3-r2.ebuild b/dev-java/jzlib/jzlib-1.1.3-r2.ebuild
index 4ed94830325b..0961413b289f 100644
--- a/dev-java/jzlib/jzlib-1.1.3-r2.ebuild
+++ b/dev-java/jzlib/jzlib-1.1.3-r2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/ymnk/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
>=virtual/jre-1.8:*"
diff --git a/dev-java/leiningen-bin/Manifest b/dev-java/leiningen-bin/Manifest
index 573922fb97a0..61b3224c3455 100644
--- a/dev-java/leiningen-bin/Manifest
+++ b/dev-java/leiningen-bin/Manifest
@@ -1,2 +1,2 @@
-DIST leiningen-2.9.8-standalone.jar 12834369 BLAKE2B 6c9bc9a2f990bb4959aa06f8f8b31c1084f0d2bad2e19c8343fb7e8a02acb6f6173737cbf36b028e113577ef26e380d7ace035316dee840c6da92512afa7ac0b SHA512 de4989bf31fe86bfb943d90b683dd17a7417c267e67ac8036967ed352e47a4361b8b6ec8378a1e6cf24fd8df51bcabb9578bc8f487d812c9fb5c2f5f476016cd
-DIST leiningen-2.9.8.sh 4555 BLAKE2B c876d19a4ba9a53d84c31874af442e57e6184ce1f7145512355a88b833d2d236bd73eef93f260d22b51e6200c5579c3721a8b6bcb16d516e503a98a2eaf26126 SHA512 58cba7d457c98546e530ad821273cb3f51445ed3191022d0963dd51683cb6b24d0f7d557da34313083b0df11a2c9885bf6d5bb073dea736731de95e8fbbca492
+DIST leiningen-2.11.2-standalone.jar 16481883 BLAKE2B 556e9fdcd5f8c14e046ff8e12f9c5d52c214f0c7cf8af9469e140dc21187a0cb2d5acc02b0ab48b110278d5143cdeef2b4eb8d2945d5acaf568cfe35e1877c04 SHA512 a49e82acccdaae4f619796adf1ef9d0cfc4998c01f4c918520bb3f757b9f7808fb5c65241f79aea730d1e90181c9c2983b7219ef0893103f7abcedf94afcafd5
+DIST leiningen-2.11.2.sh 7467 BLAKE2B bfd9031e1f0c2b8cedf435832f2da5f45ac4c9fbdb2684f4900b43e62c3ffec03781ca2491f1a305c480a7fa8bf5cccf9e934ecc12e6e0ce1da539d9d8fe01dd SHA512 b4e0c553148f81bced1d8df09811f337352149bba879b0828fdeb6efd176fcebf0c4f263a5c8b74241b6a2dd7df52d932271cbf8f11f71279b498f8a9e2399b4
diff --git a/dev-java/leiningen-bin/leiningen-bin-2.11.2.ebuild b/dev-java/leiningen-bin/leiningen-bin-2.11.2.ebuild
new file mode 100644
index 000000000000..9b67aaa8bbc5
--- /dev/null
+++ b/dev-java/leiningen-bin/leiningen-bin-2.11.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2
+
+MY_PN="${PN%-bin}"
+MY_PNV="${MY_PN}-${PV}"
+
+DESCRIPTION="Automate Clojure projects without setting your hair on fire"
+HOMEPAGE="https://leiningen.org/"
+SRC_URI="
+ https://github.com/technomancy/${MY_PN}/releases/download/${PV}/${MY_PNV}-standalone.jar
+ https://raw.githubusercontent.com/technomancy/${MY_PN}/${PV}/bin/lein-pkg -> ${MY_PNV}.sh
+"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86 ~x64-macos"
+
+RDEPEND=">=virtual/jre-1.8"
+DEPEND=">=virtual/jdk-1.8"
+
+RESTRICT="test"
+
+src_unpack() {
+ mkdir -p "${S}" || die "Can't mkdir ${S}"
+ cd "${S}" || die "Can't enter ${S}"
+ for file in ${A}; do
+ einfo "Copying ${file}"
+ cp "${DISTDIR}/${file}" "${S}/" || die "Can't copy ${file}"
+ done
+}
+
+src_prepare() {
+ einfo "Copying leinrc"
+ cp "${FILESDIR}/leinrc" "${S}/" || die "Can't copy leinrc"
+ einfo "Patching leinrc"
+ sed -i "s^@@PN@@^${PN}^" "${S}/leinrc" || die "Can't patch leinrc"
+
+ einfo "Renaming lein-pkg"
+ # Rename generically to help user patching
+ mv "${S}/${MY_PNV}.sh" "${S}/lein" || die "Can't rename to lein"
+
+ einfo "Patching lein"
+ java-pkg_init_paths_
+ sed -i "s|^LEIN_JAR=.*$|LEIN_JAR=${EPREFIX}/${JAVA_PKG_JARDEST#/}/${PN}.jar|" "${S}/lein" \
+ || die "Can't patch LEIN_JAR in lein"
+
+ default
+}
+
+src_compile() { :; }
+
+src_install() {
+ dobin "${S}/lein"
+ java-pkg_newjar "${MY_PNV}-standalone.jar"
+ insinto /etc
+ doins "${S}/leinrc"
+ fperms 0644 "/etc/leinrc"
+}
diff --git a/dev-java/leiningen-bin/leiningen-bin-2.9.8.ebuild b/dev-java/leiningen-bin/leiningen-bin-2.9.8.ebuild
deleted file mode 100644
index 182f3392805f..000000000000
--- a/dev-java/leiningen-bin/leiningen-bin-2.9.8.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-pkg-2
-
-MY_PN="${PN%-bin}"
-MY_PNV="${MY_PN}-${PV}"
-
-DESCRIPTION="Automate Clojure projects without setting your hair on fire"
-HOMEPAGE="https://leiningen.org/"
-SRC_URI="
- https://github.com/technomancy/${MY_PN}/releases/download/${PV}/${MY_PNV}-standalone.jar
- https://raw.githubusercontent.com/technomancy/${MY_PN}/${PV}/bin/lein-pkg -> ${MY_PNV}.sh
-"
-
-LICENSE="EPL-1.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86 ~x64-macos"
-
-RDEPEND=">=virtual/jre-1.8"
-DEPEND=">=virtual/jdk-1.8"
-
-RESTRICT="test"
-
-src_unpack() {
- mkdir -p "${S}" || die "Can't mkdir ${S}"
- cd "${S}" || die "Can't enter ${S}"
- for file in ${A}; do
- einfo "Copying ${file}"
- cp "${DISTDIR}/${file}" "${S}/" || die "Can't copy ${file}"
- done
-}
-
-src_prepare() {
- einfo "Copying leinrc"
- cp "${FILESDIR}/leinrc" "${S}/" || die "Can't copy leinrc"
- einfo "Patching leinrc"
- sed -i "s^@@PN@@^${PN}^" "${S}/leinrc" || die "Can't patch leinrc"
-
- einfo "Renaming lein-pkg"
- # Rename generically to help user patching
- mv "${S}/${MY_PNV}.sh" "${S}/lein" || die "Can't rename to lein"
-
- einfo "Patching lein"
- java-pkg_init_paths_
- sed -i "s|^LEIN_JAR=.*$|LEIN_JAR=${EPREFIX}/${JAVA_PKG_JARDEST#/}/${PN}.jar|" "${S}/lein" \
- || die "Can't patch LEIN_JAR in lein"
-
- default
-}
-
-src_compile() { :; }
-
-src_install() {
- dobin "${S}/lein"
- java-pkg_newjar "${MY_PNV}-standalone.jar"
- insinto /etc
- doins "${S}/leinrc"
- fperms 0644 "/etc/leinrc"
-}
diff --git a/dev-java/libg/Manifest b/dev-java/libg/Manifest
index 068af0665527..a890570b45c8 100644
--- a/dev-java/libg/Manifest
+++ b/dev-java/libg/Manifest
@@ -1 +1 @@
-DIST bndlib-2.1.0.tar.gz 123217291 BLAKE2B ab8e6876b13db538746f77aa1fe7800e5a3b5e539e1980da78f69c64344f4964bf0a21f2329f7684b055d0de39a10c8df36e030922e9933b29fccb9a35aa669a SHA512 6965143ced45c15fc2316716de32e80506cc411d52309b24313fff37e0713a45ad200d5b3701f0d47a131a3163ec266ed8acb4544884cd1c59c9716c7a2b285e
+DIST aQute.bnd-7.0.0.tar.gz 172496438 BLAKE2B a2e443b0e4a2eb278a8e1df86456fea22ffb8147adc00c9f300cbd32b226218bb64ccca3da3bcd0d79b07567a7b4cf4456b96224d6abf59486fa08ca6170d0ba SHA512 11d34a7d1a9b2fb2e8c112d414a06c281ccde9a7b06c62043e19d83e85ea64fdf022dd4493a14dd2dcf6adee392a1e9bf1ab05a6d690a328f29d7019045bca8c
diff --git a/dev-java/libg/libg-2.1.0-r2.ebuild b/dev-java/libg/libg-2.1.0-r2.ebuild
deleted file mode 100644
index 426364b8ed10..000000000000
--- a/dev-java/libg/libg-2.1.0-r2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="test"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Lots of small utilities for bndlib, a swiss army knife for OSGi"
-HOMEPAGE="https://bnd.bndtools.org/"
-SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.REL.tar.gz -> bndlib-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Tests depend on biz.aQute.junit, which depends on biz.aQute.bndlib, which on
-# its own turn again depends on aQute.libg again; we can temporarily assume that
-# if bndlib tests pass that libg is sufficiently tested, in the future we should
-# look whether it is feasible to combine the packages or otherwise temporarily
-# build biz.aquite.bndlib and biz.aqute.junit in this package.
-RESTRICT="test"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/bnd-${PV}.REL/aQute.${PN}"
-
-EANT_BUILD_TARGET="build"
-
-src_prepare() {
- default
- # Move the correct build.xml into place, needed for testing.
- cp ../cnf/build.xml . || die "Failed to move build file into the right place."
-
- # Remove bundled jar files.
- find . -name '*.jar' -delete
-
- # Remove test files
- if ! use test ; then
- find src/test -name '*.java' -delete || die "Failed to remove test files."
- fi
-}
-
-src_install() {
- java-pkg_newjar generated/aQute.${PN}.jar
-}
diff --git a/dev-java/libg/libg-7.0.0.ebuild b/dev-java/libg/libg-7.0.0.ebuild
new file mode 100644
index 000000000000..7acbb7965c60
--- /dev/null
+++ b/dev-java/libg/libg-7.0.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="biz.aQute.bnd:aQute.libg:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A library to be statically linked. Contains many small utilities"
+HOMEPAGE="https://bnd.bndtools.org/"
+SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.tar.gz -> aQute.bnd-${PV}.tar.gz"
+S="${WORKDIR}/bnd-${PV}"
+
+LICENSE="Apache-2.0 EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+# aQute.bnd.test.jupiter does not exist
+# org.assertj.core.api.junit.jupiter does not exist
+RESTRICT="test" #839681
+
+CP_DEPEND="
+ dev-java/slf4j-api:0
+"
+
+# compile error with jdk:21, restricting to jdk:17
+# aQute.libg/src/aQute/lib/collections/SortedList.java:31: error: types List<T> and SortedSet<T> are incompatible;
+# public class SortedList<T> implements SortedSet<T>, List<T> {
+# ^
+# both define reversed(), but with unrelated return types
+# where T is a type-variable:
+# T extends Object declared in class SortedList
+DEPEND="${CP_DEPEND}
+ ~dev-java/bnd-annotation-${PV}:0
+ dev-java/osgi-cmpn:8
+ virtual/jdk:17
+"
+
+# aQute.libg/src/aQute/libg/uri/URIUtil.java:161:
+# error: switch expressions are not supported in -source 11
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-17:*
+"
+
+JAVA_AUTOMATIC_MODULE_NAME="aQute.libg"
+JAVA_CLASSPATH_EXTRA="
+ bnd-annotation
+ osgi-cmpn-8
+"
+JAVA_SRC_DIR="aQute.libg/src"
diff --git a/dev-java/libg/metadata.xml b/dev-java/libg/metadata.xml
index 94feb65b0b18..cb6317e530db 100644
--- a/dev-java/libg/metadata.xml
+++ b/dev-java/libg/metadata.xml
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="github">bndtools/bnd</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bndtools/bnd</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/lmax-disruptor/lmax-disruptor-3.4.4.ebuild b/dev-java/lmax-disruptor/lmax-disruptor-3.4.4.ebuild
index 740ecc7747c2..75b087415f61 100644
--- a/dev-java/lmax-disruptor/lmax-disruptor-3.4.4.ebuild
+++ b/dev-java/lmax-disruptor/lmax-disruptor-3.4.4.ebuild
@@ -27,7 +27,7 @@ S="${WORKDIR}/disruptor-${PV}"
JAVA_SRC_DIR="src/main"
JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test"
+JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_EXCLUDES=(
# valid test classes have pattern *Test with nothing behind
com.lmax.disruptor.dsl.stubs.TestWorkHandler # No runnable methods
diff --git a/dev-java/log4j-12-api/Manifest b/dev-java/log4j-12-api/Manifest
index 5eea11bf347d..90ceb3023e39 100644
--- a/dev-java/log4j-12-api/Manifest
+++ b/dev-java/log4j-12-api/Manifest
@@ -1 +1 @@
-DIST apache-log4j-2.18.0-src.tar.gz 11748446 BLAKE2B c11a5c7cb5be77fd27504b93962c5493f92475e759a575c5536b674a7e8116d4f9840bd2eb3e95156c257ff046f0e3ec437960b0f5ca01f2ddceb509c49aac1f SHA512 104eb8dbd35d3166a0d49190b2e3fdf981b864d21ed47d84f16acd417b943a41fbafa445b2c38ae8cdc494da6af8746ecc3a0db4795f45ce427344659cffae7b
+DIST apache-log4j-2.19.0-src.tar.gz 11764795 BLAKE2B 02ec7c5c825cabe9994a2f50d6761110f87a19ff46874c00d46986da7338c32148f3b6c3551c95721aaf94b71d1d5ce8bcea32462e11fa3fe0c3cbbc0cf5f887 SHA512 c72859c415e701921497bb4f02047fa022083f66b4d21b1dbae28361bd73498b2eae335b9a1ac2d7f796df734a6d54db2701ae5ebf999197597e9e2ad064c271
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
deleted file mode 100644
index 7bc2e52908c5..000000000000
--- a/dev-java/log4j-12-api/log4j-12-api-2.18.0.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# 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-12-api/log4j-12-api-2.19.0.ebuild b/dev-java/log4j-12-api/log4j-12-api-2.19.0.ebuild
new file mode 100644
index 000000000000..eb4baf392fe0
--- /dev/null
+++ b/dev-java/log4j-12-api/log4j-12-api-2.19.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2023 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.19.0/apache-log4j-2.19.0-src.tar.gz --slot 2 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild log4j-12-api-2.19.0.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.logging.log4j:log4j-1.2-api:2.19.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.19.0 -> >=dev-java/log4j-api-2.19.0:2
+# org.apache.logging.log4j:log4j-core:2.19.0 -> >=dev-java/log4j-core-2.19.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.4 -> >=dev-java/jackson-dataformat-xml-2.13.4: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 -> >=dev-java/felix-framework-7.0.5:0
+# test? org.apache.logging.log4j:log4j-api:2.19.0 -> >=dev-java/log4j-api-2.19.0:2
+# test? org.apache.logging.log4j:log4j-core:2.19.0 -> >=dev-java/log4j-core-2.19.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.9.0 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-params:5.9.0 -> !!!groupId-not-found!!!
+# test? org.junit.vintage:junit-vintage-engine:5.9.0 -> !!!groupId-not-found!!!
+# test? org.mockito:mockito-core:4.4.0 -> >=dev-java/mockito-4.6.1: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/commons-lang-3.12.0:3.6
+# >=dev-java/felix-framework-7.0.5:0
+# >=dev-java/jackson-dataformat-xml-2.13.4:0
+# >=dev-java/jakarta-oro-2.0.8:2.0
+# >=dev-java/log4j-api-2.19.0:2
+# >=dev-java/log4j-core-2.19.0:2
+# >=dev-java/mockito-4.6.1:4
+# )
+#"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( {CONTRIBUTING,README,RELEASE-NOTES,SECURITY}.md )
+
+S="${WORKDIR}/apache-log4j-${PV}-src"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.log4j"
+JAVA_CLASSPATH_EXTRA="javax-jms-api"
+JAVA_RESOURCE_DIRS="log4j-1.2-api/src/main/resources"
+JAVA_SRC_DIR="log4j-1.2-api/src/main/java"
+
+#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 5eea11bf347d..14e2988064c0 100644
--- a/dev-java/log4j-api/Manifest
+++ b/dev-java/log4j-api/Manifest
@@ -1 +1,2 @@
-DIST apache-log4j-2.18.0-src.tar.gz 11748446 BLAKE2B c11a5c7cb5be77fd27504b93962c5493f92475e759a575c5536b674a7e8116d4f9840bd2eb3e95156c257ff046f0e3ec437960b0f5ca01f2ddceb509c49aac1f SHA512 104eb8dbd35d3166a0d49190b2e3fdf981b864d21ed47d84f16acd417b943a41fbafa445b2c38ae8cdc494da6af8746ecc3a0db4795f45ce427344659cffae7b
+DIST apache-log4j-2.19.0-src.tar.gz 11764795 BLAKE2B 02ec7c5c825cabe9994a2f50d6761110f87a19ff46874c00d46986da7338c32148f3b6c3551c95721aaf94b71d1d5ce8bcea32462e11fa3fe0c3cbbc0cf5f887 SHA512 c72859c415e701921497bb4f02047fa022083f66b4d21b1dbae28361bd73498b2eae335b9a1ac2d7f796df734a6d54db2701ae5ebf999197597e9e2ad064c271
+DIST apache-log4j-2.19.0-src.tar.gz.asc 858 BLAKE2B 36cefcd5f016919d18a7d74121bbd913be65e32daa38cef312c167be5c4a0e722aac1c2c802f95792c7c7e8e455a755cd3c5a737b34c36ffa061c60eb6488775 SHA512 0de52ad15d593330631cd26feb4827f1dadc4858c16e33c33099efe27cddf854c5c4ed7f0cde4c6593bc74e573b6378e7f993477d02215295ec7992b81d0b338
diff --git a/dev-java/log4j-api/log4j-api-2.18.0.ebuild b/dev-java/log4j-api/log4j-api-2.18.0.ebuild
deleted file mode 100644
index 918cc1725411..000000000000
--- a/dev-java/log4j-api/log4j-api-2.18.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# 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-api/log4j-api-2.19.0.ebuild b/dev-java/log4j-api/log4j-api-2.19.0.ebuild
new file mode 100644
index 000000000000..3175e9cecaea
--- /dev/null
+++ b/dev-java/log4j-api/log4j-api-2.19.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2023 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.19.0/apache-log4j-2.19.0-src.tar.gz --slot 2 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild log4j-api-2.19.0.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.logging.log4j:log4j-api:2.19.0"
+JAVA_TESTING_FRAMEWORKS="junit-vintage junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+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
+ verify-sig? ( https://www.apache.org/dist/logging/log4j/${PV}/apache-log4j-${PV}-src.tar.gz.asc )"
+
+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 -> !!!suitable-mavenVersion-not-found!!!
+# POM: ${PN}/pom.xml
+# test? com.fasterxml.jackson.core:jackson-core:2.13.4 -> >=dev-java/jackson-core-2.13.4:0
+# test? com.fasterxml.jackson.core:jackson-databind:2.13.4 -> >=dev-java/jackson-databind-2.13.4: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 -> >=dev-java/felix-framework-7.0.5:0
+# 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.9.0 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-migrationsupport:5.9.0 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-params:5.9.0 -> !!!groupId-not-found!!!
+# test? org.junit.vintage:junit-vintage-engine:5.9.0 -> !!!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/felix-framework-7.0.5:0
+# >=dev-java/jackson-core-2.13.4:0
+# >=dev-java/jackson-databind-2.13.4:0
+# )
+#"
+
+RDEPEND=">=virtual/jre-1.8:*"
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-apache-logging )
+"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/logging.apache.org.asc"
+
+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 5eea11bf347d..90ceb3023e39 100644
--- a/dev-java/log4j-core/Manifest
+++ b/dev-java/log4j-core/Manifest
@@ -1 +1 @@
-DIST apache-log4j-2.18.0-src.tar.gz 11748446 BLAKE2B c11a5c7cb5be77fd27504b93962c5493f92475e759a575c5536b674a7e8116d4f9840bd2eb3e95156c257ff046f0e3ec437960b0f5ca01f2ddceb509c49aac1f SHA512 104eb8dbd35d3166a0d49190b2e3fdf981b864d21ed47d84f16acd417b943a41fbafa445b2c38ae8cdc494da6af8746ecc3a0db4795f45ce427344659cffae7b
+DIST apache-log4j-2.19.0-src.tar.gz 11764795 BLAKE2B 02ec7c5c825cabe9994a2f50d6761110f87a19ff46874c00d46986da7338c32148f3b6c3551c95721aaf94b71d1d5ce8bcea32462e11fa3fe0c3cbbc0cf5f887 SHA512 c72859c415e701921497bb4f02047fa022083f66b4d21b1dbae28361bd73498b2eae335b9a1ac2d7f796df734a6d54db2701ae5ebf999197597e9e2ad064c271
diff --git a/dev-java/log4j-core/log4j-core-2.18.0-r1.ebuild b/dev-java/log4j-core/log4j-core-2.18.0-r1.ebuild
deleted file mode 100644
index cafb2b256299..000000000000
--- a/dev-java/log4j-core/log4j-core-2.18.0-r1.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# 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: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"
-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/log4j-core/log4j-core-2.19.0.ebuild b/dev-java/log4j-core/log4j-core-2.19.0.ebuild
new file mode 100644
index 000000000000..1ef9298c2298
--- /dev/null
+++ b/dev-java/log4j-core/log4j-core-2.19.0.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2023 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.19.0/apache-log4j-2.19.0-src.tar.gz --slot 2 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild log4j-core-2.19.0.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.logging.log4j:log4j-core:2.19.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.20:0
+# com.fasterxml.jackson.core:jackson-core:2.13.4 -> >=dev-java/jackson-core-2.13.4:0
+# com.fasterxml.jackson.core:jackson-databind:2.13.4 -> >=dev-java/jackson-databind-2.13.4:0
+# com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.13.4 -> >=dev-java/jackson-dataformat-xml-2.13.4:0
+# com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.4 -> >=dev-java/jackson-dataformat-yaml-2.13.4:0
+# com.fasterxml.woodstox:woodstox-core:6.3.1 -> >=dev-java/woodstox-core-6.3.1: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.19.0 -> >=dev-java/log4j-api-2.19.0:2
+# org.fusesource.jansi:jansi:2.4.0 -> >=dev-java/jansi-2.4.0:2
+# org.jctools:jctools-core:3.3.0 -> >=dev-java/jctools-core-3.3.0:3
+# 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.35.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 -> >=dev-java/felix-framework-7.0.5:0
+# test? org.apache.logging.log4j:log4j-api:2.19.0 -> >=dev-java/log4j-api-2.19.0:2
+# 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.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 -> !!!artifactId-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.8 -> !!!groupId-not-found!!!
+# test? org.junit-pioneer:junit-pioneer:1.6.2 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-engine:5.9.0 -> !!!groupId-not-found!!!
+# test? org.junit.jupiter:junit-jupiter-params:5.9.0 -> !!!groupId-not-found!!!
+# test? org.junit.platform:junit-platform-commons:1.9.0 -> !!!groupId-not-found!!!
+# test? org.junit.vintage:junit-vintage-engine:5.9.0 -> !!!groupId-not-found!!!
+# test? org.mockito:mockito-core:4.4.0 -> >=dev-java/mockito-4.6.1: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:0
+ >=virtual/jdk-1.8:*"
+# test? (
+# !!!artifactId-not-found!!!
+# !!!groupId-not-found!!!
+# !!!suitable-mavenVersion-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/felix-framework-7.0.5:0
+# >=dev-java/hamcrest-2.2:0
+# >=dev-java/log4j-api-2.19.0:2
+# >=dev-java/logback-classic-1.2.11:0
+# >=dev-java/logback-core-1.2.11:0
+# >=dev-java/mockito-4.6.1: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_AUTOMATIC_MODULE_NAME="org.apache.logging.log4j.core"
+JAVA_CLASSPATH_EXTRA="jakarta-activation-api-1,jakarta-mail-api,javax-jms-api,osgi-core"
+JAVA_RESOURCE_DIRS="${PN}/src/main/resources"
+JAVA_SRC_DIR="${PN}/src/main/java"
+
+#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/log4j-over-slf4j/Manifest b/dev-java/log4j-over-slf4j/Manifest
new file mode 100644
index 000000000000..502a0b5b52a6
--- /dev/null
+++ b/dev-java/log4j-over-slf4j/Manifest
@@ -0,0 +1 @@
+DIST slf4j-2.0.3.tar.gz 1435478 BLAKE2B fec1a47882d3bbf508f4faed9cbf9448a23e9749c6c41f241c7e80654e0ce55211cec9228fcf0e666c997a4f24c5b96ad57dc076910e7f05704b02d0cf7db709 SHA512 0fb295f7942c2af8aebe2ecf544ef8326b8cc88de397ee6b37a10249b38150a506f62dcec614eee13519a299b30c6d2481dec3ea235d4b3e6a5241d12639bca6
diff --git a/dev-java/log4j-over-slf4j/log4j-over-slf4j-2.0.3.ebuild b/dev-java/log4j-over-slf4j/log4j-over-slf4j-2.0.3.ebuild
new file mode 100644
index 000000000000..d71e64f91321
--- /dev/null
+++ b/dev-java/log4j-over-slf4j/log4j-over-slf4j-2.0.3.ebuild
@@ -0,0 +1,60 @@
+# 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/qos-ch/slf4j/archive/v_2.0.3.tar.gz --slot 0 --keywords "~amd64" --ebuild log4j-over-slf4j-2.0.3.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.slf4j:log4j-over-slf4j:2.0.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Log4j implemented over SLF4J"
+HOMEPAGE="https://www.slf4j.org"
+SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# org.slf4j:slf4j-api:2.0.3 -> >=dev-java/slf4j-api-2.0.3:0
+
+CP_DEPEND="~dev-java/slf4j-api-${PV}:0"
+
+# Compile dependencies
+# POM: pom.xml
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
+# test? org.slf4j:slf4j-jdk14:2.0.3 -> !!!artifactId-not-found!!!
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+DOCS=( ../{README,SECURITY}.md )
+
+S="${WORKDIR}/slf4j-v_${PV}/${PN}"
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=( src/main/java{,9} )
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default
+ # org.slf4j:slf4j-jdk14:2.0.3 is not packaged
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/testPop()/i @Ignore' \
+ -e '/testSmoke()/i @Ignore' \
+ -i src/test/java/org/apache/log4j/test/NDCTest.java || die
+}
diff --git a/dev-java/log4j-over-slf4j/metadata.xml b/dev-java/log4j-over-slf4j/metadata.xml
new file mode 100644
index 000000000000..14f9229b142a
--- /dev/null
+++ b/dev-java/log4j-over-slf4j/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <doc>https://www.slf4j.org/docs.html</doc>
+ <bugs-to>https://www.slf4j.org/bug-reporting.html</bugs-to>
+ <remote-id type="github">qos-ch/slf4j</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/logback-classic/Manifest b/dev-java/logback-classic/Manifest
deleted file mode 100644
index fd3f6cd22f0b..000000000000
--- a/dev-java/logback-classic/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST logback-1.2.11.tar.gz 4133000 BLAKE2B 09ef74fb92c5a3f10a9ed401b0cc687f9dbc05daf17646f96fa216aefef1a150434b7ba4ca25b6ed751c01dab906c56be5c65908ca9baf6e29cc1a9f55e14773 SHA512 2482f7af5696034e9b412fb3d37be7f0bc7c8a2549808f88b0ae693c0be4f95c41acd82649f76a4572ea5c0bb9f8d7a78b9a64d7af6dd76a0b1b926d7419c084
diff --git a/dev-java/logback-classic/logback-classic-1.2.11.ebuild b/dev-java/logback-classic/logback-classic-1.2.11.ebuild
deleted file mode 100644
index 2759bdc02256..000000000000
--- a/dev-java/logback-classic/logback-classic-1.2.11.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# 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/qos-ch/logback/archive/v_1.2.11.tar.gz --slot 0 --keywords "~amd64" --ebuild logback-classic-1.2.11.ebuild
-
-EAPI=8
-
-# No tests, too many dependencies missing
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="ch.qos.logback:logback-classic:1.2.11"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="logback-classic module"
-HOMEPAGE="http://logback.qos.ch"
-SRC_URI="https://github.com/qos-ch/logback/archive/v_${PV}.tar.gz -> logback-${PV}.tar.gz"
-
-LICENSE="EPL-1.0 LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# ch.qos.logback:logback-core:1.2.11 -> >=dev-java/logback-core-1.2.11:0
-# javax.mail:mail:1.4 -> !!!groupId-not-found!!!
-# javax.servlet:javax.servlet-api:3.1.0 -> !!!groupId-not-found!!!
-# org.codehaus.janino:janino:3.0.6 -> >=dev-java/janino-3.1.6:0
-# org.slf4j:slf4j-api:1.7.32 -> >=dev-java/slf4j-api-1.7.32:0
-
-CP_DEPEND="
- dev-java/janino:0
- dev-java/javax-mail:0
- dev-java/logback-core:0
- dev-java/reflections:0
- dev-java/slf4j-api:0
- java-virtuals/servlet-api:3.1
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? ch.qos.cal10n.plugins:maven-cal10n-plugin:0.8.1 -> !!!groupId-not-found!!!
-# test? ch.qos.logback:logback-core:1.2.11 -> >=dev-java/logback-core-1.2.11:0
-# test? com.icegreen:greenmail:1.3 -> !!!groupId-not-found!!!
-# test? dom4j:dom4j:1.6.1 -> !!!groupId-not-found!!!
-# test? junit:junit:4.10 -> >=dev-java/junit-4.13.2:4
-# test? log4j:log4j:1.2.17 -> >=dev-java/log4j-1.2.17:0
-# test? org.apache.felix:org.apache.felix.main:2.0.2 -> !!!groupId-not-found!!!
-# test? org.assertj:assertj-core:1.7.1 -> >=dev-java/assertj-core-2.3.0:2
-# test? org.mockito:mockito-core:2.7.9 -> >=dev-java/mockito-4.4.0:4
-# test? org.slf4j:integration:1.7.32 -> !!!artifactId-not-found!!!
-# test? org.slf4j:jul-to-slf4j:1.7.32 -> !!!artifactId-not-found!!!
-# test? org.slf4j:log4j-over-slf4j:1.7.32 -> !!!artifactId-not-found!!!
-# test? org.slf4j:slf4j-api:1.7.32 -> >=dev-java/slf4j-api-1.7.32:0
-# test? org.slf4j:slf4j-ext:1.7.32 -> >=dev-java/slf4j-ext-1.7.36:0
-# test? org.subethamail:subethasmtp:2.1.0 -> !!!groupId-not-found!!!
-
-# Restricting to jdk:1.8
-# src/main/java/ch/qos/logback/classic/spi/PackagingDataCalculator.java:20: error: cannot find symbol
-# import sun.reflect.Reflection;
-# ^
-# https://jira.qos.ch/browse/LOGBACK-1343
-DEPEND="
- virtual/jdk:1.8
- ${CP_DEPEND}"
-# test? (
-# dev-java/dom4j:1
-# dev-java/assertj-core:2
-# dev-java/log4j-12-api:2
-# dev-java/logback-core:0
-# dev-java/mockito:4
-# dev-java/slf4j-api:0
-# dev-java/slf4j-ext:0
-# )
-# "
-
-RDEPEND="
- virtual/jre:1.8
- ${CP_DEPEND}"
-
-DOCS=( ../README.md )
-
-S="${WORKDIR}/logback-v_${PV}/logback-classic"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="dom4j-1,logback-core,junit-4,log4j,assertj-core-2,mockito-4,slf4j-api,slf4j-ext"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/logback-classic/metadata.xml b/dev-java/logback-classic/metadata.xml
deleted file mode 100644
index 36093b7d6d6d..000000000000
--- a/dev-java/logback-classic/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- </maintainer>
- <upstream>
- <bugs-to>https://logback.qos.ch/bugreport.html</bugs-to>
- <changelog>https://logback.qos.ch/news.html</changelog>
- <remote-id type="github">qos-ch/logback</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/logback-core/Manifest b/dev-java/logback-core/Manifest
deleted file mode 100644
index fd3f6cd22f0b..000000000000
--- a/dev-java/logback-core/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST logback-1.2.11.tar.gz 4133000 BLAKE2B 09ef74fb92c5a3f10a9ed401b0cc687f9dbc05daf17646f96fa216aefef1a150434b7ba4ca25b6ed751c01dab906c56be5c65908ca9baf6e29cc1a9f55e14773 SHA512 2482f7af5696034e9b412fb3d37be7f0bc7c8a2549808f88b0ae693c0be4f95c41acd82649f76a4572ea5c0bb9f8d7a78b9a64d7af6dd76a0b1b926d7419c084
diff --git a/dev-java/logback-core/files/logback-core-1.2.11-Ignore-test-failing-under-Java-16.patch b/dev-java/logback-core/files/logback-core-1.2.11-Ignore-test-failing-under-Java-16.patch
deleted file mode 100644
index 9423f26e9a1a..000000000000
--- a/dev-java/logback-core/files/logback-core-1.2.11-Ignore-test-failing-under-Java-16.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/src/test/java/ch/qos/logback/core/AsyncAppenderBaseTest.java
-+++ b/src/test/java/ch/qos/logback/core/AsyncAppenderBaseTest.java
-@@ -18,6 +18,7 @@
- import static org.junit.Assert.assertTrue;
-
- import org.junit.Before;
-+import org.junit.Ignore;
- import org.junit.Test;
-
- import ch.qos.logback.core.helpers.NOPAppender;
-@@ -281,10 +282,13 @@ public void verifyInterruptionFlagWhenStopping_NOT_INTERUPPTED() {
- }
-
-
-+ // In JDK non started threads can be interrupted
-+ @Ignore
- @Test
- public void verifyInterruptionOfWorkerIsSwallowed() {
- asyncAppenderBase.addAppender(delayingListAppender);
- asyncAppenderBase.start();
-+ Thread.yield();
- asyncAppenderBase.stop();
- assertFalse(asyncAppenderBase.worker.isInterrupted());
- }
diff --git a/dev-java/logback-core/logback-core-1.2.11-r1.ebuild b/dev-java/logback-core/logback-core-1.2.11-r1.ebuild
deleted file mode 100644
index f214fcd20181..000000000000
--- a/dev-java/logback-core/logback-core-1.2.11-r1.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# 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/qos-ch/logback/archive/v_1.2.11.tar.gz --slot 0 --keywords "~amd64" --ebuild logback-core-1.2.11.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="ch.qos.logback:logback-core:1.2.11"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="logback-core module"
-HOMEPAGE="https://logback.qos.ch"
-SRC_URI="https://github.com/qos-ch/logback/archive/v_${PV}.tar.gz -> logback-${PV}.tar.gz"
-
-LICENSE="EPL-1.0 LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-# Common dependencies
-# POM: pom.xml
-# javax.mail:mail:1.4 -> !!!groupId-not-found!!!
-# javax.servlet:javax.servlet-api:3.1.0 -> !!!groupId-not-found!!!
-# org.codehaus.janino:janino:3.0.6 -> >=dev-java/janino-3.1.6:0
-# org.fusesource.jansi:jansi:1.9 -> >=dev-java/jansi-1.13:0
-
-CP_DEPEND="
- dev-java/jakarta-servlet-api:4
- dev-java/janino:0
- dev-java/jansi:0
- dev-java/javax-mail:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? joda-time:joda-time:2.9.2 -> >=dev-java/joda-time-2.10.10:0
-# test? junit:junit:4.10 -> >=dev-java/junit-4.13.2:4
-# test? org.assertj:assertj-core:1.7.1 -> >=dev-java/assertj-core-2.3.0:2
-# test? org.mockito:mockito-core:2.7.9 -> >=dev-java/mockito-4.4.0:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- dev-java/assertj-core:3
- dev-java/joda-time:0
- dev-java/mockito:4
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( ../README.md )
-
-S="${WORKDIR}/logback-v_${PV}/logback-core"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="joda-time,junit-4,assertj-core-3,mockito-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- default
- sed \
- -e 's:org.mockito.Matchers:org.mockito.ArgumentMatchers:' \
- -i 'src/test/java/ch/qos/logback/core/net/AbstractSocketAppenderIntegrationTest.java' || die
-
- # Ignore test failing under Java 16
- # See https://github.com/qos-ch/logback/commit/d6a8200cea6d960bf6832b9b95aed64e87474afb
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" -ge "17" ]] ; then
- eapply "${FILESDIR}/logback-core-1.2.11-Ignore-test-failing-under-Java-16.patch"
- fi
-}
-
-src_test() {
- # 67,73 logback-core/pom.xml
- # <excludes>
- # <exclude>**/All*Test.java</exclude>
- # <exclude>**/PackageTest.java</exclude>
- # <!-- ConsoleAppenderTest redirects System.out which is not well tolerated by Maven -->
- # <exclude>**/ConsoleAppenderTest.java</exclude>
- # <!--<exclude>**/TimeBasedRollingTest.java</exclude>-->
- # </excludes>
- pushd src/test/java || die
- local JAVA_TEST_RUN_ONLY=$(find * \
- -name "*Test.java" \
- ! -wholename "**/All*Test.java" \
- ! -wholename "**/PackageTest.java" \
- ! -name "AbstractAppenderTest.java" \
- ! -name "AbstractPatternLayoutBaseTest.java" \
- ! -name "AbstractSocketAppenderIntegrationTest.java" \
- )
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
- popd
-
- # accessible: module java.base does not "opens java.lang" to unnamed module @42bb2aee
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" -ge "17" ]] ; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
- fi
- java-pkg-simple_src_test
-}
diff --git a/dev-java/logback-core/logback-core-1.2.11.ebuild b/dev-java/logback-core/logback-core-1.2.11.ebuild
deleted file mode 100644
index 954b29679ba8..000000000000
--- a/dev-java/logback-core/logback-core-1.2.11.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# 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/qos-ch/logback/archive/v_1.2.11.tar.gz --slot 0 --keywords "~amd64" --ebuild logback-core-1.2.11.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="ch.qos.logback:logback-core:1.2.11"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="logback-core module"
-HOMEPAGE="https://logback.qos.ch"
-SRC_URI="https://github.com/qos-ch/logback/archive/v_${PV}.tar.gz -> logback-${PV}.tar.gz"
-
-LICENSE="EPL-1.0 LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# javax.mail:mail:1.4 -> !!!groupId-not-found!!!
-# javax.servlet:javax.servlet-api:3.1.0 -> !!!groupId-not-found!!!
-# org.codehaus.janino:janino:3.0.6 -> >=dev-java/janino-3.1.6:0
-# org.fusesource.jansi:jansi:1.9 -> >=dev-java/jansi-1.13:0
-
-CP_DEPEND="
- dev-java/javax-mail:0
- dev-java/janino:0
- dev-java/jansi:0
- java-virtuals/servlet-api:3.1
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? joda-time:joda-time:2.9.2 -> >=dev-java/joda-time-2.10.10:0
-# test? junit:junit:4.10 -> >=dev-java/junit-4.13.2:4
-# test? org.assertj:assertj-core:1.7.1 -> >=dev-java/assertj-core-2.3.0:2
-# test? org.mockito:mockito-core:2.7.9 -> >=dev-java/mockito-4.4.0:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- dev-java/assertj-core:2
- dev-java/joda-time:0
- dev-java/mockito:4
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( ../README.md )
-
-S="${WORKDIR}/logback-v_${PV}/logback-core"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="joda-time,junit-4,assertj-core-2,mockito-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- default
- sed \
- -e 's:org.mockito.Matchers:org.mockito.ArgumentMatchers:' \
- -i 'src/test/java/ch/qos/logback/core/net/AbstractSocketAppenderIntegrationTest.java' || die
-
- # Ignore test failing under Java 16
- # See https://github.com/qos-ch/logback/commit/d6a8200cea6d960bf6832b9b95aed64e87474afb
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" -ge "17" ]] ; then
- eapply "${FILESDIR}/logback-core-1.2.11-Ignore-test-failing-under-Java-16.patch"
- fi
-}
-
-src_test() {
- # 67,73 logback-core/pom.xml
- # <excludes>
- # <exclude>**/All*Test.java</exclude>
- # <exclude>**/PackageTest.java</exclude>
- # <!-- ConsoleAppenderTest redirects System.out which is not well tolerated by Maven -->
- # <exclude>**/ConsoleAppenderTest.java</exclude>
- # <!--<exclude>**/TimeBasedRollingTest.java</exclude>-->
- # </excludes>
- pushd src/test/java || die
- local JAVA_TEST_RUN_ONLY=$(find * \
- -name "*Test.java" \
- ! -wholename "**/All*Test.java" \
- ! -wholename "**/PackageTest.java" \
- ! -name "AbstractAppenderTest.java" \
- ! -name "AbstractPatternLayoutBaseTest.java" \
- ! -name "AbstractSocketAppenderIntegrationTest.java" \
- )
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
- popd
-
- # accessible: module java.base does not "opens java.lang" to unnamed module @42bb2aee
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" -ge "17" ]] ; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
- fi
- java-pkg-simple_src_test
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/logback-core/metadata.xml b/dev-java/logback-core/metadata.xml
deleted file mode 100644
index 36093b7d6d6d..000000000000
--- a/dev-java/logback-core/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- </maintainer>
- <upstream>
- <bugs-to>https://logback.qos.ch/bugreport.html</bugs-to>
- <changelog>https://logback.qos.ch/news.html</changelog>
- <remote-id type="github">qos-ch/logback</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/lz4-java/files/lz4-java-1.8.0-fix-load.patch b/dev-java/lz4-java/files/lz4-java-1.8.0-fix-load.patch
new file mode 100644
index 000000000000..e6c15cc1dbc9
--- /dev/null
+++ b/dev-java/lz4-java/files/lz4-java-1.8.0-fix-load.patch
@@ -0,0 +1,32 @@
+--- a/src/java/net/jpountz/util/Native.java
++++ b/src/java/net/jpountz/util/Native.java
+@@ -100,17 +100,18 @@ public enum Native {
+ return;
+ }
+
+- cleanupOldTempLibs();
++// cleanupOldTempLibs();
+
+ // Try to load lz4-java (liblz4-java.so on Linux) from the java.library.path.
++ final File library = new File(System.mapLibraryName("lz4-java"));
+ try {
+- System.loadLibrary("lz4-java");
++ System.load(library.getAbsolutePath());
+ loaded = true;
+ return;
+ } catch (UnsatisfiedLinkError ex) {
+ // Doesn't exist, so proceed to loading bundled library.
+ }
+-
++/*
+ String resourceName = resourceName();
+ InputStream is = Native.class.getResourceAsStream(resourceName);
+ if (is == null) {
+@@ -158,6 +159,6 @@ public enum Native {
+ tempLib.deleteOnExit();
+ tempLibLock.deleteOnExit();
+ }
+- }
++ }*/
+ }
+ }
diff --git a/dev-java/lz4-java/files/lz4-java-1.8.0-gentoo-classpath.xml b/dev-java/lz4-java/files/lz4-java-1.8.0-gentoo-classpath.xml
deleted file mode 100644
index 2392679c4a69..000000000000
--- a/dev-java/lz4-java/files/lz4-java-1.8.0-gentoo-classpath.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<project name="gentoo-classpath">
- <path id="mvel.classpath">
- <pathelement path="${gentoo.classpath}" />
- </path>
-</project>
diff --git a/dev-java/lz4-java/files/lz4-java-1.8.0-print-os-props.patch b/dev-java/lz4-java/files/lz4-java-1.8.0-print-os-props.patch
deleted file mode 100644
index d4363b6853e4..000000000000
--- a/dev-java/lz4-java/files/lz4-java-1.8.0-print-os-props.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b8d50d44ba1c0e4b5bf297f7499ad0fb5b82706e Mon Sep 17 00:00:00 2001
-From: Yuan Liao <liaoyuan@gmail.com>
-Date: Wed, 19 Jan 2022 10:09:14 -0800
-Subject: [PATCH] build.xml: Add target that prints JVM system properties os.*
-
-The Gentoo custom JNI Makefile needs some of those properties.
-
-Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
----
- build.xml | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/build.xml b/build.xml
-index b7940ab..96e52ea 100644
---- a/build.xml
-+++ b/build.xml
-@@ -62,6 +62,11 @@
- <javaversion atleast="10"/>
- </condition>
-
-+ <target name="os-props"
-+ description="echo values of JVM system properties os.* to file os.properties">
-+ <echoproperties prefix="os." destfile="os.properties" />
-+ </target>
-+
- <target name="clean" description="clean working copy">
- <delete dir="${build}" />
- <delete dir="${dist}" />
---
-2.34.1
-
diff --git a/dev-java/lz4-java/files/lz4-java-1.8.0-r1-Makefile b/dev-java/lz4-java/files/lz4-java-1.8.0-r1-Makefile
deleted file mode 100644
index 4a766552c65e..000000000000
--- a/dev-java/lz4-java/files/lz4-java-1.8.0-r1-Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# Gentoo custom Makefile for the JNI portion of lz4-java
-#
-# Adapted from the logic for target "compile-jni" in build.xml,
-# but uses lz4 installed on the system. This Makefile respects
-# custom CFLAGS and LDFLAGS settings, whereas build.xml does not.
-
-# Java system properties read by build.xml
-PLATFORM ?= linux
-SRC ?= src
-BUILD ?= build
-JAVA_HOME ?=
-# Requires lz4-java-*-print-os-props.patch
-OS_ARCH := $(shell ant os-props 2>&1 > /dev/null && \
- grep 'os\.arch=' os.properties | sed -e 's/os\.arch=//')
-
-MKDIR_P = mkdir -p
-
-SRC_DIR := $(SRC)/jni
-OBJS_DIR_PREFIX := $(BUILD)/objects
-OBJS_DIR := $(OBJS_DIR_PREFIX)/$(SRC_DIR)
-OUT_DIR := $(BUILD)/jni/net/jpountz/util/$(PLATFORM)/$(OS_ARCH)
-
-SRC_FILES := $(wildcard $(SRC_DIR)/*.c)
-OBJS := $(addprefix $(OBJS_DIR_PREFIX)/,$(SRC_FILES:.c=.o))
-SONAME = liblz4-java.so
-
-# C compiler arguments may be obtained by running 'ant -v compile-jni',
-# as long as dev-java/cpptasks is in the classpath
-CFLAGS := -fPIC $(CFLAGS)
-
-$(OUT_DIR)/$(SONAME): $(OBJS) | $(OUT_DIR)
- # '-llz4' must be listed after this package's objects
- # https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed#Importance_of_linking_order
- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$(SONAME) -o $@ $^ -llz4
-
-$(OBJS_DIR_PREFIX)/%.o: %.c | $(OBJS_DIR)
- $(CC) $(CFLAGS) -c -o $@ \
- -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/$(PLATFORM) \
- -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(PLATFORM) \
- -I$(BUILD)/jni-headers \
- $<
-
-$(OUT_DIR):
- $(MKDIR_P) $@
-
-$(OBJS_DIR):
- $(MKDIR_P) $@
diff --git a/dev-java/lz4-java/files/lz4-java-1.8.0-skip-ivy.patch b/dev-java/lz4-java/files/lz4-java-1.8.0-skip-ivy.patch
deleted file mode 100644
index 26c09e147072..000000000000
--- a/dev-java/lz4-java/files/lz4-java-1.8.0-skip-ivy.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 95ae85542f39cecd1af6a3e661ad6120195d2304 Mon Sep 17 00:00:00 2001
-From: Yuan Liao <liaoyuan@gmail.com>
-Date: Mon, 20 Dec 2021 09:57:31 -0800
-Subject: [PATCH] build.xml: Skip Ivy logic and use Gentoo classpath
-
-Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
----
- build.xml | 22 +++++++---------------
- 1 file changed, 7 insertions(+), 15 deletions(-)
-
-diff --git a/build.xml b/build.xml
-index b7940ab..ff321c6 100644
---- a/build.xml
-+++ b/build.xml
-@@ -20,6 +20,8 @@
- xmlns:junit4="antlib:com.carrotsearch.junit4"
- xmlns:mvn="antlib:org.apache.maven.artifact.ant">
-
-+ <import file="gentoo-classpath.xml" />
-+
- <property name="src" location="src"/>
- <property name="build" location="build"/>
- <property name="dist" location="dist"/>
-@@ -81,8 +83,6 @@
- </target>
-
- <target name="install-cpptasks" unless="cpptasks.available">
-- <ivy:cachepath organisation="ant-contrib" module="cpptasks" revision="1.0b5"
-- inline="true" conf="default" transitive="true" pathid="cpptasks.classpath"/>
- <taskdef uri="antlib:net.sf.antcontrib.cpptasks" resource="net/sf/antcontrib/cpptasks/antlib.xml" classpathref="cpptasks.classpath"/>
- <property name="cpptasks.available" value="true"/>
- </target>
-@@ -117,22 +117,14 @@
-
- <target name="init">
- <tstamp />
-- <ivy:resolve file="${ivy.xml.name}" conf="test" />
-- <ivy:retrieve />
- </target>
-
- <target name="install-junit4" depends="init" unless="junit4.available">
-- <taskdef uri="antlib:com.carrotsearch.junit4">
-- <classpath>
-- <fileset dir="${lib}" includes="*.jar" />
-- </classpath>
-- </taskdef>
-+ <taskdef uri="antlib:com.carrotsearch.junit4" resource="com/carrotsearch/junit4/antlib.xml" classpath="${gentoo.classpath}"/>
- <property name="junit4.available" value="true" />
- </target>
-
- <target name="generate-sources" depends="init">
-- <ivy:cachepath organisation="org.mvel" module="mvel2" revision="2.3.2.Final"
-- inline="true" conf="default" transitive="true" pathid="mvel.classpath"/>
- <mkdir dir="${build}/java" />
- <java
- fork="true"
-@@ -244,12 +236,12 @@
- <pathelement path="${build}/classes" />
- <pathelement path="${build}/unsafe-classes" />
- <pathelement path="${build}/generated-classes" />
-- <fileset dir="lib" includes="*.jar" />
-+ <pathelement path="${gentoo.classpath}" />
- </path>
-
- <path id="compile.tests.classpath.with.jar">
- <pathelement path="${lz4-java.jar}" />
-- <fileset dir="lib" includes="*.jar" />
-+ <pathelement path="${gentoo.classpath}" />
- </path>
-
- <path id="test.classpath">
-@@ -260,14 +252,14 @@
- <pathelement path="${build}/unsafe-classes" />
- <pathelement path="${build}/generated-classes" />
- <pathelement path="${build}/test-classes" />
-- <fileset dir="${lib}" includes="*.jar" />
-+ <pathelement path="${gentoo.classpath}" />
- </path>
-
- <path id="test.classpath.with.jar">
- <pathelement path="${lz4-java.jar}" />
- <pathelement path="${src}/test-resources" />
- <pathelement path="${build}/test-classes" />
-- <fileset dir="${lib}" includes="*.jar" />
-+ <pathelement path="${gentoo.classpath}" />
- </path>
-
- <target name="test" description="run tests">
---
-2.32.0
-
diff --git a/dev-java/lz4-java/lz4-java-1.8.0-r1.ebuild b/dev-java/lz4-java/lz4-java-1.8.0-r1.ebuild
deleted file mode 100644
index 993a8803f183..000000000000
--- a/dev-java/lz4-java/lz4-java-1.8.0-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.lz4:lz4-java:1.8.0"
-
-inherit java-pkg-2 java-ant-2 toolchain-funcs
-
-DESCRIPTION="LZ4 compression for Java"
-HOMEPAGE="https://github.com/lz4/lz4-java"
-SRC_URI="https://github.com/lz4/lz4-java/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Tests require com.carrotsearch.randomizedtesting:junit4-ant, which is yet to
-# be packaged. Some extra steps are required before running the tests:
-# 1. Download junit4-ant 2.7.x from https://mvnrepository.com/artifact/com.carrotsearch.randomizedtesting/junit4-ant
-# 2. Set EANT_GENTOO_CLASSPATH_EXTRA to the path to junit4-ant-2.7.*.jar
-# 3. ppc64 only: Install test dependencies that are unkeyworded
-# 4. Set ALLOW_TEST="all"
-RESTRICT="test"
-
-CDEPEND="
- app-arch/lz4:=
-"
-
-# The version requirement on mvel is strict; mvel-2.4.* generates source files
-# incorrectly, which causes build failure of this package
-DEPEND="
- >=virtual/jdk-1.8:*
- dev-java/mvel:2.3
- dev-libs/xxhash
- test? (
- dev-java/junit:4
- !ppc64? (
- dev-java/randomized-runner:0
- )
- )
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}
-"
-
-# Ant is only needed to generate JNI headers;
-# the JNI shared object will be built by the custom Makefile
-EANT_BUILD_TARGET="compile-java generate-headers"
-EANT_DOC_TARGET="docs"
-EANT_EXTRA_ARGS="-Djava.io.tmpdir=${T}"
-EANT_TEST_GENTOO_CLASSPATH="randomized-runner"
-
-pkg_setup() {
- java-pkg-2_pkg_setup
- local build_only_cp="$(java-pkg_getjars --build-only mvel-2.3)"
- if [[ -z "${EANT_GENTOO_CLASSPATH_EXTRA}" ]]; then
- EANT_GENTOO_CLASSPATH_EXTRA="${build_only_cp}"
- else
- EANT_GENTOO_CLASSPATH_EXTRA+=":${build_only_cp}"
- fi
-}
-
-src_prepare() {
- eapply "${FILESDIR}/${P}-print-os-props.patch"
- eapply "${FILESDIR}/${P}-skip-ivy.patch"
- cp "${FILESDIR}/${P}-r1-Makefile" Makefile || die "Failed to copy Makefile"
- cp "${FILESDIR}/${P}-gentoo-classpath.xml" gentoo-classpath.xml ||
- die "Failed to copy Gentoo classpath injection XML"
- java-pkg-2_src_prepare
- rm -r src/resources || die "Failed to remove pre-built shared libraries"
-}
-
-src_compile() {
- java-pkg-2_src_compile
- emake CC="$(tc-getCC)" JAVA_HOME="${JAVA_HOME}"
- # JNI has already been built by the Makefile at this point
- # Also pretend cpptasks is available, which is required by build.xml
- EANT_EXTRA_ARGS+=" -Dcpptasks.available=true -Dskip.jni=true"
- # Manually call 'ant jar' to include the JNI shared object in JAR
- eant jar -f "${EANT_BUILD_XML}" ${EANT_EXTRA_ARGS}
-}
-
-src_test() {
- java-pkg-2_src_test
-}
-
-src_install() {
- java-pkg_newjar 'dist/${ivy.module}.jar'
- java-pkg_doso $(find build/jni -name "*.so")
- use doc && java-pkg_dojavadoc build/docs
- # Ant project's 'sources' target generates a source JAR rather than a Zip
- # archive; we simply let java-utils-2.eclass create the source Zip archive
- # from the same source directories the 'sources' target would access
- # https://github.com/lz4/lz4-java/blob/1.8.0/build.xml#L323-L330
- use source && java-pkg_dosrc src/java/* src/java-unsafe/*
-}
diff --git a/dev-java/lz4-java/lz4-java-1.8.0-r4.ebuild b/dev-java/lz4-java/lz4-java-1.8.0-r4.ebuild
new file mode 100644
index 000000000000..9e2b264421f8
--- /dev/null
+++ b/dev-java/lz4-java/lz4-java-1.8.0-r4.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.lz4:lz4-java:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple toolchain-funcs
+
+DESCRIPTION="LZ4 compression for Java"
+HOMEPAGE="https://github.com/lz4/lz4-java"
+SRC_URI="https://github.com/lz4/lz4-java/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ app-arch/lz4:=
+ dev-java/mvel:2.5
+ dev-libs/xxhash:0
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/randomized-runner:0 )"
+RDEPEND="
+ app-arch/lz4:=
+ >=virtual/jre-1.8:*"
+
+PATCHES=( "${FILESDIR}/${P}-fix-load.patch" )
+
+DOCS=( CHANGES.md README.md )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.lz4.java"
+JAVA_SRC_DIR=( src/java{,-unsafe} )
+JAVA_TEST_GENTOO_CLASSPATH="junit-4 randomized-runner"
+JAVA_TEST_RESOURCE_DIRS="src/test-resources"
+JAVA_TEST_SRC_DIR="src/test"
+
+src_prepare() {
+ default
+}
+
+src_compile() {
+ # remove precompiled native libraries
+ rm -r src/resources || die
+
+ # cannot include template 'decompressor.template': file not found.]
+ cp src/build/source_templates/* . || die
+
+ einfo "Code generation"
+ "$(java-config -J)" \
+ -Dout.dir="src/java" \
+ -cp "$(java-pkg_getjars --build-only mvel-2.5)" \
+ org.mvel2.sh.Main \
+ src/build/gen_sources.mvel \
+ || die
+
+ java-pkg-simple_src_compile
+
+ einfo "Generate headers" # build.xml lines 194-204
+ ejavac -h build/jni-headers -classpath "target/classes" \
+ src/java/net/jpountz/xxhash/XXHashJNI.java \
+ src/java/net/jpountz/lz4/LZ4JNI.java || die
+
+ einfo "Generate native library"
+ # https://devmanual.gentoo.org/ebuild-writing/functions/src_compile/no-build-system
+ mkdir -p build/objects/src/jni
+ mkdir -p build/jni/net/jpountz/util/linux/amd64
+ "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} \
+ $(java-pkg_get-jni-cflags) \
+ -Ibuild/jni-headers \
+ -c -o build/objects/src/jni/net_jpountz_lz4_LZ4JNI.o \
+ src/jni/net_jpountz_lz4_LZ4JNI.c
+ "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} \
+ $(java-pkg_get-jni-cflags) \
+ -Ibuild/jni-headers \
+ -c -o build/objects/src/jni/net_jpountz_xxhash_XXHashJNI.o \
+ src/jni/net_jpountz_xxhash_XXHashJNI.c
+
+ "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} \
+ -shared \
+ -Wl,-soname,liblz4-java.so \
+ -o liblz4-java.so \
+ build/objects/src/jni/net_jpountz_lz4_LZ4JNI.o \
+ build/objects/src/jni/net_jpountz_xxhash_XXHashJNI.o -llz4
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_doso liblz4-java.so
+}
diff --git a/dev-java/lzma/Manifest b/dev-java/lzma/Manifest
index 99d89fc6e027..bedc97973b95 100644
--- a/dev-java/lzma/Manifest
+++ b/dev-java/lzma/Manifest
@@ -1 +1 @@
-DIST lzma1900.7z 1082692 BLAKE2B 88aca3f3225d589c9b1b0fbf4c196db8e6e8df362f926736a45e1f80d302c132b25537203b0a903da9de5f3b0398b10901f126cf6905fcbdf0a57ee894e74b6d SHA512 60532483249d86960d5c481dc88ebeafabb7e435afb6188bc26f38177b8534ef3da83317d6920d99103d4f10a8dcdb624489ea5ddad8e0c8732bab1bb4ebd7eb
+DIST lzma-22.01.7z 1261282 BLAKE2B 31bfa505626c6d22f84562d927cb8b7f0c6f9d7cfe9e38f49b33866957ad81f7bd1e6fb7b02a3e001edf9d64fc499b396e73738585e7d3a29fcd7d41dc65d1d7 SHA512 83e320242a51cb37caefd386a5768e64c6872101fd3c3cf4d3318bf834d27e84d8a92e3252987520a578b19ce3e2cddcbf9e10b909f5263c5cdc0710c2f26797
diff --git a/dev-java/lzma/lzma-19.00.ebuild b/dev-java/lzma/lzma-19.00.ebuild
deleted file mode 100644
index 90c6674d85f3..000000000000
--- a/dev-java/lzma/lzma-19.00.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java code for LZMA compression and decompression"
-HOMEPAGE="https://www.7-zip.org/"
-SRC_URI="https://www.7-zip.org/a/${PN}${PV/./}.7z"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE=""
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND=">=virtual/jdk-1.8:*"
-BDEPEND="app-arch/p7zip"
-
-S="${WORKDIR}/Java"
-
-JAVA_SRC_DIR="SevenZip"
diff --git a/dev-java/lzma/lzma-22.01.ebuild b/dev-java/lzma/lzma-22.01.ebuild
new file mode 100644
index 000000000000..69ea039791a5
--- /dev/null
+++ b/dev-java/lzma/lzma-22.01.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple unpacker
+
+DESCRIPTION="Java code for LZMA compression and decompression"
+HOMEPAGE="https://7-zip.org/"
+SRC_URI="https://7-zip.org/a/lzma${PV/./}.7z -> ${P}.7z"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+BDEPEND="$(unpacker_src_uri_depends)"
+
+S="${WORKDIR}/Java"
+
+JAVA_SRC_DIR="SevenZip"
diff --git a/dev-java/lzma/metadata.xml b/dev-java/lzma/metadata.xml
index cd9370386d80..427e91cf6bea 100644
--- a/dev-java/lzma/metadata.xml
+++ b/dev-java/lzma/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>tommy@gentoo.org</email>
- <name>Thomas Sachau (Tommy[D])</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
diff --git a/dev-java/lzmajio/metadata.xml b/dev-java/lzmajio/metadata.xml
index cd5aee95cba6..5e61ef6e5b3f 100644
--- a/dev-java/lzmajio/metadata.xml
+++ b/dev-java/lzmajio/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>tommy@gentoo.org</email>
- <name>Thomas Sachau (Tommy[D])</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
- </pkgmetadata>
+ <upstream>
+ <remote-id type="github">league/lzmajio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/maven-bin/Manifest b/dev-java/maven-bin/Manifest
index c54fc46bb46b..7158eea18442 100644
--- a/dev-java/maven-bin/Manifest
+++ b/dev-java/maven-bin/Manifest
@@ -1 +1,2 @@
-DIST apache-maven-3.8.6-bin.tar.gz 8676320 BLAKE2B 7ad7695aaed86b478044dd0ce59d359c8eb3644ddf0bc3ea501a9eb5c373e2bdacbe8cdf8c85edab930d84d446ff1cb25975281bb7c9cb517a005accba9e413d SHA512 f790857f3b1f90ae8d16281f902c689e4f136ebe584aba45e4b1fa66c80cba826d3e0e52fdd04ed44b4c66f6d3fe3584a057c26dfcac544a60b301e6d0f91c26
+DIST apache-maven-3.8.8-bin.tar.gz 8296049 BLAKE2B af6353193365ed33e8f2f0a7e4d31933132751f142ebbdb68aab7a74ad2dda6593bf34cef9d8d56d6c93ff93293b75517a10a5c1c048733b8c911f4ac150bdf6 SHA512 332088670d14fa9ff346e6858ca0acca304666596fec86eea89253bd496d3c90deae2be5091be199f48e09d46cec817c6419d5161fb4ee37871503f472765d00
+DIST apache-maven-3.9.6-bin.tar.gz 9410508 BLAKE2B 2a99f002912e6c0fcf9f78f0553553898cf39c17bd7c8b58269c8a7d061c425c62a2f557a686fd2b1f114ef1f47aab6e9b318555235bb436e8c7e5c8b1a0dd9d SHA512 706f01b20dec0305a822ab614d51f32b07ee11d0218175e55450242e49d2156386483b506b3a4e8a03ac8611bae96395fd5eec15f50d3013d5deed6d1ee18224
diff --git a/dev-java/maven-bin/maven-bin-3.8.6.ebuild b/dev-java/maven-bin/maven-bin-3.8.6.ebuild
deleted file mode 100644
index 2866b9890bf2..000000000000
--- a/dev-java/maven-bin/maven-bin-3.8.6.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-pkg-2
-
-MY_PN=apache-${PN%%-bin}
-MY_PV=${PV/_alpha/-alpha-}
-MY_P="${MY_PN}-${MY_PV}"
-MY_MV="${PV%%.*}"
-
-DESCRIPTION="Project Management and Comprehension Tool for Java"
-SRC_URI="mirror://apache/maven/maven-${MY_MV}/${PV}/binaries/${MY_P}-bin.tar.gz"
-HOMEPAGE="https://maven.apache.org/"
-
-LICENSE="Apache-2.0"
-SLOT="3.8"
-KEYWORDS="amd64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- app-eselect/eselect-java"
-
-RDEPEND="
- >=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}"
-
-MAVEN="${PN}-${SLOT}"
-MAVEN_SHARE="/usr/share/${MAVEN}"
-
-QA_FLAGS_IGNORED=(
- "${MAVEN_SHARE}/lib/jansi-native/linux32/libjansi.so"
- "${MAVEN_SHARE}/lib/jansi-native/linux64/libjansi.so"
-)
-
-# TODO:
-# We should use jars from packages, instead of what is bundled.
-src_install() {
- dodir "${MAVEN_SHARE}"
-
- cp -Rp bin boot conf lib "${ED}/${MAVEN_SHARE}" || die "failed to copy"
-
- java-pkg_regjar "${ED}/${MAVEN_SHARE}"/boot/*.jar
- java-pkg_regjar "${ED}/${MAVEN_SHARE}"/lib/*.jar
-
- dodoc NOTICE README.txt
-
- dodir /usr/bin
- dosym "${MAVEN_SHARE}/bin/mvn" /usr/bin/mvn-${SLOT}
-
- # See bug #342901.
- echo "CONFIG_PROTECT=\"${MAVEN_SHARE}/conf\"" > "${T}/25${MAVEN}" || die
- doenvd "${T}/25${MAVEN}"
-}
-
-pkg_postinst() {
- eselect maven update mvn-${SLOT}
-}
-
-pkg_postrm() {
- eselect maven update
-}
diff --git a/dev-java/maven-bin/maven-bin-3.8.8-r1.ebuild b/dev-java/maven-bin/maven-bin-3.8.8-r1.ebuild
new file mode 100644
index 000000000000..731294052d5e
--- /dev/null
+++ b/dev-java/maven-bin/maven-bin-3.8.8-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2
+
+MY_PN=apache-${PN%%-bin}
+MY_PV=${PV/_alpha/-alpha-}
+MY_P="${MY_PN}-${MY_PV}"
+MY_MV="${PV%%.*}"
+
+DESCRIPTION="Project Management and Comprehension Tool for Java"
+SRC_URI="mirror://apache/maven/maven-${MY_MV}/${PV}/binaries/${MY_P}-bin.tar.gz"
+HOMEPAGE="https://maven.apache.org/"
+
+LICENSE="Apache-2.0"
+SLOT="3.8"
+KEYWORDS="amd64 x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ app-eselect/eselect-java"
+
+RDEPEND="
+ >=virtual/jre-1.8:*"
+
+S="${WORKDIR}/${MY_P}"
+
+MAVEN="${PN}-${SLOT}"
+MAVEN_SHARE="/usr/share/${MAVEN}"
+
+QA_FLAGS_IGNORED=(
+ "${MAVEN_SHARE}/lib/jansi-native/linux32/libjansi.so"
+ "${MAVEN_SHARE}/lib/jansi-native/linux64/libjansi.so"
+)
+
+# TODO:
+# We should use jars from packages, instead of what is bundled.
+src_install() {
+ dodir "${MAVEN_SHARE}"
+
+ cp -Rp bin boot conf lib "${ED}/${MAVEN_SHARE}" || die "failed to copy"
+
+ java-pkg_regjar "${ED}/${MAVEN_SHARE}"/boot/*.jar
+ java-pkg_regjar "${ED}/${MAVEN_SHARE}"/lib/*.jar
+
+ dodoc NOTICE README.txt
+
+ dodir /usr/bin
+ dosym "${MAVEN_SHARE}/bin/mvn" "${EPREFIX}/usr/bin/mvn-${SLOT}"
+
+ # See bug #342901.
+ echo "CONFIG_PROTECT=\"${MAVEN_SHARE}/conf\"" > "${T}/25${MAVEN}" || die
+ doenvd "${T}/25${MAVEN}"
+}
+
+pkg_postinst() {
+ eselect maven update mvn-${SLOT}
+}
+
+pkg_postrm() {
+ eselect maven update
+}
diff --git a/dev-java/maven-bin/maven-bin-3.9.6.ebuild b/dev-java/maven-bin/maven-bin-3.9.6.ebuild
new file mode 100644
index 000000000000..99a723fc7721
--- /dev/null
+++ b/dev-java/maven-bin/maven-bin-3.9.6.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2
+
+MY_PN=apache-${PN%%-bin}
+MY_PV=${PV/_alpha/-alpha-}
+MY_P="${MY_PN}-${MY_PV}"
+MY_MV="${PV%%.*}"
+
+DESCRIPTION="Project Management and Comprehension Tool for Java"
+SRC_URI="mirror://apache/maven/maven-${MY_MV}/${PV}/binaries/${MY_P}-bin.tar.gz"
+HOMEPAGE="https://maven.apache.org/"
+
+LICENSE="Apache-2.0"
+SLOT="3.9"
+KEYWORDS="amd64 x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ app-eselect/eselect-java"
+
+RDEPEND="
+ >=virtual/jre-1.8:*"
+
+S="${WORKDIR}/${MY_P}"
+
+MAVEN="${PN}-${SLOT}"
+MAVEN_SHARE="/usr/share/${MAVEN}"
+
+QA_FLAGS_IGNORED=(
+ "${MAVEN_SHARE}/lib/jansi-native/linux32/libjansi.so"
+ "${MAVEN_SHARE}/lib/jansi-native/linux64/libjansi.so"
+)
+
+# TODO:
+# We should use jars from packages, instead of what is bundled.
+src_install() {
+ dodir "${MAVEN_SHARE}"
+
+ cp -Rp bin boot conf lib "${ED}/${MAVEN_SHARE}" || die "failed to copy"
+
+ java-pkg_regjar "${ED}/${MAVEN_SHARE}"/boot/*.jar
+ java-pkg_regjar "${ED}/${MAVEN_SHARE}"/lib/*.jar
+
+ dodoc NOTICE README.txt
+
+ dodir /usr/bin
+ dosym "${MAVEN_SHARE}/bin/mvn" "${EPREFIX}/usr/bin/mvn-${SLOT}"
+
+ # See bug #342901.
+ echo "CONFIG_PROTECT=\"${MAVEN_SHARE}/conf\"" > "${T}/25${MAVEN}" || die
+ doenvd "${T}/25${MAVEN}"
+}
+
+pkg_postinst() {
+ eselect maven update mvn-${SLOT}
+}
+
+pkg_postrm() {
+ eselect maven update
+}
diff --git a/dev-java/memoryfilesystem/metadata.xml b/dev-java/memoryfilesystem/metadata.xml
index 75321cfb5598..f67c22072a32 100644
--- a/dev-java/memoryfilesystem/metadata.xml
+++ b/dev-java/memoryfilesystem/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">marschall/memoryfilesystem</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/mersennetwister/metadata.xml b/dev-java/mersennetwister/metadata.xml
index 136ae36ee8ee..4221e170cbc0 100644
--- a/dev-java/mersennetwister/metadata.xml
+++ b/dev-java/mersennetwister/metadata.xml
@@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>tommy@gentoo.org</email>
- <name>Thomas Sachau (Tommy[D])</name>
- </maintainer>
-<maintainer type="project">
+ <maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
diff --git a/dev-java/miglayout/Manifest b/dev-java/miglayout/Manifest
index dbb4d9c86ef1..1206d63a2d6d 100644
--- a/dev-java/miglayout/Manifest
+++ b/dev-java/miglayout/Manifest
@@ -1 +1 @@
-DIST miglayout-4.0-sources.jar 194675 BLAKE2B 9d0a4fce1b76e49f4a2962fccf323676172fc9fa084060d8b3507031635b7979d8b29ce598a0a484e3707eefdf90721162e67d36be5702e9309ef067fd39aab3 SHA512 27284ceac254707428351fb2451ffd5f2ebd580374df59624bb6af06011f70d87b27849900c2573aff782ebe6d84e1806c18a59741213948f0b238ee5a51ec2f
+DIST miglayout-5.3.tar.gz 627150 BLAKE2B 2b28b3dd95d84db1665308a2908c6ddf8f0e285431ffc03af0275f7005d98117f873b0752f9b1f428b213a30c9e020b626eb0e6709470c62eac46480c3aab542 SHA512 ee711a453a9e2962017eed9363e4b8c2fb1fb28d9b36455d928b60db40262be310e6d2ab6c9f3ac286f3975e9927f8a8a77827a27cd1cb2238b2033c38a67cdb
diff --git a/dev-java/miglayout/metadata.xml b/dev-java/miglayout/metadata.xml
index 9863d966b13b..457503f62795 100644
--- a/dev-java/miglayout/metadata.xml
+++ b/dev-java/miglayout/metadata.xml
@@ -8,7 +8,7 @@
<longdescription lang="en">
For Java developers writing GUI layouts by hand that wants simplicity, power and automatic per platform fidelity, that are dissatisfied with the current layout managers in Swing, JavaFX and SWT, MigLayout solves your layout problems. User interfaces created with MigLayout is easy to maintain, you will understand how the layout will look like just by looking at the source code.
</longdescription>
- <use>
- <flag name="swt">Add support for the SWT toolkit.</flag>
- </use>
+ <upstream>
+ <remote-id type="github">mikaelgrev/miglayout</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/miglayout/miglayout-4.0-r1.ebuild b/dev-java/miglayout/miglayout-4.0-r1.ebuild
deleted file mode 100644
index d451c751b91f..000000000000
--- a/dev-java/miglayout/miglayout-4.0-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc examples source"
-
-inherit java-pkg-2
-
-DESCRIPTION="Easy to use yet very powerful Java Swing layout manager"
-HOMEPAGE="http://www.miglayout.com/"
-SRC_URI="http://www.migcalendar.com/miglayout/versions/${PV}/${P}-sources.jar"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="swt"
-
-COMMON_DEPEND="swt? ( dev-java/swt:3.7 )"
-BDEPEND="app-arch/unzip"
-RDEPEND="
- ${COMMON_DEPEND}
- >=virtual/jre-1.8:*
-"
-DEPEND="
- ${COMMON_DEPEND}
- >=virtual/jdk-1.8:*
-"
-
-S="${WORKDIR}"
-
-src_prepare() {
- default
-
- mv net/miginfocom/{demo,examples} . || die
- mv demo/* examples || die
-
- if ! use swt; then
- rm -r net/miginfocom/swt || die
- fi
-
- find net -name '*.java' > sources.lst
-}
-
-src_compile() {
- local classpath
- use swt && classpath=( -classpath "$(java-pkg_getjars swt-3.7)" )
-
- mkdir classes || die
- ejavac "${classpath[@]}" -d classes @sources.lst || die
- jar -cf ${PN}.jar -C classes . || die
-
- if use doc; then
- javadoc "${classpath[@]}" -author -version -d api @sources.lst || die
- fi
-}
-
-src_install() {
- java-pkg_dojar ${PN}.jar
-
- use doc && java-pkg_dojavadoc api
- use examples && java-pkg_doexamples examples
- use source && java-pkg_dosrc net
-}
diff --git a/dev-java/miglayout/miglayout-5.3.ebuild b/dev-java/miglayout/miglayout-5.3.ebuild
new file mode 100644
index 000000000000..26caf78554f7
--- /dev/null
+++ b/dev-java/miglayout/miglayout-5.3.ebuild
@@ -0,0 +1,78 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.miglayout:miglayout-core:5.0 com.miglayout:miglayout-swing:5.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="MiGLayout - Java Layout Manager for Swing, SWT and JavaFX"
+HOMEPAGE="https://miglayout.com/"
+SRC_URI="https://github.com/mikaelgrev/miglayout/archive/V${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD"
+SLOT="5"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RUN_ONLY="net.miginfocom.swing.MigLayoutTest"
+JAVA_TEST_SRC_DIR="swing/src/test/java"
+
+src_compile() {
+ einfo "Compiling miglayout-core.jar"
+ JAVA_JAR_FILENAME="miglayout-core.jar"
+ JAVA_SRC_DIR="core/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":miglayout-core.jar"
+ rm -r target || die
+
+ einfo "Compiling miglayout-wingore.jar"
+ JAVA_JAR_FILENAME="miglayout-swing.jar"
+ JAVA_SRC_DIR="swing/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":miglayout-swing.jar"
+ rm -r target || die
+
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_SRC_DIR=(
+ "core/src/main/java"
+ "swing/src/main/java"
+ )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test() {
+ # There was 1 failure:
+ # 1) testDPIScaling(net.miginfocom.swing.MigLayoutTest)
+ # java.awt.HeadlessException
+ # at java.desktop/sun.awt.HeadlessToolkit.getScreenResolution(HeadlessToolkit.java:122)
+ # at net.miginfocom.swing.MigLayoutTest.testDPIScaling(MigLayoutTest.java:28)
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/testDPIScaling()/i @Ignore' \
+ -i swing/src/test/java/net/miginfocom/swing/MigLayoutTest.java || die
+}
+
+src_install() {
+ java-pkg_dojar "miglayout-core.jar"
+ java-pkg_dojar "miglayout-swing.jar"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc "core/src/main/java/*"
+ java-pkg_dosrc "swing/src/main/java/*"
+ fi
+}
diff --git a/dev-java/mill-bin/Manifest b/dev-java/mill-bin/Manifest
index 60654e442592..6513dd221b48 100644
--- a/dev-java/mill-bin/Manifest
+++ b/dev-java/mill-bin/Manifest
@@ -1 +1,3 @@
-DIST mill-bin-0.10.7 65704975 BLAKE2B bd6cb205f58ef51eb43f45f5980de0dc1afbfb3b0a56ce81c541e88cae5d3cdcb65efcaffb90bd3a7b53a33410b26873d9db3a4863edf564a1ccb10c7be34e71 SHA512 9323212fd773de602ec8dbd1bf776169b402e9c60decc424b258254cc293cb4675a4caeb18addf853a7b1bdf0555cb3377e97a0dcf491b87286777c77c4232b5
+DIST mill-bin-0.11.5 52760276 BLAKE2B 1583403fba8782d759a5d56513e2d40cd81ffb68d4947b638052cc6108d6d6516f7fc16e9cf516fc7c2c60820d2d6fcb5c15179bcef715c6d75f25c6802fe711 SHA512 673d636fc64fff01289ad642f2f861f6da18d3e652cdd645e3d2487daf1baf4616515e31540a03f67dbc354efff4f48a6881e1ceecfb966eb24d7675abb6dff7
+DIST mill-bin-0.11.6 52778046 BLAKE2B 5f05b14cafba4e6b40b89572310a2b06ddbf1839a2da0dbdfe73a63606c9b1262fed686f7ffb17dc178072242136a4b334a2ae89b2fdc7274bffee928ff3c5fe SHA512 9f187b00d37f8d0bb97b7cd08c57e59e081c835e25f83e6c65bf2ca425f4325a6c641f7082ef700dac30ab6d4f59da5492136eeab21c898f11a259b89d55e9b8
+DIST mill-bin-0.11.7 59806165 BLAKE2B bc97d64a692a33a482752828a703cb22d44bafeeb3aa329136d601058b56bf94703f97047be416bcbcfeb9633288f31e5715646aad359be59deffc957fc15b7c SHA512 c7c2cecd5cec6aab735e36182fade4e7360684795af42b528c1a7e5b0a0dc89dc4c68d47400d46121854c455f72e47f51c73ac4f8e70339ce5a7d18ae8b088de
diff --git a/dev-java/mill-bin/metadata.xml b/dev-java/mill-bin/metadata.xml
index 9cf287216c24..f8f99d4f8310 100644
--- a/dev-java/mill-bin/metadata.xml
+++ b/dev-java/mill-bin/metadata.xml
@@ -8,6 +8,6 @@
<upstream>
<remote-id type="github">com-lihaoyi/mill</remote-id>
<bugs-to>https://github.com/com-lihaoyi/mill/issues</bugs-to>
- <changelog>https://github.com/paul-j-lucas/cdecl/releases</changelog>
+ <changelog>https://github.com/com-lihaoyi/mill/releases</changelog>
</upstream>
</pkgmetadata>
diff --git a/dev-java/mill-bin/mill-bin-0.10.7.ebuild b/dev-java/mill-bin/mill-bin-0.10.7.ebuild
deleted file mode 100644
index 4b4375e44bc5..000000000000
--- a/dev-java/mill-bin/mill-bin-0.10.7.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PN=${PN%-bin}
-
-DESCRIPTION="A Java/Scala build tool"
-HOMEPAGE="https://com-lihaoyi.github.io/mill/"
-SRC_URI="https://github.com/com-lihaoyi/${MY_PN}/releases/download/${PV}/${PV}-assembly -> ${P}"
-KEYWORDS="amd64 x86"
-
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}"
-
-src_unpack() {
- :
-}
-
-src_install() {
- newbin "${DISTDIR}"/${P} ${MY_PN}
-}
diff --git a/dev-java/mill-bin/mill-bin-0.11.5.ebuild b/dev-java/mill-bin/mill-bin-0.11.5.ebuild
new file mode 100644
index 000000000000..b2461d64d37b
--- /dev/null
+++ b/dev-java/mill-bin/mill-bin-0.11.5.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=${PN%-bin}
+
+DESCRIPTION="A Java/Scala build tool"
+HOMEPAGE="https://com-lihaoyi.github.io/mill/"
+SRC_URI="https://github.com/com-lihaoyi/${MY_PN}/releases/download/${PV}/${PV}-assembly -> ${P}"
+KEYWORDS="amd64 ~x86"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}"
+
+src_unpack() {
+ :
+}
+
+src_install() {
+ newbin "${DISTDIR}"/${P} ${MY_PN}
+}
diff --git a/dev-java/mill-bin/mill-bin-0.11.6.ebuild b/dev-java/mill-bin/mill-bin-0.11.6.ebuild
new file mode 100644
index 000000000000..95f583ce077d
--- /dev/null
+++ b/dev-java/mill-bin/mill-bin-0.11.6.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=${PN%-bin}
+
+DESCRIPTION="A Java/Scala build tool"
+HOMEPAGE="https://com-lihaoyi.github.io/mill/"
+SRC_URI="https://github.com/com-lihaoyi/${MY_PN}/releases/download/${PV}/${PV}-assembly -> ${P}"
+KEYWORDS="amd64 ~x86"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}"
+
+src_unpack() {
+ :
+}
+
+src_install() {
+ newbin "${DISTDIR}"/${P} ${MY_PN}
+}
diff --git a/dev-java/mill-bin/mill-bin-0.11.7.ebuild b/dev-java/mill-bin/mill-bin-0.11.7.ebuild
new file mode 100644
index 000000000000..5b24c097e25e
--- /dev/null
+++ b/dev-java/mill-bin/mill-bin-0.11.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=${PN%-bin}
+
+DESCRIPTION="A Java/Scala build tool"
+HOMEPAGE="https://com-lihaoyi.github.io/mill/"
+SRC_URI="https://github.com/com-lihaoyi/${MY_PN}/releases/download/${PV}/${PV}-assembly -> ${P}"
+KEYWORDS="~amd64 ~x86"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}"
+
+src_unpack() {
+ :
+}
+
+src_install() {
+ newbin "${DISTDIR}"/${P} ${MY_PN}
+}
diff --git a/dev-java/minidns-core/Manifest b/dev-java/minidns-core/Manifest
new file mode 100644
index 000000000000..c6098e740f38
--- /dev/null
+++ b/dev-java/minidns-core/Manifest
@@ -0,0 +1 @@
+DIST minidns-core-1.0.4.tar.gz 160110 BLAKE2B 5465a4f94ef98966ddf54633fe23a8f5a567aad5b059030e204e495e8bcc9ba3aa6e32b2a45be53d0d0df18edf4731e2cc1b163fadb7b8cbbddb259848b022ef SHA512 21a6065b2de3e5ec0cb3da8f68e655e2b72424472186256fc29b3e51303b3bf6f3b1c9d0a106968b21ba55656ea9ef9e90d51cee23eea8d865e11dc2f4d5c2b3
diff --git a/dev-java/minidns-core/metadata.xml b/dev-java/minidns-core/metadata.xml
new file mode 100644
index 000000000000..115bee3bf8c1
--- /dev/null
+++ b/dev-java/minidns-core/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">minidns/minidns</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/minidns-core/minidns-core-1.0.4.ebuild b/dev-java/minidns-core/minidns-core-1.0.4.ebuild
new file mode 100644
index 000000000000..3a9f492efae0
--- /dev/null
+++ b/dev-java/minidns-core/minidns-core-1.0.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.minidns:minidns-core:1.0.4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="DNS library for Java and Android systems"
+HOMEPAGE="https://github.com/minidns/minidns"
+SRC_URI="https://github.com/MiniDNS/minidns/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/minidns-${PV}/${PN}"
+
+JAVA_SRC_DIR="src/main/java"
+# needs junit:5
+#JAVA_TESTING_FRAMEWORKS="junit-5"
+#JAVA_TEST_SRC_DIR="src/test/java"
+#JAVA_TEST_RESOURCE_DIRS="src/test/resources"
diff --git a/dev-java/mockito/Manifest b/dev-java/mockito/Manifest
index 4c502234db5f..9d9fe63d1383 100644
--- a/dev-java/mockito/Manifest
+++ b/dev-java/mockito/Manifest
@@ -1,3 +1,3 @@
-DIST mockito-1.9.5.zip 6453870 BLAKE2B b577c4a82f03b5c345462ecc10e9fe25c03836d08d57d633d95a1eaba17f52d4306603f50f332df360d0a4880c85c65bad4503503df0acad8f7b437694a2b887 SHA512 93768992c74fbc2e2653b46b3afb526ab816b9c707cb5f9608564299ffd206e256182be146c590b4777a624379f576d7117ed7d43b11f8d2974e87c402eede51
-DIST mockito-4.6.1.tar.gz 1031362 BLAKE2B 52768ead8770c701f5e5b698f9c35e8e189b57979d90b231b434aba57f6f1f167e5f1491eec53280ce29410add31ac41e81b3637257f58709162cc3c5307ed27 SHA512 f16454f3baba2e55a6da229d7719359357b2641cf4abaf3c0e5f5cac6999325ac4a9c08d815a02939c1ef62831745162935bb8d03177a27b0d972600a92fc1f7
-DIST mockito-4.8.0.tar.gz 1044264 BLAKE2B cbd8fa0db3b652ad882c6bb8c5f86116cf21772869814ddabe88532ff2522e399e8d7e9d68935b10844c0c496755834dee66c88dc7b2e0231757f7c79233c1fb SHA512 1f1ea9aac907d8ba42874eb6a6870cd5cb46b80a4a9f841c7eca8ff8f651e13baa92a4c3512d95d6596dd7da60e627a606c74e4b1dc56d11b06a14f44e3d53f3
+DIST mockito-2.28.2.tar.gz 875085 BLAKE2B d0aab378c028530724156f999700506fe64f5bf19371dc9b957e34924d3d17b8191f093054c6dde4f5879d61ddf9614a60b1fd597aae09b92abf559c08fbcdf7 SHA512 9921fe9ffbdff4d7a9a8de56aa5078e68eb6bee38f379f58059dcc42da07a59b7e5953309d646e1fb760f7135f5076e201529370cc5df56d685f7acb08311ea5
+DIST mockito-4.11.0.tar.gz 1050218 BLAKE2B 7f7298e233c9cdb0b475aa201300a1063fd8efc587f3a4de0cb1caedd6f6506a32f8e9b0548fa5898892515ec96625153a1a2ad65fc8070b7dc6c254206fbbfd SHA512 b1de01c8e9b2fc4eef0013af562efeac7e22babdebbd8c7842ecd55071627e11c5e6ab575436990ea70d4ceefb56fc260333278c8d4b833e454956bf89841fc5
+DIST mockito-core-1.9.5-sources.jar 723074 BLAKE2B e553a923542a1a2574ee0cda5979d168cc3e9644dbbc9fceed2301ae1bac150c4e35dbc4432d50e2479efea2a6cd35ec19c62c3598f61709f1f5dc8959cc0155 SHA512 271e626c3b5be9a7d7c82a2f0bf44077aabd51924b0956a88633ace7fe8c134d8cd1f89ce348ce0d15ccce55a50027e303836d2d2f430500317b6136d308d3d4
diff --git a/dev-java/mockito/files/mockito-2.28.2-skip-failing-tests.patch b/dev-java/mockito/files/mockito-2.28.2-skip-failing-tests.patch
new file mode 100644
index 000000000000..06bf5bcd6346
--- /dev/null
+++ b/dev-java/mockito/files/mockito-2.28.2-skip-failing-tests.patch
@@ -0,0 +1,82 @@
+# https://bugs.gentoo.org/903897
+--- a/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java
++++ b/src/test/java/org/mockito/internal/creation/bytebuddy/AbstractByteBuddyMockMakerTest.java
+@@ -6,6 +6,7 @@ package org.mockito.internal.creation.bytebuddy;
+
+ import net.bytebuddy.ByteBuddy;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.mockito.Mockito;
+ import org.mockito.internal.creation.MockSettingsImpl;
+ import org.mockito.internal.handler.MockHandlerImpl;
+@@ -134,7 +135,7 @@ public abstract class AbstractByteBuddyMockMakerTest<MM extends MockMaker> {
+ }
+ }
+
+- @Test
++ @Test @Ignore
+ public void instantiate_fine_when_objenesis_on_the_classpath() throws Exception {
+ // given
+ ClassLoader classpath_with_objenesis = ClassLoaders.excludingClassLoader()
+--- a/src/test/java/org/mockitousage/matchers/VarargsTest.java
++++ b/src/test/java/org/mockitousage/matchers/VarargsTest.java
+@@ -19,6 +19,7 @@ import org.assertj.core.api.ObjectAssert;
+ import org.junit.Ignore;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.rules.ExpectedException;
+ import org.mockito.ArgumentCaptor;
+ import org.mockito.Captor;
+@@ -78,7 +79,7 @@ public class VarargsTest {
+ verify(mock).varargs((String[]) isNotNull());
+ }
+
+- @Test
++ @Test @Ignore
+ public void shouldMatchVarArgs_oneNullArg_eqNull() {
+ Object arg = null;
+ mock.varargs(arg);
+@@ -86,7 +87,7 @@ public class VarargsTest {
+ verify(mock).varargs(eq(null));
+ }
+
+- @Test
++ @Test @Ignore
+ public void shouldMatchVarArgs_oneNullArg_isNull() {
+ Object arg = null;
+ mock.varargs(arg);
+@@ -94,7 +95,7 @@ public class VarargsTest {
+ verify(mock).varargs(isNull());
+ }
+
+- @Test
++ @Test @Ignore
+ public void shouldMatchVarArgs_nullArrayArg() {
+ Object[] argArray = null;
+ mock.varargs(argArray);
+@@ -118,21 +119,21 @@ public class VarargsTest {
+ verify(mock).varargs((String[])any()); // any() -> VarargMatcher
+ }
+
+- @Test
++ @Test @Ignore
+ public void shouldMatchVarArgs_oneArgsOneAnyMatcher() {
+ mock.varargs(1);
+
+ verify(mock).varargs(any()); // any() -> VarargMatcher
+ }
+
+- @Test
++ @Test @Ignore
+ public void shouldMatchVarArgs_twoArgsOneAnyMatcher() {
+ mock.varargs(1, 2);
+
+ verify(mock).varargs(any()); // any() -> VarargMatcher
+ }
+
+- @Test
++ @Test @Ignore
+ public void shouldMatchVarArgs_twoArgsTwoAnyMatcher() {
+ mock.varargs(1, 2);
+
diff --git a/dev-java/mockito/mockito-1.9.5-r2.ebuild b/dev-java/mockito/mockito-1.9.5-r2.ebuild
deleted file mode 100644
index 8d5f634f6853..000000000000
--- a/dev-java/mockito/mockito-1.9.5-r2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.mockito:mockito-core:1.9.5"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A mocking framework for Java"
-HOMEPAGE="https://github.com/mockito/mockito"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.zip"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CDEPEND="
- dev-java/ant-core:0
- dev-java/hamcrest-core:0
- dev-java/junit:4
- dev-java/objenesis:0
-"
-RDEPEND="${CDEPEND}
- virtual/jre:1.8"
-DEPEND="${CDEPEND}
- virtual/jdk:1.8"
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-JAVA_SRC_DIR="src"
-JAVA_GENTOO_CLASSPATH="junit-4,objenesis,hamcrest-core,ant-core"
-
-src_unpack() {
- unpack ${A}
- unzip "${S}"/sources/${PN}-core-${PV}-sources.jar -d src/ || die
-}
-
-src_prepare() {
- default
- find "${S}" -name "*.jar" -delete || die
-}
diff --git a/dev-java/mockito/mockito-1.9.5-r4.ebuild b/dev-java/mockito/mockito-1.9.5-r4.ebuild
new file mode 100644
index 000000000000..6c673f92d0ab
--- /dev/null
+++ b/dev-java/mockito/mockito-1.9.5-r4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.mockito:mockito-core:1.9.5"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A mocking framework for Java"
+HOMEPAGE="https://github.com/mockito/mockito"
+SRC_URI="https://repo1.maven.org/maven2/org/mockito/mockito-core/${PV}/mockito-core-${PV}-sources.jar"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14-r3:0
+ dev-java/hamcrest-core:0
+ dev-java/junit:4
+ dev-java/objenesis:0
+"
+DEPEND=">=virtual/jdk-1.8:*
+ ${CP_DEPEND}"
+RDEPEND=">=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+BDEPEND="app-arch/unzip"
+
+JAVADOC_ARGS="-source 8"
diff --git a/dev-java/mockito/mockito-2.28.2.ebuild b/dev-java/mockito/mockito-2.28.2.ebuild
new file mode 100644
index 000000000000..40c00744c354
--- /dev/null
+++ b/dev-java/mockito/mockito-2.28.2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.mockito:mockito-core:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Mockito mock objects library core API and implementation"
+HOMEPAGE="https://github.com/mockito/mockito"
+SRC_URI="https://github.com/mockito/mockito/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="MIT"
+SLOT="2"
+KEYWORDS="amd64 ~arm ~arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/asm:9
+ dev-java/byte-buddy:0
+ dev-java/objenesis:0
+"
+
+DEPEND="
+ dev-java/junit:4
+ dev-java/opentest4j:0
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ test? ( dev-java/assertj-core:3 )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+# see https://bugs.gentoo.org/903897
+PATCHES=( "${FILESDIR}/mockito-2.28.2-skip-failing-tests.patch" )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.mockito"
+JAVA_CLASSPATH_EXTRA="junit-4 opentest4j"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_EXCLUDES=(
+ org.mockito.internal.junit.JUnitRuleTest # We run it in JAVA_TEST_RUN_ONLY
+ org.mockito.internal.util.reflection.DummyClassForTests # No runnable methods
+ org.mockito.internal.util.reflection.DummyParentClassForTests # No runnable methods
+ org.mockito.junit.TestableJUnitRunner # No runnable methods
+ org.mockitoutil.TestBase # No runnable methods
+)
+JAVA_TEST_GENTOO_CLASSPATH="assertj-core-3,junit-4"
+JAVA_TEST_RUN_ONLY=(
+ # This needs to run separately, otherwise one of its 4 tests would fail.
+ org.mockito.internal.junit.JUnitRuleTest
+)
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ default
+ # dev-java/byte-buddy is built from byte-buddy-dep without shaded stuff.
+ sed \
+ -e 's:net.bytebuddy.jar.asm:org.objectweb.asm:' \
+ -i src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java \
+ -i src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java || die
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+ mv target/classes/org/mockito/internal/creation/bytebuddy/inject/MockMethodDispatcher.{class,raw} || die
+ jar ufv mockito.jar -C target/classes org/mockito/internal/creation/bytebuddy/inject/MockMethodDispatcher.raw || die
+}
+
+src_test() {
+ # Increasing number of test failures with higher Java versions
+ # Test failures are documented in https://bugs.gentoo.org/903897
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 11; then
+ JAVA_TEST_EXCLUDES+=(
+ org.mockito.internal.stubbing.defaultanswers.ReturnsMocksTest
+ org.mockitousage.bugs.GenericsMockitoAnnotationsTest
+ )
+ fi
+ if ver_test "${vm_version}" -ge 17; then
+ JAVA_TEST_EXCLUDES+=(
+ org.concurrentmockito.ThreadsRunAllTestsHalfManualTest
+ org.mockitousage.matchers.InvalidUseOfMatchersTest
+ org.mockitousage.serialization.DeepStubsSerializableTest
+ org.mockitousage.stubbing.StubbingWithDelegateTest
+ )
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.io=ALL-UNNAMED )
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.lang=ALL-UNNAMED )
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED )
+ fi
+ # First run what needs to run separately
+ java-pkg-simple_src_test
+ # And then the other tests
+ JAVA_TEST_RUN_ONLY=""
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/mockito/mockito-4.11.0.ebuild b/dev-java/mockito/mockito-4.11.0.ebuild
new file mode 100644
index 000000000000..1327aa6b7fa7
--- /dev/null
+++ b/dev-java/mockito/mockito-4.11.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Tests not enabled, wants junit-jupiter.
+# "${S}/settings.gradle.kts"
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.mockito:mockito-core:4.11.0"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Mockito mock objects library core API and implementation"
+HOMEPAGE="https://github.com/mockito/mockito"
+SRC_URI="https://github.com/mockito/mockito/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="4"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/asm:9
+ dev-java/byte-buddy:0
+ dev-java/objenesis:0
+"
+
+DEPEND="
+ dev-java/junit:4
+ dev-java/opentest4j:0
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+S="${WORKDIR}/${P}"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.mockito"
+JAVA_CLASSPATH_EXTRA="junit-4 opentest4j"
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ default
+ # dev-java/byte-buddy is built from byte-buddy-dep without shaded stuff.
+ sed \
+ -e 's:net.bytebuddy.jar.asm:org.objectweb.asm:' \
+ -i src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java \
+ -i src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java || die
+}
diff --git a/dev-java/mockito/mockito-4.6.1-r1.ebuild b/dev-java/mockito/mockito-4.6.1-r1.ebuild
deleted file mode 100644
index cf24643bfe06..000000000000
--- a/dev-java/mockito/mockito-4.6.1-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Tests not enabled, wants junit-jupiter.
-# "${S}/settings.gradle.kts"
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.mockito:mockito-core:4.6.1"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Mockito mock objects library core API and implementation"
-HOMEPAGE="https://github.com/mockito/mockito"
-SRC_URI="https://github.com/mockito/mockito/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CP_DEPEND="
- dev-java/asm:9
- >=dev-java/byte-buddy-1.12.12:0
- dev-java/objenesis:0
-"
-
-DEPEND="
- dev-java/junit:4
- >=dev-java/opentest4j-1.2.0-r1:0
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-S="${WORKDIR}/${P}"
-
-JAVA_CLASSPATH_EXTRA="
- junit-4
- opentest4j
-"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_AUTOMATIC_MODULE_NAME="org.mockito"
-
-src_prepare() {
- default
- sed \
- -e 's:net.bytebuddy.jar.asm:org.objectweb.asm:' \
- -i src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java \
- -i src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java || die
-}
diff --git a/dev-java/mockito/mockito-4.8.0.ebuild b/dev-java/mockito/mockito-4.8.0.ebuild
deleted file mode 100644
index fd356a4881a4..000000000000
--- a/dev-java/mockito/mockito-4.8.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Tests not enabled, wants junit-jupiter.
-# "${S}/settings.gradle.kts"
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.mockito:mockito-core:4.8.0"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Mockito mock objects library core API and implementation"
-HOMEPAGE="https://github.com/mockito/mockito"
-SRC_URI="https://github.com/mockito/mockito/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="4"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-CP_DEPEND="
- dev-java/asm:9
- >=dev-java/byte-buddy-1.12.13:0
- dev-java/objenesis:0
-"
-
-DEPEND="
- dev-java/junit:4
- >=dev-java/opentest4j-1.2.0-r1:0
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-S="${WORKDIR}/${P}"
-
-JAVA_CLASSPATH_EXTRA="
- junit-4
- opentest4j
-"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_AUTOMATIC_MODULE_NAME="org.mockito"
-
-src_prepare() {
- default
- # dev-java/byte-buddy is built from byte-buddy-dep without shaded stuff.
- sed \
- -e 's:net.bytebuddy.jar.asm:org.objectweb.asm:' \
- -i src/main/java/org/mockito/internal/creation/bytebuddy/MockMethodAdvice.java \
- -i src/main/java/org/mockito/internal/creation/bytebuddy/InlineBytecodeGenerator.java || die
-}
diff --git a/dev-java/msv/Manifest b/dev-java/msv/Manifest
index d558b8b8c6df..9475f768708b 100644
--- a/dev-java/msv/Manifest
+++ b/dev-java/msv/Manifest
@@ -1,2 +1 @@
DIST msv-2022.7.tar.gz 2594951 BLAKE2B fce006f4b845efcd930b7999ac00eaab06c404888eb73a6eeab6cfad616b4922271d2d682abc82f3be4c4f6a791aa14681f6e6bfebd2118ac3aa2bcba41fd1f8 SHA512 315342628f79c561883be0d966211dd81daae66a414dcc9bb5a87d86f97121d38b5835e9a6d1ac7c21ccff46040e53d3cabd32e9ea677c9ca4335a86c5259949
-DIST msv-core-2013.6.1-sources.jar 1011944 BLAKE2B 474d8a45bc5f16ec76dbe853a835b66cd1d733973ffad0dd5e0a653d349f075e22a72d29d91da312a9a133218f4187ece15fd66b19dc34bc00cdea72b95a5929 SHA512 3985451ff52e50957fdc22ef598edcd7b02495b834a53a048018064d1a6063d4554a7cb5d7752c2d265b852d17c7a55787d9b1ec2b580988ad005fcbc9c6eb8a
diff --git a/dev-java/msv/msv-20130601.ebuild b/dev-java/msv/msv-20130601.ebuild
deleted file mode 100644
index a3e3eb88b963..000000000000
--- a/dev-java/msv/msv-20130601.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PV="${PV:4:2}.${PV:6}"
-MY_PV="${PV:0:4}.${MY_PV//0}"
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="net.java.dev.msv:msv-core:2013.6.1"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Multi-Schema XML Validator, a Java tool for validating XML documents"
-HOMEPAGE="https://msv.java.net/"
-SRC_URI="https://search.maven.org/remotecontent?filepath=net/java/dev/${PN}/${PN}-core/${MY_PV}/${PN}-core-${MY_PV}-sources.jar"
-
-LICENSE="BSD Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CP_DEPEND="
- dev-java/iso-relax:0
- dev-java/relaxng-datatype:0
- dev-java/xml-commons-resolver:0
- dev-java/xsdlib:0"
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*"
-
-RDEPEND="${CP_DEPEND}
- dev-java/xerces:2
- >=virtual/jre-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-JAVAC_ARGS="-XDignore.symbol.file"
-JAVA_SRC_DIR="."
-JAVA_RESOURCE_DIRS="res"
-
-src_prepare() {
- default
- mkdir "res" || die
- cp -r "com" "res" || die
-
- # The only resources to have are '*.properties'
- find res -type f ! -name '*.properties' -exec rm -rf {} + || die
-
- sed -e '/resolver.tools.CatalogResolver/s/com.sun.org.apache.xml.internal/org.apache.xml/' \
- -i com/sun/msv/driver/textui/Driver.java || die
-}
-
-src_install() {
- java-pkg-simple_src_install
- java-pkg_register-dependency xerces-2
- java-pkg_dolauncher "${PN}" --main com.sun.msv.driver.textui.Driver
-}
diff --git a/dev-java/msv/msv-2022.7.ebuild b/dev-java/msv/msv-2022.7.ebuild
index 300997bdee20..9f000389fc0a 100644
--- a/dev-java/msv/msv-2022.7.ebuild
+++ b/dev-java/msv/msv-2022.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
@@ -13,12 +13,12 @@ JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Multi-Schema Validator Core package"
-HOMEPAGE="https://github.com/xmlark/msv/msv-core"
+HOMEPAGE="https://xmlark.github.io/msv/core/"
SRC_URI="https://github.com/xmlark/msv/archive/msv-${PV}.tar.gz"
LICENSE="BSD-1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
# Common dependencies
# POM: pom.xml
diff --git a/dev-java/mvel/Manifest b/dev-java/mvel/Manifest
index 4af3792b6c2f..41568dbf8e17 100644
--- a/dev-java/mvel/Manifest
+++ b/dev-java/mvel/Manifest
@@ -1 +1 @@
-DIST mvel2-2.3.2.Final.tar.gz 2405839 BLAKE2B 5f12652a0f4375f6e24f18313d99a02bb86463cc1acc2f8845b815c9c7afcda410d67c9f1c30544f9ab1cd50a48ce0ab72e9cca94faafab776f3704b1d5fa087 SHA512 9d1c92bfe90aa4cfe5f4bbdd7eef2060bfaec3979c5c07a5baf3ddb4d84a00632dcaec266bab675b31d5b745bfa36a89dd5969ababeb64332069939a4df23dbc
+DIST mvel2-2.5.0.Final.tar.gz 2182715 BLAKE2B 1e8dbde4b75e36ea4d285ab45c0040957b9af7b5819786daf6469ae509c9c1e16ba2b201a05f9f9cf1c694bac816afd2d613226a8eb3b06f9049a898c6586b85 SHA512 29ca1ef8fdc4cbb97b5847f59e7c3118e837022d7292b507869208da1798b55d0445c40214d72c159e610d7094df7002c091296b2b31775a1ad0606f622d12b5
diff --git a/dev-java/mvel/files/mvel-2.3.2-ignore-failing-tests.patch b/dev-java/mvel/files/mvel-2.3.2-ignore-failing-tests.patch
deleted file mode 100644
index 1cfd9e8abc36..000000000000
--- a/dev-java/mvel/files/mvel-2.3.2-ignore-failing-tests.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From fcf12bd0322556b4396a72a5402124d9543781d9 Mon Sep 17 00:00:00 2001
-From: Yuan Liao <liaoyuan@gmail.com>
-Date: Sun, 16 Jan 2022 09:48:48 -0800
-Subject: [PATCH] Ignore tests that fail even when run by Maven on JUnit 4.13.2
-
-To reproduce the failure, make sure to edit line 249 of pom.xml to use
-JUnit 4.13.2. Note that the failed tests are JUnit 3 tests, which
-cannot be ignored with the @org.junit.Ignore annotation.
-
-When no tests are ignored, only testMapAccessWithNestedMethodCall() will
-fail. However, ignoring that test will cause
-testMapAccessWithNestedProperty() to fail afterwards.
-
-Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
----
- src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java b/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java
-index ea7661bb..1c92c327 100644
---- a/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java
-+++ b/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java
-@@ -3431,7 +3431,7 @@ public class CoreConfidenceTests extends AbstractTest {
- assertTrue(result);
- }
-
-- public void testMapAccessWithNestedMethodCall() {
-+ public void noTestMapAccessWithNestedMethodCall() {
- String str = "map[aMethod(1)] == \"one\"";
-
- ParserConfiguration pconf = new ParserConfiguration();
-@@ -3446,7 +3446,7 @@ public class CoreConfidenceTests extends AbstractTest {
- assertTrue(result);
- }
-
-- public void testMapAccessWithNestedProperty() {
-+ public void noTestMapAccessWithNestedProperty() {
- String str = "map[key] == \"one\"";
-
- ParserConfiguration pconf = new ParserConfiguration();
---
-2.34.1
-
diff --git a/dev-java/mvel/files/mvel-2.3.2-update-supported-java-versions.patch b/dev-java/mvel/files/mvel-2.3.2-update-supported-java-versions.patch
deleted file mode 100644
index d019002cda1f..000000000000
--- a/dev-java/mvel/files/mvel-2.3.2-update-supported-java-versions.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 04f476bbc3768d9052ae9c8a1b0aa53340a993b3 Mon Sep 17 00:00:00 2001
-From: Yuan Liao <liaoyuan@gmail.com>
-Date: Sun, 16 Jan 2022 08:01:46 -0800
-Subject: [PATCH] ASMAccessorOptimizer: Update supported Java versions as of
- 2.4.14
-
-Squashed patch of the following commits:
-
-From: deaddowney <spamcontrol@mac.com>
-Date: Fri, 22 Jun 2018 09:38:24 -0400
-Subject: [PATCH 1/4] Mvel not working with Java 10 (11) GH Issue #159
-
-From: dieter sauvillers <dieter.sauvillers@corilus.be>
-Date: Tue, 2 Apr 2019 10:20:31 +0200
-Subject: [PATCH 2/4] mvel does not work with java 12 #185
-
-From: mmelko <mmelko@redhat.com>
-Date: Fri, 26 Jun 2020 08:55:24 +0200
-Subject: [PATCH 3/4] Fix building on java 14
-
-From: mariofusco <mario.fusco@gmail.com>
-Date: Mon, 24 Aug 2020 08:54:22 +0200
-Subject: [PATCH 4/4] drop compatibility with java versions lower than 1.4
-
-Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
----
- .../mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java b/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java
-index 45520538..4c4c876e 100644
---- a/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java
-+++ b/src/main/java/org/mvel2/optimizers/impl/asm/ASMAccessorOptimizer.java
-@@ -118,13 +118,8 @@ public class ASMAccessorOptimizer extends AbstractOptimizer implements AccessorO
- OPCODES_VERSION = Opcodes.V1_4;
- } else if (javaVersion.startsWith("1.5")) {
- OPCODES_VERSION = Opcodes.V1_5;
-- } else if (javaVersion.startsWith("1.6")
-- || javaVersion.startsWith("1.7")
-- || javaVersion.startsWith("1.8")
-- || javaVersion.startsWith("9")) {
-- OPCODES_VERSION = Opcodes.V1_6;
- } else {
-- OPCODES_VERSION = Opcodes.V1_2;
-+ OPCODES_VERSION = Opcodes.V1_6;
- }
-
- String defaultNameSapce = getProperty("mvel2.namespace");
---
-2.34.1
-
diff --git a/dev-java/mvel/files/mvel-2.3.2-update-version-in-output.patch b/dev-java/mvel/files/mvel-2.3.2-update-version-in-output.patch
deleted file mode 100644
index 8b7250540b05..000000000000
--- a/dev-java/mvel/files/mvel-2.3.2-update-version-in-output.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0a316a5cb0d889220fb3e730ea1471c1b4052736 Mon Sep 17 00:00:00 2001
-From: Yuan Liao <liaoyuan@gmail.com>
-Date: Sun, 16 Jan 2022 10:21:47 -0800
-Subject: [PATCH] Update program version shown in program output
-
-Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
----
- src/main/java/org/mvel2/MVEL.java | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/main/java/org/mvel2/MVEL.java b/src/main/java/org/mvel2/MVEL.java
-index eafe17fc..6bbf5f06 100644
---- a/src/main/java/org/mvel2/MVEL.java
-+++ b/src/main/java/org/mvel2/MVEL.java
-@@ -45,7 +45,7 @@ import static org.mvel2.util.ParseTools.optimizeTree;
- public class MVEL {
- public static final String NAME = "MVEL (MVFLEX Expression Language)";
- public static final String VERSION = "2.3";
-- public static final String VERSION_SUB = "0";
-+ public static final String VERSION_SUB = "2";
- public static final String CODENAME = "liberty";
- static boolean DEBUG_FILE = getBoolean("mvel2.debug.fileoutput");
- static String ADVANCED_DEBUGGING_FILE = System.getProperty("mvel2.debugging.file") == null ? "mvel_debug.txt" : System.getProperty("mvel2.debugging.file");
---
-2.34.1
-
diff --git a/dev-java/mvel/mvel-2.3.2-r1.ebuild b/dev-java/mvel/mvel-2.3.2-r1.ebuild
deleted file mode 100644
index 2fc29e17956e..000000000000
--- a/dev-java/mvel/mvel-2.3.2-r1.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.mvel:mvel2:2.3.2.Final"
-
-# Note: This package has a mixture of JUnit 3 and JUnit 4 tests, all of which
-# can be run with JUnit 4. As of January 2022, JUnit 3 test launcher will only
-# run 2 tests out of nearly 1100 JUnit 3 tests in total, whereas JUnit 4 test
-# launcher can run all of them
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="MVFLEX Expression Language"
-HOMEPAGE="https://github.com/mvel/mvel"
-SRC_URI="https://github.com/mvel/mvel/archive/refs/tags/mvel2-${PV}.Final.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2.3"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}/${PN}-${PN}2-${PV}.Final"
-
-JAVA_SRC_DIR="src/main/java"
-# Required due to use of '_' as identifiers in source files
-JAVADOC_ARGS="-source 8"
-# https://github.com/mvel/mvel/blob/mvel2-2.3.2.Final/pom.xml#L131
-JAVA_MAIN_CLASS="org.mvel2.sh.Main"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" )
-JAVA_TEST_EXCLUDES=(
- # No runnable methods
- org.mvel2.tests.perftests.CompiledPerformanceTests
- org.mvel2.tests.perftests.SimpleTests
- org.mvel2.tests.core.MVELThreadTest
- org.mvel2.tests.core.res.TestClass
- org.mvel2.tests.core.res.TestInterface
- org.mvel2.tests.core.res.TestMVEL197
- org.mvel2.tests.templates.tests.res.TestPluginNode
-)
-# Significantly speed up test execution
-# https://github.com/mvel/mvel/blob/mvel2-2.3.2.Final/pom.xml#L158-L171
-JAVA_TEST_EXTRA_ARGS=(
- -Dfile.encoding=UTF-8
- -Dmvel.disable.jit=true
- -Dmvel.tests.quick=true
-)
-
-pkg_setup() {
- java-pkg-2_pkg_setup
- # Fix org.mvel2.tests.core.PropertyAccessTests.testMVEL308 failure
- # on Java 17, caused by java.lang.reflect.InaccessibleObjectException:
- # module java.base does not "opens java.util" to unnamed module
- # https://github.com/mvel/mvel/issues/282
- ver_test "$(java-config -g PROVIDES_VERSION)" -ge 17 && \
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.base/java.util=ALL-UNNAMED )
-}
-
-src_prepare() {
- # Clean up bundled JARs "manually" to prevent
- # removal of JARs under JAVA_TEST_RESOURCE_DIRS
- rm -r lib/ || die "Failed to remove bundled JARs"
-
- eapply "${FILESDIR}/${P}-update-supported-java-versions.patch"
- eapply "${FILESDIR}/${P}-update-version-in-output.patch"
- use test && eapply "${FILESDIR}/${P}-ignore-failing-tests.patch"
- java-pkg-2_src_prepare
-}
diff --git a/dev-java/mvel/mvel-2.5.0.ebuild b/dev-java/mvel/mvel-2.5.0.ebuild
new file mode 100644
index 000000000000..dc7079a91c1c
--- /dev/null
+++ b/dev-java/mvel/mvel-2.5.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.mvel:mvel2:${PV}.Final"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="MVFLEX Expression Language"
+HOMEPAGE="https://github.com/mvel/mvel"
+SRC_URI="https://github.com/mvel/mvel/archive/mvel2-${PV}.Final.tar.gz"
+S="${WORKDIR}/${PN}-${PN}2-${PV}.Final"
+
+LICENSE="Apache-2.0"
+SLOT="2.5"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ dev-java/asm:9
+ >=virtual/jdk-1.8:*
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+# Required due to use of '_' as identifiers in source files
+JAVADOC_ARGS="-source 8"
+JAVA_CLASSPATH_EXTRA="asm-9"
+JAVA_MAIN_CLASS="org.mvel2.sh.Main"
+JAVA_SRC_DIR="src/main/java"
+
+# Significantly speed up test execution
+# https://github.com/mvel/mvel/blob/mvel2-2.3.2.Final/pom.xml#L158-L171
+JAVA_TEST_EXTRA_ARGS=(
+ -Dfile.encoding=UTF-8
+ -Dmvel.disable.jit=true
+ -Dmvel.tests.quick=true
+)
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" )
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ # ${S}/pom.xml#201-214
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ \( -name "*Test.java" \
+ -o -name '*Tests.java' \
+ -o -name 'UsageDemos.java' \)\
+ ! -name "AbstractTest.java*" \
+ ! -name "CompiledUnitTestEx.java" \
+ ! -name "PerfTest.java" \
+ ! -name "DroolsTest.java" \
+ ! -name "FailureTests.java" \
+ ! -name "PerformanceTest.java" \
+ ! -name "CompiledPerformanceTests.java" \
+ ! -name "MVELThreadTest.java*" \
+ ! -name "SimpleTests.java*" \
+ ! -name "BaseOperatorsTest.java*" \
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/netty/Manifest b/dev-java/netty/Manifest
deleted file mode 100644
index 8338d35bb737..000000000000
--- a/dev-java/netty/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST netty-4.1.35.Final.tar.gz 2447958 BLAKE2B 133adc2b37d3e681d11ac2e0187c0f79bb7aeeb6c622a1bf6e66a35bb78cd5730eeeffccfb960948f2e1df5dfadaa44f62b6f354c03065493ae43e1399a5ba2e SHA512 c3ba4e34ae9d309118ff3517467ffc218136789b06287d747b57df08be84779dacf5e29b19157afecd759a3516bc346e434295291b3dd546f80c4ae7c3f0a3ca
diff --git a/dev-java/netty/metadata.xml b/dev-java/netty/metadata.xml
deleted file mode 100644
index aead41605905..000000000000
--- a/dev-java/netty/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="github">netty/netty</remote-id>
- </upstream>
- <longdescription>
- Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers and clients.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-java/netty/netty-4.1.35-r1.ebuild b/dev-java/netty/netty-4.1.35-r1.ebuild
deleted file mode 100644
index 693bf87c6b51..000000000000
--- a/dev-java/netty/netty-4.1.35-r1.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom common/pom.xml --download-uri https://codeload.github.com/netty/netty/tar.gz/netty-4.1.35.Final --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild netty-4.1.35.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="io.netty:netty:4.1.35.Final"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Async event-driven framework for high performance network applications"
-HOMEPAGE="https://netty.io/"
-SRC_URI="https://github.com/netty/netty/archive/refs/tags/netty-${PV}.Final.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# We do not build the full range of modules provided by netty but only what
-# was available before in netty-common, netty-buffer and netty-transport.
-# Further modules might be added to the array.
-NETTY_MODULES=(
- "common"
- "resolver"
- "buffer"
- "transport"
-)
-
-# Common dependencies
-# POM: common/pom.xml
-# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
-# log4j:log4j:1.2.17 -> >=dev-java/log4j-1.2.17:0
-# org.apache.logging.log4j:log4j-api:2.6.2 -> >=dev-java/log4j-api-2.17.1:2
-# org.jctools:jctools-core:2.1.1 -> !!!suitable-mavenVersion-not-found!!!
-# org.slf4j:slf4j-api:1.7.21 -> >=dev-java/slf4j-api-1.7.32:0
-
-# "Failed to load class org.slf4j.impl.StaticLoggerBinder"
-# Using slf4j-simple instead of slf4j-api solves it.
-# https://www.slf4j.org/codes.html
-CP_DEPEND="
- dev-java/commons-logging:0
- dev-java/jctools-core:3
- dev-java/log4j-12-api:2
- dev-java/slf4j-simple:0
-"
-
-# Compile dependencies
-# POM: common/pom.xml
-# test? ch.qos.logback:logback-classic:1.1.7 -> !!!groupId-not-found!!!
-# test? io.netty:netty-build:25 -> !!!artifactId-not-found!!!
-# test? io.netty:netty-dev-tools:4.1.35.Final -> !!!artifactId-not-found!!!
-# test? junit:junit:4.12 -> >=dev-java/junit-4.13.2:4
-# test? org.apache.logging.log4j:log4j-core:2.6.2 -> >=dev-java/log4j-core-2.17.1:2
-# test? org.hamcrest:hamcrest-library:1.3 -> >=dev-java/hamcrest-library-1.3:1.3
-# test? org.javassist:javassist:3.20.0-GA -> !!!groupId-not-found!!!
-# test? org.mockito:mockito-core:2.18.3 -> >=dev-java/mockito-4.4.0:4
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- dev-java/javassist:3
- dev-java/hamcrest-library:1.3
- dev-java/logback-classic:0
- dev-java/log4j-core:2
- dev-java/mockito:4
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-S="${WORKDIR}/netty-netty-${PV}.Final"
-
-JAVA_TEST_GENTOO_CLASSPATH="hamcrest-library-1.3,javassist-3,junit-4,logback-classic,log4j-core-2,mockito-4"
-
-# There were 12 failures:
-# 1) testCompositeDirectBuffer(io.netty.buffer.ByteBufAllocatorTest)
-# java.lang.InstantiationException
-# at java.base/jdk.internal.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
-#
-# FAILURES!!!
-# Tests run: 10015, Failures: 12
-
-# There was 1 failure:
-# 1) initializationError(io.netty.channel.BaseChannelTest)
-# org.junit.runners.model.InvalidTestClassError: Invalid test class 'io.netty.channel.BaseChannelTest':
-# 1. The class io.netty.channel.BaseChannelTest is not public.
-# 2. Test class should have exactly one public constructor
-# 3. No runnable methods
-#
-# FAILURES!!!
-# Tests run: 10277, Failures: 1
-
-JAVA_TEST_EXCLUDES=(
- "io.netty.buffer.ByteBufAllocatorTest"
- "io.netty.channel.BaseChannelTest"
-)
-
-src_prepare() {
- default
-
- sed \
- -e 's:verifyZeroInteractions:verifyNoInteractions:' \
- -i buffer/src/test/java/io/netty/buffer/UnpooledTest.java \
- -i transport/src/test/java/io/netty/channel/CompleteChannelFutureTest.java || die
-
- # transport/src/test/java/io/netty/channel/PendingWriteQueueTest.java:262: error: reference to assertEquals is ambiguous
- # assertEquals(1L, channel.readOutbound());
- # ^
- # both method assertEquals(long,long) in Assert and method assertEquals(Object,Object) in Assert match
- rm transport/src/test/java/io/netty/channel/PendingWriteQueueTest.java || die
-}
-
-src_compile() {
- local module
- # We loop over the modules list and compile the jar files.
- for module in "${NETTY_MODULES[@]}"; do
- JAVA_SRC_DIR=()
- JAVA_RESOURCE_DIRS=()
- JAVA_MAIN_CLASS=""
-
- JAVA_SRC_DIR=(
- "$module/src/main/java"
- "$module/src/module"
- )
-
- # Not all of the modules have resources.
- if [[ -d $module/src/main/resources ]]; then \
- JAVA_RESOURCE_DIRS="$module/src/main/resources"
- fi
-
- JAVA_JAR_FILENAME="$module.jar"
-
- einfo "Compiling netty-${module}"
- java-pkg-simple_src_compile
-
- JAVA_GENTOO_CLASSPATH_EXTRA+=":$module.jar"
-
- rm -r target || die
-
- done
-
- if use doc; then
- JAVA_SRC_DIR=()
- JAVA_JAR_FILENAME="ignoreme.jar"
-
- for module in "${NETTY_MODULES[@]}" ; do
- # Some modules don't have source code
- if [[ -d $module/src/main/java/io ]]; then \
- JAVA_SRC_DIR+=( "$module/src/main/java" )
- fi
-
- done
-
- java-pkg-simple_src_compile
- fi
-}
-
-src_test() {
- local module
- for module in "${NETTY_MODULES[@]}"; do
- JAVA_TEST_SRC_DIR="$module/src/test/java"
- JAVA_TEST_RESOURCE_DIRS=()
-
- # Not all of the modules have test resources.
- if [[ -d $module/src/test/resources ]]; then \
- JAVA_TEST_RESOURCE_DIRS="$module/src/test/resources"
- fi
-
- einfo "Testing netty-${module}"
- java-pkg-simple_src_test
- done
-}
-
-src_install() {
- einstalldocs # https://bugs.gentoo.org/789582
-
- local module
- for module in "${NETTY_MODULES[@]}"; do
- JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' $module/pom.xml )
- java-pkg_dojar $module.jar
-
- # Some modules don't have source code
- if [[ -d $module/src/main/java/org ]]; then
- if use source; then
- java-pkg_dosrc "$module/src/main/java/*"
- fi
- fi
- done
-
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
-}
diff --git a/dev-java/objenesis-test/Manifest b/dev-java/objenesis-test/Manifest
deleted file mode 100644
index b705a57d89bb..000000000000
--- a/dev-java/objenesis-test/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST objenesis-3.2.tar.gz 123629 BLAKE2B d875224d7a9fcf6173787edaca35f58f72d6c85ee443831be8050170ba826e8a155c7983c62ef5d01a1bb8331943dd6da5cb50eefb87cc0c7d3db540b01fcac3 SHA512 8f0bf9449191bce1823be0cbae85438edf595bde0483bb2fb4415a880b6715ae60826473bd5ee15789a7d0638932878dbdaaf7b42a6d582aa7bbf09124e97e3b
diff --git a/dev-java/objenesis-test/metadata.xml b/dev-java/objenesis-test/metadata.xml
deleted file mode 100644
index cb2dde5b7ecf..000000000000
--- a/dev-java/objenesis-test/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="github">easymock/objenesis</remote-id>
- <bugs-to>https://github.com/easymock/objenesis/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/objenesis-test/objenesis-test-3.2.ebuild b/dev-java/objenesis-test/objenesis-test-3.2.ebuild
deleted file mode 100644
index c3a83dc1fbc7..000000000000
--- a/dev-java/objenesis-test/objenesis-test-3.2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom objenesis-3.2/test/pom.xml --download-uri https://github.com/easymock/objenesis/archive/refs/tags/3.2.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild objenesis-test-3.2.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.objenesis:objenesis-test:3.2"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Test library for Objenesis library"
-HOMEPAGE="http://objenesis.org"
-SRC_URI="https://github.com/easymock/objenesis/archive/refs/tags/${PV}.tar.gz -> objenesis-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}"
-
-JAVA_SRC_DIR="objenesis-${PV}/test/src/main/java"
diff --git a/dev-java/objenesis/Manifest b/dev-java/objenesis/Manifest
index f67c00dcae30..955ff2825c1c 100644
--- a/dev-java/objenesis/Manifest
+++ b/dev-java/objenesis/Manifest
@@ -1,2 +1 @@
-DIST objenesis-3.2.tar.gz 123629 BLAKE2B d875224d7a9fcf6173787edaca35f58f72d6c85ee443831be8050170ba826e8a155c7983c62ef5d01a1bb8331943dd6da5cb50eefb87cc0c7d3db540b01fcac3 SHA512 8f0bf9449191bce1823be0cbae85438edf595bde0483bb2fb4415a880b6715ae60826473bd5ee15789a7d0638932878dbdaaf7b42a6d582aa7bbf09124e97e3b
DIST objenesis-3.3.tar.gz 125400 BLAKE2B 36cff7cb5a2dca9a81f3ca07d56995f68d9c61c9d2b7caeac5f87bb13da02b0494053927e2221c776edef0bafb862f5c97dfc0e79cf991c6c970b5b9206a5aa3 SHA512 786fe0d2d1dba0f006d5218101578d8fd23616765f5cdb4df190d138fd10dd675b9189887c27a40b63f09ed5e1dac1324b2936c7ac24a655e6f63d53b9cd7c01
diff --git a/dev-java/objenesis/objenesis-3.2.ebuild b/dev-java/objenesis/objenesis-3.2.ebuild
deleted file mode 100644
index b752785e109c..000000000000
--- a/dev-java/objenesis/objenesis-3.2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom objenesis-3.2/main/pom.xml --download-uri https://github.com/easymock/objenesis/archive/refs/tags/3.2.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild objenesis-3.2.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.objenesis:objenesis:3.2"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A library for instantiating Java objects"
-HOMEPAGE="http://objenesis.org/"
-SRC_URI="https://github.com/easymock/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Compile dependencies
-# POM: ${P}/main/pom.xml
-# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
-# test? org.objenesis:objenesis-test:3.2 -> >=dev-java/objenesis-test-3.2:0
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- >=dev-java/objenesis-test-3.2:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}"
-
-JAVA_SRC_DIR="${P}/main/src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,objenesis-test"
-JAVA_TEST_SRC_DIR="${P}/main/src/test/java"
diff --git a/dev-java/objenesis/objenesis-3.3.ebuild b/dev-java/objenesis/objenesis-3.3.ebuild
index 496200c3d857..7ce789fc392d 100644
--- a/dev-java/objenesis/objenesis-3.3.ebuild
+++ b/dev-java/objenesis/objenesis-3.3.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/easymock/objenesis/archive/${PV}.tar.gz -> ${P}.tar.
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/open-test-reporting-events/Manifest b/dev-java/open-test-reporting-events/Manifest
new file mode 100644
index 000000000000..9ca788989fa9
--- /dev/null
+++ b/dev-java/open-test-reporting-events/Manifest
@@ -0,0 +1 @@
+DIST open-test-reporting-0.1.0-M1.tar.gz 98076 BLAKE2B 1780f24776ddbb31752044c7ebee85cd852425b295b2c61d25e36856123e0d9cd4420ecb4f88e17bba52746dd209a5160bfe3bf0c05ac544a0a94e74c49ce1b2 SHA512 75523de2342b1b1027e68eb738ffef8571d6bb81b2cb0d87c26b097d8aac98f52728a6a5f46420ce8bb051d60b226646aef47ec00eee5876b833ba4e1121f5c7
diff --git a/dev-java/open-test-reporting-events/metadata.xml b/dev-java/open-test-reporting-events/metadata.xml
new file mode 100644
index 000000000000..fd71ca7a8b38
--- /dev/null
+++ b/dev-java/open-test-reporting-events/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ota4j-team/open-test-reporting</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/open-test-reporting-events/open-test-reporting-events-0.1.0_pre1.ebuild b/dev-java/open-test-reporting-events/open-test-reporting-events-0.1.0_pre1.ebuild
new file mode 100644
index 000000000000..d14e4f96b6e6
--- /dev/null
+++ b/dev-java/open-test-reporting-events/open-test-reporting-events-0.1.0_pre1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.opentest4j.reporting:open-test-reporting-events:0.1.0-M1"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Language-agnostic test reporting format and tooling"
+HOMEPAGE="https://github.com/ota4j-team/open-test-reporting"
+MY_PV="${PV/_pre/-M}"
+SRC_URI="https://github.com/ota4j-team/open-test-reporting/archive/r${MY_PV}.tar.gz -> open-test-reporting-${MY_PV}.tar.gz"
+S="${WORKDIR}/open-test-reporting-r${MY_PV}/events"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="~dev-java/open-test-reporting-schema-${PV}:0"
+RDEPEND=">=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+DEPEND=">=virtual/jdk-1.8:*
+ ${CP_DEPEND}"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_AUTOMATIC_MODULE_NAME="org.opentest4j.reporting.events"
diff --git a/dev-java/open-test-reporting-schema/Manifest b/dev-java/open-test-reporting-schema/Manifest
new file mode 100644
index 000000000000..9ca788989fa9
--- /dev/null
+++ b/dev-java/open-test-reporting-schema/Manifest
@@ -0,0 +1 @@
+DIST open-test-reporting-0.1.0-M1.tar.gz 98076 BLAKE2B 1780f24776ddbb31752044c7ebee85cd852425b295b2c61d25e36856123e0d9cd4420ecb4f88e17bba52746dd209a5160bfe3bf0c05ac544a0a94e74c49ce1b2 SHA512 75523de2342b1b1027e68eb738ffef8571d6bb81b2cb0d87c26b097d8aac98f52728a6a5f46420ce8bb051d60b226646aef47ec00eee5876b833ba4e1121f5c7
diff --git a/dev-java/open-test-reporting-schema/metadata.xml b/dev-java/open-test-reporting-schema/metadata.xml
new file mode 100644
index 000000000000..fd71ca7a8b38
--- /dev/null
+++ b/dev-java/open-test-reporting-schema/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ota4j-team/open-test-reporting</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/open-test-reporting-schema/open-test-reporting-schema-0.1.0_pre1.ebuild b/dev-java/open-test-reporting-schema/open-test-reporting-schema-0.1.0_pre1.ebuild
new file mode 100644
index 000000000000..220e706acfc9
--- /dev/null
+++ b/dev-java/open-test-reporting-schema/open-test-reporting-schema-0.1.0_pre1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.opentest4j.reporting:open-test-reporting-schema:0.1.0-M1"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Language-agnostic test reporting format and tooling"
+HOMEPAGE="https://github.com/ota4j-team/open-test-reporting"
+MY_PV="${PV/_pre/-M}"
+SRC_URI="https://github.com/ota4j-team/open-test-reporting/archive/r${MY_PV}.tar.gz -> open-test-reporting-${MY_PV}.tar.gz"
+S="${WORKDIR}/open-test-reporting-r${MY_PV}/schema"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_AUTOMATIC_MODULE_NAME="org.opentest4j.reporting.schema"
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest
index 1313e2c3cc1e..eed4ebaa2d60 100644
--- a/dev-java/openjdk-bin/Manifest
+++ b/dev-java/openjdk-bin/Manifest
@@ -1,36 +1,23 @@
-DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.15_10.tar.gz 189998414 BLAKE2B 6cf30a34a8a3e040895763fbf740e370469ecb9f71ab0d10d7b3c313f922981dfdf2eddaa64badac92d45db1a9945ed1389f1794a434b366034d43af263bf57c SHA512 51a2fc7ddff7d64eadfb7e2f496c33176dbfceea2cdcd479528195ce00454d3d9bb5ad82714e59bdae8cf2cf7f75ce9f1dcb9c5d62aeffda9d1ec9ff0262e04a
-DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.16.1_1.tar.gz 190493431 BLAKE2B 22e11711048b1e3e45eabd298c4ad25b2162e794561a4aa704ca2cf9612282b40203a6f16337416d16e065ec4764051a199af5b20803aab1c29c3aea6c2e39c3 SHA512 e61529d6782adcb9ccb78b0f3996bd2927b41a199210e6abec969880763e1b2234ddf04fe254110cc332df499616d67156a3b8376012cd3e6640f37e52ef132d
-DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.15_10.tar.gz 181012868 BLAKE2B b52d2330291ae8f8d74ba98b4679414e86c9018ad364bb27f09b5f192369c0b934654e5b4d8a07027e001da96fb89bd62a18ab5c1acea3c2cea2cc31e20a1481 SHA512 abe8469f5fa4f46f71e35785c6972b2901f003e311086352df6eff6911393c31c01ff965c74772656e2255e0bbb15eee6b761db472c886b60a8cda046fb46764
-DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.16.1_1.tar.gz 181437038 BLAKE2B d87e38a9600e2f4289637f9b54044bb25777cd7a434eae89800945515ecb3965eae8f4660d18e96f1fb95e2401133e6630d98b3b23d826425bff5bd88e5b99b8 SHA512 72e2846718fc2e2a85a23cb97f49acf9314b7da78a79d3fe9cd0a91d34867bb2a3b6ace359b366caf564bb5d026f19400564e31064691016e9827a450b5e1a6a
-DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz 175250283 BLAKE2B 4b4fe6a5018cfa40ac71cfcf41c261887890e339d9e5f57aac55f494abb7a4e99263db151d85698690513caf670acfef29a83616e49d6f845e02cef024624fd6 SHA512 98adf9689782aa78d61f485e671c434cfdfae7ba92a7ce0c2401164250b7def2f881e201835e1ca2ab56a3ae4967c0923f4856171c2a4918f7190adf4b5e0bca
-DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.16.1_1.tar.gz 175833123 BLAKE2B c027ac3c128ee8cc6e62e375c66a642931a9344bd7d06cad6025094a8569d135a2982ead3057da7841ebcc5a02fc8c8db653f8aa09bcc8179122e1c1e6018be0 SHA512 f3af5dc335d0573ed89037a6227e96e75ec2031af6653f3a034b2d5e0737f1edc875aa883050783c6d556ce5a55ce4f9cd7859b574915b994b58fb26d906fbfd
-DIST OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.15_10.tar.gz 193336087 BLAKE2B 0f61aba6b76b019ef7271dd92cd4b6db432318d629b5485e2f85a9ca586f1ce6b6d3e2c48486a4f3d90f8730e3fc7dd4f0975849f7c0f820812625556331db87 SHA512 360a349b34f2194498d0800145b54e5532b8a2137d7526a692a855a036d1cb6ef185bdeffaff63bb8cce71c7a0b10fee6acfb1024db8d2ec0cd485baa0683304
-DIST OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.16.1_1.tar.gz 192644240 BLAKE2B c7e77e1b620f6df33d63656a09203bd3d700579a8730141ea4a20424f844c6afc09f4c6681fa66c3fabab0cc9505293cdeed04fa16b0accc49209e0ea4877ba6 SHA512 457df026841f11a424e8f8fe789ba4968d60b0a06deef01a69911ec2084fd4f14ae5dfae543bb646881ce8e4e34665c65670943a43cb2a83c6923122801de468
-DIST OpenJDK11U-jdk_x64_linux_hotspot_11.0.15_10.tar.gz 193245074 BLAKE2B 0a559bd0513984c2bc93e31ab7afcb8f5fc152c9984d957359bf1901e46b25b25ddee81c4c8fc0f560e65b343f74e39c55a1af61526fceec0eb530309eb65383 SHA512 85b21da3ff777b6239df5534ee3539b256a1de5d02abf4f537bca38d2cbf8006b4130d8bde2e24835a8da7a651fc8852df2c5060d26b9d594927f4d609912554
-DIST OpenJDK11U-jdk_x64_linux_hotspot_11.0.16.1_1.tar.gz 193754645 BLAKE2B 5ab76378de497da3e59b5c33025322aacfa67edfa9766fbee346399f8dca71309aa9e6c6ad43a59c2bc7033fc01806b045832ee6b57f08956a2d696e760c247d SHA512 38aa02b8ab14b678b226891ffb2d2ab1248202d595e8c37ded3479d3d0a210355df75cabb62b03ccfae5369965e80ab4872cf7f530d0ddbc4cbf4c9a0f922e37
-DIST OpenJDK11U-jdk_x64_mac_hotspot_11.0.15_10.tar.gz 186328533 BLAKE2B 72f662e4aed529de853e47b848b46c15fade1a8c120f83b3409492801084114724f1d3875fedf1607133192ef5a612dbab828e578bff98adf1605fd990a24b21 SHA512 af69ea99e3d3b7ae84405190a12f788348162fd235aa5df8ce7ea3127d961e015b51cf70277aefa0e29a434ba10876812e997a063c5aaedafa460fc5451783c7
-DIST OpenJDK11U-jdk_x64_mac_hotspot_11.0.16.1_1.tar.gz 186335152 BLAKE2B ce97404fe164c89cc43d053e14a4abd596c104a6dfa355cc011de274aa5e1b9d2d5cb881299fad7877fd0b49bf1f738672eb565d4c543720d059663b34fd5da6 SHA512 6ccbbf271e23d6d2315ac62e5ea574991e728a4298cbf217aa7fffb3717c6a13cd82a467d15a0be9699e7b9e9a062ed0f10772165a40604f2f3c8e02729a6eaa
-DIST OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.3_7.tar.gz 190142132 BLAKE2B e6b0fb199ba788a31b6238d3bc458216baf37f1517a449be63668c412dfe7662d644ffdb312194533d4af089ac2753c164059978d65eddd951bb98bfc108da87 SHA512 f406ae289659e902dd3314d40485c1f3b04915451794c2bebfb1eeda7c83dbf051c26461aec7fe07c1a43f5319f80044aefc99c9177e2a9ca0a31a9c9f06c157
-DIST OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.4.1_1.tar.gz 189797923 BLAKE2B 8732ba8ce23d8ebdcac7fbb2c6035c3cafd11eda4853b948327c6c9839a88294d5c89a03006d542c8ab797b3d4d570aefc6289ff97338d68089387d0ed742d3c SHA512 d2bcf2b766e3135320f28de1df47c3d3f9012281501390ffb6a4c01f59c72fccd348139f4eeb0a9bcce747ed8cfb04f2c8d78161dda2f2f6e0728993f8953061
-DIST OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.3_7.tar.gz 177467402 BLAKE2B 38b8508e81bcbaf90a1db9bfe3f804da9838cc43b6043c328d19523c83dc5d953465a1018a9054979163140a28f5e213815634005cf096f6932407e8f7ccf9a6 SHA512 0433dc839a98b810cad9fe0d98c46cabccec5ceb44fd5bc67fff0c27962f183a3814b9aab521768b578d8f11bda97934629bf9fce5c010cdc93c685b842566e7
-DIST OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.4.1_1.tar.gz 177121101 BLAKE2B bfbbdfdf77e5f52bdef3bc9ab387590f2d02ed7f039ab49b15127b9a09430b0a9cfadde04cdb70668812d68ed4279dce3fceee6183d469e0ff4b37f43bff60cb SHA512 36403f81c06c4d7bb76058bae6a4e5c94d3c134f9b6ff9ec4b9f8ab9437195f0e2e2c2770cea4d765a182a0b2fdfc4b7fc4343fa5170af5720343d3fe0302e02
-DIST OpenJDK17U-jdk_arm_linux_hotspot_17.0.3_7.tar.gz 188309462 BLAKE2B e47b98ebcb661631732e3238ce3cd1630a0a2103d7e32beabb49d1a0ff216c34c0c39fac11a848474a36dd2c98f6724c58900e3026d04cb7e4f7f00adbe1fe18 SHA512 9158821b22633177866ac0a5c4ffd774d2d750adea2de2adce661060ab7d28cf67fc703eb9e0e200149fa03eb040a05dc45ac944dacd140e0d0fa06515584795
-DIST OpenJDK17U-jdk_arm_linux_hotspot_17.0.4.1_1.tar.gz 187944772 BLAKE2B 6e04360ff4abec1bb76d5e73bc21716a935224ccd799ab4ee09f989a996ba4684677cd28545f90ef9a5d53e1ecb46a0e1d641c6c41aa93f74992b53cc19ece5e SHA512 850a0241ee1c67b5f8c2350432de82d3d264015cad7455f98d392b5bf32bc0b44aeaf1fc9b42035a2a13f157f57e833667329970e61f4626b88bbb4fcfd39482
-DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.3_7.tar.gz 190898839 BLAKE2B b5188190ab30393ff789724ca99ce89232d8a4d81c22205111da4cc60cc258fe5bee47a5550cf032937542d7fb677af0de9aebbe39fe20b4af223a6d7d3211e5 SHA512 e1f1ade72f12c21eef9d34d05e2a4a8228320138d0c626c4eb31431ac9d5e5123ec8ef24c168005e3bb3508537c826399122461a0ce8de1310ccab40d8d21145
-DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.4.1_1.tar.gz 190474121 BLAKE2B ac8b741cf29816960de615999d5030f03677fc3a370c0c430d408802535cbbb2b304aa18d036529d29c1939c2d43ff84bdddeb15dde5a22bbda7c807ddc900db SHA512 04c9182fc503369b7dcf53729e3c5e7f16828477e168d279806c7968482588ee5a04b1c31407c2baa1c1d24468592e1e416a9ea2115391113b83e792457e31b1
-DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.3_7.tar.gz 191298712 BLAKE2B abcb97374d38cb7457139865617d7570627d390c0db47ed572048dbb9f35b7cf6cf1a7d973684607ce3f7477f9b03b85ba43b8b4447b04f9fe1bfe419a18d190 SHA512 4e69597c134f37db83b44fd86e13c25ded20d8a1b2d8e959b6ddee29e5cc8c2a7bfd449636399f2d7bf030d93b2a29236e614a1578f9bbd37ca7e12249dc80bc
-DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.4.1_1.tar.gz 190514211 BLAKE2B 07f802438dffcd54b07ea5342ee78fcfecaf51bac90666aadce34c871f25df6e21a30565e17952dd13fc5da9f032eaa931b66a725f416c98bcbcad0a1d584ad0 SHA512 927a83458e89ff8acd82a443cfe08d6cd93e73bec3311661d2bd4e09eba151088e0d1f40206f50c681586d6629a02c4549fc97df043edacb255e841ea17c83f4
-DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.3_7.tar.gz 191514138 BLAKE2B 3e2d64cdf15c63f2f50148576bc8ed085ec808a28a07113910f7b04c5729a1a56840751da627d8012751a7b533f6730c3a9bb99914382caf82f63e5a65dad40a SHA512 144f1e1c0f9558bd0be0536b48b89081579d1232d75c00fcfb7be2460475a4eaf3a6ae89007e683fd6148b4ebf33c2d9492419db96090e07f4ae52afc71df861
-DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.4.1_1.tar.gz 191174859 BLAKE2B e6552e71279ca4a6d04a6e6d5a1707720fa7900c03fb31e312dfacf44d4dd699f657fe2f672881783a1918bac1598a99b4c56d90bb42b2c28a75762ea647f2c3 SHA512 db61842d4482da4fd5b86aee5b1c7f7c28218a58d73850513f272153a1ab09374462cd0d6f631b69f30204e5cfaca44357fa481dc4ebc67a50eda5b71a761082
-DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.3_7.tar.gz 187277835 BLAKE2B 2a6766ae47281222a570485bbb67b10b78b2d17399a2fd76e254be3d30808a09002fe6fcf5814be044c4a95c3f791af4b45df9320cea5ec212f9db38329b1630 SHA512 00cb5c5628ef2fcbc44ffcb2f81b8cae8c57107df8c456b4f3bf6897269daebdbd9ce0fe78af686cebedbd2426fa85095b198d47578828404a1b046eb0cbca60
-DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.4.1_1.tar.gz 186906753 BLAKE2B e86da7cb28aa43fde9ab947fbe886ed2ce4985d15a3aabf846f5bfc647203fe330f5333c9a7bf30936b2b566424c695c83b246baeda10b32de1b59a118414fb4 SHA512 b4911f006af320acf7ce18ae981a3a29d72d6fc1190bf4a0cd47f389d415de4980f65a0007a7cdcd8f15b7434b2e0e772acf4dcb3b76daa32841c7b4016e9458
-DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u332b09.tar.gz 102003248 BLAKE2B 75eb1dc4e09f868ca1a5f0ccc275e36992414e250c2815ab2a6e879942dfdd57a069d6d2cc79aee967c8d2077cecef6d65285cf870e70d22aebef607e906dbec SHA512 cf716f9a614932ccffeb8a7a2ee3a2f10543b31b8f6953933ba4785f386873fe00fee69061c70c26b55a6db13f26ba529f9953d7f3fce9b42172fe3b4e0eee52
-DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u345b01.tar.gz 102022940 BLAKE2B 40b14e0399de76c6dd2bdc9cd6b3aba7d62cddbb636a2b11a905dc432b0aa91ad62d415203f3f83c0ba82c3667f83a485ec57e71077c26c8eaf35c0f08edd713 SHA512 d932f0a0101fdce350e48a4a79754477478b6c345bdd66bd63be53a10fe6e613b89028d4ebb03d48e85284d5a1caca7f128690765e91968e01420f5fbc08ce48
-DIST OpenJDK8U-jdk_arm_linux_hotspot_8u332b09.tar.gz 98261468 BLAKE2B 7fe2b5c6178af88ebf390352f67acca7216af23d6015beb8e94215d1af82b41c2b8e8790c00b5fbf363837a98ddb051a6ebede5fe78f471f09331c1014bd85ec SHA512 17c9bdc892dc479bd7c5bef2ab3a6637cc499e1c257d6ddd541e7f372d6737d644920538e0c39e8aa7c905f0f1172429cc171d608bd337e872be7b399733b25e
-DIST OpenJDK8U-jdk_arm_linux_hotspot_8u345b01.tar.gz 98273349 BLAKE2B 71556f01bcd6f513af963fc9c9b2269460faa9f23ad85429fefddc169038aa1c98fb505184aa216f08b96a31d5d8e10d831ef65d7f9dba9499783eafca08b824 SHA512 8e9a5155cd8f769c25b79863ccfa8956cfd252278eca7f105d7179cca9ec2035580d959a5662aa263d852699000478344fab816301a809961cb2d1d5ccaed758
-DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u332b09.tar.gz 100484069 BLAKE2B 7e3b0186947f19094d88140304e756b7b2728560299f330c84ed8f9ac77c40fb046c2731d22c5d30e5d2837b878caccb19e8f1174f272c2fb29905db15500640 SHA512 adcfa446254c7de8b80f040e7f9960625c0314dabc8b457dee9d95216050f9aedc0c59528c29f7f1bc950c3ed0b713f3234dd9f9fb2a5bab7e706dbdb2eef42d
-DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u345b01.tar.gz 100474631 BLAKE2B 32c98c9b0c97b427b880589c26002fa67f90980b099090a8b43a0c4b3d71319617126b55da7102abe9d15b0b3569fdd7f4288936607258a278fe805e875d469e SHA512 37501b2c3ebe224404c34a847ed643a95ebf85aa6b8412bc3405ff3afdbecb9a69b2324b774d96d9cb5ba44170d84f6ac0026ea66c1074c13ef06c330952c9fb
-DIST OpenJDK8U-jdk_x64_linux_hotspot_8u332b09.tar.gz 102918585 BLAKE2B 55d7ef116ee28f37ab1a96cb8ffe021d1784b208ad248e78d6f0a7f22429364364e00ef17fe6159fac2fde6a0765a20125db6ce17694992dbc9e3b3e054adddf SHA512 9f387fb8b872b65fc6a545151c185b9ad1aaac7ad7cffac4d2b936dedbca116a7d74e56754353ffa4caed394497ca659852f0e5e3803ead10f8fa95d562e28a8
-DIST OpenJDK8U-jdk_x64_linux_hotspot_8u345b01.tar.gz 102925260 BLAKE2B ce4e79c98f5f3b2119fafd0ad43ca64bc823ff9adf20cd76e4e8c0de34ddc11cce7311d0ffc1cdcaab70632b3c18dca5b57c916a01230b22fcc74c4e8e08e3c9 SHA512 92bafba262a269ec3be7d83d8ca36468ad69d850d44b373c04c92a14c74a9aa89314f2aa68a6565c41b302c60fb8d19f1cf0f3075924a497e8be05e8a08ce95d
-DIST OpenJDK8U-jdk_x64_mac_hotspot_8u332b09.tar.gz 107924497 BLAKE2B f1f283b33f2e81a15f6ba01b7c2c63093b8a12dd0c9853ff9a2cea8d5352b6994266e8653135574f59a24da7294e602c5dd2fb3524065aa53e21b8313d3b0d33 SHA512 c7474e6a81d9e44e7c48388917de87733bfcb13c99a6d253ba180ac8b826ec79f1871d57dcc3e2edb4929f2687541156770c7568162a95389cdf1606d8e65397
-DIST OpenJDK8U-jdk_x64_mac_hotspot_8u345b01.tar.gz 107934646 BLAKE2B 766fc30b428283a5c4bebad76043e0d6fbdc31c747a09ce4f9440ef1493b4127dd7c0a9d0bf04ca0a6fe9215556224d157355b7cf14e685ed3791b6ca5d226fc SHA512 3a70f6587c858b675adce10063197fa97683157b4e3506dcae2649edeffe32ff8914bddee63a6856c3390c91f97fb79a11ed799f95a73526f48fb96cb92be26b
+DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.22_7.tar.gz 191713436 BLAKE2B 2d0381ca8dc4bdc07330f79c7e290bdb60a28fe21122d4db1810dc036e7213071d327470b20361db1435fe2d5492e7d3815f3e244597d3d76a9f7894b515783f SHA512 a0772607ede5642051446dc742180fd4e42fbe78602eb3b874b00930ea4ba19eefdcf6a130f378b6cc7dde414a3db2259edb1ad570da4a7951a73bebc5a90b9b
+DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.22_7.tar.gz 182591395 BLAKE2B 858c6033c161dfe6c1475037bce5d538ca7b95b95b65a75edff03d0292e64d1ac2e3c2ed008b52938d9811e35a94ed694df2801605b55d6732c6c1c1b68b547b SHA512 aa0be475706f6cca490ff81389e131fb512efaa948d722b108a7060355af77134210c2509711f9c8bf4d32130cba813dc460c093d831ac8de539571ab3d08f20
+DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.22_7.tar.gz 177146946 BLAKE2B 2e285abcde91eb578c88e81c6a737d6c6e00d58001325eaed7fd332d4d42588779192ae73f3de598cf725c9cd08860ff3a0db29f7fae54a6a404cbdf0db0b2ad SHA512 6288e599a54f1e2e02dd0eef5f0aae051ae8b15ed30e924c7018ac52d2eeb2572934557b7e722df7f704568656c8a8f93797dd2e86fdc3f0f32ffd004f803419
+DIST OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.22_7.tar.gz 193744131 BLAKE2B 2cdbf676ecc860dd8ec13d959f9f63537e4b14feb0627cc360602a377c8a7193a2db67cb71f462939ab252f2ff3be1b46a15c25a7c1c1f1632254b1ea09eeef9 SHA512 81dabded0d6cee459ade96992d4002910448aa5fa091fd1b6c376a585c382d449bc63f5e51ba0c21e5fdd81f3e1d58e1d27f0b6016daca775644610087f3b090
+DIST OpenJDK11U-jdk_x64_linux_hotspot_11.0.22_7.tar.gz 195002045 BLAKE2B 1898bcc1c1d97668238a13c70226b14f325a7c5be55f393ce2e6373fa0764a38633511a485257d05e173670e20b8c0195fb63d7143f41a1296556e5d59a8fe00 SHA512 00d75269a88c3d879907408f76ca1ee5a1ed48914e1ac27fa4faadf66a12fbccd6235d23be6c0d096a508c6ed996884ff2fe206290c061c2542835050476cfa5
+DIST OpenJDK11U-jdk_x64_mac_hotspot_11.0.22_7.tar.gz 187409838 BLAKE2B edbbb534fad7d6b50c79253d7c8bc1369f413fd1748a4f160003db2e01d8b907c115a5a3815de85e25a16c74bf0d316cccf7e0a508a488c51c476511876d5d54 SHA512 3371785f6bcc27dea59b074798795c91f3a0fc2241ea24d9e04bdb98fd77ebc1ccb058d1b34ea56660a7bac92e60192396a9d8b85b8983f1617bddf50d118276
+DIST OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.10_7.tar.gz 190867185 BLAKE2B dfac2c4383af080b8101e73d141f6ecaf38f44a0b8e88fddf8e33eb0454fccb22075e00a8eb3031c33a0d63a079da634b128766f4ab4fed70c8da999c8f8a568 SHA512 74447bacae664b5a1a420605d1c3b68a7be8deb230cc08700b23bb159ef10acb613595505f711906aa132aec2a25d5151f178cd9982d0d254a4d31a7396b4aef
+DIST OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.10_7.tar.gz 178168341 BLAKE2B 425cac786cd7bd758d40ad76bdfc96969e2ca2b1ecf20c449a7e42b77020881f7c7414099b7ff9df482ce4698c680af4d819a928efb4e4608c54266412fcb2f5 SHA512 006773423fa46d61d1111a74bf1a41d50cb419d4a2855d0257a11282f9ab966a59e6bf22044b46d3a29041c37942f2f69780ee38002e8443da2bd40543ce0948
+DIST OpenJDK17U-jdk_arm_linux_hotspot_17.0.10_7.tar.gz 189087918 BLAKE2B e8c70966cd362ac26e748c4efb16bbe3816d27bbec5d3b2448b77bc07f8f17b6c77dd7cddcccd1256e621db93653e3aed2ebf1f895606023b00fdf3a98232b57 SHA512 17d540bfa9fd458fb214dc550df4bd1bd563630712b23549d61182d3c5dcf39cf016510b2318655e9bff594e40b960d7754200ba6184ea23bab40ed2d8e9c06f
+DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.10_7.tar.gz 191584458 BLAKE2B 77ad2b213ee0957afdf6c204b2c987f568f62071ef282b8eb44d041980e44d5b964e4403324555f98caccd8736278ede2b486a4647ffbe669d4a285d19bf6507 SHA512 f808ad1d20ec025925653f6fe4566d6075c242b0f60f3dca3d0b46ec309ff3dd30637b9d2d2937b0fd2dff5a3ffd9e675766ea56a6bccc00a991266101d63db0
+DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.10_7.tar.gz 191453728 BLAKE2B 61e54448c7540f43c11ec55ffffe07ba43bbb60bcbc2acd07a3a06562ffbf7bd5b25c2a91540ead82978c43ef30ac2adbae1554d0718156b28bb34d46882020a SHA512 b7eded9bef2bbfa38b6350914df472e10daf82600af8090b59ce01cd0d2e6efd02f0bf28920cbcd3f7da2018e5642d8e5a282337ad969c8b9a8c35c0ae4890d3
+DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz 192205930 BLAKE2B 1c1ae9515a273ff7d7d4ef806fcb6d101e127f224912626982fbe848375f240bfca69815173b65c8c3ecc7019bb681ef43665bf3fe82d5c4333da057a35c976d SHA512 fcbb1bc62d484a8b851ea22d725921f72a4ce7ace33c1db737e7294aac17b74cd7ae9a366cac09d328be66e742916f0191fafaf531641610e652d24390df591a
+DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.10_7.tar.gz 180364858 BLAKE2B ded64698ee98c051b4f2bdbf7d30eb27bbc5418742306bd07fe87b0cf7cc579adc553bc2a16f8b15d2fe1950b463195ca3f3d414494491435fca052faedb8bf8 SHA512 4c199bbf2584d4a360caced88bb6f297417469334d3a3007f5a172f2fd3a41a492968fc0ad32a4f8424e4d6712d01060aef2531957edccc100f6cb58bbfce000
+DIST OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.2_13.tar.gz 206857501 BLAKE2B 108d924b2f41d179ece7678a18b5805b76eb187608c4a698bd77d21a5db7956f0aad34764addb507846c11e41af576c0e99c578325db9f2f5aebed02b0bff4e8 SHA512 a41a31915ea64cbdae4e9b81057df579d8456a5ca5e224497e862dbb207275f9d84dd91d9c9cce4d81b03d21d3d4305e3276d064ec1e32b6d1f272f157c82f56
+DIST OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.2_13.tar.gz 208115806 BLAKE2B 1462c0cc0488d02109035b06e17c68d5ee21c62b8565e214f91980af8f1bd0e689c439fb546d3e9556b6df42b545c6d349601cf1bbed77c175dc7d5b1b8e0959 SHA512 7991d8779aea00f9016a37dd290b3b4bd5189201cd87425fd337f346907887a61e7030d4180cb3d60af3f5f478135bec1698235c0ef2c2b2cac73a4e1d1b630b
+DIST OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.2_13.tar.gz 207838511 BLAKE2B 1c2dd157fadd7d8ab0660dd181de223431fdcb5f4ca201ba3c827bd044c435d8ffd059600f38b378984bb002f03403c16addf999ace7128a426b0948ce9b4971 SHA512 1b2f58c224bb6fde53a4e5d2693d881ce61b47ac36ff735558fb38a8d30e4826fec046048d3681ce18e1c63a60e1f999b8f474ac6794dd1197bd88926df3d0ca
+DIST OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz 208796351 BLAKE2B 64741e3e58c08424ba6c7f46af42e391e3172a83415fc346b22ac92c9eeb6f1b42bc02d6392f9ceaa449d4266ed58872600f6cfecf622739f7496676caeebcda SHA512 691ec4d447933c59696944cdb5d5de86fc1332b2c730dc6624f546c0d30456cb3583d53f38d7531f69195e807092c1d03d923d73d5e6883185cae935db1ed7ce
+DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u402b06.tar.gz 102121884 BLAKE2B 78d6cb02f1c264eeb47f0ed7c6ea63cb0923119fb718be4f493423e9ef16546d810fadae82321fd1465528375383f0a65c6fe1a0bb091829ad14a9fc1f91296c SHA512 3a1bb7f684032d6130006597d1665ff063490a155bcbe720bb9cb94ff0368df1d86646923dad8965e6cecc12d05618e348f1b9d260a9fab3b9fb275c3350cf91
+DIST OpenJDK8U-jdk_arm_linux_hotspot_8u402b06.tar.gz 98319479 BLAKE2B 6b59e92767566e8abf7bd360f6b0b543ceb514c3b1677ef1610596998390dba74e54cd673cff764677c11316f88ab05fe0080549ab063eec5bf42ac6f97343af SHA512 6595b35a5d883d17de56fcac638a4936397e01c2a132269ce66e325a8cb0fc6b437ab16062c1decaf5a93b6597e72034e2aef1ddbe5442f23575f31504a3767c
+DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u402b06.tar.gz 100525497 BLAKE2B b3ca75fd946ea70dd8fcbc444b361e02b3249144795b0d2786892e6ec668802ae3b2f082fabe1d9e91e5db5877d6774f5c56f5fc382b38e739070e54e95bdca5 SHA512 e00df5042f7f813153689e33e7e64b23efbe2b64d8a11e60072f50f0ba38a61cf66214c535d75175f9ed99f67c22857ccc36d62c9c34962a7385e4b9c880c5d0
+DIST OpenJDK8U-jdk_x64_alpine-linux_hotspot_8u402b06.tar.gz 100908305 BLAKE2B 3beb70ed7c99f80fb338fd8580f6b6ee9a4af0d7034abff59c0f8d42255fe83a3e9b9847d82dd4bb793439a64dc9d5fcc2d407f4bfd09625bf8be3ad92bf0e5f SHA512 e5563646a505923c1f2342a884c94e24c06de14dd6da21c3cb010bcf1e4c481ff7cdbae8cecfb70bf52a4c5d23a9fa87e38b1c7b8b84f99b0a8b3e8ca25242aa
+DIST OpenJDK8U-jdk_x64_linux_hotspot_8u402b06.tar.gz 103003119 BLAKE2B c97a924fe236ec0ad30eb70fb9ad2bea19065a22622d68dabb86be02eccdb30707bc00af98f46246fc8242f0bff4be8d5becfd32bf6cb015dd443d94e2722489 SHA512 22259ee3d98ed49e38f7c78efc200f72ee1fe5c02830e79061d16cc634df3276d1e17a113354bfd3d575ebf3b56e128848d03ae3dd5c06cc1954e33ad395b9e9
+DIST OpenJDK8U-jdk_x64_mac_hotspot_8u402b06.tar.gz 109474943 BLAKE2B e277cf06d893aa75f9aee91894fa6177c52fa556128614b80755af3c1bb16036daf972b4267c5c02d6e187c6bd52713eeeffd93e23f8d7a2897ad01149e8545c SHA512 718a120a1c6a861cba900ad267f646177e1b56d9646068121341ae9ce52a9ae9a20afa173d85c4870d539105f94b75685108c019da84bd23e973ce80e2356841
diff --git a/dev-java/openjdk-bin/metadata.xml b/dev-java/openjdk-bin/metadata.xml
index 37e5947f7cf2..7adf9448bc9e 100644
--- a/dev-java/openjdk-bin/metadata.xml
+++ b/dev-java/openjdk-bin/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
@@ -16,7 +12,6 @@
</longdescription>
<use>
<flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs (used to be X flag)</flag>
- <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
<flag name="source">Install JVM sources</flag>
</use>
</pkgmetadata>
diff --git a/dev-java/openjdk-bin/openjdk-bin-11.0.15_p10.ebuild b/dev-java/openjdk-bin/openjdk-bin-11.0.15_p10.ebuild
deleted file mode 100644
index eb2458b279a2..000000000000
--- a/dev-java/openjdk-bin/openjdk-bin-11.0.15_p10.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2 toolchain-funcs
-
-abi_uri() {
- local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
- local musl=
- local os=linux
-
- case ${2} in
- *-macos) os=mac ;;
- *-solaris) os=solaris ;;
- esac
-
- if [[ ${3} == musl ]]; then
- os=alpine-linux
- musl=true
- fi
-
- echo "${2-$1}? (
- ${musl:+ elibc_musl? ( }
- ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
- ${musl:+ ) } )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=$(ver_cut 1)
-
-SRC_URI="
- $(abi_uri arm)
- $(abi_uri aarch64 arm64)
- $(abi_uri x64 amd64)
- $(abi_uri x64 amd64 musl)
- $(abi_uri ppc64le ppc64)
- $(abi_uri x64 x64-macos)
-"
-
-DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x64-macos"
-IUSE="alsa cups headless-awt selinux source"
-
-RDEPEND="
- >=sys-apps/baselayout-java-0.1.0-r1
- kernel_linux? (
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- media-libs/harfbuzz
- elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
- elibc_musl? ( sys-libs/musl )
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-src_unpack() {
- default
- if [[ ${A} == *_mac_* ]] ; then
- mv -v "${S}/Contents/Home/"* "${S}" || die
- rm -Rf "${S}/Contents" # drop macOS executable
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- # on macOS if they would exist they would be called .dylib, but most
- # importantly, there are no different providers, so everything
- # that's shipped works.
- if [[ ${A} != *_mac_* ]] ; then
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # prefer system copy # https://bugs.gentoo.org/776676
- rm -vf lib/libharfbuzz.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-bin/openjdk-bin-11.0.16.1_p1.ebuild b/dev-java/openjdk-bin/openjdk-bin-11.0.16.1_p1.ebuild
deleted file mode 100644
index 1e11ae065419..000000000000
--- a/dev-java/openjdk-bin/openjdk-bin-11.0.16.1_p1.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2 toolchain-funcs
-
-abi_uri() {
- local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
- local musl=
- local os=linux
-
- case ${2} in
- *-macos) os=mac ;;
- *-solaris) os=solaris ;;
- esac
-
- if [[ ${3} == musl ]]; then
- os=alpine-linux
- musl=true
- fi
-
- echo "${2-$1}? (
- ${musl:+ elibc_musl? ( }
- ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
- ${musl:+ ) } )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=$(ver_cut 1)
-
-SRC_URI="
- $(abi_uri arm)
- $(abi_uri aarch64 arm64)
- $(abi_uri x64 amd64)
- $(abi_uri x64 amd64 musl)
- $(abi_uri ppc64le ppc64)
- $(abi_uri x64 x64-macos)
-"
-
-DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
-IUSE="alsa cups headless-awt selinux source"
-
-RDEPEND="
- >=sys-apps/baselayout-java-0.1.0-r1
- kernel_linux? (
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- media-libs/harfbuzz
- elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
- elibc_musl? ( sys-libs/musl )
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-src_unpack() {
- default
- if [[ ${A} == *_mac_* ]] ; then
- mv -v "${S}/Contents/Home/"* "${S}" || die
- rm -Rf "${S}/Contents" # drop macOS executable
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- # on macOS if they would exist they would be called .dylib, but most
- # importantly, there are no different providers, so everything
- # that's shipped works.
- if [[ ${A} != *_mac_* ]] ; then
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # prefer system copy # https://bugs.gentoo.org/776676
- rm -vf lib/libharfbuzz.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-bin/openjdk-bin-11.0.22_p7.ebuild b/dev-java/openjdk-bin/openjdk-bin-11.0.22_p7.ebuild
new file mode 100644
index 000000000000..879465da18c0
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-11.0.22_p7.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2 toolchain-funcs
+
+abi_uri() {
+ local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
+ local musl=
+ local os=linux
+
+ case ${2} in
+ *-macos) os=mac ;;
+ *-solaris) os=solaris ;;
+ esac
+
+ if [[ ${3} == musl ]]; then
+ os=alpine-linux
+ musl=true
+ fi
+
+ echo "${2-$1}? (
+ ${musl:+ elibc_musl? ( }
+ ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
+ ${musl:+ ) } )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=$(ver_cut 1)
+
+SRC_URI="
+ $(abi_uri aarch64 arm64)
+ $(abi_uri arm)
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+ $(abi_uri x64 x64-macos)
+ $(abi_uri x64 amd64 musl)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~x64-macos"
+IUSE="alsa cups headless-awt selinux source"
+
+RDEPEND="
+ >=sys-apps/baselayout-java-0.1.0-r1
+ kernel_linux? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ media-libs/harfbuzz
+ elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
+ elibc_musl? ( sys-libs/musl )
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]]; then
+ die "These binaries require a hardfloat system."
+ fi
+}
+
+src_unpack() {
+ default
+ if [[ ${A} == *_mac_* ]] ; then
+ mv -v "${S}/Contents/Home/"* "${S}" || die
+ rm -Rf "${S}/Contents" # drop macOS executable
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}/${dest#/}"
+
+ # on macOS if they would exist they would be called .dylib, but most
+ # importantly, there are no different providers, so everything
+ # that's shipped works.
+ if [[ ${A} != *_mac_* ]] ; then
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # prefer system copy # https://bugs.gentoo.org/776676
+ rm -vf lib/libharfbuzz.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk-bin/openjdk-bin-17.0.10_p7.ebuild b/dev-java/openjdk-bin/openjdk-bin-17.0.10_p7.ebuild
new file mode 100644
index 000000000000..43345bca275a
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-17.0.10_p7.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2 toolchain-funcs
+
+abi_uri() {
+ local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
+ local musl=
+ local os=linux
+
+ case ${2} in
+ *-macos) os=mac ;;
+ *-solaris) os=solaris ;;
+ esac
+
+ if [[ ${3} == musl ]]; then
+ os=alpine-linux
+ musl=true
+ fi
+
+ echo "${2-$1}? (
+ ${musl:+ elibc_musl? ( }
+ ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
+ ${musl:+ ) } )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=$(ver_cut 1)
+
+SRC_URI="
+ $(abi_uri aarch64 arm64)
+ $(abi_uri aarch64 arm64-macos)
+ $(abi_uri arm)
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+ $(abi_uri x64 amd64 musl)
+ $(abi_uri x64 x64-macos)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~x64-macos"
+IUSE="alsa cups headless-awt selinux source"
+
+RDEPEND="
+ >=sys-apps/baselayout-java-0.1.0-r1
+ kernel_linux? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ media-libs/harfbuzz
+ elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
+ elibc_musl? ( sys-libs/musl )
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]]; then
+ die "These binaries require a hardfloat system."
+ fi
+}
+
+src_unpack() {
+ default
+ if [[ ${A} == *_mac_* ]] ; then
+ mv -v "${S}/Contents/Home/"* "${S}" || die
+ rm -Rf "${S}/Contents" # drop macOS executable
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}/${dest#/}"
+
+ # on macOS if they would exist they would be called .dylib, but most
+ # importantly, there are no different providers, so everything
+ # that's shipped works.
+ if [[ ${A} != *_mac_* ]] ; then
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # prefer system copy # https://bugs.gentoo.org/776676
+ rm -vf lib/libharfbuzz.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk-bin/openjdk-bin-17.0.3_p7.ebuild b/dev-java/openjdk-bin/openjdk-bin-17.0.3_p7.ebuild
deleted file mode 100644
index bba49ad388a3..000000000000
--- a/dev-java/openjdk-bin/openjdk-bin-17.0.3_p7.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2 toolchain-funcs
-
-abi_uri() {
- local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
- local musl=
- local os=linux
-
- case ${2} in
- *-macos) os=mac ;;
- *-solaris) os=solaris ;;
- esac
-
- if [[ ${3} == musl ]]; then
- os=alpine-linux
- musl=true
- fi
-
- echo "${2-$1}? (
- ${musl:+ elibc_musl? ( }
- ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
- ${musl:+ ) } )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=$(ver_cut 1)
-
-SRC_URI="
- $(abi_uri aarch64 arm64)
- $(abi_uri arm)
- $(abi_uri x64 amd64)
- $(abi_uri x64 amd64 musl)
- $(abi_uri aarch64 arm64-macos)
- $(abi_uri ppc64le ppc64)
- $(abi_uri x64 x64-macos)
-"
-
-DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x64-macos"
-IUSE="alsa cups +gentoo-vm headless-awt selinux source"
-
-RDEPEND="
- >=sys-apps/baselayout-java-0.1.0-r1
- kernel_linux? (
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- media-libs/harfbuzz
- elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
- elibc_musl? ( sys-libs/musl )
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-src_unpack() {
- default
- if [[ ${A} == *_mac_* ]] ; then
- mv -v "${S}/Contents/Home/"* "${S}" || die
- rm -Rf "${S}/Contents" # drop macOS executable
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- # on macOS if they would exist they would be called .dylib, but most
- # importantly, there are no different providers, so everything
- # that's shipped works.
- if [[ ${A} != *_mac_* ]] ; then
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # prefer system copy # https://bugs.gentoo.org/776676
- rm -vf lib/libharfbuzz.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-bin/openjdk-bin-17.0.4.1_p1.ebuild b/dev-java/openjdk-bin/openjdk-bin-17.0.4.1_p1.ebuild
deleted file mode 100644
index 10cf917bc189..000000000000
--- a/dev-java/openjdk-bin/openjdk-bin-17.0.4.1_p1.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2 toolchain-funcs
-
-abi_uri() {
- local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
- local musl=
- local os=linux
-
- case ${2} in
- *-macos) os=mac ;;
- *-solaris) os=solaris ;;
- esac
-
- if [[ ${3} == musl ]]; then
- os=alpine-linux
- musl=true
- fi
-
- echo "${2-$1}? (
- ${musl:+ elibc_musl? ( }
- ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
- ${musl:+ ) } )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=$(ver_cut 1)
-
-SRC_URI="
- $(abi_uri aarch64 arm64)
- $(abi_uri arm)
- $(abi_uri x64 amd64)
- $(abi_uri x64 amd64 musl)
- $(abi_uri aarch64 arm64-macos)
- $(abi_uri ppc64le ppc64)
- $(abi_uri x64 x64-macos)
-"
-
-DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
-IUSE="alsa cups headless-awt selinux source"
-
-RDEPEND="
- >=sys-apps/baselayout-java-0.1.0-r1
- kernel_linux? (
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- media-libs/harfbuzz
- elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
- elibc_musl? ( sys-libs/musl )
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-src_unpack() {
- default
- if [[ ${A} == *_mac_* ]] ; then
- mv -v "${S}/Contents/Home/"* "${S}" || die
- rm -Rf "${S}/Contents" # drop macOS executable
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- # on macOS if they would exist they would be called .dylib, but most
- # importantly, there are no different providers, so everything
- # that's shipped works.
- if [[ ${A} != *_mac_* ]] ; then
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # prefer system copy # https://bugs.gentoo.org/776676
- rm -vf lib/libharfbuzz.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-bin/openjdk-bin-21.0.2_p13.ebuild b/dev-java/openjdk-bin/openjdk-bin-21.0.2_p13.ebuild
new file mode 100644
index 000000000000..c45432f5aea4
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-21.0.2_p13.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2 toolchain-funcs
+
+abi_uri() {
+ local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
+ local musl=
+ local os=linux
+
+ case ${2} in
+ *-macos) os=mac ;;
+ *-solaris) os=solaris ;;
+ esac
+
+ if [[ ${3} == musl ]]; then
+ os=alpine-linux
+ musl=true
+ fi
+
+ echo "${2-$1}? (
+ ${musl:+ elibc_musl? ( }
+ ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
+ ${musl:+ ) } )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=$(ver_cut 1)
+
+SRC_URI="
+ $(abi_uri aarch64 arm64)
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+ $(abi_uri x64 amd64 musl)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="alsa cups headless-awt selinux source"
+
+RDEPEND="
+ >=sys-apps/baselayout-java-0.1.0-r1
+ kernel_linux? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ media-libs/harfbuzz
+ elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
+ elibc_musl? ( sys-libs/musl )
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]]; then
+ die "These binaries require a hardfloat system."
+ fi
+}
+
+src_unpack() {
+ default
+ if [[ ${A} == *_mac_* ]] ; then
+ mv -v "${S}/Contents/Home/"* "${S}" || die
+ rm -Rf "${S}/Contents" # drop macOS executable
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}/${dest#/}"
+
+ # on macOS if they would exist they would be called .dylib, but most
+ # importantly, there are no different providers, so everything
+ # that's shipped works.
+ if [[ ${A} != *_mac_* ]] ; then
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # prefer system copy # https://bugs.gentoo.org/776676
+ rm -vf lib/libharfbuzz.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk-bin/openjdk-bin-8.332_p09.ebuild b/dev-java/openjdk-bin/openjdk-bin-8.332_p09.ebuild
deleted file mode 100644
index aad1888ca56b..000000000000
--- a/dev-java/openjdk-bin/openjdk-bin-8.332_p09.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- local os=linux
- case ${2} in
- *-macos) os=mac ;;
- *-solaris) os=solaris ;;
- esac
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jdk_${1}_${os}_hotspot_${3-${MY_PV/-/}}.tar.gz
- )"
-}
-
-# they have different tarball names for different arches...
-# https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u282b08.tar.gz
-# https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_aarch64_linux_hotspot_jdk8u282-b08.tar.gz
-
-MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
-SLOT=$(ver_cut 1)
-
-DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-SRC_URI="
- $(abi_uri arm)
- $(abi_uri aarch64 arm64)
- $(abi_uri ppc64le ppc64)
- $(abi_uri x64 amd64)
- $(abi_uri x64 x64-macos)
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x64-macos"
-
-IUSE="alsa cups examples headless-awt selinux source"
-
-RDEPEND="
- >=sys-apps/baselayout-java-0.1.0-r1
- kernel_linux? (
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- arm? ( dev-libs/libffi-compat:6 )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- )
-"
-
-RESTRICT="preserve-libs strip"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk${MY_PV}"
-
-src_unpack() {
- default
- # 753575
- if use arm; then
- mv -v "${S}"* "${S}" || die
- elif [[ ${A} == *_mac_* ]] ; then
- mv -v "${S}/Contents/Home/"* "${S}" || die
- rm -Rf "${S}/Contents" # drop macOS executable
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
-
- # on macOS if they would exist they would be called .dylib, but most
- # importantly, there are no different providers, so everything
- # that's shipped works.
- if [[ ${A} != *_mac_* ]] ; then
- # this does not exist on arm64 hence -f
- rm -fv jre/lib/*/libfreetype.so* || die
-
- if ! use alsa ; then
- rm -v jre/lib/*/libjsoundalsa.so* || die
- fi
-
- if ! use examples ; then
- rm -vr sample || die
- fi
-
- if use headless-awt ; then
- rm -fvr {,jre/}lib/*/lib*{[jx]awt,splashscreen}* \
- {,jre/}bin/policytool bin/appletviewer || die
- fi
- fi
-
- if ! use source ; then
- rm -v src.zip || die
- fi
-
- rm -v jre/lib/security/cacerts || die
- dosym ../../../../../etc/ssl/certs/java/cacerts \
- "${dest}"/jre/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
diff --git a/dev-java/openjdk-bin/openjdk-bin-8.345_p01.ebuild b/dev-java/openjdk-bin/openjdk-bin-8.345_p01.ebuild
deleted file mode 100644
index 7834a4a17075..000000000000
--- a/dev-java/openjdk-bin/openjdk-bin-8.345_p01.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- local os=linux
- case ${2} in
- *-macos) os=mac ;;
- *-solaris) os=solaris ;;
- esac
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jdk_${1}_${os}_hotspot_${3-${MY_PV/-/}}.tar.gz
- )"
-}
-
-# they have different tarball names for different arches...
-# https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u282b08.tar.gz
-# https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_aarch64_linux_hotspot_jdk8u282-b08.tar.gz
-
-MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
-SLOT=$(ver_cut 1)
-
-DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-SRC_URI="
- $(abi_uri arm)
- $(abi_uri aarch64 arm64)
- $(abi_uri ppc64le ppc64)
- $(abi_uri x64 amd64)
- $(abi_uri x64 x64-macos)
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
-
-IUSE="alsa cups examples headless-awt selinux source"
-
-RDEPEND="
- >=sys-apps/baselayout-java-0.1.0-r1
- kernel_linux? (
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- arm? ( dev-libs/libffi-compat:6 )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- )
-"
-
-RESTRICT="preserve-libs strip"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk${MY_PV}"
-
-src_unpack() {
- default
- # 753575
- if use arm; then
- mv -v "${S}"* "${S}" || die
- elif [[ ${A} == *_mac_* ]] ; then
- mv -v "${S}/Contents/Home/"* "${S}" || die
- rm -Rf "${S}/Contents" # drop macOS executable
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
-
- # on macOS if they would exist they would be called .dylib, but most
- # importantly, there are no different providers, so everything
- # that's shipped works.
- if [[ ${A} != *_mac_* ]] ; then
- # this does not exist on arm64 hence -f
- rm -fv jre/lib/*/libfreetype.so* || die
-
- if ! use alsa ; then
- rm -v jre/lib/*/libjsoundalsa.so* || die
- fi
-
- if ! use examples ; then
- rm -vr sample || die
- fi
-
- if use headless-awt ; then
- rm -fvr {,jre/}lib/*/lib*{[jx]awt,splashscreen}* \
- {,jre/}bin/policytool bin/appletviewer || die
- fi
- fi
-
- if ! use source ; then
- rm -v src.zip || die
- fi
-
- rm -v jre/lib/security/cacerts || die
- dosym ../../../../../etc/ssl/certs/java/cacerts \
- "${dest}"/jre/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
diff --git a/dev-java/openjdk-bin/openjdk-bin-8.402_p06.ebuild b/dev-java/openjdk-bin/openjdk-bin-8.402_p06.ebuild
new file mode 100644
index 000000000000..f93a2a4afad5
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-8.402_p06.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2
+
+abi_uri() {
+ local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}"
+ local musl=
+ local os=linux
+
+ case ${2} in
+ *-macos) os=mac ;;
+ *-solaris) os=solaris ;;
+ esac
+
+ if [[ ${3} == musl ]]; then
+ os=alpine-linux
+ musl=true
+ fi
+
+ echo "${2-$1}? (
+ ${musl:+ elibc_musl? ( }
+ ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//-/}.tar.gz
+ ${musl:+ ) } )"
+}
+
+MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
+SLOT=$(ver_cut 1)
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net"
+SRC_URI="
+ $(abi_uri aarch64 arm64)
+ $(abi_uri arm)
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+ $(abi_uri x64 amd64 musl)
+ $(abi_uri x64 x64-macos)
+"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~x64-macos"
+
+IUSE="alsa cups examples headless-awt selinux source"
+
+RDEPEND="
+ >=sys-apps/baselayout-java-0.1.0-r1
+ kernel_linux? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
+ elibc_musl? ( sys-libs/musl )
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ arm? ( dev-libs/libffi-compat:6 )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )
+ )
+"
+
+RESTRICT="preserve-libs strip"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk${MY_PV}"
+
+src_unpack() {
+ default
+ # 753575
+ if use arm; then
+ mv -v "${S}"* "${S}" || die
+ elif [[ ${A} == *_mac_* ]] ; then
+ mv -v "${S}/Contents/Home/"* "${S}" || die
+ rm -Rf "${S}/Contents" # drop macOS executable
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}/${dest#/}"
+
+ rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
+
+ # on macOS if they would exist they would be called .dylib, but most
+ # importantly, there are no different providers, so everything
+ # that's shipped works.
+ if [[ ${A} != *_mac_* ]] ; then
+ # this does not exist on arm64 hence -f
+ rm -fv jre/lib/*/libfreetype.so* || die
+
+ if ! use alsa ; then
+ rm -v jre/lib/*/libjsoundalsa.so* || die
+ fi
+
+ if ! use examples ; then
+ rm -vr sample || die
+ fi
+
+ if use headless-awt ; then
+ rm -fvr {,jre/}lib/*/lib*{[jx]awt,splashscreen}* \
+ {,jre/}bin/policytool bin/appletviewer || die
+ fi
+ fi
+
+ if ! use source ; then
+ rm -v src.zip || die
+ fi
+
+ rm -v jre/lib/security/cacerts || die
+ dosym ../../../../../etc/ssl/certs/java/cacerts \
+ "${dest}"/jre/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
diff --git a/dev-java/openjdk-jre-bin/Manifest b/dev-java/openjdk-jre-bin/Manifest
index 827378b56a02..94d314d5a60d 100644
--- a/dev-java/openjdk-jre-bin/Manifest
+++ b/dev-java/openjdk-jre-bin/Manifest
@@ -1,8 +1,4 @@
-DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.14_9.tar.gz 42435138 BLAKE2B 0f972a78221b74be4b8c87845f52d331eb6caf84eef06d291d0cd25ce4357b7072f938fd0390a9c54647d4ddcfe4c0184ddf84583e017e1bf78338b7939437bc SHA512 9ee64498d83d16cefc5a155393d9477bb78338d43a3b4b1699f4358644415a6be5601f7b2a87a82f2a95cafd6485b6db7b30bd0d21096110211b942e95deed64
-DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.15_10.tar.gz 42471028 BLAKE2B a88fa041ffdcedabbcdadbb1eb4a0052456666ba779eb0f82bc27ea7f2923a1b2e538d14d5f615869e456b1bce48859211134c6bd9d31c2c082068686b68fd59 SHA512 a8a8a9c9f243aaf9b051bd0c35009ec96a28dcf47b53139dd59891a5ff2ced590e56961edb093cf67b8239d92a4b407f631b389fdff986fdb746316f420abf34
-DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.16.1_1.tar.gz 42705612 BLAKE2B 02b0239a613f0738c7980105cd8595c0bbf456ba13f669dd11071313260d1fdbe1bc0c91e9fc9252cb04078ec7da36fdb4cf8a3408d1afdb7298f88bb75a75d8 SHA512 21af841b9e14ea32e13dd45fb2e693c0dfcbf65e99ebaaee44f14188c8b30c2cd76de816dc184b7bc9f376b26ab6bb9741be84f37bb99bec4dc381aa7ce9ada9
-DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.3_7.tar.gz 45971131 BLAKE2B dc8a358b10b0d3a6fac60f340ee5224c348aa4b2683e5f7b3396eaca180a12212260d45b8347b472f80671ef86a91f764727897146e4d36bc08b24c7920635fa SHA512 27da884a807c980386b7295f7ea5e253c03b497eff6e21e0cb35ea050552eaf9a3f71060cbd1a2f0cd6069a55ae00b43e46edcf09ab36c142587ea2ab781ad14
-DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.4.1_1.tar.gz 45941557 BLAKE2B 877a194672bfb950203d466191c1c220fffcca86559c0179c573e85152b9e63d253891989ed825181f3e034dd9d6f5cfba10986cf1c019e7faf73ad9a89bee48 SHA512 0bea14d42df99771e8e02f705f9233fc666904667607ca66e47be57fb09131b0a9d70b7bd4cc5b322805cc09cb14ad711db60348e9d17f9714884006185a928c
-DIST OpenJDK8U-jre_x64_linux_hotspot_8u322b06.tar.gz 41317897 BLAKE2B b96b39d4b3f7fe54f9b04698d4f24879ce617e61ade298b7de1472cb85fbf7d5f297f009c0e881a17bcdaf9baaf3187acef531b0ace97a1f2ab099811995c815 SHA512 4a3acc1330056011f0097aaca77858779e2c89d214598ef66736956984204b8de804549e42c51f8392806753f3d534d34ad93ef6df9f2f45a369e04f6a0694ac
-DIST OpenJDK8U-jre_x64_linux_hotspot_8u332b09.tar.gz 41336220 BLAKE2B 52eb9aa2623335bca7be71d1aca6b4292a029554ef9f9e0e1209a7fa0892931c37b670f9f90586d4ff3cd35540a3a7cb230f20789481836d20f04d4cfcc56596 SHA512 c62002aa1a28547b0b0cefea3f83af2cf6507002bf296b1b83bd04406f4c362f4c74940209ebbd3803513395bec7503882aac7f8d35dcbf6a6e02e9155a53cdd
-DIST OpenJDK8U-jre_x64_linux_hotspot_8u345b01.tar.gz 41336188 BLAKE2B 05c1ff3f0561410dafb88f1ce1486decbe56f528cebde4f5d05d589e5a7c706e84bf23f89cda68b19212dbd9b109546a7b78b407a8453c9f040b9e95f5f9c35f SHA512 15cb0be04c9a516476405107fc472470b4576b3893aca8f926b8f007fcb21b6eba1d87a52a806ec698cb3a8b17bae8f557445e9201be2f2d7246a67e28df0be4
+DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.20.1_1.tar.gz 43033465 BLAKE2B 484ec2b8512e2c759840157608ae4b7cdd2729533589a8ad1ba718779e88319fa02da4c9f59b56dea93123646ca7a55e84675985679a25f5163d7511b8147f66 SHA512 4a962e2ee8c885753b7bc25c3a30af307bee2c8829438eb85b9a7b20abd72fa22b340cfb9b6a0721e8fb00379bd3a230653daa52f5f1e3e6d5ed028ea2066c99
+DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.8.1_1.tar.gz 46332104 BLAKE2B cd27d457ecb64a17cd86fb7f348e7868b6a5e4bb59a98971dabfcdc213e4afc70dc7c1c912dcf209c9a3931ce2abece961480cc06039b565e09f70e55269ceb9 SHA512 773f39ec8f66d1285df74706014c690f3ade9c960bc27c5032bd4c100b2e89c3d4a23150af548128bdf499d64ba1567aa065f4a39f5e583600d86414d283f66f
+DIST OpenJDK21U-jre_x64_linux_hotspot_21.0.1_12.tar.gz 52453828 BLAKE2B d53bf2929431c9ce4026ae2fb9b950fedc9e756f52013a2ecdad804ccf28e33447f5278f159fb881791d1a0952d959232085549f2ef1b563979c3f15713a00e6 SHA512 568844305c490abbd9a20aa89b48b8ece4bb1b75145d6e6dc89220bdb6049bc70f8bd8c6a789983d7bbbdbc64d78129515443fe86c03064592354b455869e8af
+DIST OpenJDK8U-jre_x64_linux_hotspot_8u382b05.tar.gz 41389960 BLAKE2B e79d0d6b08a0f2066c877b3f970742a209f1b56a46dd4e5bc3b3942b590ae4eb0e72ac9b909d2e0d9b61bee76d507d9df8def88c16ec87930152b8375c6272e5 SHA512 536e2b3f87907aa2d79938dae3f92efa5d6402ae252e147beb9ddc3f81b1001a8031e4eba7132b0640dad36652fb619b761e038a88246442fc8592d5fe8a9c41
diff --git a/dev-java/openjdk-jre-bin/metadata.xml b/dev-java/openjdk-jre-bin/metadata.xml
index 2a0dc8d5f54c..b4bbaa93f791 100644
--- a/dev-java/openjdk-jre-bin/metadata.xml
+++ b/dev-java/openjdk-jre-bin/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
@@ -16,6 +12,5 @@
</longdescription>
<use>
<flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs (used to be X flag)</flag>
- <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
</use>
</pkgmetadata>
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild
deleted file mode 100644
index ae3ecf2e8fe9..000000000000
--- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
- )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=${MY_PV%%[.+]*}
-
-SRC_URI="
- $(abi_uri x64 amd64)
-"
-
-DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptopenjdk.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64"
-IUSE="alsa cups +gentoo-vm headless-awt selinux"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >net-libs/libnet-1.1
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}-jre"
-
-src_install() {
- local dest="/opt/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.15_p10.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.15_p10.ebuild
deleted file mode 100644
index ae3ecf2e8fe9..000000000000
--- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.15_p10.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
- )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=${MY_PV%%[.+]*}
-
-SRC_URI="
- $(abi_uri x64 amd64)
-"
-
-DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptopenjdk.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64"
-IUSE="alsa cups +gentoo-vm headless-awt selinux"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >net-libs/libnet-1.1
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}-jre"
-
-src_install() {
- local dest="/opt/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.16.1_p1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.16.1_p1.ebuild
deleted file mode 100644
index 43ec32db6c4d..000000000000
--- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.16.1_p1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
- )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=${MY_PV%%[.+]*}
-
-SRC_URI="
- $(abi_uri x64 amd64)
-"
-
-DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptopenjdk.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="~amd64"
-IUSE="alsa cups headless-awt selinux"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >net-libs/libnet-1.1
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}-jre"
-
-src_install() {
- local dest="/opt/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.20.1_p1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.20.1_p1.ebuild
new file mode 100644
index 000000000000..7e2efc602026
--- /dev/null
+++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.20.1_p1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2
+
+abi_uri() {
+ echo "${2-$1}? (
+ https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
+ )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=${MY_PV%%[.+]*}
+
+SRC_URI="
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="amd64"
+IUSE="alsa cups headless-awt selinux"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >net-libs/libnet-1.1
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}-jre"
+
+src_install() {
+ local dest="/opt/${PN}-${SLOT}"
+ local ddest="${ED}/${dest#/}"
+
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.3_p7.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.3_p7.ebuild
deleted file mode 100644
index ae3ecf2e8fe9..000000000000
--- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.3_p7.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
- )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=${MY_PV%%[.+]*}
-
-SRC_URI="
- $(abi_uri x64 amd64)
-"
-
-DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptopenjdk.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64"
-IUSE="alsa cups +gentoo-vm headless-awt selinux"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >net-libs/libnet-1.1
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}-jre"
-
-src_install() {
- local dest="/opt/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.4.1_p1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.4.1_p1.ebuild
deleted file mode 100644
index 43ec32db6c4d..000000000000
--- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.4.1_p1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
- )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=${MY_PV%%[.+]*}
-
-SRC_URI="
- $(abi_uri x64 amd64)
-"
-
-DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptopenjdk.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="~amd64"
-IUSE="alsa cups headless-awt selinux"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >net-libs/libnet-1.1
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}-jre"
-
-src_install() {
- local dest="/opt/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.8.1_p1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.8.1_p1.ebuild
new file mode 100644
index 000000000000..7e2efc602026
--- /dev/null
+++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.8.1_p1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2
+
+abi_uri() {
+ echo "${2-$1}? (
+ https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
+ )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=${MY_PV%%[.+]*}
+
+SRC_URI="
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="amd64"
+IUSE="alsa cups headless-awt selinux"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >net-libs/libnet-1.1
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}-jre"
+
+src_install() {
+ local dest="/opt/${PN}-${SLOT}"
+ local ddest="${ED}/${dest#/}"
+
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-21.0.1_p12.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-21.0.1_p12.ebuild
new file mode 100644
index 000000000000..1aba636df50a
--- /dev/null
+++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-21.0.1_p12.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2
+
+abi_uri() {
+ echo "${2-$1}? (
+ https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
+ )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=${MY_PV%%[.+]*}
+
+SRC_URI="
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64"
+IUSE="alsa cups headless-awt selinux"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >net-libs/libnet-1.1
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}-jre"
+
+src_install() {
+ local dest="/opt/${PN}-${SLOT}"
+ local ddest="${ED}/${dest#/}"
+
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.322_p06.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.322_p06.ebuild
deleted file mode 100644
index f337effa4a4f..000000000000
--- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.322_p06.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jre_${1}_linux_hotspot_${MY_PV/-/}.tar.gz
- )"
-}
-
-MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
-SLOT="$(ver_cut 1)"
-
-DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-SRC_URI="
- $(abi_uri x64 amd64)
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64"
-
-IUSE="alsa cups headless-awt selinux"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >net-libs/libnet-1.1
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk${MY_PV}-jre"
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
-
- # this does not exist on arm64 hence -f
- rm -fv lib/*/libfreetype.so* || die
-
- if ! use alsa ; then
- rm -v lib/*/libjsoundalsa.so* || die
- fi
-
- if use headless-awt ; then
- rm -fvr lib/*/lib*{[jx]awt,splashscreen}* \
- bin/policytool || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.332_p09.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.332_p09.ebuild
deleted file mode 100644
index f337effa4a4f..000000000000
--- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.332_p09.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jre_${1}_linux_hotspot_${MY_PV/-/}.tar.gz
- )"
-}
-
-MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
-SLOT="$(ver_cut 1)"
-
-DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-SRC_URI="
- $(abi_uri x64 amd64)
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64"
-
-IUSE="alsa cups headless-awt selinux"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >net-libs/libnet-1.1
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk${MY_PV}-jre"
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
-
- # this does not exist on arm64 hence -f
- rm -fv lib/*/libfreetype.so* || die
-
- if ! use alsa ; then
- rm -v lib/*/libjsoundalsa.so* || die
- fi
-
- if use headless-awt ; then
- rm -fvr lib/*/lib*{[jx]awt,splashscreen}* \
- bin/policytool || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.345_p01.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.345_p01.ebuild
deleted file mode 100644
index d4b6279fcfac..000000000000
--- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.345_p01.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2
-
-abi_uri() {
- echo "${2-$1}? (
- https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jre_${1}_linux_hotspot_${MY_PV/-/}.tar.gz
- )"
-}
-
-MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
-SLOT="$(ver_cut 1)"
-
-DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-SRC_URI="
- $(abi_uri x64 amd64)
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="~amd64"
-
-IUSE="alsa cups headless-awt selinux"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >net-libs/libnet-1.1
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk${MY_PV}-jre"
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
-
- # this does not exist on arm64 hence -f
- rm -fv lib/*/libfreetype.so* || die
-
- if ! use alsa ; then
- rm -v lib/*/libjsoundalsa.so* || die
- fi
-
- if use headless-awt ; then
- rm -fvr lib/*/lib*{[jx]awt,splashscreen}* \
- bin/policytool || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.382_p05.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.382_p05.ebuild
new file mode 100644
index 000000000000..1071fa2afe06
--- /dev/null
+++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.382_p05.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2
+
+abi_uri() {
+ echo "${2-$1}? (
+ https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jre_${1}_linux_hotspot_${MY_PV/-/}.tar.gz
+ )"
+}
+
+MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
+SLOT="$(ver_cut 1)"
+
+DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net"
+SRC_URI="
+ $(abi_uri x64 amd64)
+"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="amd64"
+
+IUSE="alsa cups headless-awt selinux"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >net-libs/libnet-1.1
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk${MY_PV}-jre"
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}/${dest#/}"
+
+ rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
+
+ # this does not exist on arm64 hence -f
+ rm -fv lib/*/libfreetype.so* || die
+
+ if ! use alsa ; then
+ rm -v lib/*/libjsoundalsa.so* || die
+ fi
+
+ if use headless-awt ; then
+ rm -fvr lib/*/lib*{[jx]awt,splashscreen}* \
+ bin/policytool || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index 79aa1cf45ea3..a6aad9e84b1e 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -1,12 +1,8 @@
-DIST openjdk-11.0.14-riscv.patch.xz 279088 BLAKE2B f67cf5707246b22285de8217b68fb806e3c18b7289cb81428c0fe83c5a4dcd60233be10aaca0853ffb00ac24fa60cae1b1d60ed300ad6bff8b07e881bddf8650 SHA512 32bac5f0c0f5df883de344718586bf798db6c8a5738058ea5d4902f5a0a3fc841c1893dec3379a74b9468c1c37af5c31a3e296476549972d3f1305401354060d
-DIST openjdk-11.0.15_p10.tar.gz 122902351 BLAKE2B a2dabad415a92765d548b19261e22e2cd483a17b478c8ef98342b44e88b39b23d89d31aecc80f93b27fce8df50ba41f4e6e5f10b66035bbfc1e0c03fc4707a40 SHA512 9d9e631046769d3ad95229172f392649ef4162161eb2d6fa7371665619600a04db440e1b3d30c580e283ad2b6bd7580d1199fc854fad3cb962d79f18b2347c67
-DIST openjdk-11.0.16.1_p1.tar.gz 123134756 BLAKE2B 727294bb9d07193bb74b01a3e3e35f491b54be4cf3b6230e59df56ea7a9166b0b138f82b3d3c302c32b21efa8e9ac71437ca430a68a9ad8b69a7755d289bde17 SHA512 c694a8e6b0ff664b2c6a43ef3445d98e3b4ddf59c7fe94a21390b2d7756870ea7c7e34cb99d40bd66708ecaee93ffeb4dfc9ab7e2162bd6fc19479f23963560d
-DIST openjdk-17.0.3-riscv.patch.xz 296268 BLAKE2B 9b2036493a485a1e245230488a5985af4f5d5c6a85912d73d8a712742fdfc26d5eb08ca8e69dac04f0d516fb361e6ed057c95a3839b04639d129581cf00f0620 SHA512 692b5e39e5c6eb1222f25c3012e9a73366d9c98f5c29c2f2d35f41991cdcb026a644398b6f3fdd8c9d8368b4b1f5dc4d89b3dbd594a2e7751de96a140551d445
-DIST openjdk-17.0.3_p7.tar.gz 104797560 BLAKE2B 025ff6be360c74288990622bce31769e5780f3f326b0eed2b78a776cc4df8bdf8cb99dfb0d7dd3f03f8558ca9a66acc5c5bd04b227ba4dffe18f8586a287b74b SHA512 3bebaaf0469cd6558a3f033b768005e880ec95d5bb2a24b8929d2f6a05f18ca9977b291ad49b220a904f661cf6b47780a1cfd776109ed11d4e34d5345be8f66c
-DIST openjdk-17.0.4.1_p1.tar.gz 104892822 BLAKE2B e5c4ae7e59b7f078c3927ca74cdff4fe1f378da874eca45a7655fa7419c9abac6b9f81632c104614b7f1d6c20fbc5ee7f4b0a8e2aaef39a66f31377543e926de SHA512 33396f9d8101db605aac0b064d518a800194421b211f0d903d681968beab58540367e53293fa26d4751e4bd1f459a0d07bb08b2010ac64ea5438717ea1517f76
-DIST openjdk-17.0.5_p5.tar.gz 105040319 BLAKE2B 658df2630e1938d7787031e498474c347a10770a133d4d8234cb7450777264c07441ca56a1b09f368b837a182627d3a104848aa5e521d95b1b58e1f21f4645b1 SHA512 19b2466339db697a8564e44423878b5c5ed310478bf56aa7ace90d34458912c5f544fcea2c31eaba559c2fff33f818745e8160376eae8f6c3c694090aed7de09
-DIST openjdk-8.332_p09.tar.gz 88130953 BLAKE2B 9c7419851588dfbca92610f8fbb8b74fa7516282f82e8c7c37af88c776ba0c83a22fb3d4a1c2c2b98d44e394025217d095cff9c79fba53f9c5a32a43eb91ad70 SHA512 f6a717f77cc0e85bc2eb3c3c599d09e06a4004e4987a2caf0773b1197336722469e2abcca9d39c1f4c534d15cd77408d6405c9ee6edb3815bccd8e4872571aaa
-DIST openjdk-8.345_p01.tar.gz 88173976 BLAKE2B f0eca11f4fcb532a8fd156a74ff6629ea2d948c5d29d9b9638b526c57598618f5c3782ace26654be61f8d9ab229f44aa46112234c2d2e8a9bdc367c1071b6e53 SHA512 bb01156f751a0ba25290d1337356f9dd78121373220e2e2df07a4536e2ab31390865ab63d628901de7983d1679dd6dfd4bc3c6304911e6c76fe4c616bdf07eab
+DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f2823772a5d9a18447a435f191daf78c5429a15c2e9ea64758dc9b26ee2a88275532b4f27714b2a7e4489f920c0ed2f5003b SHA512 c0426f243c5aa581d90366cb01ce811e34883a9d8a0298cab420378470e8eb427a56932ca1fbb5ed57e7430be2b38c6bc4491028ebaa25be0a938ba0bb2baf45
+DIST openjdk-11.0.22_p7.tar.gz 116235391 BLAKE2B 50b845b8f1e316da37e45c94a1890939659b554a314a1a455903e8cc58465cd69cd485548b6b42c445150187e37df5cf946d52bca754236a198f6aa10d7de37e SHA512 b88d0db9750d8201dfb4b027045de4023be766e42cca7a3ff5e0cb28db4c6da3f146a57819a6b81cb33e5837726986bcc3780ecf88bf525f445c2cd35a3993d8
+DIST openjdk-17.0.10_p7.tar.gz 106398664 BLAKE2B 48cb2bc7d063da25a62834734ba4a887d26a27a8d84c535255df67419bf4f6d8b060c48ef37bd7324e14e957a141791380d4d9e42335a90f72dc34bc7b1d12fe SHA512 c2dfd66debdce488de044efcfc3f57cc9eb07ead2cfb7dd6e28e5748d48ec89f0c326a4c3f4a5c740019b8e5a02b858d93dd74a0c6626de445144b9840d3a426
+DIST openjdk-21.0.2_p13.tar.gz 112252812 BLAKE2B a7cbdc67d05a4e7db75ddb7043f06928c599139bd6eab02a23749194eb340f82038061036e84961ed124b8c8a0320bc3a2a890100b643765e1a87b8b129f30f9 SHA512 01a2f57dc432ea31f64d79092ae722f752e7ff111291cb5fb874046079a0fee985ede9d3aac991d946c9c6e712854827dd45284ff4cf39592add3629dbb94ace
+DIST openjdk-8.402_p06.tar.gz 93136112 BLAKE2B 023422ca2b4dfc08fd3642e3cb3ec0503d57d09dbcb54841e4a04f67a6cd118712cba90b7760eaf9135f9f001f7c15221c4bcb19986547fb2b6b3fb852bb8af4 SHA512 476d195ef500d8dd2013b17de0669a77ef8076b55c2753eb88b1a13f7a48526b1be7a1befabd284eb9ee8411df19ab1f39c81287ab659984d2d67e8aa7192d79
DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e
DIST openjdk-bootstrap-11.0.13_p8-x86.tar.xz 105420236 BLAKE2B d3137ad497937a9a04dedf38776f3ac45bf3b115d275991fd8582b72ade48390b6aa8ad89e0b4d34fa6a787a3c413dab20b32ef347dc8733544e810150c55d29 SHA512 f71a7ef8fbf19b0595dd7d4ebe52bbe1c95b8c17f34d092472c5f5ce8caf52a053f22db8587f1649f9a96ad01c0c632be343342812f5a8cc4ff843b33b8d9b0f
DIST openjdk-bootstrap-11.0.14_p9-riscv.tar.xz 104601676 BLAKE2B 5f976e8a626a829fae70ad6c007f10bfeff79e29c85d6c75fb2f5ff8984fd2a2bd44ee6e07958dbbdaaed761c6839d375e1b5ba6cffc63b02ad9e2c9178310db SHA512 580dec81626553fe3e7afd0f6385a733ba80a0502cf0f9e8bdc973048887290c9ab6171267d61d8838c4ece4de58c9ca8b78540bd52b1757495a27175057ec64
@@ -14,3 +10,7 @@ DIST openjdk-bootstrap-17.0.1_p12-ppc64.tar.xz 116557680 BLAKE2B d20e45a5a76e30e
DIST openjdk-bootstrap-17.0.1_p12-x86.tar.xz 111479904 BLAKE2B 17d33f8ee81c2846f417d8e7cd1429eb611e916a6b375c76127179dc6afc55b0254248360c892ce37a178fd553934d952ec8955ff5d0613eb66678b8ecefe917 SHA512 094bcc960801e5fd7e1c966c8101c195ac7fa5e222d9c8e79ca64f8a3e6812613c17a0356211e7dd831325fa11af88cc22ed56c434d65504f18dd4f4ceaedfdf
DIST openjdk-bootstrap-17.0.2_p8-arm64-musl.tar.xz 115353932 BLAKE2B 0cc4ab078085f094bbcc65448458d98a0f521e3b754c5118b1b4f957cfa00c24e896c811c2a477822c469ffcfe0de1ad6a8d0b7db23b0b09ae3b459eaf8c4fc8 SHA512 e30acd6c64a0095f4203129ecf2cff4c6b4293bc017457465d3abb746d280a2f5d89028eed22f7f3d236890d047149c7aa257e3b49593d7a6ab4dd6b777a7c26
DIST openjdk-bootstrap-17.0.3_p7-riscv.tar.xz 113344052 BLAKE2B 69ae326c600ecf1840a0874b1e26545779434b979e195a3bc7975615f873cd9ffce324f291e56a2800edc304447845baec774b2a08964afde274bd8e0dd3f704 SHA512 4a483faa32b26758f6fae605fdb3d3b77814c627a3a560e91ca88e2d36a88543a53f019a59b5a6456b87ca671e8b7129d5766210bd5cd52125cb3a040ec2a23f
+DIST openjdk-bootstrap-21.0.0_p35-ppc64.tar.xz 125375264 BLAKE2B 28802995f393dc76362dae766f8b598fd56085051418075d4c426293e6431b441ea38a2d2e4676fc89173d10324e3aafac52c97a5d9459bb0199168a07807e16 SHA512 cbd3992450c44764373c25313f6ce32f0c8a47abec557e4a10f7f8517435bf450ba5ac9fa9c8cdfb41f1536b55829d733426dc12dc2b5a2eebf5a94e9094752a
+DIST openjdk-bootstrap-21.0.0_p35-x86.tar.xz 120906212 BLAKE2B c3a56f4e51a8aca1c318b9c32bebdb4c09e42d80416ce1843bc80077f09466b7f54627ab6992f9149fdabdb4d5557c3cad6b5e93b37ba3d89d84f736fc07a57a SHA512 40f0cf60adaebd0c6ae11badb6b71727a5cc64c89077731b0f7cc82f203297b9b780ae43ec74eca9dd5a64de1209f519c2ad0f9083c017cf474d1020206f762c
+DIST openjdk-bootstrap-8.402_p06-ppc64.tar.xz 34476368 BLAKE2B 1f896772f5e40a2793c5d9294e65e429c94204f91e91bfd76ff780e1d6318741c2052c3f20e59abcfb7018924983b5c9f386f14f912660e3e86296185f348482 SHA512 7bace068c5ac7604ad9db3ed655a52a4a90195efbf2fc342389cf7929d82d3f7b861fe700c16f513599bf9c064a87c9aa5966d7bd45aa7ed5e55ec317667be6a
+DIST openjdk-bootstrap-8.402_p06-x86.tar.xz 37076244 BLAKE2B bd50f84e8ac2ee9850c158c7e7d9fae9741112230dcd6e314163911921d63e3222cd3f4ab9d08bbaacbf6d9bfce9a1a9336e21088fba6396613489a701b30797 SHA512 fe5719e0bbf9bcd6eb9790ebd4da34e7f6c99fe4b7d41de2b5d00b20ebe76a77d857c726d1a71b7f40657ca2a9aa08eaa9efc1ab4be60016f66af95530b454b5
diff --git a/dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch b/dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch
deleted file mode 100644
index 11f159680d8b..000000000000
--- a/dev-java/openjdk/files/openjdk-17.0.3-fix-nullptr-cast.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-https://git.alpinelinux.org/aports/tree/community/openjdk17/FixNullPtrCast.patch
-https://github.com/openjdk/jdk17u/pull/347
-
-See also:
-https://www.openwall.com/lists/musl/2013/01/09/1
-https://git.musl-libc.org/cgit/musl/tree/include/unistd.h#n20
-
-Subject: Fix cast errors with latest GCC (11.2)
-Upstream: No
-Author: Simon Frankenberger <simon-alpine@fraho.eu>
-
-This patch fixes multiple casting errors reported by GCC 11.2
-
---- old/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp
-+++ new/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp
-@@ -205,7 +205,7 @@
-
- // Note: We don't need a keep-alive-barrier here. We already enqueue any loaded reference for SATB anyway,
- // because it must be the previous value.
-- res = load_reference_barrier(decorators, res, reinterpret_cast<T*>(NULL));
-+ res = load_reference_barrier(decorators, res, static_cast<T*>(NULL));
- satb_enqueue(res);
- return res;
- }
-@@ -216,7 +216,7 @@
- oop previous = RawAccess<>::oop_atomic_xchg(addr, new_value);
- // Note: We don't need a keep-alive-barrier here. We already enqueue any loaded reference for SATB anyway,
- // because it must be the previous value.
-- previous = load_reference_barrier<T>(decorators, previous, reinterpret_cast<T*>(NULL));
-+ previous = load_reference_barrier<T>(decorators, previous, static_cast<T*>(NULL));
- satb_enqueue(previous);
- return previous;
- }
---- old/src/hotspot/share/oops/access.hpp
-+++ new/src/hotspot/share/oops/access.hpp
-@@ -294,8 +294,8 @@
- static inline void arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
- arrayOop dst_obj, size_t dst_offset_in_bytes,
- size_t length) {
-- AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
-- dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
-+ AccessT::arraycopy(src_obj, src_offset_in_bytes, static_cast<const T*>(NULL),
-+ dst_obj, dst_offset_in_bytes, static_cast<T*>(NULL),
- length);
- }
-
-@@ -303,7 +303,7 @@
- static inline void arraycopy_to_native(arrayOop src_obj, size_t src_offset_in_bytes,
- T* dst,
- size_t length) {
-- AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
-+ AccessT::arraycopy(src_obj, src_offset_in_bytes, static_cast<const T*>(NULL),
- NULL, 0, dst,
- length);
- }
-@@ -313,15 +313,15 @@
- arrayOop dst_obj, size_t dst_offset_in_bytes,
- size_t length) {
- AccessT::arraycopy(NULL, 0, src,
-- dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
-+ dst_obj, dst_offset_in_bytes, static_cast<T*>(NULL),
- length);
- }
-
- static inline bool oop_arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
- arrayOop dst_obj, size_t dst_offset_in_bytes,
- size_t length) {
-- return AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const HeapWord*>(NULL),
-- dst_obj, dst_offset_in_bytes, reinterpret_cast<HeapWord*>(NULL),
-+ return AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, static_cast<const HeapWord*>(NULL),
-+ dst_obj, dst_offset_in_bytes, static_cast<HeapWord*>(NULL),
- length);
- }
-
---- old/src/hotspot/cpu/x86/interp_masm_x86.cpp
-+++ new/src/hotspot/cpu/x86/interp_masm_x86.cpp
-@@ -1122,7 +1122,7 @@
-
- bind(loop);
- // check if current entry is used
-- cmpptr(Address(rmon, BasicObjectLock::obj_offset_in_bytes()), (int32_t) NULL);
-+ cmpptr(Address(rmon, BasicObjectLock::obj_offset_in_bytes()), 0);
- jcc(Assembler::notEqual, exception);
-
- addptr(rmon, entry_size); // otherwise advance to next entry
---- old/src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
-+++ new/src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
-@@ -443,10 +443,10 @@
- _from -= Interpreter::stackElementSize;
-
- if (_num_int_args < Argument::n_int_register_parameters_c-1) {
-- *_int_args++ = (*from_addr == 0) ? NULL : (intptr_t)from_addr;
-+ *_int_args++ = (*from_addr == 0) ? (intptr_t) 0 : (intptr_t) from_addr;
- _num_int_args++;
- } else {
-- *_to++ = (*from_addr == 0) ? NULL : (intptr_t) from_addr;
-+ *_to++ = (*from_addr == 0) ? (intptr_t) 0 : (intptr_t) from_addr;
- }
- }
-
---- old/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp
-+++ new/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp
-@@ -267,7 +267,7 @@
-
- virtual void pass_object() {
- intptr_t* addr = single_slot_addr();
-- intptr_t value = *addr == 0 ? NULL : (intptr_t)addr;
-+ intptr_t value = *addr == 0 ? (intptr_t) 0 : (intptr_t)addr;
- if (pass_gpr(value) < 0) {
- pass_stack<>(value);
- }
diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch
new file mode 100644
index 000000000000..317f1aa226b3
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch
@@ -0,0 +1,41 @@
+From cc568d4d246ffc9bf08a96db0889d3b89c852718 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 6 Mar 2024 11:22:11 +0000
+Subject: [PATCH 1/4] Fix -Wint-conversion
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Backport of upstream commit https://github.com/openjdk/jdk21u-dev/commit/7b1455163ed893639059b3d62b71b2ff347c2e3f.
+
+Fixes the following warning/error:
+```
+jdk8u-jdk8u402-ga/jdk/src/share/bin/splashscreen_stubs.c:64:5: error: returning ‘void *’ from a function with return type ‘int’ makes integer from pointer without a cast [-Wint-conversion]
+```
+
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ jdk/src/share/bin/splashscreen_stubs.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/jdk/src/share/bin/splashscreen_stubs.c b/jdk/src/share/bin/splashscreen_stubs.c
+index 9c1f514..666634f 100644
+--- a/jdk/src/share/bin/splashscreen_stubs.c
++++ b/jdk/src/share/bin/splashscreen_stubs.c
+@@ -61,11 +61,11 @@ typedef char* (*SplashGetScaledImageName_t)(const char* fileName,
+ #define INVOKEV(name) _INVOKE(name, ,;)
+
+ int DoSplashLoadMemory(void* pdata, int size) {
+- INVOKE(SplashLoadMemory, NULL)(pdata, size);
++ INVOKE(SplashLoadMemory, 0)(pdata, size);
+ }
+
+ int DoSplashLoadFile(const char* filename) {
+- INVOKE(SplashLoadFile, NULL)(filename);
++ INVOKE(SplashLoadFile, 0)(filename);
+ }
+
+ void DoSplashInit(void) {
+--
+2.44.0
+
diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch
new file mode 100644
index 000000000000..3e8a5d17113c
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch
@@ -0,0 +1,48 @@
+From 57b8fef20b090ffdf99bcf2c3f5fc8d0d4472788 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 6 Mar 2024 11:54:24 +0000
+Subject: [PATCH 2/4] Fix -Wincompatible-pointer-types
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Backport https://github.com/openjdk/jdk17u/commit/6632e6c6ca74101b45b052fb7962376fbe97605e.
+
+```
+jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: In function ‘Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage’:
+jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c:2853:19: error: passing argument 1 of ‘freeArray’ from incompatible pointer type [-Wincompatible-pointer-types]
+ 2853 | freeArray(scale, numBands);
+ | ^~~~~
+ | |
+ | UINT8 ** {aka unsigned char **}
+jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c:2689:30: note: expected ‘void **’ but argument is of type ‘UINT8 **’ {aka ‘unsigned char **’}
+ 2689 | static void freeArray(void** arr, jint size) {
+ | ~~~~~~~^~~
+jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c:2860:19: error: passing argument 1 of ‘freeArray’ from incompatible pointer type [-Wincompatible-pointer-types]
+ 2860 | freeArray(scale, numBands);
+ | ^~~~~
+ | |
+ | UINT8 ** {aka unsigned char **}
+```
+
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
+index 7e1d8c9..163003c 100644
+--- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
++++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
+@@ -2686,7 +2686,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeTables
+ RELEASE_ARRAYS(env, data, NULL);
+ }
+
+-static void freeArray(void** arr, jint size) {
++static void freeArray(UINT8** arr, jint size) {
+ int i;
+ if (arr != NULL) {
+ for (i = 0; i < size; i++) {
+--
+2.44.0
+
diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch
new file mode 100644
index 000000000000..3e4296d21aac
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch
@@ -0,0 +1,38 @@
+From 685bf942bdf5b265a3b343c2b682b01b11b6e58a Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 6 Mar 2024 12:20:03 +0000
+Subject: [PATCH 3/4] Fix negative value left shift
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Backport of https://github.com/openjdk/jdk17u/commit/51be7db96f3fc32a7ddb24f8af19fb4fc0577aaf.
+
+```
+jdk/src/share/native/com/sun/java/util/jar/pack/constants.h:226:37: error: left operand of shift expression ‘(-1 << 13)’ is negative [-fpermissive]
+jdk/src/share/native/com/sun/java/util/jar/pack/constants.h:226:39: error: enumerator value for ‘AO_UNUSED_MBZ’ is not an integer constant
+ 226 | AO_UNUSED_MBZ = (-1)<<13, // options bits reserved for future use.
+ | ^~
+```
+
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ jdk/src/share/native/com/sun/java/util/jar/pack/constants.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h b/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h
+index f1a1f73..536003b 100644
+--- a/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h
++++ b/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h
+@@ -223,7 +223,7 @@ enum {
+ AO_HAVE_FIELD_FLAGS_HI = 1<<10,
+ AO_HAVE_METHOD_FLAGS_HI = 1<<11,
+ AO_HAVE_CODE_FLAGS_HI = 1<<12,
+- AO_UNUSED_MBZ = (-1)<<13, // options bits reserved for future use.
++ AO_UNUSED_MBZ = (int)((~0U)<<13), // options bits reserved for future use.
+
+ #define ARCHIVE_BIT_DO(F) \
+ F(AO_HAVE_SPECIAL_FORMATS) \
+--
+2.44.0
+
diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch
new file mode 100644
index 000000000000..44c5268646d8
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch
@@ -0,0 +1,61 @@
+From 24f51a75b79aec29bd1631d320e051a646b9fae4 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 6 Mar 2024 12:23:41 +0000
+Subject: [PATCH 4/4] Fix misc. warnings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Backport of https://github.com/openjdk/jdk11u/commit/49dec121161c162f4aa94caf8c09413253d89377.
+
+```
+jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp: In function ‘_jobject* Java_com_sun_java_util_jar_Unpack_getUnusedInput(JNIEnv*, jobject)’:
+jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:295:12: error: cannot convert ‘bool’ to ‘jobject’ {aka ‘_jobject*’} in return
+ 295 | return false;
+ | ^~~~~
+jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp: In function ‘jlong Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv*, jobject)’:
+jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:315:3: warning: converting to non-pointer type ‘long int’ from NULL [-Wconversion-null]
+ 315 | CHECK_EXCEPTION_RETURN_VALUE(uPtr, NULL);
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:315:3: warning: converting to non-pointer type ‘long int’ from NULL [-Wconversion-null]
+[...]
+```
+
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp b/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
+index 5fbc726..4c002e7 100644
+--- a/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
++++ b/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
+@@ -292,7 +292,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_getUnusedInput(JNIEnv *env, jobject
+
+ if (uPtr->aborting()) {
+ THROW_IOE(uPtr->get_abort_message());
+- return false;
++ return null;
+ }
+
+ // We have fetched all the files.
+@@ -312,7 +312,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv *env, jobject pObj) {
+ // There's no need to create a new unpacker here if we don't already have one
+ // just to immediatly free it afterwards.
+ unpacker* uPtr = get_unpacker(env, pObj, /* noCreate= */ true);
+- CHECK_EXCEPTION_RETURN_VALUE(uPtr, NULL);
++ CHECK_EXCEPTION_RETURN_VALUE(uPtr, 0);
+ size_t consumed = uPtr->input_consumed();
+ // free_unpacker() will set the unpacker field on 'pObj' to null
+ free_unpacker(env, pObj, uPtr);
+@@ -323,6 +323,7 @@ JNIEXPORT jboolean JNICALL
+ Java_com_sun_java_util_jar_pack_NativeUnpack_setOption(JNIEnv *env, jobject pObj,
+ jstring pProp, jstring pValue) {
+ unpacker* uPtr = get_unpacker(env, pObj);
++ CHECK_EXCEPTION_RETURN_VALUE(uPtr, false);
+ const char* prop = env->GetStringUTFChars(pProp, JNI_FALSE);
+ CHECK_EXCEPTION_RETURN_VALUE(prop, false);
+ const char* value = env->GetStringUTFChars(pValue, JNI_FALSE);
+--
+2.44.0
+
diff --git a/dev-java/openjdk/metadata.xml b/dev-java/openjdk/metadata.xml
index e4fe12d5b61f..543587cc5399 100644
--- a/dev-java/openjdk/metadata.xml
+++ b/dev-java/openjdk/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
@@ -16,10 +12,10 @@
<slots>
<slot name="8">Javaâ„¢ 8 is Javaâ„¢ 1.8, where 8 is the version number, and 1.8 is the version string</slot>
<slot name="11">Javaâ„¢ version 11</slot>
+ <slot name="17">Javaâ„¢ version 17</slot>
</slots>
<use>
<flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs</flag>
- <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
<flag name="javafx" restrict="&lt;=dev-java/openjdk-9">Provide JavaFX support via <pkg>dev-java/openjfx</pkg></flag>
<flag name="javafx" restrict="&gt;=dev-java/openjdk-11">Import OpenJFX modules at build time, via <pkg>dev-java/openjfx</pkg></flag>
<flag name="jbootstrap">Build OpenJDK twice, the second time using the result of the first</flag>
@@ -27,4 +23,10 @@
<flag name="system-bootstrap">Bootstrap using installed openjdk</flag>
<flag name="systemtap" restrict="&gt;=dev-java/openjdk-11">Enable SystemTAP/DTrace tracing</flag>
</use>
+ <upstream>
+ <remote-id type="github">openjdk/jdk8u</remote-id>
+ <remote-id type="github">openjdk/jdk11u</remote-id>
+ <remote-id type="github">openjdk/jdk17u</remote-id>
+ <remote-id type="github">openjdk/jdk21u</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild b/dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild
deleted file mode 100644
index feaa4c78cbc9..000000000000
--- a/dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild
+++ /dev/null
@@ -1,300 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
-# set build version properly
-MY_PV="${PV%_p*}-ga"
-SLOT="${MY_PV%%[.+]*}"
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-PPC64_XPAK="11.0.13_p8" # big-endian bootstrap tarball
-RISCV_XPAK="11.0.14_p9" # lp64d bootstrap tarball
-X86_XPAK="11.0.13_p8"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
- local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
- local suff="tar.xz"
- local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
- local ver="${2:?${FUNCNAME[0]}: version not specified}"
- local cond="${3-}"
-
- # here be dragons
- echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })"
-}
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri riscv ${RISCV_XPAK})
- $(bootstrap_uri x86 ${X86_XPAK})
- )
- riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-11.0.14-riscv.patch.xz )
-"
-
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- sys-libs/zlib
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-util/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/zip
- media-libs/alsa-lib
- net-print/cups
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
- system-bootstrap? (
- || (
- dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)]
- dev-java/openjdk:${SLOT}[gentoo-vm(+)]
- )
- )
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}"
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
- java-vm-2_pkg_setup
-
- [[ ${MERGE_TYPE} == "binary" ]] && return
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- if use system-bootstrap; then
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
- fi
-}
-
-src_prepare() {
- use riscv && eapply "${WORKDIR}"/openjdk-11.0.14-riscv.patch
- default
- chmod +x configure || die
-}
-
-src_configure() {
- if ! use system-bootstrap; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- fi
-
- # Work around stack alignment issue, bug #647954.
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # Work around -fno-common ( GCC10 default ), bug #713180
- append-flags -fcommon
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Enabling full docs appears to break doc building. If not
- # explicitly disabled, the flag will get auto-enabled if pandoc and
- # graphviz are detected. pandoc has loads of dependencies anyway.
-
- local myconf=(
- --disable-ccache
- --disable-precompiled-headers
- --enable-full-docs=no
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype="${XPAK_BOOTSTRAP:-system}"
- --with-giflib="${XPAK_BOOTSTRAP:-system}"
- --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
- --with-lcms="${XPAK_BOOTSTRAP:-system}"
- --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
- --with-libpng="${XPAK_BOOTSTRAP:-system}"
- --with-native-debug-symbols=$(usex debug internal none)
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-vendor-version-string="${PVR}"
- --with-version-pre=""
- --with-version-string="${PV%_p*}"
- --with-version-build="${PV#*_p}"
- --with-zlib="${XPAK_BOOTSTRAP:-system}"
- --enable-dtrace=$(usex systemtap yes no)
- --enable-headless-only=$(usex headless-awt yes no)
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
- ! use riscv && myconf+=( --with-jvm-features=shenandoahgc )
-
- if use javafx; then
- # this is not useful for users, just for upstream developers
- # build system compares mesa version in md file
- # https://bugs.gentoo.org/822612
- export LEGAL_EXCLUDES=mesa3d.md
-
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
- if use !system-bootstrap ; then
- addpredict /dev/random
- addpredict /proc/self/coredump_filter
- fi
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images product-images)
- )
- emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- cd "${S}"/build/*-release/images/jdk || die
-
- # Create files used as storage for system preferences.
- mkdir .systemPrefs || die
- touch .systemPrefs/.system.lock || die
- touch .systemPrefs/.systemRootModFile || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- # must be done before running itself
- java-vm_set-pax-markings "${ddest}"
-
- einfo "Creating the Class Data Sharing archives and disabling usage tracking"
- "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/images/docs/*
- dosym8 -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-11.0.16.1_p1.ebuild b/dev-java/openjdk/openjdk-11.0.16.1_p1.ebuild
deleted file mode 100644
index 055cb96bc4a9..000000000000
--- a/dev-java/openjdk/openjdk-11.0.16.1_p1.ebuild
+++ /dev/null
@@ -1,300 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
-# set build version properly
-MY_PV="${PV%_p*}-ga"
-SLOT="${MY_PV%%[.+]*}"
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-PPC64_XPAK="11.0.13_p8" # big-endian bootstrap tarball
-RISCV_XPAK="11.0.14_p9" # lp64d bootstrap tarball
-X86_XPAK="11.0.13_p8"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
- local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
- local suff="tar.xz"
- local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
- local ver="${2:?${FUNCNAME[0]}: version not specified}"
- local cond="${3-}"
-
- # here be dragons
- echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })"
-}
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri riscv ${RISCV_XPAK})
- $(bootstrap_uri x86 ${X86_XPAK})
- )
- riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-11.0.14-riscv.patch.xz )
-"
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- sys-libs/zlib
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-util/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/zip
- media-libs/alsa-lib
- net-print/cups
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
- system-bootstrap? (
- || (
- dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)]
- dev-java/openjdk:${SLOT}[gentoo-vm(+)]
- )
- )
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}"
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
- java-vm-2_pkg_setup
-
- [[ ${MERGE_TYPE} == "binary" ]] && return
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- if use system-bootstrap; then
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
- fi
-}
-
-src_prepare() {
- use riscv && eapply "${WORKDIR}"/openjdk-11.0.14-riscv.patch
- default
- chmod +x configure || die
-}
-
-src_configure() {
- if ! use system-bootstrap; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- fi
-
- # Work around stack alignment issue, bug #647954.
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # Work around -fno-common ( GCC10 default ), bug #713180
- append-flags -fcommon
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Enabling full docs appears to break doc building. If not
- # explicitly disabled, the flag will get auto-enabled if pandoc and
- # graphviz are detected. pandoc has loads of dependencies anyway.
-
- local myconf=(
- --disable-ccache
- --disable-precompiled-headers
- --enable-full-docs=no
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype="${XPAK_BOOTSTRAP:-system}"
- --with-giflib="${XPAK_BOOTSTRAP:-system}"
- --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
- --with-lcms="${XPAK_BOOTSTRAP:-system}"
- --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
- --with-libpng="${XPAK_BOOTSTRAP:-system}"
- --with-native-debug-symbols=$(usex debug internal none)
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-vendor-version-string="${PVR}"
- --with-version-pre=""
- --with-version-string="${PV%_p*}"
- --with-version-build="${PV#*_p}"
- --with-zlib="${XPAK_BOOTSTRAP:-system}"
- --enable-dtrace=$(usex systemtap yes no)
- --enable-headless-only=$(usex headless-awt yes no)
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
- ! use riscv && myconf+=( --with-jvm-features=shenandoahgc )
-
- if use javafx; then
- # this is not useful for users, just for upstream developers
- # build system compares mesa version in md file
- # https://bugs.gentoo.org/822612
- export LEGAL_EXCLUDES=mesa3d.md
-
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
- if use !system-bootstrap ; then
- addpredict /dev/random
- addpredict /proc/self/coredump_filter
- fi
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images product-images)
- )
- emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- cd "${S}"/build/*-release/images/jdk || die
-
- # Create files used as storage for system preferences.
- mkdir .systemPrefs || die
- touch .systemPrefs/.system.lock || die
- touch .systemPrefs/.systemRootModFile || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- # must be done before running itself
- java-vm_set-pax-markings "${ddest}"
-
- einfo "Creating the Class Data Sharing archives and disabling usage tracking"
- "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/images/docs/*
- dosym8 -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-11.0.22_p7.ebuild b/dev-java/openjdk/openjdk-11.0.22_p7.ebuild
new file mode 100644
index 000000000000..a5a6cc2d4a63
--- /dev/null
+++ b/dev-java/openjdk/openjdk-11.0.22_p7.ebuild
@@ -0,0 +1,312 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+
+# don't change versioning scheme
+# to find correct _p number, look at
+# https://github.com/openjdk/jdk${SLOT}u/tags
+# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
+# to exact same commit sha. we should always use the full version.
+# -ga tag is just for humans to easily identify General Availability release tag.
+# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
+# set build version properly
+MY_PV="${PV%_p*}-ga"
+SLOT="${MY_PV%%[.+]*}"
+
+# variable name format: <UPPERCASE_KEYWORD>_XPAK
+PPC64_XPAK="11.0.13_p8" # big-endian bootstrap tarball
+RISCV_XPAK="11.0.14_p9" # lp64d bootstrap tarball
+X86_XPAK="11.0.13_p8"
+
+# Usage: bootstrap_uri <keyword> <version> [extracond]
+# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
+# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
+bootstrap_uri() {
+ local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
+ local suff="tar.xz"
+ local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
+ local ver="${2:?${FUNCNAME[0]}: version not specified}"
+ local cond="${3-}"
+
+ # here be dragons
+ echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })"
+}
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.org"
+SRC_URI="
+ https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
+ -> ${P}.tar.gz
+ !system-bootstrap? (
+ $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
+ $(bootstrap_uri riscv ${RISCV_XPAK})
+ $(bootstrap_uri x86 ${X86_XPAK})
+ )
+ riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-11.0.18-riscv.patch.xz )
+"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
+
+IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source system-bootstrap systemtap"
+
+REQUIRED_USE="
+ javafx? ( alsa !headless-awt )
+ !system-bootstrap? ( jbootstrap )
+"
+
+COMMON_DEPEND="
+ media-libs/freetype:2=
+ media-libs/giflib:0/7
+ media-libs/harfbuzz:=
+ media-libs/libpng:0=
+ media-libs/lcms:2=
+ sys-libs/zlib
+ media-libs/libjpeg-turbo:0=
+ systemtap? ( dev-debug/systemtap )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-apps/baselayout-java-0.1.0-r1
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ app-arch/zip
+ media-libs/alsa-lib
+ net-print/cups
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ javafx? ( dev-java/openjfx:${SLOT}= )
+ system-bootstrap? (
+ || (
+ dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)]
+ dev-java/openjdk:${SLOT}[gentoo-vm(+)]
+ )
+ )
+"
+
+S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}"
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 2GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+ local M
+ M=2048
+ M=$(( $(usex jbootstrap 2 1) * $M ))
+ M=$(( $(usex debug 3 1) * $M ))
+ M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
+
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+ openjdk_check_requirements
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+ fi
+}
+
+pkg_setup() {
+ openjdk_check_requirements
+ java-vm-2_pkg_setup
+
+ [[ ${MERGE_TYPE} == "binary" ]] && return
+
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_SOURCE="${SLOT}"
+ JAVA_PKG_WANT_TARGET="${SLOT}"
+
+ if use system-bootstrap; then
+ for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+ if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
+ java-pkg-2_pkg_setup
+ return
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ use riscv && eapply "${WORKDIR}"/openjdk-11.0.18-riscv.patch
+ default
+ chmod +x configure || die
+}
+
+src_configure() {
+ if ! use system-bootstrap; then
+ local xpakvar="${ARCH^^}_XPAK"
+ export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
+ fi
+
+ # Work around stack alignment issue, bug #647954.
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # bug 906987; append-cppflags doesnt work
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
+ # Strip some flags users may set, but should not. #818502
+ filter-flags -fexceptions
+
+ # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
+ # https://bugs.gentoo.org/833097
+ # https://bugs.gentoo.org/833098
+ filter-lto
+ filter-flags -fdevirtualize-at-ltrans
+
+ # Enabling full docs appears to break doc building. If not
+ # explicitly disabled, the flag will get auto-enabled if pandoc and
+ # graphviz are detected. pandoc has loads of dependencies anyway.
+
+ local myconf=(
+ --disable-ccache
+ --disable-precompiled-headers
+ --enable-full-docs=no
+ --with-boot-jdk="${JDK_HOME}"
+ --with-extra-cflags="${CFLAGS}"
+ --with-extra-cxxflags="${CXXFLAGS}"
+ --with-extra-ldflags="${LDFLAGS}"
+ --with-freetype="${XPAK_BOOTSTRAP:-system}"
+ --with-giflib="${XPAK_BOOTSTRAP:-system}"
+ --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
+ --with-lcms="${XPAK_BOOTSTRAP:-system}"
+ --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
+ --with-libpng="${XPAK_BOOTSTRAP:-system}"
+ --with-native-debug-symbols=$(usex debug internal none)
+ --with-vendor-name="Gentoo"
+ --with-vendor-url="https://gentoo.org"
+ --with-vendor-bug-url="https://bugs.gentoo.org"
+ --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+ --with-vendor-version-string="${PVR}"
+ --with-version-pre=""
+ --with-version-string="${PV%_p*}"
+ --with-version-build="${PV#*_p}"
+ --with-zlib="${XPAK_BOOTSTRAP:-system}"
+ --enable-dtrace=$(usex systemtap yes no)
+ --enable-headless-only=$(usex headless-awt yes no)
+ $(tc-is-clang && echo "--with-toolchain-type=clang")
+ )
+ ! use riscv && myconf+=( --with-jvm-features=shenandoahgc )
+
+ use lto && myconf+=( --with-jvm-features=link-time-opt )
+
+ if use javafx; then
+ # this is not useful for users, just for upstream developers
+ # build system compares mesa version in md file
+ # https://bugs.gentoo.org/822612
+ export LEGAL_EXCLUDES=mesa3d.md
+
+ local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+ if [[ -r ${zip} ]]; then
+ myconf+=( --with-import-modules="${zip}" )
+ else
+ die "${zip} not found or not readable"
+ fi
+ fi
+
+ if use !system-bootstrap ; then
+ addpredict /dev/random
+ addpredict /proc/self/coredump_filter
+ fi
+
+ (
+ unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+ CFLAGS= CXXFLAGS= LDFLAGS= \
+ CONFIG_SITE=/dev/null \
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ # Too brittle - gets confused by e.g. -Oline
+ export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
+ unset GNUMAKEFLAGS MAKEFLAGS
+
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ NICE= # Use PORTAGE_NICENESS, don't adjust further down
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images product-images)
+ )
+ emake "${myemakeargs[@]}" -j1
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+ local ddest="${ED}/${dest#/}"
+
+ cd "${S}"/build/*-release/images/jdk || die
+
+ # Create files used as storage for system preferences.
+ mkdir .systemPrefs || die
+ touch .systemPrefs/.system.lock || die
+ touch .systemPrefs/.systemRootModFile || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if ! use examples ; then
+ rm -vr demo/ || die
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ # must be done before running itself
+ java-vm_set-pax-markings "${ddest}"
+
+ einfo "Creating the Class Data Sharing archives and disabling usage tracking"
+ "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${S}"/build/*-release/images/docs/*
+ dosym8 -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk/openjdk-17.0.10_p7.ebuild b/dev-java/openjdk/openjdk-17.0.10_p7.ebuild
new file mode 100644
index 000000000000..0b834a1a41a4
--- /dev/null
+++ b/dev-java/openjdk/openjdk-17.0.10_p7.ebuild
@@ -0,0 +1,321 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+
+# variable name format: <UPPERCASE_KEYWORD>_XPAK
+ARM64_XPAK="17.0.2_p8" # musl bootstrap install
+PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball
+RISCV_XPAK="17.0.3_p7"
+X86_XPAK="17.0.1_p12"
+
+# Usage: bootstrap_uri <keyword> <version> [extracond]
+# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
+# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
+bootstrap_uri() {
+ local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
+ local suff="tar.xz"
+ local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
+ local ver="${2:?${FUNCNAME[0]}: version not specified}"
+ local cond="${3-}"
+ [[ ${cond} == elibc_musl* ]] && local musl=yes
+
+ # here be dragons
+ echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
+}
+
+# don't change versioning scheme
+# to find correct _p number, look at
+# https://github.com/openjdk/jdk${SLOT}u/tags
+# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
+# to exact same commit sha. we should always use the full version.
+# -ga tag is just for humans to easily identify General Availability release tag.
+MY_PV="${PV%_p*}-ga"
+SLOT="${MY_PV%%[.+]*}"
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.org"
+SRC_URI="
+ https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
+ -> ${P}.tar.gz
+ !system-bootstrap? (
+ $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
+ $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
+ $(bootstrap_uri x86 ${X86_XPAK})
+ $(bootstrap_uri riscv ${RISCV_XPAK})
+ )
+"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
+
+IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source system-bootstrap systemtap"
+
+REQUIRED_USE="
+ javafx? ( alsa !headless-awt )
+ !system-bootstrap? ( jbootstrap )
+"
+
+COMMON_DEPEND="
+ media-libs/freetype:2=
+ media-libs/giflib:0/7
+ media-libs/harfbuzz:=
+ media-libs/libpng:0=
+ media-libs/lcms:2=
+ sys-libs/zlib
+ media-libs/libjpeg-turbo:0=
+ systemtap? ( dev-debug/systemtap )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-apps/baselayout-java-0.1.0-r1
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ app-arch/zip
+ media-libs/alsa-lib
+ net-print/cups
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ javafx? ( dev-java/openjfx:${SLOT}= )
+ system-bootstrap? (
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+ )
+"
+
+S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 2GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+ local M
+ M=2048
+ M=$(( $(usex jbootstrap 2 1) * $M ))
+ M=$(( $(usex debug 3 1) * $M ))
+ M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
+
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+ openjdk_check_requirements
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+ fi
+}
+
+pkg_setup() {
+ openjdk_check_requirements
+ java-vm-2_pkg_setup
+
+ [[ ${MERGE_TYPE} == "binary" ]] && return
+
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_SOURCE="${SLOT}"
+ JAVA_PKG_WANT_TARGET="${SLOT}"
+
+ # The nastiness below is necessary while the gentoo-vm USE flag is
+ # masked. First we call java-pkg-2_pkg_setup if it looks like the
+ # flag was unmasked against one of the possible build VMs. If not,
+ # we try finding one of them in their expected locations. This would
+ # have been slightly less messy if openjdk-bin had been installed to
+ # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+ # file but disable it so that it would not normally be selectable.
+
+ local vm
+ for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+ if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
+ java-pkg-2_pkg_setup
+ return
+ fi
+ done
+}
+
+src_prepare() {
+ default
+ chmod +x configure || die
+}
+
+src_configure() {
+ if has_version dev-java/openjdk:${SLOT}; then
+ export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
+ elif use !system-bootstrap ; then
+ local xpakvar="${ARCH^^}_XPAK"
+ export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
+ else
+ JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
+ [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+ JDK_HOME=${JDK_HOME#*/}
+ JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
+ export JDK_HOME
+ fi
+
+ # Work around stack alignment issue, bug #647954. in case we ever have x86
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # bug 906987; append-cppflags doesnt work
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
+ # Strip some flags users may set, but should not. #818502
+ filter-flags -fexceptions
+
+ # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
+ # https://bugs.gentoo.org/833097
+ # https://bugs.gentoo.org/833098
+ filter-lto
+ filter-flags -fdevirtualize-at-ltrans
+
+ # Enabling full docs appears to break doc building. If not
+ # explicitly disabled, the flag will get auto-enabled if pandoc and
+ # graphviz are detected. pandoc has loads of dependencies anyway.
+
+ local myconf=(
+ --disable-ccache
+ --disable-precompiled-headers
+ --disable-warnings-as-errors
+ --enable-full-docs=no
+ --with-boot-jdk="${JDK_HOME}"
+ --with-extra-cflags="${CFLAGS}"
+ --with-extra-cxxflags="${CXXFLAGS}"
+ --with-extra-ldflags="${LDFLAGS}"
+ --with-freetype="${XPAK_BOOTSTRAP:-system}"
+ --with-giflib="${XPAK_BOOTSTRAP:-system}"
+ --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
+ --with-lcms="${XPAK_BOOTSTRAP:-system}"
+ --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
+ --with-libpng="${XPAK_BOOTSTRAP:-system}"
+ --with-native-debug-symbols=$(usex debug internal none)
+ --with-vendor-name="Gentoo"
+ --with-vendor-url="https://gentoo.org"
+ --with-vendor-bug-url="https://bugs.gentoo.org"
+ --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+ --with-vendor-version-string="${PVR}"
+ --with-version-pre=""
+ --with-version-string="${PV%_p*}"
+ --with-version-build="${PV#*_p}"
+ --with-zlib="${XPAK_BOOTSTRAP:-system}"
+ --enable-jvm-feature-dtrace=$(usex systemtap yes no)
+ --enable-headless-only=$(usex headless-awt yes no)
+ $(tc-is-clang && echo "--with-toolchain-type=clang")
+ )
+
+ use lto && myconf+=( --with-jvm-features=link-time-opt )
+
+ if use javafx; then
+ local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+ if [[ -r ${zip} ]]; then
+ myconf+=( --with-import-modules="${zip}" )
+ else
+ die "${zip} not found or not readable"
+ fi
+ fi
+
+ if use !system-bootstrap ; then
+ addpredict /dev/random
+ addpredict /proc/self/coredump_filter
+ fi
+
+ (
+ unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+ CFLAGS= CXXFLAGS= LDFLAGS= \
+ CONFIG_SITE=/dev/null \
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ # Too brittle - gets confused by e.g. -Oline
+ export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
+ unset GNUMAKEFLAGS MAKEFLAGS
+
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ NICE= # Use PORTAGE_NICENESS, don't adjust further down
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images product-images)
+ )
+ emake "${myemakeargs[@]}" -j1
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+ local ddest="${ED}/${dest#/}"
+
+ cd "${S}"/build/*-release/images/jdk || die
+
+ # Create files used as storage for system preferences.
+ mkdir .systemPrefs || die
+ touch .systemPrefs/.system.lock || die
+ touch .systemPrefs/.systemRootModFile || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if ! use examples ; then
+ rm -vr demo/ || die
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ # must be done before running itself
+ java-vm_set-pax-markings "${ddest}"
+
+ einfo "Creating the Class Data Sharing archives and disabling usage tracking"
+ "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${S}"/build/*-release/images/docs/*
+ dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild b/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild
deleted file mode 100644
index 9f355b7b9030..000000000000
--- a/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild
+++ /dev/null
@@ -1,315 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-ARM64_XPAK="17.0.2_p8" # musl bootstrap install
-PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball
-RISCV_XPAK="17.0.3_p7"
-X86_XPAK="17.0.1_p12"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
- local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
- local suff="tar.xz"
- local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
- local ver="${2:?${FUNCNAME[0]}: version not specified}"
- local cond="${3-}"
- [[ ${cond} == elibc_musl* ]] && local musl=yes
-
- # here be dragons
- echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
-}
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-MY_PV="${PV//_p/+}"
-SLOT="$(ver_cut 1)"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.java.net"
-SRC_URI="
- https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri x86 ${X86_XPAK})
- $(bootstrap_uri riscv ${RISCV_XPAK})
- )
- riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-17.0.3-riscv.patch.xz )
-"
-
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
-
-IUSE="alsa big-endian cups debug doc examples +gentoo-vm headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- sys-libs/zlib
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-util/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/zip
- media-libs/alsa-lib
- net-print/cups
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
- system-bootstrap? (
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-PATCHES=( "${FILESDIR}"/${PN}-17.0.3-fix-nullptr-cast.patch )
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
- java-vm-2_pkg_setup
-
- [[ ${MERGE_TYPE} == "binary" ]] && return
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- # The nastiness below is necessary while the gentoo-vm USE flag is
- # masked. First we call java-pkg-2_pkg_setup if it looks like the
- # flag was unmasked against one of the possible build VMs. If not,
- # we try finding one of them in their expected locations. This would
- # have been slightly less messy if openjdk-bin had been installed to
- # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
- # file but disable it so that it would not normally be selectable.
-
- local vm
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
-}
-
-src_prepare() {
- use riscv && eapply "${WORKDIR}"/openjdk-17.0.3-riscv.patch
- default
- chmod +x configure || die
-}
-
-src_configure() {
- if has_version dev-java/openjdk:${SLOT}; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
- elif use !system-bootstrap ; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- else
- JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
- [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
- JDK_HOME=${JDK_HOME#*/}
- JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
- export JDK_HOME
- fi
-
- # Work around stack alignment issue, bug #647954. in case we ever have x86
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # Work around -fno-common ( GCC10 default ), bug #713180
- append-flags -fcommon
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Enabling full docs appears to break doc building. If not
- # explicitly disabled, the flag will get auto-enabled if pandoc and
- # graphviz are detected. pandoc has loads of dependencies anyway.
-
- local myconf=(
- --disable-ccache
- --disable-precompiled-headers
- --disable-warnings-as-errors
- --enable-full-docs=no
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype="${XPAK_BOOTSTRAP:-system}"
- --with-giflib="${XPAK_BOOTSTRAP:-system}"
- --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
- --with-lcms="${XPAK_BOOTSTRAP:-system}"
- --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
- --with-libpng="${XPAK_BOOTSTRAP:-system}"
- --with-native-debug-symbols=$(usex debug internal none)
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-vendor-version-string="${PVR}"
- --with-version-pre=""
- --with-version-string="${PV%_p*}"
- --with-version-build="${PV#*_p}"
- --with-zlib="${XPAK_BOOTSTRAP:-system}"
- --enable-dtrace=$(usex systemtap yes no)
- --enable-headless-only=$(usex headless-awt yes no)
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
-
- use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
-
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
- if use !system-bootstrap ; then
- addpredict /dev/random
- addpredict /proc/self/coredump_filter
- fi
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images product-images)
- )
- emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- cd "${S}"/build/*-release/images/jdk || die
-
- # Create files used as storage for system preferences.
- mkdir .systemPrefs || die
- touch .systemPrefs/.system.lock || die
- touch .systemPrefs/.systemRootModFile || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- # must be done before running itself
- java-vm_set-pax-markings "${ddest}"
-
- einfo "Creating the Class Data Sharing archives and disabling usage tracking"
- "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
- use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/images/docs/*
- dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild b/dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild
deleted file mode 100644
index 2ed126279a79..000000000000
--- a/dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild
+++ /dev/null
@@ -1,316 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-ARM64_XPAK="17.0.2_p8" # musl bootstrap install
-PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball
-RISCV_XPAK="17.0.3_p7"
-X86_XPAK="17.0.1_p12"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
- local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
- local suff="tar.xz"
- local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
- local ver="${2:?${FUNCNAME[0]}: version not specified}"
- local cond="${3-}"
- [[ ${cond} == elibc_musl* ]] && local musl=yes
-
- # here be dragons
- echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
-}
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-MY_PV="${PV//_p/+}"
-
-SLOT="$(ver_cut 1)"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri x86 ${X86_XPAK})
- $(bootstrap_uri riscv ${RISCV_XPAK})
- )
- riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-17.0.3-riscv.patch.xz )
-"
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- sys-libs/zlib
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-util/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/zip
- media-libs/alsa-lib
- net-print/cups
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
- system-bootstrap? (
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-PATCHES=( "${FILESDIR}"/${PN}-17.0.3-fix-nullptr-cast.patch )
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
- java-vm-2_pkg_setup
-
- [[ ${MERGE_TYPE} == "binary" ]] && return
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- # The nastiness below is necessary while the gentoo-vm USE flag is
- # masked. First we call java-pkg-2_pkg_setup if it looks like the
- # flag was unmasked against one of the possible build VMs. If not,
- # we try finding one of them in their expected locations. This would
- # have been slightly less messy if openjdk-bin had been installed to
- # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
- # file but disable it so that it would not normally be selectable.
-
- local vm
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
-}
-
-src_prepare() {
- use riscv && eapply "${WORKDIR}"/openjdk-17.0.3-riscv.patch
- default
- chmod +x configure || die
-}
-
-src_configure() {
- if has_version dev-java/openjdk:${SLOT}; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
- elif use !system-bootstrap ; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- else
- JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
- [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
- JDK_HOME=${JDK_HOME#*/}
- JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
- export JDK_HOME
- fi
-
- # Work around stack alignment issue, bug #647954. in case we ever have x86
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # Work around -fno-common ( GCC10 default ), bug #713180
- append-flags -fcommon
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Enabling full docs appears to break doc building. If not
- # explicitly disabled, the flag will get auto-enabled if pandoc and
- # graphviz are detected. pandoc has loads of dependencies anyway.
-
- local myconf=(
- --disable-ccache
- --disable-precompiled-headers
- --disable-warnings-as-errors
- --enable-full-docs=no
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype="${XPAK_BOOTSTRAP:-system}"
- --with-giflib="${XPAK_BOOTSTRAP:-system}"
- --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
- --with-lcms="${XPAK_BOOTSTRAP:-system}"
- --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
- --with-libpng="${XPAK_BOOTSTRAP:-system}"
- --with-native-debug-symbols=$(usex debug internal none)
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-vendor-version-string="${PVR}"
- --with-version-pre=""
- --with-version-string="${PV%_p*}"
- --with-version-build="${PV#*_p}"
- --with-zlib="${XPAK_BOOTSTRAP:-system}"
- --enable-dtrace=$(usex systemtap yes no)
- --enable-headless-only=$(usex headless-awt yes no)
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
-
- use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
-
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
- if use !system-bootstrap ; then
- addpredict /dev/random
- addpredict /proc/self/coredump_filter
- fi
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images product-images)
- )
- emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- cd "${S}"/build/*-release/images/jdk || die
-
- # Create files used as storage for system preferences.
- mkdir .systemPrefs || die
- touch .systemPrefs/.system.lock || die
- touch .systemPrefs/.systemRootModFile || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- # must be done before running itself
- java-vm_set-pax-markings "${ddest}"
-
- einfo "Creating the Class Data Sharing archives and disabling usage tracking"
- "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/images/docs/*
- dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-17.0.5_p5.ebuild b/dev-java/openjdk/openjdk-17.0.5_p5.ebuild
deleted file mode 100644
index 191467d5a34c..000000000000
--- a/dev-java/openjdk/openjdk-17.0.5_p5.ebuild
+++ /dev/null
@@ -1,313 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-ARM64_XPAK="17.0.2_p8" # musl bootstrap install
-PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball
-RISCV_XPAK="17.0.3_p7"
-X86_XPAK="17.0.1_p12"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
-# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
-bootstrap_uri() {
- local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
- local suff="tar.xz"
- local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
- local ver="${2:?${FUNCNAME[0]}: version not specified}"
- local cond="${3-}"
- [[ ${cond} == elibc_musl* ]] && local musl=yes
-
- # here be dragons
- echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
-}
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-MY_PV="${PV//_p/+}"
-SLOT="$(ver_cut 1)"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri x86 ${X86_XPAK})
- $(bootstrap_uri riscv ${RISCV_XPAK})
- )
- riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-17.0.3-riscv.patch.xz )
-"
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- sys-libs/zlib
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-util/systemtap )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/zip
- media-libs/alsa-lib
- net-print/cups
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- javafx? ( dev-java/openjfx:${SLOT}= )
- system-bootstrap? (
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
- java-vm-2_pkg_setup
-
- [[ ${MERGE_TYPE} == "binary" ]] && return
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- # The nastiness below is necessary while the gentoo-vm USE flag is
- # masked. First we call java-pkg-2_pkg_setup if it looks like the
- # flag was unmasked against one of the possible build VMs. If not,
- # we try finding one of them in their expected locations. This would
- # have been slightly less messy if openjdk-bin had been installed to
- # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
- # file but disable it so that it would not normally be selectable.
-
- local vm
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
-}
-
-src_prepare() {
- use riscv && eapply "${WORKDIR}"/openjdk-17.0.3-riscv.patch
- default
- chmod +x configure || die
-}
-
-src_configure() {
- if has_version dev-java/openjdk:${SLOT}; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
- elif use !system-bootstrap ; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- else
- JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
- [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
- JDK_HOME=${JDK_HOME#*/}
- JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
- export JDK_HOME
- fi
-
- # Work around stack alignment issue, bug #647954. in case we ever have x86
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # Work around -fno-common ( GCC10 default ), bug #713180
- append-flags -fcommon
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Enabling full docs appears to break doc building. If not
- # explicitly disabled, the flag will get auto-enabled if pandoc and
- # graphviz are detected. pandoc has loads of dependencies anyway.
-
- local myconf=(
- --disable-ccache
- --disable-precompiled-headers
- --disable-warnings-as-errors
- --enable-full-docs=no
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype="${XPAK_BOOTSTRAP:-system}"
- --with-giflib="${XPAK_BOOTSTRAP:-system}"
- --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
- --with-lcms="${XPAK_BOOTSTRAP:-system}"
- --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
- --with-libpng="${XPAK_BOOTSTRAP:-system}"
- --with-native-debug-symbols=$(usex debug internal none)
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-vendor-version-string="${PVR}"
- --with-version-pre=""
- --with-version-string="${PV%_p*}"
- --with-version-build="${PV#*_p}"
- --with-zlib="${XPAK_BOOTSTRAP:-system}"
- --enable-dtrace=$(usex systemtap yes no)
- --enable-headless-only=$(usex headless-awt yes no)
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
-
- use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
-
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
- if use !system-bootstrap ; then
- addpredict /dev/random
- addpredict /proc/self/coredump_filter
- fi
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images product-images)
- )
- emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- cd "${S}"/build/*-release/images/jdk || die
-
- # Create files used as storage for system preferences.
- mkdir .systemPrefs || die
- touch .systemPrefs/.system.lock || die
- touch .systemPrefs/.systemRootModFile || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- # must be done before running itself
- java-vm_set-pax-markings "${ddest}"
-
- einfo "Creating the Class Data Sharing archives and disabling usage tracking"
- "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/images/docs/*
- dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-21.0.2_p13.ebuild b/dev-java/openjdk/openjdk-21.0.2_p13.ebuild
new file mode 100644
index 000000000000..9da45c9869b2
--- /dev/null
+++ b/dev-java/openjdk/openjdk-21.0.2_p13.ebuild
@@ -0,0 +1,320 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+
+# variable name format: <UPPERCASE_KEYWORD>_XPAK
+PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball
+X86_XPAK="21.0.0_p35"
+
+# Usage: bootstrap_uri <keyword> <version> [extracond]
+# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian)
+# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) )
+bootstrap_uri() {
+ local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
+ local suff="tar.xz"
+ local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
+ local ver="${2:?${FUNCNAME[0]}: version not specified}"
+ local cond="${3-}"
+ [[ ${cond} == elibc_musl* ]] && local musl=yes
+
+ # here be dragons
+ echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
+}
+
+# don't change versioning scheme
+# to find correct _p number, look at
+# https://github.com/openjdk/jdk${SLOT}u/tags
+# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
+# to exact same commit sha. we should always use the full version.
+# -ga tag is just for humans to easily identify General Availability release tag.
+MY_PV="${PV%_p*}-ga"
+SLOT="${MY_PV%%[.+]*}"
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.org"
+SRC_URI="
+ https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
+ -> ${P}.tar.gz
+ !system-bootstrap? (
+ $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
+ $(bootstrap_uri x86 ${X86_XPAK})
+ )
+"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source +system-bootstrap systemtap"
+
+REQUIRED_USE="
+ javafx? ( alsa !headless-awt )
+ !system-bootstrap? ( jbootstrap )
+ !system-bootstrap? ( || ( ppc64 x86 ) )
+"
+
+COMMON_DEPEND="
+ media-libs/freetype:2=
+ media-libs/giflib:0/7
+ media-libs/harfbuzz:=
+ media-libs/libpng:0=
+ media-libs/lcms:2=
+ sys-libs/zlib
+ media-libs/libjpeg-turbo:0=
+ systemtap? ( dev-debug/systemtap )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-apps/baselayout-java-0.1.0-r1
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ app-arch/zip
+ media-libs/alsa-lib
+ net-print/cups
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ javafx? ( dev-java/openjfx:${SLOT}= )
+ system-bootstrap? (
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+ )
+"
+
+S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 2GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+ local M
+ M=2048
+ M=$(( $(usex jbootstrap 2 1) * $M ))
+ M=$(( $(usex debug 3 1) * $M ))
+ M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
+
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+ openjdk_check_requirements
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+ fi
+}
+
+pkg_setup() {
+ openjdk_check_requirements
+ java-vm-2_pkg_setup
+
+ [[ ${MERGE_TYPE} == "binary" ]] && return
+
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_SOURCE="${SLOT}"
+ JAVA_PKG_WANT_TARGET="${SLOT}"
+
+ # The nastiness below is necessary while the gentoo-vm USE flag is
+ # masked. First we call java-pkg-2_pkg_setup if it looks like the
+ # flag was unmasked against one of the possible build VMs. If not,
+ # we try finding one of them in their expected locations. This would
+ # have been slightly less messy if openjdk-bin had been installed to
+ # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+ # file but disable it so that it would not normally be selectable.
+
+ local vm
+ for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+ if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
+ java-pkg-2_pkg_setup
+ return
+ fi
+ done
+}
+
+src_prepare() {
+ default
+ chmod +x configure || die
+}
+
+src_configure() {
+ if has_version dev-java/openjdk:${SLOT}; then
+ export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
+ elif use !system-bootstrap ; then
+ local xpakvar="${ARCH^^}_XPAK"
+ export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
+ else
+ JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
+ [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+ JDK_HOME=${JDK_HOME#*/}
+ JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
+ export JDK_HOME
+ fi
+
+ # Work around stack alignment issue, bug #647954. in case we ever have x86
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # bug 906987; append-cppflags doesnt work
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
+ # Strip some flags users may set, but should not. #818502
+ filter-flags -fexceptions
+
+ # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
+ # https://bugs.gentoo.org/833097
+ # https://bugs.gentoo.org/833098
+ filter-lto
+ filter-flags -fdevirtualize-at-ltrans
+
+ # Enabling full docs appears to break doc building. If not
+ # explicitly disabled, the flag will get auto-enabled if pandoc and
+ # graphviz are detected. pandoc has loads of dependencies anyway.
+
+ local myconf=(
+ --disable-ccache
+ --disable-precompiled-headers
+ --disable-warnings-as-errors
+ --enable-full-docs=no
+ --with-boot-jdk="${JDK_HOME}"
+ --with-extra-cflags="${CFLAGS}"
+ --with-extra-cxxflags="${CXXFLAGS}"
+ --with-extra-ldflags="${LDFLAGS}"
+ --with-freetype="${XPAK_BOOTSTRAP:-system}"
+ --with-giflib="${XPAK_BOOTSTRAP:-system}"
+ --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
+ --with-lcms="${XPAK_BOOTSTRAP:-system}"
+ --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
+ --with-libpng="${XPAK_BOOTSTRAP:-system}"
+ --with-native-debug-symbols=$(usex debug internal none)
+ --with-vendor-name="Gentoo"
+ --with-vendor-url="https://gentoo.org"
+ --with-vendor-bug-url="https://bugs.gentoo.org"
+ --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+ --with-vendor-version-string="${PVR}"
+ --with-version-pre=""
+ --with-version-string="${PV%_p*}"
+ --with-version-build="${PV#*_p}"
+ --with-zlib="${XPAK_BOOTSTRAP:-system}"
+ --enable-jvm-feature-dtrace=$(usex systemtap yes no)
+ --enable-headless-only=$(usex headless-awt yes no)
+ $(tc-is-clang && echo "--with-toolchain-type=clang")
+ )
+
+ use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
+
+ use lto && myconf+=( --with-jvm-features=link-time-opt )
+
+ if use javafx; then
+ local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+ if [[ -r ${zip} ]]; then
+ myconf+=( --with-import-modules="${zip}" )
+ else
+ die "${zip} not found or not readable"
+ fi
+ fi
+
+ if use !system-bootstrap ; then
+ addpredict /dev/random
+ addpredict /proc/self/coredump_filter
+ fi
+
+ (
+ unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+ CFLAGS= CXXFLAGS= LDFLAGS= \
+ CONFIG_SITE=/dev/null \
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ # Too brittle - gets confused by e.g. -Oline
+ export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
+ unset GNUMAKEFLAGS MAKEFLAGS
+
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ NICE= # Use PORTAGE_NICENESS, don't adjust further down
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images product-images)
+ )
+ emake "${myemakeargs[@]}" -j1
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+ local ddest="${ED}/${dest#/}"
+
+ cd "${S}"/build/*-release/images/jdk || die
+
+ # Create files used as storage for system preferences.
+ mkdir .systemPrefs || die
+ touch .systemPrefs/.system.lock || die
+ touch .systemPrefs/.systemRootModFile || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if ! use examples ; then
+ rm -vr demo/ || die
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ # must be done before running itself
+ java-vm_set-pax-markings "${ddest}"
+
+ einfo "Creating the Class Data Sharing archives and disabling usage tracking"
+ "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${S}"/build/*-release/images/docs/*
+ dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openjdk/openjdk-8.332_p09.ebuild b/dev-java/openjdk/openjdk-8.332_p09.ebuild
deleted file mode 100644
index e2f8f421b145..000000000000
--- a/dev-java/openjdk/openjdk-8.332_p09.ebuild
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
-# set build version properly
-MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)"
-SLOT="${PV%%[.+]*}"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="https://github.com/openjdk/jdk${SLOT}u/archive/refs/tags/jdk${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-KEYWORDS="amd64 arm64 ppc64 x86"
-IUSE="alsa debug cups doc examples headless-awt javafx +jbootstrap selinux source"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- sys-libs/zlib
-"
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/zip
- media-libs/alsa-lib
- net-print/cups
- virtual/pkgconfig
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/icedtea-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- dev-java/icedtea:${SLOT}
- )
-"
-
-BDEPEND="
- virtual/pkgconfig
-"
-
-PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}"
-
-PATCHES=( "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch" )
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT} icedtea-${SLOT} icedtea-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- java-vm-2_pkg_setup
- java-pkg-2_pkg_setup
-}
-
-src_prepare() {
- default
-
- # new warnings in new gcc https://bugs.gentoo.org/685426
- sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \
- hotspot/make/linux/makefiles/gcc.make || die
-
- chmod +x configure || die
-}
-
-src_configure() {
- # general build info found here:
- #https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html
-
- # Work around stack alignment issue, bug #647954.
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # Work around -fno-common ( GCC10 default ), bug #706638
- append-flags -fcommon
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- tc-export_build_env CC CXX PKG_CONFIG STRIP
-
- local myconf=(
- --disable-ccache
- --disable-freetype-bundling
- --disable-precompiled-headers
- --enable-unlimited-crypto
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype-lib="$( $(tc-getPKG_CONFIG) --variable=libdir freetype2 )"
- --with-freetype-include="$( $(tc-getPKG_CONFIG) --variable=includedir freetype2)/freetype2"
- --with-giflib=system
- --with-jtreg=no
- --with-jobs=1
- --with-num-cores=1
- --with-update-version="$(ver_cut 2)"
- --with-build-number="b$(ver_cut 4)"
- --with-milestone="fcs" # magic variable that means "release version"
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-zlib=system
- --with-native-debug-symbols=$(usex debug internal none)
- $(usex headless-awt --disable-headful '')
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- CONFIG_SHELL="${BROOT}/bin/bash"
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images images)
- )
- emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- cd "${S}"/build/*-release/images/j2sdk-image || die
-
- if ! use alsa; then
- rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die
- fi
-
- # build system does not remove that
- if use headless-awt ; then
- rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \
- {,jre/}bin/policytool bin/appletviewer || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v src.zip || die
- fi
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
-
- java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/docs/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
- einfo "JavaWebStart functionality provided by icedtea-web package"
-}
diff --git a/dev-java/openjdk/openjdk-8.345_p01.ebuild b/dev-java/openjdk/openjdk-8.345_p01.ebuild
deleted file mode 100644
index 0981ff23ed4e..000000000000
--- a/dev-java/openjdk/openjdk-8.345_p01.ebuild
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
-# set build version properly
-MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)"
-SLOT="${PV%%[.+]*}"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="https://github.com/openjdk/jdk${SLOT}u/archive/refs/tags/jdk${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE="alsa debug cups doc examples headless-awt javafx +jbootstrap selinux source"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- sys-libs/zlib
-"
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
- ${COMMON_DEPEND}
- >=sys-apps/baselayout-java-0.1.0-r1
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- app-arch/zip
- media-libs/alsa-lib
- net-print/cups
- virtual/pkgconfig
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/icedtea-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- dev-java/icedtea:${SLOT}
- )
-"
-
-BDEPEND="
- virtual/pkgconfig
-"
-
-PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}"
-
-PATCHES=( "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch" )
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT} icedtea-${SLOT} icedtea-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- java-vm-2_pkg_setup
- java-pkg-2_pkg_setup
-}
-
-src_prepare() {
- default
-
- # new warnings in new gcc https://bugs.gentoo.org/685426
- sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \
- hotspot/make/linux/makefiles/gcc.make || die
-
- chmod +x configure || die
-}
-
-src_configure() {
- # general build info found here:
- #https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html
-
- # Work around stack alignment issue, bug #647954.
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # Work around -fno-common ( GCC10 default ), bug #706638
- append-flags -fcommon
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- tc-export_build_env CC CXX PKG_CONFIG STRIP
-
- local myconf=(
- --disable-ccache
- --disable-freetype-bundling
- --disable-precompiled-headers
- --enable-unlimited-crypto
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype-lib="$( $(tc-getPKG_CONFIG) --variable=libdir freetype2 )"
- --with-freetype-include="$( $(tc-getPKG_CONFIG) --variable=includedir freetype2)/freetype2"
- --with-giflib=system
- --with-jtreg=no
- --with-jobs=1
- --with-num-cores=1
- --with-update-version="$(ver_cut 2)"
- --with-build-number="b$(ver_cut 4)"
- --with-milestone="fcs" # magic variable that means "release version"
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-zlib=system
- --with-native-debug-symbols=$(usex debug internal none)
- $(usex headless-awt --disable-headful '')
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- CONFIG_SHELL="${BROOT}/bin/bash"
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images images)
- )
- emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- cd "${S}"/build/*-release/images/j2sdk-image || die
-
- if ! use alsa; then
- rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die
- fi
-
- # build system does not remove that
- if use headless-awt ; then
- rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \
- {,jre/}bin/policytool bin/appletviewer || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v src.zip || die
- fi
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
-
- java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/docs/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
- einfo "JavaWebStart functionality provided by icedtea-web package"
-}
diff --git a/dev-java/openjdk/openjdk-8.402_p06-r2.ebuild b/dev-java/openjdk/openjdk-8.402_p06-r2.ebuild
new file mode 100644
index 000000000000..84a8a1eeb9d6
--- /dev/null
+++ b/dev-java/openjdk/openjdk-8.402_p06-r2.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+
+# don't change versioning scheme
+# to find correct _p number, look at
+# https://github.com/openjdk/jdk${SLOT}u/tags
+# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
+# to exact same commit sha. we should always use the full version.
+# -ga tag is just for humans to easily identify General Availability release tag.
+# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
+# set build version properly
+MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)"
+SLOT="${PV%%[.+]*}"
+
+# variable name format: <UPPERCASE_KEYWORD>_XPAK
+X86_XPAK="8.402_p06"
+PPC64_XPAK="8.402_p06"
+
+# Usage: bootstrap_uri <keyword> <version> [extracond]
+# Example: $(bootstrap_uri x86 8.402_p06)
+# Output: ppc64? ( big-endian? ( https://...8.402_p06-x86.tar.xz ) )
+bootstrap_uri() {
+ local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
+ local suff="tar.xz"
+ local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
+ local ver="${2:?${FUNCNAME[0]}: version not specified}"
+ local cond="${3-}"
+
+ # here be dragons
+ echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })"
+}
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.org"
+SRC_URI="
+ https://github.com/openjdk/jdk${SLOT}u/archive/refs/tags/jdk${MY_PV}.tar.gz
+ -> ${P}.tar.gz
+ !system-bootstrap? (
+ $(bootstrap_uri x86 ${X86_XPAK})
+ $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
+ )
+"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="amd64 arm64 ppc64 x86"
+IUSE="alsa big-endian debug cups doc examples headless-awt javafx +jbootstrap selinux system-bootstrap source"
+
+COMMON_DEPEND="
+ media-libs/freetype:2=
+ media-libs/giflib:0/7
+ sys-libs/zlib
+"
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-apps/baselayout-java-0.1.0-r1
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ app-arch/zip
+ media-libs/alsa-lib
+ net-print/cups
+ virtual/pkgconfig
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ system-bootstrap? (
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+ )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
+
+S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch"
+ "${FILESDIR}/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch"
+ "${FILESDIR}/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch"
+ "${FILESDIR}/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch"
+ "${FILESDIR}/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch"
+)
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 2GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+ local M
+ M=2048
+ M=$(( $(usex debug 3 1) * $M ))
+ M=$(( $(usex jbootstrap 2 1) * $M ))
+ M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
+
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+ openjdk_check_requirements
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+ fi
+}
+
+pkg_setup() {
+ openjdk_check_requirements
+ java-vm-2_pkg_setup
+
+ [[ ${MERGE_TYPE} == "binary" ]] && return
+
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_SOURCE="${SLOT}"
+ JAVA_PKG_WANT_TARGET="${SLOT}"
+
+ if use system-bootstrap; then
+ for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+ if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
+ java-pkg-2_pkg_setup
+ return
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ default
+
+ # new warnings in new gcc https://bugs.gentoo.org/685426
+ sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \
+ hotspot/make/linux/makefiles/gcc.make || die
+
+ chmod +x configure || die
+}
+
+src_configure() {
+ if ! use system-bootstrap; then
+ local xpakvar="${ARCH^^}_XPAK"
+ export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
+ fi
+
+ # general build info found here:
+ # https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html
+
+ # -Wregister use (bug #918655)
+ append-cxxflags -std=gnu++14
+
+ # Work around stack alignment issue, bug #647954.
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # Strip some flags users may set, but should not. #818502
+ filter-flags -fexceptions
+
+ # Strip lto related flags, no support in this version.
+ # https://bugs.gentoo.org/833097
+ # https://bugs.gentoo.org/833098
+ filter-lto
+ filter-flags -fdevirtualize-at-ltrans
+
+ tc-export_build_env CC CXX PKG_CONFIG STRIP
+
+ local myconf=(
+ --disable-ccache
+ --disable-freetype-bundling
+ --disable-precompiled-headers
+ --enable-unlimited-crypto
+ --with-boot-jdk="${JDK_HOME}"
+ --with-extra-cflags="${CFLAGS}"
+ --with-extra-cxxflags="${CXXFLAGS}"
+ --with-extra-ldflags="${LDFLAGS}"
+ --with-freetype-lib="$( $(tc-getPKG_CONFIG) --variable=libdir freetype2 )"
+ --with-freetype-include="$( $(tc-getPKG_CONFIG) --variable=includedir freetype2)/freetype2"
+ --with-giflib="${XPAK_BOOTSTRAP:-system}"
+ --with-jtreg=no
+ --with-jobs=1
+ --with-num-cores=1
+ --with-update-version="$(ver_cut 2)"
+ --with-build-number="b$(ver_cut 4)"
+ --with-milestone="fcs" # magic variable that means "release version"
+ --with-vendor-name="Gentoo"
+ --with-vendor-url="https://gentoo.org"
+ --with-vendor-bug-url="https://bugs.gentoo.org"
+ --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+ --with-zlib="${XPAK_BOOTSTRAP:-system}"
+ --with-native-debug-symbols=$(usex debug internal none)
+ $(usex headless-awt --disable-headful '')
+ $(tc-is-clang && echo "--with-toolchain-type=clang")
+ )
+
+ (
+ unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS
+ CFLAGS= CXXFLAGS= LDFLAGS= \
+ CONFIG_SITE=/dev/null \
+ CONFIG_SHELL="${BROOT}/bin/bash"
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ # Too brittle - gets confused by e.g. -Oline
+ export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
+ unset GNUMAKEFLAGS MAKEFLAGS
+
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ NICE= # Use PORTAGE_NICENESS, don't adjust further down
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images images)
+ )
+ emake "${myemakeargs[@]}" -j1
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+ local ddest="${ED}/${dest#/}"
+
+ cd "${S}"/build/*-release/images/j2sdk-image || die
+
+ if ! use alsa; then
+ rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die
+ fi
+
+ # build system does not remove that
+ if use headless-awt ; then
+ rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \
+ {,jre/}bin/policytool bin/appletviewer || die
+ fi
+
+ if ! use examples ; then
+ rm -vr demo/ || die
+ fi
+
+ if ! use source ; then
+ rm -v src.zip || die
+ fi
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
+
+ java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${S}"/build/*-release/docs/*
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+ einfo "JavaWebStart functionality provided by icedtea-web package"
+}
diff --git a/dev-java/openjfx/Manifest b/dev-java/openjfx/Manifest
index 65b4b0f82bef..63028b364713 100644
--- a/dev-java/openjfx/Manifest
+++ b/dev-java/openjfx/Manifest
@@ -8,6 +8,5 @@ DIST lucene-queries-7.1.0.jar 243126 BLAKE2B 166c3efea04c19314be7fd8c1d6b1378b2b
DIST lucene-queryparser-7.1.0.jar 384680 BLAKE2B adce2572de9f534323eead31dd30f97b853b2d5e4be6828c415f0c647460c361e00680d856ff9ffbba0fe45c3e4a425d68938a3d2dc01c76491bb65673e120fa SHA512 7151ef899e318679995138262c3450577ae33580708864581dc22a027f43ca4989825d434680925547e3c04ad4453a454e7045f605d7eee0da57d63db978ed68
DIST lucene-sandbox-7.1.0.jar 182914 BLAKE2B 70c795f84d8f0908abe47db77f632eeb6571a77e1445b8ab04a75080cea40e3b8171071965ff7fd9f6d39a450dd33144e922d19c1f07c605de54b45e3e881323 SHA512 6faf9fd9c7c082bf062adb6a28d89447e6e27152eb3f0a325081e5f791196e5440334632ccbf9c458940220676f7e73390a174889d9b7a656d088b3dade5d500
DIST openjfx-11.0.11_p1.tar.bz2 65017753 BLAKE2B ea5834e469bb0bd3a70595a91cc298f6091bc45de4c471ee9d0bcd45700ab3966a3396781ace2666bf94decd1219a83f01b277116cf23baeb6dd34a1a0f44191 SHA512 a1f94b3166aca50344f8af77ec2a5f52be1b0abc1c65fd3ff97f98017377ab772262502af00ad8cd4a6c44281ea459aff43a9cb7e30a1c35b822da8fb39b94fb
-DIST openjfx-11.0.9_p0.tar.bz2 64148934 BLAKE2B 317fb1c9ea99816ecbd8ab64ed3a6ad0aaa319bedd17bf71ee192c5e610fea14611f3938302f1caf666980bcc7d4787f770e36aec1884a73dac3ddba8e1a878f SHA512 8b6d339131f096b4490d7a8c4a20c15362b4f6c6aa4ddd74f610f3b5a8b8c7aac3ab123dcdd5488cc37dc38f1536ce1db95286f4233ee4db1845d1bd560b2236
DIST openjfx-8.1000-backports.tar.bz2 9142182 BLAKE2B 58ea420ec015c49d2755105a3d11675a92ecab337c7bda5a1ad72e84d0b35f04ed4252cee24da89b1e7b1b5b8b8b9fea7db93364434800246b87827b21970cc3 SHA512 077392368947cb9da1b5c7e14b641d6edcddd9821eb4f16dbea33e8986568211e93799aca29e70b490c8ef2125d69f8372abd1b1ce428a95420f62ff15c414d6
DIST openjfx-8.1000.tar.bz2 62286455 BLAKE2B c9a714a618d9ae02768dae6128756d64b2b6299a36a6ad9828bf2213dc641cbbcaa2d3f3e0b4913bb60893419a2d5c730ca2db88f759bbd94b3e83112199278c SHA512 6049730b72e569939fed3d62b46a409e949b4c2309f4355253c8c891799c7fb5138e20aa217454fbbd78b1dd99c254b34b3fe6c9cbb35854bd8656993655bf32
diff --git a/dev-java/openjfx/files/11/0001-c99.patch b/dev-java/openjfx/files/11/0001-c99.patch
new file mode 100644
index 000000000000..f553d2858801
--- /dev/null
+++ b/dev-java/openjfx/files/11/0001-c99.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/919413
+https://src.fedoraproject.org/rpms/openjfx/c/9e893037f3a20273c79603220b7a18a44be60fcc?branch=rawhide
+
+commit 42321838b98d2ebb3d8384c88a764ff2b4d70581
+Author: Florian Weimer <fweimer@openjdk.org>
+Date: Fri Jun 16 12:19:10 2023 +0000
+
+ 8307542: Call to FcConfigAppFontAddFile uses wrong prototype, arguments
+
+ Reviewed-by: kcr
+
+--- a/modules/javafx.graphics/src/main/native-font/pango.c
++++ b/modules/javafx.graphics/src/main/native-font/pango.c
+@@ -243,7 +243,7 @@ JNIEXPORT jboolean JNICALL OS_NATIVE(FcConfigAppFontAddFile)
+ if (text) {
+ // rc = (jboolean)FcConfigAppFontAddFile(arg0, text);
+ if (fp) {
+- rc = (jboolean)((jboolean (*)(void *, const char *))fp)(arg0, text);
++ rc = (jboolean)((int (*)(void *, const char *))fp)((void *)arg0, text);
+ }
+ (*env)->ReleaseStringUTFChars(env, arg1, text);
+ }
diff --git a/dev-java/openjfx/files/11/0002-c99.patch b/dev-java/openjfx/files/11/0002-c99.patch
new file mode 100644
index 000000000000..4cdc5ed35e50
--- /dev/null
+++ b/dev-java/openjfx/files/11/0002-c99.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/919413
+https://src.fedoraproject.org/rpms/openjfx/c/9e893037f3a20273c79603220b7a18a44be60fcc?branch=rawhide
+
+8323078: Incorrect length argument to g_utf8_strlen in pango.c
+
+Submitted upstream: <https://github.com/openjdk/jfx/pull/1320>
+
+--- a/modules/javafx.graphics/src/main/native-font/pango.c
++++ b/modules/javafx.graphics/src/main/native-font/pango.c
+@@ -402,7 +402,7 @@ JNIEXPORT jlong JNICALL OS_NATIVE(g_1utf8_1strlen)
+ (JNIEnv *env, jclass that, jlong str, jlong pos)
+ {
+ if (!str) return 0;
+- return (jlong)g_utf8_strlen((const gchar *)str, (const gchar *)pos);
++ return (jlong)g_utf8_strlen((const gchar *)str, (gssize)pos);
+ }
+
+ JNIEXPORT jlong JNICALL OS_NATIVE(g_1utf16_1to_1utf8)
diff --git a/dev-java/openjfx/files/11/0003-c99.patch b/dev-java/openjfx/files/11/0003-c99.patch
new file mode 100644
index 000000000000..8779f882b799
--- /dev/null
+++ b/dev-java/openjfx/files/11/0003-c99.patch
@@ -0,0 +1,19 @@
+https://bugs.gentoo.org/919413
+https://src.fedoraproject.org/rpms/openjfx/c/9e893037f3a20273c79603220b7a18a44be60fcc?branch=rawhide
+
+8323077: C type error (incompatible function pointer) in X11GLContext.c
+
+Submitted upstream: <https://github.com/openjdk/jfx/pull/1319>
+
+--- a/modules/javafx.graphics/src/main/native-prism-es2/x11/X11GLContext.c
++++ b/modules/javafx.graphics/src/main/native-prism-es2/x11/X11GLContext.c
+@@ -275,7 +275,8 @@ JNIEXPORT jlong JNICALL Java_com_sun_prism_es2_X11GLContext_nInitialize
+ dlsym(RTLD_DEFAULT, "glXSwapIntervalSGI");
+
+ if (ctxInfo->glXSwapIntervalSGI == NULL) {
+- ctxInfo->glXSwapIntervalSGI = glXGetProcAddress("glXSwapIntervalSGI");
++ ctxInfo->glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)
++ glXGetProcAddress((const GLubyte *)"glXSwapIntervalSGI");
+ }
+
+ }
diff --git a/dev-java/openjfx/files/11/ffmpeg5.patch b/dev-java/openjfx/files/11/ffmpeg5.patch
new file mode 100644
index 000000000000..ca0bd1fbecb5
--- /dev/null
+++ b/dev-java/openjfx/files/11/ffmpeg5.patch
@@ -0,0 +1,17 @@
+--- a/build.gradle
++++ b/build.gradle
+@@ -3710,14 +3710,6 @@
+ }
+ }
+ }
+- } else {
+- // Building fxavcodec plugin (libav plugin)
+- exec {
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
+- args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
+- "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
+- "BASE_NAME=avplugin", IS_64 ? "ARCH=x64" : "ARCH=x32")
+- }
+ }
+ }
+ }
diff --git a/dev-java/openjfx/files/11/respect-cc.patch b/dev-java/openjfx/files/11/respect-cc.patch
new file mode 100644
index 000000000000..85b742f3a630
--- /dev/null
+++ b/dev-java/openjfx/files/11/respect-cc.patch
@@ -0,0 +1,15 @@
+diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle
+index 2295566..ce54c3f 100644
+--- a/buildSrc/linux.gradle
++++ b/buildSrc/linux.gradle
+@@ -214,8 +214,8 @@ setupTools("linux_freetype_tools",
+ }
+ )
+
+-def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : "${toolchainDir}gcc";
+-def linker = IS_STATIC_BUILD ? "ar" : IS_COMPILE_PARFAIT ? "parfait-g++" : "${toolchainDir}g++";
++def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : System.getenv("CC");
++def linker = IS_STATIC_BUILD ? "ar" : IS_COMPILE_PARFAIT ? "parfait-g++" : System.getenv("CXX");
+
+ LINUX.glass = [:]
+ LINUX.glass.variants = ["glass", "glassgtk2", "glassgtk3"]
diff --git a/dev-java/openjfx/files/11/strip-blank-elements-flags.patch b/dev-java/openjfx/files/11/strip-blank-elements-flags.patch
new file mode 100644
index 000000000000..87f0279979f7
--- /dev/null
+++ b/dev-java/openjfx/files/11/strip-blank-elements-flags.patch
@@ -0,0 +1,29 @@
+Without this, you'll get bizarre errors where linking fails because it looks for
+a literal "" arg.
+
+https://bugs.gentoo.org/715092
+https://bugs.gentoo.org/719484
+https://bugs.gentoo.org/799227
+https://bugs.gentoo.org/915727
+--- a/buildSrc/linux.gradle
++++ b/buildSrc/linux.gradle
+@@ -47,7 +47,8 @@ def commonFlags = [
+ "-Wno-error=cast-function-type",
+ "-Wextra", "-Wall", "-Wformat-security", "-Wno-unused", "-Wno-parentheses", "-Werror=trampolines"] // warning flags
+
+-commonFlags.addAll(System.getenv("CFLAGS").trim().split(" "))
++commonFlags.addAll(System.getenv("CFLAGS").strip().split(" "))
++commonFlags.removeAll([""])
+
+ if (!IS_64) {
+ commonFlags += "-m32"
+@@ -75,7 +76,8 @@ def staticLinkFlags = [].flatten()
+
+ def linkFlags = IS_STATIC_BUILD ? staticLinkFlags : dynamicLinkFlags;
+
+-linkFlags.addAll(System.getenv("LDFLAGS").trim().split(" "))
++linkFlags.addAll(System.getenv("LDFLAGS").strip().split(" "))
++linkFlags.removeAll([""])
+
+ if (IS_DEBUG_NATIVE) {
+ linkFlags += "-g"
diff --git a/dev-java/openjfx/metadata.xml b/dev-java/openjfx/metadata.xml
index 06173f63487a..ea592d9837e1 100644
--- a/dev-java/openjfx/metadata.xml
+++ b/dev-java/openjfx/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
diff --git a/dev-java/openjfx/openjfx-11.0.11_p1-r3.ebuild b/dev-java/openjfx/openjfx-11.0.11_p1-r3.ebuild
new file mode 100644
index 000000000000..55962035a564
--- /dev/null
+++ b/dev-java/openjfx/openjfx-11.0.11_p1-r3.ebuild
@@ -0,0 +1,231 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="${PV/_p/+}"
+SLOT="${MY_PV%%[.+]*}"
+EGRADLE_VER="4.10.3"
+
+inherit flag-o-matic java-pkg-2 multiprocessing toolchain-funcs
+
+DESCRIPTION="Java OpenJFX client application platform"
+HOMEPAGE="https://openjfx.io"
+
+SRC_URI="
+ https://hg.openjdk.java.net/${PN}/${SLOT}-dev/rt/archive/${MY_PV}.tar.bz2 -> ${P}.tar.bz2
+ https://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
+ https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/7.1.0/lucene-sandbox-7.1.0.jar
+ https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/7.1.0/lucene-grouping-7.1.0.jar
+ https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/7.1.0/lucene-queryparser-7.1.0.jar
+ https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/7.1.0/lucene-queries-7.1.0.jar
+ https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/7.1.0/lucene-core-7.1.0.jar
+ https://repo.maven.apache.org/maven2/org/antlr/gunit/3.5.2/gunit-3.5.2.jar
+ https://repo1.maven.org/maven2/org/antlr/antlr4/4.7.2/antlr4-4.7.2-complete.jar
+ https://repo.maven.apache.org/maven2/org/antlr/ST4/4.0.8/ST4-4.0.8.jar
+"
+
+S="${WORKDIR}/rt-${MY_PV}"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="-* ~amd64 ~ppc64"
+IUSE="cpu_flags_x86_sse2 debug doc source +media"
+REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )"
+
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-java/swt:4.10[cairo,opengl]
+ dev-libs/glib:2
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+ media-libs/freetype:2
+ media-libs/fontconfig:1.0
+ media-libs/libjpeg-turbo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ x11-libs/gtk+:3
+ x11-libs/cairo[glib]
+ x11-libs/libX11
+ x11-libs/libXtst
+ x11-libs/libXxf86vm
+ x11-libs/pango
+ virtual/opengl
+ doc? ( dev-java/openjdk:${SLOT}[doc] )
+ !doc? (
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+ )
+"
+
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ app-arch/zip
+ dev-java/ant:0
+ dev-java/antlr:0
+ dev-java/antlr:3.5
+ dev-java/hamcrest-core:0
+ dev-java/stringtemplate:0
+ virtual/ttf-fonts
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/11/disable-buildSrc-tests.patch
+ "${FILESDIR}"/11/glibc-compatibility.patch
+ "${FILESDIR}"/11/respect-user-cflags-11.0.11.patch
+ "${FILESDIR}"/11/use-system-swt-jar.patch
+ "${FILESDIR}"/11/wno-error-11.0.11.patch
+ "${FILESDIR}"/11/don-t-force-msse-11.0.11.patch
+ "${FILESDIR}"/11/disable-architecture-verification.patch
+ "${FILESDIR}"/11/gstreamer-CVE-2021-3522.patch
+ "${FILESDIR}"/11/ffmpeg5.patch
+ "${FILESDIR}"/11/respect-cc.patch
+ "${FILESDIR}"/11/strip-blank-elements-flags.patch
+)
+
+egradle() {
+ local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
+ local gradle="${GRADLE_HOME}/bin/gradle"
+ local gradle_args=(
+ --info
+ --stacktrace
+ --no-build-cache
+ --no-daemon
+ --offline
+ --gradle-user-home "${T}/gradle_user_home"
+ --project-cache-dir "${T}/gradle_project_cache"
+ #--debug
+ )
+
+ export GRADLE_HOME
+
+ # FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
+ unset ANT_HOME
+
+ einfo "gradle "${gradle_args[@]}" ${@}"
+ # TERM needed, otherwise gradle may fail on terms it does not know about
+ TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
+}
+
+pkg_setup() {
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_SOURCE="${SLOT}"
+ JAVA_PKG_WANT_TARGET="${SLOT}"
+
+ # The nastiness below is necessary while the gentoo-vm USE flag is
+ # masked. First we call java-pkg-2_pkg_setup if it looks like the
+ # flag was unmasked against one of the possible build VMs. If not,
+ # we try finding one of them in their expected locations. This would
+ # have been slightly less messy if openjdk-bin had been installed to
+ # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+ # file but disable it so that it would not normally be selectable.
+
+ local vm
+ for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+ if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then
+ java-pkg-2_pkg_setup
+ return
+ fi
+ done
+
+ if has_version -b dev-java/openjdk:${SLOT}; then
+ export JAVA_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT}
+ export JDK_HOME="${JAVA_HOME}"
+ export ANT_RESPECT_JAVA_HOME=true
+ else
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
+ [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+ JDK_HOME=${JDK_HOME#*/}
+ JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
+ export JDK_HOME
+ export JAVA_HOME="${JDK_HOME}"
+ export ANT_RESPECT_JAVA_HOME=true
+ fi
+ fi
+}
+
+src_unpack() {
+ unpack "${P}.tar.bz2"
+ unpack "gradle-${EGRADLE_VER}-bin.zip"
+
+ mkdir "${T}/jars" || die
+
+ local line jar
+ for line in ${SRC_URI}; do
+ if [[ ${line} =~ (http|https)://[a-zA-Z0-9.-_]*/(maven2|m2|eclipse)/(.*[.]jar)$ ]]; then
+ jar=$(basename "${BASH_REMATCH[-1]}")
+ cp -v "${DISTDIR}/${jar}" "${T}/jars/" || die
+ fi
+ done
+}
+
+src_prepare() {
+ default
+
+ local d="${T}/jars"
+
+ java-pkg_jar-from --build-only --with-dependencies --into "${d}" antlr
+ java-pkg_jar-from --build-only --with-dependencies --into "${d}" antlr-3.5
+ java-pkg_jar-from --build-only --with-dependencies --into "${d}" stringtemplate
+ java-pkg_jar-from --build-only --with-dependencies --into "${d}" hamcrest-core
+
+ sed -i "s#__gentoo_swt_jar__#$(java-pkg_getjars swt-4.10)#" "${S}"/build.gradle || die
+}
+
+src_configure() {
+ append-flags -Wno-error -fcommon
+ # This package is ridiculously brittle and fails when building e.g.
+ # bundled gstreamer with LTO.
+ filter-lto
+ tc-export AR CC CXX
+
+ # FIXME: still calls pkg-config etc by name without chost prefix
+ # FIXME: should we enable webkit? doubt so
+
+ # build is very sensitive to doc presence, take extra steps
+ if use doc; then
+ local jdk_doc
+ if has_version -b dev-java/openjdk:${SLOT}[doc]; then
+ jdk_doc="${EPREFIX}/usr/share/doc/openjdk-${SLOT}/html/api"
+ fi
+ [[ -r ${jdk_doc}/element-list ]] || die "JDK Docs not found, terminating build early"
+ fi
+
+ cat <<- _EOF_ > "${S}"/gradle.properties
+ COMPILE_TARGETS = linux
+ COMPILE_WEBKIT = false
+ COMPILE_MEDIA = $(usex media true false)
+ JDK_DOCS = https://docs.oracle.com/en/java/javase/${SLOT}/docs/api
+ JDK_DOCS_LINK = $(usex doc "${jdk_doc}" "")
+ BUILD_LIBAV_STUBS = false
+ GRADLE_VERSION_CHECK = false
+ LINT = none
+ CONF = $(usex debug DebugNative Release)
+ NUM_COMPILE_THREADS = $(makeopts_jobs)
+ JFX_DEPS_URL = ${T}/jars
+ COMPANY_NAME = "Gentoo"
+ _EOF_
+}
+
+src_compile() {
+ egradle zips $(usex doc "" "--exclude-task javadoc")
+}
+
+src_install() {
+ if ! use source ; then
+ rm -v build/sdk/lib/src.zip || die
+ fi
+
+ insinto "/usr/$(get_libdir)/${PN}-${SLOT}"
+ doins -r build/sdk/.
+ doins build/javafx-exports.zip
+
+ if use doc; then
+ docinto html
+ dodoc -r build/javadoc/.
+ dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ fi
+}
diff --git a/dev-java/openjfx/openjfx-11.0.11_p1.ebuild b/dev-java/openjfx/openjfx-11.0.11_p1.ebuild
deleted file mode 100644
index 7d61ff67f2c2..000000000000
--- a/dev-java/openjfx/openjfx-11.0.11_p1.ebuild
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PV="${PV/_p/+}"
-SLOT="${MY_PV%%[.+]*}"
-EGRADLE_VER="4.10.3"
-
-inherit flag-o-matic java-pkg-2 multiprocessing
-
-DESCRIPTION="Java OpenJFX client application platform"
-HOMEPAGE="https://openjfx.io"
-
-SRC_URI="https://hg.openjdk.java.net/${PN}/${SLOT}-dev/rt/archive/${MY_PV}.tar.bz2 -> ${P}.tar.bz2
- https://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/7.1.0/lucene-sandbox-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/7.1.0/lucene-grouping-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/7.1.0/lucene-queryparser-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/7.1.0/lucene-queries-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/7.1.0/lucene-core-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/antlr/gunit/3.5.2/gunit-3.5.2.jar
- https://repo1.maven.org/maven2/org/antlr/antlr4/4.7.2/antlr4-4.7.2-complete.jar
- https://repo.maven.apache.org/maven2/org/antlr/ST4/4.0.8/ST4-4.0.8.jar
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="-* ~amd64 ~ppc64"
-
-IUSE="cpu_flags_x86_sse2 debug doc source +media"
-
-RDEPEND="
- dev-java/swt:4.10[cairo,opengl]
- dev-libs/atk
- dev-libs/glib:2
- dev-libs/libxml2:2
- dev-libs/libxslt
- media-libs/freetype:2
- media-libs/fontconfig:1.0
- media-video/ffmpeg:0=
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:2
- x11-libs/gtk+:3
- x11-libs/cairo[glib]
- x11-libs/libX11
- x11-libs/libXtst
- x11-libs/libXxf86vm
- x11-libs/pango
- virtual/jpeg
- virtual/opengl
- doc? ( dev-java/openjdk:${SLOT}[doc] )
- !doc? (
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-DEPEND="${RDEPEND}
- app-arch/unzip
- app-arch/zip
- >=dev-java/ant-core-1.10.7-r1:0
- dev-java/antlr:0
- dev-java/antlr:3.5
- dev-java/hamcrest-core:0
- dev-java/stringtemplate:0
- virtual/ttf-fonts
- virtual/pkgconfig
-"
-
-REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )"
-
-PATCHES=(
- "${FILESDIR}"/11/disable-buildSrc-tests.patch
- "${FILESDIR}"/11/glibc-compatibility.patch
- "${FILESDIR}"/11/respect-user-cflags-11.0.11.patch
- "${FILESDIR}"/11/use-system-swt-jar.patch
- "${FILESDIR}"/11/wno-error-11.0.11.patch
- "${FILESDIR}"/11/don-t-force-msse-11.0.11.patch
- "${FILESDIR}"/11/disable-architecture-verification.patch
- "${FILESDIR}"/11/gstreamer-CVE-2021-3522.patch
-)
-
-S="${WORKDIR}/rt-${MY_PV}"
-
-egradle() {
- local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
- local gradle="${GRADLE_HOME}/bin/gradle"
- local gradle_args=(
- --info
- --stacktrace
- --no-build-cache
- --no-daemon
- --offline
- --gradle-user-home "${T}/gradle_user_home"
- --project-cache-dir "${T}/gradle_project_cache"
- )
-
- export GRADLE_HOME
-
- # FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
- unset ANT_HOME
-
- einfo "gradle "${gradle_args[@]}" ${@}"
- # TERM needed, otherwise gradle may fail on terms it does not know about
- TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
-}
-
-pkg_setup() {
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- # The nastiness below is necessary while the gentoo-vm USE flag is
- # masked. First we call java-pkg-2_pkg_setup if it looks like the
- # flag was unmasked against one of the possible build VMs. If not,
- # we try finding one of them in their expected locations. This would
- # have been slightly less messy if openjdk-bin had been installed to
- # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
- # file but disable it so that it would not normally be selectable.
-
- local vm
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
-
- if has_version --host-root dev-java/openjdk:${SLOT}; then
- export JAVA_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT}
- export JDK_HOME="${JAVA_HOME}"
- export ANT_RESPECT_JAVA_HOME=true
-
- else
- if [[ ${MERGE_TYPE} != "binary" ]]; then
- JDK_HOME=$(best_version --host-root dev-java/openjdk-bin:${SLOT})
- [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
- JDK_HOME=${JDK_HOME#*/}
- JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
- export JDK_HOME
- export JAVA_HOME="${JDK_HOME}"
- export ANT_RESPECT_JAVA_HOME=true
- fi
- fi
-}
-
-src_unpack() {
- unpack "${P}.tar.bz2"
- unpack "gradle-${EGRADLE_VER}-bin.zip"
-
- mkdir "${T}/jars" || die
-
- local line jar
- for line in ${SRC_URI}; do
- if [[ ${line} =~ (http|https)://[a-zA-Z0-9.-_]*/(maven2|m2|eclipse)/(.*[.]jar)$ ]]; then
- jar=$(basename "${BASH_REMATCH[-1]}")
- cp -v "${DISTDIR}/${jar}" "${T}/jars/" || die
- fi
- done
-}
-
-src_prepare() {
- default
-
- local d="${T}/jars"
-
- java-pkg_jar-from --build-only --with-dependencies --into "${d}" antlr
- java-pkg_jar-from --build-only --with-dependencies --into "${d}" antlr-3.5
- java-pkg_jar-from --build-only --with-dependencies --into "${d}" stringtemplate
- java-pkg_jar-from --build-only --with-dependencies --into "${d}" hamcrest-core
-
- sed -i "s#__gentoo_swt_jar__#$(java-pkg_getjars swt-4.10)#" "${S}"/build.gradle || die
-}
-
-src_configure() {
- append-flags -Wno-error -fcommon
-
- #FIXME: still calls gcc, pkg-config etc by name without chost prefix
- #FIXME: should we enable webkit? doubt so
-
- # build is very sensetive to doc presense, take extra steps
- if use doc; then
- local jdk_doc
- if has_version --host-root dev-java/openjdk:${SLOT}[doc]; then
- jdk_doc="${EPREFIX}/usr/share/doc/openjdk-${SLOT}/html/api"
- fi
- [[ -r ${jdk_doc}/element-list ]] || die "JDK Docs not found, terminating build early"
- fi
-
- cat <<- _EOF_ > "${S}"/gradle.properties
- COMPILE_TARGETS = linux
- COMPILE_WEBKIT = false
- COMPILE_MEDIA = $(usex media true false)
- JDK_DOCS = https://docs.oracle.com/en/java/javase/${SLOT}/docs/api
- JDK_DOCS_LINK = $(usex doc "${jdk_doc}" "")
- BUILD_LIBAV_STUBS = false
- GRADLE_VERSION_CHECK = false
- LINT = none
- CONF = $(usex debug DebugNative Release)
- NUM_COMPILE_THREADS = $(makeopts_jobs)
- JFX_DEPS_URL = ${T}/jars
- COMPANY_NAME = "Gentoo"
- _EOF_
-}
-
-src_compile() {
- egradle zips $(usex doc "" "--exclude-task javadoc")
-}
-
-src_install() {
- if ! use source ; then
- rm -v build/sdk/lib/src.zip || die
- fi
-
- insinto "/usr/$(get_libdir)/${PN}-${SLOT}"
- doins -r build/sdk/.
- doins build/javafx-exports.zip
-
- if use doc; then
- docinto html
- dodoc -r build/javadoc/.
- dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
- fi
-}
diff --git a/dev-java/openjfx/openjfx-11.0.9_p0.ebuild b/dev-java/openjfx/openjfx-11.0.9_p0.ebuild
deleted file mode 100644
index 489a905614c1..000000000000
--- a/dev-java/openjfx/openjfx-11.0.9_p0.ebuild
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PV="${PV/_p/+}"
-SLOT="${MY_PV%%[.+]*}"
-EGRADLE_VER="4.10.3"
-
-inherit flag-o-matic java-pkg-2 multiprocessing
-
-DESCRIPTION="Java OpenJFX client application platform"
-HOMEPAGE="https://openjfx.io"
-
-SRC_URI="https://hg.openjdk.java.net/${PN}/${SLOT}-dev/rt/archive/${MY_PV}.tar.bz2 -> ${P}.tar.bz2
- https://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/7.1.0/lucene-sandbox-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/7.1.0/lucene-grouping-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/7.1.0/lucene-queryparser-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/7.1.0/lucene-queries-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/7.1.0/lucene-core-7.1.0.jar
- https://repo.maven.apache.org/maven2/org/antlr/gunit/3.5.2/gunit-3.5.2.jar
- https://repo1.maven.org/maven2/org/antlr/antlr4/4.7.2/antlr4-4.7.2-complete.jar
- https://repo.maven.apache.org/maven2/org/antlr/ST4/4.0.8/ST4-4.0.8.jar
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="-* ~amd64 ~ppc64"
-
-IUSE="cpu_flags_x86_sse2 debug doc source +media"
-
-RDEPEND="
- dev-java/swt:4.10[cairo,opengl]
- dev-libs/atk
- dev-libs/glib:2
- dev-libs/libxml2:2
- dev-libs/libxslt
- media-libs/freetype:2
- media-libs/fontconfig:1.0
- media-video/ffmpeg:0=
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:2
- x11-libs/gtk+:3
- x11-libs/cairo[glib]
- x11-libs/libX11
- x11-libs/libXtst
- x11-libs/libXxf86vm
- x11-libs/pango
- virtual/jpeg
- virtual/opengl
- doc? ( dev-java/openjdk:${SLOT}[doc] )
- !doc? (
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-DEPEND="${RDEPEND}
- app-arch/unzip
- app-arch/zip
- >=dev-java/ant-core-1.10.7-r1:0
- dev-java/antlr:0
- dev-java/antlr:3.5
- dev-java/hamcrest-core:0
- dev-java/stringtemplate:0
- virtual/ttf-fonts
- virtual/pkgconfig
-"
-
-REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )"
-
-PATCHES=(
- "${FILESDIR}"/11/disable-buildSrc-tests.patch
- "${FILESDIR}"/11/glibc-compatibility.patch
- "${FILESDIR}"/11/respect-user-cflags.patch
- "${FILESDIR}"/11/use-system-swt-jar.patch
- "${FILESDIR}"/11/wno-error.patch
- "${FILESDIR}"/11/don-t-force-msse.patch
- "${FILESDIR}"/11/disable-architecture-verification.patch
- "${FILESDIR}/11/${PV}-version.patch"
-)
-
-S="${WORKDIR}/rt-${MY_PV}"
-
-egradle() {
- local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
- local gradle="${GRADLE_HOME}/bin/gradle"
- local gradle_args=(
- --info
- --stacktrace
- --no-build-cache
- --no-daemon
- --offline
- --gradle-user-home "${T}/gradle_user_home"
- --project-cache-dir "${T}/gradle_project_cache"
- )
-
- export GRADLE_HOME
-
- # FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
- unset ANT_HOME
-
- einfo "gradle "${gradle_args[@]}" ${@}"
- # TERM needed, otherwise gradle may fail on terms it does not know about
- TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
-}
-
-pkg_setup() {
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- # The nastiness below is necessary while the gentoo-vm USE flag is
- # masked. First we call java-pkg-2_pkg_setup if it looks like the
- # flag was unmasked against one of the possible build VMs. If not,
- # we try finding one of them in their expected locations. This would
- # have been slightly less messy if openjdk-bin had been installed to
- # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
- # file but disable it so that it would not normally be selectable.
-
- local vm
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
-
- if has_version --host-root dev-java/openjdk:${SLOT}; then
- export JAVA_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT}
- export JDK_HOME="${JAVA_HOME}"
- export ANT_RESPECT_JAVA_HOME=true
-
- else
- if [[ ${MERGE_TYPE} != "binary" ]]; then
- JDK_HOME=$(best_version --host-root dev-java/openjdk-bin:${SLOT})
- [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
- JDK_HOME=${JDK_HOME#*/}
- JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
- export JDK_HOME
- export JAVA_HOME="${JDK_HOME}"
- export ANT_RESPECT_JAVA_HOME=true
- fi
- fi
-}
-
-src_unpack() {
- unpack "${P}.tar.bz2"
- unpack "gradle-${EGRADLE_VER}-bin.zip"
-
- mkdir "${T}/jars" || die
-
- local line jar
- for line in ${SRC_URI}; do
- if [[ ${line} =~ (http|https)://[a-zA-Z0-9.-_]*/(maven2|m2|eclipse)/(.*[.]jar)$ ]]; then
- jar=$(basename "${BASH_REMATCH[-1]}")
- cp -v "${DISTDIR}/${jar}" "${T}/jars/" || die
- fi
- done
-}
-
-src_prepare() {
- default
-
- local d="${T}/jars"
-
- java-pkg_jar-from --build-only --with-dependencies --into "${d}" antlr
- java-pkg_jar-from --build-only --with-dependencies --into "${d}" antlr-3.5
- java-pkg_jar-from --build-only --with-dependencies --into "${d}" stringtemplate
- java-pkg_jar-from --build-only --with-dependencies --into "${d}" hamcrest-core
-
- sed -i "s#__gentoo_swt_jar__#$(java-pkg_getjars swt-4.10)#" "${S}"/build.gradle || die
-}
-
-src_configure() {
- append-flags -Wno-error -fcommon
-
- #FIXME: still calls gcc, pkg-config etc by name without chost prefix
- #FIXME: should we enable webkit? doubt so
-
- # build is very sensetive to doc presense, take extra steps
- if use doc; then
- local jdk_doc
- if has_version --host-root dev-java/openjdk:${SLOT}[doc]; then
- jdk_doc="${EPREFIX}/usr/share/doc/openjdk-${SLOT}/html/api"
- fi
- [[ -r ${jdk_doc}/element-list ]] || die "JDK Docs not found, terminating build early"
- fi
-
- cat <<- _EOF_ > "${S}"/gradle.properties
- COMPILE_TARGETS = linux
- COMPILE_WEBKIT = false
- COMPILE_MEDIA = $(usex media true false)
- JDK_DOCS = https://docs.oracle.com/en/java/javase/${SLOT}/docs/api
- JDK_DOCS_LINK = $(usex doc "${jdk_doc}" "")
- BUILD_LIBAV_STUBS = false
- GRADLE_VERSION_CHECK = false
- LINT = none
- CONF = $(usex debug DebugNative Release)
- NUM_COMPILE_THREADS = $(makeopts_jobs)
- JFX_DEPS_URL = ${T}/jars
- COMPANY_NAME = "Gentoo"
- _EOF_
-}
-
-src_compile() {
- egradle zips $(usex doc "" "--exclude-task javadoc")
-}
-
-src_install() {
- if ! use source ; then
- rm -v build/sdk/lib/src.zip || die
- fi
-
- insinto "/usr/$(get_libdir)/${PN}-${SLOT}"
- doins -r build/sdk/.
- doins build/javafx-exports.zip
-
- if use doc; then
- docinto html
- dodoc -r build/javadoc/.
- dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
- fi
-}
diff --git a/dev-java/openjfx/openjfx-8.1000-r2.ebuild b/dev-java/openjfx/openjfx-8.1000-r2.ebuild
new file mode 100644
index 000000000000..ef27aefdb985
--- /dev/null
+++ b/dev-java/openjfx/openjfx-8.1000-r2.ebuild
@@ -0,0 +1,195 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit flag-o-matic java-pkg-2 java-pkg-simple multiprocessing toolchain-funcs
+
+EGRADLE_VER="4.10.3"
+EHG_COMMIT="9f49e3b6147f"
+
+DESCRIPTION="Java OpenJFX 8 client application platform"
+HOMEPAGE="https://openjfx.io"
+SRC_URI="
+ https://hg.openjdk.java.net/${PN}/8u-dev/rt/archive/${EHG_COMMIT}.tar.bz2 -> ${P}.tar.bz2
+ https://dev.gentoo.org/~gyakovlev/distfiles/${P}-backports.tar.bz2
+ https://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
+"
+# eclass overrides it, set back to normal
+S="${WORKDIR}/${P}"
+
+LICENSE="GPL-2-with-classpath-exception"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="debug doc media cpu_flags_x86_sse2"
+REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )"
+RESTRICT="test" # needs junit version we don't have, fragile
+
+DEPEND="
+ app-arch/unzip
+ >=dev-java/ant-1.10.14:0
+ >=dev-java/antlr-2.7.7-r7:0
+ dev-java/antlr:3
+ dev-java/openjdk:8
+ dev-java/stringtemplate:0
+ dev-java/swt:4.10[cairo,opengl]
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/jdk:1.8
+ virtual/pkgconfig
+"
+
+RDEPEND="
+ dev-java/swt:4.10[cairo,opengl]
+ virtual/jre:1.8
+"
+
+# FIXME: majority of flags are honored, needs a bit more patching
+QA_FLAGS_IGNORED=".*"
+
+JAVA_PKG_WANT_BUILD_VM="openjdk-8"
+JAVA_PKG_WANT_SOURCE="1.8"
+JAVA_PKG_WANT_TARGET="1.8"
+
+PATCHES=(
+ "${FILESDIR}"/8/99-sysdeps.patch
+ "${FILESDIR}"/8/disable-online-repos.patch
+ "${FILESDIR}"/8/respect_flags.patch
+ "${FILESDIR}"/8/0000-Fix-wait-call-in-PosixPlatform.patch
+ "${FILESDIR}"/8/0001-Change-Lucene.patch
+ "${FILESDIR}"/8/0003-fix-cast-between-incompatible-function-types.patch
+ "${FILESDIR}"/8/0004-Fix-Compilation-Flags.patch
+ "${FILESDIR}"/8/0005-don-t-include-xlocale.h.patch
+ "${FILESDIR}"/8/06-disable-architecture-verification.patch
+ "${FILESDIR}"/8/10-javadoc-locale.patch
+ "${FILESDIR}"/8/Wno-error.patch
+ "${FILESDIR}"/8/don-t-force-msse.patch
+ "${FILESDIR}"/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch
+)
+
+egradle() {
+ local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
+ local gradle="${GRADLE_HOME}/bin/gradle"
+ local gradle_args=(
+ --info
+ --stacktrace
+ --no-build-cache
+ --no-daemon
+ --offline
+ --gradle-user-home "${T}/gradle_user_home"
+ --project-cache-dir "${T}/gradle_project_cache"
+ )
+
+ export GRADLE_HOME
+
+ # FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
+ unset ANT_HOME
+
+ einfo "gradle "${gradle_args[@]}" ${@}"
+ # TERM needed, otherwise gradle may fail on terms it does not know about
+ TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
+}
+
+src_unpack() {
+ default
+ mv -v "rt-${EHG_COMMIT}" "${P}" || die
+}
+
+src_prepare() {
+ eapply "${WORKDIR}/${P}-backports"
+ default
+
+ # this will create local jar storage to be used as ivy repo
+ local d="${T}/jars"
+ mkdir "${d}" || die
+
+ # we need jars subdir in every prokect so gradle can find them
+ # only system jars, no bundling
+ local target targets
+ targets=(
+ jars
+ buildSrc/jars
+ modules/{base,builders,controls,extensions,fxml}/jars
+ modules/{graphics,jmx,media,swing,swt,web,fxpackager}/jars
+ )
+ einfo "Copying system jars"
+ for target in ${targets[@]}; do
+ ln -vs "${T}/jars" "${target}" || die
+ done
+
+ local swt_file_name="$(java-pkg_getjars swt-4.10)"
+ java-pkg_jar-from --build-only --into "${d}" ant ant.jar ant-1.8.2.jar
+ java-pkg_jar-from --build-only --into "${d}" ant ant-launcher.jar ant-launcher-1.8.2.jar
+ java-pkg_jar-from --build-only --into "${d}" antlr antlr.jar antlr-2.7.7.jar
+ java-pkg_jar-from --build-only --into "${d}" antlr-3 antlr-tool.jar antlr-3.1.3.jar
+ java-pkg_jar-from --build-only --into "${d}" antlr-3 antlr-runtime.jar antlr-runtime-3.1.3.jar
+ java-pkg_jar-from --build-only --into "${d}" stringtemplate stringtemplate.jar stringtemplate-3.2.jar
+ sed -i "s#compile name: SWT_FILE_NAME#compile files(\"${swt_file_name}\")#" "${S}"/build.gradle || die
+
+ sed -i 's/-rpath/-rpath-link/g' modules/media/src/main/native/jfxmedia/projects/linux/Makefile || die
+}
+
+src_configure() {
+ # see gradle.properties.template in ${S}
+ cat <<- _EOF_ > "${S}"/gradle.properties
+ COMPILE_TARGETS = linux
+ GRADLE_VERSION_CHECK = false
+ COMPILE_AVPLUGIN = $(usex media true false)
+ COMPILE_MEDIA = $(usex media true false)
+ COMPILE_WEBKIT = false
+ BUILD_JAVADOC = $(usex doc true false)
+ BUILD_SRC_ZIP = $(usex source true false)
+ FULL_TEST = false
+ CONF = $(usex debug DebugNative Release)
+ NUM_COMPILE_THREADS = $(makeopts_jobs)
+ _EOF_
+
+ local repostring='
+ repositories {
+ ivy {
+ url file("${projectDir}/jars")
+ layout "pattern", {
+ artifact "[artifact]-[revision].[ext]"
+ artifact "[artifact].[ext]"
+ }
+ }
+ mavenLocal()
+ }'
+
+ cat <<- _EOF_ > "${S}"/buildSrc/gentoo.gradle
+ ${repostring}
+ _EOF_
+
+ cat <<- _EOF_ > "${S}"/gentoo.gradle
+ ${repostring}
+ allprojects {
+ ${repostring}
+ }
+ _EOF_
+
+ echo "apply from: 'gentoo.gradle'" >> build.gradle || die
+ echo "apply from: 'gentoo.gradle'" >> buildSrc/build.gradle || die
+ sed -i 's/mavenCentral/mavenLocal/g' build.gradle || die
+ sed -i 's/mavenCentral/mavenLocal/g' buildSrc/build.gradle || die
+ einfo "Configured with the following settings:"
+ cat gradle.properties || die
+
+}
+
+src_compile() {
+ append-cflags '-fcommon'
+ tc-export_build_env CC CXX PKG_CONFIG
+ rm -r tests buildSrc/src/test || die
+ egradle openExportLinux
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/openjdk-${SLOT}"
+ local ddest="${ED}${dest}"
+ dodir "${dest}"
+ pushd build/export/sdk > /dev/null || die
+ cp -pPRv * "${ddest}" || die
+ popd > /dev/null || die
+}
diff --git a/dev-java/openjfx/openjfx-8.1000.ebuild b/dev-java/openjfx/openjfx-8.1000.ebuild
deleted file mode 100644
index 0864b67b0de4..000000000000
--- a/dev-java/openjfx/openjfx-8.1000.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-JAVA_PKG_IUSE="doc source"
-
-inherit eapi7-ver flag-o-matic java-pkg-2 java-pkg-simple multiprocessing toolchain-funcs
-
-EGRADLE_VER="4.10.3"
-EHG_COMMIT="9f49e3b6147f"
-
-DESCRIPTION="Java OpenJFX 8 client application platform"
-HOMEPAGE="https://openjfx.io"
-SRC_URI="
- https://hg.openjdk.java.net/${PN}/8u-dev/rt/archive/${EHG_COMMIT}.tar.bz2 -> ${P}.tar.bz2
- https://dev.gentoo.org/~gyakovlev/distfiles/${P}-backports.tar.bz2
- https://services.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~ppc64"
-
-IUSE="debug doc media cpu_flags_x86_sse2"
-
-DEPEND="
- app-arch/unzip
- >=dev-java/ant-core-1.8.2:0
- >=dev-java/antlr-2.7.7-r7:0
- dev-java/antlr:3
- dev-java/openjdk:8
- dev-java/stringtemplate:0
- dev-java/swt:4.10[cairo,opengl]
- sys-devel/bison
- sys-devel/flex
- virtual/jdk:1.8
- virtual/pkgconfig
-"
-
-RDEPEND="
- dev-java/swt:4.10[cairo,opengl]
- virtual/jre:1.8
-"
-
-REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )"
-
-RESTRICT="test" # needs junit version we don't have, fragile
-
-# eclass overrides it, set back to normal
-S="${WORKDIR}/${P}"
-
-# FIXME: majority of flags are honored, needs a bit more patching
-QA_FLAGS_IGNORED=".*"
-
-JAVA_PKG_WANT_BUILD_VM="openjdk-8"
-JAVA_PKG_WANT_SOURCE="1.8"
-JAVA_PKG_WANT_TARGET="1.8"
-
-PATCHES=(
- "${FILESDIR}"/8/99-sysdeps.patch
- "${FILESDIR}"/8/disable-online-repos.patch
- "${FILESDIR}"/8/respect_flags.patch
- "${FILESDIR}"/8/0000-Fix-wait-call-in-PosixPlatform.patch
- "${FILESDIR}"/8/0001-Change-Lucene.patch
- "${FILESDIR}"/8/0003-fix-cast-between-incompatible-function-types.patch
- "${FILESDIR}"/8/0004-Fix-Compilation-Flags.patch
- "${FILESDIR}"/8/0005-don-t-include-xlocale.h.patch
- "${FILESDIR}"/8/06-disable-architecture-verification.patch
- "${FILESDIR}"/8/10-javadoc-locale.patch
- "${FILESDIR}"/8/Wno-error.patch
- "${FILESDIR}"/8/don-t-force-msse.patch
- "${FILESDIR}"/8/fxpackager-don-t-include-obsolete-sys-sysctl.h.patch
-)
-
-egradle() {
- local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}"
- local gradle="${GRADLE_HOME}/bin/gradle"
- local gradle_args=(
- --info
- --stacktrace
- --no-build-cache
- --no-daemon
- --offline
- --gradle-user-home "${T}/gradle_user_home"
- --project-cache-dir "${T}/gradle_project_cache"
- )
-
- export GRADLE_HOME
-
- # FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist
- unset ANT_HOME
-
- einfo "gradle "${gradle_args[@]}" ${@}"
- # TERM needed, otherwise gradle may fail on terms it does not know about
- TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed"
-}
-
-src_unpack() {
- default
- mv -v "rt-${EHG_COMMIT}" "${P}" || die
-}
-
-src_prepare() {
- eapply "${WORKDIR}/${P}-backports"
- default
-
- # this will create local jar storage to be used as ivy repo
- local d="${T}/jars"
- mkdir "${d}" || die
-
- # we need jars subdir in every prokect so gradle can find them
- # only system jars, no bundling
- local target targets
- targets=(
- jars
- buildSrc/jars
- modules/{base,builders,controls,extensions,fxml}/jars
- modules/{graphics,jmx,media,swing,swt,web,fxpackager}/jars
- )
- einfo "Copying system jars"
- for target in ${targets[@]}; do
- ln -vs "${T}/jars" "${target}" || die
- done
-
- local swt_file_name="$(java-pkg_getjars swt-4.10)"
- java-pkg_jar-from --build-only --into "${d}" ant-core ant.jar ant-1.8.2.jar
- java-pkg_jar-from --build-only --into "${d}" ant-core ant-launcher.jar ant-launcher-1.8.2.jar
- java-pkg_jar-from --build-only --into "${d}" antlr antlr.jar antlr-2.7.7.jar
- java-pkg_jar-from --build-only --into "${d}" antlr-3 antlr-tool.jar antlr-3.1.3.jar
- java-pkg_jar-from --build-only --into "${d}" antlr-3 antlr-runtime.jar antlr-runtime-3.1.3.jar
- java-pkg_jar-from --build-only --into "${d}" stringtemplate stringtemplate.jar stringtemplate-3.2.jar
- sed -i "s#compile name: SWT_FILE_NAME#compile files(\"${swt_file_name}\")#" "${S}"/build.gradle || die
-
- sed -i 's/-rpath/-rpath-link/g' modules/media/src/main/native/jfxmedia/projects/linux/Makefile || die
-}
-
-src_configure() {
- # see gradle.properties.template in ${S}
- cat <<- _EOF_ > "${S}"/gradle.properties
- COMPILE_TARGETS = linux
- GRADLE_VERSION_CHECK = false
- COMPILE_AVPLUGIN = $(usex media true false)
- COMPILE_MEDIA = $(usex media true false)
- COMPILE_WEBKIT = false
- BUILD_JAVADOC = $(usex doc true false)
- BUILD_SRC_ZIP = $(usex source true false)
- FULL_TEST = false
- CONF = $(usex debug DebugNative Release)
- NUM_COMPILE_THREADS = $(makeopts_jobs)
- _EOF_
-
- local repostring='
- repositories {
- ivy {
- url file("${projectDir}/jars")
- layout "pattern", {
- artifact "[artifact]-[revision].[ext]"
- artifact "[artifact].[ext]"
- }
- }
- mavenLocal()
- }'
-
- cat <<- _EOF_ > "${S}"/buildSrc/gentoo.gradle
- ${repostring}
- _EOF_
-
- cat <<- _EOF_ > "${S}"/gentoo.gradle
- ${repostring}
- allprojects {
- ${repostring}
- }
- _EOF_
-
- echo "apply from: 'gentoo.gradle'" >> build.gradle || die
- echo "apply from: 'gentoo.gradle'" >> buildSrc/build.gradle || die
- sed -i 's/mavenCentral/mavenLocal/g' build.gradle || die
- sed -i 's/mavenCentral/mavenLocal/g' buildSrc/build.gradle || die
- einfo "Configured with the following settings:"
- cat gradle.properties || die
-
-}
-
-src_compile() {
- append-cflags '-fcommon'
- tc-export_build_env CC CXX PKG_CONFIG
- rm -r tests buildSrc/src/test || die
- egradle openExportLinux
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/openjdk-${SLOT}"
- local ddest="${ED%/}/${dest#/}"
- dodir "${dest}"
- pushd build/export/sdk > /dev/null || die
- cp -pPRv * "${ddest}" || die
- popd > /dev/null || die
-}
diff --git a/dev-java/osgi-annotation-versioning/Manifest b/dev-java/osgi-annotation-versioning/Manifest
deleted file mode 100644
index 36185f1975aa..000000000000
--- a/dev-java/osgi-annotation-versioning/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST osgi-annotation-versioning-1.1.1-sources.jar 5301 BLAKE2B 3c45fc25bda97a3b98e8db1d725f64a4e237300251a3414daed8ddcb54c5d8a68aa4c603e57a3831a34761c4cbfa0d544b1ed345e26ca1a1a1b4d4fa5bf2f9dc SHA512 39b208b4f72a33cb9a8c2dff1a4c52e07b32a553bcf2d7cb014ae50935c6b8ff26b67961117019fb5222e99c59ab4ec6e73788124f309dac86defeeb212d407b
diff --git a/dev-java/osgi-annotation-versioning/metadata.xml b/dev-java/osgi-annotation-versioning/metadata.xml
deleted file mode 100644
index efee2e8082d7..000000000000
--- a/dev-java/osgi-annotation-versioning/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="github">osgi/osgi</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/osgi-annotation-versioning/osgi-annotation-versioning-1.1.1.ebuild b/dev-java/osgi-annotation-versioning/osgi-annotation-versioning-1.1.1.ebuild
deleted file mode 100644
index 80b9d802bee5..000000000000
--- a/dev-java/osgi-annotation-versioning/osgi-annotation-versioning-1.1.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom org.osgi.annotation.versioning-1.1.1.pom.xml --download-uri https://repo1.maven.org/maven2/org/osgi/org.osgi.annotation.versioning/1.1.1/org.osgi.annotation.versioning-1.1.1-sources.jar --slot 0 --keywords "~amd64 ~x86" --ebuild osgi-annotation-versioning-1.1.1.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.osgi:org.osgi.annotation.versioning:1.1.1"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="OSGi Companion Code for org.osgi.annotation.versioning Version 1.1.1"
-HOMEPAGE="https://www.osgi.org/"
-SRC_URI="https://repo1.maven.org/maven2/org/osgi/org.osgi.annotation.versioning/${PV}/org.osgi.annotation.versioning-${PV}-sources.jar -> ${P}-sources.jar"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
diff --git a/dev-java/osgi-cmpn/osgi-cmpn-8.0.0-r1.ebuild b/dev-java/osgi-cmpn/osgi-cmpn-8.0.0-r1.ebuild
new file mode 100644
index 000000000000..e697776b3d95
--- /dev/null
+++ b/dev-java/osgi-cmpn/osgi-cmpn-8.0.0-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 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.cmpn:8.0.0"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="OSGi Service Platform Compendium API (Companion Code)"
+HOMEPAGE="https://docs.osgi.org"
+SRC_URI="https://docs.osgi.org/download/r$(ver_cut 1)/${PN/-/.}-${PV}.jar -> ${P}.jar"
+
+LICENSE="Apache-2.0 OSGi-Specification-2.0"
+SLOT="8"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/cdi-api:0
+ dev-java/javax-persistence-api:0
+ dev-java/jakarta-servlet-api:4
+ dev-java/javax-inject:0
+ dev-java/jaxrs-api:0
+ dev-java/osgi-annotation:0
+ dev-java/osgi-core:0
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="app-arch/unzip"
+
+JAVA_SRC_DIR="OSGI-OPT/src"
+
+src_prepare() {
+ default
+ java-pkg_clean org
+ sed \
+ -e 's/javax\(.enterprise\)/jakarta\1/' \
+ -i OSGI-OPT/src/org/osgi/service/cdi/*/*.java || die
+}
diff --git a/dev-java/osgi-cmpn/osgi-cmpn-8.0.0.ebuild b/dev-java/osgi-cmpn/osgi-cmpn-8.0.0.ebuild
deleted file mode 100644
index a316e62f8118..000000000000
--- a/dev-java/osgi-cmpn/osgi-cmpn-8.0.0.ebuild
+++ /dev/null
@@ -1,45 +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"
-MAVEN_ID="org.osgi:osgi.cmpn:8.0.0"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="OSGi Service Platform Compendium API (Companion Code)"
-HOMEPAGE="https://docs.osgi.org"
-SRC_URI="https://docs.osgi.org/download/r$(ver_cut 1)/${PN/-/.}-${PV}.jar -> ${P}.jar"
-
-LICENSE="Apache-2.0 OSGi-Specification-2.0"
-SLOT="8"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
-
-CP_DEPEND="
- dev-java/cdi-api:0
- dev-java/glassfish-persistence:0
- dev-java/jakarta-servlet-api:4
- dev-java/javax-inject:0
- dev-java/jaxrs-api:0
- dev-java/osgi-annotation:0
- dev-java/osgi-core:0
-"
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-11:*"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-JAVA_SRC_DIR="OSGI-OPT/src"
-
-src_prepare() {
- default
- java-pkg_clean org
- sed \
- -e 's/javax\(.enterprise\)/jakarta\1/' \
- -i OSGI-OPT/src/org/osgi/service/cdi/*/*.java || die
-}
diff --git a/dev-java/osgi-compendium/Manifest b/dev-java/osgi-compendium/Manifest
deleted file mode 100644
index d6df9666bf82..000000000000
--- a/dev-java/osgi-compendium/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST osgi.cmpn-4.3.1.jar 741615 BLAKE2B 6f6058c07fd7744f0369d05cdf607b4d4fe51bbdf567c6a6c951413b0627eb1dbb6e56f65641a8472198d0aedca378da4715c26ebe05aa4e7ef80adb1020175f SHA512 803e929b4b7cfee13a3ffa2c60ad03775afd8409c972bf26e3f79abc590466c2d885bdc339d9af2a3e8fda9cdf082d23a298362ac37935b0ede0719dee27e9f9
diff --git a/dev-java/osgi-compendium/metadata.xml b/dev-java/osgi-compendium/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/osgi-compendium/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/osgi-compendium/osgi-compendium-4.3.1-r3.ebuild b/dev-java/osgi-compendium/osgi-compendium-4.3.1-r3.ebuild
deleted file mode 100644
index 42efea848da4..000000000000
--- a/dev-java/osgi-compendium/osgi-compendium-4.3.1-r3.ebuild
+++ /dev/null
@@ -1,37 +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"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="OSGi Service Platform Compendium API (Companion Code)"
-HOMEPAGE="https://docs.osgi.org"
-SRC_URI="https://docs.osgi.org/download/r4v43/osgi.cmpn-${PV}.jar"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CP_DEPEND="
- dev-java/glassfish-persistence:0
- dev-java/osgi-core-api:0
- dev-java/osgi-foundation:0
- dev-java/tomcat-servlet-api:4.0"
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-JAVA_SRC_DIR="OSGI-OPT/src"
-
-src_prepare() {
- default
- rm -r org || die
-}
diff --git a/dev-java/osgi-core-api/Manifest b/dev-java/osgi-core-api/Manifest
deleted file mode 100644
index 2560625ee59f..000000000000
--- a/dev-java/osgi-core-api/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST osgi.core-5.0.0.jar 418232 BLAKE2B d7cfb8b2c6ff955ffc8252f248eb7bec562d16598e1a56fb50f12c099adae8b5268bc26003e166794eaee8fa6cb116ce388eb1981ef5a09394c05b7ea8655f0d SHA512 de7c5aa327a4361b81d953951488b84071e525cfd3e50f0334450b8c1b25733248de9459239ee7091f8961ac8b047a0492d692fb7cd408a0ec07df090ea9e2c3
diff --git a/dev-java/osgi-core-api/metadata.xml b/dev-java/osgi-core-api/metadata.xml
deleted file mode 100644
index 6021501589e0..000000000000
--- a/dev-java/osgi-core-api/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-java/osgi-core-api/osgi-core-api-5.0.0-r2.ebuild b/dev-java/osgi-core-api/osgi-core-api-5.0.0-r2.ebuild
deleted file mode 100644
index 36af959c037c..000000000000
--- a/dev-java/osgi-core-api/osgi-core-api-5.0.0-r2.ebuild
+++ /dev/null
@@ -1,29 +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"
-MAVEN_ID="org.osgi:org.osgi.core:5.0.0"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="OSGi Service Platform Core API (Companion Code)"
-HOMEPAGE="http://www.osgi.org/Specifications/HomePage"
-SRC_URI="http://www.osgi.org/download/r5/osgi.core-${PV}.jar"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x64-macos"
-
-RDEPEND=">=virtual/jre-1.8:*"
-
-DEPEND=">=virtual/jdk-1.8:*
- app-arch/unzip"
-
-JAVA_SRC_DIR="OSGI-OPT/src"
-
-src_prepare() {
- default
- rm -r org || die
-}
diff --git a/dev-java/osgi-enterprise-api/Manifest b/dev-java/osgi-enterprise-api/Manifest
deleted file mode 100644
index 02c8f1895e3e..000000000000
--- a/dev-java/osgi-enterprise-api/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST osgi.enterprise-5.0.0.jar 479506 BLAKE2B 2bd53b50e469388d132a6d3ebd78d4040093f8c1d79299fd87412853d959f7559f04287567eeea47635fe287a3e9d3812ac9303a5d39ec35135ab3c58bd0b010 SHA512 0404c05afd8cb3ef8b826b0f08deeb03b0027ca99e091953d39ef69674809c5b899e0f2c8efb685df5fce070c2aafcf813e470fbb538d4ec3b480a8060351144
diff --git a/dev-java/osgi-enterprise-api/metadata.xml b/dev-java/osgi-enterprise-api/metadata.xml
deleted file mode 100644
index 6021501589e0..000000000000
--- a/dev-java/osgi-enterprise-api/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-java/osgi-enterprise-api/osgi-enterprise-api-5.0.0-r2.ebuild b/dev-java/osgi-enterprise-api/osgi-enterprise-api-5.0.0-r2.ebuild
deleted file mode 100644
index e80121b1a1e2..000000000000
--- a/dev-java/osgi-enterprise-api/osgi-enterprise-api-5.0.0-r2.ebuild
+++ /dev/null
@@ -1,37 +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"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="OSGi Enterprise Release 5 Companion Code"
-HOMEPAGE="http://www.osgi.org/Main/HomePage"
-SRC_URI="https://docs.osgi.org/download/r5/osgi.enterprise-${PV}.jar"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-RESTRICT="bindist"
-
-CP_DEPEND="dev-java/glassfish-persistence:0
- dev-java/osgi-core-api:0
- dev-java/tomcat-servlet-api:2.5"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-JAVA_SRC_DIR="OSGI-OPT/src"
-
-src_prepare() {
- default
- rm -r org || die
-}
diff --git a/dev-java/osgi-foundation/Manifest b/dev-java/osgi-foundation/Manifest
deleted file mode 100644
index cfeb1169a491..000000000000
--- a/dev-java/osgi-foundation/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST osgi-foundation-1.2.0.tar.xz 45176 BLAKE2B 4b5432dfaad9134f402b5f448a8d7ba5f626a7b160bbc953914352a28f745725da851b6c5f2122f820b52f2fd8ad463c2df5c8ae3e2b46ef8bb9d56d89d90f1b SHA512 6523dd6b4cd8205aa3359fae4640ff6b17a1944aec6bf23acf0d6e4eb33839a9b9049e8df0c55a4f35013b40b1df2391a53ed68df682a317c35dca504e9b996b
diff --git a/dev-java/osgi-foundation/files/osgi-foundation-1.2.0-build.xml b/dev-java/osgi-foundation/files/osgi-foundation-1.2.0-build.xml
deleted file mode 100644
index a33f09709ada..000000000000
--- a/dev-java/osgi-foundation/files/osgi-foundation-1.2.0-build.xml
+++ /dev/null
@@ -1,218 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. -->
-<!-- ====================================================================== -->
-
-<!-- ====================================================================== -->
-<!-- ===================== - DO NOT EDIT THIS FILE! - ===================== -->
-<!-- ====================================================================== -->
-<!-- -->
-<!-- Any modifications will be overwritten. -->
-<!-- -->
-<!-- Generated by Maven Ant Plugin on 5/11/13 9:36 AM -->
-<!-- See: http://maven.apache.org/plugins/maven-ant-plugin/ -->
-<!-- -->
-<!-- ====================================================================== -->
-
-<project name="org.osgi.foundation-from-maven" default="package" basedir=".">
-
- <!-- ====================================================================== -->
- <!-- Build environment properties -->
- <!-- ====================================================================== -->
-
- <property file="${user.home}/.m2/maven.properties"/>
- <property file="maven-build.properties"/>
-
- <property name="maven.build.finalName" value="org.osgi.foundation-1.2.0"/>
- <property name="maven.build.dir" value="target"/>
- <property name="maven.build.outputDir" value="${maven.build.dir}/classes"/>
- <property name="maven.build.srcDir.0" value="src/main/java"/>
- <property name="maven.build.resourceDir.0" value="src/main/resources"/>
- <property name="maven.build.resourceDir.1" value="."/>
- <property name="maven.build.testOutputDir" value="${maven.build.dir}/test-classes"/>
- <property name="maven.build.testDir.0" value="src/test/java"/>
- <property name="maven.build.testResourceDir.0" value="src/test/resources"/>
- <property name="maven.test.reports" value="${maven.build.dir}/test-reports"/>
- <property name="maven.reporting.outputDirectory" value="${maven.build.dir}/site"/>
-
- <property name="maven.repo.local" value="${user.home}/.m2/repository"/>
- <property name="maven.settings.offline" value="false"/>
- <property name="maven.settings.interactiveMode" value="true"/>
-
- <!-- ====================================================================== -->
- <!-- Defining classpaths -->
- <!-- ====================================================================== -->
-
- <path id="build.classpath"/>
- <path id="build.test.classpath">
- <pathelement location="${maven.repo.local}/junit/junit/3.8.1/junit-3.8.1.jar"/>
- <pathelement location="${maven.repo.local}/easymock/easymock/1.2_Java1.3/easymock-1.2_Java1.3.jar"/>
- </path>
-
- <!-- ====================================================================== -->
- <!-- Cleaning up target -->
- <!-- ====================================================================== -->
-
- <target name="clean" description="Clean the output directory">
- <delete dir="${maven.build.dir}"/>
- </target>
-
- <!-- ====================================================================== -->
- <!-- Compilation target -->
- <!-- ====================================================================== -->
-
- <target name="compile" depends="get-deps" description="Compile the code">
- <mkdir dir="${maven.build.outputDir}"/>
- <javac destdir="${maven.build.outputDir}"
- nowarn="false"
- debug="true"
- optimize="false"
- deprecation="true"
- target="1.3"
- verbose="false"
- fork="false"
- source="1.3">
- <src>
- <pathelement location="${maven.build.srcDir.0}"/>
- </src>
- <classpath refid="build.classpath"/>
- </javac>
- <mkdir dir="${maven.build.outputDir}/META-INF"/>
- <copy todir="${maven.build.outputDir}/META-INF">
- <fileset dir="${maven.build.resourceDir.1}">
- <include name="LICENSE*"/>
- <include name="NOTICE*"/>
- </fileset>
- </copy>
- </target>
-
- <!-- ====================================================================== -->
- <!-- Test-compilation target -->
- <!-- ====================================================================== -->
-
- <target name="compile-tests"
- depends="compile"
- description="Compile the test code"
- unless="maven.test.skip">
- <mkdir dir="${maven.build.testOutputDir}"/>
- </target>
-
- <!-- ====================================================================== -->
- <!-- Run all tests -->
- <!-- ====================================================================== -->
-
- <target name="test"
- depends="compile-tests, junit-missing"
- unless="junit.skipped"
- description="Run the test cases"/>
-
- <target name="test-junit-present">
- <available classname="junit.framework.Test" property="junit.present"/>
- </target>
-
- <target name="test-junit-status"
- depends="test-junit-present">
- <condition property="junit.missing">
- <and>
- <isfalse value="${junit.present}"/>
- <isfalse value="${maven.test.skip}"/>
- </and>
- </condition>
- <condition property="junit.skipped">
- <or>
- <isfalse value="${junit.present}"/>
- <istrue value="${maven.test.skip}"/>
- </or>
- </condition>
- </target>
-
- <target name="junit-missing"
- depends="test-junit-status"
- if="junit.missing">
- <echo>=================================== WARNING ===================================</echo>
- <echo> JUnit is not present in your $ANT_HOME/lib directory. Tests not executed.</echo>
- <echo>===============================================================================</echo>
- </target>
-
- <!-- ====================================================================== -->
- <!-- Javadoc target -->
- <!-- ====================================================================== -->
-
- <target name="javadoc" description="Generates the Javadoc of the application">
- <javadoc sourcepath="${maven.build.srcDir.0}"
- packagenames="*"
- destdir="${maven.reporting.outputDirectory}/apidocs"
- access="protected"
- old="false"
- verbose="false"
- version="true"
- use="true"
- author="true"
- splitindex="false"
- nodeprecated="false"
- nodeprecatedlist="false"
- notree="false"
- noindex="false"
- nohelp="false"
- nonavbar="false"
- serialwarn="false"
- charset="ISO-8859-1"
- linksource="false"
- breakiterator="false"/>
- </target>
-
- <!-- ====================================================================== -->
- <!-- Package target -->
- <!-- ====================================================================== -->
-
- <target name="package" depends="compile,test" description="Package the application">
- <jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar"
- compress="true"
- index="false"
- basedir="${maven.build.outputDir}"
- excludes="**/package.html"/>
- </target>
-
- <!-- ====================================================================== -->
- <!-- A dummy target for the package named after the type it creates -->
- <!-- ====================================================================== -->
-
- <target name="jar" depends="package" description="Builds the jar for the application"/>
-
- <!-- ====================================================================== -->
- <!-- Download dependencies target -->
- <!-- ====================================================================== -->
-
- <target name="test-offline">
- <condition property="maven.mode.offline">
- <equals arg1="${maven.settings.offline}" arg2="true"/>
- </condition>
- </target>
-
- <target name="get-deps"
- depends="test-offline"
- description="Download all dependencies"
- unless="maven.mode.offline">
- <mkdir dir="${maven.repo.local}"/>
- <mkdir dir="${maven.repo.local}/junit/junit/3.8.1"/>
- <get src="http://people.apache.org/repo/m2-snapshot-repository/junit/junit/3.8.1/junit-3.8.1.jar"
- dest="${maven.repo.local}/junit/junit/3.8.1/junit-3.8.1.jar"
- usetimestamp="false"
- ignoreerrors="true"/>
- <get src="http://repo.maven.apache.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar"
- dest="${maven.repo.local}/junit/junit/3.8.1/junit-3.8.1.jar"
- usetimestamp="false"
- ignoreerrors="true"/>
- <mkdir dir="${maven.repo.local}/easymock/easymock/1.2_Java1.3"/>
- <get src="http://people.apache.org/repo/m2-snapshot-repository/easymock/easymock/1.2_Java1.3/easymock-1.2_Java1.3.jar"
- dest="${maven.repo.local}/easymock/easymock/1.2_Java1.3/easymock-1.2_Java1.3.jar"
- usetimestamp="false"
- ignoreerrors="true"/>
- <get src="http://repo.maven.apache.org/maven2/easymock/easymock/1.2_Java1.3/easymock-1.2_Java1.3.jar"
- dest="${maven.repo.local}/easymock/easymock/1.2_Java1.3/easymock-1.2_Java1.3.jar"
- usetimestamp="false"
- ignoreerrors="true"/>
- </target>
-
-</project>
diff --git a/dev-java/osgi-foundation/metadata.xml b/dev-java/osgi-foundation/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/osgi-foundation/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/osgi-foundation/osgi-foundation-1.2.0-r2.ebuild b/dev-java/osgi-foundation/osgi-foundation-1.2.0-r2.ebuild
deleted file mode 100644
index 7adbb2f51fdd..000000000000
--- a/dev-java/osgi-foundation/osgi-foundation-1.2.0-r2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="OSGi R4 Foundation EE by Apache Felix"
-HOMEPAGE="http://felix.apache.org/"
-SRC_URI="https://dev.gentoo.org/~tomwij/files/dist/${P}.tar.xz"
-
-LICENSE="Apache-2.0 OSGi-Specification-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-src_prepare() {
- default
- cp "${FILESDIR}"/${P}-build.xml "${S}"/build.xml || die
-}
-
-src_install() {
- java-pkg_newjar target/org.osgi.foundation-${PV}.jar org.osgi.foundation.jar
-}
diff --git a/dev-java/osgi-service-log/Manifest b/dev-java/osgi-service-log/Manifest
new file mode 100644
index 000000000000..cd0e597315ba
--- /dev/null
+++ b/dev-java/osgi-service-log/Manifest
@@ -0,0 +1 @@
+DIST org.osgi.service.log-1.3.0-sources.jar 12012 BLAKE2B 005f7e71b2a16bee5b097ffd207667d59a0743bb278669c59e6cf56c183a8dd063190ddff2071c2945c41410fbb86c4534ad7116fb56d4d621bbbbc0659b54ef SHA512 06757188027245690b0655105acd94534844d2e118b9ec4ab7ac0c910fcebb22dcf0fd53e20ad053b4c6e97461bfe4ffddf1b2b11045f2659518afec0baef105
diff --git a/dev-java/osgi-service-log/metadata.xml b/dev-java/osgi-service-log/metadata.xml
new file mode 100644
index 000000000000..75321cfb5598
--- /dev/null
+++ b/dev-java/osgi-service-log/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-java/osgi-service-log/osgi-service-log-1.3.0.ebuild b/dev-java/osgi-service-log/osgi-service-log-1.3.0.ebuild
new file mode 100644
index 000000000000..ed34ecd1a58d
--- /dev/null
+++ b/dev-java/osgi-service-log/osgi-service-log-1.3.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.osgi:org.osgi.service.log:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="OSGi Companion Code for org.osgi.service.log"
+HOMEPAGE="https://www.osgi.org/"
+SRC_URI="https://repo1.maven.org/maven2/org/osgi/org.osgi.service.log/${PV}/org.osgi.service.log-${PV}-sources.jar"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="dev-java/osgi-core:0"
+
+DEPEND="${CP_DEPEND}
+ dev-java/osgi-annotation:0
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="app-arch/unzip"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.osgi.service.log"
+JAVA_CLASSPATH_EXTRA="osgi-annotation"
diff --git a/dev-java/osgi-service-subsystem/Manifest b/dev-java/osgi-service-subsystem/Manifest
new file mode 100644
index 000000000000..0b9e27d8c3c1
--- /dev/null
+++ b/dev-java/osgi-service-subsystem/Manifest
@@ -0,0 +1 @@
+DIST osgi-service-subsystem-1.1.0-sources.jar 24552 BLAKE2B a69fc49b88aa43baa5f56a94a4d8dc55f7ef596a4a39b86f68c652bf02f878c51a25a15cc0bad5f38b23f644137c2082011f8fd3658185ab068ea8bdd551a3d3 SHA512 d0ed0c99525d0860c24b3783902230fc05ccd830a22c16a355d7d6e851919caa64bd23082fcd5f9ebf939b4e1b86e8e52225343401552a89f1e6c1d5892fd162
diff --git a/dev-java/osgi-service-subsystem/metadata.xml b/dev-java/osgi-service-subsystem/metadata.xml
new file mode 100644
index 000000000000..75321cfb5598
--- /dev/null
+++ b/dev-java/osgi-service-subsystem/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-java/osgi-service-subsystem/osgi-service-subsystem-1.1.0.ebuild b/dev-java/osgi-service-subsystem/osgi-service-subsystem-1.1.0.ebuild
new file mode 100644
index 000000000000..fa633173e508
--- /dev/null
+++ b/dev-java/osgi-service-subsystem/osgi-service-subsystem-1.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.osgi:org.osgi.service.subsystem:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="OSGi Companion Code for org.osgi.service.subsystem"
+HOMEPAGE="https://www.osgi.org/"
+SRC_URI="https://repo1.maven.org/maven2/org/osgi/org.${PN//-/.}/${PV}/org.${PN//-/.}-${PV}-sources.jar -> ${P}-sources.jar"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+BDEPEND="app-arch/unzip"
+
+CP_DEPEND="
+ dev-java/osgi-annotation:0
+ dev-java/osgi-core:0
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
diff --git a/dev-java/owasp-java-encoder/Manifest b/dev-java/owasp-java-encoder/Manifest
new file mode 100644
index 000000000000..9b143f96e63b
--- /dev/null
+++ b/dev-java/owasp-java-encoder/Manifest
@@ -0,0 +1 @@
+DIST owasp-java-encoder-1.2.3.tar.gz 134303 BLAKE2B 76b9652863fcdfdce82bd26062fa500bb92b21ba6edff7b3f409a1375e135176f826dca4bb02b4dd48905112ae20a0af0a1f09cb4e21ea41c672a44c52fea209 SHA512 19c13894ce68325553bdbee41190cb113d698c79ec74885604fd9db4f083efe0fcdc4313b7191014bfd972d0ee52f0fbe0621d7bb407745bd1feeb2ac9e49783
diff --git a/dev-java/owasp-java-encoder/files/owasp-java-encoder-1.2.3-BenchmarkTest.patch b/dev-java/owasp-java-encoder/files/owasp-java-encoder-1.2.3-BenchmarkTest.patch
new file mode 100644
index 000000000000..de988462ede7
--- /dev/null
+++ b/dev-java/owasp-java-encoder/files/owasp-java-encoder-1.2.3-BenchmarkTest.patch
@@ -0,0 +1,46 @@
+There were 2 failures:
+1) Encode.forHtmlUnquotedAttribute(org.owasp.encoder.BenchmarkTest$1$3)
+junit.framework.AssertionFailedError
+ at junit.framework.Assert.fail(Assert.java:55)
+ at junit.framework.Assert.assertTrue(Assert.java:22)
+ at junit.framework.Assert.assertTrue(Assert.java:31)
+ at junit.framework.TestCase.assertTrue(TestCase.java:200)
+ at org.owasp.encoder.BenchmarkTest$1$3.runTest(BenchmarkTest.java:115)
+2) Encode.forUriComponent(org.owasp.encoder.BenchmarkTest$1$3)
+junit.framework.AssertionFailedError
+ at junit.framework.Assert.fail(Assert.java:55)
+ at junit.framework.Assert.assertTrue(Assert.java:22)
+ at junit.framework.Assert.assertTrue(Assert.java:31)
+ at junit.framework.TestCase.assertTrue(TestCase.java:200)
+ at org.owasp.encoder.BenchmarkTest$1$3.runTest(BenchmarkTest.java:115)
+
+FAILURES!!!
+Tests run: 962, Failures: 2
+--- a/src/test/java/org/owasp/encoder/BenchmarkTest.java
++++ b/src/test/java/org/owasp/encoder/BenchmarkTest.java
+@@ -209,12 +209,6 @@ public class BenchmarkTest extends TestCase {
+ return Encode.forXml(input);
+ }
+ },
+- new Bench("Encode.forHtmlUnquotedAttribute") {
+- @Override
+- public String encode(String input) {
+- return Encode.forHtmlUnquotedAttribute(input);
+- }
+- },
+ new Bench("Encode.forJavaScript") {
+ @Override
+ public String encode(String input) {
+@@ -227,12 +221,6 @@ public class BenchmarkTest extends TestCase {
+ return Encode.forCssString(input);
+ }
+ },
+- new Bench("Encode.forUriComponent") {
+- @Override
+- public String encode(String input) {
+- return Encode.forUriComponent(input);
+- }
+- },
+ new Bench("Encode.forCDATA") {
+ @Override
+ public String encode(String input) {
diff --git a/dev-java/owasp-java-encoder/metadata.xml b/dev-java/owasp-java-encoder/metadata.xml
new file mode 100644
index 000000000000..caf58d352146
--- /dev/null
+++ b/dev-java/owasp-java-encoder/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">OWASP/owasp-java-encoder</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/owasp-java-encoder/owasp-java-encoder-1.2.3.ebuild b/dev-java/owasp-java-encoder/owasp-java-encoder-1.2.3.ebuild
new file mode 100644
index 000000000000..482d2d258e37
--- /dev/null
+++ b/dev-java/owasp-java-encoder/owasp-java-encoder-1.2.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.owasp.encoder:encoder:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="OWASP Java Encoder"
+HOMEPAGE="https://owasp.org/www-project-java-encoder/"
+SRC_URI="https://github.com/OWASP/owasp-java-encoder/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}/core"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+PATCHES=( "${FILESDIR}/owasp-java-encoder-1.2.3-BenchmarkTest.patch" )
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
diff --git a/dev-java/parboiled/Manifest b/dev-java/parboiled/Manifest
new file mode 100644
index 000000000000..ef31eb68bb3d
--- /dev/null
+++ b/dev-java/parboiled/Manifest
@@ -0,0 +1 @@
+DIST parboiled-1.4.1.tar.gz 230536 BLAKE2B 99e8e99d9b1b5de7420491967213be94c5895ba6abfd797f4f681834b3773784fc94c5a7d000574cd65dd0dff46857cc19c9430691899f82edf324c764c193dd SHA512 3c502013168f76178398861e2b23089a5c3df0ec36f44830300dc935844026df9f6d5dd7c40babcd4c6a58bff84c0f2134930a19ef49bcd61efbdab3c093ef9c
diff --git a/dev-java/parboiled/metadata.xml b/dev-java/parboiled/metadata.xml
new file mode 100644
index 000000000000..c48f3cb552ec
--- /dev/null
+++ b/dev-java/parboiled/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <doc>https://github.com/sirthias/parboiled/wiki/</doc>
+ <remote-id type="github">sirthias/parboiled</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/parboiled/parboiled-1.4.1.ebuild b/dev-java/parboiled/parboiled-1.4.1.ebuild
new file mode 100644
index 000000000000..478f6e061b12
--- /dev/null
+++ b/dev-java/parboiled/parboiled-1.4.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_PROVIDES="
+ org.parboiled:parboiled-core:${PV}
+ org.parboiled:parboiled-java:${PV}
+"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Elegant parsing in Java and Scala - lightweight, easy-to-use, powerful"
+HOMEPAGE="https://github.com/sirthias/parboiled"
+SRC_URI="https://github.com/sirthias/parboiled/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+
+CP_DEPEND="dev-java/asm:9"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+src_compile() {
+ einfo "Compiling parboiled-core"
+ JAVA_JAR_FILENAME="parboiled-core.jar"
+ JAVA_SRC_DIR="parboiled-core/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":parboiled-core.jar"
+ rm -r target || die
+
+ einfo "Compiling parboiled-java"
+ JAVA_JAR_FILENAME="parboiled-java.jar"
+ JAVA_SRC_DIR="parboiled-java/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":parboiled-java.jar"
+ rm -r target || die
+
+ if use doc; then
+ JAVA_SRC_DIR=(
+ "parboiled-core/src/main/java"
+ "parboiled-java/src/main/java"
+ )
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_install() {
+ default
+
+ java-pkg_dojar "parboiled-core.jar"
+ java-pkg_dojar "parboiled-java.jar"
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc "parboiled-core/src/main/java/*"
+ java-pkg_dosrc "parboiled-java/src/main/java/*"
+ fi
+}
diff --git a/dev-java/pdf-renderer/Manifest b/dev-java/pdf-renderer/Manifest
deleted file mode 100644
index ba2341782374..000000000000
--- a/dev-java/pdf-renderer/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pdf-renderer-1.0.5-sources.jar 1736806 BLAKE2B b897d4f30ae0143a6eb7c3499c5d7c165cd4e81c950fbe3185066d5ab6dbe68d874a5ff7561d35a65e014a6d8b82f92de73574018f58dd3817a32488c5b09ed7 SHA512 086355441df0d59306839de3097d1e557870435dcb4ee878d4e7f3f46352a103ecfc1da4055f107c2c53a61f815f985f3e1e176dc9f99634afd58cf1faca940b
diff --git a/dev-java/pdf-renderer/metadata.xml b/dev-java/pdf-renderer/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/pdf-renderer/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/pdf-renderer/pdf-renderer-1.0.5-r1.ebuild b/dev-java/pdf-renderer/pdf-renderer-1.0.5-r1.ebuild
deleted file mode 100644
index 0c7ca8c0ea49..000000000000
--- a/dev-java/pdf-renderer/pdf-renderer-1.0.5-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="a 100% Java PDF renderer and viewer"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI="https://repo1.maven.org/maven2/org/swinglabs/${PN}/${PV}/${P}-sources.jar"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND=">=virtual/jdk-1.8:*"
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
diff --git a/dev-java/pdfbox/Manifest b/dev-java/pdfbox/Manifest
index c303072cc510..5c0d6b59875a 100644
--- a/dev-java/pdfbox/Manifest
+++ b/dev-java/pdfbox/Manifest
@@ -38,4 +38,4 @@ DIST genko_oc_shiryo1.pdf 124896 BLAKE2B c3a9921afb052ee4fe5080a1f1e66d991e3041f
DIST ipag00303.zip 4295310 BLAKE2B b68dd7dd7a7320894d782350c4598572c31d6ef492f9572adc2aac20ca98b5c5027995c0169bf815bc1e3a64d635b0e2d4e378b749e034f2fe718bcb7901d40a SHA512 59535137c649a2f8bdbb463cd716426811a6003a65883ca6e45bb0af1d526b3889af0fba3a353e90bc8d373cd32b90a27ff9ff6916ecbccb42e922c09e9b046a
DIST ipagp00303.zip 4295877 BLAKE2B e096303106029daaedae9befb003f70c2c7d00b858f89f5f8fffb9fc73679e63ec0dde8e0304cad2c611aa74d3cf1bfea56b9ac35e6838953d38b028654f5434 SHA512 26d0a9bfba7f5457a98b0bf45a4a6b081bca4140047a0886625691231459f8c81a6cdbe523e9abcbd45fd7caed21d78f1baf3a2cf9167320f6b79be3d697cb5b
DIST n019003l.pfb 79155 BLAKE2B 2995cd6e35de2d49cc6d4a5f6c7461396b23e14c6403cd7aecedbd5cec904fd0c42a114c4c5f5079fd1fad306dd8ddba649a13424ec5183395fb0fc1cbe2abb9 SHA512 8eafe21ffa6f3d7d0a50e9f4e5bcdeb727e804b552d74e65b709e778c9ed4605e5aa63743be285f0bc17ad162768583fec4196e1d1146d98f8703359247f22d0
-DIST pdfbox-2.0.26-src.zip 15766524 BLAKE2B eafedf1db5a54d36cb42111b736ad79adfcc106630fa4b2bc57873dcfbdbbb7bd0e9408611b0d8771909e719813e388430944ae0fbaf800bdc859595de2b101b SHA512 e14c57e28d10324dbcb6ad239bad5751a2dab0035bbd80427afd03f65467ec1376ddd7d08e7cefd4d950b149f85d8f505f6f50cc3093fd65bb8a2cbb2b8c7c1e
+DIST pdfbox-2.0.27-src.zip 15770627 BLAKE2B 9f93d597141ff3da39b69da3ce989a0cc7f4020071e5cb1609a8b86d0f12a3219037cb4c7b276acf58ee6b07d842b6d7c76e14fdf79e9efdeac401048e345f89 SHA512 59a5675f5d1d34f092adc019679f7d10e7e93c0f554a002ac29d48cbffcaa600d930309fa94a92191c01ead8da905cbb37ce5e233dcc9b8732a881d4abf75def
diff --git a/dev-java/pdfbox/files/2.0.24-tests-ignore.patch b/dev-java/pdfbox/files/2.0.24-tests-ignore.patch
deleted file mode 100644
index 6454aa776324..000000000000
--- a/dev-java/pdfbox/files/2.0.24-tests-ignore.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-# public void testPDFBox3826() throws IOException, URISyntaxException
-# https://issues.apache.org/jira/browse/PDFBOX-3826
---- a/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java
-+++ b/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java
-@@ -44,6 +44,7 @@ import org.apache.pdfbox.text.PDFTextStripper;
- import org.junit.Assert;
- import org.junit.Before;
- import org.junit.Test;
-+import org.junit.Ignore;
-
- /**
- *
-@@ -133,6 +134,7 @@ public class PDFontTest
- * @throws IOException
- * @throws URISyntaxException
- */
-+ @Ignore
- @Test
- public void testPDFBox3826() throws IOException, URISyntaxException
- {
diff --git a/dev-java/pdfbox/pdfbox-2.0.26.ebuild b/dev-java/pdfbox/pdfbox-2.0.26.ebuild
deleted file mode 100644
index 13e5a7c7f68f..000000000000
--- a/dev-java/pdfbox/pdfbox-2.0.26.ebuild
+++ /dev/null
@@ -1,261 +0,0 @@
-# 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 mirror://apache/pdfbox/2.0.26/pdfbox-2.0.26-src.zip --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild pdfbox-2.0.26.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.pdfbox:pdfbox:2.0.26"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Java library and utilities for working with PDF documents"
-HOMEPAGE="https://pdfbox.apache.org/"
-SRC_URI="mirror://apache/${PN}/${PV}/${P}-src.zip
- test? (
- https://issues.apache.org/jira/secure/attachment/12481683/1.pdf -> PDFBOX-1031-1.pdf
- https://issues.apache.org/jira/secure/attachment/12481684/2.pdf -> PDFBOX-1031-2.pdf
- https://issues.apache.org/jira/secure/attachment/12486525/1_testfile1.pdf -> PDFBOX-1065-1.pdf
- https://issues.apache.org/jira/secure/attachment/12486526/2_testfile1.pdf -> PDFBOX-1065-2.pdf
- https://issues.apache.org/jira/secure/attachment/12490774/a.pdf -> PDFBOX-1100-1.pdf
- https://issues.apache.org/jira/secure/attachment/12490775/b.pdf -> PDFBOX-1100-2.pdf
- https://issues.apache.org/jira/secure/attachment/12848122/SF1199AEG%20%28Complete%29.pdf -> PDFBOX-3656.pdf
- https://issues.apache.org/jira/secure/attachment/12852207/test.pdf -> PDFBOX-3682.pdf
- https://issues.apache.org/jira/secure/attachment/12888957/079977.pdf -> PDFBOX-3940-079977.pdf
- https://issues.apache.org/jira/secure/attachment/12867113/202097.pdf -> PDFBOX-3785-202097.pdf
- https://issues.apache.org/jira/secure/attachment/12890031/670064.pdf -> PDFBOX-3947-670064.pdf
- https://issues.apache.org/jira/secure/attachment/12890034/EUWO6SQS5TM4VGOMRD3FLXZHU35V2CP2.pdf -> PDFBOX-3948-EUWO6SQS5TM4VGOMRD3FLXZHU35V2CP2.pdf
- https://issues.apache.org/jira/secure/attachment/12890037/MKFYUGZWS3OPXLLVU2Z4LWCTVA5WNOGF.pdf -> PDFBOX-3949-MKFYUGZWS3OPXLLVU2Z4LWCTVA5WNOGF.pdf
- https://issues.apache.org/jira/secure/attachment/12890042/23EGDHXSBBYQLKYOKGZUOVYVNE675PRD.pdf -> PDFBOX-3950-23EGDHXSBBYQLKYOKGZUOVYVNE675PRD.pdf
- https://issues.apache.org/jira/secure/attachment/12890047/FIHUZWDDL2VGPOE34N6YHWSIGSH5LVGZ.pdf -> PDFBOX-3951-FIHUZWDDL2VGPOE34N6YHWSIGSH5LVGZ.pdf
- https://issues.apache.org/jira/secure/attachment/12892097/c687766d68ac766be3f02aaec5e0d713_2.pdf -> PDFBOX-3964-c687766d68ac766be3f02aaec5e0d713_2.pdf
- https://issues.apache.org/jira/secure/attachment/12893582/63NGFQRI44HQNPIPEJH5W2TBM6DJZWMI.pdf -> PDFBOX-3977-63NGFQRI44HQNPIPEJH5W2TBM6DJZWMI.pdf
- https://issues.apache.org/jira/secure/attachment/12896905/GeneralForbearance.pdf -> PDFBOX-3999-GeneralForbearance.pdf
- https://issues.apache.org/jira/secure/attachment/12919726/sample.pdf -> PDFBOX-4197.pdf
- https://issues.apache.org/jira/secure/attachment/12938094/Quelldatei.pdf -> PDFBOX-4308.pdf
- https://issues.apache.org/jira/secure/attachment/12952086/form.pdf -> PDFBOX-4408.pdf
- https://issues.apache.org/jira/secure/attachment/12953423/000314.pdf -> PDFBOX-4418-000314.pdf
- https://issues.apache.org/jira/secure/attachment/12953421/000671.pdf -> PDFBOX-4418-000671.pdf
- https://issues.apache.org/jira/secure/attachment/12953866/000746.pdf -> PDFBOX-4423-000746.pdf
- https://issues.apache.org/jira/secure/attachment/12966453/cryptfilter.pdf -> PDFBOX-4517-cryptfilter.pdf
- https://issues.apache.org/jira/secure/attachment/12991833/PDFBOX-4750-test.pdf -> PDFBOX-4750.pdf
- https://issues.apache.org/jira/secure/attachment/12914331/WXMDXCYRWFDCMOSFQJ5OAJIAFXYRZ5OA.pdf -> PDFBOX-4153-WXMDXCYRWFDCMOSFQJ5OAJIAFXYRZ5OA.pdf
- https://issues.apache.org/jira/secure/attachment/12962991/NeS1078.pdf -> PDFBOX-4490.pdf
- https://issues.apache.org/jira/secure/attachment/12784025/PDFBOX-3208-L33MUTT2SVCWGCS6UIYL5TH3PNPXHIS6.pdf
- https://issues.apache.org/jira/secure/attachment/12867102/PDFBOX-3783-72GLBIGUC6LB46ELZFBARRJTLN4RBSQM.pdf
- https://issues.apache.org/jira/secure/attachment/12929821/16bit.png -> PDFBOX-4184-16bit.png
- https://issues.apache.org/jira/secure/attachment/12943502/ArrayIndexOutOfBoundsException%20COSParser -> PDFBOX-4338.pdf
- https://issues.apache.org/jira/secure/attachment/12943503/NullPointerException%20COSParser -> PDFBOX-4339.pdf
- https://issues.apache.org/jira/secure/attachment/12867433/genko_oc_shiryo1.pdf
- https://moji.or.jp/wp-content/ipafont/IPAfont/ipag00303.zip
- https://moji.or.jp/wp-content/ipafont/IPAfont/ipagp00303.zip
- https://issues.apache.org/jira/secure/attachment/12911053/n019003l.pfb
- https://issues.apache.org/jira/secure/attachment/12949710/032163.jpg -> PDFBOX-4184-032163.jpg
- https://issues.apache.org/jira/secure/attachment/13025718/lotus.jpg -> PDFBOX-5196-lotus.jpg
- https://issues.apache.org/jira/secure/attachment/13002695/13._Korona_szallo_vegzes_13.09.26.eredeti.pdf -> PDFBOX-4831.pdf
- )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc64 x86"
-IUSE="+tools"
-
-PROPERTIES="test_network"
-RESTRICT="test"
-
-# Common dependencies
-# POM: ${P}/${PN}/pom.xml
-# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
-# org.apache.pdfbox:fontbox:2.0.24 -> >=dev-java/fontbox-2.0.24:0
-# org.bouncycastle:bcmail-jdk15on:1.64 -> >=dev-java/bcmail-1.68:0
-# org.bouncycastle:bcprov-jdk15on:1.64 -> >=dev-java/bcprov-1.68:0
-
-CP_DEPEND="
- dev-java/bcmail:0
- dev-java/bcprov:0
- dev-java/commons-logging:0
- ~dev-java/fontbox-${PV}:0
-"
-
-# Compile dependencies
-# POM: ${P}/${PN}/pom.xml
-# test? com.github.jai-imageio:jai-imageio-core:1.4.0 -> >=dev-java/jai-imageio-core-1.4.0:0
-# test? com.github.jai-imageio:jai-imageio-jpeg2000:1.4.0 -> >=dev-java/jai-imageio-jpeg2000-1.4.0:0
-# test? com.googlecode.java-diff-utils:diffutils:1.3.0 -> >=dev-java/java-diff-utils-1.3.0:0
-# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
-# test? org.apache.pdfbox:jbig2-imageio:3.0.3 -> >=dev-java/jbig2-imageio-3.0.3:0
-# test? org.mockito:mockito-core:3.10.0 -> !!!suitble-mavenVersion-not-found!!!
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*
- test? (
- dev-java/jai-imageio-core:0
- dev-java/jai-imageio-jpeg2000:0
- dev-java/java-diff-utils:0
- dev-java/jbig2-imageio:0
- dev-java/mockito:4
- )"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-DOCS=( README.md {NOTICE,RELEASE-NOTES}.txt )
-
-PATCHES=(
- # adds @Ignore annotation to
- # public void testPDFBox3826() throws IOException, URISyntaxException
- # https://issues.apache.org/jira/browse/PDFBOX-3826
- "${FILESDIR}"/2.0.24-tests-ignore.patch
-)
-
-S="${WORKDIR}/${P}"
-
-JAVA_GENTOO_CLASSPATH_EXTRA="pdfbox.jar:pdfbox-debugger.jar"
-JAVA_TEST_GENTOO_CLASSPATH="jai-imageio-core,jai-imageio-jpeg2000,java-diff-utils,jbig2-imageio,junit-4,mockito-4"
-
-JAVA_TEST_EXCLUDES=(
- # excluded upstream according to
- # https://github.com/apache/pdfbox/blob/2.0.26/pdfbox/pom.xml#L123
- "org.apache.pdfbox.rendering.TestPDFToImage"
-
- # Causing test failures. Upstream does not run these tests.
- "org.apache.pdfbox.cos.TestCOSBase"
- "org.apache.pdfbox.cos.TestCOSNumber"
-)
-
-src_prepare() {
- default
-}
-
-src_compile() {
- einfo "Compiling pdfbox"
- JAVA_SRC_DIR="pdfbox/src/main/java"
- JAVA_RESOURCE_DIRS="pdfbox/src/main/resources"
- JAVA_JAR_FILENAME="pdfbox.jar"
- java-pkg-simple_src_compile
-
- if use tools; then
- einfo "Compiling debugger"
- JAVA_SRC_DIR="debugger/src/main/java"
- JAVA_RESOURCE_DIRS="debugger/src/main/resources"
- JAVA_JAR_FILENAME="pdfbox-debugger.jar"
- java-pkg-simple_src_compile
-
- einfo "Compiling pdfbox-tools"
- JAVA_SRC_DIR="tools/src/main/java"
- JAVA_RESOURCE_DIRS=""
- JAVA_JAR_FILENAME="pdfbox-tools.jar"
- java-pkg-simple_src_compile
- fi
-
- if use doc; then
- einfo "Compiling javadocs"
- JAVA_SRC_DIR=(
- "${S}/pdfbox/src/main/java"
- "${S}/debugger/src/main/java"
- )
- if use tools; then
- JAVA_SRC_DIR+=( "${S}/tools/src/main/java" )
- fi
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
- fi
-}
-
-src_test() {
- einfo "Testing pdfbox"
- JAVA_TEST_SRC_DIR="pdfbox/src/test/java"
- JAVA_TEST_RESOURCE_DIRS="pdfbox/src/test/resources"
-
- # tests failed with S="${WORKDIR}/${P}"
- find pdfbox/src/test/ -type f -exec sed -i 's:src/test/resources:pdfbox/src/test/resources:' {} + || die
-
- mkdir --parents target/pdfs || die
- cp \
- "${DISTDIR}"/PDFBOX-1031-1.pdf \
- "${DISTDIR}"/PDFBOX-1031-2.pdf \
- "${DISTDIR}"/PDFBOX-1065-1.pdf \
- "${DISTDIR}"/PDFBOX-1065-2.pdf \
- "${DISTDIR}"/PDFBOX-1100-1.pdf \
- "${DISTDIR}"/PDFBOX-1100-2.pdf \
- "${DISTDIR}"/PDFBOX-3656.pdf \
- "${DISTDIR}"/PDFBOX-3682.pdf \
- "${DISTDIR}"/PDFBOX-3940-079977.pdf \
- "${DISTDIR}"/PDFBOX-3785-202097.pdf \
- "${DISTDIR}"/PDFBOX-3947-670064.pdf \
- "${DISTDIR}"/PDFBOX-3948-EUWO6SQS5TM4VGOMRD3FLXZHU35V2CP2.pdf \
- "${DISTDIR}"/PDFBOX-3949-MKFYUGZWS3OPXLLVU2Z4LWCTVA5WNOGF.pdf \
- "${DISTDIR}"/PDFBOX-3950-23EGDHXSBBYQLKYOKGZUOVYVNE675PRD.pdf \
- "${DISTDIR}"/PDFBOX-3951-FIHUZWDDL2VGPOE34N6YHWSIGSH5LVGZ.pdf \
- "${DISTDIR}"/PDFBOX-3964-c687766d68ac766be3f02aaec5e0d713_2.pdf \
- "${DISTDIR}"/PDFBOX-3977-63NGFQRI44HQNPIPEJH5W2TBM6DJZWMI.pdf \
- "${DISTDIR}"/PDFBOX-3999-GeneralForbearance.pdf \
- "${DISTDIR}"/PDFBOX-4197.pdf \
- "${DISTDIR}"/PDFBOX-4308.pdf \
- "${DISTDIR}"/PDFBOX-4408.pdf \
- "${DISTDIR}"/PDFBOX-4418-000314.pdf \
- "${DISTDIR}"/PDFBOX-4418-000671.pdf \
- "${DISTDIR}"/PDFBOX-4423-000746.pdf \
- "${DISTDIR}"/PDFBOX-4517-cryptfilter.pdf \
- "${DISTDIR}"/PDFBOX-4750.pdf \
- "${DISTDIR}"/PDFBOX-4153-WXMDXCYRWFDCMOSFQJ5OAJIAFXYRZ5OA.pdf \
- "${DISTDIR}"/PDFBOX-4490.pdf \
- "${DISTDIR}"/PDFBOX-3208-L33MUTT2SVCWGCS6UIYL5TH3PNPXHIS6.pdf \
- "${DISTDIR}"/PDFBOX-3783-72GLBIGUC6LB46ELZFBARRJTLN4RBSQM.pdf \
- "${DISTDIR}"/PDFBOX-4338.pdf \
- "${DISTDIR}"/PDFBOX-4339.pdf \
- "${DISTDIR}"/genko_oc_shiryo1.pdf \
- "${DISTDIR}"/PDFBOX-4831.pdf \
- "target/pdfs" || die
-
- mkdir target/fonts || die
- cp "${DISTDIR}"/n019003l.pfb "target/fonts" || die
- unzip "${DISTDIR}"/ipag00303.zip -d "target/fonts" || die
- unzip "${DISTDIR}"/ipagp00303.zip -d "target/fonts" || die
-
- mkdir target/imgs || die
- cp \
- "${DISTDIR}"/PDFBOX-5196-lotus.jpg \
- "${DISTDIR}"/PDFBOX-4184-032163.jpg \
- "${DISTDIR}"/PDFBOX-4184-16bit.png \
- "target/imgs" || die
-
- java-pkg-simple_src_test
- rm -r target/test-classes || die # avoid to run previous tests again
-
- if use tools; then
- einfo "Testing pdfbox-tools"
- find tools/src/test/ -type f -exec sed -i 's:src/test/resources:tools/src/test/resources:' {} + || die
- JAVA_TEST_SRC_DIR="tools/src/test/java"
- JAVA_TEST_RESOURCE_DIRS="tools/src/test/resources"
- java-pkg-simple_src_test
- fi
-}
-
-src_install() {
- # https://bugs.gentoo.org/789582
- default
-
- java-pkg_dojar "pdfbox.jar"
- if use tools; then
- java-pkg_dojar "pdfbox-debugger.jar"
- java-pkg_dojar "pdfbox-tools.jar"
- java-pkg_dolauncher ${PN} --main org.apache.pdfbox.tools.PDFBox
- fi
-
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
-
- if use source; then
- java-pkg_dosrc \
- "${S}/pdfbox/src/main/java/*" \
- "${S}/debugger/src/main/java/*" \
- "${S}/tools/src/main/java/*"
- fi
-}
diff --git a/dev-java/pdfbox/pdfbox-2.0.27.ebuild b/dev-java/pdfbox/pdfbox-2.0.27.ebuild
new file mode 100644
index 000000000000..3bb1b8e0c5bd
--- /dev/null
+++ b/dev-java/pdfbox/pdfbox-2.0.27.ebuild
@@ -0,0 +1,259 @@
+# Copyright 1999-2023 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 mirror://apache/pdfbox/2.0.27/pdfbox-2.0.27-src.zip --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild pdfbox-2.0.27.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.pdfbox:pdfbox:2.0.27"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Java library and utilities for working with PDF documents"
+HOMEPAGE="https://pdfbox.apache.org/"
+SRC_URI="mirror://apache/${PN}/${PV}/${P}-src.zip
+ test? (
+ https://issues.apache.org/jira/secure/attachment/12481683/1.pdf -> PDFBOX-1031-1.pdf
+ https://issues.apache.org/jira/secure/attachment/12481684/2.pdf -> PDFBOX-1031-2.pdf
+ https://issues.apache.org/jira/secure/attachment/12486525/1_testfile1.pdf -> PDFBOX-1065-1.pdf
+ https://issues.apache.org/jira/secure/attachment/12486526/2_testfile1.pdf -> PDFBOX-1065-2.pdf
+ https://issues.apache.org/jira/secure/attachment/12490774/a.pdf -> PDFBOX-1100-1.pdf
+ https://issues.apache.org/jira/secure/attachment/12490775/b.pdf -> PDFBOX-1100-2.pdf
+ https://issues.apache.org/jira/secure/attachment/12848122/SF1199AEG%20%28Complete%29.pdf -> PDFBOX-3656.pdf
+ https://issues.apache.org/jira/secure/attachment/12852207/test.pdf -> PDFBOX-3682.pdf
+ https://issues.apache.org/jira/secure/attachment/12888957/079977.pdf -> PDFBOX-3940-079977.pdf
+ https://issues.apache.org/jira/secure/attachment/12867113/202097.pdf -> PDFBOX-3785-202097.pdf
+ https://issues.apache.org/jira/secure/attachment/12890031/670064.pdf -> PDFBOX-3947-670064.pdf
+ https://issues.apache.org/jira/secure/attachment/12890034/EUWO6SQS5TM4VGOMRD3FLXZHU35V2CP2.pdf -> PDFBOX-3948-EUWO6SQS5TM4VGOMRD3FLXZHU35V2CP2.pdf
+ https://issues.apache.org/jira/secure/attachment/12890037/MKFYUGZWS3OPXLLVU2Z4LWCTVA5WNOGF.pdf -> PDFBOX-3949-MKFYUGZWS3OPXLLVU2Z4LWCTVA5WNOGF.pdf
+ https://issues.apache.org/jira/secure/attachment/12890042/23EGDHXSBBYQLKYOKGZUOVYVNE675PRD.pdf -> PDFBOX-3950-23EGDHXSBBYQLKYOKGZUOVYVNE675PRD.pdf
+ https://issues.apache.org/jira/secure/attachment/12890047/FIHUZWDDL2VGPOE34N6YHWSIGSH5LVGZ.pdf -> PDFBOX-3951-FIHUZWDDL2VGPOE34N6YHWSIGSH5LVGZ.pdf
+ https://issues.apache.org/jira/secure/attachment/12892097/c687766d68ac766be3f02aaec5e0d713_2.pdf -> PDFBOX-3964-c687766d68ac766be3f02aaec5e0d713_2.pdf
+ https://issues.apache.org/jira/secure/attachment/12893582/63NGFQRI44HQNPIPEJH5W2TBM6DJZWMI.pdf -> PDFBOX-3977-63NGFQRI44HQNPIPEJH5W2TBM6DJZWMI.pdf
+ https://issues.apache.org/jira/secure/attachment/12896905/GeneralForbearance.pdf -> PDFBOX-3999-GeneralForbearance.pdf
+ https://issues.apache.org/jira/secure/attachment/12919726/sample.pdf -> PDFBOX-4197.pdf
+ https://issues.apache.org/jira/secure/attachment/12938094/Quelldatei.pdf -> PDFBOX-4308.pdf
+ https://issues.apache.org/jira/secure/attachment/12952086/form.pdf -> PDFBOX-4408.pdf
+ https://issues.apache.org/jira/secure/attachment/12953423/000314.pdf -> PDFBOX-4418-000314.pdf
+ https://issues.apache.org/jira/secure/attachment/12953421/000671.pdf -> PDFBOX-4418-000671.pdf
+ https://issues.apache.org/jira/secure/attachment/12953866/000746.pdf -> PDFBOX-4423-000746.pdf
+ https://issues.apache.org/jira/secure/attachment/12966453/cryptfilter.pdf -> PDFBOX-4517-cryptfilter.pdf
+ https://issues.apache.org/jira/secure/attachment/12991833/PDFBOX-4750-test.pdf -> PDFBOX-4750.pdf
+ https://issues.apache.org/jira/secure/attachment/12914331/WXMDXCYRWFDCMOSFQJ5OAJIAFXYRZ5OA.pdf -> PDFBOX-4153-WXMDXCYRWFDCMOSFQJ5OAJIAFXYRZ5OA.pdf
+ https://issues.apache.org/jira/secure/attachment/12962991/NeS1078.pdf -> PDFBOX-4490.pdf
+ https://issues.apache.org/jira/secure/attachment/12784025/PDFBOX-3208-L33MUTT2SVCWGCS6UIYL5TH3PNPXHIS6.pdf
+ https://issues.apache.org/jira/secure/attachment/12867102/PDFBOX-3783-72GLBIGUC6LB46ELZFBARRJTLN4RBSQM.pdf
+ https://issues.apache.org/jira/secure/attachment/12929821/16bit.png -> PDFBOX-4184-16bit.png
+ https://issues.apache.org/jira/secure/attachment/12943502/ArrayIndexOutOfBoundsException%20COSParser -> PDFBOX-4338.pdf
+ https://issues.apache.org/jira/secure/attachment/12943503/NullPointerException%20COSParser -> PDFBOX-4339.pdf
+ https://issues.apache.org/jira/secure/attachment/12867433/genko_oc_shiryo1.pdf
+ https://moji.or.jp/wp-content/ipafont/IPAfont/ipag00303.zip
+ https://moji.or.jp/wp-content/ipafont/IPAfont/ipagp00303.zip
+ https://issues.apache.org/jira/secure/attachment/12911053/n019003l.pfb
+ https://issues.apache.org/jira/secure/attachment/12949710/032163.jpg -> PDFBOX-4184-032163.jpg
+ https://issues.apache.org/jira/secure/attachment/13025718/lotus.jpg -> PDFBOX-5196-lotus.jpg
+ https://issues.apache.org/jira/secure/attachment/13002695/13._Korona_szallo_vegzes_13.09.26.eredeti.pdf -> PDFBOX-4831.pdf
+ )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc64 x86"
+IUSE="+tools"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+
+# Common dependencies
+# POM: pom.xml
+# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
+# org.apache.pdfbox:fontbox:2.0.27 -> >=dev-java/fontbox-2.0.27:0
+# org.bouncycastle:bcmail-jdk15on:1.70 -> !!!artifactId-not-found!!!
+# org.bouncycastle:bcprov-jdk15on:1.70 -> !!!artifactId-not-found!!!
+
+CP_DEPEND="
+ dev-java/bcmail:0
+ dev-java/bcprov:0
+ dev-java/commons-logging:0
+ ~dev-java/fontbox-${PV}:0
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? com.github.jai-imageio:jai-imageio-core:1.4.0 -> >=dev-java/jai-imageio-core-1.4.0:0
+# test? com.github.jai-imageio:jai-imageio-jpeg2000:1.4.0 -> >=dev-java/jai-imageio-jpeg2000-1.4.0:0
+# test? com.googlecode.java-diff-utils:diffutils:1.3.0 -> >=dev-java/java-diff-utils-1.3.0:0
+# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
+# test? org.apache.pdfbox:jbig2-imageio:3.0.4 -> !!!suitable-mavenVersion-not-found!!!
+# test? org.mockito:mockito-core:4.8.0 -> >=dev-java/mockito-4.8.0:4
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/jai-imageio-core:0
+ dev-java/jai-imageio-jpeg2000:0
+ dev-java/java-diff-utils:0
+ dev-java/jbig2-imageio:0
+ dev-java/mockito:4
+ )"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="app-arch/unzip"
+
+DOCS=( README.md {NOTICE,RELEASE-NOTES}.txt )
+
+S="${WORKDIR}/${P}"
+
+JAVA_GENTOO_CLASSPATH_EXTRA="pdfbox.jar:pdfbox-debugger.jar"
+JAVA_TEST_GENTOO_CLASSPATH="jai-imageio-core,jai-imageio-jpeg2000,java-diff-utils,jbig2-imageio,junit-4,mockito-4"
+
+JAVA_TEST_EXCLUDES=(
+ # excluded upstream according to
+ # https://github.com/apache/pdfbox/blob/2.0.27/pdfbox/pom.xml#L123
+ "org.apache.pdfbox.rendering.TestPDFToImage"
+
+ # Causing test failures. Upstream does not run these tests.
+ "org.apache.pdfbox.cos.TestCOSBase"
+ "org.apache.pdfbox.cos.TestCOSNumber"
+)
+
+src_compile() {
+ einfo "Compiling pdfbox"
+ JAVA_AUTOMATIC_MODULE_NAME="org.apache.pdfbox"
+ JAVA_JAR_FILENAME="pdfbox.jar"
+ JAVA_RESOURCE_DIRS="pdfbox/src/main/resources"
+ JAVA_SRC_DIR="pdfbox/src/main/java"
+ java-pkg-simple_src_compile
+
+ if use tools; then
+ einfo "Compiling debugger"
+ JAVA_AUTOMATIC_MODULE_NAME=""
+ JAVA_JAR_FILENAME="pdfbox-debugger.jar"
+ JAVA_RESOURCE_DIRS="debugger/src/main/resources"
+ JAVA_SRC_DIR="debugger/src/main/java"
+ java-pkg-simple_src_compile
+
+ einfo "Compiling pdfbox-tools"
+ JAVA_JAR_FILENAME="pdfbox-tools.jar"
+ JAVA_RESOURCE_DIRS=""
+ JAVA_SRC_DIR="tools/src/main/java"
+ java-pkg-simple_src_compile
+ fi
+
+ if use doc; then
+ einfo "Compiling javadocs"
+ JAVA_SRC_DIR=(
+ "${S}/pdfbox/src/main/java"
+ "${S}/debugger/src/main/java"
+ )
+ if use tools; then
+ JAVA_SRC_DIR+=( "${S}/tools/src/main/java" )
+ fi
+ JAVA_JAR_FILENAME="ignoreme.jar"
+ java-pkg-simple_src_compile
+ fi
+}
+
+src_test() {
+ # @Ignore 2 tests which otherwise would fail
+ # 'mvn test' skips them
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/testPDFBox3826()/i @Ignore' \
+ -e '/testPDFBox5484()/i @Ignore' \
+ -i pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java || die
+
+ einfo "Testing pdfbox"
+ JAVA_TEST_SRC_DIR="pdfbox/src/test/java"
+ JAVA_TEST_RESOURCE_DIRS="pdfbox/src/test/resources"
+
+ # tests failed with S="${WORKDIR}/${P}"
+ find pdfbox/src/test/ -type f -exec sed -i 's:src/test/resources:pdfbox/src/test/resources:' {} + || die
+
+ mkdir --parents target/pdfs || die
+ cp \
+ "${DISTDIR}"/PDFBOX-1031-1.pdf \
+ "${DISTDIR}"/PDFBOX-1031-2.pdf \
+ "${DISTDIR}"/PDFBOX-1065-1.pdf \
+ "${DISTDIR}"/PDFBOX-1065-2.pdf \
+ "${DISTDIR}"/PDFBOX-1100-1.pdf \
+ "${DISTDIR}"/PDFBOX-1100-2.pdf \
+ "${DISTDIR}"/PDFBOX-3656.pdf \
+ "${DISTDIR}"/PDFBOX-3682.pdf \
+ "${DISTDIR}"/PDFBOX-3940-079977.pdf \
+ "${DISTDIR}"/PDFBOX-3785-202097.pdf \
+ "${DISTDIR}"/PDFBOX-3947-670064.pdf \
+ "${DISTDIR}"/PDFBOX-3948-EUWO6SQS5TM4VGOMRD3FLXZHU35V2CP2.pdf \
+ "${DISTDIR}"/PDFBOX-3949-MKFYUGZWS3OPXLLVU2Z4LWCTVA5WNOGF.pdf \
+ "${DISTDIR}"/PDFBOX-3950-23EGDHXSBBYQLKYOKGZUOVYVNE675PRD.pdf \
+ "${DISTDIR}"/PDFBOX-3951-FIHUZWDDL2VGPOE34N6YHWSIGSH5LVGZ.pdf \
+ "${DISTDIR}"/PDFBOX-3964-c687766d68ac766be3f02aaec5e0d713_2.pdf \
+ "${DISTDIR}"/PDFBOX-3977-63NGFQRI44HQNPIPEJH5W2TBM6DJZWMI.pdf \
+ "${DISTDIR}"/PDFBOX-3999-GeneralForbearance.pdf \
+ "${DISTDIR}"/PDFBOX-4197.pdf \
+ "${DISTDIR}"/PDFBOX-4308.pdf \
+ "${DISTDIR}"/PDFBOX-4408.pdf \
+ "${DISTDIR}"/PDFBOX-4418-000314.pdf \
+ "${DISTDIR}"/PDFBOX-4418-000671.pdf \
+ "${DISTDIR}"/PDFBOX-4423-000746.pdf \
+ "${DISTDIR}"/PDFBOX-4517-cryptfilter.pdf \
+ "${DISTDIR}"/PDFBOX-4750.pdf \
+ "${DISTDIR}"/PDFBOX-4153-WXMDXCYRWFDCMOSFQJ5OAJIAFXYRZ5OA.pdf \
+ "${DISTDIR}"/PDFBOX-4490.pdf \
+ "${DISTDIR}"/PDFBOX-3208-L33MUTT2SVCWGCS6UIYL5TH3PNPXHIS6.pdf \
+ "${DISTDIR}"/PDFBOX-3783-72GLBIGUC6LB46ELZFBARRJTLN4RBSQM.pdf \
+ "${DISTDIR}"/PDFBOX-4338.pdf \
+ "${DISTDIR}"/PDFBOX-4339.pdf \
+ "${DISTDIR}"/genko_oc_shiryo1.pdf \
+ "${DISTDIR}"/PDFBOX-4831.pdf \
+ "target/pdfs" || die
+
+ mkdir target/fonts || die
+ cp "${DISTDIR}"/n019003l.pfb "target/fonts" || die
+ unzip "${DISTDIR}"/ipag00303.zip -d "target/fonts" || die
+ unzip "${DISTDIR}"/ipagp00303.zip -d "target/fonts" || die
+
+ mkdir target/imgs || die
+ cp \
+ "${DISTDIR}"/PDFBOX-5196-lotus.jpg \
+ "${DISTDIR}"/PDFBOX-4184-032163.jpg \
+ "${DISTDIR}"/PDFBOX-4184-16bit.png \
+ "target/imgs" || die
+
+ java-pkg-simple_src_test
+ rm -r target/test-classes || die # avoid to run previous tests again
+
+ if use tools; then
+ einfo "Testing pdfbox-tools"
+ find tools/src/test/ -type f -exec sed -i 's:src/test/resources:tools/src/test/resources:' {} + || die
+ JAVA_TEST_SRC_DIR="tools/src/test/java"
+ JAVA_TEST_RESOURCE_DIRS="tools/src/test/resources"
+ java-pkg-simple_src_test
+ fi
+}
+
+src_install() {
+ default
+
+ java-pkg_dojar "pdfbox.jar"
+ if use tools; then
+ java-pkg_dojar "pdfbox-debugger.jar"
+ java-pkg_dojar "pdfbox-tools.jar"
+ java-pkg_dolauncher ${PN} --main org.apache.pdfbox.tools.PDFBox
+ fi
+
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ fi
+
+ if use source; then
+ java-pkg_dosrc \
+ "${S}/pdfbox/src/main/java/*" \
+ "${S}/debugger/src/main/java/*" \
+ "${S}/tools/src/main/java/*"
+ fi
+}
diff --git a/dev-java/picocli/picocli-4.6.3-r1.ebuild b/dev-java/picocli/picocli-4.6.3-r1.ebuild
index 98e5a9c62a30..e582311ee918 100644
--- a/dev-java/picocli/picocli-4.6.3-r1.ebuild
+++ b/dev-java/picocli/picocli-4.6.3-r1.ebuild
@@ -1,9 +1,6 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 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/remkop/picocli/archive/refs/tags/v4.6.3.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild picocli-4.6.3.ebuild
-
EAPI=8
JAVA_PKG_IUSE="doc source test"
@@ -17,7 +14,7 @@ HOMEPAGE="https://picocli.info"
SRC_URI="https://github.com/remkop/${PN}/archive/v${PV}.tar.gz -> ${P}-sources.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ppc64 x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
# package org.junit.contrib.java.lang.system does not exist
# the project is here: https://github.com/stefanbirkner/system-rules
diff --git a/dev-java/plexus-classworlds/Manifest b/dev-java/plexus-classworlds/Manifest
index 2136c99da805..444a9642dc6e 100644
--- a/dev-java/plexus-classworlds/Manifest
+++ b/dev-java/plexus-classworlds/Manifest
@@ -1 +1 @@
-DIST plexus-classworlds-2.6.0.tar.gz 57221 BLAKE2B 7cef274981101eab85247c1a19420ebbb626b671312579ea665fc3d82e9eb8caba55955ccbc38ccd54e19c55ec1683b6a99a2cd96b08bf7ace57355a8e958d1f SHA512 d6ef17a4651da99975bcfc04f89ba128d891efc9047dc9b8afa52bd092d07268d44a7424a3a3700209bb56452f035ac1071c58ae6dc961b7e991efee1c0e117e
+DIST plexus-classworlds-2.7.0.tar.gz 60221 BLAKE2B 8adbad24c057982dd3da6ce221175cf0b3e6585316de02434214d7d470b24220edaa94f4191cb2febfc4e3006a78cd3be5cc0f793438a5009ee20ef8c602768b SHA512 625d83c1a08a15e0d85984518eaec36bf001e562c49df4d5028e9fec1a9fdc69faa88066441da3cedd803fc20932fcaef9f2e924a485e0a0dcde60a600b32c7f
diff --git a/dev-java/plexus-classworlds/plexus-classworlds-2.6.0.ebuild b/dev-java/plexus-classworlds/plexus-classworlds-2.6.0.ebuild
deleted file mode 100644
index d5eca2023894..000000000000
--- a/dev-java/plexus-classworlds/plexus-classworlds-2.6.0.ebuild
+++ /dev/null
@@ -1,59 +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="org.codehaus.plexus:plexus-classworlds:2.6.0"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="The class loader framework of the Plexus project"
-HOMEPAGE="https://codehaus-plexus.github.io/plexus-classworlds/"
-SRC_URI="https://github.com/codehaus-plexus/plexus-classworlds/archive/plexus-classworlds-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- dev-java/commons-logging
- dev-java/xml-commons-external:1.4
- )
-"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${PN}-${P}"
-
-JAVA_MAIN_CLASS="org.codehaus.plexus.classworlds.launcher.Launcher"
-JAVA_SRC_DIR="src/main/java/"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/test-data"
-JAVA_TEST_EXCLUDES="org.codehaus.plexus.classworlds.TestUtil"
-
-src_prepare() {
- default
- # Ignore one test case testing the presence of ant-core
- sed \
- -e '/testConfigure_Valid/i @Ignore' \
- -e '/import org.junit.Test/a import org.junit.Ignore;' \
- -i src/test/java/org/codehaus/plexus/classworlds/launcher/ConfiguratorTest.java || die
-}
-
-src_test(){
- mkdir -p target/test-lib || die
- # https://github.com/codehaus-plexus/plexus-classworlds/blob/plexus-classworlds-2.6.0/pom.xml#L159-L161
- ln -s "$(java-pkg_getjars --build-only xml-commons-external-1.4)" \
- target/test-lib/xml-apis-1.3.02.jar || die
- # symlinking works only if java-pkg_getjars finds only one file
- # but commons-logging has multiple jar files.
- ln -s "${SYSROOT}"/usr/share/commons-logging/lib/commons-logging.jar \
- target/test-lib/commons-logging-1.0.3.jar || die
- java-pkg-simple_src_test
-}
diff --git a/dev-java/plexus-classworlds/plexus-classworlds-2.7.0-r1.ebuild b/dev-java/plexus-classworlds/plexus-classworlds-2.7.0-r1.ebuild
new file mode 100644
index 000000000000..b61697448e9a
--- /dev/null
+++ b/dev-java/plexus-classworlds/plexus-classworlds-2.7.0-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.codehaus.plexus:plexus-classworlds:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="The class loader framework of the Plexus project"
+HOMEPAGE="https://codehaus-plexus.github.io/plexus-classworlds/"
+SRC_URI="https://github.com/codehaus-plexus/plexus-classworlds/archive/plexus-classworlds-${PV}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ >=dev-java/ant-1.10.14-r3:0
+ dev-java/commons-logging:0
+ dev-java/xml-commons-external:1.4
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_MAIN_CLASS="org.codehaus.plexus.classworlds.launcher.Launcher"
+JAVA_SRC_DIR="src/main/java/"
+
+# Invalid test class, No runnable methods
+JAVA_TEST_EXCLUDES="org.codehaus.plexus.classworlds.TestUtil"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/test-data"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test(){
+ # java.io.FileNotFoundException: target/test-lib/xml-apis-1.3.02.jar
+ mkdir -p target/test-lib || die
+ java-pkg_jar-from --into target/test-lib xml-commons-external-1.4 xml-commons-external.jar xml-apis-1.3.02.jar
+ java-pkg_jar-from --into target/test-lib ant ant.jar ant-1.9.0.jar
+ java-pkg_jar-from --into target/test-lib commons-logging commons-logging.jar commons-logging-1.0.3.jar
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/poi/Manifest b/dev-java/poi/Manifest
index 446c7ed3e502..9057f75a73c0 100644
--- a/dev-java/poi/Manifest
+++ b/dev-java/poi/Manifest
@@ -1 +1 @@
-DIST poi-src-5.2.2-20220312.tgz 117042913 BLAKE2B ef2ab433158ac51fc163e9bfa65268d246a686c7892234cdd2332bef526c69b59dd0959bdabc6a486a99e20dfcc144ff6aff775a6412136112bb6a36f10968d3 SHA512 858d6c1af8a29a22aa24bef0422b3c8329141ff026131b8354a97c87acc31ef06c91f1b9cabeb71738b3687ddc8283f19b2ac42865b7e98e91cb0d5aa6b89b40
+DIST poi-src-5.2.3-20220909.tgz 117839114 BLAKE2B 8b62f212dbbb6c7c20900dad97eaee20d416129d1529f42d3f3d15c42dd737af389f3d46c0891f733ba6ce143fa30c73aa921a2f007e68ecbfcd2a61da27baec SHA512 15d1d9387a3003fa30dc77cb42721daefb07a0f8ef1a69873107fd2266d66ae5c0138f47f2867d49154bbde4f28939ac1aa1b49e367230408e67c05099addc1c
diff --git a/dev-java/poi/poi-5.2.2.ebuild b/dev-java/poi/poi-5.2.2.ebuild
deleted file mode 100644
index d5068b84b33d..000000000000
--- a/dev-java/poi/poi-5.2.2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom poi-5.2.2/sonar/main/pom.xml --download-uri https://archive.apache.org/dist/poi/release/src/poi-src-5.2.2-20210120.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild poi-5.0.0.ebuild
-
-EAPI=8
-
-# tests depend on junit-jupiter which is not packaged
-# https://github.com/apache/poi/blob/REL_5_2_2/poi/build.gradle#L51-L56
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.apache.poi:poi-main:5.2.2"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Maven build of Apache POI for Sonar checks"
-HOMEPAGE="https://poi.apache.org/"
-RELEASE_DATE="20220312"
-SRC_URI="mirror://apache/poi/release/src/poi-src-${PV}-${RELEASE_DATE}.tgz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- >=dev-java/commons-codec-1.15-r1:0
- >=dev-java/commons-collections-4.4-r1:4
- >=dev-java/commons-io-2.11.0-r1:1
- >=dev-java/commons-math-3.6.1-r2:3
- dev-java/log4j-api:2
- dev-java/sparsebitset:0
- >=virtual/jdk-11:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*"
-
-S="${WORKDIR}/poi-src-${PV}-${RELEASE_DATE}"
-
-JAVA_CLASSPATH_EXTRA="
- commons-codec
- commons-collections-4
- commons-io-1
- commons-math-3
- log4j-api-2
- sparsebitset
- "
-JAVA_SRC_DIR=( poi/src/main/java{,9} )
-JAVA_RESOURCE_DIRS="poi/src/main/resources"
-
-src_prepare() {
- default
- sed \
- -e "s:@VERSION@:${PV}:g" \
- -e "s:@DSTAMP@:${RELEASE_DATE}:g" \
- poi/src/main/version/Version.java.template \
- > poi/src/main/java/org/apache/poi/Version.java || die
- # Neither log4j-api nor SparseBitSet provide Automatic-Module
- sed \
- -e '/SparseBitSet/d' \
- -e '/org.apache.logging.log4j/d' \
- -i poi/src/main/java9/module-info.java || die
-}
diff --git a/dev-java/poi/poi-5.2.3.ebuild b/dev-java/poi/poi-5.2.3.ebuild
new file mode 100644
index 000000000000..4628e037f386
--- /dev/null
+++ b/dev-java/poi/poi-5.2.3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# tests depend on junit-jupiter which is not packaged
+# https://github.com/apache/poi/blob/REL_5_2_2/poi/build.gradle#L51-L56
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.apache.poi:poi-main:5.2.2"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Maven build of Apache POI for Sonar checks"
+HOMEPAGE="https://poi.apache.org/"
+RELEASE_DATE="20220909"
+SRC_URI="mirror://apache/poi/release/src/poi-src-${PV}-${RELEASE_DATE}.tgz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ >=dev-java/commons-codec-1.15-r1:0
+ >=dev-java/commons-collections-4.4-r1:4
+ >=dev-java/commons-io-2.11.0-r1:1
+ >=dev-java/commons-math-3.6.1-r2:3
+ dev-java/log4j-api:2
+ dev-java/sparsebitset:0
+ >=virtual/jdk-11:*
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*"
+
+S="${WORKDIR}/poi-src-${PV}-${RELEASE_DATE}-${PV}"
+
+JAVA_AUTOMATIC_MODULE_NAME="org.apache.poi.poi"
+JAVA_CLASSPATH_EXTRA="
+ commons-codec
+ commons-collections-4
+ commons-io-1
+ commons-math-3
+ log4j-api-2
+ sparsebitset
+ "
+JAVA_RESOURCE_DIRS="poi/src/main/resources"
+JAVA_SRC_DIR=( poi/src/main/java{,9} )
+
+src_prepare() {
+ default
+ sed \
+ -e "s:@VERSION@:${PV}:g" \
+ -e "s:@DSTAMP@:${RELEASE_DATE}:g" \
+ poi/src/main/version/Version.java.template \
+ > poi/src/main/java/org/apache/poi/Version.java || die
+ # Neither log4j-api nor SparseBitSet provide Automatic-Module
+ sed \
+ -e '/SparseBitSet/d' \
+ -e '/org.apache.logging.log4j/d' \
+ -i poi/src/main/java9/module-info.java || die
+}
diff --git a/dev-java/protobuf-java/Manifest b/dev-java/protobuf-java/Manifest
index dfb0564c5120..c07e7249e188 100644
--- a/dev-java/protobuf-java/Manifest
+++ b/dev-java/protobuf-java/Manifest
@@ -1,2 +1,7 @@
-DIST protobuf-3.19.3.tar.gz 5293258 BLAKE2B c05b70ffca97f7166ea6a511a36907eed125edf1ebf17f908718221d9b851be84dfb2b1b39973f2faf35f6ade630e6ba4f9e8b91b8fbc922c5db97079323ee6e SHA512 1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6
-DIST protobuf-3.20.1.tar.gz 5368262 BLAKE2B 1ce1aef2e4c4f3ea4863629cc75d89fe17d0c7ac0c342ac641c787456fd4a12756c2892a27ddadedc94a7201494ec84566638ce33a03cb0c867b04e9eee0edb3 SHA512 fde3eb9f13946887ddfd87df428c5615ad09aaf191e4478b24e98e5e13231feeff4e70b4ca6a2ff7d9b9b2e2c60bc1d5479526edeafa78f9a8ed3bef2e0bacb0
+DIST protobuf-23.0.tar.gz 5039837 BLAKE2B 63e02590b03fd9206cdfc4a26edeb2fa55dac902f5365c33c9e9340a722f552e4a5c82d1a0b25b84fcb675d5d06b768fd92cf472743d2361295129ae9faa02f3 SHA512 46c263fab189fdc310c7310d1a3d9e76472e5d96f16228bc4b946d4211afc64188d563ec70250c11a3dd05d18158b72ccf173567bd59aa45310eff62cd5f194d
+DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
+DIST protobuf-25.1.tar.gz 5878124 BLAKE2B a0b917e4518b07b221afd01e801e45b5b6fa35c7ccf8c21120d6a63f7174e53cc37d0516b1802d9243f8bb37b72b7f460a36dcbf0fffb09e011b05315c53efc3 SHA512 d2fad2188118ced2cd951bdb472d72cc9e9b2158c88eeca652c76332a884b5b5b4b58628f7777272fa693140753823584ea9c7924f1655b1d5a363f59bdf7a4c
+DIST protobuf-25.2.tar.gz 5878387 BLAKE2B 1ee7a48d3a481f523ff240c79e8cacb39b6a7e2c671279812cbffd5ce9be595034461fba41f03bed363133118c1b92bd14bcfd8c4e46ac6368e6407a23fb02ea SHA512 66f0b177eae0e2e40b8b17c8f411cd9dec5355dcfc145b8a79426e6367babcc28b9a8078bbe4ba2de47a82811a2e1a89d36955d6fa0c8d391cfeada4eb160fdb
+DIST protobuf-25.3.tar.gz 5878962 BLAKE2B 9268f9bd993a1cfd6d3937a2ad56ba4cfe3d84923756513841cbf13039d4a07acb260468745cb1294f30334cb34b45c6fde272f5c40d9de63ac6a4ce5c263077 SHA512 1f73e237c919082e5423ae9e2ea8813dccf672c059051d1531fe89ffaa45872d3cf3052b8c3af26f674296ec17d7dc861c67b8f0834ed80261ce4a6a14ed7115
+DIST protobuf-26.0.tar.gz 5957426 BLAKE2B 246b81a2c037047c10aeb004bbc4836d1d1cd73eadd0780060bf7fe60cee2cfa4e14afdb07c2a6fa2381e4656a47a148cf77315f1caa8c1bf6c137e06b0de168 SHA512 b350e0be51e4977865bfcc086506e1d85421da5d9386d2b10dada98a9a1a32a7b44e2ace866e605b42f1e2b6a702e6eca7fa9f5346819b55dd7d09f5ded3628c
+DIST truth-1.1.3.jar 243021 BLAKE2B a59149038c62ef5dd352b13d4b393e1b7715fbafe5ed86ec2d16d722c738a31dcdca10132fc73b17b367ac4309e5407ba2e489f8d4c8fbca60ce5f35ae75d1e3 SHA512 f29a9fb070aff8a32358a7b6c8998c0095de5d8d68afa7f7bac759c7050309deff929e767657ecbbefd96163460f10255ca01bc567ab30df4834b9d916a4fae8
diff --git a/dev-java/protobuf-java/files/protobuf-java-3.23.0-unittest_retention.proto.patch b/dev-java/protobuf-java/files/protobuf-java-3.23.0-unittest_retention.proto.patch
new file mode 100644
index 000000000000..c838bf3cede2
--- /dev/null
+++ b/dev-java/protobuf-java/files/protobuf-java-3.23.0-unittest_retention.proto.patch
@@ -0,0 +1,35 @@
+java/core/src/test/java/com/google/protobuf/DescriptorsTest.java:68: error: cannot find symbol
+import protobuf_unittest.UnittestRetention;
+ ^
+ symbol: class UnittestRetention
+ location: package protobuf_unittest
+java/core/src/test/java/com/google/protobuf/DescriptorsTest.java:402: error: cannot find symbol
+ FileOptions options = UnittestRetention.getDescriptor().getOptions();
+ ^
+ symbol: variable UnittestRetention
+ location: class DescriptorsTest
+java/core/src/test/java/com/google/protobuf/DescriptorsTest.java:403: error: cannot find symbol
+ assertThat(options.hasExtension(UnittestRetention.plainOption)).isTrue();
+ ^
+ symbol: variable UnittestRetention
+ location: class DescriptorsTest
+java/core/src/test/java/com/google/protobuf/DescriptorsTest.java:404: error: cannot find symbol
+ assertThat(options.hasExtension(UnittestRetention.runtimeRetentionOption)).isTrue();
+ ^
+ symbol: variable UnittestRetention
+ location: class DescriptorsTest
+java/core/src/test/java/com/google/protobuf/DescriptorsTest.java:405: error: cannot find symbol
+ assertThat(options.hasExtension(UnittestRetention.sourceRetentionOption)).isFalse();
+ ^
+ symbol: variable UnittestRetention
+ location: class DescriptorsTest
+--- a/java/core/generate-test-sources-build.xml
++++ b/java/core/generate-test-sources-build.xml
+@@ -19,6 +19,7 @@
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_optimize_for.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_proto3.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_proto3_optional.proto"/>
++ <arg value="${protobuf.source.dir}/google/protobuf/unittest_retention.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_well_known_types.proto"/>
+ <arg value="${test.proto.dir}/com/google/protobuf/any_test.proto"/>
+ <arg value="${test.proto.dir}/com/google/protobuf/cached_field_size_test.proto"/>
diff --git a/dev-java/protobuf-java/files/protobuf-java-3.26.0-unittest.protos.patch b/dev-java/protobuf-java/files/protobuf-java-3.26.0-unittest.protos.patch
new file mode 100644
index 000000000000..76b227a4e71a
--- /dev/null
+++ b/dev-java/protobuf-java/files/protobuf-java-3.26.0-unittest.protos.patch
@@ -0,0 +1,23 @@
+--- a/java/core/generate-test-sources-build.xml
++++ b/java/core/generate-test-sources-build.xml
+@@ -8,10 +8,12 @@
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_custom_options.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_enormous_descriptor.proto"/>
++ <arg value="${protobuf.source.dir}/google/protobuf/unittest_features.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_import.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_import_lite.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_import_public.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_import_public_lite.proto"/>
++ <arg value="${protobuf.source.dir}/google/protobuf/unittest_legacy_features.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_lite.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_mset.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_mset_wire_format.proto"/>
+@@ -19,6 +21,7 @@
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_optimize_for.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_proto3.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_proto3_optional.proto"/>
++ <arg value="${protobuf.source.dir}/google/protobuf/unittest_retention.proto"/>
+ <arg value="${protobuf.source.dir}/google/protobuf/unittest_well_known_types.proto"/>
+ <arg value="${test.proto.dir}/com/google/protobuf/any_test.proto"/>
+ <arg value="${test.proto.dir}/com/google/protobuf/cached_field_size_test.proto"/>
diff --git a/dev-java/protobuf-java/metadata.xml b/dev-java/protobuf-java/metadata.xml
index 7fc9e27ef82d..20b09444fc60 100644
--- a/dev-java/protobuf-java/metadata.xml
+++ b/dev-java/protobuf-java/metadata.xml
@@ -9,10 +9,15 @@
<email>cjk@gentoo.org</email>
<name>Cjk</name>
</maintainer>
- <slots>
- <subslots>Soname version number of Protobuf</subslots>
- </slots>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
<upstream>
+ <bugs-to>https://github.com/protocolbuffers/protobuf/issues</bugs-to>
+ <doc>https://protobuf.dev/getting-started/javatutorial/</doc>
<remote-id type="github">protocolbuffers/protobuf</remote-id>
</upstream>
+ <use>
+ <flag name="system-protoc">Use protoc provided by dev-libs/protobuf</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-java/protobuf-java/protobuf-java-3.19.3.ebuild b/dev-java/protobuf-java/protobuf-java-3.19.3.ebuild
deleted file mode 100644
index 594aff5cf66f..000000000000
--- a/dev-java/protobuf-java/protobuf-java-3.19.3.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Java bindings"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/30"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE=""
-
-BDEPEND="~dev-libs/protobuf-${PV}
- >=virtual/jdk-1.8:*"
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/protobuf-${PV}/java"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
-fi
-
-src_prepare() {
- pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die
- eapply_user
- popd > /dev/null || die
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- "${BROOT}/usr/bin/protoc" --java_out=core/src/main/java -I../src ../src/google/protobuf/descriptor.proto || die
- JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_install
-}
diff --git a/dev-java/protobuf-java/protobuf-java-3.20.1.ebuild b/dev-java/protobuf-java/protobuf-java-3.20.1.ebuild
deleted file mode 100644
index f0eaf379e6de..000000000000
--- a/dev-java/protobuf-java/protobuf-java-3.20.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Java bindings"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz"
-fi
-S="${WORKDIR}/protobuf-${PV}/java"
-
-LICENSE="BSD"
-SLOT="0/31"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-COMMON_DEPEND=">=virtual/jdk-1.8:*"
-BDEPEND="
- ~dev-libs/protobuf-${PV}
- ${COMMON_DEPEND}
-"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die
- eapply_user
- popd > /dev/null || die
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- "${BROOT}/usr/bin/protoc" --java_out=core/src/main/java -I../src ../src/google/protobuf/descriptor.proto || die
- JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_install
-}
diff --git a/dev-java/protobuf-java/protobuf-java-3.23.0.ebuild b/dev-java/protobuf-java/protobuf-java-3.23.0.ebuild
new file mode 100644
index 000000000000..abeb3464f5e4
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-3.23.0.ebuild
@@ -0,0 +1,165 @@
+# Copyright 2008-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.protobuf:protobuf-java:3.23.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple cmake
+
+DESCRIPTION="Core Protocol Buffers library"
+HOMEPAGE="https://protobuf.dev"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+# And we build artifact 3.23.0 from the 23.0 tarball in order to allow sharing the tarball with
+# dev-libs/protobuf.
+SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV#3.}.tar.gz -> protobuf-${PV#3.}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/protobuf-${PV#3.}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-protoc"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava:0
+ dev-java/mockito:4
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${PV#3.}:0 )
+ !system-protoc? ( >=dev-cpp/abseil-cpp-20230125.2 )
+"
+
+PATCHES=(
+ "${FILESDIR}/protobuf-java-3.23.0-unittest_retention.proto.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
+JAVA_JAR_FILENAME="protobuf.jar"
+JAVA_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_SRC_DIR="java/core/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="java/core/src/test/java"
+
+run-protoc() {
+ if use system-protoc; then
+ protoc $1
+ else
+ "${BUILD_DIR}"/protoc $1
+ fi
+}
+
+src_prepare() {
+ # If the corrsponding version of system-protoc is not available we build protoc locally
+ if use system-protoc; then
+ :
+ else
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ # https://github.com/protocolbuffers/protobuf/blob/v23.0/java/core/pom.xml#L43-L62
+ PROTOS=( $(sed \
+ -n '/google\/protobuf.*\.proto/s:.*<include>\(.*\)</include>:\1:p' \
+ "${S}/java/core/pom.xml") ) || die
+ pushd src > /dev/null || die
+ cp --parents -v "${PROTOS[@]}" ../"${JAVA_RESOURCE_DIRS}" || die
+ popd > /dev/null || die
+
+ # https://github.com/protocolbuffers/protobuf/blob/v23.0/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # https://github.com/protocolbuffers/protobuf/blob/v23.0/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ if use system-protoc; then
+ :
+ else
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if use system-protoc; then
+ :
+ else
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc \
+ @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # https://github.com/protocolbuffers/protobuf/blob/v23.0/java/core/pom.xml#L63-L71
+ jar cvf testdata.jar \
+ -C src google/protobuf/testdata/golden_message_oneof_implemented \
+ -C src google/protobuf/testdata/golden_packed_fields_message || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar:testdata.jar"
+
+ einfo "Running protoc on first part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-1 \
+ || die "run-protoc test-sources-build-1 failed"
+
+ einfo "Running protoc on second part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-2 \
+ || die "run-protoc test-sources-build-2 failed"
+
+ einfo "Running tests"
+ # Invalid test class 'map_test.MapInitializationOrderTest':
+ # 1. Test class should have exactly one public constructor
+ # Invalid test class 'protobuf_unittest.CachedFieldSizeTest':
+ # 1. Test class should have exactly one public constructor
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*Test.java" \
+ ! -path "**/Abstract*Test.java" \
+ ! -name "MapInitializationOrderTest.java" \
+ ! -path '*protobuf_unittest/CachedFieldSizeTest.java'
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/protobuf-java/protobuf-java-3.23.3.ebuild b/dev-java/protobuf-java/protobuf-java-3.23.3.ebuild
new file mode 100644
index 000000000000..484bbc788521
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-3.23.3.ebuild
@@ -0,0 +1,164 @@
+# Copyright 2008-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.protobuf:protobuf-java:3.23.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple cmake
+
+DESCRIPTION="Core Protocol Buffers library"
+HOMEPAGE="https://protobuf.dev"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+# And we build artifact 3.23.3 from the 23.3 tarball in order to allow sharing the tarball with
+# dev-libs/protobuf.
+SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV#3.}.tar.gz -> protobuf-${PV#3.}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/protobuf-${PV#3.}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-protoc"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${PV#3.}:0 )
+ !system-protoc? ( >=dev-cpp/abseil-cpp-20230125.3 )
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava:0
+ dev-java/mockito:4
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}/protobuf-java-3.23.0-unittest_retention.proto.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
+JAVA_JAR_FILENAME="protobuf.jar"
+JAVA_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_SRC_DIR="java/core/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="java/core/src/test/java"
+
+run-protoc() {
+ if use system-protoc; then
+ protoc $1
+ else
+ "${BUILD_DIR}"/protoc $1
+ fi
+}
+
+src_prepare() {
+ # If the corrsponding version of system-protoc is not available we build protoc locally
+ if use system-protoc; then
+ default # apply patches
+ else
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ # https://github.com/protocolbuffers/protobuf/blob/v23.3/java/core/pom.xml#L43-L62
+ PROTOS=( $(sed \
+ -n '/google\/protobuf.*\.proto/s:.*<include>\(.*\)</include>:\1:p' \
+ "${S}/java/core/pom.xml") ) || die
+ pushd src > /dev/null || die
+ cp --parents -v "${PROTOS[@]}" ../"${JAVA_RESOURCE_DIRS}" || die
+ popd > /dev/null || die
+
+ # https://github.com/protocolbuffers/protobuf/blob/v23.3/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # https://github.com/protocolbuffers/protobuf/blob/v23.3/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ if use system-protoc; then
+ :
+ else
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if use system-protoc; then
+ :
+ else
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc \
+ @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # https://github.com/protocolbuffers/protobuf/blob/v23.3/java/core/pom.xml#L63-L71
+ jar cvf testdata.jar \
+ -C src google/protobuf/testdata/golden_message_oneof_implemented \
+ -C src google/protobuf/testdata/golden_packed_fields_message || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar:testdata.jar"
+
+ einfo "Running protoc on first part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-1 \
+ || die "run-protoc test-sources-build-1 failed"
+
+ einfo "Running protoc on second part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-2 \
+ || die "run-protoc test-sources-build-2 failed"
+
+ einfo "Running tests"
+ # Invalid test class 'map_test.MapInitializationOrderTest':
+ # 1. Test class should have exactly one public constructor
+ # Invalid test class 'protobuf_unittest.CachedFieldSizeTest':
+ # 1. Test class should have exactly one public constructor
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*Test.java" \
+ ! -path "**/Abstract*Test.java" \
+ ! -name "MapInitializationOrderTest.java" \
+ ! -path '*protobuf_unittest/CachedFieldSizeTest.java'
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/protobuf-java/protobuf-java-3.25.1.ebuild b/dev-java/protobuf-java/protobuf-java-3.25.1.ebuild
new file mode 100644
index 000000000000..2c2fc51fb3b6
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-3.25.1.ebuild
@@ -0,0 +1,166 @@
+# Copyright 2008-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.protobuf:protobuf-java:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple cmake
+
+DESCRIPTION="Core Protocol Buffers library"
+HOMEPAGE="https://protobuf.dev"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+# And we build artifact 3.25.1 from the 25.1 tarball in order to allow sharing the tarball with
+# dev-libs/protobuf.
+MY_PV3="${PV#3.}"
+MY_PV="${MY_PV3/_rc/-rc}"
+SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${MY_PV}.tar.gz -> protobuf-${MY_PV}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/protobuf-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-protoc"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${MY_PV3}:0 )
+ !system-protoc? ( >=dev-cpp/abseil-cpp-20230802.0 )
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava:0
+ dev-java/mockito:4
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}/protobuf-java-3.23.0-unittest_retention.proto.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
+JAVA_JAR_FILENAME="protobuf.jar"
+JAVA_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_SRC_DIR="java/core/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="java/core/src/test/java"
+
+run-protoc() {
+ if use system-protoc; then
+ protoc $1
+ else
+ "${BUILD_DIR}"/protoc $1
+ fi
+}
+
+src_prepare() {
+ # If the corrsponding version of system-protoc is not available we build protoc locally
+ if use system-protoc; then
+ default # apply patches
+ else
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ # https://github.com/protocolbuffers/protobuf/blob/v25.1/java/core/pom.xml#L43-L62
+ PROTOS=( $(sed \
+ -n '/google\/protobuf.*\.proto/s:.*<include>\(.*\)</include>:\1:p' \
+ "${S}/java/core/pom.xml") ) || die
+ pushd src > /dev/null || die
+ cp --parents -v "${PROTOS[@]}" ../"${JAVA_RESOURCE_DIRS}" || die
+ popd > /dev/null || die
+
+ # https://github.com/protocolbuffers/protobuf/blob/v25.1/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # https://github.com/protocolbuffers/protobuf/blob/v25.1/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ if use system-protoc; then
+ :
+ else
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if use system-protoc; then
+ :
+ else
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc \
+ @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # https://github.com/protocolbuffers/protobuf/blob/v25.1/java/core/pom.xml#L63-L71
+ jar cvf testdata.jar \
+ -C src google/protobuf/testdata/golden_message_oneof_implemented \
+ -C src google/protobuf/testdata/golden_packed_fields_message || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar:testdata.jar"
+
+ einfo "Running protoc on first part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-1 \
+ || die "run-protoc test-sources-build-1 failed"
+
+ einfo "Running protoc on second part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-2 \
+ || die "run-protoc test-sources-build-2 failed"
+
+ einfo "Running tests"
+ # Invalid test class 'map_test.MapInitializationOrderTest':
+ # 1. Test class should have exactly one public constructor
+ # Invalid test class 'protobuf_unittest.CachedFieldSizeTest':
+ # 1. Test class should have exactly one public constructor
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*Test.java" \
+ ! -path "**/Abstract*Test.java" \
+ ! -name "MapInitializationOrderTest.java" \
+ ! -path '*protobuf_unittest/CachedFieldSizeTest.java'
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/protobuf-java/protobuf-java-3.25.2.ebuild b/dev-java/protobuf-java/protobuf-java-3.25.2.ebuild
new file mode 100644
index 000000000000..5276064d1543
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-3.25.2.ebuild
@@ -0,0 +1,166 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.protobuf:protobuf-java:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple cmake
+
+DESCRIPTION="Core Protocol Buffers library"
+HOMEPAGE="https://protobuf.dev"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+# And we build artifact 3.25.2 from the 25.2 tarball in order to allow sharing the tarball with
+# dev-libs/protobuf.
+MY_PV3="${PV#3.}"
+MY_PV="${MY_PV3/_rc/-rc}"
+SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${MY_PV}.tar.gz -> protobuf-${MY_PV}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/protobuf-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-protoc"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${MY_PV3}:0 )
+ !system-protoc? ( >=dev-cpp/abseil-cpp-20230802.0 )
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava:0
+ dev-java/mockito:4
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}/protobuf-java-3.23.0-unittest_retention.proto.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
+JAVA_JAR_FILENAME="protobuf.jar"
+JAVA_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_SRC_DIR="java/core/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="java/core/src/test/java"
+
+run-protoc() {
+ if use system-protoc; then
+ protoc $1
+ else
+ "${BUILD_DIR}"/protoc $1
+ fi
+}
+
+src_prepare() {
+ # If the corrsponding version of system-protoc is not available we build protoc locally
+ if use system-protoc; then
+ default # apply patches
+ else
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ # https://github.com/protocolbuffers/protobuf/blob/v25.2/java/core/pom.xml#L43-L62
+ PROTOS=( $(sed \
+ -n '/google\/protobuf.*\.proto/s:.*<include>\(.*\)</include>:\1:p' \
+ "${S}/java/core/pom.xml") ) || die
+ pushd src > /dev/null || die
+ cp --parents -v "${PROTOS[@]}" ../"${JAVA_RESOURCE_DIRS}" || die
+ popd > /dev/null || die
+
+ # https://github.com/protocolbuffers/protobuf/blob/v25.2/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # https://github.com/protocolbuffers/protobuf/blob/v25.2/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ if use system-protoc; then
+ :
+ else
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if use system-protoc; then
+ :
+ else
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc \
+ @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # https://github.com/protocolbuffers/protobuf/blob/v25.2/java/core/pom.xml#L63-L71
+ jar cvf testdata.jar \
+ -C src google/protobuf/testdata/golden_message_oneof_implemented \
+ -C src google/protobuf/testdata/golden_packed_fields_message || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar:testdata.jar"
+
+ einfo "Running protoc on first part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-1 \
+ || die "run-protoc test-sources-build-1 failed"
+
+ einfo "Running protoc on second part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-2 \
+ || die "run-protoc test-sources-build-2 failed"
+
+ einfo "Running tests"
+ # Invalid test class 'map_test.MapInitializationOrderTest':
+ # 1. Test class should have exactly one public constructor
+ # Invalid test class 'protobuf_unittest.CachedFieldSizeTest':
+ # 1. Test class should have exactly one public constructor
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*Test.java" \
+ ! -path "**/Abstract*Test.java" \
+ ! -name "MapInitializationOrderTest.java" \
+ ! -path '*protobuf_unittest/CachedFieldSizeTest.java'
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/protobuf-java/protobuf-java-3.25.3.ebuild b/dev-java/protobuf-java/protobuf-java-3.25.3.ebuild
new file mode 100644
index 000000000000..5415eb83ec8c
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-3.25.3.ebuild
@@ -0,0 +1,166 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.protobuf:protobuf-java:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple cmake
+
+DESCRIPTION="Core Protocol Buffers library"
+HOMEPAGE="https://protobuf.dev"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+# And we build artifact 3.25.3 from the 25.3 tarball in order to allow sharing the tarball with
+# dev-libs/protobuf.
+MY_PV3="${PV#3.}"
+MY_PV="${MY_PV3/_rc/-rc}"
+SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${MY_PV}.tar.gz -> protobuf-${MY_PV}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/protobuf-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-protoc"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${MY_PV3}:0 )
+ !system-protoc? ( >=dev-cpp/abseil-cpp-20230802.0 )
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava:0
+ dev-java/mockito:4
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}/protobuf-java-3.23.0-unittest_retention.proto.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
+JAVA_JAR_FILENAME="protobuf.jar"
+JAVA_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_SRC_DIR="java/core/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="java/core/src/test/java"
+
+run-protoc() {
+ if use system-protoc; then
+ protoc $1
+ else
+ "${BUILD_DIR}"/protoc $1
+ fi
+}
+
+src_prepare() {
+ # If the corrsponding version of system-protoc is not available we build protoc locally
+ if use system-protoc; then
+ default # apply patches
+ else
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ # https://github.com/protocolbuffers/protobuf/blob/v25.3/java/core/pom.xml#L43-L62
+ PROTOS=( $(sed \
+ -n '/google\/protobuf.*\.proto/s:.*<include>\(.*\)</include>:\1:p' \
+ "${S}/java/core/pom.xml") ) || die
+ pushd src > /dev/null || die
+ cp --parents -v "${PROTOS[@]}" ../"${JAVA_RESOURCE_DIRS}" || die
+ popd > /dev/null || die
+
+ # https://github.com/protocolbuffers/protobuf/blob/v25.3/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # https://github.com/protocolbuffers/protobuf/blob/v25.3/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ if use system-protoc; then
+ :
+ else
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if use system-protoc; then
+ :
+ else
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc \
+ @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # https://github.com/protocolbuffers/protobuf/blob/v25.3/java/core/pom.xml#L63-L71
+ jar cvf testdata.jar \
+ -C src google/protobuf/testdata/golden_message_oneof_implemented \
+ -C src google/protobuf/testdata/golden_packed_fields_message || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar:testdata.jar"
+
+ einfo "Running protoc on first part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-1 \
+ || die "run-protoc test-sources-build-1 failed"
+
+ einfo "Running protoc on second part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-2 \
+ || die "run-protoc test-sources-build-2 failed"
+
+ einfo "Running tests"
+ # Invalid test class 'map_test.MapInitializationOrderTest':
+ # 1. Test class should have exactly one public constructor
+ # Invalid test class 'protobuf_unittest.CachedFieldSizeTest':
+ # 1. Test class should have exactly one public constructor
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*Test.java" \
+ ! -path "**/Abstract*Test.java" \
+ ! -name "MapInitializationOrderTest.java" \
+ ! -path '*protobuf_unittest/CachedFieldSizeTest.java'
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/protobuf-java/protobuf-java-3.26.0.ebuild b/dev-java/protobuf-java/protobuf-java-3.26.0.ebuild
new file mode 100644
index 000000000000..5c59d510ec97
--- /dev/null
+++ b/dev-java/protobuf-java/protobuf-java-3.26.0.ebuild
@@ -0,0 +1,167 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.protobuf:protobuf-java:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple cmake
+
+DESCRIPTION="Core Protocol Buffers library"
+HOMEPAGE="https://protobuf.dev"
+# Currently we bundle the binary version of truth.jar used only for tests, we don't install it.
+# And we build artifact 3.26.0 from the 26.0 tarball in order to allow sharing the tarball with
+# dev-libs/protobuf.
+MY_PV3="${PV#3.}"
+MY_PV="${MY_PV3/_rc/-rc}"
+SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${MY_PV}.tar.gz -> protobuf-${MY_PV}.tar.gz
+ test? ( https://repo1.maven.org/maven2/com/google/truth/truth/1.1.3/truth-1.1.3.jar )"
+S="${WORKDIR}/protobuf-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="system-protoc"
+
+BDEPEND="
+ system-protoc? ( ~dev-libs/protobuf-${MY_PV3}:0 )
+ !system-protoc? ( >=dev-cpp/abseil-cpp-20230802.0 )
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/guava:0
+ dev-java/mockito:4
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=(
+ "${FILESDIR}/protobuf-java-3.26.0-unittest.protos.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.protobuf"
+JAVA_JAR_FILENAME="protobuf.jar"
+JAVA_RESOURCE_DIRS="java/core/src/main/resources"
+JAVA_SRC_DIR="java/core/src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="guava,junit-4,mockito-4"
+JAVA_TEST_SRC_DIR="java/core/src/test/java"
+
+run-protoc() {
+ if use system-protoc; then
+ protoc $1
+ else
+ "${BUILD_DIR}"/protoc $1
+ fi
+}
+
+src_prepare() {
+ # If the corrsponding version of system-protoc is not available we build protoc locally
+ if use system-protoc; then
+ default # apply patches
+ else
+ cmake_src_prepare
+ fi
+ java-pkg-2_src_prepare
+
+ mkdir "${JAVA_RESOURCE_DIRS}" || die
+ # https://github.com/protocolbuffers/protobuf/blob/v26.0/java/core/pom.xml#L43-L62
+ PROTOS=( $(sed \
+ -n '/>google\/protobuf.*\.proto/s:.*<include>\(.*\)</include>:\1:p' \
+ "${S}/java/core/pom.xml") ) || die
+ pushd src > /dev/null || die
+ cp --parents -v "${PROTOS[@]}" ../"${JAVA_RESOURCE_DIRS}" || die
+ popd > /dev/null || die
+
+ # https://github.com/protocolbuffers/protobuf/blob/v26.0/java/core/generate-sources-build.xml
+ einfo "Replace variables in generate-sources-build.xml"
+ sed \
+ -e 's:${generated.sources.dir}:java/core/src/main/java:' \
+ -e 's:${protobuf.java_source.dir}:java/core/src:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|echo\|mkdir\|exec/d' \
+ -i java/core/generate-sources-build.xml || die "sed to sources failed"
+
+ # https://github.com/protocolbuffers/protobuf/blob/v26.0/java/core/generate-test-sources-build.xml
+ einfo "Replace variables in generate-test-sources-build.xml"
+ sed \
+ -e 's:${generated.testsources.dir}:java/core/src/test/java:' \
+ -e 's:${protobuf.source.dir}:src:' \
+ -e 's:${test.proto.dir}:java/core/src/test/proto:' \
+ -e 's:^.*value="::' -e 's:\"/>::' \
+ -e '/project\|mkdir\|exec\|Also generate/d' \
+ -i java/core/generate-test-sources-build.xml || die "sed to test sources failed"
+
+ # Split the file in two parts, one for each run-protoc call
+ awk '/--java_out/{x="test-sources-build-"++i;}{print > x;}' \
+ java/core/generate-test-sources-build.xml || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_BUILD_TESTS=OFF
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ if use system-protoc; then
+ :
+ else
+ cmake_src_configure
+ fi
+}
+
+src_compile() {
+ if use system-protoc; then
+ :
+ else
+ cmake_src_compile
+ fi
+
+ einfo "Run protoc to generate sources"
+ run-protoc \
+ @java/core/generate-sources-build.xml \
+ || die "protoc sources failed"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # https://github.com/protocolbuffers/protobuf/blob/v26.0/java/core/pom.xml#L63-L71
+ jar cvf testdata.jar \
+ -C src google/protobuf/testdata/golden_message_oneof_implemented \
+ -C src google/protobuf/testdata/golden_packed_fields_message || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/truth-1.1.3.jar:testdata.jar"
+
+ einfo "Running protoc on first part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-1 \
+ || die "run-protoc test-sources-build-1 failed"
+
+ einfo "Running protoc on second part of generate-test-sources-build.xml"
+ run-protoc @test-sources-build-2 \
+ || die "run-protoc test-sources-build-2 failed"
+
+ einfo "Running tests"
+ # Invalid test class 'map_test.MapInitializationOrderTest':
+ # 1. Test class should have exactly one public constructor
+ # Invalid test class 'protobuf_unittest.CachedFieldSizeTest':
+ # 1. Test class should have exactly one public constructor
+ pushd "${JAVA_TEST_SRC_DIR}" || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -path "**/*Test.java" \
+ ! -path "**/Abstract*Test.java" \
+ ! -name "MapInitializationOrderTest.java" \
+ ! -path '*protobuf_unittest/CachedFieldSizeTest.java'
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/protobuf-java/protobuf-java-9999.ebuild b/dev-java/protobuf-java/protobuf-java-9999.ebuild
deleted file mode 100644
index 43fa605b496c..000000000000
--- a/dev-java/protobuf-java/protobuf-java-9999.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Java bindings"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz"
-fi
-S="${WORKDIR}/protobuf-${PV}/java"
-
-LICENSE="BSD"
-SLOT="0/31"
-KEYWORDS=""
-
-COMMON_DEPEND=">=virtual/jdk-1.8:*"
-BDEPEND="
- ~dev-libs/protobuf-${PV}
- ${COMMON_DEPEND}
-"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die
- eapply_user
- popd > /dev/null || die
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- "${BROOT}/usr/bin/protoc" --java_out=core/src/main/java -I../src ../src/google/protobuf/descriptor.proto || die
- JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="core/src/main/java" JAVA_JAR_FILENAME="protobuf.jar" java-pkg-simple_src_install
-}
diff --git a/dev-java/qdox/Manifest b/dev-java/qdox/Manifest
index d6e59b90dcf8..85413229dd93 100644
--- a/dev-java/qdox/Manifest
+++ b/dev-java/qdox/Manifest
@@ -1 +1,2 @@
DIST qdox-1.12.1.tar.gz 519833 BLAKE2B 83a732f1582b714cf943ede61bacc5216804c00cfbb642a479afb74739564f4fdbcd923dd7cb84a9626a97c5ad0a0f04895e0ae68252891cb25299e1fe1c9c72 SHA512 17ac933854ebd0560921805ea4339c151a7fd095bf8d50d5d71e656afda77ba30efac7926cfcc7543e4a8420b12d1eb75cdd305c50d1c28ad8cd6b0f4d95f5c5
+DIST qdox-2.0.1.tar.gz 528305 BLAKE2B ff2f4b59d650b93a466eae6cc69239b059f7786ea609c18c56414e7e849d711d5316664a376b2c2c6e0021a21e7577cc21c9f5cfd215c4af612100a4c81da758 SHA512 db9d9ed8e8cf38c74e35be493aebcca54ba9d2c43a92c066d1964777293ad3af8e3212fcb8c20e9453b93e9bbe868c988dab69f936e7df41450183ce385137fa
diff --git a/dev-java/qdox/metadata.xml b/dev-java/qdox/metadata.xml
index 441b6da52a6e..f00a4317cac4 100644
--- a/dev-java/qdox/metadata.xml
+++ b/dev-java/qdox/metadata.xml
@@ -10,6 +10,6 @@
definitions from source files complete with JavaDoc @tags.
</longdescription>
<upstream>
- <remote-id type="github">codehaus/qdox</remote-id>
+ <remote-id type="github">paul-hammant/qdox</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/qdox/qdox-1.12.1-r3.ebuild b/dev-java/qdox/qdox-1.12.1-r3.ebuild
deleted file mode 100644
index 9f0982c09a7e..000000000000
--- a/dev-java/qdox/qdox-1.12.1-r3.ebuild
+++ /dev/null
@@ -1,86 +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="com.thoughtworks.qdox:qdox:1.12.1"
-
-inherit java-pkg-2
-
-DESCRIPTION="Parser for extracting class/interface/method definitions"
-HOMEPAGE="https://github.com/codehaus/qdox"
-SRC_URI="https://github.com/codehaus/qdox/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="1.12"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${PN}-${PV}"
-
-CDEPEND="dev-java/ant-core:0"
-
-DEPEND=">=virtual/jdk-1.8:*
- dev-java/byaccj:0
- >=dev-java/jflex-1.6.1:0
- dev-java/jmock:1.0
- test? ( dev-java/junit:0 )
- ${CDEPEND}"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/jflex-1.6.1.patch"
-)
-
-src_prepare() {
- default
-
- if ! use test ; then
- rm src/java/com/thoughtworks/qdox/tools/QDoxTester.java
- rm -rf src/java/com/thoughtworks/qdox/junit
- rm -rf src/test
- fi
-}
-
-src_compile() {
- jflex src/grammar/lexer.flex --skel src/grammar/skeleton.inner -d src/java/com/thoughtworks/qdox/parser/impl/ || die
- byaccj -v -Jnorun -Jnoconstruct -Jclass=Parser -Jsemantic=Value -Jpackage=com.thoughtworks.qdox.parser.impl src/grammar/parser.y || die
- mv Parser.java src/java/com/thoughtworks/qdox/parser/impl/ || die
-
- # create jar
- mkdir -p build/classes || die
-
- local cp="$(java-pkg_getjars --build-only ant-core,jmock-1.0)"
-
- if use test ; then
- cp="${cp}:$(java-pkg_getjars --build-only junit)"
- fi
-
- ejavac -sourcepath . -d build/classes -classpath "${cp}" \
- $(find . -name "*.java") || die "Cannot compile sources"
-
- mkdir dist || die
- cd build/classes || die
- jar -cvf "${S}"/dist/${PN}.jar com || die "Cannot create JAR"
-
- # generate javadoc
- if use doc ; then
- cd "${S}"
- mkdir javadoc || die
- javadoc -d javadoc -sourcepath src/java -subpackages com -classpath "${cp}"
- fi
-}
-
-src_test() {
- java -cp "${S}"/dist/${PN}.jar:$(java-pkg_getjars --build-only ant-core,junit,jmock-1.0) \
- com.thoughtworks.qdox.tools.QDoxTester src || die "Tests failed!"
-}
-
-src_install() {
- java-pkg_dojar dist/${PN}.jar
-
- use source && java-pkg_dosrc src/java/com
- use doc && java-pkg_dojavadoc javadoc
-}
diff --git a/dev-java/qdox/qdox-1.12.1-r4.ebuild b/dev-java/qdox/qdox-1.12.1-r4.ebuild
new file mode 100644
index 000000000000..cf1dc1eeb7d5
--- /dev/null
+++ b/dev-java/qdox/qdox-1.12.1-r4.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.thoughtworks.qdox:qdox:1.12.1"
+
+inherit java-pkg-2
+
+DESCRIPTION="Parser for extracting class/interface/method definitions"
+HOMEPAGE="https://github.com/codehaus/qdox"
+SRC_URI="https://github.com/codehaus/qdox/archive/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="1.12"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~ppc-macos ~x64-macos"
+
+S="${WORKDIR}/${PN}-${PN}-${PV}"
+
+CDEPEND=">=dev-java/ant-1.10.14-r3:0"
+
+DEPEND=">=virtual/jdk-1.8:*
+ dev-java/byaccj:0
+ >=dev-java/jflex-1.6.1:0
+ dev-java/jmock:1.0
+ test? ( dev-java/junit:0 )
+ ${CDEPEND}"
+
+RDEPEND=">=virtual/jre-1.8:*
+ ${CDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/jflex-1.6.1.patch"
+)
+
+src_prepare() {
+ default
+
+ if ! use test ; then
+ rm src/java/com/thoughtworks/qdox/tools/QDoxTester.java
+ rm -rf src/java/com/thoughtworks/qdox/junit
+ rm -rf src/test
+ fi
+}
+
+src_compile() {
+ jflex src/grammar/lexer.flex --skel src/grammar/skeleton.inner -d src/java/com/thoughtworks/qdox/parser/impl/ || die
+ byaccj -v -Jnorun -Jnoconstruct -Jclass=Parser -Jsemantic=Value -Jpackage=com.thoughtworks.qdox.parser.impl src/grammar/parser.y || die
+ mv Parser.java src/java/com/thoughtworks/qdox/parser/impl/ || die
+
+ # create jar
+ mkdir -p build/classes || die
+
+ local cp="$(java-pkg_getjars --build-only ant,jmock-1.0)"
+
+ if use test ; then
+ cp="${cp}:$(java-pkg_getjars --build-only junit)"
+ fi
+
+ ejavac -sourcepath . -d build/classes -classpath "${cp}" \
+ $(find . -name "*.java") || die "Cannot compile sources"
+
+ mkdir dist || die
+ cd build/classes || die
+ jar -cvf "${S}"/dist/${PN}.jar com || die "Cannot create JAR"
+
+ # generate javadoc
+ if use doc ; then
+ cd "${S}"
+ mkdir javadoc || die
+ javadoc -d javadoc -sourcepath src/java -subpackages com -classpath "${cp}"
+ fi
+}
+
+src_test() {
+ java -cp "${S}"/dist/${PN}.jar:$(java-pkg_getjars --build-only ant,junit,jmock-1.0) \
+ com.thoughtworks.qdox.tools.QDoxTester src || die "Tests failed!"
+}
+
+src_install() {
+ java-pkg_dojar dist/${PN}.jar
+
+ use source && java-pkg_dosrc src/java/com
+ use doc && java-pkg_dojavadoc javadoc
+}
diff --git a/dev-java/qdox/qdox-2.0.1.ebuild b/dev-java/qdox/qdox-2.0.1.ebuild
new file mode 100644
index 000000000000..0588a2ec7649
--- /dev/null
+++ b/dev-java/qdox/qdox-2.0.1.ebuild
@@ -0,0 +1,102 @@
+# 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="com.thoughtworks.qdox:qdox:2.0.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Parser for extracting class/interface/method definitions"
+HOMEPAGE="https://github.com/paul-hammant/qdox"
+SRC_URI="https://github.com/paul-hammant/qdox/archive/qdox-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~ppc-macos ~x64-macos"
+
+DEPEND="
+ dev-java/jflex:0
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/junit:4
+ dev-java/mockito:0
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+BDEPEND="dev-java/byaccj:0"
+
+S="${WORKDIR}/qdox-${P}"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.thoughtworks.qdox"
+JAVA_SRC_DIR="src/main/java"
+JAVA_CLASSPATH_EXTRA="jflex"
+
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_GENTOO_CLASSPATH="
+ junit-4
+ mockito
+"
+
+src_compile() {
+ einfo "Running jflex"
+ jflex src/grammar/lexer.flex src/grammar/commentlexer.flex \
+ -d src/main/java/com/thoughtworks/qdox/parser/impl || die
+
+ einfo "Running byaccj for DefaultJavaCommentParser"
+ byaccj -v \
+ -Jnorun \
+ -Jnoconstruct \
+ -Jclass=DefaultJavaCommentParser \
+ -Jpackage=com.thoughtworks.qdox.parser.impl \
+ src/grammar/commentparser.y || die
+
+ einfo "Running byaccj for Parser"
+ byaccj -v \
+ -Jnorun \
+ -Jnoconstruct \
+ -Jclass=Parser \
+ -Jimplements=CommentHandler \
+ -Jsemantic=Value \
+ -Jpackage=com.thoughtworks.qdox.parser.impl \
+ src/grammar/parser.y || die
+
+ mv Parser.java src/main/java/com/thoughtworks/qdox/parser/impl/ || die
+ mv DefaultJavaCommentParser.java src/main/java/com/thoughtworks/qdox/parser/impl/ || die
+ mv DefaultJavaCommentParserVal.java src/main/java/com/thoughtworks/qdox/parser/impl/ || die
+
+ einfo "Running java-pkg-simple_src_compile"
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ # Too many tests fail with Java 17.
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17 ; then
+ einfo "Tests only for Java < 17"
+ else
+ einfo "Running tests"
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ \( -wholename "**/*Test.java" \
+ -o -name 'TestMultipleLevelGenericInheritance.java' \)\
+ ! -name "ClassLibraryBuilderTest.java" \
+ ! -name "JavaClassTest.java" \
+ ! -name "JavaConstructorTest.java" \
+ ! -name "JavaFieldTest.java" \
+ ! -name "JavaMethodTest.java" \
+ ! -name "JavaPackageTest.java" \
+ ! -name "JavaParameterTest.java" \
+ ! -name "JavaSourceTest.java" \
+ ! -name "JavaTypeTest.java" \
+ ! -name "AbstractDocletTagTest.java" \
+ )
+ popd
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+ fi
+}
diff --git a/dev-java/rat/metadata.xml b/dev-java/rat/metadata.xml
deleted file mode 100644
index 6ef2d50cf07e..000000000000
--- a/dev-java/rat/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/rat/rat-0.13.ebuild b/dev-java/rat/rat-0.13.ebuild
deleted file mode 100644
index 2d6facdeddae..000000000000
--- a/dev-java/rat/rat-0.13.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2
-
-DESCRIPTION="Apache Rat is a release audit tool, focused on licenses"
-HOMEPAGE="https://creadur.apache.org/rat/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- ~dev-java/apache-rat-core-${PV}:0
- ~dev-java/apache-rat-tasks-${PV}:0
- >=virtual/jre-1.8:*
-"
-
-S="${WORKDIR}"
-
-src_compile() { :; }
-
-src_install() {
- default
- java-pkg_register-dependency apache-rat-core,apache-rat-tasks
- java-pkg_dolauncher "apache-${PN}" --jar $(java-pkg_getjar apache-rat-core apache-rat-core.jar) --main org.apache.rat.Report
-}
diff --git a/dev-java/reflections/reflections-0.9.12-r4.ebuild b/dev-java/reflections/reflections-0.9.12-r4.ebuild
deleted file mode 100644
index 22b2726b14d6..000000000000
--- a/dev-java/reflections/reflections-0.9.12-r4.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# 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/ronmamo/reflections/archive/0.9.12.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild reflections-0.9.12.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.reflections:reflections:0.9.12"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Reflections - a Java runtime metadata analysis"
-HOMEPAGE="https://github.com/ronmamo/reflections"
-SRC_URI="https://github.com/ronmamo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="WTFPL-2 BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# com.google.code.gson:gson:2.8.6 -> >=dev-java/gson-2.8.8:2.6
-# org.dom4j:dom4j:2.1.1 -> >=dev-java/dom4j-2.1.3:1
-# org.javassist:javassist:3.26.0-GA -> !!!suitable-mavenVersion-not-found!!!
-# org.slf4j:slf4j-api:1.7.30 -> >=dev-java/slf4j-api-1.7.30:0
-# org.slf4j:slf4j-simple:1.7.24 -> >=dev-java/slf4j-simple-1.7.30:0
-
-CP_DEPEND="
- dev-java/dom4j:1
- dev-java/gson:2.6
- dev-java/javassist:3
- dev-java/slf4j-api:0
- dev-java/slf4j-simple:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# javax.servlet:servlet-api:2.5 -> java-virtuals/servlet-api:2.5
-# POM: pom.xml
-# test? junit:junit:4.13 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="
- dev-java/tomcat-servlet-api:2.5
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-S="${WORKDIR}/${P}"
-
-JAVA_CLASSPATH_EXTRA="tomcat-servlet-api-2.5"
-JAVA_SRC_DIR=( "src/main/java" )
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR=( "src/test/java" )
-JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" )
-JAVA_TEST_EXCLUDES=(
- # Upstream does not run this test
- "org.reflections.TestModel"
- # 1) testMethodParameterNames(org.reflections.ReflectionsCollectTest)
- # org.reflections.ReflectionsException: Scanner MethodParameterNamesScanner was not configured
- # at org.reflections.Store.get(Store.java:39)
- # at org.reflections.Store.get(Store.java:61)
- # at org.reflections.Store.get(Store.java:46)
- # at org.reflections.Reflections.getMethodParamNames(Reflections.java:579)
- # at org.reflections.ReflectionsTest.testMethodParameterNames(ReflectionsTest.java:239)
- org.reflections.ReflectionsCollectTest
- # 2) testMethodParameterNames(org.reflections.ReflectionsParallelTest)
- # org.reflections.ReflectionsException: Scanner MethodParameterNamesScanner was not configured
- # at org.reflections.Store.get(Store.java:39)
- # at org.reflections.Store.get(Store.java:61)
- # at org.reflections.Store.get(Store.java:46)
- # at org.reflections.Reflections.getMethodParamNames(Reflections.java:579)
- # at org.reflections.ReflectionsTest.testMethodParameterNames(ReflectionsTest.java:239)
- org.reflections.ReflectionsParallelTest
- # 3) testMethodParameterNames(org.reflections.ReflectionsTest)
- # org.reflections.ReflectionsException: Scanner MethodParameterNamesScanner was not configured
- # at org.reflections.Store.get(Store.java:39)
- # at org.reflections.Store.get(Store.java:61)
- # at org.reflections.Store.get(Store.java:46)
- # at org.reflections.Reflections.getMethodParamNames(Reflections.java:579)
- # at org.reflections.ReflectionsTest.testMethodParameterNames(ReflectionsTest.java:239)
- org.reflections.ReflectionsTest
- #
- # https://github.com/ronmamo/reflections/issues/277#issuecomment-927152981
- # scanner was not configured exception - this is a known issue in 0.9.12, a simple workaround is to
- # check if the getStore() contains index for the scanner before querying. next version 0.10 fixes this.
-)
diff --git a/dev-java/reflections/reflections-0.9.12-r6.ebuild b/dev-java/reflections/reflections-0.9.12-r6.ebuild
new file mode 100644
index 000000000000..630e94c431ca
--- /dev/null
+++ b/dev-java/reflections/reflections-0.9.12-r6.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 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/ronmamo/reflections/archive/0.9.12.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild reflections-0.9.12.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.reflections:reflections:0.9.12"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Reflections - a Java runtime metadata analysis"
+HOMEPAGE="https://github.com/ronmamo/reflections"
+SRC_URI="https://github.com/ronmamo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="WTFPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# com.google.code.gson:gson:2.8.6 -> >=dev-java/gson-2.8.8:0
+# org.dom4j:dom4j:2.1.1 -> >=dev-java/dom4j-2.1.3:1
+# org.javassist:javassist:3.26.0-GA -> !!!suitable-mavenVersion-not-found!!!
+# org.slf4j:slf4j-api:1.7.30 -> >=dev-java/slf4j-api-1.7.30:0
+# org.slf4j:slf4j-simple:1.7.24 -> >=dev-java/slf4j-simple-1.7.30:0
+
+CP_DEPEND="
+ dev-java/dom4j:1
+ dev-java/gson:0
+ dev-java/javassist:3
+ dev-java/slf4j-api:0
+ dev-java/slf4j-simple:0
+"
+
+# Compile dependencies
+# POM: pom.xml
+# javax.servlet:servlet-api:2.5 -> java-virtuals/servlet-api:2.5
+# POM: pom.xml
+# test? junit:junit:4.13 -> >=dev-java/junit-4.13.2:4
+
+DEPEND="
+ dev-java/javax-servlet-api:2.5
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+S="${WORKDIR}/${P}"
+
+JAVA_CLASSPATH_EXTRA="javax-servlet-api-2.5"
+JAVA_SRC_DIR=( "src/main/java" )
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR=( "src/test/java" )
+JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" )
+JAVA_TEST_EXCLUDES=(
+ # Upstream does not run this test
+ "org.reflections.TestModel"
+ # 1) testMethodParameterNames(org.reflections.ReflectionsCollectTest)
+ # org.reflections.ReflectionsException: Scanner MethodParameterNamesScanner was not configured
+ # at org.reflections.Store.get(Store.java:39)
+ # at org.reflections.Store.get(Store.java:61)
+ # at org.reflections.Store.get(Store.java:46)
+ # at org.reflections.Reflections.getMethodParamNames(Reflections.java:579)
+ # at org.reflections.ReflectionsTest.testMethodParameterNames(ReflectionsTest.java:239)
+ org.reflections.ReflectionsCollectTest
+ # 2) testMethodParameterNames(org.reflections.ReflectionsParallelTest)
+ # org.reflections.ReflectionsException: Scanner MethodParameterNamesScanner was not configured
+ # at org.reflections.Store.get(Store.java:39)
+ # at org.reflections.Store.get(Store.java:61)
+ # at org.reflections.Store.get(Store.java:46)
+ # at org.reflections.Reflections.getMethodParamNames(Reflections.java:579)
+ # at org.reflections.ReflectionsTest.testMethodParameterNames(ReflectionsTest.java:239)
+ org.reflections.ReflectionsParallelTest
+ # 3) testMethodParameterNames(org.reflections.ReflectionsTest)
+ # org.reflections.ReflectionsException: Scanner MethodParameterNamesScanner was not configured
+ # at org.reflections.Store.get(Store.java:39)
+ # at org.reflections.Store.get(Store.java:61)
+ # at org.reflections.Store.get(Store.java:46)
+ # at org.reflections.Reflections.getMethodParamNames(Reflections.java:579)
+ # at org.reflections.ReflectionsTest.testMethodParameterNames(ReflectionsTest.java:239)
+ org.reflections.ReflectionsTest
+ #
+ # https://github.com/ronmamo/reflections/issues/277#issuecomment-927152981
+ # scanner was not configured exception - this is a known issue in 0.9.12, a simple workaround is to
+ # check if the getStore() contains index for the scanner before querying. next version 0.10 fixes this.
+)
diff --git a/dev-java/relaxng-datatype/Manifest b/dev-java/relaxng-datatype/Manifest
index d03c886f2cbc..826bed701f04 100644
--- a/dev-java/relaxng-datatype/Manifest
+++ b/dev-java/relaxng-datatype/Manifest
@@ -1,2 +1 @@
-DIST relaxng-datatype-1.0.zip 74033 BLAKE2B 15b488e914cab28fb9ade71b491d961ffa4f683f66759e96cd53dcf69edd39d423b5562831698bb3e03191396c86a2a93369f14d278f3c55a90728031d1921d3 SHA512 712b99209e927e8929c46797cf3733993cc2740bfbafb458c518e5e130a7860a19dee45acd360a9d7179137f9340c3edeb514cacf501233cca515b38e60d6b79
DIST relaxngDatatype-20020414-sources.jar 11666 BLAKE2B b2505d61dc36a12d7b31ad84db6813dbfac04aedd6805568103a310ee88586995cc98dbeecc38744bd767f8dd2ced5257400365aaab859b05676949abd187316 SHA512 6d3335d08b620a1b5d401871b1e92dbbea6b9d954e5c7eba1a4f535afe8c6ddf51a5f07db69805409525f4dfdbe34d13cc3392acd8e7e16b100f7e708cee0380
diff --git a/dev-java/relaxng-datatype/relaxng-datatype-1.0-r3.ebuild b/dev-java/relaxng-datatype/relaxng-datatype-1.0-r3.ebuild
deleted file mode 100644
index 082bf9631a73..000000000000
--- a/dev-java/relaxng-datatype/relaxng-datatype-1.0-r3.ebuild
+++ /dev/null
@@ -1,35 +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"
-
-MY_PN="relaxngDatatype"
-MY_P="${MY_PN}-${PV}"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Interface between RELAX NG validators and datatype libraries"
-HOMEPAGE="https://relaxng.org/"
-SRC_URI="mirror://sourceforge/relaxng/${MY_P}.zip -> ${P}.zip"
-
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-LICENSE="BSD"
-SLOT="0"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_install() {
- java-pkg-simple_src_install
- einstalldocs
-}
diff --git a/dev-java/relaxng-datatype/relaxng-datatype-20020414.ebuild b/dev-java/relaxng-datatype/relaxng-datatype-20020414.ebuild
index ce360acaf11e..9107e77e12b6 100644
--- a/dev-java/relaxng-datatype/relaxng-datatype-20020414.ebuild
+++ b/dev-java/relaxng-datatype/relaxng-datatype-20020414.ebuild
@@ -12,7 +12,7 @@ DESCRIPTION="Interface between RELAX NG validators and datatype libraries"
HOMEPAGE="https://relaxng.org/"
SRC_URI="https://repo1.maven.org/maven2/relaxngDatatype/relaxngDatatype/${PV}/relaxngDatatype-${PV}-sources.jar"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-java/reload4j/Manifest b/dev-java/reload4j/Manifest
new file mode 100644
index 000000000000..20e9649701b7
--- /dev/null
+++ b/dev-java/reload4j/Manifest
@@ -0,0 +1 @@
+DIST reload4j-1.2.22.tar.gz 574985 BLAKE2B f3dc5c360665de8eacf49ab34e684becbe80882db3675045a2bd971f03c32352a958e0ca4d5b5c92d18835320409832dcc14fc49c6f67eef487dfb9ee2ff4dfe SHA512 542e935cf55c0008a2d49c20e8a30f072090999168f5bcc056e67e306e2ddf87bf864fbb1fe9c3e03f436e8dcc6a0f22135f82d9a33706282bd9f3caace0f1f5
diff --git a/dev-java/reload4j/metadata.xml b/dev-java/reload4j/metadata.xml
new file mode 100644
index 000000000000..75321cfb5598
--- /dev/null
+++ b/dev-java/reload4j/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-java/reload4j/reload4j-1.2.22.ebuild b/dev-java/reload4j/reload4j-1.2.22.ebuild
new file mode 100644
index 000000000000..d4ca0f965bc3
--- /dev/null
+++ b/dev-java/reload4j/reload4j-1.2.22.ebuild
@@ -0,0 +1,113 @@
+# 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/qos-ch/reload4j/archive/v_1.2.22.tar.gz --slot 0 --keywords "~amd64" --ebuild reload4j-1.2.22..ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="ch.qos.reload4j:reload4j:1.2.22"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Reload4j revives EOLed log4j 1.x"
+HOMEPAGE="https://reload4j.qos.ch"
+SRC_URI="https://github.com/qos-ch/reload4j/archive/v_${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# There are unresolved test failures
+RESTRICT="test"
+
+# Common dependencies
+# POM: pom.xml
+# javax.mail:mail:1.4.7 -> !!!groupId-not-found!!!
+# org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.0 -> !!!groupId-not-found!!!
+
+CP_DEPEND="
+ dev-java/javax-mail:0
+ dev-java/jboss-jms-api:1.1
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? com.h2database:h2:2.1.210 -> !!!groupId-not-found!!!
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+DOCS=( NOTICE {README,SECURITY}.md )
+
+S="${WORKDIR}/reload4j-v_${PV}"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+JAVA_TEST_EXCLUDES=(
+ #java.sql.SQLException: No suitable driver found for jdbc:h2:mem:test_db
+ # com.h2database:h2 is not packaged
+ org.apache.log4j.jdbc.JdbcAppenderTest
+ # No runnable methods
+ org.apache.log4j.TestConstants
+
+ # following tests prefer to fail if not run separately:
+ org.apache.log4j.MinimumTestCase
+ org.apache.log4j.net.SMTPAppenderTest
+ org.apache.log4j.net.SocketAppenderTest
+ org.apache.log4j.net.SocketServerTestCase
+ org.apache.log4j.net.SyslogAppenderTest
+ org.apache.log4j.net.TelnetAppenderTest
+ org.apache.log4j.varia.ERFATestCase
+ org.apache.log4j.varia.ErrorHandlerTestCase
+ org.apache.log4j.xml.CustomLevelTestCase
+ org.apache.log4j.xml.DOMTestCase
+)
+
+src_test() {
+ einfo "Running tests"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.MinimumTestCase"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.net.SMTPAppenderTest"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.net.SocketAppenderTest"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.net.SocketServerTestCase"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.net.SyslogAppenderTest"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.net.TelnetAppenderTest"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.varia.ERFATestCase"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.varia.ErrorHandlerTestCase"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.xml.CustomLevelTestCase"
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY="org.apache.log4j.xml.DOMTestCase"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/resin-servlet-api/Manifest b/dev-java/resin-servlet-api/Manifest
deleted file mode 100644
index 2e5cc967f07e..000000000000
--- a/dev-java/resin-servlet-api/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST resin-3.0.25-src.zip 10690692 BLAKE2B dde17819f958053bfe2e1ac0068db0a56c068185d676dce047769ffcd219036318e0f1adc0fee1757136aa4d5f8c75e112e286cb66d445bd30a283afe2c6ebba SHA512 f80f109b120cfbb484614c733cd10e0e057b7a704a7a00d2a6b83d95876558e4800ecc6d9fe3a3b8ddc32f9d556a51145edc3d08a8625937b8c06f413a335057
-DIST resin-4.0.27-src.tar.gz 10291608 BLAKE2B f28833923dbc49e255d5be04bd568705da953476fd10554db727f14667e3120b7278494cf8c59e6b58f825c4f50be8e766b648d7347f71dfda6743e26b157468 SHA512 498de18818f8c1e47919db2415292492ba4879765ad01a5c1a44c4b88bad02267aea245d3225197a62574091ef163910fb0c0924e06d9c9e03e8067dd7aacf08
-DIST resin-4.0.46-src.tar.gz 32564716 BLAKE2B 6f600cb52ab6f56271a7f75832f300af56d1a2d3a868f5fda208271bd93838e31e49b5f843b668b36a237ced363dd551cf6e8d82fcd70e58c1857667b2b9646a SHA512 649b7204c18e7d3a2144130f07590f2d5af29f3b0567acddd4a8d83caebc45a9dea10a671edebd1ff32df304d7a9f1ce44b0b86fdc0ba353fe01b26d900bd368
-DIST resin-gentoo-patches-3.0.25.tar.bz2 4781 BLAKE2B df087e05a80442c44969ccd20099ad5ff5d1e6ab92886255cfa262bcce73043f07b01109e84e224dd991c43730d6c0795bf63bde3b8aaa5fa6dbf749dfbb78f5 SHA512 23ce290e97f18248e08e0b3b7ccf37f60a4b0bf2c3aa28d856384295a286b3eeb9636e299e0620c2c858f8e523806707fe1d4531070ee7ffb4037ad483e6d035
diff --git a/dev-java/resin-servlet-api/metadata.xml b/dev-java/resin-servlet-api/metadata.xml
deleted file mode 100644
index 6ef2d50cf07e..000000000000
--- a/dev-java/resin-servlet-api/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/resin-servlet-api/resin-servlet-api-3.0.25-r1.ebuild b/dev-java/resin-servlet-api/resin-servlet-api-3.0.25-r1.ebuild
deleted file mode 100644
index aacd27267893..000000000000
--- a/dev-java/resin-servlet-api/resin-servlet-api-3.0.25-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Resin Servlet API 2.4/JSP API 2.0 implementation"
-HOMEPAGE="http://www.caucho.com/"
-SRC_URI="http://www.caucho.com/download/resin-${PV}-src.zip
- mirror://gentoo/resin-gentoo-patches-${PV}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="2.4"
-KEYWORDS="amd64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/resin-${PV}"
-
-EANT_BUILD_TARGET="jsdk"
-EANT_DOC_TARGET=""
-
-PATCHES=(
- "${WORKDIR}/${PV}/resin-${PV}-build.xml.patch"
-)
-
-src_prepare() {
- default
- mkdir lib || die
-}
-
-src_install() {
- java-pkg_newjar "lib/jsdk-24.jar"
- use source && java-pkg_dosrc "${S}"/modules/jsdk/src/*
-}
diff --git a/dev-java/resin-servlet-api/resin-servlet-api-4.0.27-r2.ebuild b/dev-java/resin-servlet-api/resin-servlet-api-4.0.27-r2.ebuild
deleted file mode 100644
index 62ce67795aea..000000000000
--- a/dev-java/resin-servlet-api/resin-servlet-api-4.0.27-r2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Resin Servlet API 3.0/JSP API 2.1 implementation"
-HOMEPAGE="https://caucho.com"
-SRC_URI="https://caucho.com/download/resin-${PV}-src.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="3.0"
-KEYWORDS="amd64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/resin-${PV}"
-
-src_prepare() {
- default
- cd "${S}"
- rm -f modules/ext/*.jar project-jars/*.jar webapp-jars/*.jar
- java-ant_bsfix_files build-common.xml || die
-}
-
-EANT_BUILD_TARGET="servlet16"
-EANT_DOC_TARGET=""
-
-src_install() {
- java-pkg_newjar "modules/servlet16/dist/servlet-16.jar"
- use source && java-pkg_dosrc "${S}"/modules/servlet16/src/*
-
- dosym "${PN}.jar" "/usr/share/${PN}-${SLOT}/lib/servlet-api.jar"
- java-pkg_regjar "${D}/usr/share/${PN}-${SLOT}/lib/servlet-api.jar"
- dosym "${PN}.jar" "/usr/share/${PN}-${SLOT}/lib/jsp-api.jar"
- java-pkg_regjar "${D}/usr/share/${PN}-${SLOT}/lib/jsp-api.jar"
-}
diff --git a/dev-java/resin-servlet-api/resin-servlet-api-4.0.46-r1.ebuild b/dev-java/resin-servlet-api/resin-servlet-api-4.0.46-r1.ebuild
deleted file mode 100644
index 3bab35a2b31c..000000000000
--- a/dev-java/resin-servlet-api/resin-servlet-api-4.0.46-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Resin Servlet API 3.0/JSP API 2.1 implementation"
-HOMEPAGE="https://caucho.com"
-SRC_URI="https://caucho.com/download/resin-${PV}-src.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="3.1"
-KEYWORDS="amd64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/resin-${PV}"
-
-src_prepare() {
- default
- cd "${S}"
- rm -f modules/ext/*.jar project-jars/*.jar webapp-jars/*.jar
- java-ant_bsfix_files build-common.xml || die
-}
-
-EANT_BUILD_TARGET="servlet16"
-EANT_DOC_TARGET=""
-
-src_install() {
- java-pkg_newjar "modules/servlet16/dist/servlet-16.jar"
- use source && java-pkg_dosrc "${S}"/modules/servlet16/src/*
-
- dosym "${PN}.jar" "/usr/share/${PN}-${SLOT}/lib/servlet-api.jar"
- java-pkg_regjar "${D}/usr/share/${PN}-${SLOT}/lib/servlet-api.jar"
- dosym "${PN}.jar" "/usr/share/${PN}-${SLOT}/lib/jsp-api.jar"
- java-pkg_regjar "${D}/usr/share/${PN}-${SLOT}/lib/jsp-api.jar"
-}
diff --git a/dev-java/rhino/rhino-1.7.14-r1.ebuild b/dev-java/rhino/rhino-1.7.14-r1.ebuild
new file mode 100644
index 000000000000..8676a8e192ab
--- /dev/null
+++ b/dev-java/rhino/rhino-1.7.14-r1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.mozilla:rhino:1.7.14"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="An open-source implementation of JavaScript written in Java"
+HOMEPAGE="https://github.com/mozilla/rhino"
+SRC_URI="https://github.com/mozilla/rhino/archive/Rhino${PV//./_}_Release.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-1.1 GPL-2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+SLOT="1.6"
+
+# There are too many test failures:
+# FAILURES!!!
+# Tests run: 10504, Failures: 613
+# With openjdk-11 tests even fail to compile:
+# ./testsrc/tests/src/com/netscape/javascript/qa/liveconnect/LiveConnectTest.java:104: error: cannot find symbol
+# global = JSObject.getWindow( this );
+# ^
+# symbol: method getWindow(LiveConnectTest)
+# location: class JSObject
+RESTRICT="test"
+
+DEPEND=">=virtual/jdk-1.8:*
+ test? (
+ >=dev-java/ant-1.10.14-r3:0[junit]
+ dev-java/emma:0
+ dev-java/jakarta-xml-soap-api:1
+ dev-java/jmh-core:0
+ dev-java/hamcrest-core:1.3
+ dev-java/snakeyaml:0
+ )
+ ${CDEPEND}"
+
+RDEPEND=">=virtual/jre-1.8:*
+ ${CDEPEND}"
+
+DOCS=( {CODE_OF_CONDUCT,README,RELEASE-NOTES,RELEASE-STEPS}.md {NOTICE-tools,NOTICE}.txt )
+
+S="${WORKDIR}/rhino-Rhino${PV//./_}_Release"
+
+JAVA_SRC_DIR=( "src" "toolsrc" "xmlimplsrc" )
+JAVA_RESOURCE_DIRS="res"
+JAVA_MAIN_CLASS="org.mozilla.javascript.tools.shell.Main"
+
+JAVA_TEST_GENTOO_CLASSPATH="ant,emma,hamcrest-core-1.3,jakarta-xml-soap-api-1,jmh-core,junit-4,snakeyaml"
+JAVA_TEST_SRC_DIRS="testsrc"
+JAVA_TEST_RESOURCE_DIRS="testres"
+
+# https://github.com/mozilla/rhino/blob/Rhino1_7_14_Release/build.gradle#L81-L87
+JAVA_TEST_EXTRA_ARGS=(
+ -Djava.awt.headless=true
+ -Dmozilla.js.tests=testsrc/tests
+ -Dmozilla.js.tests.timeout=60000
+ -Duser.language=en
+ -Duser.country=US
+ -Duser.timezone=America/Los_Angeles
+ -Dfile.encoding=UTF-8
+)
+
+src_prepare() {
+ default
+ java-pkg_clean
+
+ mkdir -p res/org/mozilla/javascript/tools/{resources,debugger} || die
+
+ cp -r "src/org" "res" || die
+ find "res" -type f -name '*.java' -exec rm -rf {} + || die
+
+ cp {toolsrc,res}/org/mozilla/javascript/tools/resources/Messages.properties || die
+ cp {toolsrc,res}/org/mozilla/javascript/tools/debugger/test.js || die
+
+ mv {src,testsrc}/org/mozilla/javascript/engine || die
+ cp -r "testsrc" "testres" || die
+ find "testres" -type f -name '*.java' -exec rm -rf {} + || die
+
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/LiveConnectDrv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/LiveConnectEnv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/LiveNavDrv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/LiveNavEnv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/MacRefEnv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/NavDrv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/NavEnv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/ObservedTask.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/RefDrv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/RefEnv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/RhinoDrv.java || die
+ rm testsrc/tests/src/com/netscape/javascript/qa/drivers/RhinoEnv.java || die
+}
+
+src_test() {
+ # https://github.com/mozilla/rhino/blob/Rhino1_7_14_Release/build.gradle#L71-L77
+ rm -r testsrc/benchmarks || die
+
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -gt "1.8" ; then
+ JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.desktop/javax.swing.table=ALL-UNNAMED )
+ fi
+
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ default # https://bugs.gentoo.org/789582
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/rhino/rhino-1.7.14.ebuild b/dev-java/rhino/rhino-1.7.14.ebuild
deleted file mode 100644
index 0826d783bf62..000000000000
--- a/dev-java/rhino/rhino-1.7.14.ebuild
+++ /dev/null
@@ -1,113 +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="org.mozilla:rhino:1.7.14"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="An open-source implementation of JavaScript written in Java"
-HOMEPAGE="https://github.com/mozilla/rhino"
-SRC_URI="https://github.com/mozilla/rhino/archive/Rhino${PV//./_}_Release.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MPL-1.1 GPL-2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-SLOT="1.6"
-
-# There are too many test failures:
-# FAILURES!!!
-# Tests run: 10504, Failures: 613
-# With openjdk-11 tests even fail to compile:
-# ./testsrc/tests/src/com/netscape/javascript/qa/liveconnect/LiveConnectTest.java:104: error: cannot find symbol
-# global = JSObject.getWindow( this );
-# ^
-# symbol: method getWindow(LiveConnectTest)
-# location: class JSObject
-RESTRICT="test"
-
-DEPEND=">=virtual/jdk-1.8:*
- test? (
- dev-java/ant-junit:0
- dev-java/emma:0
- dev-java/jakarta-xml-soap-api:1
- dev-java/jmh-core:0
- dev-java/hamcrest-core:1.3
- dev-java/snakeyaml:0
- )
- ${CDEPEND}"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CDEPEND}"
-
-DOCS=( {CODE_OF_CONDUCT,README,RELEASE-NOTES,RELEASE-STEPS}.md {NOTICE-tools,NOTICE}.txt )
-
-S="${WORKDIR}/rhino-Rhino${PV//./_}_Release"
-
-JAVA_SRC_DIR=( "src" "toolsrc" "xmlimplsrc" )
-JAVA_RESOURCE_DIRS="res"
-JAVA_MAIN_CLASS="org.mozilla.javascript.tools.shell.Main"
-
-JAVA_TEST_GENTOO_CLASSPATH="ant-junit,emma,hamcrest-core-1.3,jakarta-xml-soap-api-1,jmh-core,junit-4,snakeyaml"
-JAVA_TEST_SRC_DIRS="testsrc"
-JAVA_TEST_RESOURCE_DIRS="testres"
-
-# https://github.com/mozilla/rhino/blob/Rhino1_7_14_Release/build.gradle#L81-L87
-JAVA_TEST_EXTRA_ARGS=(
- -Djava.awt.headless=true
- -Dmozilla.js.tests=testsrc/tests
- -Dmozilla.js.tests.timeout=60000
- -Duser.language=en
- -Duser.country=US
- -Duser.timezone=America/Los_Angeles
- -Dfile.encoding=UTF-8
-)
-
-src_prepare() {
- default
- java-pkg_clean
-
- mkdir -p res/org/mozilla/javascript/tools/{resources,debugger} || die
-
- cp -r "src/org" "res" || die
- find "res" -type f -name '*.java' -exec rm -rf {} + || die
-
- cp {toolsrc,res}/org/mozilla/javascript/tools/resources/Messages.properties || die
- cp {toolsrc,res}/org/mozilla/javascript/tools/debugger/test.js || die
-
- mv {src,testsrc}/org/mozilla/javascript/engine || die
- cp -r "testsrc" "testres" || die
- find "testres" -type f -name '*.java' -exec rm -rf {} + || die
-
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/LiveConnectDrv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/LiveConnectEnv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/LiveNavDrv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/LiveNavEnv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/MacRefEnv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/NavDrv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/NavEnv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/ObservedTask.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/RefDrv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/RefEnv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/RhinoDrv.java || die
- rm testsrc/tests/src/com/netscape/javascript/qa/drivers/RhinoEnv.java || die
-}
-
-src_test() {
- # https://github.com/mozilla/rhino/blob/Rhino1_7_14_Release/build.gradle#L71-L77
- rm -r testsrc/benchmarks || die
-
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -gt "1.8" ; then
- JAVA_TEST_EXTRA_ARGS+=( --add-opens=java.desktop/javax.swing.table=ALL-UNNAMED )
- fi
-
- java-pkg-simple_src_test
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/sac/Manifest b/dev-java/sac/Manifest
deleted file mode 100644
index 08360d0ff857..000000000000
--- a/dev-java/sac/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sac-1.3.zip 163617 BLAKE2B d52ae09cfa7a60afb66ebebb395a93f2e69fb0fc2cdec3153b34350339d179c1621f9cb613889664e008a1ed9d121520431df13938b5d8d9d722e40da01eeb12 SHA512 e179d2e672f1e9e134c4bec92742410bcf2c5d423e5d236856bb53e849d7fcdb2bb09518796d30862685a9ab2344bfeea9b4c7f3c3dd4a1007c8056e120c87b9
diff --git a/dev-java/sac/metadata.xml b/dev-java/sac/metadata.xml
deleted file mode 100644
index 4221e170cbc0..000000000000
--- a/dev-java/sac/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-java/sac/sac-1.3-r4.ebuild b/dev-java/sac/sac-1.3-r4.ebuild
deleted file mode 100644
index 00e8e0904e2a..000000000000
--- a/dev-java/sac/sac-1.3-r4.ebuild
+++ /dev/null
@@ -1,35 +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"
-MAVEN_ID="org.w3c.css:sac:1.3"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="SAC is a standard interface for CSS parser"
-HOMEPAGE="https://www.w3.org/Style/CSS/SAC/"
-SRC_URI="https://www.w3.org/2002/06/sacjava-${PV}.zip -> ${P}.zip"
-
-LICENSE="W3C"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- app-arch/zip
- >=virtual/jdk-1.8:*"
-
-RDEPEND="
- >=virtual/jre-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/${P}"
-
-JAVA_SRC_DIR="org"
-
-src_prepare() {
- default
- java-pkg_clean
-}
diff --git a/dev-java/saslprep/metadata.xml b/dev-java/saslprep/metadata.xml
index 75321cfb5598..e870bae78b8b 100644
--- a/dev-java/saslprep/metadata.xml
+++ b/dev-java/saslprep/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="gitlab">ongresinc/stringprep</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/saxon/saxon-6.5.5-r3.ebuild b/dev-java/saxon/saxon-6.5.5-r3.ebuild
index f104b7ae35ad..3562e1307373 100644
--- a/dev-java/saxon/saxon-6.5.5-r3.ebuild
+++ b/dev-java/saxon/saxon-6.5.5-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ JAVA_PKG_IUSE="doc examples source"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Set of tools for processing XML documents"
-HOMEPAGE="http://saxon.sourceforge.net/"
+HOMEPAGE="https://www.saxonica.com/index.html https://saxon.sourceforge.net/"
SRC_URI="mirror://sourceforge/project/saxon/saxon6/${PV}/saxon${PV//./-}.zip"
LICENSE="MPL-1.1"
diff --git a/dev-java/saxon/saxon-9.2.0.6-r3.ebuild b/dev-java/saxon/saxon-9.2.0.6-r3.ebuild
deleted file mode 100644
index f2a12503a449..000000000000
--- a/dev-java/saxon/saxon-9.2.0.6-r3.ebuild
+++ /dev/null
@@ -1,90 +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"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="A XSLT and XQuery Processor"
-HOMEPAGE="http://saxon.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/saxon/Saxon-HE/$(ver_cut 1-2)/saxonhe${PV//./-}source.zip"
-
-LICENSE="MPL-1.0"
-SLOT="9"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CDEPEND="
- dev-java/xom:0
- dev-java/jdom:0
- dev-java/dom4j:1
- dev-java/ant-core"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-# prepare eclass variables
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-JAVA_ANT_CLASSPATH_TAGS="javac javadoc"
-
-src_prepare() {
- default
-
- # Fedora-inspired removal.
-
- # deadNET.
- rm -rv net/sf/saxon/dotnet || die
-
- # Depends on XQJ (javax.xml.xquery).
- rm -rv net/sf/saxon/xqj || die
-
- # This requires a EE edition feature (com.saxonica.xsltextn).
- rm -v net/sf/saxon/option/sql/SQLElementFactory.java || die
-
- # <major>.<minor> version
- local version="$(ver_cut 1-2)"
-
- # generate build.xml with external javadoc links
- sed -e "s:@JDK@:1.6:" \
- -e "s:@JDOM@:1:" \
- < "${FILESDIR}/${version}-build.xml" \
- > "${S}/build.xml" \
- || die "build.xml generation failed!"
-
- # prepare creates the dir for properties
- eant prepare
-
- # properties
- cp -v \
- "${FILESDIR}/${version}-edition.properties" \
- "${S}/build/classes/edition.properties" || die
-}
-
-src_compile() {
- local gcp="$(java-pkg_getjars dom4j-1,jdom,xom)"
- gcp="${gcp}:$(java-pkg_getjars --build-only ant-core)"
- eant -Dgentoo.classpath="${gcp}" jar $(use_doc)
-}
-
-src_install() {
- java-pkg_dojar build/lib/${PN}.jar
-
- java-pkg_dolauncher ${PN}${SLOT}-transform --main net.sf.saxon.Transform
- java-pkg_dolauncher ${PN}${SLOT}-query --main net.sf.saxon.Query
-
- java-pkg_register-ant-task
-
- use doc && java-pkg_dojavadoc build/api
-
- use source && java-pkg_dosrc src
-}
diff --git a/dev-java/saxon/saxon-9.2.0.6-r4.ebuild b/dev-java/saxon/saxon-9.2.0.6-r4.ebuild
new file mode 100644
index 000000000000..af456c471e68
--- /dev/null
+++ b/dev-java/saxon/saxon-9.2.0.6-r4.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="A XSLT and XQuery Processor"
+HOMEPAGE="https://www.saxonica.com/index.html https://saxon.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/saxon/Saxon-HE/$(ver_cut 1-2)/saxonhe${PV//./-}source.zip"
+S="${WORKDIR}"
+
+LICENSE="MPL-1.0"
+SLOT="9"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CDEPEND="
+ >=dev-java/ant-1.10.14-r3:0
+ dev-java/dom4j:1
+ dev-java/jdom:0
+ dev-java/xom:0
+"
+
+RDEPEND="
+ ${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DEPEND="
+ ${CDEPEND}
+ >=virtual/jdk-1.8:*"
+
+BDEPEND="app-arch/unzip"
+
+# prepare eclass variables
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS="javac javadoc"
+
+src_prepare() {
+ default
+
+ # Fedora-inspired removal.
+
+ # deadNET.
+ rm -rv net/sf/saxon/dotnet || die
+
+ # Depends on XQJ (javax.xml.xquery).
+ rm -rv net/sf/saxon/xqj || die
+
+ # This requires a EE edition feature (com.saxonica.xsltextn).
+ rm -v net/sf/saxon/option/sql/SQLElementFactory.java || die
+
+ # <major>.<minor> version
+ local version="$(ver_cut 1-2)"
+
+ # generate build.xml with external javadoc links
+ sed -e "s:@JDK@:1.6:" \
+ -e "s:@JDOM@:1:" \
+ < "${FILESDIR}/${version}-build.xml" \
+ > "${S}/build.xml" \
+ || die "build.xml generation failed!"
+
+ # prepare creates the dir for properties
+ eant prepare
+
+ # properties
+ cp -v \
+ "${FILESDIR}/${version}-edition.properties" \
+ "${S}/build/classes/edition.properties" || die
+}
+
+src_compile() {
+ local gcp="$(java-pkg_getjars dom4j-1,jdom,xom)"
+ gcp="${gcp}:$(java-pkg_getjar --build-only ant ant.jar)"
+ eant -Dgentoo.classpath="${gcp}" jar $(use_doc)
+}
+
+src_install() {
+ java-pkg_dojar build/lib/${PN}.jar
+
+ java-pkg_dolauncher ${PN}${SLOT}-transform --main net.sf.saxon.Transform
+ java-pkg_dolauncher ${PN}${SLOT}-query --main net.sf.saxon.Query
+
+ java-pkg_register-ant-task
+
+ use doc && java-pkg_dojavadoc build/api
+
+ use source && java-pkg_dosrc src
+}
diff --git a/dev-java/sbt-bin/Manifest b/dev-java/sbt-bin/Manifest
index 11837950982d..dcd62703e35c 100644
--- a/dev-java/sbt-bin/Manifest
+++ b/dev-java/sbt-bin/Manifest
@@ -1 +1 @@
-DIST sbt-1.3.10.tgz 57609786 BLAKE2B 35285d141d8ad38a8e15cc3dd18947fa34dbe307ce1fbdd267a0902ff7f5757a0ab80d56eb241c8bea79c4a13c270efb65a552a039416a6f571b6cd214739819 SHA512 93832c0eec51422d6db63078c722578cbad21e4611ca868e835471fb988ad225e8abdea47c6dcf6e19117db9598bc75296100d9dc7ba0d605b70adc592efb925
+DIST sbt-1.8.0.tgz 29165245 BLAKE2B 7b2895e2f748cefd76bd4db12b9903448b77345bfa2c7be9fdf55e959a72828eb73d7b560885c8fb3c691571330fb6b94526820b611e3daf5a4e5f8f093656c9 SHA512 e53817cc7a15a37883ea3cef094e297a813388116e3f0c4bf29c70021c5df01f1e08bccfd20f20cfae007b88fd6c2915f82478ee44274bf5ddcea12df2de7f49
diff --git a/dev-java/sbt-bin/metadata.xml b/dev-java/sbt-bin/metadata.xml
index 4221e170cbc0..9506418c076b 100644
--- a/dev-java/sbt-bin/metadata.xml
+++ b/dev-java/sbt-bin/metadata.xml
@@ -5,4 +5,7 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">sbt/sbt</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/sbt-bin/sbt-bin-1.3.10.ebuild b/dev-java/sbt-bin/sbt-bin-1.3.10.ebuild
deleted file mode 100644
index 68c3ba963b1d..000000000000
--- a/dev-java/sbt-bin/sbt-bin-1.3.10.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2
-
-DESCRIPTION="sbt, a build tool for Scala"
-HOMEPAGE="https://scala-sbt.org"
-SRC_URI="https://github.com/sbt/sbt/releases/download/v${PV}/${PN/-bin}-${PV}.tgz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="
- >=virtual/jre-1.7
- !dev-java/sbt"
-
-src_unpack() {
- default
- mv "${WORKDIR}/sbt" "${S}" || die
-}
-
-src_prepare() {
- default
- java-pkg_init_paths_
-}
-
-src_compile() {
- :;
-}
-
-src_install() {
- local dest="${JAVA_PKG_SHAREPATH}"
-
- rm -v bin/sbt.bat || die
- sed -i -e 's#bin/sbt-launch.jar#lib/sbt-launch.jar#g;' \
- bin/sbt || die
-
- insinto "${dest}/lib"
- doins bin/*
-
- insinto "${dest}"
- doins -r conf
-
- fperms 0755 "${dest}/lib/sbt"
- dosym "${dest}/lib/sbt" /usr/bin/sbt
-}
diff --git a/dev-java/sbt-bin/sbt-bin-1.8.0.ebuild b/dev-java/sbt-bin/sbt-bin-1.8.0.ebuild
new file mode 100644
index 000000000000..aa7d16b69b39
--- /dev/null
+++ b/dev-java/sbt-bin/sbt-bin-1.8.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2
+
+DESCRIPTION="sbt, a build tool for Scala"
+HOMEPAGE="https://www.scala-sbt.org/"
+SRC_URI="https://github.com/sbt/sbt/releases/download/v${PV}/${PN/-bin}-${PV}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ >=virtual/jre-1.8
+ !dev-java/sbt"
+
+QA_TEXTRELS="usr/share/sbt-bin/lib/sbtn-x86_64-pc-linux"
+QA_FLAGS_IGNORED="usr/share/sbt-bin/lib/sbtn-x86_64-pc-linux"
+
+S="${WORKDIR}/sbt"
+
+src_prepare() {
+ default
+ java-pkg_init_paths_
+}
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ local dest="${JAVA_PKG_SHAREPATH}"
+
+ rm -v bin/sbt.bat || die
+ sed -i -e 's#bin/sbt-launch.jar#lib/sbt-launch.jar#g;' \
+ bin/sbt || die
+
+ insinto "${dest}/lib"
+ doins bin/*
+
+ insinto "${dest}"
+ doins -r conf
+
+ fperms 0755 "${dest}/lib/sbt"
+ dosym "${dest}/lib/sbt" /usr/bin/sbt
+}
diff --git a/dev-java/sbt/Manifest b/dev-java/sbt/Manifest
index 31129ee59c98..0ac8b9dc2cb9 100644
--- a/dev-java/sbt/Manifest
+++ b/dev-java/sbt/Manifest
@@ -1,10 +1,5 @@
-DIST sbt-0.13.13-gentoo-binary.tar.xz 58011476 BLAKE2B 87f829a5a6c4047b5120b9685c1caa1477d6ab5789835bf890d241ae512bae65cc3b0b2b60c15c18e15891210b6687ad2c8cd7dcc581f5224fc8788a576ff754 SHA512 9763b67ac4838e6ccac1848c17a03608bed61669671a10c93afc4c81d6dad06a3463ac4e4a9b7b3fb91325df5df6e0148847669d482e3cacf4fde957c110ccc1
-DIST sbt-0.13.13-ivy2-deps.tar.xz 121677604 BLAKE2B 7f6e508104a99c36f8f928550f7c0e41b742cefef3f3fccf2999fe7a5873cf690d693c0ded1df481535b59a7340a997cc21ef3ffd403b147fd8a323d1ee28620 SHA512 3301447a563e9a83431bb67a6281a6045630669012f1cc5cdde7a2cbae3f7db75f87abed003ecf8243fd230e2adea2ba3666468358ae29c51e346940235f5ed5
-DIST sbt-0.13.13-sbt-deps.tar.xz 34750700 BLAKE2B 5856f19d19255a6c4a373086962f3bff195d03193bb74d8d3aee1cfb2749ef3638f5c26dff7cb7c455c5b4ce67e8cf4fa46bbf9a8363f80dc26092e6df768d81 SHA512 0bfd35a6926545da7340f7ee72e420121f2bb2f83d98d420b7f65b465d207b1b30a48788914e7b1fdf575a4fee870f2632b0717f1a7a2c19e2f2d5794d08b4da
-DIST sbt-0.13.13-src.tar.xz 35911028 BLAKE2B 42157af03ae3567a2acc67cc0c96a9ffe19b69d60fddfde1cd65bbc410c14b09e5da0febb8225e49693c380a444b752296c29a21cc7f2239ee49ccef5128a3ff SHA512 351f18108a23014ee7ffd5c4713f390728fb98b742efdc139e094e64df7800f399d088600d245631635b0f6f4cb69c6cd327aafa3b0bf8a233fcbf0cb4ac5702
DIST sbt-0.13.18-gentoo-binary.tar.xz 24312512 BLAKE2B 8601ff9d8783156f98df7e855563ebd1a1e51b4588f7fb5701b2fbd86771b7a280518272fc24f469f8810893f2762afb33f1c590764f980d9571555b3f84e4c6 SHA512 ca4b3b50d04f33c55e4bef468623a245e6001f922c8ad404e60a4369bcd6e683a97dab169b03cbc12d9e530aff194fdf1571aceca32c5dbb37b4c3d7a49a09f9
DIST sbt-0.13.18-ivy2-deps.tar.xz 97612984 BLAKE2B d712b80cde43c46bc714d30f3009b9e46c5f50f78fbc46f8bc106f522308faa9a8d0bdbf4ad9634730f759bb3c484380d33e585771b33633aab6b8ee7dda5ba4 SHA512 c6affd495f9882b71d3a811638c803a646f71e926cc7efb2e84950d85a4fb6dcb65674ff5444d9ffc8858726342b6d3733880d1611157004b891689e67f24028
DIST sbt-0.13.18-sbt-deps.tar.xz 34787436 BLAKE2B aba63ee1f7ec3f105bae0fa882dc193360c29f772a50ee84b9770f79491d55fcff509d70b813b62ad0bdd618729293b030b29209236ad5d9af1bfc11b7a0fdf0 SHA512 aab302c83303baa89bf6a2ed8d3af76e4d92b9c4339d0e30767fcfcf61131c29a534ba43fb73467f673dec0b3f61d2e740a19b3790fcc4f76b413d04115dfbb8
DIST sbt-0.13.18.tar.gz 952783 BLAKE2B 31648c2cbbeb5d57db03c10bd4ac25344ae2d0351fc592e85e053e9ac0deb063e1b1e700a8dfa4a242243dd06fa491f721852ddbc2ea1d7fd4174e01febad25e SHA512 0eeb6fddc2454c2fff2eee06a80179495c0210d97fd3677bfe0f8833524ac707515b9e8f3c19e0d0372f503ef9b9f19dbe4cf15b6f8b48181ad730685004267c
-DIST sbt-launch-0.13.13.jar 1210231 BLAKE2B 754abad78cec4f6b040fb63dcb62e549768174b22cf3f9ab7d2419736d4f09b53863cf645b38d7d534deb1c6e897f55d8b1b5fa82462ca9d906c410d22c0c198 SHA512 78e7ce21c610e83a532b04491e13d53b4193205328adce473252d523fe0ca0f3892dba900f01ff6e28d94a17c3ba1ebbe7d85fd6ce9900c48263bc4816da37ef
DIST sbt-launch-0.13.18.jar 1210278 BLAKE2B b3c03f0c823576db51eda51a494edeb771f7ab762afe74fa95f19a4581d80cfdf3c6d6bfacd76e195de34f420912d18b505b74414fbc02550c9331fe4b3e07e3 SHA512 2b1e27f8d873ee45cc168ab19f6e82421d6896116c7b7af60974b97f41edd034fa008e668c83f83d2ce3a501986674821d8a427ccbcda291c8c33b576d64921b
diff --git a/dev-java/sbt/metadata.xml b/dev-java/sbt/metadata.xml
index 1f19867ca177..feefedbb43eb 100644
--- a/dev-java/sbt/metadata.xml
+++ b/dev-java/sbt/metadata.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>gienah@gentoo.org</email>
-</maintainer>
+<!-- maintainer-needed -->
<longdescription lang="en">
The interactive build tool.
Use Scala to define your tasks. Then run them in parallel from the shell.
diff --git a/dev-java/sbt/sbt-0.13.13.ebuild b/dev-java/sbt/sbt-0.13.13.ebuild
deleted file mode 100644
index 65292f4be54a..000000000000
--- a/dev-java/sbt/sbt-0.13.13.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-# repoman gives LIVEVCS.unmasked even with EGIT_COMMIT, so create snapshot
-inherit java-pkg-2 # git-r3
-
-L_PN="sbt-launch"
-L_P="${L_PN}-${PV}"
-
-DESCRIPTION="sbt is a build tool for Scala and Java projects that aims to do the basics well"
-HOMEPAGE="https://www.scala-sbt.org/"
-EGIT_COMMIT="v${PV}"
-EGIT_REPO_URI="https://github.com/sbt/sbt.git"
-SRC_URI="
- !binary? (
- https://dev.gentoo.org/~gienah/snapshots/${P}-src.tar.xz
- https://dev.gentoo.org/~gienah/snapshots/${P}-ivy2-deps.tar.xz
- https://dev.gentoo.org/~gienah/snapshots/${P}-sbt-deps.tar.xz
- http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/${L_PN}/${PV}/${L_PN}.jar -> ${L_P}.jar
- )
- binary? (
- https://dev.gentoo.org/~gienah/files/dist/${P}-gentoo-binary.tar.xz
- )"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="binary"
-
-DEPEND="
- >=virtual/jdk-1.8
- dev-lang/scala"
-
-RDEPEND="
- >=virtual/jre-1.8
- dev-lang/scala"
-
-# test hangs or fails
-RESTRICT="test"
-
-JAVA_GENTOO_CLASSPATH="scala-${SV}"
-
-# Note: to bump sbt, some things to try are:
-# 1. Create the sbt src snapshot:
-# git clone https://github.com/sbt/sbt.git ${P}
-# cd ${P}
-# git checkout v${PV}
-# cd ..
-# XZ_OPT=-9 tar --owner=portage --group=portage \
-# -cJf /usr/portage/distfiles/${P}-src.tar.xz ${P}
-# 2. remove the https://dev.gentoo.org/~gienah/snapshots/${P}-ivy2-deps.tar.xz
-# https://dev.gentoo.org/~gienah/snapshots/${P}-sbt-deps.tar.xz and
-# binary? ( https://dev.gentoo.org/~gienah/files/dist/${P}-gentoo-binary.tar.xz )
-# from SRC_URI
-# 3. Comment the sbt publishLocal line in src_compile.
-# 4. try:
-# FEATURES='noclean -test' emerge -v -1 dev-java/sbt
-# It should fail in src_install since the sbt publishLocal is not done.
-# Check if it downloads more stuff in
-# src_compile to ${WORKDIR}/.ivy2 and ${WORKDIR}/.sbt.
-# 5. If some of the downloads fail, it might be necessary to run the sbt compile
-# again manually to obtain all the dependencies, if so:
-# cd to ${S}
-# export EROOT=/
-# export WORKDIR='/var/tmp/portage/dev-java/${P}/work'
-# export SV="2.11"
-# export L_P=${P}
-# export PATH="/usr/share/scala-${SV}/bin:${WORKDIR}/${L_P}:${PATH}"
-# sbt compile
-# cd ${WORKDIR}
-# find .ivy2 .sbt -uid 0 -exec chown portage:portage {} \;
-# 6. cd ${WORKDIR}
-# XZ_OPT=-9 tar --owner=portage --group=portage \
-# -cJf /usr/portage/distfiles/${P}-ivy2-deps.tar.xz .ivy2/cache
-# XZ_OPT=-9 tar --owner=portage --group=portage \
-# -cJf /usr/portage/distfiles/${P}-sbt-deps.tar.xz .sbt
-# Uncomment the sbt publishLocal line in src_compile.
-# 7. It *might* download more dependencies for src_test, however the presence
-# of some of these may cause the src_compile to fail. So download them
-# seperately as root so we can identify the
-# additional files. As root:
-# cd ${S}
-# ${S}/${P} test
-# cd ${WORKDIR}
-# XZ_OPT=-9 tar --owner=portage --group=portage \
-# -cJf /usr/portage/distfiles/${P}-test-deps.tar.xz \
-# $(find .ivy2/cache .sbt -uid 0 -type f -print)
-# Note: It might not download anything in src_test, in which case
-# ${P}-test-deps.tar.xz is not required.
-# 8. Create the binary
-# cd $WORDKIR
-# XZ_OPT=-9 tar --owner=portage --group=portage \
-# -cJf /usr/portage/distfiles/${P}-gentoo-binary.tar.xz ${P} .ivy2/local
-# 9. Undo the earlier temporary edits to the ebuild.
-
-src_unpack() {
- # if ! use binary; then
- # git-r3_src_unpack
- # fi
- # Unpack tar files only.
- for f in ${A} ; do
- [[ ${f} == *".tar."* ]] && unpack ${f}
- done
-}
-
-src_prepare() {
- default
- if ! use binary; then
- mkdir "${WORKDIR}/${L_P}" || die
- cp -p "${DISTDIR}/${L_P}.jar" "${WORKDIR}/${L_P}/${L_PN}.jar" || die
- cat <<- EOF > "${WORKDIR}/${L_P}/sbt"
- #!/bin/sh
- SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled"
- java -Djavac.args="-encoding UTF-8" -Duser.home="${WORKDIR}" \${SBT_OPTS} -jar "${WORKDIR}/${L_P}/sbt-launch.jar" "\$@"
- EOF
- cat <<- EOF > "${S}/${P}"
- #!/bin/sh
- SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled"
- java -Djavac.args="-encoding UTF-8" -Duser.home="${WORKDIR}" \${SBT_OPTS} -jar "${S}/launch/target/sbt-launch.jar" "\$@"
- EOF
- chmod u+x "${WORKDIR}/${L_P}/sbt" "${S}/${P}" || die
- sed -e "s@scalaVersion := scala210,@scalaVersion := scala${SV/./},\n scalaHome := Some(file(\"${EROOT}usr/share/scala-${SV}\")),@" \
- -i "${S}/build.sbt" || die
-
- # suppress this warning in build.log:
- # [warn] Credentials file /var/tmp/portage/dev-java/${P}/work/.bintray/.credentials does not exist
- mkdir -p "${WORKDIR}/.bintray" || die
- cat <<- EOF > "${WORKDIR}/.bintray/.credentials"
- realm = Bintray API Realm
- host = api.bintray.com
- user =
- password =
- EOF
- fi
-}
-
-src_compile() {
- if ! use binary; then
- export PATH="${EROOT}usr/share/scala-${SV}/bin:${WORKDIR}/${L_P}:${PATH}"
- einfo "=== sbt compile ..."
- "${WORKDIR}/${L_P}/sbt" -Dsbt.log.noformat=true compile || die
- einfo "=== sbt publishLocal with jdk $(java-pkg_get-vm-version) ..."
- cat <<- EOF | "${WORKDIR}/${L_P}/sbt" -Dsbt.log.noformat=true || die
- set every javaVersionPrefix in javaVersionCheck := Some("$(java-pkg_get-vm-version)")
- publishLocal
- EOF
- fi
-}
-
-src_test() {
- export PATH="${EROOT}usr/share/scala-${SV}/bin:${S}:${PATH}"
- "${S}/${P}" -Dsbt.log.noformat=true test || die
-}
-
-src_install() {
- # Place sbt-launch.jar at the end of the CLASSPATH
- java-pkg_dojar $(find "${WORKDIR}"/.ivy2/local -name \*.jar -print | grep -v sbt-launch.jar) \
- $(find "${WORKDIR}"/.ivy2/local -name sbt-launch.jar -print)
- local ja="-Dsbt.version=${PV} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled"
- java-pkg_dolauncher sbt --jar sbt-launch.jar --java_args "${ja}"
-}
diff --git a/dev-java/scala-cli-bin/Manifest b/dev-java/scala-cli-bin/Manifest
new file mode 100644
index 000000000000..97b63d254284
--- /dev/null
+++ b/dev-java/scala-cli-bin/Manifest
@@ -0,0 +1,15 @@
+DIST scala-cli-amd64-1.0.4.gz 33291617 BLAKE2B bd97626e7e95fb6b2a82fd424673078b89f5f4270087c667193e4de1ceff614076e73b728ba1f0334d5f9d7aa6f52c660487d52bf8fb49a786f7fe4ce18a0428 SHA512 447acafd47041cd173a06b5d113cd30adee76a2c161b2efc98b8ece60082d5b98189fd9b3da1f048061d306343cacb9b67566daa78ce8fe54dc82dd90a1e34bc
+DIST scala-cli-amd64-1.1.0.gz 33673708 BLAKE2B 332f5a974949af49914de8fdb3129b0937fbce842616d6fefe16f7aff89baf6be1ba536d0ee6ff9bc1dd2b5ebfa51943bd0c6279ef83b95bd25a337530fa1295 SHA512 ba7ebb321a27e95f786027257c3f50dac1d12e0cc33abde24dc7c5dffb2f57a11c3ea67d92ed487968c49ff9ec3eaf5d1d62065beda5b6fa373d09b9126f4529
+DIST scala-cli-amd64-1.1.1.gz 33754319 BLAKE2B 91fb5e9b828a2c6c6dd984b421bb101ea1ae03c85d94eda14ba79433d29a88cb2850cb376c212f677c1b8167a0a21b320aeb0e4e63a29e6c8502d76babc1543d SHA512 1e0cd5eee280e208090961e4b6d216d472fef360f13e0f4e28412b9a52883d65c97e3fe70c8ce5cf96e6cd866f14b175454175be9df3bdc5c229fb2f121c925a
+DIST scala-cli-amd64-1.2.1.gz 33851353 BLAKE2B 31c92901f970ec2c0a74cb45d94b98e6d8f282c175cf8deb1a806db4b6d2e9a8b2150bca9fc9e373948e5092bf4bb7d5d1145a133d3b1c234d3cbe383ff9a270 SHA512 169c81bee582c6144501e8bd5436bae0bd3447ed89856a4d4763d13d3083ad26d948729b71bea864986f2c676e50855b8fb036d3a69ed0a316e2c6af0f98ef5f
+DIST scala-cli-amd64-1.2.2.gz 33871512 BLAKE2B ef9328b26afb52ada07739539d560239d6ce2ffd72d1e353ce94d45c7358b6789aa0019804e249584ca497d5d15c96caab12eb31fab5b84a14162c00ca30c181 SHA512 02da0915ee140a129f622f973291c98c7dd7b7f16f5a2a5250ac825e09876b616a315fe5e6af43691f43870fa68234efeff73eadd4f6060d2d90fe937302eae7
+DIST scala-cli-arm64-1.0.4.gz 33185346 BLAKE2B 2b0131a56ed3f67fb5d5f25db6c511dc7d9e9128089e6826fa7d859b1457f03a99e290cc63f185820ea849a857f40d667d5db7a378dabcf545cdcdefded6a577 SHA512 3ff1c025a1035aa6a8550de17e85bc5c483007d5f07f03e0d792d6dc9ed1b18eb26909b3c7195fde12056a3b84ffa69dc53c01ec21b34187c1d7188a0a023aaa
+DIST scala-cli-arm64-1.1.0.gz 33575885 BLAKE2B ebccbe86044b4708a356060a16f06bb94df01d261ab7dabe8eba8e644c121864cdee99debf95468d936cbff670413ec47e1ef903a9071b267a61c5fe46738c1a SHA512 6a85529be06a8d43d729c5a795bb0dcdb2680bd7ef3de471fee908e91249401262e8322019c640d4eb45d0a15ed0073ff51b24d61846228f46c36bfb48731408
+DIST scala-cli-arm64-1.1.1.gz 33656505 BLAKE2B b943f370c9375fec5cec3c63628ecd9e416b569ec2d692422f217b2506c104a1c3bb415569581d68c9476bf892b4a087e7b95b2310955dd0f9af52edc90af2e9 SHA512 79836261613bafe4710c1d904ec39e88c1862b3021f7b37ac5004c6079c762e68550522fbb7240e48e7408f844f648ab92c12cb568ebc63bb3e01f1992a7eaf3
+DIST scala-cli-arm64-1.2.1.gz 33769006 BLAKE2B 4bc2c830d17e235a3eba7029bfd018ee4cd12f8ee27a3574b1c2195ab8ad22b79c452a0660fb55f1be99a610be1f4ea38f8e2de622f10277be7f5403b540778a SHA512 90a8f6b4ae2fa90dcdd3c88fdbbd1079db1cbbde80f496da8663223ad79dc4b499b6ae43835067d8fde945d4fb5ed079dec850f688b9d1b62602d186d426f7cb
+DIST scala-cli-arm64-1.2.2.gz 33766128 BLAKE2B d5b2d7ab8157f3874b1cfe0b0647ab30f5dd191337e575056eb758d52eda30871c54b20a08a1cda3e28c51afd744b4b8320aee6aef056b39b98f2534184739ba SHA512 004ca188e4ddd01c0e46277fa514b1c9bd061ea26d4318b8daff3ffaae5bb7cc9f4746509401da19774537c7e56f8a5a7da846cd4b5f90c61a3ab1f8d3ed0493
+DIST scala-cli-non-native-1.0.4 7553232 BLAKE2B 9299b20dddec80d12e738af4b283e816de5bae23262510146cd33a9b175f2a343f52932fbd3254974bd4219d2903f32772409f234423d3a027b6b0f02268e584 SHA512 4e5281ef7f8a886ad79746477d852f485ccad317568a64ee513e691dcd9a9121c2aed51f6170b959f0226fb81efe9aa1f8ecf1d94a84a0b387c349adfb756762
+DIST scala-cli-non-native-1.1.0 7728727 BLAKE2B 05deb93b91029721a21bac729aa9b370e05909e67bbade921e00d09c3a37e851e519188bff73dc614c3f5768834ae56f94623347735e756a6bcb0c4c81c8713c SHA512 13e426915794df757b6eb029d2545316bd9f4b9ba6f58cf59a546227d6997741cf681ce0c5e721e8e95cb9e420702f2d28f004df1780637dc9b39fd3bc4c884a
+DIST scala-cli-non-native-1.1.1 7779964 BLAKE2B 08849ce4a6fbf1e6eb2e4fafd2e29522e535c0795d6f1acbcd25ec4523d14dcae4a746f3729786db8f62a3770e6fdbd78a76477b182b32945454ac19a2f8217c SHA512 61c2a1a325f83e19102cd2f5d6b89d37b9914d64f86da6218258f064a6a8e5ab927d28b278363316446611e2cbdc8e4687616ea2b001da00ecbafb4207eabeb2
+DIST scala-cli-non-native-1.2.1 7836408 BLAKE2B a7c191020a65a4420ef7cc9d8fe5f9c6d1548c1cfb14dea94c0d9a798f608c038083bb678bd1a4fbdc9bd3de58f02a11e970cfebec4ac755f7f12af21eeb4dbc SHA512 d889ad3fa96953423fc1d948b6e260f55ffc4234d6e9da05299afe0a6cbc2b66c42a7a65113f887d1bf41a699679d09e02aed6686150551d1e1171d7c1c7331b
+DIST scala-cli-non-native-1.2.2 7837019 BLAKE2B 799ed83805ba767b687cf9a041a3e23f008e20e3ca55b8c52a9361c0b2465141abb7c17ca7dca59c9307af5a5a07a0cfe0d8035eea14a2adf2580913d67d6a10 SHA512 40aa43ee601c52238989a81884b6acc7a023599abb561bed1c9d31dff6053eff0f3477097a228bc30aab4df22d81b10fbbb64b5557d3067b4715c821c4eacb3e
diff --git a/dev-java/scala-cli-bin/metadata.xml b/dev-java/scala-cli-bin/metadata.xml
new file mode 100644
index 000000000000..27dc5e6617c8
--- /dev/null
+++ b/dev-java/scala-cli-bin/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type='person'>
+ <email>flow@gentoo.org</email>
+ <name>Florian Schmaus</name>
+ </maintainer>
+ <upstream>
+ <changelog>https://github.com/VirtusLab/scala-cli/releases</changelog>
+ <remote-id type="github">VirtusLab/scala-cli</remote-id>
+ <bugs-to>https://github.com/VirtusLab/scala-cli/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/scala-cli-bin/scala-cli-bin-1.0.4.ebuild b/dev-java/scala-cli-bin/scala-cli-bin-1.0.4.ebuild
new file mode 100644
index 000000000000..67f4eefef2f4
--- /dev/null
+++ b/dev-java/scala-cli-bin/scala-cli-bin-1.0.4.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1
+
+UPSTREAM_PV=${PV/_/-}
+UPSTREAM_PV=${UPSTREAM_PV/rc/RC}
+
+DESCRIPTION="CLI to interact with Scala and Java"
+HOMEPAGE="https://scala-cli.virtuslab.org/"
+SRC_URI="
+ !amd64? ( !arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli
+ -> scala-cli-non-native-${UPSTREAM_PV}
+ ) )
+ amd64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-x86_64-pc-linux.gz
+ -> scala-cli-amd64-${UPSTREAM_PV}.gz
+ )
+ arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-aarch64-pc-linux.gz
+ -> scala-cli-arm64-${UPSTREAM_PV}.gz
+ )
+"
+
+KEYWORDS="amd64 ~arm64"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}"
+
+# A JRE is not strictly required if native images of scala-cli are used
+# (amd64, arm64). However we may want a system JRE anyway, and having JRE
+# in RDEPEND reduces the chances that scala-cli needs to install one
+# for the user.
+RDEPEND="
+ >=virtual/jre-11
+ sys-libs/zlib
+"
+BDEPEND="!amd64? ( !arm64? ( >=virtual/jre-11 ) )"
+
+QA_TEXTRELS="*"
+QA_FLAGS_IGNORED="/usr/bin/scala-cli"
+
+src_prepare() {
+ default
+
+ if use amd64; then
+ mv scala-cli-amd64-${UPSTREAM_PV} scala-cli || die
+ elif use arm64; then
+ mv scala-cli-arm64-${UPSTREAM_PV} scala-cli || die
+ else
+ mv scala-cli-non-native-${UPSTREAM_PV} scala-cli || die
+ fi
+
+ chmod +x scala-cli || die
+}
+
+src_compile() {
+ for shell in bash zsh; do
+ ./scala-cli install-completions \
+ --shell ${shell} \
+ --env \
+ --output "${S}" \
+ > ${shell}-completion || die
+ done
+}
+
+src_install() {
+ dobin scala-cli
+
+ newbashcomp bash-completion scala-cli
+
+ insinto /usr/share/zsh/site-functions
+ doins zsh/_scala-cli
+}
diff --git a/dev-java/scala-cli-bin/scala-cli-bin-1.1.0.ebuild b/dev-java/scala-cli-bin/scala-cli-bin-1.1.0.ebuild
new file mode 100644
index 000000000000..d73c7e68ad79
--- /dev/null
+++ b/dev-java/scala-cli-bin/scala-cli-bin-1.1.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1
+
+UPSTREAM_PV=${PV/_/-}
+UPSTREAM_PV=${UPSTREAM_PV/rc/RC}
+
+DESCRIPTION="CLI to interact with Scala and Java"
+HOMEPAGE="https://scala-cli.virtuslab.org/"
+SRC_URI="
+ !amd64? ( !arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli
+ -> scala-cli-non-native-${UPSTREAM_PV}
+ ) )
+ amd64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-x86_64-pc-linux.gz
+ -> scala-cli-amd64-${UPSTREAM_PV}.gz
+ )
+ arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-aarch64-pc-linux.gz
+ -> scala-cli-arm64-${UPSTREAM_PV}.gz
+ )
+"
+
+KEYWORDS="amd64 ~arm64"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}"
+
+# A JRE is not strictly required if native images of scala-cli are used
+# (amd64, arm64). However we may want a system JRE anyway, and having JRE
+# in RDEPEND reduces the chances that scala-cli needs to install one
+# for the user.
+RDEPEND="
+ >=virtual/jre-11
+ sys-libs/zlib
+"
+BDEPEND="!amd64? ( !arm64? ( >=virtual/jre-11 ) )"
+
+QA_TEXTRELS="*"
+QA_FLAGS_IGNORED="/usr/bin/scala-cli"
+
+src_prepare() {
+ default
+
+ if use amd64; then
+ mv scala-cli-amd64-${UPSTREAM_PV} scala-cli || die
+ elif use arm64; then
+ mv scala-cli-arm64-${UPSTREAM_PV} scala-cli || die
+ else
+ mv scala-cli-non-native-${UPSTREAM_PV} scala-cli || die
+ fi
+
+ chmod +x scala-cli || die
+}
+
+src_compile() {
+ for shell in bash zsh; do
+ ./scala-cli install-completions \
+ --shell ${shell} \
+ --env \
+ --output "${S}" \
+ > ${shell}-completion || die
+ done
+}
+
+src_install() {
+ dobin scala-cli
+
+ newbashcomp bash-completion scala-cli
+
+ insinto /usr/share/zsh/site-functions
+ doins zsh/_scala-cli
+}
diff --git a/dev-java/scala-cli-bin/scala-cli-bin-1.1.1.ebuild b/dev-java/scala-cli-bin/scala-cli-bin-1.1.1.ebuild
new file mode 100644
index 000000000000..dc0659cfd5ec
--- /dev/null
+++ b/dev-java/scala-cli-bin/scala-cli-bin-1.1.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1
+
+UPSTREAM_PV=${PV/_/-}
+UPSTREAM_PV=${UPSTREAM_PV/rc/RC}
+
+DESCRIPTION="CLI to interact with Scala and Java"
+HOMEPAGE="https://scala-cli.virtuslab.org/"
+SRC_URI="
+ !amd64? ( !arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli
+ -> scala-cli-non-native-${UPSTREAM_PV}
+ ) )
+ amd64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-x86_64-pc-linux.gz
+ -> scala-cli-amd64-${UPSTREAM_PV}.gz
+ )
+ arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-aarch64-pc-linux.gz
+ -> scala-cli-arm64-${UPSTREAM_PV}.gz
+ )
+"
+
+KEYWORDS="~amd64 ~arm64"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}"
+
+# A JRE is not strictly required if native images of scala-cli are used
+# (amd64, arm64). However we may want a system JRE anyway, and having JRE
+# in RDEPEND reduces the chances that scala-cli needs to install one
+# for the user.
+RDEPEND="
+ >=virtual/jre-11
+ sys-libs/zlib
+"
+BDEPEND="!amd64? ( !arm64? ( >=virtual/jre-11 ) )"
+
+QA_TEXTRELS="*"
+QA_FLAGS_IGNORED="/usr/bin/scala-cli"
+
+src_prepare() {
+ default
+
+ if use amd64; then
+ mv scala-cli-amd64-${UPSTREAM_PV} scala-cli || die
+ elif use arm64; then
+ mv scala-cli-arm64-${UPSTREAM_PV} scala-cli || die
+ else
+ mv scala-cli-non-native-${UPSTREAM_PV} scala-cli || die
+ fi
+
+ chmod +x scala-cli || die
+}
+
+src_compile() {
+ for shell in bash zsh; do
+ ./scala-cli install-completions \
+ --shell ${shell} \
+ --env \
+ --output "${S}" \
+ > ${shell}-completion || die
+ done
+}
+
+src_install() {
+ dobin scala-cli
+
+ newbashcomp bash-completion scala-cli
+
+ insinto /usr/share/zsh/site-functions
+ doins zsh/_scala-cli
+}
diff --git a/dev-java/scala-cli-bin/scala-cli-bin-1.2.1.ebuild b/dev-java/scala-cli-bin/scala-cli-bin-1.2.1.ebuild
new file mode 100644
index 000000000000..dc0659cfd5ec
--- /dev/null
+++ b/dev-java/scala-cli-bin/scala-cli-bin-1.2.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1
+
+UPSTREAM_PV=${PV/_/-}
+UPSTREAM_PV=${UPSTREAM_PV/rc/RC}
+
+DESCRIPTION="CLI to interact with Scala and Java"
+HOMEPAGE="https://scala-cli.virtuslab.org/"
+SRC_URI="
+ !amd64? ( !arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli
+ -> scala-cli-non-native-${UPSTREAM_PV}
+ ) )
+ amd64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-x86_64-pc-linux.gz
+ -> scala-cli-amd64-${UPSTREAM_PV}.gz
+ )
+ arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-aarch64-pc-linux.gz
+ -> scala-cli-arm64-${UPSTREAM_PV}.gz
+ )
+"
+
+KEYWORDS="~amd64 ~arm64"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}"
+
+# A JRE is not strictly required if native images of scala-cli are used
+# (amd64, arm64). However we may want a system JRE anyway, and having JRE
+# in RDEPEND reduces the chances that scala-cli needs to install one
+# for the user.
+RDEPEND="
+ >=virtual/jre-11
+ sys-libs/zlib
+"
+BDEPEND="!amd64? ( !arm64? ( >=virtual/jre-11 ) )"
+
+QA_TEXTRELS="*"
+QA_FLAGS_IGNORED="/usr/bin/scala-cli"
+
+src_prepare() {
+ default
+
+ if use amd64; then
+ mv scala-cli-amd64-${UPSTREAM_PV} scala-cli || die
+ elif use arm64; then
+ mv scala-cli-arm64-${UPSTREAM_PV} scala-cli || die
+ else
+ mv scala-cli-non-native-${UPSTREAM_PV} scala-cli || die
+ fi
+
+ chmod +x scala-cli || die
+}
+
+src_compile() {
+ for shell in bash zsh; do
+ ./scala-cli install-completions \
+ --shell ${shell} \
+ --env \
+ --output "${S}" \
+ > ${shell}-completion || die
+ done
+}
+
+src_install() {
+ dobin scala-cli
+
+ newbashcomp bash-completion scala-cli
+
+ insinto /usr/share/zsh/site-functions
+ doins zsh/_scala-cli
+}
diff --git a/dev-java/scala-cli-bin/scala-cli-bin-1.2.2.ebuild b/dev-java/scala-cli-bin/scala-cli-bin-1.2.2.ebuild
new file mode 100644
index 000000000000..dc0659cfd5ec
--- /dev/null
+++ b/dev-java/scala-cli-bin/scala-cli-bin-1.2.2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1
+
+UPSTREAM_PV=${PV/_/-}
+UPSTREAM_PV=${UPSTREAM_PV/rc/RC}
+
+DESCRIPTION="CLI to interact with Scala and Java"
+HOMEPAGE="https://scala-cli.virtuslab.org/"
+SRC_URI="
+ !amd64? ( !arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli
+ -> scala-cli-non-native-${UPSTREAM_PV}
+ ) )
+ amd64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-x86_64-pc-linux.gz
+ -> scala-cli-amd64-${UPSTREAM_PV}.gz
+ )
+ arm64? (
+ https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-aarch64-pc-linux.gz
+ -> scala-cli-arm64-${UPSTREAM_PV}.gz
+ )
+"
+
+KEYWORDS="~amd64 ~arm64"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}"
+
+# A JRE is not strictly required if native images of scala-cli are used
+# (amd64, arm64). However we may want a system JRE anyway, and having JRE
+# in RDEPEND reduces the chances that scala-cli needs to install one
+# for the user.
+RDEPEND="
+ >=virtual/jre-11
+ sys-libs/zlib
+"
+BDEPEND="!amd64? ( !arm64? ( >=virtual/jre-11 ) )"
+
+QA_TEXTRELS="*"
+QA_FLAGS_IGNORED="/usr/bin/scala-cli"
+
+src_prepare() {
+ default
+
+ if use amd64; then
+ mv scala-cli-amd64-${UPSTREAM_PV} scala-cli || die
+ elif use arm64; then
+ mv scala-cli-arm64-${UPSTREAM_PV} scala-cli || die
+ else
+ mv scala-cli-non-native-${UPSTREAM_PV} scala-cli || die
+ fi
+
+ chmod +x scala-cli || die
+}
+
+src_compile() {
+ for shell in bash zsh; do
+ ./scala-cli install-completions \
+ --shell ${shell} \
+ --env \
+ --output "${S}" \
+ > ${shell}-completion || die
+ done
+}
+
+src_install() {
+ dobin scala-cli
+
+ newbashcomp bash-completion scala-cli
+
+ insinto /usr/share/zsh/site-functions
+ doins zsh/_scala-cli
+}
diff --git a/dev-java/scram/Manifest b/dev-java/scram/Manifest
index 42494f4d9f77..5ba3c94824d5 100644
--- a/dev-java/scram/Manifest
+++ b/dev-java/scram/Manifest
@@ -1 +1 @@
-DIST scram-2.1.tar.gz 64263 BLAKE2B 59b71ee0faa32d2478e38e4275b7c83efb3f7a3ede0c068a8c0a6fe970248d22b539c50b97127b1b757839758d119b395fedd85d85425bd019e0972c2df20ef4 SHA512 e0757b306db03c56f03fa0907e46693337854c152a321cae1b109a1c16b0cb5be2482a92d64a420432a3ea31371990cbac444f965abde89c04083005b30012ef
+DIST scram-2.1.tar.bz2 52442 BLAKE2B e9ec2367251770c4adb3d4bf62702c8ca13264fd12270dfb4f138c740536eb508a383486a81e1ab2bb0f8d4792642d033180c0e43ac287917543249fd16c8a76 SHA512 e2807d2c4b7984b5d9f53cb5ea6f9b2c2d5b48b5e695f25fb775cb3f22672851a9299cfe95912f109205c74817cf9f2fd706f8d49e473257e2571f409ec34044
diff --git a/dev-java/scram/metadata.xml b/dev-java/scram/metadata.xml
index 75321cfb5598..0feb6155dbc1 100644
--- a/dev-java/scram/metadata.xml
+++ b/dev-java/scram/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="gitlab">ongresinc/scram</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/scram/scram-2.1.ebuild b/dev-java/scram/scram-2.1.ebuild
index c29fd451b086..6e7eeccf9430 100644
--- a/dev-java/scram/scram-2.1.ebuild
+++ b/dev-java/scram/scram-2.1.ebuild
@@ -1,9 +1,6 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom common/pom.xml --download-uri https://gitlab.com/ongresinc/scram/-/archive/2.1/scram-2.1.tar.gz --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild scram-2.1.ebuild
-
EAPI=8
JAVA_PKG_IUSE="doc source test"
@@ -14,43 +11,36 @@ inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Java Implementation of the Salted Challenge Response Authentication Mechanism"
HOMEPAGE="https://gitlab.com/ongresinc/scram"
-SRC_URI="https://gitlab.com/ongresinc/${PN}/-/archive/${PV}/${P}.tar.gz"
+SRC_URI="https://gitlab.com/ongresinc/${PN}/-/archive/${PV}/${P}.tar.bz2"
+S="${WORKDIR}/${P}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ppc64 x86"
-# Common dependencies
-# POM: common/pom.xml
-# com.ongres.stringprep:saslprep:1.1 -> >=dev-java/stringprep-2.0:0
-
-CP_DEPEND="
- dev-java/saslprep:0
-"
-
-# Compile dependencies
-# POM: common/pom.xml
-# com.google.code.findbugs:annotations:3.0.1 -> !!!artifactId-not-found!!!
-# com.google.code.findbugs:jsr305:3.0.1 -> >=dev-java/jsr305-3.0.2:0
-# POM: common/pom.xml
-# test? junit:junit:4.12 -> >=dev-java/junit-4.13.2:4
+CP_DEPEND="dev-java/saslprep:0"
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
+DEPEND="${CP_DEPEND}
dev-java/findbugs-annotations:0
dev-java/jsr305:0
+ >=virtual/jdk-1.8:*
test? ( dev-java/stringprep:0 )
"
-RDEPEND="
+RDEPEND="${CP_DEPEND}
>=virtual/jre-1.8:*
- ${CP_DEPEND}"
+"
DOCS=( CHANGELOG NOTICE README.md )
-S="${WORKDIR}/${P}"
-
+JAVADOC_CLASSPATH="
+ findbugs-annotations
+ saslprep
+"
+JAVADOC_SRC_DIRS=(
+ "common/src/main/java"
+ "client/src/main/java"
+)
JAVA_CLASSPATH_EXTRA="findbugs-annotations,jsr305"
JAVA_TEST_GENTOO_CLASSPATH="junit-4,stringprep"
@@ -69,21 +59,11 @@ src_compile() {
JAVA_GENTOO_CLASSPATH_EXTRA+=":client.jar"
rm -r target || die
- if use doc; then
- einfo "Compiling javadocs"
- JAVA_SRC_DIR=(
- "common/src/main/java"
- "client/src/main/java"
- )
- JAVA_JAR_FILENAME="ignoreme.jar"
- java-pkg-simple_src_compile
- fi
+ use doc && ejavadoc
}
src_test() {
- einfo "Testing module common"
- JAVA_TEST_SRC_DIR="common/src/test/java"
- java-pkg-simple_src_test
+ cp -r {common,client}/src/test/java || die
einfo "Testing module cwclientcommon"
JAVA_TEST_SRC_DIR="client/src/test/java"
@@ -91,12 +71,9 @@ src_test() {
}
src_install() {
- default
+ JAVA_JAR_FILENAME="client.jar"
+ java-pkg-simple_src_install
java-pkg_dojar "common.jar"
- java-pkg_dojar "client.jar"
- if use doc; then
- java-pkg_dojavadoc target/api
- fi
if use source; then
java-pkg_dosrc "common/src/main/java/*"
java-pkg_dosrc "client/src/main/java/*"
diff --git a/dev-java/shrinkwrap-api/Manifest b/dev-java/shrinkwrap-api/Manifest
new file mode 100644
index 000000000000..34653394c3c9
--- /dev/null
+++ b/dev-java/shrinkwrap-api/Manifest
@@ -0,0 +1 @@
+DIST shrinkwrap-1.2.6.tar.gz 987090 BLAKE2B 0c837b6fae6c3e9c7155b6ddf1923b14320d39ee3fd45af5436f967535e8c3ab290b62b6ca67aafc146558466e8c161fa6527055e48a55b5456fce728c5618f9 SHA512 8d91e265f60f1ead931166da836106412ecb861112a65e4976f63df0e351d7cb2d1f64bc2633c5df1052eb39541906ac17d6c886d7d25cb1600799d17637a58c
diff --git a/dev-java/shrinkwrap-api/metadata.xml b/dev-java/shrinkwrap-api/metadata.xml
new file mode 100644
index 000000000000..ea5416922116
--- /dev/null
+++ b/dev-java/shrinkwrap-api/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">shrinkwrap/shrinkwrap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/shrinkwrap-api/shrinkwrap-api-1.2.6.ebuild b/dev-java/shrinkwrap-api/shrinkwrap-api-1.2.6.ebuild
new file mode 100644
index 000000000000..ce072404e4f2
--- /dev/null
+++ b/dev-java/shrinkwrap-api/shrinkwrap-api-1.2.6.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.jboss.shrinkwrap:shrinkwrap-api:1.2.6"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Client View of the ShrinkWrap Project"
+HOMEPAGE="https://arquillian.org/modules/shrinkwrap-shrinkwrap/"
+SRC_URI="https://github.com/shrinkwrap/shrinkwrap/archive/${PV}.tar.gz -> shrinkwrap-${PV}.tar.gz"
+S="${WORKDIR}/shrinkwrap-${PV}/api"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Restrict to jdk:1.8 - otherwhise one test would fail:
+# 1) shouldCreateDefensiveCopyOfURLOnConstruction(org.jboss.shrinkwrap.api.asset.UrlAssetTestCase)
+# java.lang.NoSuchMethodException: java.net.URL.set(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String)
+# at java.base/java.lang.Class.getDeclaredMethod(Class.java:2675)
+# at org.jboss.shrinkwrap.api.asset.UrlAssetTestCase.mutateURL(UrlAssetTestCase.java:90)
+# at org.jboss.shrinkwrap.api.asset.UrlAssetTestCase.shouldCreateDefensiveCopyOfURLOnConstruction(UrlAssetTestCase.java:68)
+DEPEND="virtual/jdk:1.8"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/shrinkwrap-impl-base/Manifest b/dev-java/shrinkwrap-impl-base/Manifest
new file mode 100644
index 000000000000..34653394c3c9
--- /dev/null
+++ b/dev-java/shrinkwrap-impl-base/Manifest
@@ -0,0 +1 @@
+DIST shrinkwrap-1.2.6.tar.gz 987090 BLAKE2B 0c837b6fae6c3e9c7155b6ddf1923b14320d39ee3fd45af5436f967535e8c3ab290b62b6ca67aafc146558466e8c161fa6527055e48a55b5456fce728c5618f9 SHA512 8d91e265f60f1ead931166da836106412ecb861112a65e4976f63df0e351d7cb2d1f64bc2633c5df1052eb39541906ac17d6c886d7d25cb1600799d17637a58c
diff --git a/dev-java/shrinkwrap-impl-base/metadata.xml b/dev-java/shrinkwrap-impl-base/metadata.xml
new file mode 100644
index 000000000000..ea5416922116
--- /dev/null
+++ b/dev-java/shrinkwrap-impl-base/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">shrinkwrap/shrinkwrap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/shrinkwrap-impl-base/shrinkwrap-impl-base-1.2.6.ebuild b/dev-java/shrinkwrap-impl-base/shrinkwrap-impl-base-1.2.6.ebuild
new file mode 100644
index 000000000000..c06f03d3e0e7
--- /dev/null
+++ b/dev-java/shrinkwrap-impl-base/shrinkwrap-impl-base-1.2.6.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.jboss.shrinkwrap:shrinkwrap-impl-base:1.2.6"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Common Base for Implementations of the ShrinkWrap Project"
+HOMEPAGE="https://arquillian.org/modules/shrinkwrap-shrinkwrap/"
+SRC_URI="https://github.com/shrinkwrap/shrinkwrap/archive/${PV}.tar.gz -> shrinkwrap-${PV}.tar.gz"
+S="${WORKDIR}/shrinkwrap-${PV}/impl-base"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/jakarta-activation:1
+ ~dev-java/shrinkwrap-api-${PV}:0
+ ~dev-java/shrinkwrap-spi-${PV}:0
+"
+
+# Restrict to jdk:1.8 - otherwise there are 8 test failures:
+# java.lang.IllegalArgumentException:
+# /java.base/java/lang/String.class was not found in any available ClassLoaders
+# testAddResourceStringTargetResourceFromJar(DynamicContainerTestBase.java:599)
+# testAddManifestStringTargetResourceFromJar(DynamicContainerTestBase.java:586)
+DEPEND="
+ ${CP_DEPEND}
+ virtual/jdk:1.8
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_EXCLUDES=(
+ org.jboss.shrinkwrap.impl.base.test.dummy.DummyInterfaceForTest
+ org.jboss.shrinkwrap.impl.base.test.dummy.DummyClassForTest
+ org.jboss.shrinkwrap.impl.base.TestSecurityActions
+ org.jboss.shrinkwrap.impl.base.TestIOUtil
+ org.jboss.shrinkwrap.impl.base.asset.DirectoryAssetTestCase
+)
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,shrinkwrap-api,shrinkwrap-spi"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_test() {
+ # 1) importFromNonZipFileThrowsException(org.jboss.shrinkwrap.impl.base.ShrinkWrapTestCase)
+ # java.lang.Exception: Unexpected exception, expected<java.lang.IllegalArgumentException>
+ # but was<java.lang.NullPointerException>
+ # Caused by: java.lang.NullPointerException
+ # at org.jboss.shrinkwrap.impl.base.ShrinkWrapTestCase.importFromNonZipFileThrowsException(ShrinkWrapTestCase.java:373)
+ sed \
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \
+ -e '/importFromNonZipFileThrowsException()/i @Ignore' \
+ -i src/test/java/org/jboss/shrinkwrap/impl/base/ShrinkWrapTestCase.java || die
+
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/shrinkwrap-spi/Manifest b/dev-java/shrinkwrap-spi/Manifest
new file mode 100644
index 000000000000..34653394c3c9
--- /dev/null
+++ b/dev-java/shrinkwrap-spi/Manifest
@@ -0,0 +1 @@
+DIST shrinkwrap-1.2.6.tar.gz 987090 BLAKE2B 0c837b6fae6c3e9c7155b6ddf1923b14320d39ee3fd45af5436f967535e8c3ab290b62b6ca67aafc146558466e8c161fa6527055e48a55b5456fce728c5618f9 SHA512 8d91e265f60f1ead931166da836106412ecb861112a65e4976f63df0e351d7cb2d1f64bc2633c5df1052eb39541906ac17d6c886d7d25cb1600799d17637a58c
diff --git a/dev-java/shrinkwrap-spi/metadata.xml b/dev-java/shrinkwrap-spi/metadata.xml
new file mode 100644
index 000000000000..ea5416922116
--- /dev/null
+++ b/dev-java/shrinkwrap-spi/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">shrinkwrap/shrinkwrap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/shrinkwrap-spi/shrinkwrap-spi-1.2.6.ebuild b/dev-java/shrinkwrap-spi/shrinkwrap-spi-1.2.6.ebuild
new file mode 100644
index 000000000000..309ee2cc69c9
--- /dev/null
+++ b/dev-java/shrinkwrap-spi/shrinkwrap-spi-1.2.6.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.jboss.shrinkwrap:shrinkwrap-spi:1.2.6"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Generic Service Provider Contract of the ShrinkWrap Project"
+HOMEPAGE="https://arquillian.org/modules/shrinkwrap-shrinkwrap/"
+SRC_URI="https://github.com/shrinkwrap/shrinkwrap/archive/${PV}.tar.gz -> shrinkwrap-${PV}.tar.gz"
+S="${WORKDIR}/shrinkwrap-${PV}/spi"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="~dev-java/shrinkwrap-api-${PV}:0"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CDP_EPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/slf4j-api/Manifest b/dev-java/slf4j-api/Manifest
index ec7396f362e7..502a0b5b52a6 100644
--- a/dev-java/slf4j-api/Manifest
+++ b/dev-java/slf4j-api/Manifest
@@ -1 +1 @@
-DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0
+DIST slf4j-2.0.3.tar.gz 1435478 BLAKE2B fec1a47882d3bbf508f4faed9cbf9448a23e9749c6c41f241c7e80654e0ce55211cec9228fcf0e666c997a4f24c5b96ad57dc076910e7f05704b02d0cf7db709 SHA512 0fb295f7942c2af8aebe2ecf544ef8326b8cc88de397ee6b37a10249b38150a506f62dcec614eee13519a299b30c6d2481dec3ea235d4b3e6a5241d12639bca6
diff --git a/dev-java/slf4j-api/metadata.xml b/dev-java/slf4j-api/metadata.xml
index 63520ba57061..c3b9d69d36cd 100644
--- a/dev-java/slf4j-api/metadata.xml
+++ b/dev-java/slf4j-api/metadata.xml
@@ -6,7 +6,7 @@
<name>Java</name>
</maintainer>
<upstream>
- <doc>http://www.slf4j.org/docs.html</doc>
- <bugs-to>http://www.slf4j.org/bug-reporting.html</bugs-to>
+ <doc>https://www.slf4j.org/docs.html</doc>
+ <bugs-to>https://www.slf4j.org/bug-reporting.html</bugs-to>
</upstream>
</pkgmetadata>
diff --git a/dev-java/slf4j-api/slf4j-api-1.7.36.ebuild b/dev-java/slf4j-api/slf4j-api-1.7.36.ebuild
deleted file mode 100644
index 06699464f97d..000000000000
--- a/dev-java/slf4j-api/slf4j-api-1.7.36.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# 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/qos-ch/slf4j/archive/v_1.7.36.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild slf4j-api-1.7.36.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.slf4j:slf4j-api:1.7.36"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="The slf4j API"
-HOMEPAGE="https://www.slf4j.org"
-SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-BDEPEND="app-arch/zip"
-
-DOCS=( LICENSE.txt ../README.md )
-
-S="${WORKDIR}/slf4j-v_${PV}/${PN}"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-JAVA_TEST_EXCLUDES=(
- # java.lang.InstantiationException - not run by upstream anyway
- "org.slf4j.helpers.MultithreadedInitializationTest"
-)
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_compile() {
- java-pkg-simple_src_compile
-
- # remove org/slf4j/impl/ from the jar file
- zip -d ${PN}.jar org/slf4j/impl/\* || die "Failed to remove impl files"
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/slf4j-api/slf4j-api-2.0.3.ebuild b/dev-java/slf4j-api/slf4j-api-2.0.3.ebuild
new file mode 100644
index 000000000000..db91290c8a95
--- /dev/null
+++ b/dev-java/slf4j-api/slf4j-api-2.0.3.ebuild
@@ -0,0 +1,40 @@
+# 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/qos-ch/slf4j/archive/v_2.0.3.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild slf4j-api-2.0.3.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.slf4j:slf4j-api:2.0.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="The slf4j API"
+HOMEPAGE="https://www.slf4j.org"
+SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+BDEPEND="app-arch/zip"
+
+DOCS=( ../{README,SECURITY}.md )
+
+S="${WORKDIR}/slf4j-v_${PV}/${PN}"
+
+JAVA_SRC_DIR=( src/main/java{,9} )
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+JAVA_TEST_EXCLUDES=(
+ # java.lang.InstantiationException - not run by upstream anyway
+ org.slf4j.testHarness.MultithreadedInitializationTest
+)
diff --git a/dev-java/slf4j-ext/Manifest b/dev-java/slf4j-ext/Manifest
index ec7396f362e7..502a0b5b52a6 100644
--- a/dev-java/slf4j-ext/Manifest
+++ b/dev-java/slf4j-ext/Manifest
@@ -1 +1 @@
-DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0
+DIST slf4j-2.0.3.tar.gz 1435478 BLAKE2B fec1a47882d3bbf508f4faed9cbf9448a23e9749c6c41f241c7e80654e0ce55211cec9228fcf0e666c997a4f24c5b96ad57dc076910e7f05704b02d0cf7db709 SHA512 0fb295f7942c2af8aebe2ecf544ef8326b8cc88de397ee6b37a10249b38150a506f62dcec614eee13519a299b30c6d2481dec3ea235d4b3e6a5241d12639bca6
diff --git a/dev-java/slf4j-ext/metadata.xml b/dev-java/slf4j-ext/metadata.xml
index 6ef2d50cf07e..c3b9d69d36cd 100644
--- a/dev-java/slf4j-ext/metadata.xml
+++ b/dev-java/slf4j-ext/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <doc>https://www.slf4j.org/docs.html</doc>
+ <bugs-to>https://www.slf4j.org/bug-reporting.html</bugs-to>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/slf4j-ext/slf4j-ext-1.7.36.ebuild b/dev-java/slf4j-ext/slf4j-ext-1.7.36.ebuild
deleted file mode 100644
index 9f498c036e19..000000000000
--- a/dev-java/slf4j-ext/slf4j-ext-1.7.36.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# 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/qos-ch/slf4j/archive/v_1.7.36.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild slf4j-ext-1.7.36.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="org.slf4j:slf4j-ext:1.7.36"
-# JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Extensions to the SLF4J API"
-HOMEPAGE="https://www.slf4j.org"
-SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# ch.qos.cal10n:cal10n-api:0.8.1 -> >=dev-java/cal10n-0.8.1:0
-# commons-lang:commons-lang:2.4 -> >=dev-java/commons-lang-2.6:2.1
-# javassist:javassist:3.4.GA -> >=dev-java/javassist-3.18.2:3
-# org.slf4j:slf4j-api:1.7.36 -> >=dev-java/slf4j-api-1.7.36:0
-
-CP_DEPEND="
- dev-java/cal10n:0
- dev-java/commons-lang:2.1
- dev-java/javassist:3
- ~dev-java/slf4j-api-${PV}:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.13 -> >=dev-java/junit-4.13.2:4
-# test? org.slf4j:slf4j-reload4j:1.7.36 -> !!!artifactId-not-found!!!
-
-# slf4j-reload4j has further dependencies which are not available in ::gentoo.
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( ../LICENSE.txt ../README.md )
-
-S="${WORKDIR}/slf4j-v_${PV}/${PN}"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-# JAVA_TEST_GENTOO_CLASSPATH="junit-4,!!!artifactId-not-found!!!"
-# JAVA_TEST_SRC_DIR="src/test/java"
-# JAVA_TEST_RESOURCE_DIRS=(
-# "src/test/resources"
-# )
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/slf4j-ext/slf4j-ext-2.0.3.ebuild b/dev-java/slf4j-ext/slf4j-ext-2.0.3.ebuild
new file mode 100644
index 000000000000..103d621e2584
--- /dev/null
+++ b/dev-java/slf4j-ext/slf4j-ext-2.0.3.ebuild
@@ -0,0 +1,61 @@
+# 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/qos-ch/slf4j/archive/v_2.0.3.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild slf4j-ext-2.0.3.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.slf4j:slf4j-ext:2.0.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Extensions to the SLF4J API"
+HOMEPAGE="https://www.slf4j.org"
+SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# ch.qos.cal10n:cal10n-api:0.8.1 -> >=dev-java/cal10n-0.8.1:0
+# org.javassist:javassist:3.4.GA -> >=dev-java/javassist-3.29.2:3
+# org.slf4j:slf4j-api:2.0.3 -> >=dev-java/slf4j-api-2.0.3:0
+
+CP_DEPEND="
+ dev-java/cal10n:0
+ dev-java/javassist:3
+ ~dev-java/slf4j-api-${PV}:0
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
+# test? org.slf4j:slf4j-reload4j:2.0.3 -> >=dev-java/slf4j-reload4j-2.0.3:0
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+ test? (
+ ~dev-java/slf4j-reload4j-${PV}:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+DOCS=( ../{README,SECURITY}.md )
+
+S="${WORKDIR}/slf4j-v_${PV}/${PN}"
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=( src/main/java{,9} )
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,slf4j-reload4j"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/slf4j-nop/Manifest b/dev-java/slf4j-nop/Manifest
index ec7396f362e7..502a0b5b52a6 100644
--- a/dev-java/slf4j-nop/Manifest
+++ b/dev-java/slf4j-nop/Manifest
@@ -1 +1 @@
-DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0
+DIST slf4j-2.0.3.tar.gz 1435478 BLAKE2B fec1a47882d3bbf508f4faed9cbf9448a23e9749c6c41f241c7e80654e0ce55211cec9228fcf0e666c997a4f24c5b96ad57dc076910e7f05704b02d0cf7db709 SHA512 0fb295f7942c2af8aebe2ecf544ef8326b8cc88de397ee6b37a10249b38150a506f62dcec614eee13519a299b30c6d2481dec3ea235d4b3e6a5241d12639bca6
diff --git a/dev-java/slf4j-nop/metadata.xml b/dev-java/slf4j-nop/metadata.xml
index 6ef2d50cf07e..c3b9d69d36cd 100644
--- a/dev-java/slf4j-nop/metadata.xml
+++ b/dev-java/slf4j-nop/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <doc>https://www.slf4j.org/docs.html</doc>
+ <bugs-to>https://www.slf4j.org/bug-reporting.html</bugs-to>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/slf4j-nop/slf4j-nop-1.7.36.ebuild b/dev-java/slf4j-nop/slf4j-nop-1.7.36.ebuild
deleted file mode 100644
index 967f7b6557b8..000000000000
--- a/dev-java/slf4j-nop/slf4j-nop-1.7.36.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# 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/qos-ch/slf4j/archive/v_1.7.36.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild slf4j-nop-1.7.36.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.slf4j:slf4j-nop:1.7.36"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="SLF4J NOP Binding"
-HOMEPAGE="https://www.slf4j.org"
-SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# org.slf4j:slf4j-api:1.7.36 -> >=dev-java/slf4j-api-1.7.36:0
-
-CP_DEPEND="
- ~dev-java/slf4j-api-${PV}:0
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( LICENSE.txt ../README.md )
-
-S="${WORKDIR}/slf4j-v_${PV}/${PN}"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-src_prepare() {
- default
- java-pkg_clean
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/slf4j-nop/slf4j-nop-2.0.3.ebuild b/dev-java/slf4j-nop/slf4j-nop-2.0.3.ebuild
new file mode 100644
index 000000000000..26720b1c7adf
--- /dev/null
+++ b/dev-java/slf4j-nop/slf4j-nop-2.0.3.ebuild
@@ -0,0 +1,47 @@
+# 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/qos-ch/slf4j/archive/v_2.0.3.tar.gz --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild slf4j-nop-2.0.3.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.slf4j:slf4j-nop:2.0.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="SLF4J NOP Binding"
+HOMEPAGE="https://www.slf4j.org"
+SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# org.slf4j:slf4j-api:2.0.3 -> >=dev-java/slf4j-api-2.0.3:0
+
+CP_DEPEND="~dev-java/slf4j-api-${PV}:0"
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+DOCS=( ../{README,SECURITY}.md )
+
+S="${WORKDIR}/slf4j-v_${PV}/${PN}"
+
+JAVA_SRC_DIR=( src/main/java{,9} )
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/slf4j-reload4j/Manifest b/dev-java/slf4j-reload4j/Manifest
new file mode 100644
index 000000000000..502a0b5b52a6
--- /dev/null
+++ b/dev-java/slf4j-reload4j/Manifest
@@ -0,0 +1 @@
+DIST slf4j-2.0.3.tar.gz 1435478 BLAKE2B fec1a47882d3bbf508f4faed9cbf9448a23e9749c6c41f241c7e80654e0ce55211cec9228fcf0e666c997a4f24c5b96ad57dc076910e7f05704b02d0cf7db709 SHA512 0fb295f7942c2af8aebe2ecf544ef8326b8cc88de397ee6b37a10249b38150a506f62dcec614eee13519a299b30c6d2481dec3ea235d4b3e6a5241d12639bca6
diff --git a/dev-java/slf4j-reload4j/metadata.xml b/dev-java/slf4j-reload4j/metadata.xml
new file mode 100644
index 000000000000..c3b9d69d36cd
--- /dev/null
+++ b/dev-java/slf4j-reload4j/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <doc>https://www.slf4j.org/docs.html</doc>
+ <bugs-to>https://www.slf4j.org/bug-reporting.html</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/slf4j-reload4j/slf4j-reload4j-2.0.3.ebuild b/dev-java/slf4j-reload4j/slf4j-reload4j-2.0.3.ebuild
new file mode 100644
index 000000000000..088248c1ea08
--- /dev/null
+++ b/dev-java/slf4j-reload4j/slf4j-reload4j-2.0.3.ebuild
@@ -0,0 +1,82 @@
+# 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/qos-ch/slf4j/archive/v_2.0.3.tar.gz --slot 0 --keywords "~amd64" --ebuild slf4j-reload4j-2.0.3.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.slf4j:slf4j-reload4j:2.0.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="SLF4J Reload4j Binding"
+HOMEPAGE="https://www.slf4j.org"
+SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# ch.qos.reload4j:reload4j:1.2.19 -> >=dev-java/reload4j-1.2.22:0
+# org.slf4j:slf4j-api:2.0.3 -> >=dev-java/slf4j-api-2.0.3:0
+
+CP_DEPEND="
+ dev-java/reload4j:0
+ ~dev-java/slf4j-api-${PV}:0
+"
+
+# Compile dependencies
+# POM: pom.xml
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
+# test? org.slf4j:slf4j-api:2.0.3 -> >=dev-java/slf4j-api-2.0.3:0
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}"
+
+DOCS=( ../{README,SECURITY}.md )
+
+S="${WORKDIR}/slf4j-v_${PV}/${PN}"
+
+JAVA_GENTOO_CLASSPATH_EXTRA=":../slf4j-api/src/test/java/"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR=( src/main/java{,9} )
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+JAVA_TEST_EXCLUDES=(
+ # Upstream does not run this test:
+ org.slf4j.testHarness.MultithreadedInitializationTest
+)
+
+src_prepare() {
+ default
+ # There was 1 failure:
+ # 1) testWhetherEventsFieldsAreSet(org.slf4j.reload4j.EventFieldsTest)
+ # java.lang.AssertionError
+ # at org.junit.Assert.fail(Assert.java:87)
+ # at org.junit.Assert.assertTrue(Assert.java:42)
+ # at org.junit.Assert.assertNotNull(Assert.java:713)
+ # at org.junit.Assert.assertNotNull(Assert.java:723)
+ # at org.slf4j.reload4j.EventFieldsTest.testWhetherEventsFieldsAreSet(EventFieldsTest.java:35)
+ rm src/test/java/org/slf4j/reload4j/EventFieldsTest.java || die "cannot remove test"
+}
+
+src_test() {
+ if use ppc64; then #877903
+ JAVA_TEST_EXCLUDES+=( org.slf4j.reload4j.Reload4jMultithreadedInitializationTest )
+ fi
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/slf4j-simple/Manifest b/dev-java/slf4j-simple/Manifest
index ec7396f362e7..502a0b5b52a6 100644
--- a/dev-java/slf4j-simple/Manifest
+++ b/dev-java/slf4j-simple/Manifest
@@ -1 +1 @@
-DIST slf4j-1.7.36.tar.gz 2276203 BLAKE2B 930de76047c694b4e566ba743ee90a2efb062358b03209137f686c4bf4ead122aa84c18b79615e5a67f1a890abdc1b8f70f62b7803f7b8e45c766ff8254836d4 SHA512 1384c771aa04d9d351854cf8ddeef66ee9f43df53890a05413c48c14cf1cb78a457bb4b2a6e2f064f1c1ab68b2eaa1d326fc03bb6b7c145915660a2c873692d0
+DIST slf4j-2.0.3.tar.gz 1435478 BLAKE2B fec1a47882d3bbf508f4faed9cbf9448a23e9749c6c41f241c7e80654e0ce55211cec9228fcf0e666c997a4f24c5b96ad57dc076910e7f05704b02d0cf7db709 SHA512 0fb295f7942c2af8aebe2ecf544ef8326b8cc88de397ee6b37a10249b38150a506f62dcec614eee13519a299b30c6d2481dec3ea235d4b3e6a5241d12639bca6
diff --git a/dev-java/slf4j-simple/metadata.xml b/dev-java/slf4j-simple/metadata.xml
index 63520ba57061..c3b9d69d36cd 100644
--- a/dev-java/slf4j-simple/metadata.xml
+++ b/dev-java/slf4j-simple/metadata.xml
@@ -6,7 +6,7 @@
<name>Java</name>
</maintainer>
<upstream>
- <doc>http://www.slf4j.org/docs.html</doc>
- <bugs-to>http://www.slf4j.org/bug-reporting.html</bugs-to>
+ <doc>https://www.slf4j.org/docs.html</doc>
+ <bugs-to>https://www.slf4j.org/bug-reporting.html</bugs-to>
</upstream>
</pkgmetadata>
diff --git a/dev-java/slf4j-simple/slf4j-simple-1.7.36.ebuild b/dev-java/slf4j-simple/slf4j-simple-1.7.36.ebuild
deleted file mode 100644
index 7be81d79f166..000000000000
--- a/dev-java/slf4j-simple/slf4j-simple-1.7.36.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# 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/qos-ch/slf4j/archive/v_1.7.36.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild slf4j-simple-1.7.36.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.slf4j:slf4j-simple:1.7.36"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="SLF4J Simple binding"
-HOMEPAGE="https://www.slf4j.org"
-SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# org.slf4j:slf4j-api:1.7.36 -> >=dev-java/slf4j-api-1.7.36:0
-
-CP_DEPEND="
- ~dev-java/slf4j-api-${PV}:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.13 -> >=dev-java/junit-4.13.2:4
-# test? org.slf4j:slf4j-api:1.7.36 -> >=dev-java/slf4j-api-1.7.36:0
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- ~dev-java/slf4j-api-${PV}:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}"
-
-DOCS=( LICENSE.txt ../README.md )
-
-S="${WORKDIR}/slf4j-v_${PV}/${PN}"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,slf4j-api"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-JAVA_TEST_EXCLUDES=(
- # java.lang.InstantiationException
- "org.slf4j.helpers.MultithreadedInitializationTest"
-
- # java.lang.AssertionError: 1284 < 1263+16
- "org.slf4j.helpers.SimpleLoggerMultithreadedInitializationTest"
-)
-
-src_prepare() {
- default
- java-pkg_clean
- cp {../slf4j-api/,}src/test/java/org/slf4j/helpers/MultithreadedInitializationTest.java || die
- cp {../slf4j-api/,}src/test/java/org/slf4j/LoggerAccessingThread.java || die
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/slf4j-simple/slf4j-simple-2.0.3.ebuild b/dev-java/slf4j-simple/slf4j-simple-2.0.3.ebuild
new file mode 100644
index 000000000000..09826fff2c44
--- /dev/null
+++ b/dev-java/slf4j-simple/slf4j-simple-2.0.3.ebuild
@@ -0,0 +1,72 @@
+# 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/qos-ch/slf4j/archive/v_2.0.3.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild slf4j-simple-2.0.3.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.slf4j:slf4j-simple:2.0.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="SLF4J Simple binding"
+HOMEPAGE="https://www.slf4j.org"
+SRC_URI="https://github.com/qos-ch/slf4j/archive/v_${PV}.tar.gz -> slf4j-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# org.slf4j:slf4j-api:2.0.3 -> >=dev-java/slf4j-api-2.0.3:0
+
+CP_DEPEND="~dev-java/slf4j-api-${PV}:0"
+
+# Compile dependencies
+# POM: pom.xml
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
+# test? org.slf4j:slf4j-api:2.0.3 -> >=dev-java/slf4j-api-2.0.3:0
+
+DEPEND="
+ >=virtual/jdk-11:*
+ ${CP_DEPEND}
+ test? (
+ ~dev-java/slf4j-api-${PV}:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+DOCS=( ../{README,SECURITY}.md )
+
+S="${WORKDIR}/slf4j-v_${PV}/${PN}"
+
+JAVA_SRC_DIR=( src/main/java{,9} )
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,slf4j-api"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+JAVA_TEST_EXCLUDES=(
+ # This test is not run by "mvn test":
+ org.slf4j.testHarness.MultithreadedInitializationTest
+ # 2) multiThreadedInitialization(org.slf4j.simple.SimpleLoggerMultithreadedInitializationTest)
+ # java.lang.AssertionError: 644 < 623+21
+ # at org.junit.Assert.fail(Assert.java:89)
+ # at org.junit.Assert.assertTrue(Assert.java:42)
+ # at org.slf4j.testHarness.MultithreadedInitializationTest.multiThreadedInitialization(MultithreadedInitializationTest.java:44)
+ org.slf4j.simple.SimpleLoggerMultithreadedInitializationTest
+)
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA=":../slf4j-api/src/test/java/"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/snakeyaml/Manifest b/dev-java/snakeyaml/Manifest
index 9b7bb7dc83e5..97b875b06b47 100644
--- a/dev-java/snakeyaml/Manifest
+++ b/dev-java/snakeyaml/Manifest
@@ -1,2 +1,2 @@
-DIST snakeyaml-1.30.tar.gz 402525 BLAKE2B 1d130ce8c5313b302463df11493a0fa845faf3921cd0b0a47f9db8d31f568f266f14a1543e33d77bf9e1b86c462ae4bba8e140339a6245341bdc05d76a1ccf07 SHA512 9ae09163d933e0899cf48ba0c80b5f01423847f1c18306859fa4c4002f0c909611df7096d494e04bb0f8f7d2bc5d1eb4f656e2f322941ddef642b0c23a351908
DIST snakeyaml-1.33.tar.gz 406196 BLAKE2B 9b7e7d7a5d35d433445737f4b5cc07744e3686a71cc4b9e44ce46153831b76f01da7ef6bc60ea82a7173283a77d0da500bea2bc7ee76bdde4ebda00aa6054aa8 SHA512 ad367d7e7bcb2225094d132df77d91e7401026af02f4ede14a2a4fc5cf78f0cfa1e4400f16f43a669faa2f0e444d36c3745e3c9df3d9114d62fee070c4c99414
+DIST snakeyaml-2.0.tar.gz 405458 BLAKE2B 69d81e0b23080ff86c1f6fe8a924a504d627c353bf9c026703ef54f14e572458e77c501415260667bcb18008ee96ca99cab7ed43c004d36fed781500f09054cf SHA512 ef4da2ae5f5e6cd7b68aabb0d37a4fdbd33be899cd1d4dad3210cc791ca85af57661f623898449841b930eaffc9e61cef337efa4e6371710307ef3758f0af329
diff --git a/dev-java/snakeyaml/files/snakeyaml-1.30-fix-test-check.patch b/dev-java/snakeyaml/files/snakeyaml-1.30-fix-test-check.patch
deleted file mode 100644
index f2742f658fa2..000000000000
--- a/dev-java/snakeyaml/files/snakeyaml-1.30-fix-test-check.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/src/test/java/org/yaml/snakeyaml/issues/issue377/BillionLaughsAttackTest.java
-+++ b/src/test/java/org/yaml/snakeyaml/issues/issue377/BillionLaughsAttackTest.java
-@@ -69,7 +69,7 @@ public class BillionLaughsAttackTest {
- map.toString();
- fail("Expected overflow");
- } catch (Throwable e) {
-- assertTrue(e.getMessage().contains("heap"));
-+ assertTrue("Catched exception " + e + " is not an instance of OutOfMemoryError", e instanceof OutOfMemoryError);
- }
- }
-
-@@ -94,4 +94,4 @@ public class BillionLaughsAttackTest {
- assertNotNull(map);
- }
-
--}
-\ No newline at end of file
-+}
diff --git a/dev-java/snakeyaml/snakeyaml-1.30-r1.ebuild b/dev-java/snakeyaml/snakeyaml-1.30-r1.ebuild
deleted file mode 100644
index 8dd5b2edb63c..000000000000
--- a/dev-java/snakeyaml/snakeyaml-1.30-r1.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# 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://bitbucket.org/snakeyaml/snakeyaml/get/snakeyaml-1.30.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild snakeyaml-1.30.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.yaml:snakeyaml:1.30"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="YAML 1.1 parser and emitter for Java"
-HOMEPAGE="https://bitbucket.org/snakeyaml/snakeyaml"
-SRC_URI="https://bitbucket.org/${PN}/${PN}/get/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Compile dependencies
-# POM: pom.xml
-# test? joda-time:joda-time:2.10.1 -> >=dev-java/joda-time-2.10.10:0
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-# test? org.apache.velocity:velocity:1.6.2 -> !!!artifactId-not-found!!!
-
-DEPEND="
- >=virtual/jdk-1.8:*
- test? (
- dev-java/velocity:0
- dev-java/joda-time:0
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-
-# https://bitbucket.org/snakeyaml/snakeyaml/pull-requests/7
-PATCHES=( "${FILESDIR}/snakeyaml-1.30-fix-test-check.patch" )
-DOCS=( README.md )
-
-S="${WORKDIR}/snakeyaml-snakeyaml-49227c24d741/"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_AUTOMATIC_MODULE_NAME="org.yaml.snakeyaml"
-
-JAVA_TEST_GENTOO_CLASSPATH="joda-time,junit-4,velocity"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-src_prepare() {
- default
- java-utils-2_src_prepare
-}
-
-src_test() {
- export EnvironmentKey1="EnvironmentValue1"
- export EnvironmentEmpty=""
-
- # There were 2 failures:
- # 1) yamlClassInYAMLCL(org.yaml.snakeyaml.issues.issue318.ContextClassLoaderTest)
- # java.lang.ClassNotFoundException: org.yaml.snakeyaml.Yaml
- # at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
- # at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
- # at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
- # at org.yaml.snakeyaml.issues.issue318.ContextClassLoaderTest.yamlClassInYAMLCL(ContextClassLoaderTest.java:127)
- # 2) domainInDifferentConstructor(org.yaml.snakeyaml.issues.issue318.ContextClassLoaderTest)
- # java.lang.ClassNotFoundException: org.yaml.snakeyaml.Yaml
- # at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
- # at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
- # at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
- # at org.yaml.snakeyaml.issues.issue318.ContextClassLoaderTest.domainInDifferentConstructor(ContextClassLoaderTest.java:135)
-
- pushd src/test/java || die
- local JAVA_TEST_RUN_ONLY=$(find * -name "*Test.java" \
- ! -name "StressTest.java" \
- ! -name "ParallelTest.java" \
- ! -name "AbstractTest.java" \
- ! -name "PyImportTest.java" \
- ! -name "ContextClassLoaderTest.java" \
- )
- popd
-
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
-
- java-pkg-simple_src_test
-}
diff --git a/dev-java/snakeyaml/snakeyaml-1.33.ebuild b/dev-java/snakeyaml/snakeyaml-1.33.ebuild
index f9978f4168dc..b2ec55291db0 100644
--- a/dev-java/snakeyaml/snakeyaml-1.33.ebuild
+++ b/dev-java/snakeyaml/snakeyaml-1.33.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://bitbucket.org/${PN}/${PN}/get/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
# Compile dependencies
# POM: pom.xml
diff --git a/dev-java/snakeyaml/snakeyaml-2.0.ebuild b/dev-java/snakeyaml/snakeyaml-2.0.ebuild
new file mode 100644
index 000000000000..573e42c2c1d6
--- /dev/null
+++ b/dev-java/snakeyaml/snakeyaml-2.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.yaml:snakeyaml:2.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="YAML 1.1 parser and emitter for Java"
+HOMEPAGE="https://bitbucket.org/snakeyaml/snakeyaml"
+SRC_URI="https://bitbucket.org/${PN}/${PN}/get/${P}.tar.gz"
+S="${WORKDIR}/snakeyaml-snakeyaml-59ddbb3304bb"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Compile dependencies
+# POM: pom.xml
+# test? joda-time:joda-time:2.11.2 -> >=dev-java/joda-time-2.11.2:0
+# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
+# test? org.apache.velocity:velocity-engine-core:2.3 -> >=dev-java/velocity-2.3:0
+# test? org.projectlombok:lombok:1.18.24 -> !!!groupId-not-found!!!
+
+DEPEND="
+ >=virtual/jdk-11:*
+ test? (
+ dev-java/velocity:0
+ dev-java/joda-time:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="joda-time,junit-4,velocity"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+# Workaround for https://bugs.gentoo.org/900433
+# src/main/java9/org/yaml/snakeyaml/internal/Logger.java:16:
+# error: duplicate class: org.yaml.snakeyaml.internal.Logger
+src_prepare() {
+ java-pkg-2_src_prepare
+ mv src/main/java{9,}/module-info.java || die
+}
+
+src_test() {
+ export EnvironmentKey1="EnvironmentValue1"
+ export EnvironmentEmpty=""
+
+ # Not packaged org.projectlombok:lombok - https://bugs.gentoo.org/868684
+ rm src/test/java/org/yaml/snakeyaml/env/EnvLombokTest.java || die # Tests run: 1
+ rm src/test/java/org/yaml/snakeyaml/issues/issue387/YamlExecuteProcessContextTest.java || die # Tests run: 1
+ rm src/test/java/org/yaml/snakeyaml/env/ApplicationProperties.java || die # No tests # import lombok.
+
+ # https://bugs.gentoo.org/871744
+ pushd src/test/java || die
+ local JAVA_TEST_RUN_ONLY=$(find * -name "*Test.java" \
+ ! -name "StressTest.java" \
+ ! -name "ParallelTest.java" \
+ ! -name "AbstractTest.java" \
+ ! -name "PyImportTest.java" \
+ ! -name "Fuzzer50355Test.java" \
+ ! -name "ContextClassLoaderTest.java" \
+ )
+ popd
+
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/snappy/Manifest b/dev-java/snappy/Manifest
index 26534254a308..7f89f0c9d934 100644
--- a/dev-java/snappy/Manifest
+++ b/dev-java/snappy/Manifest
@@ -1 +1,2 @@
-DIST snappy-java-1.1.7.8.tar.gz 3558859 BLAKE2B 871f4190212399c5bd34a72766d7f3abca9a09608d9acddc126905bcdafc723613aa33d0cdb59419e6bfba46ff27e91f5ca5382073dd895d5601f6d84929ef96 SHA512 8129d4ae2abd78f967c07e7f13df8cb9043cc34bd8346be28625a3d2bea06674ce6dd09b521af2b7053b25d0132a0e822b78c06e09bacd0067ba8178bd167691
+DIST hadoop-common-3.3.5.jar 4535144 BLAKE2B 66582661a1832cc54493fc9dcea9076eb0e3f4e974a7d24d593e8fff2b9e2a3a82ed6eb4587f23523473aecc35d2a15de2ad81b2617c1bdac50847149cdeb6a8 SHA512 f1fb439a5853b04e9e771ec4e80e1ed078494ecfaa741abe065936fc1c26b5369fdd4e8082f4da59c1a3a7a5c025beaa14a68c38dc772e81499f83a3cb91717b
+DIST snappy-1.1.10.5.tar.gz 3917442 BLAKE2B 0632fa7ba4d0a863801e88ced22098c3bc228c1f3e188c67cb9ff62807f9454b580b49fff15c7deee1e790db51f4664c50a6546259439eda18597097a5128329 SHA512 f84778f59635eb97c0072489766904a16208be4f41b28151b14eecd0fe84f3f04a44c18d452b9d79e752b22d5e5b9ab5b36064cc8aeec8de655d7635132093ea
diff --git a/dev-java/snappy/files/1.1.7.8-remove-perl-usage.patch b/dev-java/snappy/files/1.1.7.8-remove-perl-usage.patch
deleted file mode 100644
index 0c64240f12a3..000000000000
--- a/dev-java/snappy/files/1.1.7.8-remove-perl-usage.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 1413a33ef00e722bacab2e17297b89bb55b2bd49 Mon Sep 17 00:00:00 2001
-From: Yuan Liao <liaoyuan@gmail.com>
-Date: Tue, 21 Dec 2021 07:33:52 -0800
-Subject: [PATCH] Makefile: Eliminate usage of the `perl` command
-
-dev-lang/perl is not an implicit system dependency, so we cannot assume
-its existence during build time. The Makefile uses the `perl` command
-to generate the name of the JAR being built with it, but the ebuild uses
-Ant and a custom build.xml to build the JAR, and it uses the Makefile to
-build only the JNI part, thus the name of JAR in the Makefile will not
-be used. For this reason, this package can still be built and installed
-without dev-lang/perl. However, a QA notice for absent `perl` command
-will appear in this case. Rather than declaring dev-lang/perl as a
-dependency, it might be better to eliminate usage of the `perl` command
-if it is never used in any meaningful way.
-
-Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
----
- Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index a7bd87c..d1d3d32 100644
---- a/Makefile
-+++ b/Makefile
-@@ -138,7 +138,8 @@ NATIVE_DIR:=src/main/resources/org/xerial/snappy/native/$(OS_NAME)/$(OS_ARCH)
- NATIVE_TARGET_DIR:=$(TARGET)/classes/org/xerial/snappy/native/$(OS_NAME)/$(OS_ARCH)
- NATIVE_DLL:=$(NATIVE_DIR)/$(LIBNAME)
-
--snappy-jar-version:=snappy-java-$(shell perl -npe "s/version in ThisBuild\s+:=\s+\"(.*)\"/\1/" version.sbt | sed -e "/^$$/d")
-+#snappy-jar-version:=snappy-java-$(shell perl -npe "s/version in ThisBuild\s+:=\s+\"(.*)\"/\1/" version.sbt | sed -e "/^$$/d")
-+snappy-jar-version:=snappy
-
- native: jni-header snappy-header $(NATIVE_DLL)
- native-nocmake: jni-header $(NATIVE_DLL)
---
-2.32.0
-
diff --git a/dev-java/snappy/files/1.1.7.8-unbundle-snappy.patch b/dev-java/snappy/files/1.1.7.8-unbundle-snappy.patch
deleted file mode 100644
index 6113019be3ea..000000000000
--- a/dev-java/snappy/files/1.1.7.8-unbundle-snappy.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 0821c87..04f0435 100644
---- a/Makefile
-+++ b/Makefile
-@@ -8,7 +8,8 @@
-
- SNAPPY_OUT:=$(TARGET)/snappy-$(SNAPPY_VERSION)-$(os_arch)
- SNAPPY_ARCHIVE:=$(TARGET)/snappy-$(SNAPPY_VERSION).tar.gz
--SNAPPY_CC:=snappy-sinksource.cc snappy-stubs-internal.cc snappy.cc
-+#SNAPPY_CC:=snappy-sinksource.cc snappy-stubs-internal.cc snappy.cc
-+SNAPPY_CC:=
- SNAPPY_SRC_DIR:=$(TARGET)/snappy-$(SNAPPY_VERSION)
- SNAPPY_SRC:=$(addprefix $(SNAPPY_SRC_DIR)/,$(SNAPPY_CC))
- SNAPPY_GIT_REPO_URL:=https://github.com/google/snappy
-@@ -100,7 +101,8 @@
-
- $(SRC)/org/xerial/snappy/BitShuffleNative.h: $(TARGET)/jni-classes/org/xerial/snappy/BitShuffleNative.class
-
--$(SNAPPY_SRC): $(SNAPPY_GIT_UNPACKED)
-+$(SNAPPY_SRC):
-+# $(SNAPPY_GIT_UNPACKED)
-
- # aarch64 can use big-endian optimzied code
- ifeq ($(OS_ARCH),aarch64)
-@@ -122,7 +124,7 @@
- $(CXX) $(CXXFLAGS) -c $< -o $@
-
- $(SNAPPY_OUT)/$(LIBNAME): $(SNAPPY_OBJ)
-- $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS)
-+ $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS) -lsnappy
- # Workaround for strip Protocol error when using VirtualBox on Mac
- cp $@ /tmp/$(@F)
- $(STRIP) /tmp/$(@F)
-@@ -140,9 +142,9 @@
- #snappy-jar-version:=snappy-java-$(shell perl -npe "s/version in ThisBuild\s+:=\s+\"(.*)\"/\1/" version.sbt | sed -e "/^$$/d")
- snappy-jar-version:=snappy
-
--native: jni-header snappy-header $(NATIVE_DLL)
--native-nocmake: jni-header $(NATIVE_DLL)
--snappy: native $(TARGET)/$(snappy-jar-version).jar
-+native: $(NATIVE_DLL)
-+native-nocmake: $(NATIVE_DLL)
-+snappy: native
-
- native-all: native win32 win64 native-arm linux32 linux64 linux-ppc64le
-
-@@ -151,6 +153,7 @@
- cp $(SNAPPY_OUT)/$(LIBNAME) $@
- @mkdir -p $(NATIVE_TARGET_DIR)
- cp $(SNAPPY_OUT)/$(LIBNAME) $(NATIVE_TARGET_DIR)/$(LIBNAME)
-+ cp $< $(TARGET)/
-
- package: $(TARGET)/$(snappy-jar-version).jar
-
diff --git a/dev-java/snappy/files/1.x-build.xml b/dev-java/snappy/files/1.x-build.xml
deleted file mode 100644
index 21d93bfcc1c6..000000000000
--- a/dev-java/snappy/files/1.x-build.xml
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project name="snappy-java-from-maven" default="package" basedir=".">
-
- <property file="${user.home}/.m2/maven.properties" />
- <property file="maven-build.properties" />
-
- <property name="maven.build.finalName" value="snappy" />
- <property name="maven.build.dir" value="target" />
- <property name="maven.build.outputDir" value="${maven.build.dir}/classes" />
- <property name="maven.build.srcDir.0" value="src/main/java" />
- <property name="maven.build.resourceDir.0" value="src/main/java" />
- <property name="maven.build.resourceDir.1" value="src/main/resources" />
- <property name="maven.build.resourceDir.2" value="." />
- <property name="maven.build.testOutputDir" value="${maven.build.dir}/test-classes" />
- <property name="maven.build.testDir.0" value="src/test/java" />
- <property name="maven.build.testResourceDir.0" value="src/test/java" />
- <property name="maven.build.testResourceDir.1" value="src/test/resources" />
- <property name="maven.test.reports" value="${maven.build.dir}/test-reports" />
- <property name="maven.reporting.outputDirectory" value="${maven.build.dir}/site" />
-
- <property name="maven.repo.local" value="${user.home}/.m2/repository" />
- <property name="maven.settings.offline" value="false" />
- <property name="maven.settings.interactiveMode" value="true" />
-
- <!-- ====================================================================== -->
- <!-- Defining classpaths -->
- <!-- ====================================================================== -->
-
- <path id="build.classpath">
- </path>
- <path id="build.test.classpath">
- </path>
-
- <!-- ====================================================================== -->
- <!-- Cleaning up target -->
- <!-- ====================================================================== -->
-
- <target name="clean" description="Clean the output directory">
- <delete dir="${maven.build.dir}" />
- </target>
-
- <!-- ====================================================================== -->
- <!-- Compilation target -->
- <!-- ====================================================================== -->
-
- <target name="compile" description="Compile the code">
- <mkdir dir="${maven.build.outputDir}" />
- <javac destdir="${maven.build.outputDir}" nowarn="false" debug="true" optimize="false" deprecation="true" target="1.6" verbose="false" fork="false" source="1.6">
- <src>
- <pathelement location="${maven.build.srcDir.0}" />
- </src>
- <classpath refid="build.classpath" />
- </javac>
- <copy todir="${maven.build.outputDir}">
- <fileset dir="${maven.build.resourceDir.0}">
- <include name="org/xerial/snappy/VERSION" />
- </fileset>
- </copy>
- <copy todir="${maven.build.outputDir}">
- <fileset dir="${maven.build.resourceDir.1}">
- <include name="org/xerial/snappy/*.bytecode" />
- <include name="org/xerial/snappy/native/**" />
- </fileset>
- </copy>
- <mkdir dir="${maven.build.outputDir}/META-INF/maven/org.xerial.snappy/snappy-java" />
- <copy todir="${maven.build.outputDir}/META-INF/maven/org.xerial.snappy/snappy-java">
- <fileset dir="${maven.build.resourceDir.2}">
- <include name="LICENSE*" />
- </fileset>
- </copy>
- </target>
-
- <!-- ====================================================================== -->
- <!-- Test-compilation target -->
- <!-- ====================================================================== -->
-
- <target name="compile-tests" depends="compile" description="Compile the test code" unless="maven.test.skip">
- <mkdir dir="${maven.build.testOutputDir}" />
- <javac destdir="${maven.build.testOutputDir}" nowarn="false" debug="true" optimize="false" deprecation="true" target="1.6" verbose="false" fork="false" source="1.6">
- <src>
- <pathelement location="${maven.build.testDir.0}" />
- </src>
- <classpath>
- <path refid="build.test.classpath" />
- <pathelement location="${maven.build.outputDir}" />
- </classpath>
- </javac>
- <copy todir="${maven.build.testOutputDir}">
- <fileset dir="${maven.build.testResourceDir.0}">
- <exclude name="**/*.java" />
- </fileset>
- </copy>
- </target>
-
- <!-- ====================================================================== -->
- <!-- Run all tests -->
- <!-- ====================================================================== -->
-
- <target name="test" depends="compile-tests, junit-missing" unless="junit.skipped" description="Run the test cases">
- <mkdir dir="${maven.test.reports}" />
- <junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
- <sysproperty key="basedir" value="." />
- <formatter type="xml" />
- <formatter type="plain" usefile="false" />
- <classpath>
- <path refid="build.test.classpath" />
- <pathelement location="${maven.build.outputDir}" />
- <pathelement location="${maven.build.testOutputDir}" />
- </classpath>
- <batchtest todir="${maven.test.reports}" unless="test">
- <fileset dir="${maven.build.testDir.0}">
- <include name="**/Test*.java" />
- <include name="**/*Test.java" />
- <include name="**/*TestCase.java" />
- <exclude name="**/*Abstract*Test.java" />
- </fileset>
- </batchtest>
- <batchtest todir="${maven.test.reports}" if="test">
- <fileset dir="${maven.build.testDir.0}">
- <include name="**/${test}.java" />
- <exclude name="**/*Abstract*Test.java" />
- </fileset>
- </batchtest>
- </junit>
- </target>
-
- <target name="test-junit-present">
- <available classname="junit.framework.Test" property="junit.present" />
- </target>
-
- <target name="test-junit-status" depends="test-junit-present">
- <condition property="junit.missing">
- <and>
- <isfalse value="${junit.present}" />
- <isfalse value="${maven.test.skip}" />
- </and>
- </condition>
- <condition property="junit.skipped">
- <or>
- <isfalse value="${junit.present}" />
- <istrue value="${maven.test.skip}" />
- </or>
- </condition>
- </target>
-
- <target name="junit-missing" depends="test-junit-status" if="junit.missing">
- <echo>=================================== WARNING ===================================</echo>
- <echo> JUnit is not present in your $ANT_HOME/lib directory. Tests not executed.</echo>
- <echo>===============================================================================</echo>
- </target>
-
- <!-- ====================================================================== -->
- <!-- Javadoc target -->
- <!-- ====================================================================== -->
-
- <target name="javadoc" description="Generates the Javadoc of the application">
- <javadoc sourcepath="${maven.build.srcDir.0}" packagenames="*" destdir="${maven.reporting.outputDirectory}/apidocs" access="public" old="false" verbose="false" locale="en_US" version="true" use="true" author="true" splitindex="false" nodeprecated="false" nodeprecatedlist="false" notree="false" noindex="false" nohelp="false" nonavbar="false" serialwarn="false" charset="UTF-8" linksource="false" breakiterator="false" />
- </target>
-
- <!-- ====================================================================== -->
- <!-- Package target -->
- <!-- ====================================================================== -->
-
- <target name="package" depends="compile,test" description="Package the application">
- <jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar" compress="true" index="true" basedir="${maven.build.outputDir}" excludes="**/package.html" />
- </target>
-
- <!-- ====================================================================== -->
- <!-- A dummy target for the package named after the type it creates -->
- <!-- ====================================================================== -->
-
- <target name="jar" depends="package" description="Builds the jar for the application" />
-
- <!-- ====================================================================== -->
- <!-- Download dependencies target -->
- <!-- ====================================================================== -->
-
- <target name="test-offline">
- <condition property="maven.mode.offline">
- <equals arg1="${maven.settings.offline}" arg2="true" />
- </condition>
- </target>
-
-</project>
diff --git a/dev-java/snappy/files/snappy-1.1.10.1-commons-lang3.patch b/dev-java/snappy/files/snappy-1.1.10.1-commons-lang3.patch
new file mode 100644
index 000000000000..064482eabb7f
--- /dev/null
+++ b/dev-java/snappy/files/snappy-1.1.10.1-commons-lang3.patch
@@ -0,0 +1,11 @@
+--- a/src/test/java/org/xerial/snappy/SnappyHadoopCompatibleOutputStreamTest.java
++++ b/src/test/java/org/xerial/snappy/SnappyHadoopCompatibleOutputStreamTest.java
+@@ -2,7 +2,7 @@ package org.xerial.snappy;
+
+ import org.apache.commons.io.FileUtils;
+ import org.apache.commons.io.IOUtils;
+-import org.apache.commons.lang.SystemUtils;
++import org.apache.commons.lang3.SystemUtils;
+ import org.apache.hadoop.conf.Configuration;
+ import org.apache.hadoop.io.compress.SnappyCodec;
+ import org.junit.AfterClass;
diff --git a/dev-java/snappy/files/snappy-1.1.10.1-unbundle-snappy.patch b/dev-java/snappy/files/snappy-1.1.10.1-unbundle-snappy.patch
new file mode 100644
index 000000000000..d516495bb6a7
--- /dev/null
+++ b/dev-java/snappy/files/snappy-1.1.10.1-unbundle-snappy.patch
@@ -0,0 +1,51 @@
+--- a/Makefile
++++ b/Makefile
+@@ -10,7 +10,7 @@ all: snappy
+
+ SNAPPY_OUT:=$(TARGET)/snappy-$(SNAPPY_VERSION)-$(os_arch)
+ SNAPPY_ARCHIVE:=$(TARGET)/snappy-$(SNAPPY_VERSION).tar.gz
+-SNAPPY_CC:=snappy-sinksource.cc snappy-stubs-internal.cc snappy-c.cc snappy.cc
++SNAPPY_CC:=
+ SNAPPY_SRC_DIR:=$(TARGET)/snappy-$(SNAPPY_VERSION)
+ SNAPPY_SRC:=$(addprefix $(SNAPPY_SRC_DIR)/,$(SNAPPY_CC))
+ SNAPPY_GIT_REPO_URL:=https://github.com/google/snappy
+@@ -102,7 +102,8 @@ $(TARGET)/jni-classes/org/xerial/snappy/BitShuffleNative.class: $(SRC)/org/xeria
+
+ $(SRC)/org/xerial/snappy/BitShuffleNative.h: $(TARGET)/jni-classes/org/xerial/snappy/BitShuffleNative.class
+
+-$(SNAPPY_SRC): $(SNAPPY_GIT_UNPACKED)
++$(SNAPPY_SRC):
++# $(SNAPPY_GIT_UNPACKED)
+
+ # aarch64 can use big-endian optimzied code
+ ifeq ($(OS_ARCH),aarch64)
+@@ -124,7 +125,7 @@ $(SNAPPY_OUT)/BitShuffleNative.o: $(SRC)/org/xerial/snappy/BitShuffleNative.cpp
+ $(CXX) $(CXXFLAGS) -c $< -o $@
+
+ $(SNAPPY_OUT)/$(LIBNAME): $(SNAPPY_OBJ)
+- $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS)
++ $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS) -lsnappy
+ # Workaround for strip Protocol error when using VirtualBox on Mac
+ cp $@ /tmp/$(@F)
+ $(STRIP) /tmp/$(@F)
+@@ -145,9 +146,9 @@ snappy-jar-version:=snappy-java-$(shell ./script/dynver.sh | cut -d'=' -f2 | sed
+ jar-version:
+ echo $(snappy-jar-version)
+
+-native: jni-header snappy-header $(NATIVE_DLL)
+-native-nocmake: jni-header $(NATIVE_DLL)
+-snappy: native $(TARGET)/$(snappy-jar-version).jar
++native: $(NATIVE_DLL)
++native-nocmake: $(NATIVE_DLL)
++snappy: native
+
+ native-all: native native-arm clean-docker mac64 win32 win64 linux32 linux64 linux-ppc64le linux-riscv64 linux-s390x
+
+@@ -166,6 +167,7 @@ $(NATIVE_DLL): $(SNAPPY_OUT)/$(LIBNAME)
+ cp $(SNAPPY_OUT)/$(LIBNAME) $@
+ @mkdir -p $(NATIVE_TARGET_DIR)
+ cp $(SNAPPY_OUT)/$(LIBNAME) $(NATIVE_TARGET_DIR)/$(LIBNAME)
++ cp $< $(TARGET)/
+
+ package: $(TARGET)/$(snappy-jar-version).jar
+
diff --git a/dev-java/snappy/files/snappy-1.1.10.5-SnappyOutputStreamTest.patch b/dev-java/snappy/files/snappy-1.1.10.5-SnappyOutputStreamTest.patch
new file mode 100644
index 000000000000..43272e9d4a7f
--- /dev/null
+++ b/dev-java/snappy/files/snappy-1.1.10.5-SnappyOutputStreamTest.patch
@@ -0,0 +1,30 @@
+There was 1 failure:
+1) batchingOfWritesShouldNotAffectCompressedDataSize(org.xerial.snappy.SnappyOutputStreamTest)
+java.lang.AssertionError: expected:<91080> but was:<91051>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.junit.Assert.assertEquals(Assert.java:633)
+ at org.xerial.snappy.SnappyOutputStreamTest.batchingOfWritesShouldNotAffectCompressedDataSize(SnappyOutputStreamTest.java:183)
+
+FAILURES!!!
+Tests run: 104, Failures: 1
+--- a/src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java
++++ b/src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java
+@@ -34,6 +34,7 @@ import java.lang.ref.WeakReference;
+ import java.nio.ByteOrder;
+
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.Assert;
+ import org.xerial.snappy.buffer.BufferAllocatorFactory;
+ import org.xerial.snappy.buffer.CachedBufferAllocator;
+@@ -165,7 +166,7 @@ public class SnappyOutputStreamTest
+ return b.toByteArray();
+ }
+
+- @Test
++ @Test @Ignore
+ public void batchingOfWritesShouldNotAffectCompressedDataSize()
+ throws Exception
+ {
diff --git a/dev-java/snappy/snappy-1.1.10.5-r1.ebuild b/dev-java/snappy/snappy-1.1.10.5-r1.ebuild
new file mode 100644
index 000000000000..6e719db54841
--- /dev/null
+++ b/dev-java/snappy/snappy-1.1.10.5-r1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.xerial.snappy:snappy-java:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple toolchain-funcs check-reqs
+
+DESCRIPTION="Snappy compressor/decompressor for Java"
+HOMEPAGE="https://github.com/xerial/snappy-java/"
+# ::gentoo does not have hadoop-common packaged. Currently we bundle the binary version.
+# It's used for testing only and does not get installed.
+HCV="3.3.5"
+SRC_URI="https://github.com/xerial/snappy-java/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-common/${HCV}/hadoop-common-${HCV}.jar )"
+S="${WORKDIR}/snappy-java-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="1.1"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="dev-java/osgi-core:0"
+
+CDEPEND="
+ app-arch/snappy
+ dev-libs/bitshuffle
+"
+
+DEPEND=">=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ ${CDEPEND}
+ test? (
+ >=dev-java/ant-1.10.14:0[junit4]
+ dev-java/commons-io:1
+ dev-java/commons-lang:3.6
+ dev-java/plexus-classworlds:0
+ dev-java/xerial-core:0
+ )"
+
+RDEPEND=">=virtual/jre-1.8:*
+ ${CP_DEPEND}
+ ${CDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/1.1.7.8-java-version-target.patch"
+ "${FILESDIR}/snappy-1.1.10.1-unbundle-snappy.patch"
+ "${FILESDIR}/1.1.7.8-unbundle-bitshuffle.patch"
+ "${FILESDIR}/1.1.7.8-gentoo.patch"
+ "${FILESDIR}/snappy-1.1.10.5-SnappyOutputStreamTest.patch"
+ "${FILESDIR}/snappy-1.1.10.1-commons-lang3.patch"
+)
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ commons-io-1
+ commons-lang-3.6
+ junit-4
+ plexus-classworlds
+ xerial-core
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="2560M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_env
+}
+
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+ # remove pre-compiled sofiles
+ rm -r src/main/resources/org/xerial/snappy/native || die
+ rm -r src/test/resources/lib || die
+}
+
+src_compile() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ JAVA_SOURCE="$(java-pkg_get-source)" \
+ JAVA_TARGET="$(java-pkg_get-target)"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/hadoop-common-${HCV}.jar"
+ JAVA_TEST_EXTRA_ARGS=( -Xmx${CHECKREQS_MEMORY} )
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17; then
+ java-pkg-simple_src_test
+ else
+ einfo "Tests need jdk-17 to pass."
+ fi
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ local jniext=.so
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ jniext=.jnilib
+ # avoid install_name check failure
+ install_name_tool -id "@loader_path/libsnappyjava${jniext}" \
+ "target/libsnappyjava${jniext}"
+ fi
+ java-pkg_doso "target/libsnappyjava${jniext}"
+}
diff --git a/dev-java/snappy/snappy-1.1.7.8-r1.ebuild b/dev-java/snappy/snappy-1.1.7.8-r1.ebuild
deleted file mode 100644
index 37b8dcf972f5..000000000000
--- a/dev-java/snappy/snappy-1.1.7.8-r1.ebuild
+++ /dev/null
@@ -1,97 +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="org.xerial.snappy:snappy-java:1.1.7.8"
-
-inherit java-pkg-2 java-ant-2 toolchain-funcs
-
-MY_PN="${PN}-java"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Snappy compressor/decompressor for Java"
-HOMEPAGE="https://github.com/xerial/snappy-java/"
-SRC_URI="https://github.com/xerial/${MY_PN}/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="1.1"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Tests require org.apache.hadoop:hadoop-common:2.7.*, which is yet to be
-# packaged. Some extra steps are required before running the tests:
-# 1. Download hadoop-common 2.7.x from https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common
-# 2. Set EANT_GENTOO_CLASSPATH_EXTRA to the path to hadoop-common-2.7.*.jar
-# 3. Set ALLOW_TEST="all"
-RESTRICT="test"
-
-CDEPEND="dev-java/osgi-core:0
- app-arch/snappy
- dev-libs/bitshuffle"
-
-DEPEND=">=virtual/jdk-1.8:*
- ${CDEPEND}
- test? (
- dev-java/ant-junit4:0
- dev-java/commons-io:1
- dev-java/commons-lang:2.1
- dev-java/plexus-classworlds:0
- dev-java/xerial-core:0
- )"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-JAVA_ANT_CLASSPATH_TAGS="javac javadoc"
-EANT_GENTOO_CLASSPATH="osgi-core"
-EANT_TEST_GENTOO_CLASSPATH="
- ${EANT_GENTOO_CLASSPATH}
- commons-io-1
- commons-lang-2.1
- plexus-classworlds
- xerial-core
-"
-
-src_prepare() {
- cp "${FILESDIR}/1.x-build.xml" build.xml || die
- rm -r src/main/resources/org/xerial/snappy/native || die
- eapply "${FILESDIR}/${PV}-java-version-target.patch"
- eapply "${FILESDIR}/${PV}-remove-perl-usage.patch"
- eapply "${FILESDIR}/${PV}-unbundle-snappy.patch"
- eapply "${FILESDIR}/${PV}-unbundle-bitshuffle.patch"
- eapply "${FILESDIR}/${PV}-gentoo.patch"
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- emake \
- CXX="$(tc-getCXX)" \
- JAVA_SOURCE="$(java-pkg_get-source)" \
- JAVA_TARGET="$(java-pkg_get-target)"
- java-pkg-2_src_compile
-}
-
-src_test() {
- cp -r src/test/resources/org/xerial/snappy/* \
- src/test/java/org/xerial/snappy || die
- java-pkg-2_src_test
-}
-
-src_install() {
- local jniext=.so
- if [[ ${CHOST} == *-darwin* ]] ; then
- jniext=.jnilib
- # avoid install_name check failure
- install_name_tool -id "@loader_path/libsnappyjava${jniext}" \
- "target/libsnappyjava${jniext}"
- fi
- java-pkg_doso "target/libsnappyjava${jniext}"
- java-pkg_dojar "target/${PN}.jar"
-
- use source && java-pkg_dosrc src/main/java/*
- use doc && java-pkg_dojavadoc target/site/apidocs
-}
diff --git a/dev-java/spec-alpha/Manifest b/dev-java/spec-alpha/Manifest
deleted file mode 100644
index 4eba39512c02..000000000000
--- a/dev-java/spec-alpha/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST spec-alpha-0.1.143.tar.gz 35568 BLAKE2B f63fdd2b3c83dbd3936e36ff57b6ea399b7173fe805c60a6ecbd8e4aef5942f051a8551c259d89885a202c20045f67921b66c4dc9e361aacc8903c6542d7c7b5 SHA512 87887d72bc7343f96fad937b90feb4cc1be1eeaad8b7c01ae090ebe5cb17c30612e63797ea9eb39e6fe4c07870dcba9e153a98777d372923e95163f3219a976c
-DIST spec-alpha-0.2.176.tar.gz 37055 BLAKE2B 0588772e4a47a5b122984abefaf5ef2d0fffbacaf277b22737c94889e646c16a029017d405b72b829e88bcf03b12f689cb2053884b24b47193a26978ab54a318 SHA512 decf0dbff09bf8ee12503e6117ab635b98cd8dd2c389acf7aeebf00f32b5fd8250d66c2ec54cfe5da45e727e39480ae738a3ee7fcad71684d8c3acf464fe21e7
-DIST spec-alpha-0.2.194.tar.gz 39101 BLAKE2B 86de07fd83495b72d3b7d85b803ee9ecafba9a72d8541b5c62f22ad32d4e16b0c7be758ea8d30b743eba6fe994e09898e2f59b2b720913e7e1ab3732b496423f SHA512 3170883c1d62acf9af1435a5ca1ced34a318c53d1cd443d58a74afdcae4888553b9dba91fb81ccea8824c3a0c2396a0efbfaeb8ab408d8bbcf1aea0d3da9c82e
diff --git a/dev-java/spec-alpha/files/build.xml b/dev-java/spec-alpha/files/build.xml
deleted file mode 100644
index ea47d06b77d2..000000000000
--- a/dev-java/spec-alpha/files/build.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. -->
-<!-- ====================================================================== -->
-
-<project name="spec.alpha" default="package" basedir=".">
- <property name="maven.build.finalName" value="spec.alpha-SNAPSHOT"/>
- <property name="maven.build.dir" value="target"/>
- <property name="maven.build.outputDir" value="${maven.build.dir}/classes"/>
- <property name="maven.build.srcDir.0" value="src/main/clojure"/>
-
- <!-- clean -->
- <target name="clean" description="Clean the output directory">
- <delete dir="${maven.build.dir}"/>
- </target>
-
- <!-- build -->
- <target name="build" description="Copy the files">
- <mkdir dir="${maven.build.outputDir}"/>
- <copy todir="${maven.build.outputDir}">
- <fileset dir="${maven.build.srcDir.0}"/>
- </copy>
- </target>
-
- <!-- package -->
- <target name="package" depends="build" description="Package the application">
- <jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar"
- compress="true"
- index="false"
- basedir="${maven.build.outputDir}"
- excludes="**/package.html"/>
- </target>
-
- <!-- jar -->
- <target name="jar" depends="package" description="Builds the jar for the application"/>
-</project>
diff --git a/dev-java/spec-alpha/metadata.xml b/dev-java/spec-alpha/metadata.xml
deleted file mode 100644
index 896b0ee4a5c0..000000000000
--- a/dev-java/spec-alpha/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>tgbugs@gmail.com</email>
- <name>Tom Gillespie</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">clojure/spec.alpha</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/spec-alpha/spec-alpha-0.1.143.ebuild b/dev-java/spec-alpha/spec-alpha-0.1.143.ebuild
deleted file mode 100644
index 73eff1ee42cf..000000000000
--- a/dev-java/spec-alpha/spec-alpha-0.1.143.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2 java-ant-2
-
-EGIT_REF="51b64c0"
-
-MY_PN=${PN//-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="A Clojure library to describe the structure of data and functions"
-HOMEPAGE="https://clojure.org/ https://github.com/clojure/spec.alpha"
-SRC_URI="https://github.com/clojure/${MY_PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="0.1"
-KEYWORDS="~amd64 ~x86 ~x86-linux"
-IUSE=""
-
-CDEPEND="dev-java/ant-core:0"
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${MY_PN}-${MY_P}"
-
-EANT_TASKS="jar"
-EANT_EXTRA_ARGS="-Dmaven.build.finalName=${MY_P}"
-
-src_prepare() {
- default
- cp "${FILESDIR}/build.xml" . || die
-}
-
-src_install() {
- java-pkg_newjar "target/${MY_P}.jar"
- dodoc CONTRIBUTING.md README.md
-}
diff --git a/dev-java/spec-alpha/spec-alpha-0.2.176.ebuild b/dev-java/spec-alpha/spec-alpha-0.2.176.ebuild
deleted file mode 100644
index 42a9a4dd23fd..000000000000
--- a/dev-java/spec-alpha/spec-alpha-0.2.176.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2 java-ant-2
-
-EGIT_REF="59af4cf"
-
-MY_PN=${PN//-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="A Clojure library to describe the structure of data and functions"
-HOMEPAGE="https://clojure.org/ https://github.com/clojure/spec.alpha"
-SRC_URI="https://github.com/clojure/${MY_PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="0.2"
-KEYWORDS="~amd64 ~x86 ~x86-linux"
-IUSE=""
-
-CDEPEND="dev-java/ant-core:0"
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND="
- ${CDEPEND}
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${MY_PN}-${MY_P}"
-
-EANT_TASKS="jar"
-EANT_EXTRA_ARGS="-Dmaven.build.finalName=${MY_P}"
-
-src_prepare() {
- default
- cp "${FILESDIR}/build.xml" . || die
-}
-
-src_install() {
- java-pkg_newjar "target/${MY_P}.jar"
- dodoc CONTRIBUTING.md README.md
-}
diff --git a/dev-java/spec-alpha/spec-alpha-0.2.194.ebuild b/dev-java/spec-alpha/spec-alpha-0.2.194.ebuild
deleted file mode 100644
index cab6d8cad0c7..000000000000
--- a/dev-java/spec-alpha/spec-alpha-0.2.194.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2 java-ant-2
-
-EGIT_REF="fb55378"
-
-MY_P=spec.alpha-${PV}
-
-DESCRIPTION="A Clojure library to describe the structure of data and functions"
-HOMEPAGE="https://clojure.org/ https://github.com/clojure/spec.alpha"
-SRC_URI="https://github.com/clojure/spec.alpha/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="EPL-1.0"
-SLOT="0.2"
-KEYWORDS="~amd64 ~x86 ~x86-linux"
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND="
- dev-java/ant-core:0
- >=virtual/jdk-1.8:*
-"
-
-S="${WORKDIR}/spec.alpha-${MY_P}"
-
-EANT_TASKS="jar"
-EANT_EXTRA_ARGS="-Dmaven.build.finalName=${MY_P}"
-
-src_prepare() {
- default
- cp "${FILESDIR}/build.xml" . || die
-}
-
-src_install() {
- java-pkg_newjar "target/${MY_P}.jar"
- einstalldocs
-}
diff --git a/dev-java/stax2-api/metadata.xml b/dev-java/stax2-api/metadata.xml
index 995e89fc3df7..fc17369a40da 100644
--- a/dev-java/stax2-api/metadata.xml
+++ b/dev-java/stax2-api/metadata.xml
@@ -9,5 +9,6 @@
</longdescription>
<upstream>
<bugs-to>https://github.com/FasterXML/stax2-api/issues</bugs-to>
+ <remote-id type="github">FasterXML/stax2-api</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/stringprep/metadata.xml b/dev-java/stringprep/metadata.xml
index 75321cfb5598..e870bae78b8b 100644
--- a/dev-java/stringprep/metadata.xml
+++ b/dev-java/stringprep/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="gitlab">ongresinc/stringprep</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/stringtemplate/Manifest b/dev-java/stringtemplate/Manifest
index 3e6c9904de13..99391fd2990b 100644
--- a/dev-java/stringtemplate/Manifest
+++ b/dev-java/stringtemplate/Manifest
@@ -1,3 +1,4 @@
-DIST ST4-4.3.2-sources.jar 198754 BLAKE2B 667953642ed2721d1a7c7e94d90a1f8690cfa9c31c391e9b5089f04c64728dac75edc9cd0e529607cad4c1b07abaf45719c2cbab9e962a5feef657b59c3baccc SHA512 7de339d34adf6b9207a23e8936092ea4fde78bf1faa63cee869673e91ba73d0fcbaa555602d0905c7347e894985613c63ff4ce04825decc34c896da5a687d42f
+DIST ST4-4.3.4-sources.jar 198780 BLAKE2B 25f9b4baf43075ddbc946933a517e8361f88d152c4caba29a88770ab229c1b40636ebc4ccdf52a2132d94974e0d81dd114e4018658d178a2c44228007450ab7d SHA512 83ff2e17659c37407b91c83e7fcd3b5d44b206f6fdaaf8034122a3c9490778aeb24ecf90778b9dc9d6836bc59a01d75bacce71e27aadb8a5fa22b9373f7f7878
+DIST ST4-4.3.4.tar.gz 436814 BLAKE2B 40aba1cb009b669ad00285b4cdffa66632c38267f42b6b973bdb0a2f57f3c46fc13d1a929ac4745c104d658f127a63081ed5dde4c813c10e60ce7df3490d3517 SHA512 5061663c3130a50b03aaf1800a04103afae7db59758bc7957914b07718e50a139c5d486f90098368500c46d3d751ea1659c63531126fb146fb77eaeb6e244ea2
+DIST stringtemplate-3.2.1-4-java21-compatibility.patch 1973 BLAKE2B b48891549f1d9a3386b0a44a78f453a7938122e5b0b5eeba98888bfa843aea4e5732b4dbcf6aac66272c9fe5aeb9ed98aabcf3edcd155f43d5ad0c1d4d4cdd57 SHA512 8dcf841affc0e7da006b13bf4c5d44fc5315aa4790926e8598650b519fd57a4c322e4292ba58561c921308697a4be1b8b6528931eb79e6a9f2e9f7d1370599cc
DIST stringtemplate-3.2.1.tar.gz 107877 BLAKE2B e099aaef047de12706ca4c771f28742dc48ec14a577b2384b32850e304b29284436b3c850846136cbd37481ff48cfb2fd5935d2de3aafa5c817ae24f62579435 SHA512 76203182302d42a0f79de7e8a22f44c59ddc5604761034e420b6973894e0ca1e6154cbcb322ec6f9a064ee89cc5f6478b775a716692c80c7f0c77566aa8a0e25
-DIST stringtemplate-4.3.2.tar.gz 437013 BLAKE2B 0fb0fd62314a1fa5045285966b28aaf8f18579261722c0383e4ec8b3198aff59fd0e9760dcd43d8ecddf795ce3b2a882f3f339ec56d117a4b5b22e9c2718d679 SHA512 d6150f86ce458b5c74d533016bc3168fad969fc1d814d01c5ad3be2f866f7aa531357a903565f31afa3ba62423acc760b7762865e0ee5dd3af4ea546f6be25e1
diff --git a/dev-java/stringtemplate/files/stringtemplate-3.2.1-TestStringTemplate.patch b/dev-java/stringtemplate/files/stringtemplate-3.2.1-TestStringTemplate.patch
new file mode 100644
index 000000000000..e12b3c63b26a
--- /dev/null
+++ b/dev-java/stringtemplate/files/stringtemplate-3.2.1-TestStringTemplate.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/916571
+--- a/test/org/antlr/stringtemplate/test/TestStringTemplate.java
++++ b/test/org/antlr/stringtemplate/test/TestStringTemplate.java
+@@ -28,6 +28,7 @@
+ package org.antlr.stringtemplate.test;
+
+ import org.antlr.stringtemplate.*;
++import org.antlr.stringtemplate.StringTemplate;
+ import org.antlr.stringtemplate.language.AngleBracketTemplateLexer;
+ import org.antlr.stringtemplate.language.DefaultTemplateLexer;
+ import org.junit.Test;
diff --git a/dev-java/stringtemplate/files/stringtemplate-4.3.1-BaseTest-javac-source-target.patch b/dev-java/stringtemplate/files/stringtemplate-4.3.1-BaseTest-javac-source-target.patch
deleted file mode 100644
index 5824425ce35b..000000000000
--- a/dev-java/stringtemplate/files/stringtemplate-4.3.1-BaseTest-javac-source-target.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 4e12a210f2b933c92ded6ee141f6399144a866f5 Mon Sep 17 00:00:00 2001
-From: Yuan Liao <liaoyuan@gmail.com>
-Date: Mon, 24 Jan 2022 06:17:03 -0800
-Subject: [PATCH] BaseTest.java: Change javac source/target to 1.8 for JDK 17
-
-JDK 17 no longer supports 1.6 as the source or target version.
-
-Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
----
- test/org/stringtemplate/v4/test/BaseTest.java | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/org/stringtemplate/v4/test/BaseTest.java b/test/org/stringtemplate/v4/test/BaseTest.java
-index 536d686..74a3949 100644
---- a/test/org/stringtemplate/v4/test/BaseTest.java
-+++ b/test/org/stringtemplate/v4/test/BaseTest.java
-@@ -258,7 +258,7 @@ public abstract class BaseTest {
- fileManager.getJavaFileObjectsFromFiles(files);
-
- Iterable<String> compileOptions =
-- Arrays.asList("-g", "-source", "1.6", "-target", "1.6", "-implicit:class", "-Xlint:-options", "-d", workingDirName, "-cp", workingDirName+pathSep+CLASSPATH);
-+ Arrays.asList("-g", "-source", "1.8", "-target", "1.8", "-implicit:class", "-Xlint:-options", "-d", workingDirName, "-cp", workingDirName+pathSep+CLASSPATH);
-
- JavaCompiler.CompilationTask task =
- compiler.getTask(null, fileManager, null, compileOptions, null,
---
-2.34.1
-
diff --git a/dev-java/stringtemplate/files/stringtemplate-4.3.4-BaseTest-javac-source-target.patch b/dev-java/stringtemplate/files/stringtemplate-4.3.4-BaseTest-javac-source-target.patch
new file mode 100644
index 000000000000..7c31d6b5a893
--- /dev/null
+++ b/dev-java/stringtemplate/files/stringtemplate-4.3.4-BaseTest-javac-source-target.patch
@@ -0,0 +1,26 @@
+From 4e12a210f2b933c92ded6ee141f6399144a866f5 Mon Sep 17 00:00:00 2001
+From: Yuan Liao <liaoyuan@gmail.com>
+Date: Mon, 24 Jan 2022 06:17:03 -0800
+Subject: [PATCH] BaseTest.java: Change javac source/target to 1.8 for JDK 17
+
+JDK 17 no longer supports 1.6 as the source or target version.
+
+Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
+---
+ test/org/stringtemplate/v4/test/BaseTest.java | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/stringtemplate4-ST4-4.3.4/test/org/stringtemplate/v4/test/BaseTest.java
++++ b/stringtemplate4-ST4-4.3.4/test/org/stringtemplate/v4/test/BaseTest.java
+@@ -258,7 +258,7 @@ public abstract class BaseTest {
+ fileManager.getJavaFileObjectsFromFiles(files);
+
+ Iterable<String> compileOptions =
+- Arrays.asList("-g", "-source", "1.6", "-target", "1.6", "-implicit:class", "-Xlint:-options", "-d", workingDirName, "-cp", workingDirName+pathSep+CLASSPATH);
++ Arrays.asList("-g", "-source", "1.8", "-target", "1.8", "-implicit:class", "-Xlint:-options", "-d", workingDirName, "-cp", workingDirName+pathSep+CLASSPATH);
+
+ JavaCompiler.CompilationTask task =
+ compiler.getTask(null, fileManager, null, compileOptions, null,
+--
+2.34.1
+
diff --git a/dev-java/stringtemplate/files/stringtemplate-4.3.4-Java21-TestRenderers.patch b/dev-java/stringtemplate/files/stringtemplate-4.3.4-Java21-TestRenderers.patch
new file mode 100644
index 000000000000..127f5e0a4b61
--- /dev/null
+++ b/dev-java/stringtemplate/files/stringtemplate-4.3.4-Java21-TestRenderers.patch
@@ -0,0 +1,41 @@
+there are different space characters used in java 21 (narrow space)
+
+--- a/stringtemplate4-ST4-4.3.4/test/org/stringtemplate/v4/test/TestRenderers.java
++++ b/stringtemplate4-ST4-4.3.4/test/org/stringtemplate/v4/test/TestRenderers.java
+@@ -77,6 +77,8 @@ public class TestRenderers extends BaseTest {
+ String expecting = "datetime: 7/5/05, 12:00 AM";
+ if ( javaVersion.startsWith("1.6") || javaVersion.startsWith("1.7") || javaVersion.startsWith("1.8") ) {
+ expecting = "datetime: 7/5/05 12:00 AM";
++ } else if ( javaVersion.startsWith("21") ) {
++ expecting = "datetime: 7/5/05, 12:00 AM";
+ }
+ String result = st.render();
+ assertEquals(expecting, result);
+@@ -106,6 +108,8 @@ public class TestRenderers extends BaseTest {
+ String expecting = " datetime: 7/5/05, 12:00 AM ";
+ if ( javaVersion.startsWith("1.6") || javaVersion.startsWith("1.7") || javaVersion.startsWith("1.8") ) {
+ expecting = " datetime: 7/5/05 12:00 AM ";
++ } else if ( javaVersion.startsWith("21") ) {
++ expecting = " datetime: 7/5/05, 12:00 AM ";
+ }
+ String result = st.render();
+ assertEquals(expecting, result);
+@@ -126,6 +130,8 @@ public class TestRenderers extends BaseTest {
+ String expecting = " datetime: Tuesday, July 5, 2005 at 12:00:00 AM Pacific Daylight Time ";
+ if ( javaVersion.startsWith("1.6") || javaVersion.startsWith("1.7") || javaVersion.startsWith("1.8") ) {
+ expecting = " datetime: Tuesday, July 5, 2005 12:00:00 AM PDT ";
++ } else if ( javaVersion.startsWith("21") ) {
++ expecting = " datetime: Tuesday, July 5, 2005, 12:00:00 AM Pacific Daylight Time ";
+ }
+ String result = st.render();
+ assertEquals(expecting, result);
+@@ -160,6 +166,9 @@ public class TestRenderers extends BaseTest {
+ ST st = group.getInstanceOf("dateThing");
+ st.add("created", new GregorianCalendar(2005, 7 - 1, 5));
+ String expecting = " time: 12:00:00 AM ";
++ if ( javaVersion.startsWith("21") ) {
++ expecting = " time: 12:00:00 AM ";
++ }
+ String result = st.render();
+ assertEquals(expecting, result);
+ }
diff --git a/dev-java/stringtemplate/metadata.xml b/dev-java/stringtemplate/metadata.xml
index fb8783e44aee..b4aba6185def 100644
--- a/dev-java/stringtemplate/metadata.xml
+++ b/dev-java/stringtemplate/metadata.xml
@@ -6,6 +6,7 @@
<name>Java</name>
</maintainer>
<upstream>
+ <remote-id type="github">antlr/stringtemplate3</remote-id>
<remote-id type="github">antlr/stringtemplate4</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/stringtemplate/stringtemplate-3.2.1-r2.ebuild b/dev-java/stringtemplate/stringtemplate-3.2.1-r2.ebuild
deleted file mode 100644
index 98af25ad8df1..000000000000
--- a/dev-java/stringtemplate/stringtemplate-3.2.1-r2.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 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/antlr/stringtemplate3/archive/68f2a42e8038f8e716e9666909ea485ee8aff45a.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild stringtemplate-3.2.1-r2.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.antlr:stringtemplate:3.2.2"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_COMMIT="68f2a42e8038f8e716e9666909ea485ee8aff45a"
-DESCRIPTION="A Java template engine"
-HOMEPAGE="https://www.stringtemplate.org/"
-SRC_URI="https://github.com/antlr/stringtemplate3/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# Common dependencies
-# POM: pom.xml
-# antlr:antlr:2.7.7 -> >=dev-java/antlr-2.7.7:0
-
-CDEPEND="
- dev-java/antlr:0
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}
-"
-
-DOCS=( {CHANGES,README}.txt )
-
-S="${WORKDIR}/${PN}3-${MY_COMMIT}"
-
-JAVA_GENTOO_CLASSPATH="antlr"
-JAVA_SRC_DIR="src"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="test"
-JAVA_TEST_RESOURCE_DIRS="test"
-
-src_compile() {
- local G; for G in action template angle.bracket.template eval group interface; do # from build.xml
- antlr -o src/org/antlr/stringtemplate/language/{,${G}.g} || die
- done
-
- java-pkg-simple_src_compile
-}
diff --git a/dev-java/stringtemplate/stringtemplate-3.2.1-r3.ebuild b/dev-java/stringtemplate/stringtemplate-3.2.1-r3.ebuild
new file mode 100644
index 000000000000..544099d09244
--- /dev/null
+++ b/dev-java/stringtemplate/stringtemplate-3.2.1-r3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.antlr:stringtemplate:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A Java template engine"
+HOMEPAGE="https://www.stringtemplate.org/"
+MY_COMMIT="68f2a42e8038f8e716e9666909ea485ee8aff45a"
+DEB="3.2.1-4"
+SRC_URI="https://github.com/antlr/stringtemplate3/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz
+ https://sources.debian.org/data/main/s/${PN}/${DEB}/debian/patches/java21-compatibility.patch \
+ -> ${PN}-${DEB}-java21-compatibility.patch"
+S="${WORKDIR}/${PN}3-${MY_COMMIT}"
+
+LICENSE="BSD-1"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris"
+
+CP_DEPEND="dev-java/antlr:0"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( {CHANGES,README}.txt )
+PATCHES=(
+ "${DISTDIR}/stringtemplate-${DEB}-java21-compatibility.patch"
+ "${FILESDIR}/stringtemplate-3.2.1-TestStringTemplate.patch"
+)
+
+JAVA_SRC_DIR="src"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="test"
+JAVA_TEST_RESOURCE_DIRS="test"
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ local G; for G in action template angle.bracket.template eval group interface; do # from build.xml
+ antlr -o src/org/antlr/stringtemplate/language/{,${G}.g} || die
+ done
+ java-pkg-simple_src_compile
+}
diff --git a/dev-java/stringtemplate/stringtemplate-4.3.2.ebuild b/dev-java/stringtemplate/stringtemplate-4.3.2.ebuild
deleted file mode 100644
index 760604d57456..000000000000
--- a/dev-java/stringtemplate/stringtemplate-4.3.2.ebuild
+++ /dev/null
@@ -1,103 +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="org.antlr:ST4:4.3.2"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="A Java template engine"
-HOMEPAGE="https://www.stringtemplate.org/"
-# Maven Central sources JAR for *.java sources pre-generated from *.g files;
-# the source generation requires antlr-tool-3.5, which depends on this package.
-# Tarball for the test suite and DOCS files
-SRC_URI="
- https://repo1.maven.org/maven2/org/antlr/ST4/${PV}/ST4-${PV}-sources.jar
- https://github.com/antlr/${PN}4/archive/${PV}.tar.gz -> ${P}.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-CP_DEPEND="
- dev-java/antlr-runtime:3.5
-"
-
-BDEPEND="
- app-arch/unzip
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CP_DEPEND}
- test? (
- dev-java/antlr-tool:3.5
- )
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CP_DEPEND}
-"
-
-S="${WORKDIR}"
-TARBALL_S="${S}/${PN}4-${PV}"
-
-JAVA_SRC_DIR="org"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,antlr-tool-3.5"
-JAVA_TEST_SRC_DIR="${TARBALL_S}/test"
-JAVA_TEST_RESOURCE_DIRS=( "${TARBALL_S}/test/resources" )
-
-DOCS=( "${TARBALL_S}/"{CHANGES.txt,README.md} )
-
-src_prepare() {
- # Do not call java-pkg_clean; otherwise, it would remove
- # ${TARBALL_S}/test/test.jar, which is merely used as a
- # test resource file, does not contain any *.class files,
- # and is required to pass the tests as of version 4.3.2
- pushd "${TARBALL_S}" > /dev/null ||
- die "Failed to enter directory storing tarball contents"
- eapply "${FILESDIR}/${PN}-4.3.1-BaseTest-javac-source-target.patch"
- popd > /dev/null ||
- die "Failed to leave directory storing tarball contents"
- java-pkg-2_src_prepare
- # Some of these tests requires a graphical display.
- rm -v "${JAVA_TEST_SRC_DIR}/org/stringtemplate/v4/test/TestEarlyEvaluation.java" || die
-}
-
-src_test() {
- # Make sure no older versions of this slot are present in the classpath
- # https://bugs.gentoo.org/834138#c4
- local old_ver_cp="$(nonfatal java-pkg_getjars "${PN}-${SLOT}")"
- local new_test_cp="$(\
- java-pkg_getjars --with-dependencies "${JAVA_TEST_GENTOO_CLASSPATH}")"
- new_test_cp="${new_test_cp//"${old_ver_cp}"/}"
-
- # Some of the test cases require an absolute path to the JAR being tested
- # against to be in the classpath, due to the fact that they call the 'java'
- # command outside ${S} and reuse the classpath for the tests:
- # https://github.com/antlr/stringtemplate4/blob/4.3.1/test/org/stringtemplate/v4/test/TestImports.java#L103
- # https://github.com/antlr/stringtemplate4/blob/4.3.1/test/org/stringtemplate/v4/test/BaseTest.java#L174
- new_test_cp="${S}/${JAVA_JAR_FILENAME}:${new_test_cp}"
-
- # The JAR used as a test resource file needs to be in the classpath
- # https://github.com/antlr/stringtemplate4/blob/4.3.2/pom.xml#L53-L58
- new_test_cp+=":${JAVA_TEST_SRC_DIR}/test.jar"
-
- # Use JAVA_GENTOO_CLASSPATH_EXTRA to set test classpath
- local JAVA_TEST_GENTOO_CLASSPATH=""
- [[ -n "${JAVA_GENTOO_CLASSPATH_EXTRA}" ]] &&
- JAVA_GENTOO_CLASSPATH_EXTRA+=":"
- JAVA_GENTOO_CLASSPATH_EXTRA+="${new_test_cp}"
- java-pkg-simple_src_test
-}
-
-src_install() {
- java-pkg-simple_src_install
- einstalldocs # https://bugs.gentoo.org/789582
-}
diff --git a/dev-java/stringtemplate/stringtemplate-4.3.4.ebuild b/dev-java/stringtemplate/stringtemplate-4.3.4.ebuild
new file mode 100644
index 000000000000..dd01fef37fd3
--- /dev/null
+++ b/dev-java/stringtemplate/stringtemplate-4.3.4.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.antlr:ST4:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A Java template engine"
+HOMEPAGE="https://www.stringtemplate.org/"
+# Maven Central sources JAR for *.java sources pre-generated from *.g files;
+# the source generation requires antlr-tool-3.5, which depends on this package.
+# Tarball for the test suite and DOCS files
+SRC_URI="
+ https://repo1.maven.org/maven2/org/antlr/ST4/${PV}/ST4-${PV}-sources.jar
+ https://github.com/antlr/stringtemplate4/archive/ST4-${PV}.tar.gz
+"
+S="${WORKDIR}"
+TARBALL_S="${S}/${PN}4-ST4-${PV}"
+
+LICENSE="BSD"
+SLOT="4"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris"
+
+CP_DEPEND="
+ dev-java/antlr-runtime:3.5
+"
+
+BDEPEND="
+ app-arch/unzip
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ test? (
+ dev-java/antlr-tool:3.5
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+JAVA_SRC_DIR="org"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,antlr-tool-3.5"
+JAVA_TEST_SRC_DIR="${TARBALL_S}/test"
+JAVA_TEST_RESOURCE_DIRS=( "${TARBALL_S}/test/resources" )
+
+DOCS=( "${TARBALL_S}/"{CHANGES.txt,README.md} )
+PATCHES=( "${FILESDIR}/stringtemplate-4.3.4-BaseTest-javac-source-target.patch" )
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ # keep test.jar - it is required to pass the tests as of version 4.3.2
+ java-pkg_clean ! -path */test.jar
+ # Some of these tests requires a graphical display.
+ rm -v "${JAVA_TEST_SRC_DIR}/org/stringtemplate/v4/test/TestEarlyEvaluation.java" || die
+}
+
+src_test() {
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 21; then
+ eapply "${FILESDIR}/stringtemplate-4.3.4-Java21-TestRenderers.patch"
+ fi
+ # Make sure no older versions of this slot are present in the classpath
+ # https://bugs.gentoo.org/834138#c4
+ local old_ver_cp="$(nonfatal java-pkg_getjars "${PN}-${SLOT}")"
+ local new_test_cp="$(\
+ java-pkg_getjars --with-dependencies "${JAVA_TEST_GENTOO_CLASSPATH}")"
+ new_test_cp="${new_test_cp//"${old_ver_cp}"/}"
+
+ # Some of the test cases require an absolute path to the JAR being tested
+ # against to be in the classpath, due to the fact that they call the 'java'
+ # command outside ${S} and reuse the classpath for the tests:
+ # https://github.com/antlr/stringtemplate4/blob/4.3.1/test/org/stringtemplate/v4/test/TestImports.java#L103
+ # https://github.com/antlr/stringtemplate4/blob/4.3.1/test/org/stringtemplate/v4/test/BaseTest.java#L174
+ new_test_cp="${S}/${JAVA_JAR_FILENAME}:${new_test_cp}"
+
+ # The JAR used as a test resource file needs to be in the classpath
+ # https://github.com/antlr/stringtemplate4/blob/4.3.2/pom.xml#L53-L58
+ new_test_cp+=":${JAVA_TEST_SRC_DIR}/test.jar"
+
+ # Use JAVA_GENTOO_CLASSPATH_EXTRA to set test classpath
+ local JAVA_TEST_GENTOO_CLASSPATH=""
+ [[ -n "${JAVA_GENTOO_CLASSPATH_EXTRA}" ]] &&
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":"
+ JAVA_GENTOO_CLASSPATH_EXTRA+="${new_test_cp}"
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/swt/Manifest b/dev-java/swt/Manifest
index 882aec4b4fd1..bdc642795cb1 100644
--- a/dev-java/swt/Manifest
+++ b/dev-java/swt/Manifest
@@ -1,8 +1,14 @@
DIST swt-3.7.2-gtk-linux-ppc64.zip 5688113 BLAKE2B bb102da40a3f63d63ca6a56d4c57ade55d7fe8d6206acf9e60caa0a8600b5c2cec6c0304cd2ab532948f03ff0706e8b2928ae9e93ef0019051044dad3fe7b1c0 SHA512 750aaa43560bbf6f82f7f8cd9338abc88578f4f0b9aadaec9bc8a5c3d1ad593619cdf01d202cbf06766090ee977989ea7904643669c61971973951d8428b57d0
DIST swt-3.7.2-gtk-linux-x86.zip 5374609 BLAKE2B 04d44b9fffcedc6ce255e2651377ac6968bb41c44cee403f063c159962d9d43a5c9529026819ddb1c8eea98cd11ed818075c37f4e9851d2e95532dc166e570ce SHA512 9f58864d05eba2648e4b5d5c958172f5c0c7c730209525b3d6f607586daaefea4d5ba1013e80c0c11948f01c553044b0a98c81688b33c14114ba79c7ce620426
DIST swt-3.7.2-gtk-linux-x86_64.zip 5671443 BLAKE2B 953fc9eab6d1f2750b1a1345cddf4aa6969567cb75977f87ee50668d367e55dda8be2ff836d87b780005c22132fa783b475f422c093617fd02f478eadd96076d SHA512 d60ae1d3f3b0577f7e3018139f93069c89d021064fec2f3f4074f95cfae56abdc0c7d531cb904ad3911482543cddcc3f6646ff47192073f4bde97c79e13612b7
-DIST swt-3.8.2-gtk-linux-ppc64.zip 5933708 BLAKE2B d49633d9d5049d1a6f9bbdcf5a364b73802194fbaf02aa5064c7a1c917e0aad80c829b026a1a41b7903ed0d8066af89ff24683897ced8cbe8c41406a7696c408 SHA512 cb9f2c7aed0b18bae6546272076c23c91d9e1a38404f0a70ddc6408047d961befe2839db177066312b82d8365bee6bcffb6e92aaa7a869ad37d9f49ab780e337
-DIST swt-3.8.2-gtk-linux-x86.zip 5558694 BLAKE2B 8dd0ce9f2c6b8dc448c85a6c509f39ef2da000e0589da52330b83dec87601d100320af778983b2083ca8f9e2890a2d4c731cb2810d9054a9e50e7940ad14bea2 SHA512 afe1563e92fe9af0a58e7dbae731976991a6afacf6415ab88ebf557f99a5154169ad7103519524f71142c4160d55a9b0a9f7379b21486430318e4160e6f01c00
-DIST swt-3.8.2-gtk-linux-x86_64.zip 5865160 BLAKE2B 45d60d334eb99f407cf9101a06f65e48543538a386103767700fb0af5ea0cf3da73eefe57b8cc6b3d78cb8f29345869f5474513648560395a69cbd4c9b8ee8a4 SHA512 43a27cb6fc891d7da35f5fcfc6ccb689d2b2c58de70b628b1e7cf07131f0641598b627eeedafb6a8dca715a336a7fb4fb6a03bb29fea3e115a4af571b1574cf8
DIST swt-4.10-gtk-linux-ppc64le.zip 3848264 BLAKE2B 214861fde6987906fb24f3187936f3bcb49aebed54fe242427c3737bf6761e8f77d049c376f30ca0fc33e74a1e8a48b6aff6d9863775ee9c33fea7cb2edd1309 SHA512 1b3ede58c2b41abae76f58a303bd3fbf1849ba8be3fd6518325bc22400e960c3ab542e7351b1bc08053e2746ea3e28812e04c2d1789cb1e19ea28745c8a5f39a
DIST swt-4.10-gtk-linux-x86_64.zip 3844306 BLAKE2B 0e0ed21708acce347fd025920ee635f586c460f8a9c05a7067fd70eed9da999b4a62a5febd17f0c5546ab15198336038e4ab49a1bd588d49ffb39450353a1911 SHA512 9dd946cb7c11446f553f06b8af516167519bab00d4a89f626cd612be6d18e50023fc537aa3d844a8f7a56a767df00410efe4dd20e2bfd930639330a1e279a7a0
+DIST swt-4.29-gtk-linux-aarch64.zip 3836724 BLAKE2B 8c905df298688686ee22c9f2021560856f7ac7b6a92dad744b27cd30530c6ff76470fdcbb79b91ada01f28c43b8f694c334ff1337d692366ae9dc0319f7e46e2 SHA512 44ff572b57631b1b6a98192f60624758d90f54a2b2272c6bbb140ece39e65bb4086cf08fbc50c5f2e388e7b410b28fc014b87a8560062053b4c131970fa38b17
+DIST swt-4.29-gtk-linux-ppc64le.zip 3860955 BLAKE2B f24f8224581425dc86926a147f2f4c644f086cb7907e03bfca64df93ef5ce8341f519acc91e90c0af4eede65797ac019c17a410ff0312306714fa26ddb4234b4 SHA512 09326b5204970d9db2cede4aebf11c7f24a47c30b6bc49764dda1d0a33fa83c7c4755797cac387d1814a29ad2574e45244b994e5df0c7ef2fd1375fc7877814b
+DIST swt-4.29-gtk-linux-x86_64.zip 3857122 BLAKE2B ac4416044f93eaed396ac10edb74eb5ebcbb967797109f57580bd0ac7c1e3752e8895c5ff1b315aa32b5d5b5ce8e1440badb8b9c3138a0eaeb4df63098919a8c SHA512 c92381e4d1479c219e174c027e54af781e674b266334a5e087f5821935e0a87696f40afbc9fe6f9ffaa00b5204165d9ff6476031b5e4e2df8aea1a54aeb2e65e
+DIST swt-4.30-gtk-linux-aarch64.zip 3836637 BLAKE2B 4cedb6eae73e03c32f6c226560f8e7bcbde5b6fc57579255e793fd5d01a5ff80f8b673dd7035eb7f2693abadd98bd0cfdb2eec632c05995552a9a1f1b673b8cc SHA512 dfdddd12ba30373d3ee7f0337b42d3a4f55a55dc898be9c97fbcc3d841c082d00190a75513272076c5709ee626e8af3f77c7c2dc518aa9289e80e33f4b134907
+DIST swt-4.30-gtk-linux-ppc64le.zip 3860636 BLAKE2B a535c1bcc6c668905f4d4aaa8c5ae7f3b8f48fc95004522d09924ae54d5172b18f80169d78633e960ce0c5141e5b34492d1dd05188a0b1f48d9f79d286bd2982 SHA512 5a17bd7752343da638466ac28de460d9fa9f0e777d1e48625ddb6c5538704e36cd97439d1bf8f07ad34a32b7d5f27f19d8877e8a9bb9094b4a74bdbb1dc126f7
+DIST swt-4.30-gtk-linux-x86_64.zip 3856990 BLAKE2B 0ea29a5f286fb4bb362758629226bcd6f27716afae7abb80cb37e7d4b72f0c835d63a196384465d3bc74135c42454a74c75455c094204e6329229ad8ca1fda78 SHA512 3802bd1dc84c7d684dac6b0b21de6b4958dd0c736a6b42176cf734806f04ae9dfdb18515ec5249eeff5f6bb716bf327a7a10e79d68cc487a1ad02267394507a1
+DIST swt-4.31-gtk-linux-aarch64.zip 4019864 BLAKE2B 597f9c2ce1382aacd4667c7d1fc350b2318d8b1577dfc32a0139efb9d26e7c32703a0fb2507876ef441c47901d46ba522ea40714f9b88f1d517e3d9d24c2416a SHA512 636e3a4e7adc21ab8ee3ecdc3f85bbd0ad5786836492cf0096f99177716043150b41807cc456f4813ebb1797092761bb227809e8594bf64155b438973cc84bfc
+DIST swt-4.31-gtk-linux-ppc64le.zip 4036590 BLAKE2B da9ad8a7e0bf168b024c4e1fbdbcc01154ec0d7e8b38b2912ba7edf1bf8239f05a9ce1f08790174158ebb788c9cc3adf754d13942fc8aa0fe9d4a53177a814ff SHA512 bf8f3f45b4229db383839a64b7d08294340ab2f0c623be8e382609b5ff9a59683229bb308d49480ffb01596ab050d45f97894fec99c0d4eb710e60c40b864531
+DIST swt-4.31-gtk-linux-x86_64.zip 4039479 BLAKE2B 6f7e434acf57cd03dd5e938b1b1c578339b3d7817202681a15420ebdec3be10b95b1bf5eca6f1cf71de9a5a0c390d2d6ee903c2a71e8974e03987cc52322e44d SHA512 da61610ce00fc46893ec3ee6d5d7ed5cc59312002c6946a3748cff1a776af75bad0026512b412ef1622ca0bee124764ed8ee7f5f87364cff945b296feb86e74b
diff --git a/dev-java/swt/files/as-needed-and-flag-fixes-3.6.patch b/dev-java/swt/files/as-needed-and-flag-fixes-3.6.patch
index fba4a36aaf1c..d6cc763ea968 100644
--- a/dev-java/swt/files/as-needed-and-flag-fixes-3.6.patch
+++ b/dev-java/swt/files/as-needed-and-flag-fixes-3.6.patch
@@ -1,5 +1,5 @@
---- a/make_linux.mak 2010-06-08 17:30:58.000000000 +0000
-+++ b/make_linux.mak 2010-08-09 22:48:01.515433721 +0000
+--- a/make_linux.mak
++++ b/make_linux.mak
@@ -66,7 +66,7 @@
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
@@ -124,8 +124,8 @@
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
---- a/make_freebsd.mak 2010-06-08 17:30:58.000000000 +0000
-+++ b/make_freebsd.mak 2010-08-09 22:50:26.173246263 +0000
+--- a/make_freebsd.mak
++++ b/make_freebsd.mak
@@ -64,7 +64,7 @@
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
diff --git a/dev-java/swt/files/swt-3.8-as-needed-and-flag-fixes.patch b/dev-java/swt/files/swt-3.8-as-needed-and-flag-fixes.patch
deleted file mode 100644
index ce5c54e408e2..000000000000
--- a/dev-java/swt/files/swt-3.8-as-needed-and-flag-fixes.patch
+++ /dev/null
@@ -1,243 +0,0 @@
---- a/make_freebsd.mak
-+++ b/make_freebsd.mak
-@@ -64,7 +64,7 @@ GLXLIBS = -L/usr/X11R6/lib -lGL -lGLU -lm
- # Uncomment for Native Stats tool
- #NATIVE_STATS = -DNATIVE_STATS
-
--MOZILLACFLAGS = -O \
-+MOZILLACFLAGS += \
- -DSWT_VERSION=$(SWT_VERSION) \
- $(NATIVE_STATS) \
- -DMOZILLA_STRICT_API=1 \
-@@ -91,7 +91,7 @@ XULRUNNER_OBJECTS = swt.o xpcomxul.o xpcomxul_custom.o xpcomxul_structs.o xpcomx
- XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o
- GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-
--CFLAGS = -O -Wall \
-+CFLAGS += \
- -DSWT_VERSION=$(SWT_VERSION) \
- $(NATIVE_STATS) \
- -DFREEBSD -DGTK \
-@@ -115,13 +115,13 @@ all: make_swt make_atk make_gnome make_glx
- make_swt: $(SWT_LIB) $(SWTPI_LIB)
-
- $(SWT_LIB): $(SWT_OBJECTS)
-- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
-
- callback.o: callback.c callback.h
- $(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
-
- $(SWTPI_LIB): $(SWTPI_OBJECTS)
-- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
-
- swt.o: swt.c swt.h
- $(CC) $(CFLAGS) -c swt.c
-@@ -140,7 +140,7 @@ os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
- make_cairo: $(CAIRO_LIB)
-
- $(CAIRO_LIB): $(CAIRO_OBJECTS)
-- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
-
- cairo.o: cairo.c cairo.h swt.h
- $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
-@@ -156,7 +156,7 @@ cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
- make_cde: $(CDE_LIB)
-
- $(CDE_LIB): $(CDE_OBJECTS)
-- $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
-
- #
- # AWT lib
-@@ -164,7 +164,7 @@ $(CDE_LIB): $(CDE_OBJECTS)
- make_awt:$(AWT_LIB)
-
- $(AWT_LIB): $(AWT_OBJECTS)
-- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
-+ $(CC) $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
-
- #
- # Atk lib
-@@ -172,7 +172,7 @@ $(AWT_LIB): $(AWT_OBJECTS)
- make_atk: $(ATK_LIB)
-
- $(ATK_LIB): $(ATK_OBJECTS)
-- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
-
- atk.o: atk.c atk.h
- $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
-@@ -189,7 +189,7 @@ atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
- make_gnome: $(GNOME_LIB)
-
- $(GNOME_LIB): $(GNOME_OBJECTS)
-- $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
-
- gnome.o: gnome.c
- $(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
-@@ -206,7 +206,7 @@ gnome_stats.o: gnome_stats.c gnome_stats.h
- make_mozilla:$(MOZILLA_LIB)
-
- $(MOZILLA_LIB): $(MOZILLA_OBJECTS)
-- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
-+ $(CXX) $(LDFLAGS) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
-
- xpcom.o: xpcom.cpp
- $(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom.cpp
-@@ -226,7 +226,7 @@ xpcom_stats.o: xpcom_stats.cpp
- make_xulrunner:$(XULRUNNER_LIB)
-
- $(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
-- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
-+ $(CXX) $(LDFLAGS) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
-
- xpcomxul.o: xpcom.cpp
- $(CXX) -o xpcomxul.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom.cpp
-@@ -252,7 +252,7 @@ xpcomxulglue_stats.o: xpcomglue_stats.cpp
- make_xpcominit:$(XPCOMINIT_LIB)
-
- $(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
-- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
-+ $(CXX) $(LDFLAGS) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
-
- xpcominit.o: xpcominit.cpp
- $(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
-@@ -269,7 +269,7 @@ xpcominit_stats.o: xpcominit_stats.cpp
- make_glx: $(GLX_LIB)
-
- $(GLX_LIB): $(GLX_OBJECTS)
-- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
-
- glx.o: glx.c
- $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
---- a/make_linux.mak
-+++ b/make_linux.mak
-@@ -66,7 +66,7 @@ GLXLIBS = -lGL -lGLU -lm
- # Uncomment for Native Stats tool
- #NATIVE_STATS = -DNATIVE_STATS
-
--MOZILLACFLAGS = -O \
-+MOZILLACFLAGS = $(CXXFLAGS) \
- -DSWT_VERSION=$(SWT_VERSION) \
- $(NATIVE_STATS) \
- -DMOZILLA_STRICT_API=1 \
-@@ -106,7 +106,7 @@ XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o
- WEBKIT_OBJECTS = swt.o webkit.o webkit_structs.o webkit_stats.o
- GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-
--CFLAGS = -O -Wall \
-+CFLAGS += \
- -DSWT_VERSION=$(SWT_VERSION) \
- $(NATIVE_STATS) \
- -DLINUX -DGTK \
-@@ -130,13 +130,13 @@ all: make_swt make_atk make_glx make_webkit
- make_swt: $(SWT_LIB) $(SWTPI_LIB)
-
- $(SWT_LIB): $(SWT_OBJECTS)
-- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
-
- callback.o: callback.c callback.h
- $(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
-
- $(SWTPI_LIB): $(SWTPI_OBJECTS)
-- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
-
- swt.o: swt.c swt.h
- $(CC) $(CFLAGS) -c swt.c
-@@ -155,7 +155,7 @@ os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
- make_cairo: $(CAIRO_LIB)
-
- $(CAIRO_LIB): $(CAIRO_OBJECTS)
-- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
-
- cairo.o: cairo.c cairo.h swt.h
- $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
-@@ -171,7 +171,7 @@ cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
- make_cde: $(CDE_LIB)
-
- $(CDE_LIB): $(CDE_OBJECTS)
-- $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
-
- #
- # AWT lib
-@@ -179,7 +179,7 @@ $(CDE_LIB): $(CDE_OBJECTS)
- make_awt:$(AWT_LIB)
-
- $(AWT_LIB): $(AWT_OBJECTS)
-- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
-+ $(CC) $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
-
- #
- # Atk lib
-@@ -187,7 +187,7 @@ $(AWT_LIB): $(AWT_OBJECTS)
- make_atk: $(ATK_LIB)
-
- $(ATK_LIB): $(ATK_OBJECTS)
-- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
-
- atk.o: atk.c atk.h
- $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
-@@ -204,7 +204,7 @@ atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
- make_gnome: $(GNOME_LIB)
-
- $(GNOME_LIB): $(GNOME_OBJECTS)
-- $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
-
- gnome.o: gnome.c
- $(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
-@@ -221,7 +221,7 @@ gnome_stats.o: gnome_stats.c gnome_stats.h
- make_mozilla:$(MOZILLA_LIB)
-
- $(MOZILLA_LIB): $(MOZILLA_OBJECTS)
-- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
-+ $(CXX) $(LDFLAGS) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
-
- xpcom.o: xpcom.cpp
- $(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom.cpp
-@@ -242,7 +242,7 @@ make_xulrunner:$(XULRUNNER_LIB)
-
- $(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
- echo -e "#include<stdlib.h>\nsize_t je_malloc_usable_size_in_advance(size_t n) {\nreturn n;\n}" | gcc --shared -xc - -o libswt-xulrunner-fix.so
-- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
-+ $(CXX) $(LDFLAGS) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
-
- xpcomxul.o: xpcom.cpp
- $(CXX) -o xpcomxul.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom.cpp
-@@ -262,7 +262,7 @@ xpcomxul_stats.o: xpcom_stats.cpp
- make_xpcominit:$(XPCOMINIT_LIB)
-
- $(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
-- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
-+ $(CXX) $(LDFLAGS) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
-
- xpcominit.o: xpcominit.cpp
- $(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
-@@ -279,7 +279,7 @@ xpcominit_stats.o: xpcominit_stats.cpp
- make_webkit: $(WEBKIT_LIB)
-
- $(WEBKIT_LIB): $(WEBKIT_OBJECTS)
-- $(CC) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS)
-
- webkit.o: webkitgtk.c
- $(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk.c -o webkit.o
-@@ -296,7 +296,7 @@ webkit_stats.o: webkitgtk_stats.c webkitgtk_stats.h
- make_glx: $(GLX_LIB)
-
- $(GLX_LIB): $(GLX_OBJECTS)
-- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
-+ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
-
- glx.o: glx.c
- $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
diff --git a/dev-java/swt/files/swt-3.8-manifest b/dev-java/swt/files/swt-3.8-manifest
deleted file mode 100644
index ee9e31c373d6..000000000000
--- a/dev-java/swt/files/swt-3.8-manifest
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
-Bundle-SymbolicName: org.eclipse.swt.gtk.linux.SWT_ARCH; singleton:=true
-Bundle-Version: 3.8
-Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=SWT_ARCH))
-Export-Package: org.eclipse.swt.internal.accessibility.gtk; x-internal:=true,
- org.eclipse.swt.internal.cairo; x-internal:=true,
- org.eclipse.swt.internal.cde; x-internal:=true,
- org.eclipse.swt.internal.gnome; x-internal:=true,
- org.eclipse.swt.internal.gtk; x-internal:=true,
- org.eclipse.swt.internal.opengl.glx; x-internal:=true
- org.eclipse.swt.internal.webkit; x-internal:=true
-
diff --git a/dev-java/swt/files/swt-3.8.2-gthread.patch b/dev-java/swt/files/swt-3.8.2-gthread.patch
deleted file mode 100644
index 6f99a59382ba..000000000000
--- a/dev-java/swt/files/swt-3.8.2-gthread.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From c973b9b9be568ebbce618985bc5ee440babf8ab1 Mon Sep 17 00:00:00 2001
-From: Jakub Adam <jakub.adam@ktknet.cz>
-Date: Thu, 27 Jun 2013 10:16:49 +0200
-Subject: [PATCH 1/2] fix-glib-2.35-compatibility
-
-g_thread_init() and g_thread_supported() are deprecated and don't
-have to be used anymore.
-
----
- os.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
---- a/os.c
-+++ b/os.c
-@@ -4444,9 +4444,9 @@ fail:
- JNIEXPORT void JNICALL OS_NATIVE(_1g_1thread_1init)
- (JNIEnv *env, jclass that, jintLong arg0)
- {
-- OS_NATIVE_ENTER(env, that, _1g_1thread_1init_FUNC);
-+ /*OS_NATIVE_ENTER(env, that, _1g_1thread_1init_FUNC);
- g_thread_init((GThreadFunctions *)arg0);
-- OS_NATIVE_EXIT(env, that, _1g_1thread_1init_FUNC);
-+ OS_NATIVE_EXIT(env, that, _1g_1thread_1init_FUNC);*/
- }
- #endif
-
-@@ -4454,11 +4454,12 @@ JNIEXPORT void JNICALL OS_NATIVE(_1g_1thread_1init)
- JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1thread_1supported)
- (JNIEnv *env, jclass that)
- {
-- jboolean rc = 0;
-+ /*jboolean rc = 0;
- OS_NATIVE_ENTER(env, that, _1g_1thread_1supported_FUNC);
- rc = (jboolean)g_thread_supported();
- OS_NATIVE_EXIT(env, that, _1g_1thread_1supported_FUNC);
-- return rc;
-+ return rc;*/
-+ return 1;
- }
- #endif
-
---
-1.7.10.4
-
diff --git a/dev-java/swt/files/swt-4.10-as-needed-and-flag-fixes.patch b/dev-java/swt/files/swt-4.10-as-needed-and-flag-fixes.patch
index 09bed21d58f8..cb70122aa411 100644
--- a/dev-java/swt/files/swt-4.10-as-needed-and-flag-fixes.patch
+++ b/dev-java/swt/files/swt-4.10-as-needed-and-flag-fixes.patch
@@ -1,6 +1,5 @@
-diff -Naur a/make_linux.mak b/make_linux.mak
---- a/make_linux.mak 2019-01-07 14:08:00.269147198 +0100
-+++ b/make_linux.mak 2019-01-07 14:10:28.645155241 +0100
+--- a/make_linux.mak
++++ b/make_linux.mak
@@ -101,7 +101,7 @@
WEBKIT_OBJECTS = swt.o webkitgtk.o webkitgtk_structs.o webkitgtk_stats.o webkitgtk_custom.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
diff --git a/dev-java/swt/files/swt-4.27-as-needed-and-flag-fixes.patch b/dev-java/swt/files/swt-4.27-as-needed-and-flag-fixes.patch
new file mode 100644
index 000000000000..c8ea6322f8a1
--- /dev/null
+++ b/dev-java/swt/files/swt-4.27-as-needed-and-flag-fixes.patch
@@ -0,0 +1,81 @@
+--- a/make_linux.mak
++++ b/make_linux.mak
+@@ -98,7 +98,7 @@ ATK_OBJECTS = swt.o atk.o atk_structs.o atk_custom.o atk_stats.o
+ WEBKIT_OBJECTS = swt.o webkitgtk.o webkitgtk_structs.o webkitgtk_stats.o webkitgtk_custom.o
+ GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
+
+-CFLAGS := $(CFLAGS) \
++CFLAGS += -fPIC \
+ -DSWT_VERSION=$(SWT_VERSION) \
+ $(NATIVE_STATS) \
+ $(SWT_DEBUG) \
+@@ -111,7 +111,7 @@ LFLAGS = -shared -fPIC ${SWT_LFLAGS}
+
+ # Treat all warnings as errors. If your new code produces a warning, please
+ # take time to properly understand and fix/silence it as necessary.
+-CFLAGS += -Werror
++# CFLAGS += -Werror
+
+ ifndef NO_STRIP
+ # -s = Remove all symbol table and relocation information from the executable.
+@@ -130,13 +130,13 @@ all: make_swt make_atk make_glx make_webkit
+ make_swt: $(SWT_LIB) $(SWTPI_LIB)
+
+ $(SWT_LIB): $(SWT_OBJECTS)
+- $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
++ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
+
+ callback.o: callback.c callback.h
+ $(CC) $(CFLAGS) $(GTKCFLAGS) -DUSE_ASSEMBLER -c callback.c
+
+ $(SWTPI_LIB): $(SWTPI_OBJECTS)
+- $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
++ $(CC) $(LDFLAGS) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+
+ swt.o: swt.c swt.h
+ $(CC) $(CFLAGS) -c swt.c
+@@ -169,7 +169,7 @@ gtk4_stats.o: gtk4_stats.c gtk4_structs.h gtk4.h gtk4_stats.h swt.h
+ make_cairo: $(CAIRO_LIB)
+
+ $(CAIRO_LIB): $(CAIRO_OBJECTS)
+- $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
++ $(CC) $(LDFLAGS) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
+
+ cairo.o: cairo.c cairo.h swt.h
+ $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
+@@ -184,7 +184,7 @@ cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
+ make_awt:$(AWT_LIB)
+
+ $(AWT_LIB): $(AWT_OBJECTS)
+- $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
++ $(CC) -fPIC $(LDFLAGS) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+
+ #
+ # Atk lib
+@@ -192,7 +192,7 @@ $(AWT_LIB): $(AWT_OBJECTS)
+ make_atk: $(ATK_LIB)
+
+ $(ATK_LIB): $(ATK_OBJECTS)
+- $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
++ $(CC) $(LDFLAGS) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+
+ atk.o: atk.c atk.h
+ $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
+@@ -209,7 +209,7 @@ atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
+ make_webkit: $(WEBKIT_LIB)
+
+ $(WEBKIT_LIB): $(WEBKIT_OBJECTS)
+- $(CC) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS) $(WEBKITLIBS)
++ $(CC) $(LDFLAGS) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS) $(WEBKITLIBS)
+
+ webkitgtk.o: webkitgtk.c webkitgtk_custom.h
+ $(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk.c
+@@ -229,7 +229,7 @@ webkitgtk_custom.o: webkitgtk_custom.c
+ make_glx: $(GLX_LIB)
+
+ $(GLX_LIB): $(GLX_OBJECTS)
+- $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
++ $(CC) $(LDFLAGS) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+
+ glx.o: glx.c
+ $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
diff --git a/dev-java/swt/metadata.xml b/dev-java/swt/metadata.xml
index d94f6cdd831e..c06386289922 100644
--- a/dev-java/swt/metadata.xml
+++ b/dev-java/swt/metadata.xml
@@ -10,4 +10,9 @@
Eclipse platform in an operating system independent manner. It is analogous to
AWT/Swing in Java with a difference - SWT uses a rich set of native widgets.
</longdescription>
+ <upstream>
+ <bugs-to>https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Platform%38component=SWT</bugs-to>
+ <doc>https://wiki.eclipse.org/SWT</doc>
+ <remote-id type="github">eclipse-platform/eclipse.platform.swt</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/swt/swt-3.7.2-r3.ebuild b/dev-java/swt/swt-3.7.2-r3.ebuild
index c00026ba19cc..eb993b82f314 100644
--- a/dev-java/swt/swt-3.7.2-r3.ebuild
+++ b/dev-java/swt/swt-3.7.2-r3.ebuild
@@ -6,11 +6,11 @@ EAPI=7
inherit java-pkg-2 java-ant-2 java-osgi toolchain-funcs
MY_PV="${PV/_rc/RC}"
-MY_DMF="http://archive.eclipse.org/eclipse/downloads/drops/R-${MY_PV}-201202080800"
+MY_DMF="https://archive.eclipse.org/eclipse/downloads/drops/R-${MY_PV}-201202080800"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="GTK based SWT Library"
-HOMEPAGE="http://www.eclipse.org/"
+HOMEPAGE="https://www.eclipse.org/"
SRC_URI="
amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip )
ppc? ( ${MY_DMF}/${MY_P}-gtk-linux-x86.zip )
diff --git a/dev-java/swt/swt-3.8.2-r4.ebuild b/dev-java/swt/swt-3.8.2-r4.ebuild
deleted file mode 100644
index 4078770338fb..000000000000
--- a/dev-java/swt/swt-3.8.2-r4.ebuild
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-pkg-2 java-ant-2 toolchain-funcs java-osgi
-
-MY_PV="${PV/_rc/RC}"
-MY_DMF="http://archive.eclipse.org/eclipse/downloads/drops/R-${MY_PV}-201301310800"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="GTK based SWT Library"
-HOMEPAGE="http://www.eclipse.org/"
-SRC_URI="
- amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip )
- ppc? ( ${MY_DMF}/${MY_P}-gtk-linux-x86.zip )
- ppc64? ( ${MY_DMF}/${MY_P}-gtk-linux-ppc64.zip )
- x86? ( ${MY_DMF}/${MY_P}-gtk-linux-x86.zip )"
-
-LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1"
-SLOT="3.8"
-KEYWORDS="amd64 ppc64 x86"
-IUSE="cairo opengl"
-
-COMMON_DEPEND="
- >=dev-libs/atk-1.10.2
- >=dev-libs/glib-2.6
- >=x11-libs/gtk+-2.6.8:2
- x11-libs/libXtst
- cairo? ( >=x11-libs/cairo-1.4.14 )
- opengl? (
- virtual/glu
- virtual/opengl
- )"
-DEPEND="${COMMON_DEPEND}
- app-arch/unzip
- virtual/jdk:1.8
- virtual/pkgconfig
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXrender
- x11-libs/libXt
- >=x11-libs/libXtst-1.1.0"
-RDEPEND="${COMMON_DEPEND}
- >=virtual/jre-1.4"
-
-S="${WORKDIR}"
-
-# JNI libraries don't need SONAME, bug #253756
-QA_SONAME="usr/lib.*/libswt-.*.so"
-
-PATCHES=(
- "${FILESDIR}"/swt-3.8-as-needed-and-flag-fixes.patch
- "${FILESDIR}"/swt-3.8.2-gthread.patch
-)
-
-src_unpack() {
- local DISTFILE=${A}
- unzip -jq "${DISTDIR}"/${DISTFILE} "*src.zip" || die "Unable to extract distfile"
- unpack "./src.zip"
-
- # Cleanup the redirtied directory structure
- rm -rf about_files/ || die
-}
-
-src_prepare() {
- default
- # Replace the build.xml to allow compilation without Eclipse tasks
- cp "${FILESDIR}/build.xml" "${S}/build.xml" || die "Unable to update build.xml"
-
- mkdir -p "${S}/src"
- mv "${S}/org" "${S}/src" || die "Unable to restructure SWT sources"
-}
-
-src_compile() {
- # Drop jikes support as it seems to be unfriendly with SWT
- java-pkg_filter-compiler jikes
-
- local AWT_ARCH
- local JAWTSO="libjawt.so"
- if [[ $(tc-arch) == 'x86' ]] ; then
- AWT_ARCH="i386"
- elif [[ $(tc-arch) == 'ppc' ]] ; then
- AWT_ARCH="ppc"
- elif [[ $(tc-arch) == 'ppc64' ]] ; then
- AWT_ARCH="ppc64"
- else
- AWT_ARCH="amd64"
- fi
- if [[ -f "${JAVA_HOME}/jre/lib/${AWT_ARCH}/${JAWTSO}" ]]; then
- export AWT_LIB_PATH="${JAVA_HOME}/jre/lib/${AWT_ARCH}"
- elif [[ -f "${JAVA_HOME}/jre/bin/${JAWTSO}" ]]; then
- export AWT_LIB_PATH="${JAVA_HOME}/jre/bin"
- elif [[ -f "${JAVA_HOME}/$(get_libdir)/${JAWTSO}" ]] ; then
- export AWT_LIB_PATH="${JAVA_HOME}/$(get_libdir)"
- else
- eerror "${JAWTSO} not found in the JDK being used for compilation!"
- die "cannot build AWT library"
- fi
-
- # Fix the pointer size for AMD64
- [[ ${ARCH} == "amd64" || ${ARCH} == "ppc64" ]] && export SWT_PTR_CFLAGS=-DJNI64
-
- local make="emake -f make_linux.mak NO_STRIP=y CC=$(tc-getCC) CXX=$(tc-getCXX)"
-
- einfo "Building AWT library"
- ${make} make_awt
-
- einfo "Building SWT library"
- ${make} make_swt
-
- einfo "Building JAVA-AT-SPI bridge"
- ${make} make_atk
-
- if use cairo ; then
- einfo "Building CAIRO support"
- ${make} make_cairo
- fi
-
- if use opengl ; then
- einfo "Building OpenGL component"
- ${make} make_glx
- fi
-
- einfo "Building JNI libraries"
- eant compile
-
- einfo "Copying missing files"
- cp -i "${S}/version.txt" "${S}/build/version.txt" || die
- cp -i "${S}/src/org/eclipse/swt/internal/SWTMessages.properties" \
- "${S}/build/org/eclipse/swt/internal/" || die
-
- einfo "Packing JNI libraries"
- eant jar
-}
-
-src_install() {
- swtArch=${ARCH}
- use amd64 && swtArch=x86_64
-
- sed "s/SWT_ARCH/${swtArch}/" "${FILESDIR}/${PN}-${SLOT}-manifest" > "MANIFEST_TMP.MF" || die
- use cairo || sed -i -e "/ org.eclipse.swt.internal.cairo; x-internal:=true,/d" "MANIFEST_TMP.MF"
- sed -i -e "/ org.eclipse.swt.internal.gnome; x-internal:=true,/d" "MANIFEST_TMP.MF"
- use opengl || sed -i -e "/ org.eclipse.swt.internal.opengl.glx; x-internal:=true,/d" "MANIFEST_TMP.MF"
- sed -i -e "/ org.eclipse.swt.internal.webkit; x-internal:=true,/d" "MANIFEST_TMP.MF"
- java-osgi_newjar-fromfile "swt.jar" "MANIFEST_TMP.MF" "Standard Widget Toolkit for GTK 2.0"
-
- java-pkg_sointo /usr/$(get_libdir)
- java-pkg_doso *.so
-
- dodoc about.html
-}
diff --git a/dev-java/swt/swt-4.10-r2.ebuild b/dev-java/swt/swt-4.10-r2.ebuild
index ec723d8e5d5e..4e117a49acf6 100644
--- a/dev-java/swt/swt-4.10-r2.ebuild
+++ b/dev-java/swt/swt-4.10-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,11 +6,11 @@ EAPI=7
inherit flag-o-matic java-pkg-2 java-ant-2 toolchain-funcs java-osgi
MY_PV="${PV/_rc/RC}"
-MY_DMF="http://download.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-201812060815"
+MY_DMF="https://archive.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-201812060815"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="GTK based SWT Library"
-HOMEPAGE="http://www.eclipse.org/"
+HOMEPAGE="https://www.eclipse.org/"
SRC_URI="
amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip )
ppc64? ( ${MY_DMF}/${MY_P}-gtk-linux-ppc64le.zip )"
diff --git a/dev-java/swt/swt-4.29.ebuild b/dev-java/swt/swt-4.29.ebuild
new file mode 100644
index 000000000000..08361076b0b5
--- /dev/null
+++ b/dev-java/swt/swt-4.29.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit flag-o-matic java-pkg-2 java-pkg-simple toolchain-funcs
+
+MY_PV="${PV/_rc/RC}"
+MY_DMF="https://download.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-202309031000"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="GTK based SWT Library"
+HOMEPAGE="https://www.eclipse.org/swt/"
+SRC_URI="
+ amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip )
+ arm64? ( ${MY_DMF}/${MY_P}-gtk-linux-aarch64.zip )
+ ppc64? ( ${MY_DMF}/${MY_P}-gtk-linux-ppc64le.zip )"
+
+LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1"
+SLOT="4.27"
+KEYWORDS="amd64 arm64 ppc64"
+IUSE="cairo opengl webkit"
+
+COMMON_DEP="
+ app-accessibility/at-spi2-core:2
+ dev-libs/glib
+ x11-libs/gtk+:3
+ x11-libs/libXtst
+ cairo? ( x11-libs/cairo )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ webkit? (
+ net-libs/webkit-gtk:4.1
+ )"
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-11:*[-headless-awt]
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst"
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-1.8:*"
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+
+HTML_DOCS=( about.html )
+
+JAVA_RESOURCE_DIRS="resources"
+JAVA_SRC_DIR="src"
+
+PATCHES=(
+ "${FILESDIR}/swt-4.27-as-needed-and-flag-fixes.patch"
+)
+
+src_unpack() {
+ default
+ unpack "./src.zip"
+}
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+ # .css stuff is essential at least for running net-p2p/biglybt
+ unzip swt.jar 'org/eclipse/swt/internal/gtk/*.css' -d resources || die
+ java-pkg_clean
+ mkdir src || die "mkdir failed"
+ mv org src || die "moving java sources failed"
+ pushd src > /dev/null || die
+ find -type f ! -name '*.java' \
+ | xargs \
+ cp --parent -t ../resources -v \
+ || die "copying resources failed"
+ popd > /dev/null || die
+ cp version.txt resources || die "adding version.txt failed"
+}
+
+src_compile() {
+ append-cflags -fcommon # https://bugs.gentoo.org/707838
+
+ local JAWTSO="libjawt.so"
+ IFS=":" read -r -a ldpaths <<< $(java-config -g LDPATH)
+
+ for libpath in "${ldpaths[@]}"; do
+ if [[ -f "${libpath}/${JAWTSO}" ]]; then
+ export AWT_LIB_PATH="${libpath}"
+ break
+ # this is a workaround for broken LDPATH in <=openjdk-8.292_p10 and <=dev-java/openjdk-bin-8.292_p10
+ elif [[ -f "${libpath}/$(tc-arch)/${JAWTSO}" ]]; then
+ export AWT_LIB_PATH="${libpath}/$(tc-arch)"
+ break
+ fi
+ done
+
+ if [[ -z "${AWT_LIB_PATH}" ]]; then
+ eerror "${JAWTSO} not found in the JDK being used for compilation!"
+ die "cannot build AWT library"
+ fi
+
+ # Fix the pointer size for AMD64
+ export SWT_PTR_CFLAGS=-DJNI64
+
+ # Bug #461784, g_thread_init is deprecated since glib-2.32.
+ append-cflags -DNO__1g_1thread_1init
+
+ local make="emake -f make_linux.mak NO_STRIP=y CC=$(tc-getCC) CXX=$(tc-getCXX)"
+
+ einfo "Building AWT library"
+ export SWT_JAVA_HOME="$(java-config -g JAVA_HOME)"
+ ${make} make_awt AWT_LIBS="-L\$(AWT_LIB_PATH) -Wl,-rpath,\$(AWT_LIB_PATH) -ljawt \`pkg-config --libs x11\`"
+
+ einfo "Building SWT library"
+ ${make} make_swt
+
+ einfo "Building JAVA-AT-SPI bridge"
+ ${make} make_atk
+
+ if use cairo ; then
+ einfo "Building CAIRO support"
+ ${make} make_cairo
+ fi
+
+ if use opengl ; then
+ einfo "Building OpenGL component"
+ ${make} make_glx
+ fi
+
+ if use webkit ; then
+ einfo "Building WebKit component"
+ ${make} make_webkit
+ fi
+
+ java-pkg-simple_src_compile
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ java-pkg_sointo "/usr/$(get_libdir)/swt"
+ java-pkg_doso *.so
+}
diff --git a/dev-java/swt/swt-4.30-r1.ebuild b/dev-java/swt/swt-4.30-r1.ebuild
new file mode 100644
index 000000000000..f0ea9b557f4b
--- /dev/null
+++ b/dev-java/swt/swt-4.30-r1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit flag-o-matic java-pkg-2 java-pkg-simple toolchain-funcs
+
+MY_PV="${PV/_rc/RC}"
+MY_DMF="https://download.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-202312010110"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="GTK based SWT Library"
+HOMEPAGE="https://www.eclipse.org/swt/"
+SRC_URI="
+ amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip )
+ arm64? ( ${MY_DMF}/${MY_P}-gtk-linux-aarch64.zip )
+ ppc64? ( ${MY_DMF}/${MY_P}-gtk-linux-ppc64le.zip )"
+
+LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1"
+SLOT="4.30"
+KEYWORDS="amd64 arm64 ppc64"
+IUSE="cairo opengl webkit"
+
+COMMON_DEP="
+ app-accessibility/at-spi2-core:2
+ dev-libs/glib
+ x11-libs/gtk+:3
+ x11-libs/libXtst
+ cairo? ( x11-libs/cairo )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ webkit? (
+ net-libs/webkit-gtk:4.1
+ )"
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-17:*[-headless-awt]
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst"
+# error: pattern matching in instanceof is not supported in -source 11
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-17:*"
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+
+HTML_DOCS=( about.html )
+
+JAVA_RESOURCE_DIRS="resources"
+JAVA_SRC_DIR="src"
+
+PATCHES=(
+ "${FILESDIR}/swt-4.27-as-needed-and-flag-fixes.patch"
+)
+
+src_unpack() {
+ default
+ unpack "./src.zip"
+}
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+ # .css stuff is essential at least for running net-p2p/biglybt
+ unzip swt.jar 'org/eclipse/swt/internal/gtk/*.css' -d resources || die
+ java-pkg_clean
+ mkdir src || die "mkdir failed"
+ mv org src || die "moving java sources failed"
+ pushd src > /dev/null || die
+ find -type f ! -name '*.java' \
+ | xargs \
+ cp --parent -t ../resources -v \
+ || die "copying resources failed"
+ popd > /dev/null || die
+ cp version.txt resources || die "adding version.txt failed"
+}
+
+src_compile() {
+ append-cflags -fcommon # https://bugs.gentoo.org/707838
+
+ local JAWTSO="libjawt.so"
+ IFS=":" read -r -a ldpaths <<< $(java-config -g LDPATH)
+
+ for libpath in "${ldpaths[@]}"; do
+ if [[ -f "${libpath}/${JAWTSO}" ]]; then
+ export AWT_LIB_PATH="${libpath}"
+ break
+ # this is a workaround for broken LDPATH in <=openjdk-8.292_p10 and <=dev-java/openjdk-bin-8.292_p10
+ elif [[ -f "${libpath}/$(tc-arch)/${JAWTSO}" ]]; then
+ export AWT_LIB_PATH="${libpath}/$(tc-arch)"
+ break
+ fi
+ done
+
+ if [[ -z "${AWT_LIB_PATH}" ]]; then
+ eerror "${JAWTSO} not found in the JDK being used for compilation!"
+ die "cannot build AWT library"
+ fi
+
+ # Fix the pointer size for AMD64
+ export SWT_PTR_CFLAGS=-DJNI64
+
+ # Bug #461784, g_thread_init is deprecated since glib-2.32.
+ append-cflags -DNO__1g_1thread_1init
+
+ local make="emake -f make_linux.mak NO_STRIP=y CC=$(tc-getCC) CXX=$(tc-getCXX)"
+
+ einfo "Building AWT library"
+ export SWT_JAVA_HOME="$(java-config -g JAVA_HOME)"
+ ${make} make_awt AWT_LIBS="-L\$(AWT_LIB_PATH) -Wl,-rpath,\$(AWT_LIB_PATH) -ljawt \`pkg-config --libs x11\`"
+
+ einfo "Building SWT library"
+ ${make} make_swt
+
+ einfo "Building JAVA-AT-SPI bridge"
+ ${make} make_atk
+
+ if use cairo ; then
+ einfo "Building CAIRO support"
+ ${make} make_cairo
+ fi
+
+ if use opengl ; then
+ einfo "Building OpenGL component"
+ ${make} make_glx
+ fi
+
+ if use webkit ; then
+ einfo "Building WebKit component"
+ ${make} make_webkit
+ fi
+
+ java-pkg-simple_src_compile
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ java-pkg_sointo "/usr/$(get_libdir)/swt"
+ java-pkg_doso *.so
+}
diff --git a/dev-java/swt/swt-4.31.ebuild b/dev-java/swt/swt-4.31.ebuild
new file mode 100644
index 000000000000..bcfb034a7ae1
--- /dev/null
+++ b/dev-java/swt/swt-4.31.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit flag-o-matic java-pkg-2 java-pkg-simple toolchain-funcs
+
+MY_PV="${PV/_rc/RC}"
+MY_DMF="https://download.eclipse.org/eclipse/downloads/drops4/R-${MY_PV}-202402290520"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="GTK based SWT Library"
+HOMEPAGE="https://www.eclipse.org/swt/"
+SRC_URI="
+ amd64? ( ${MY_DMF}/${MY_P}-gtk-linux-x86_64.zip )
+ arm64? ( ${MY_DMF}/${MY_P}-gtk-linux-aarch64.zip )
+ ppc64? ( ${MY_DMF}/${MY_P}-gtk-linux-ppc64le.zip )"
+S="${WORKDIR}/library"
+
+LICENSE="CPL-1.0 LGPL-2.1 MPL-1.1"
+SLOT="4.31"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="cairo opengl webkit"
+
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+COMMON_DEP="
+ app-accessibility/at-spi2-core:2
+ dev-libs/glib
+ x11-libs/gtk+:3
+ x11-libs/libXtst
+ cairo? ( x11-libs/cairo )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ webkit? (
+ net-libs/webkit-gtk:4.1
+ )"
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-17:*[-headless-awt]
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst"
+# error: pattern matching in instanceof is not supported in -source 11
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-17:*"
+
+HTML_DOCS=( ../about.html )
+
+JAVA_RESOURCE_DIRS="../resources"
+JAVA_SRC_DIR="../src"
+
+PATCHES=(
+ "${FILESDIR}/swt-4.27-as-needed-and-flag-fixes.patch"
+)
+
+src_unpack() {
+ default
+ unpack "./src.zip"
+}
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ # .css stuff is essential at least for running net-p2p/biglybt
+ unzip ../swt.jar 'org/eclipse/swt/internal/gtk/*.css' -d resources || die
+ java-pkg_clean
+ cd .. || die
+ mkdir resources src || die "mkdir failed"
+ find org -type f -name '*.java' \
+ | xargs \
+ cp --parent -t src -v \
+ || die "copying resources failed"
+ find org -type f ! -name '*.java' \
+ | xargs \
+ cp --parent -t resources -v \
+ || die "copying resources failed"
+ cp version.txt resources || die "adding version.txt failed"
+}
+
+src_compile() {
+ append-cflags -fcommon # https://bugs.gentoo.org/707838
+
+ local JAWTSO="libjawt.so"
+ IFS=":" read -r -a ldpaths <<< $(java-config -g LDPATH)
+
+ for libpath in "${ldpaths[@]}"; do
+ if [[ -f "${libpath}/${JAWTSO}" ]]; then
+ export AWT_LIB_PATH="${libpath}"
+ break
+ # this is a workaround for broken LDPATH in <=openjdk-8.292_p10 and <=dev-java/openjdk-bin-8.292_p10
+ elif [[ -f "${libpath}/$(tc-arch)/${JAWTSO}" ]]; then
+ export AWT_LIB_PATH="${libpath}/$(tc-arch)"
+ break
+ fi
+ done
+
+ if [[ -z "${AWT_LIB_PATH}" ]]; then
+ eerror "${JAWTSO} not found in the JDK being used for compilation!"
+ die "cannot build AWT library"
+ fi
+
+ # Fix the pointer size for AMD64
+ export SWT_PTR_CFLAGS=-DJNI64
+
+ # Bug #461784, g_thread_init is deprecated since glib-2.32.
+ append-cflags -DNO__1g_1thread_1init
+
+ local make="emake -f make_linux.mak NO_STRIP=y CC=$(tc-getCC) CXX=$(tc-getCXX)"
+
+ einfo "Building AWT library"
+ export SWT_JAVA_HOME="$(java-config -g JAVA_HOME)"
+ ${make} make_awt AWT_LIBS="-L\$(AWT_LIB_PATH) -Wl,-rpath,\$(AWT_LIB_PATH) -ljawt \`pkg-config --libs x11\`"
+
+ einfo "Building SWT library"
+ ${make} make_swt
+
+ einfo "Building JAVA-AT-SPI bridge"
+ ${make} make_atk
+
+ if use cairo ; then
+ einfo "Building CAIRO support"
+ ${make} make_cairo
+ fi
+
+ if use opengl ; then
+ einfo "Building OpenGL component"
+ ${make} make_glx
+ fi
+
+ if use webkit ; then
+ einfo "Building WebKit component"
+ ${make} make_webkit
+ fi
+
+ java-pkg-simple_src_compile
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ java-pkg_sointo "/usr/$(get_libdir)/swt"
+ java-pkg_doso *.so
+}
diff --git a/dev-java/system-rules/system-rules-1.19.0.ebuild b/dev-java/system-rules/system-rules-1.19.0.ebuild
index 9a34360a9a1c..c87c5005b7ab 100644
--- a/dev-java/system-rules/system-rules-1.19.0.ebuild
+++ b/dev-java/system-rules/system-rules-1.19.0.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/stefanbirkner/${PN}/archive/${P}.tar.gz"
LICENSE="CPL-1.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
# Common dependencies
# POM: pom.xml
diff --git a/dev-java/testng/Manifest b/dev-java/testng/Manifest
index 310f28a1c68c..0c4ed92063e4 100644
--- a/dev-java/testng/Manifest
+++ b/dev-java/testng/Manifest
@@ -1 +1,5 @@
-DIST testng-6.9.10.tar.gz 6271781 BLAKE2B 5b77f4b1d9bfdca6749a1d33f465a30bcd9ab9dd9fc37abf8148301c24d6bf287224d9886c0f681deac54e12f9460139ce2a2058b3d160c05cf8fcb9f7808373 SHA512 ed9ad1ced20904ab261d2a233f3fa43ee1ea31778e992cdd27459811b256a6998d8385dd01ff72821133208a1fbd72aa3599a4b8bc0eb4d7b696d34593f9567e
+DIST apache-groovy-binary-2.4.21.zip 37467992 BLAKE2B e0f925bad53f0f8a7012f0bea420ec3e5986118cc23cd677a11f619284754eacc15c3012cf780063fef574053781bba924a86e5fa2ac284d86f349ad18173704 SHA512 e2f73405d7521b99e3ce5622cffcc505bbc039ccb1c35696fc895d648a9325937a136cf97a229f7ac1b90b63ad8603881350c4d41e514ad45233fb333d76d510
+DIST groovy-all-2.4.7.jar 7015434 BLAKE2B 23d22ddd78229c485ed9384169acee154258644249b856661e17d1d0efb5518e32473a26962b5d657a09b41d490813ed76254820ffdf39e83869209617b66c2d SHA512 4c26ff9f7137c0506c95f7ba1d4228ce57e16d87b77dd1d114390224207d71d3958460c7b5a239d5f41596ab87e7f4aa7aaea1dfce19a50badf8f9b818329c54
+DIST jquery-3.5.1.jar 313070 BLAKE2B 76abfbd21d83f72a3cfcb666f3a2fcfcf5975e723a462996bac9701caf6b59cb9998746af713ebb1f6bfe49cce91544216cc65dc6819e95e8a15930744685415 SHA512 9f560415b36875958ff1d3c6d37fa79d6d134c5f5fc7719dd21db36d1f24dec39787834b2a9ffb104ec6b56e725ccc524a8ff9b189ced3d68e24296b2daae720
+DIST spock-core-1.0-groovy-2.4.jar 588030 BLAKE2B 68d8fad8b6ffb45a18778797ea23d4f3b09256bf4e9f207ee666d07572399cd13522e6f1590219a80e23f6906a2e9eaf1f22c6a3c01717e8c1e99b5d37b89210 SHA512 078c0b16688eaa3134043e58ed4273981797ea92f08723b5508c7d7e4f635278dd5ca731fb294da2a1f35674623d969ee423d4344c2c822e1d4cb8d4f3383790
+DIST testng-6.11.tar.gz 677522 BLAKE2B 2e7bf30fcf805cce5a7ec42f22c39e9f4678642fcde9752c51d118e655189805661edeeff1a3db0e960c79e7542fe25ab8fa6995f142da12b3adc8753fd8a361 SHA512 996d7a18399e16626756b7a790182c7b6bf3453280209d0a09d4a509d698fcad1a80e58ec36702de95bd59c90c237463719ad44934c14390620fc9655d871252
diff --git a/dev-java/testng/metadata.xml b/dev-java/testng/metadata.xml
index 43f8b5d27805..f79c946be086 100644
--- a/dev-java/testng/metadata.xml
+++ b/dev-java/testng/metadata.xml
@@ -6,6 +6,6 @@
<name>Java</name>
</maintainer>
<upstream>
- <remote-id type="github">cbeust/testng</remote-id>
+ <remote-id type="github">testng-team/testng</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/testng/testng-6.11-r1.ebuild b/dev-java/testng/testng-6.11-r1.ebuild
new file mode 100644
index 000000000000..78aaa96fb37f
--- /dev/null
+++ b/dev-java/testng/testng-6.11-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.testng:testng:6.11"
+JAVA_TESTING_FRAMEWORKS="testng"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Testing framework inspired by JUnit and NUnit with new features"
+HOMEPAGE="https://testng.org/"
+# Presently we install the binary version of jquery since it is not packaged in ::gentoo.
+JQV="3.5.1"
+# Currently we bundle the binary versions of spock-core, groovy-all and apache-groovy-binary.
+# These are used only for tests, we don't install them.
+SCV="1.0-groovy-2.4"
+GAV="2.4.7"
+AGV="2.4.21"
+SRC_URI="https://github.com/testng-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://repo1.maven.org/maven2/org/webjars/jquery/${JQV}/jquery-${JQV}.jar
+ test? (
+ https://repo1.maven.org/maven2/org/spockframework/spock-core/${SCV}/spock-core-${SCV}.jar
+ https://repo1.maven.org/maven2/org/codehaus/groovy/groovy-all/${GAV}/groovy-all-${GAV}.jar
+ https://downloads.apache.org/groovy/${AGV}/distribution/apache-groovy-binary-${AGV}.zip
+ )"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+SLOT="0"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14-r3:0
+ dev-java/bsh:0
+ dev-java/guice:4
+ dev-java/jcommander:1.64
+ dev-java/junit:4
+ dev-java/snakeyaml:0
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/assertj-core:3
+ dev-java/guava:0
+ )"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="app-arch/unzip"
+
+DOCS=( README {ANNOUNCEMENT,CHANGES}.txt )
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="assertj-core-3"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_RUN_ONLY="src/test/resources/testng.xml"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./src/*"
+
+ rm src/main/resources/META-INF/MANIFEST.MF || die
+}
+
+src_test() {
+ # This contains the compiler groovyc
+ unzip "${DISTDIR}/apache-groovy-binary-${AGV}.zip"
+
+ JAVA_GENTOO_CLASSPATH_EXTRA=":${DISTDIR}/spock-core-${SCV}.jar"
+
+ ejavac -cp "${JAVA_TEST_SRC_DIR}:${PN}.jar:$(java-pkg_getjars guava)" \
+ src/test/java/test/SimpleBaseTest.java || die
+
+ # java-pkg-simple.eclass expects generated test classes in this
+ # directory and will copy them to target/test-classes
+ mkdir generated-test || die "cannot create generated-test directory"
+ "groovy-${AGV}/bin/groovyc" \
+ -cp "${JAVA_TEST_SRC_DIR}:${DISTDIR}/spock-core-${SCV}.jar" \
+ -d generated-test \
+ src/test/groovy/test/groovy/* || die
+
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${DISTDIR}/groovy-all-${GAV}.jar"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_dolauncher ${PN} --main org.testng.TestNG
+
+ java-pkg_newjar "${DISTDIR}/jquery-${JQV}.jar" jquery.jar
+ java-pkg_regjar "${ED}/usr/share/${PN}/lib/jquery.jar"
+
+ java-pkg_register-ant-task
+}
diff --git a/dev-java/testng/testng-6.9.10-r1.ebuild b/dev-java/testng/testng-6.9.10-r1.ebuild
deleted file mode 100644
index 03d59cd025a7..000000000000
--- a/dev-java/testng/testng-6.9.10-r1.ebuild
+++ /dev/null
@@ -1,70 +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"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Testing framework inspired by JUnit and NUnit with new features"
-HOMEPAGE="https://testng.org/"
-SRC_URI="https://github.com/cbeust/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="Apache-2.0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-SLOT="0"
-IUSE="test"
-RESTRICT="test" # Occasionally fail or run *REALLY* slowly.
-
-CDEPEND="dev-java/bsh:0
- dev-java/guice:4
- dev-java/junit:4
- dev-java/ant-core:0
- dev-java/snakeyaml:0
- dev-java/jcommander:0"
-
-DEPEND="${CDEPEND}
- >=virtual/jdk-1.8:*
- test? ( dev-java/assertj-core:2 )"
-
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${P}"
-JAVA_SRC_DIR="src/main/java"
-JAVA_GENTOO_CLASSPATH="ant-core,bsh,guice-4,jcommander,junit-4,snakeyaml"
-
-src_prepare() {
- default
- java-pkg_clean ! -path "./src/*"
-
- cp -v src/generated/java/org/testng/internal/VersionTemplateJava \
- src/main/java/org/testng/internal/Version.java || die
-}
-
-src_compile() {
- java-pkg-simple_src_compile
- java-pkg_addres ${PN}.jar src/main/resources
-}
-
-src_test() {
- local DIR=src/test/java
- local RES=src/test/resources
- local CP=${PN}.jar:$(java-pkg_getjars --with-dependencies "${JAVA_GENTOO_CLASSPATH},assertj-core-2")
-
- ejavac -cp "${CP}" -d ${DIR} $(find ${DIR} -name "*.java")
- java -cp "${RES}:${DIR}:${CP}" -Dtest.resources.dir=${RES} org.testng.TestNG -listener test.invokedmethodlistener.MyListener src/test/resources/testng.xml || die
-}
-
-src_install() {
- java-pkg-simple_src_install
- java-pkg_dolauncher ${PN} --main org.testng.TestNG
- java-pkg_register-ant-task
-
- dodoc {ANNOUNCEMENT,CHANGES,TODO}.txt
-
- if use doc; then
- docinto html
- dodoc -r doc
- fi
-}
diff --git a/dev-java/tomcat-native/Manifest b/dev-java/tomcat-native/Manifest
index ecfe1a24808b..7aace8ac6336 100644
--- a/dev-java/tomcat-native/Manifest
+++ b/dev-java/tomcat-native/Manifest
@@ -1 +1,4 @@
-DIST tomcat-native-1.2.35-src.tar.gz 436593 BLAKE2B 808ed0396e421609092f9e59676a55501e67fef7b0ca466ad15e4fe11cc88abb8b07043364c63a53760052a6258585aa13a53378c3fb8823bc8349371ad12245 SHA512 a290eb0cd940e1f8de0caba72517d9999d4e9c96f1a19e0ef7ccdabf039ba86b48d1c6f554f59decd87e2ef03ec3e3bfcce694a92e1db130966987c1e37b5c8d
+DIST tomcat-native-1.3.0-src.tar.gz 345276 BLAKE2B 73e8433e12bdd88036509f4ffbd2c0ed25b367567728829a56918d082627d43643865c492f4bc8eac4551e2ed82648ada71e6decfb45c173a856ab2fda6e01a5 SHA512 5a6c7337280774525c97e36e24d7d278ba15edd63c66cec1b3e5ecdc472f8d0535e31eac83cf0bdc68810eb779e2a118d6b4f6238b509f69a71d037c905fa433
+DIST tomcat-native-1.3.0-src.tar.gz.asc 833 BLAKE2B b7e05447643000ffda0d66143c199192b41843f10ae89874c353d613f612a6d481be3081aa971b640a3bedc6c903be7d052c418e2abc2d7d6db42924c7b3cf91 SHA512 9cfc137cd13086ccf421376a006164e6e6e14844636457db0cf7c0f699a1b1ceab28a52bd80da71dc9e190bdf84676abfdbe07a0cabecfc59b7845ac82a171e5
+DIST tomcat-native-2.0.7-src.tar.gz 538131 BLAKE2B ef973c830e3e3e04f4bf7bd711915b1ac5f28e34832edd0750117a5d6b00f9a7fa9e390858d23bfaeeb08ad825d7dcc1e95967c00d4ada96cac83377fca7bea6 SHA512 625b334271494f7c86c06d6a8c6d13c06d9d6094f65cccbdc8d3df13ee2aae4cb42ad326e20bcbf8a8f141240111778991882f9bf87793b09a2920433d6c8c85
+DIST tomcat-native-2.0.7-src.tar.gz.asc 833 BLAKE2B 081f40de6fdc5ad819a167e0150a2e03ab8d4fd679be0dbabac9a9f2aabffd2fa36fd6a9c764deefd419576dcda07bc1b22ea2f14c04eddbfa7f94e4834bec7e SHA512 16a96a3c3b55d258ad0820c30392f37643f433c563b74a983109492569d06a399471acc42c7f07b87b50bff8711bc10ed278bfa183807bcdde1355e6b8058605
diff --git a/dev-java/tomcat-native/files/tomcat-native-1.2.39-slibtool.patch b/dev-java/tomcat-native/files/tomcat-native-1.2.39-slibtool.patch
new file mode 100644
index 000000000000..e193a0ffd905
--- /dev/null
+++ b/dev-java/tomcat-native/files/tomcat-native-1.2.39-slibtool.patch
@@ -0,0 +1,26 @@
+From 54dccd3a4dc01801d9311b3160808305ec9fc2cf Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Thu, 21 Jul 2022 17:59:14 -0700
+Subject: [PATCH] native: Fix the build with rlibtool
+
+When building tomcat-native with slibtool using the rlibtool symlink the
+build will fail. This is because rlibtool requires the generated libtool
+script to determine if the build is shared, static or both.
+
+Gentoo bug: https://bugs.gentoo.org/778914
+---
+ native/configure.in | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/configure.in
++++ b/configure.in
+@@ -50,6 +50,9 @@ AC_SUBST(TCN_CONFIG_LOCATION)
+ AC_CANONICAL_TARGET
+ AC_PROG_INSTALL
+
++dnl Generate the libtool script which is needed for rlibtool
++LT_INIT
++
+ dnl
+ dnl compute the top directory of the build
+ dnl note: this is needed for LIBTOOL and exporting the bundled Expat
diff --git a/dev-java/tomcat-native/metadata.xml b/dev-java/tomcat-native/metadata.xml
index 4b8ef469c364..1989b45b9137 100644
--- a/dev-java/tomcat-native/metadata.xml
+++ b/dev-java/tomcat-native/metadata.xml
@@ -16,9 +16,9 @@
memory, NT pipes and Unix sockets).
</longdescription>
<upstream>
- <remote-id type="github">apache/tomcat-native</remote-id>
<bugs-to>https://tomcat.apache.org/bugreport.html</bugs-to>
- <doc>https://tomcat.apache.org/native-1.2-doc/</doc>
- <changelog>https://tomcat.apache.org/native-1.2-doc/miscellaneous/changelog.html</changelog>
+ <doc>https://tomcat.apache.org/native-doc/</doc>
+ <changelog>https://tomcat.apache.org/native-doc/miscellaneous/changelog.html</changelog>
+ <remote-id type="github">apache/tomcat-native</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/tomcat-native/tomcat-native-1.2.35.ebuild b/dev-java/tomcat-native/tomcat-native-1.2.35.ebuild
deleted file mode 100644
index ee306543bfbe..000000000000
--- a/dev-java/tomcat-native/tomcat-native-1.2.35.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Allows Tomcat to use certain native resources for better performance"
-HOMEPAGE="https://tomcat.apache.org/native-doc/"
-SRC_URI="mirror://apache/tomcat/tomcat-connectors/native/${PV}/source/${P}-src.tar.gz"
-
-KEYWORDS="amd64 ~x86"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-libs/apr:1=
- dev-libs/openssl:0=
- >=virtual/jre-1.8:*"
-
-DEPEND=">=virtual/jdk-1.8:*
- test? ( dev-java/ant-junit:0 )"
-
-S=${WORKDIR}/${P}-src
-
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-
-src_configure() {
- local myeconfargs=(
- --with-apr="${EPREFIX}"/usr/bin/apr-1-config
- --with-ssl="${EPREFIX}"/usr
- )
-
- cd native || die
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- eant jar
-
- cd native || die
- default
-}
-
-src_install() {
- java-pkg_newjar "dist/${P}.jar" "${PN}.jar"
-
- cd native || die
- default
-
- ! use static-libs && find "${D}" -name '*.la' -delete || die
-}
-
-src_test() {
- java-pkg-2_src_test
-}
-
-pkg_postinst() {
- elog "For more information, please visit"
- elog "https://tomcat.apache.org/tomcat-9.0-doc/apr.html"
-}
diff --git a/dev-java/tomcat-native/tomcat-native-1.3.0.ebuild b/dev-java/tomcat-native/tomcat-native-1.3.0.ebuild
new file mode 100644
index 000000000000..d560c27c933d
--- /dev/null
+++ b/dev-java/tomcat-native/tomcat-native-1.3.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Allows Tomcat to use certain native resources for better performance"
+HOMEPAGE="https://tomcat.apache.org/native-doc/"
+SRC_URI="mirror://apache/tomcat/tomcat-connectors/native/${PV}/source/${P}-src.tar.gz
+ verify-sig? (
+ https://downloads.apache.org/tomcat/tomcat-connectors/native/${PV}/source/${P}-src.tar.gz.asc
+ )"
+S=${WORKDIR}/${P}-src/native
+
+KEYWORDS="amd64 ~x86"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="static-libs"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+"
+RDEPEND="
+ dev-libs/apr:1=
+ dev-libs/openssl:0/3
+ >=virtual/jre-1.8:*
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-tomcat-connectors )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-connectors.apache.org.asc"
+
+JAVA_RESOURCE_DIRS="../resources"
+JAVA_SRC_DIR="../java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="../test"
+
+DOCS=( ../{CHANGELOG.txt,NOTICE,README.txt} )
+PATCHES=( "${FILESDIR}/tomcat-native-1.2.39-slibtool.patch" )
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ mkdir -p "${JAVA_RESOURCE_DIRS}/META-INF" || die
+ sed -ne '/attribute name/s:^.*name="\(.*\)" value="\(.*\)".*$:\1\: \2:p' \
+ ../build.xml \
+ | sed "s:\${version}:${PV}:" \
+ > "${JAVA_RESOURCE_DIRS}/META-INF/MANIFEST.MF" || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-apr="${EPREFIX}"/usr/bin/apr-1-config
+ --with-ssl="${EPREFIX}"/usr
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+ default
+}
+
+src_test() {
+ # Adjusting "String testFile =" path in TestFile.java:29 to match ${S}
+ sed \
+ -e '/String testFile =/s&test/&../test/&' \
+ -i ../test/org/apache/tomcat/jni/TestFile.java || die
+
+ JAVA_TEST_EXTRA_ARGS=( -Djava.library.path=".libs" )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_doso .libs/*.so*
+ dodoc -r ../docs
+ ! use static-libs && find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ elog "For more information, please visit"
+ elog "https://tomcat.apache.org/tomcat-9.0-doc/apr.html"
+}
diff --git a/dev-java/tomcat-native/tomcat-native-2.0.7.ebuild b/dev-java/tomcat-native/tomcat-native-2.0.7.ebuild
new file mode 100644
index 000000000000..9507ee4750e0
--- /dev/null
+++ b/dev-java/tomcat-native/tomcat-native-2.0.7.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Allows Tomcat to use certain native resources for better performance"
+HOMEPAGE="https://tomcat.apache.org/native-doc/"
+SRC_URI="mirror://apache/tomcat/tomcat-connectors/native/${PV}/source/${P}-src.tar.gz
+ verify-sig? (
+ https://downloads.apache.org/tomcat/tomcat-connectors/native/${PV}/source/tomcat-native-${PV}-src.tar.gz.asc
+ )"
+S=${WORKDIR}/${P}-src/native
+
+KEYWORDS="amd64 ~x86"
+LICENSE="Apache-2.0"
+SLOT="2"
+IUSE="static-libs"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+"
+RDEPEND="
+ dev-libs/apr:1=
+ dev-libs/openssl:0/3
+ >=virtual/jre-1.8:*
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-tomcat-connectors )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-connectors.apache.org.asc"
+
+JAVA_RESOURCE_DIRS="../resources"
+JAVA_SRC_DIR="../java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="../test"
+
+DOCS=( ../{CHANGELOG.txt,NOTICE,README.txt} )
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ mkdir -p "${JAVA_RESOURCE_DIRS}/META-INF" || die
+ sed -ne '/attribute name/s:^.*name="\(.*\)" value="\(.*\)".*$:\1\: \2:p' \
+ ../build.xml \
+ | sed "s:\${version}:${PV}:" \
+ > "${JAVA_RESOURCE_DIRS}/META-INF/MANIFEST.MF" || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-apr="${EPREFIX}"/usr/bin/apr-1-config
+ --with-ssl="${EPREFIX}"/usr
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+ default
+}
+
+src_test() {
+ JAVA_TEST_EXTRA_ARGS=( -Djava.library.path=".libs" )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_doso .libs/*.so*
+ dodoc -r ../docs
+ ! use static-libs && find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ elog "For more information, please visit"
+ elog "https://tomcat.apache.org/tomcat-9.0-doc/apr.html"
+}
diff --git a/dev-java/tomcat-servlet-api/Manifest b/dev-java/tomcat-servlet-api/Manifest
index 97b7ef4be611..7c6f93cc9a8d 100644
--- a/dev-java/tomcat-servlet-api/Manifest
+++ b/dev-java/tomcat-servlet-api/Manifest
@@ -1,10 +1 @@
-DIST apache-tomcat-10.0.23-src.tar.gz 6136614 BLAKE2B 4eaf963187b9a754ed459d7f85e6f7d329927b949bb4a390a602cdc6651aa037aeec559c511ddb9880b6ec4d7cd97b96d82da341509370e412e1b21b799d8c2e SHA512 19ec026bae75318e9ffbe2e619ad2e12ec116382ea88a1064696275afb3fd13e6f08efe497dde79689bfc828f76e27d114ad3a9284b79c8d956a6a85bdac6360
-DIST apache-tomcat-10.0.26-src.tar.gz 6153701 BLAKE2B fb16f83cf71dc97f21739c3714d2d3d201aa6b6b4242c351fabfc04ee767e59b6e376c7c8984dcda12d6942835221c55d4451b2d0a1245a2dbb73636c93da47c SHA512 f66387a3ca67b6b3df8504c4ae089e8f30e389811a8d0b7d2241e115b8cf712a38f3d0fea938cef7fa9745f412aa70ad47840e40e2385fbd1435b636e93b45b4
-DIST apache-tomcat-10.1.0-src.tar.gz 6060833 BLAKE2B 49f36131c1e809b298ac915e671b9f4df55b55c2ba34d21ee3fdeb8759ddaf53a6780b177e8049446079d91186c52669969f30762ddf776d9f8615e527d5a975 SHA512 08323eec0403473fa97f419d7911980c3dfe7b1607a64741bbe972a737dfa70ea04ea80ca9ab28bf72bdde9d24cf8f7161eeb8b194204c777d1628d00c78611c
DIST apache-tomcat-4.1.40-src.tar.gz 3709719 BLAKE2B f7ca82052c1148a5c384fcbc3871beeddccdb4cfed05ba176581ebb50f52ba867bed8dbc500e97b7348a3a87b9693fb73eb81209df4f31e8c1ced7e30a6af30b SHA512 c455fa3da9da8fcbf1d54ae5dce808f8a4520ccafd627a6b2d1b003c37e8395d8b2a55d5471bf6c196549d082715862b3b8958aef88613293a07fc0160aa5c6e
-DIST apache-tomcat-5.5.36-src.tar.gz 3743113 BLAKE2B dbfcfd123a23b0ceb9f1fdd936e42324ea8b10cf327a1d0abf1703006535859c7122690a08b5ec27b86b526cc7709a7199b4f35f123538ff11f23f3b489358f3 SHA512 845636b5b992fbbb7d657d192afbab1e6a924bfd0c71b025cf22776eb4527d92d63f9b3f33475d4349a0df4cebd984ba3776eedd7482b820abdea909e90a97b7
-DIST apache-tomcat-6.0.53-src.tar.gz 3522914 BLAKE2B 054b097c16861abaa8bdbeba713b49bc1dfcff573bb3f4bd0ff5807c33a2a0fb991af618f6e11e5b3ce3fa55c589fc6569342cab5d5a00349c79bc7061d81e40 SHA512 915a0a18f5c2883625c9441eed6465973eff4f6bf41e08e925c7edaea89ef8f6ee9476d3e06fa38228d4bcb4decaf53e3a7bdb7ec7e899e6250db3e12a9f5f2c
-DIST apache-tomcat-7.0.109-src.tar.gz 5314401 BLAKE2B 56583caea6879bf8ca5cc02a886de3d7af413032f88d367653e709dc1c8f590e78620c788317bbff4b6e65dd3e242cc26863164ac8e7c87334a22636f3ed0703 SHA512 ecf9c0bee0e3e1aa24f299fe633705c5a2f6aa264d9e4968cfc96aa5d0a425c2b0ff07765a8b6c67221766733bdfaed6e6c6377a8d0870d889e7063ce90a46ce
-DIST apache-tomcat-8.5.82-src.tar.gz 6011553 BLAKE2B ea34c0485877ace8c84144f0e75f370c0ac461b5b725d97a07e27014b7a14b1ab88fad4230d4fae60190d7bff3836f691615b57b9f085797477acc69560a57ce SHA512 3e0a0a808fb78493930ce8832731eba4ab3cc440387c3b5226ff6e4ac2faf5fd70eff1560d840d34f14a8acfd7e60fc8b7f638f3dbe0c0ed4569dc4271a9c3f2
-DIST apache-tomcat-9.0.65-src.tar.gz 6195265 BLAKE2B 13ca956b58e9f1831700f67d1fa8883f6471ab6b700b2af169bf284552658a4e9ad4130451b36976af4dd366cc987e228e0b0f98e688cccf577c626dfc78aae7 SHA512 3ff344370cc36f5bed389ed198054783a4f5bc86476a751cda280618457a06bae38c1e764b0c110c2f68efe2d34243a4e24596e8b90e8fbd171bf584a22fd3bc
-DIST apache-tomcat-9.0.67-src.tar.gz 6211392 BLAKE2B 273b921ce580be6fb76d8567e5b0aec01b936518875f8470c1cee4b159519f723e606680d9986f61fbbab79cea2d027195f3debe9af59dfac786b0d0566d7c02 SHA512 33319d70c50fde71d163f66dc388ed2d5855aa4f087f7e2259adc27cc7ed30ace079d81e52def43a904c88ac670bb0c71667938b931a214470d77679108914cc
diff --git a/dev-java/tomcat-servlet-api/files/2.5-build-r1.xml b/dev-java/tomcat-servlet-api/files/2.5-build-r1.xml
deleted file mode 100644
index 585ed9f07843..000000000000
--- a/dev-java/tomcat-servlet-api/files/2.5-build-r1.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<project name="Tomcat Serlvet API 2.5/JSP API 2.1" default="deploy" basedir=".">
-
- <property name="compile.source" value="1.5"/>
-
- <property name="tomcat.build" value="${basedir}/output/build"/>
- <property name="tomcat.classes" value="${basedir}/output/classes"/>
- <property name="servlet-api.jar" value="${tomcat.build}/lib/servlet-api.jar"/>
- <property name="jsp-api.jar" value="${tomcat.build}/lib/jsp-api.jar"/>
- <property name="el-api.jar" value="${tomcat.build}/lib/el-api.jar"/>
-
- <!-- Just build Tomcat -->
- <target name="build-prepare">
-
- <available classname="junit.framework.TestCase" property="junit.present" />
-
- <mkdir dir="${tomcat.build}"/>
- <mkdir dir="${tomcat.build}/lib"/>
- <mkdir dir="${tomcat.classes}"/>
-
- </target>
-
- <target name="compile">
-
- <!-- Compile internal server components -->
- <javac srcdir="java" destdir="${tomcat.classes}"
- debug="${compile.debug}"
- deprecation="${compile.deprecation}"
- source="${compile.source}"
- optimize="${compile.optimize}"
- excludes="**/CVS/**,**/.svn/**">
- <exclude name="java/javax/annotation/**" />
- <exclude name="java/javax/ejb/**" />
- <exclude name="java/javax/mail/**" />
- <exclude name="java/javax/persistence/**" />
- <exclude name="java/javax/xml/**" />
- <exclude name="org/**" />
- </javac>
- <tstamp>
- <format property="TODAY" pattern="MMM d yyyy" locale="en"/>
- <format property="TSTAMP" pattern="hh:mm:ss"/>
- </tstamp>
- <!-- Copy static resource files -->
- <filter token="VERSION" value="${version}"/>
- <filter token="VERSION_NUMBER" value="${version.number}"/>
- <filter token="VERSION_BUILT" value="${TODAY} ${TSTAMP}"/>
- <copy todir="${tomcat.classes}" filtering="true">
- <fileset dir="java">
- <include name="**/*.properties"/>
- <include name="**/*.dtd"/>
- <include name="**/*.tasks"/>
- <include name="**/*.xsd"/>
- <include name="**/*.xml"/>
- </fileset>
- </copy>
-
- </target>
-
- <target name="jar" depends="build-prepare,compile">
- <!-- Servlet 2.5 Implementation JAR File -->
- <jar jarfile="${servlet-api.jar}">
- <fileset dir="${tomcat.classes}">
- <include name="javax/servlet/*" />
- <include name="javax/servlet/http/*" />
- <include name="javax/servlet/resources/*" />
- <!-- Javadoc and i18n exclusions -->
- <exclude name="**/package.html" />
- <exclude name="**/LocalStrings_*" />
- </fileset>
- </jar>
-
- <!-- JSP 2.1 Implementation JAR File -->
- <jar jarfile="${jsp-api.jar}">
- <fileset dir="${tomcat.classes}">
- <include name="javax/servlet/jsp/**" />
- <!-- Javadoc and i18n exclusions -->
- <exclude name="**/package.html" />
- <exclude name="**/LocalStrings_*" />
- </fileset>
- </jar>
-
- <!-- JSP 2.1 EL Implementation JAR File -->
- <jar jarfile="${el-api.jar}">
- <fileset dir="${tomcat.classes}">
- <include name="javax/el/**" />
- </fileset>
- </jar>
-
- </target>
-
-</project>
diff --git a/dev-java/tomcat-servlet-api/files/jsp-api-2.0-manifest b/dev-java/tomcat-servlet-api/files/jsp-api-2.0-manifest
deleted file mode 100644
index dfaa006ea009..000000000000
--- a/dev-java/tomcat-servlet-api/files/jsp-api-2.0-manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Vendor: %vendorName
-Bundle-Localization: plugin
-Import-Package: javax.servlet; version=2.4,javax.servlet.http; version=2.4,javax.servlet.resources; version=2.4
-Export-Package: javax.servlet.jsp; version=2.0,javax.servlet.jsp.el; version=2.0, javax.servlet.jsp.resources; version=2.0,
- javax.servlet.jsp.tagext; version=2.0
-Bundle-Version: 2.0
-Bundle-SymbolicName: javax.servlet.jsp
-
diff --git a/dev-java/tomcat-servlet-api/files/servlet-api-2.4-manifest b/dev-java/tomcat-servlet-api/files/servlet-api-2.4-manifest
deleted file mode 100644
index 77e19f1d9ae8..000000000000
--- a/dev-java/tomcat-servlet-api/files/servlet-api-2.4-manifest
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundleName
-Bundle-Vendor: %vendorName
-Bundle-Localization: plugin
-Export-Package: javax.servlet;version="2.4",javax.servlet.http;version="2.4",javax.servlet.resources;version="2.4"
-Bundle-Version: 2.4.0
-Bundle-SymbolicName: javax.servlet
-
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.23.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.23.ebuild
deleted file mode 100644
index 0d28b0e15cd3..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.23.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_A="apache-${PN}-${PV}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 5.0/JSP API 3.0/EL API 4.0 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="mirror://apache/tomcat/tomcat-10/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="5.0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}/"
-
-JAVA_TEST_SRC_DIR="src/test"
-
-SERVLET_API_JAR="servlet-api.jar"
-SERVLET_API_SRC="src/main/servlet-api"
-SERVLET_API_RESOURCES="src/resources/servlet-api"
-EL_API_JAR="el-api.jar"
-EL_API_SRC="src/main/el-api"
-EL_API_RESOURCES="src/resources/el-api"
-JSP_API_JAR="jsp-api.jar"
-JSP_API_SRC="src/main/jsp-api"
-JSP_API_RESOURCES="src/resources/jsp-api"
-
-src_prepare() {
- default
-
- # The sources and also resources are mixed together so we first give it a structure to make it easier to compile and package
- mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
- ${EL_API_SRC} ${EL_API_RESOURCES} \
- ${JSP_API_SRC}/jakarta/servlet ${JSP_API_RESOURCES} \
- ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
-
- pushd java || die "Failed to cd to java dir"
-
- cp --parents -R jakarta/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
- mv "${S}/${SERVLET_API_SRC}/jakarta/servlet/jsp" "${S}/${JSP_API_SRC}/jakarta/servlet" || die "Failed to copy jsp-api sources"
- cp --parents -R jakarta/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
-
- popd
-
- for file in $(find src -type f | grep -vE "\.java$"); do
- target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
- mkdir -p ${target_dir} || die "Failed to create resource directory"
- mv $file ${target_dir} || die "Failed to move resource file"
- done
-
- mv test/jakarta ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- java-pkg-simple_src_install
-}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.26.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.26.ebuild
deleted file mode 100644
index acb0d6c5fcea..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.26.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_A="apache-${PN}-${PV}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 5.0/JSP API 3.0/EL API 4.0 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="mirror://apache/tomcat/tomcat-10/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="5.0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}/"
-
-JAVA_TEST_SRC_DIR="src/test"
-
-SERVLET_API_JAR="servlet-api.jar"
-SERVLET_API_SRC="src/main/servlet-api"
-SERVLET_API_RESOURCES="src/resources/servlet-api"
-EL_API_JAR="el-api.jar"
-EL_API_SRC="src/main/el-api"
-EL_API_RESOURCES="src/resources/el-api"
-JSP_API_JAR="jsp-api.jar"
-JSP_API_SRC="src/main/jsp-api"
-JSP_API_RESOURCES="src/resources/jsp-api"
-
-src_prepare() {
- default
-
- # The sources and also resources are mixed together so we first give it a structure to make it easier to compile and package
- mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
- ${EL_API_SRC} ${EL_API_RESOURCES} \
- ${JSP_API_SRC}/jakarta/servlet ${JSP_API_RESOURCES} \
- ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
-
- pushd java || die "Failed to cd to java dir"
-
- cp --parents -R jakarta/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
- mv "${S}/${SERVLET_API_SRC}/jakarta/servlet/jsp" "${S}/${JSP_API_SRC}/jakarta/servlet" || die "Failed to copy jsp-api sources"
- cp --parents -R jakarta/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
-
- popd
-
- for file in $(find src -type f | grep -vE "\.java$"); do
- target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
- mkdir -p ${target_dir} || die "Failed to create resource directory"
- mv $file ${target_dir} || die "Failed to move resource file"
- done
-
- mv test/jakarta ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- java-pkg-simple_src_install
-}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.1.0.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.1.0.ebuild
deleted file mode 100644
index cb931c0af8c5..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.1.0.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_A="apache-${PN}-${PV}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 6.0/JSP API 3.1/EL API 5.0 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="mirror://apache/tomcat/tomcat-10/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="6.0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-11:*"
-RDEPEND=">=virtual/jre-11:*"
-
-S="${WORKDIR}/${MY_P}/"
-
-JAVA_TEST_SRC_DIR="src/test"
-
-SERVLET_API_JAR="servlet-api.jar"
-SERVLET_API_SRC="src/main/servlet-api"
-SERVLET_API_RESOURCES="src/resources/servlet-api"
-EL_API_JAR="el-api.jar"
-EL_API_SRC="src/main/el-api"
-EL_API_RESOURCES="src/resources/el-api"
-JSP_API_JAR="jsp-api.jar"
-JSP_API_SRC="src/main/jsp-api"
-JSP_API_RESOURCES="src/resources/jsp-api"
-
-src_prepare() {
- default
-
- # The sources and also resources are mixed together so we first give it a structure to make it easier to compile and package
- mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
- ${EL_API_SRC} ${EL_API_RESOURCES} \
- ${JSP_API_SRC}/jakarta/servlet ${JSP_API_RESOURCES} \
- ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
-
- pushd java || die "Failed to cd to java dir"
-
- cp --parents -R jakarta/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
- mv "${S}/${SERVLET_API_SRC}/jakarta/servlet/jsp" "${S}/${JSP_API_SRC}/jakarta/servlet" || die "Failed to copy jsp-api sources"
- cp --parents -R jakarta/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
-
- popd
-
- for file in $(find src -type f | grep -vE "\.java$"); do
- target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
- mkdir -p ${target_dir} || die "Failed to create resource directory"
- mv $file ${target_dir} || die "Failed to move resource file"
- done
-
- mv test/jakarta ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- java-pkg-simple_src_install
-}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-4.1.40.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-4.1.40.ebuild
index 9a0975a36b7b..4cddc788557a 100644
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-4.1.40.ebuild
+++ b/dev-java/tomcat-servlet-api/tomcat-servlet-api-4.1.40.ebuild
@@ -15,7 +15,7 @@ DEPEND=">=virtual/jdk-1.8"
RDEPEND=">=virtual/jre-1.8"
LICENSE="Apache-2.0"
SLOT="2.3"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE=""
S="${WORKDIR}/${MY_P}/servletapi"
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-5.5.36.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-5.5.36.ebuild
deleted file mode 100644
index 45eff8f89957..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-5.5.36.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit java-pkg-2 java-ant-2 java-osgi
-
-MY_P="apache-${P/-servlet-api/}-src"
-DESCRIPTION="Tomcat's Servlet API 2.4/JSP API 2.0 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="https://archive.apache.org/dist/tomcat/tomcat-5/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2.4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="doc source"
-
-DEPEND=">=virtual/jdk-1.8
- source? ( app-arch/zip )"
-RDEPEND=">=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${MY_P}/servletapi"
-
-src_compile() {
- local antflags="jar $(use_doc javadoc examples)"
- eant ${antflags} -f jsr154/build.xml
- eant ${antflags} -f jsr152/build.xml
-}
-
-src_install() {
- mv jsr{154,152}/dist/lib/*.jar "${S}"
-
- if use doc ; then
- mkdir docs
- cd "${S}/jsr154/build"
- mv docs "${S}/docs/servlet"
- mv examples "${S}/docs/servlet/examples"
-
- cd "${S}/jsr152/build"
- mv docs "${S}/docs/jsp"
- mv examples "${S}/docs/jsp/examples"
- fi
-
- cd "${S}"
- java-osgi_dojar-fromfile --no-auto-version "jsp-api.jar" "${FILESDIR}/jsp-api-2.0-manifest" "Java Server Pages API Bundle"
- java-osgi_dojar-fromfile --no-auto-version "servlet-api.jar" "${FILESDIR}/servlet-api-2.4-manifest" "Servlet API Bundle"
- use doc && java-pkg_dohtml -r docs/*
- use source && java-pkg_dosrc jsr{152,154}/src/share/javax
-}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-6.0.53-r1.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-6.0.53-r1.ebuild
deleted file mode 100644
index dd8cbeacb915..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-6.0.53-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-ant-2
-
-MY_A="apache-${P}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 2.5/JSP API 2.1 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="https://archive.apache.org/dist/tomcat/tomcat-6/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2.5"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.8"
-RDEPEND=">=virtual/jre-1.8"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
-
- cp "${FILESDIR}/${SLOT}-build-r1.xml" build.xml || die "Could not replace build.xml"
- rm -r */*/build.xml java/javax/{annotation,ejb,mail,persistence,xml}/ || die
- find -name '*.jar' -delete || die
-}
-
-src_install() {
- java-pkg_dojar "${S}"/output/build/lib/*.jar
- use source && java-pkg_dosrc java/javax
-}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-7.0.109.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-7.0.109.ebuild
deleted file mode 100644
index 0a4f99352d99..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-7.0.109.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_A="apache-${P}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 3.0/JSP API 2.2 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="mirror://apache/tomcat/tomcat-7/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="3.0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.8"
-RDEPEND=">=virtual/jre-1.8"
-
-S="${WORKDIR}/${MY_P}/"
-
-JAVA_TEST_SRC_DIR="src/test"
-
-SERVLET_API_JAR="servlet-api.jar"
-SERVLET_API_SRC="src/main/servlet-api"
-SERVLET_API_RESOURCES="src/resources/servlet-api"
-EL_API_JAR="el-api.jar"
-EL_API_SRC="src/main/el-api"
-EL_API_RESOURCES="src/resources/el-api"
-JSP_API_JAR="jsp-api.jar"
-JSP_API_SRC="src/main/jsp-api"
-JSP_API_RESOURCES="src/resources/jsp-api"
-
-src_prepare() {
- default
-
- # The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
-
- mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
- ${EL_API_SRC} ${EL_API_RESOURCES} \
- ${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
- ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
-
- pushd java || die "Failed to cd to java dir"
-
- cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
- mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
- cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
-
- popd
-
- for file in $(find src -type f | grep -vE "\.java$"); do
- target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
- mkdir -p ${target_dir} || die "Failed to create resource directory"
- mv $file ${target_dir} || die "Failed to move resource file"
- done
-
- mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- java-pkg-simple_src_install
-}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-8.5.82.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-8.5.82.ebuild
deleted file mode 100644
index 888295412849..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-8.5.82.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_A="apache-${P}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 3.1/JSP API 2.3/EL API 3.0 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="mirror://apache/tomcat/tomcat-8/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="3.1"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}/"
-
-JAVA_TEST_SRC_DIR="src/test"
-
-SERVLET_API_JAR="servlet-api.jar"
-SERVLET_API_SRC="src/main/servlet-api"
-SERVLET_API_RESOURCES="src/resources/servlet-api"
-EL_API_JAR="el-api.jar"
-EL_API_SRC="src/main/el-api"
-EL_API_RESOURCES="src/resources/el-api"
-JSP_API_JAR="jsp-api.jar"
-JSP_API_SRC="src/main/jsp-api"
-JSP_API_RESOURCES="src/resources/jsp-api"
-
-src_prepare() {
- default
-
- # The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
-
- mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
- ${EL_API_SRC} ${EL_API_RESOURCES} \
- ${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
- ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
-
- pushd java || die "Failed to cd to java dir"
-
- cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
- mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
- cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
-
- popd
-
- for file in $(find src -type f | grep -vE "\.java$"); do
- target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
- mkdir -p ${target_dir} || die "Failed to create resource directory"
- mv $file ${target_dir} || die "Failed to move resource file"
- done
-
- mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- java-pkg-simple_src_install
-}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.65.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.65.ebuild
deleted file mode 100644
index f1c865a27bec..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.65.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="source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_A="apache-${PN}-${PV}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 4.0/JSP API 2.3/EL API 3.0 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="mirror://apache/tomcat/tomcat-9/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="4.0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}/"
-
-JAVA_TEST_SRC_DIR="src/test"
-
-SERVLET_API_JAR="servlet-api.jar"
-SERVLET_API_SRC="src/main/servlet-api"
-SERVLET_API_RESOURCES="src/resources/servlet-api"
-EL_API_JAR="el-api.jar"
-EL_API_SRC="src/main/el-api"
-EL_API_RESOURCES="src/resources/el-api"
-JSP_API_JAR="jsp-api.jar"
-JSP_API_SRC="src/main/jsp-api"
-JSP_API_RESOURCES="src/resources/jsp-api"
-
-src_prepare() {
- default
-
- # The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
-
- mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
- ${EL_API_SRC} ${EL_API_RESOURCES} \
- ${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
- ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
-
- pushd java || die "Failed to cd to java dir"
-
- cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
- mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
- cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
-
- popd
-
- for file in $(find src -type f | grep -vE "\.java$"); do
- target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
- mkdir -p ${target_dir} || die "Failed to create resource directory"
- mv $file ${target_dir} || die "Failed to move resource file"
- done
-
- mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- java-pkg-simple_src_install
-}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.67.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.67.ebuild
deleted file mode 100644
index 09fffd263372..000000000000
--- a/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.67.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="source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_A="apache-${PN}-${PV}-src"
-MY_P="${MY_A/-servlet-api/}"
-DESCRIPTION="Tomcat's Servlet API 4.0/JSP API 2.3/EL API 3.0 implementation"
-HOMEPAGE="https://tomcat.apache.org/"
-SRC_URI="mirror://apache/tomcat/tomcat-9/v${PV}/src/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="4.0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
-IUSE=""
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${MY_P}/"
-
-JAVA_TEST_SRC_DIR="src/test"
-
-SERVLET_API_JAR="servlet-api.jar"
-SERVLET_API_SRC="src/main/servlet-api"
-SERVLET_API_RESOURCES="src/resources/servlet-api"
-EL_API_JAR="el-api.jar"
-EL_API_SRC="src/main/el-api"
-EL_API_RESOURCES="src/resources/el-api"
-JSP_API_JAR="jsp-api.jar"
-JSP_API_SRC="src/main/jsp-api"
-JSP_API_RESOURCES="src/resources/jsp-api"
-
-src_prepare() {
- default
-
- # The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
-
- mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
- ${EL_API_SRC} ${EL_API_RESOURCES} \
- ${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
- ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
-
- pushd java || die "Failed to cd to java dir"
-
- cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
- mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
- cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
-
- popd
-
- for file in $(find src -type f | grep -vE "\.java$"); do
- target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
- mkdir -p ${target_dir} || die "Failed to create resource directory"
- mv $file ${target_dir} || die "Failed to move resource file"
- done
-
- mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
-
- java-pkg-2_src_prepare
-}
-
-src_compile() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_compile
- rm -fr target || die "Failed to remove compiled files"
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
- java-pkg-simple_src_compile
-}
-
-src_install() {
- JAVA_SRC_DIR="${SERVLET_API_SRC}"
- JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${EL_API_SRC}"
- JAVA_JAR_FILENAME="${EL_API_JAR}"
- java-pkg-simple_src_install
-
- JAVA_SRC_DIR="${JSP_API_SRC}"
- JAVA_JAR_FILENAME="${JSP_API_JAR}"
- java-pkg-simple_src_install
-}
diff --git a/dev-java/txw2/Manifest b/dev-java/txw2/Manifest
new file mode 100644
index 000000000000..b92f103a1e52
--- /dev/null
+++ b/dev-java/txw2/Manifest
@@ -0,0 +1 @@
+DIST jaxb-ri-2.3.8.tar.gz 1734411 BLAKE2B e60a7f78f2bfaf23cc0ce6727ee1b1611facdeebd5b456c207260447a508674dcbf934d2c6343cfbb58b93adf3352c8145caa2a8c77e264ae2403351527ff96d SHA512 73fda68e8d936b681d53ec72153cec0f7608517d0f037b4f140e4fd48e26f3e03a88f5b34bb635d0e6c7701121befd7d18a98aebd019a663e08ed9667a39c535
diff --git a/dev-java/txw2/metadata.xml b/dev-java/txw2/metadata.xml
new file mode 100644
index 000000000000..75321cfb5598
--- /dev/null
+++ b/dev-java/txw2/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-java/txw2/txw2-2.3.8-r1.ebuild b/dev-java/txw2/txw2-2.3.8-r1.ebuild
new file mode 100644
index 000000000000..eafda8755fa8
--- /dev/null
+++ b/dev-java/txw2/txw2-2.3.8-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.glassfish.jaxb:txw2:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="TXW is a library that allows you to write XML documents"
+HOMEPAGE="https://eclipse-ee4j.github.io/jaxb-ri/"
+SRC_URI="https://github.com/eclipse-ee4j/jaxb-ri/archive/${PV}-RI.tar.gz -> jaxb-ri-${PV}.tar.gz"
+S="${WORKDIR}/jaxb-ri-${PV}-RI/jaxb-ri/txw/runtime"
+
+LICENSE="EPL-1.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-11:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/main/java"
diff --git a/dev-java/unbescape/Manifest b/dev-java/unbescape/Manifest
new file mode 100644
index 000000000000..a123408ae8c5
--- /dev/null
+++ b/dev-java/unbescape/Manifest
@@ -0,0 +1 @@
+DIST unbescape-1.1.6.RELEASE.tar.gz 423423 BLAKE2B ff4f0b3bd582e4f6f13ec950eafaf336c4303d7d8c94ffa76438a9041555d17210ddcf1a36ae534511d1769723ffd6749632c702ba57d57c32abf965502e372c SHA512 0feab8deadba3e785c62400494938a532879c99bb55c91112fcb14521b7298bff482ed1f06a301835d0ed86dccaa4519c16af67884f5c02dc5be46255769b113
diff --git a/dev-java/unbescape/metadata.xml b/dev-java/unbescape/metadata.xml
new file mode 100644
index 000000000000..519fa387d24f
--- /dev/null
+++ b/dev-java/unbescape/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">unbescape/unbescape</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/unbescape/unbescape-1.1.6.ebuild b/dev-java/unbescape/unbescape-1.1.6.ebuild
new file mode 100644
index 000000000000..80b7048bcbd3
--- /dev/null
+++ b/dev-java/unbescape/unbescape-1.1.6.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 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/unbescape/unbescape/archive/unbescape-1.1.6.RELEASE.tar.gz --slot 0 --keywords "~amd64" --ebuild unbescape-1.1.6.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.unbescape:unbescape:1.1.6.RELEASE"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Advanced yet easy-to-use escape/unescape library for Java"
+HOMEPAGE="https://www.unbescape.org"
+SRC_URI="https://github.com/unbescape/unbescape/archive/unbescape-${PV}.RELEASE.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+S="${WORKDIR}/unbescape-unbescape-${PV}.RELEASE"
+
+JAVA_AUTOMATIC_MODULE_NAME="unbescape"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ default
+ sed \
+ -e "s/\${pom.version}/${PV}.RELEASE/" \
+ -i src/main/resources/org/unbescape/unbescape.properties || die
+}
diff --git a/dev-java/validation-api/Manifest b/dev-java/validation-api/Manifest
index 30458ba26cd4..dcac63ba7efc 100644
--- a/dev-java/validation-api/Manifest
+++ b/dev-java/validation-api/Manifest
@@ -1,2 +1 @@
-DIST validation-api-1.0.0.GA-sources.jar 65220 BLAKE2B cee01d9979671bc2d64a22f21d608d50ddf6eca730a7c0d1fee3c4c05fab0af200153a48491b8d54a5a29b84a220f841c85264446117e25e89bd306bdd764843 SHA512 88bcde2fc9446b09cb24e73137cd16ed54953a6d93f33e8500ca196e4cec07ac03ebc446f4629291e6437d2f3757802236e56974cd3023bb25886e69e2330fc0
DIST validation-api-1.1.0.jar 94671 BLAKE2B c28f6b2ca52094f33e82d2e7c71e52ef57c503c5d50f34646ee28a9f61ea7e4da7f494f41b5f8a34ce6108ca1b75fa2d0f08eb9aab15cf033e825afc2eefdf19 SHA512 aa15184ff004357f1cdee693008587a3aa180a8f24392847258672c4a2e5a537cf189049ef95febb1a87968a42223f7736e22e00fe9307678c117f7ab6b944a8
diff --git a/dev-java/validation-api/metadata.xml b/dev-java/validation-api/metadata.xml
index 8d626a41d89c..535a0cd95681 100644
--- a/dev-java/validation-api/metadata.xml
+++ b/dev-java/validation-api/metadata.xml
@@ -6,6 +6,6 @@
<name>Java</name>
</maintainer>
<upstream>
- <remote-id type="github">eclipse-ee4j/beanvalidation-api</remote-id>
+ <remote-id type="github">jakartaee/validation</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-java/validation-api/validation-api-1.0.0-r1.ebuild b/dev-java/validation-api/validation-api-1.0.0-r1.ebuild
deleted file mode 100644
index 316ac36886b4..000000000000
--- a/dev-java/validation-api/validation-api-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Bean Validation (JSR-303) API"
-HOMEPAGE="https://beanvalidation.org/"
-SRC_URI="https://repository.jboss.org/nexus/service/local/repo_groups/public/content/javax/validation/${PN}/${PV}.GA/${P}.GA-sources.jar"
-
-LICENSE="Apache-2.0"
-SLOT="1.0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-BDEPEND="app-arch/unzip"
diff --git a/dev-java/validation-api/validation-api-1.1.0-r1.ebuild b/dev-java/validation-api/validation-api-1.1.0-r1.ebuild
deleted file mode 100644
index 1f63794e937b..000000000000
--- a/dev-java/validation-api/validation-api-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Bean Validation (JSR-303) API"
-HOMEPAGE="https://beanvalidation.org/"
-SRC_URI="https://repo1.maven.org/maven2/javax/validation/${PN}/${PV}.Final/${P}.Final-sources.jar -> ${P}.jar"
-
-LICENSE="Apache-2.0"
-SLOT="1.0"
-KEYWORDS="amd64 x86"
-
-IUSE=""
-
-BDEPEND="app-arch/unzip"
-RDEPEND=">=virtual/jre-1.8"
-DEPEND=">=virtual/jdk-1.8"
diff --git a/dev-java/validation-api/validation-api-1.1.0-r2.ebuild b/dev-java/validation-api/validation-api-1.1.0-r2.ebuild
new file mode 100644
index 000000000000..fe8bd82bedc9
--- /dev/null
+++ b/dev-java/validation-api/validation-api-1.1.0-r2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Bean Validation (JSR-303) API"
+HOMEPAGE="https://beanvalidation.org/"
+SRC_URI="https://repo1.maven.org/maven2/javax/validation/${PN}/${PV}.Final/${P}.Final-sources.jar -> ${P}.jar"
+
+LICENSE="Apache-2.0"
+SLOT="1.0"
+KEYWORDS="amd64 x86"
+
+BDEPEND="app-arch/unzip"
+RDEPEND=">=virtual/jre-1.8"
+DEPEND=">=virtual/jdk-1.8"
diff --git a/dev-java/velocity/Manifest b/dev-java/velocity/Manifest
index 7b243dc27a93..bafc24692cd9 100644
--- a/dev-java/velocity/Manifest
+++ b/dev-java/velocity/Manifest
@@ -1 +1,2 @@
DIST velocity-2.3.tar.gz 443754 BLAKE2B 16b7aaa87eb6be899f40d09ee8aa50b2ac24dd59c33f29b944d46ea84a77de07cd69f344632b4b829b92a92fe6ccd75cf79e021787b2ca59a79040aa08a53eed SHA512 987f2991a96fa8fae43ff2f72d6a57b25b1cb7d98b7def7a1a6e9a308c8b5b86e394444c47ee0eca8b70d41b341759c7309404dc4b952dbc65fc3a5b92d46cdb
+DIST velocity-2.3_p20240314.tar.gz 440967 BLAKE2B c5fcea7af49d6c46d5c0943efe82f3c04d921afc2c53201b97842ae71714e7035d075c147b3bea71e959db12dd970b7879ade73bbc23bab09a1fd262e21f2fc6 SHA512 9055e780d2a3c798bfe30e5c7859a7311c4984b551d7b2ffa68c57c076549326d0ddae31eabff8009ea021c749331d34c71eee8cab55599dea5f3c8dba841a02
diff --git a/dev-java/velocity/files/velocity-2.3-skipSecurityManager.patch b/dev-java/velocity/files/velocity-2.3-skipSecurityManager.patch
new file mode 100644
index 000000000000..3375bce00eac
--- /dev/null
+++ b/dev-java/velocity/files/velocity-2.3-skipSecurityManager.patch
@@ -0,0 +1,11 @@
+bug #923612
+--- a/src/test/java/org/apache/velocity/test/issues/VelTools66TestCase.java
++++ b/src/test/java/org/apache/velocity/test/issues/VelTools66TestCase.java
+@@ -58,7 +58,6 @@ public class VelTools66TestCase
+ Velocity.RUNTIME_LOG_INSTANCE, new TestLogger());
+
+ Velocity.init();
+- System.setSecurityManager(new TestSecurityManager());
+
+ }
+
diff --git a/dev-java/velocity/metadata.xml b/dev-java/velocity/metadata.xml
index 6021501589e0..8e49c08df5a1 100644
--- a/dev-java/velocity/metadata.xml
+++ b/dev-java/velocity/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
-</maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">apache/velocity-engine</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/velocity/velocity-2.3.ebuild b/dev-java/velocity/velocity-2.3.ebuild
index 0a414c4fb11f..fd0fb1074e25 100644
--- a/dev-java/velocity/velocity-2.3.ebuild
+++ b/dev-java/velocity/velocity-2.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
@@ -57,6 +57,7 @@ BDEPEND="
"
S="${WORKDIR}/${PN}-engine-${PV}/${PN}-engine-core"
+PATCHES=( "${FILESDIR}/velocity-2.3-skipSecurityManager.patch" )
JAVA_GENTOO_CLASSPATH="commons-io-1,commons-lang-3.6,slf4j-api"
JAVA_SRC_DIR="src/main/java"
@@ -89,7 +90,8 @@ JAVA_TEST_EXCLUDES=(
)
src_prepare() {
- default
+ default #780585
+ java-pkg-2_src_prepare
cp -v "${JAVA_SRC_DIR}-templates/org/apache/velocity/runtime/VelocityEngineVersion.java" \
"${JAVA_SRC_DIR}/org/apache/velocity/runtime/VelocityEngineVersion.java" || die
diff --git a/dev-java/velocity/velocity-2.3_p20240314.ebuild b/dev-java/velocity/velocity-2.3_p20240314.ebuild
new file mode 100644
index 000000000000..9fc3d0f5f420
--- /dev/null
+++ b/dev-java/velocity/velocity-2.3_p20240314.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.velocity:velocity-engine-core:2.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Apache Velocity is a general purpose template engine"
+HOMEPAGE="https://velocity.apache.org"
+MY_COMMIT="86cfcf41105f8a25db11ca6483e33c20fc0804d9"
+SRC_URI="https://github.com/apache/${PN}-engine/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-engine-${MY_COMMIT}/${PN}-engine-core"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+CP_DEPEND="
+ >=dev-java/commons-io-2.8.0:1
+ >=dev-java/commons-lang-3.11:3.6
+ >=dev-java/slf4j-api-1.7.30:0
+"
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ test? (
+ dev-db/hsqldb:0
+ >=dev-java/slf4j-simple-1.7.30:0
+ )
+"
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+JAVACC_SLOT="7.0.13"
+BDEPEND="dev-java/javacc:${JAVACC_SLOT}"
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_EXTRA_ARGS="-Dtest.compare.dir=target/test-classes -Dtest.result.dir=results"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,hsqldb,slf4j-simple"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ sed -e "s/\${project.version}/${PV}/" \
+ src/main/java-templates/org/apache/velocity/runtime/VelocityEngineVersion.java > \
+ src/main/java/org/apache/velocity/runtime/VelocityEngineVersion.java || die
+
+ sed -i \
+ -e 's/\${parser.basename}/Standard/g' \
+ -e 's/\${parser.package}/org.apache.velocity.runtime.parser/g' \
+ -e 's/\${parser.char.asterisk}/\*/g' \
+ -e 's/\${parser.char.at}/\@/g' \
+ -e 's/\${parser.char.dollar}/\$/g' \
+ -e 's/\${parser.char.hash}/\#/g' \
+ "${S}/src/main/parser/Parser.jjt" || die
+
+ # File "StandardParserTreeConstants.java" does not exist. Will create one.
+ # File "StandardParserVisitor.java" does not exist. Will create one.
+ # File "JJTStandardParserState.java" does not exist. Will create one.
+ "jjtree-${JAVACC_SLOT}" -GRAMMAR_ENCODING=UTF-8 \
+ -JDK_VERSION=1.8 \
+ -BUILD_NODE_FILES=false \
+ -MULTI=true \
+ -NODE_PACKAGE=org.apache.velocity.runtime.parser.node \
+ -NODE_USES_PARSER=true \
+ -STATIC=false \
+ -OUTPUT_DIRECTORY="${JAVA_SRC_DIR}/org/apache/velocity/runtime/parser/node" \
+ "${S}/src/main/parser/Parser.jjt" \
+ || die "Code generation via jjtree failed"
+
+ "javacc-${JAVACC_SLOT}" -GRAMMAR_ENCODING=UTF-8 \
+ -JDK_VERSION=1.8 \
+ -STATIC=false \
+ -DEBUG_PARSER=false \
+ -DEBUG_LOOKAHEAD=false \
+ -DEBUG_TOKEN_MANAGER=false \
+ -BUILD_PARSER=true \
+ -TOKEN_MANAGER_USES_PARSER=true \
+ -OUTPUT_DIRECTORY="${JAVA_SRC_DIR}" \
+ "${JAVA_SRC_DIR}/org/apache/velocity/runtime/parser/node/Parser.jj" \
+ || die "Parser.java code generation via javacc failed"
+
+ # Avoid "error: duplicate class: org.apache.velocity.runtime.parser...."
+ rm -v "${JAVA_SRC_DIR}/CharStream.java" || die "cannot remove 'CharStream.java'"
+ rm -v "${JAVA_SRC_DIR}/ParseException.java" || die "cannot remove 'ParseException.java'"
+}
+
+src_test() {
+ pushd src/test/java || die
+ # DataSourceResourceLoaderTestCase.java requires configured jdbc
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "*TestCase.java" \
+ ! -name "BaseTestCase.java" \
+ ! -name "DataSourceResourceLoaderTestCase.java" \
+ )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/waffle-jna/Manifest b/dev-java/waffle-jna/Manifest
new file mode 100644
index 000000000000..de2a4d7a3e97
--- /dev/null
+++ b/dev-java/waffle-jna/Manifest
@@ -0,0 +1 @@
+DIST waffle-parent-3.3.0.tar.gz 2147273 BLAKE2B a4f9c06898c50616013870bb383632d0b97e4f527da9b7b1acad9945f275181844d94b6533891a371f588115f60efdf791d5f64e03f938950a8dd48415f1f56f SHA512 e09154761dc5902e97b9dc57c9523bffe401fce33797346bbd5595390db3adaf5eed27d2ac7f98b7504aeb471c5f1a0c0a5104bd819a937e15c67123ecdd5891
diff --git a/dev-java/waffle-jna/metadata.xml b/dev-java/waffle-jna/metadata.xml
new file mode 100644
index 000000000000..a9d1f1367512
--- /dev/null
+++ b/dev-java/waffle-jna/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Waffle/waffle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/waffle-jna/waffle-jna-3.3.0.ebuild b/dev-java/waffle-jna/waffle-jna-3.3.0.ebuild
new file mode 100644
index 000000000000..7d9114ca8512
--- /dev/null
+++ b/dev-java/waffle-jna/waffle-jna-3.3.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.github.waffle:waffle-jna:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Enable drop-in Windows Single Sign On for popular Java web servers"
+HOMEPAGE="https://waffle.github.io/waffle/"
+SRC_URI="https://github.com/Waffle/waffle/archive/waffle-parent-${PV}.tar.gz"
+S="${WORKDIR}/waffle-waffle-parent-${PV}/Source/JNA/waffle-jna"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+RESTRICT="test" #839681
+
+DEPEND="
+ dev-java/caffeine:0
+ dev-java/checker-framework-qual:0
+ dev-java/jakarta-servlet-api:4
+ dev-java/jna:4
+ dev-java/slf4j-api:0
+ >=virtual/jdk-1.8:*
+ test? ( dev-java/junit:5 )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_AUTOMATIC_MODULE_NAME="waffle.jna"
+JAVA_CLASSPATH_EXTRA="
+ caffeine
+ checker-framework-qual
+ jakarta-servlet-api-4
+ jna-4
+ slf4j-api
+"
+JAVA_RESOURCE_DIR="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="
+ assertj-core-3
+ junit-5
+"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/woodstox-core/Manifest b/dev-java/woodstox-core/Manifest
index df08ed0f3b78..be5e4bc9c5ff 100644
--- a/dev-java/woodstox-core/Manifest
+++ b/dev-java/woodstox-core/Manifest
@@ -1,2 +1 @@
-DIST woodstox-core-6.2.8.tar.gz 5250255 BLAKE2B 69e45da9c7e09652ffc45b366359ae12954ad0450157d8639833d41600958d10ff1203502c926f0f23cd3e3d03dbc83378a9614e5eb19367fb60fad1232f4dd8 SHA512 c5af386891ab63fb2efc8510353e35c20fa157048631c809ed3d7e070b377ef5c21ffb1b7a0f9e597113db714ebc778951ac8a8e049c3d8291a89c3a0e7a044e
-DIST woodstox-core-6.3.1.tar.gz 6029586 BLAKE2B 04fcd7fd958cd3efa8a1e864786b88a1f8c3f0d6d6faecb5eb91a7cf755da4cef2664c0583702bf21dde741632638242131f0d46acb8f1b91bd00bf4c9a7af5b SHA512 fee1d8dc33aa2e3617b451fab285dbc91154738765eb9d93e8c1809a70f09ccb2f1cf2b70f57f836323d0a80bd5caeae0f5a4c5e2cee609c2a9d30106bf42acb
+DIST woodstox-core-6.4.0.tar.gz 6030457 BLAKE2B 0506a4af84eff8ac11bc6363581f8de737116bd254d0c3b2f68a9ce062325934188c5a05eeff918ae012330d885ba7940f9dc1afb01ee951ff58cdcd1c86b2c7 SHA512 ca8033084c0355c5a321ab51ab6cfee62737b49ab98106fab0abb3ac8950ddd773dc91d864e4e62bdddaca1b7ba98f3639d1a61d8c436892b35193a8c838659f
diff --git a/dev-java/woodstox-core/metadata.xml b/dev-java/woodstox-core/metadata.xml
index 28e9d38710f5..2489030beec9 100644
--- a/dev-java/woodstox-core/metadata.xml
+++ b/dev-java/woodstox-core/metadata.xml
@@ -5,6 +5,7 @@
<email>java@gentoo.org</email>
</maintainer>
<upstream>
+ <remote-id type="github">FasterXML/woodstox</remote-id>
<bugs-to>https://github.com/FasterXML/woodstox/issues</bugs-to>
</upstream>
</pkgmetadata>
diff --git a/dev-java/woodstox-core/woodstox-core-6.2.8-r1.ebuild b/dev-java/woodstox-core/woodstox-core-6.2.8-r1.ebuild
deleted file mode 100644
index 53a600676959..000000000000
--- a/dev-java/woodstox-core/woodstox-core-6.2.8-r1.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# 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/FasterXML/woodstox/archive/woodstox-core-6.2.8.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild woodstox-core-6.2.8.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.woodstox:woodstox-core:6.2.8"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="An XML processor that implements Stax (JSR-173), SAX2 and Stax2 APIs"
-HOMEPAGE="https://github.com/FasterXML/woodstox"
-SRC_URI="https://github.com/FasterXML/woodstox/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# net.java.dev.msv:msv-core:2013.6.1 -> >=dev-java/msv-20130601:0
-# net.java.dev.msv:xsdlib:2013.6.1 -> >=dev-java/xsdlib-20090415:0
-# org.codehaus.woodstox:stax2-api:4.2.1 -> >=dev-java/stax2-api-4.2.1:0
-# relaxngDatatype:relaxngDatatype:20020414 -> !!!groupId-not-found!!!
-
-CP_DEPEND="
- dev-java/msv:0
- dev-java/relaxng-datatype:0
- dev-java/stax2-api:0
- dev-java/xsdlib:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# org.apache.felix:org.osgi.core:1.4.0 -> !!!groupId-not-found!!!
-# POM: pom.xml
-# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-11:*
- dev-java/osgi-core-api:0"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( {README,SECURITY}.md release-notes/{CREDITS,VERSION} )
-
-S="${WORKDIR}/woodstox-${P}"
-
-JAVA_CLASSPATH_EXTRA="osgi-core-api"
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-JAVA_TEST_EXCLUDES=(
- # Upstream: Tests run: 864, Failures: 0, Errors: 0, Skipped: 0
- # "No tests found in ..."
- wstxtest.vstream.BaseValidationTest
- wstxtest.BaseWstxTest
- stax2.vstream.BaseStax2ValidationTest
- stax2.BaseStax2Test
- stax2.wstream.BaseWriterTest
- org.codehaus.stax.test.BaseStaxTest
- org.codehaus.stax.test.wstream.BaseWriterTest
- org.codehaus.stax.test.stream.BaseStreamTest
- # "... has no public constructor"
- wstxtest.stream.BaseStreamTest
- wstxtest.wstream.BaseWriterTest
- stax2.vwstream.BaseOutputTest
- org.codehaus.stax.test.vstream.BaseVStreamTest
- org.codehaus.stax.test.evt.BaseEventTest
- # Upstream does not run these:
- failing.TestBasicSax
- failing.TestExtLocationInfo91
- failing.TestRelaxNG
- failing.TestW3CDefaultValues
- failing.TestW3CDefaultValues
- failing.TestW3CSchemaComplexTypes
- failing.TestW3CSchemaTypes
- failing.TestW3CSchemaTypes
-)
-
-src_prepare() {
- default
-
- # We do not bundle any shaded (aka relocated) classes.
- sed -e '/com.ctc.wstx.shaded.msv/d' \
- -e '/org.codehaus.stax2.validation/d' \
- -i "src/moditect/module-info.java" || die
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/woodstox-core/woodstox-core-6.3.1.ebuild b/dev-java/woodstox-core/woodstox-core-6.3.1.ebuild
deleted file mode 100644
index 123bde443c47..000000000000
--- a/dev-java/woodstox-core/woodstox-core-6.3.1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# 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/FasterXML/woodstox/archive/woodstox-core-6.3.1.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild woodstox-core-6.3.1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="com.fasterxml.woodstox:woodstox-core:6.3.1"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="An XML processor that implements Stax (JSR-173), SAX2 and Stax2 APIs"
-HOMEPAGE="https://github.com/FasterXML/woodstox"
-SRC_URI="https://github.com/FasterXML/woodstox/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
-
-# Common dependencies
-# POM: pom.xml
-# net.java.dev.msv:msv-core:2013.6.1 -> >=dev-java/msv-2022.7:0
-# net.java.dev.msv:xsdlib:2013.6.1 -> >=dev-java/xsdlib-2022.7:0
-# org.codehaus.woodstox:stax2-api:4.2.1 -> >=dev-java/stax2-api-4.2.1:0
-# relaxngDatatype:relaxngDatatype:20020414 -> >=dev-java/relaxng-datatype-20020414:0
-
-CP_DEPEND="
- dev-java/msv:0
- dev-java/relaxng-datatype:0
- dev-java/stax2-api:0
- dev-java/xsdlib:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# biz.aQute.bnd:biz.aQute.bnd.annotation:6.3.1 -> >=dev-java/aqute-bnd-annotation-6.3.1:0
-# org.osgi:osgi.core:5.0.0 -> >=dev-java/osgi-core-8.0.0:0
-# POM: pom.xml
-# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-11:*
- dev-java/aqute-bnd-annotation:0
- dev-java/osgi-core:0"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( {README,SECURITY}.md release-notes/{CREDITS,VERSION} )
-
-S="${WORKDIR}/woodstox-${P}"
-
-JAVA_CLASSPATH_EXTRA="aqute-bnd-annotation,osgi-core"
-JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-# https://github.com/FasterXML/woodstox/blob/woodstox-core-6.3.0/pom.xml#L229-L243
-src_test() {
- pushd src/test/java > /dev/null || die
- local JAVA_TEST_RUN_ONLY=$(find * \
- \( -wholename "**/Test*.java" \
- -o -wholename "**/*Test.java" \) \
- ! -wholename "failing/*.java" \
- ! -wholename "**/Abstract*.jav" \
- ! -wholename "**/Base*.java" \
- )
- popd > /dev/null
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
- JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
- java-pkg-simple_src_test
-}
-
-src_prepare() {
- default
-
- # src/moditect/module-info.java:33: error: cannot find symbol
- # provides org.codehaus.stax2.validation.XMLValidationSchemaFactory.dtd with com.ctc.wstx.dtd.DTDSchemaFactory;
- # https://bugs.gentoo.org/858302
- sed -e '/com.ctc.wstx.shaded.msv/d' \
- -e '/org.codehaus.stax2.validation/d' \
- -i "src/moditect/module-info.java" || die
-}
diff --git a/dev-java/woodstox-core/woodstox-core-6.4.0-r1.ebuild b/dev-java/woodstox-core/woodstox-core-6.4.0-r1.ebuild
new file mode 100644
index 000000000000..f709dc1853a1
--- /dev/null
+++ b/dev-java/woodstox-core/woodstox-core-6.4.0-r1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 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/FasterXML/woodstox/archive/woodstox-core-6.4.0.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild woodstox-core-6.4.0.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.fasterxml.woodstox:woodstox-core:6.4.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="An XML processor that implements Stax (JSR-173), SAX2 and Stax2 APIs"
+HOMEPAGE="https://github.com/FasterXML/woodstox"
+SRC_URI="https://github.com/FasterXML/woodstox/archive/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# net.java.dev.msv:msv-core:2013.6.1 -> >=dev-java/msv-2022.7:0
+# net.java.dev.msv:xsdlib:2013.6.1 -> >=dev-java/xsdlib-2022.7:0
+# org.codehaus.woodstox:stax2-api:4.2.1 -> >=dev-java/stax2-api-4.2.1:0
+# relaxngDatatype:relaxngDatatype:20020414 -> >=dev-java/relaxng-datatype-20020414:0
+
+CP_DEPEND="
+ dev-java/msv:0
+ dev-java/relaxng-datatype:0
+ dev-java/stax2-api:0
+ dev-java/xsdlib:0
+"
+
+# Compile dependencies
+# POM: pom.xml
+# biz.aQute.bnd:biz.aQute.bnd.annotation:6.3.1 -> >=dev-java/aqute-bnd-annotation-6.3.1:0
+# org.osgi:osgi.core:5.0.0 -> >=dev-java/osgi-core-8.0.0:0
+# POM: pom.xml
+# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-11:*
+ dev-java/bnd-annotation:0
+ dev-java/osgi-core:0"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DOCS=( {README,SECURITY}.md release-notes/{CREDITS,VERSION} )
+
+S="${WORKDIR}/woodstox-${P}"
+
+JAVA_CLASSPATH_EXTRA="bnd-annotation,osgi-core"
+JAVA_SRC_DIR=( "src/main/java" "src/moditect" )
+JAVA_RESOURCE_DIRS="src/main/resources"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+# https://github.com/FasterXML/woodstox/blob/woodstox-core-6.3.0/pom.xml#L229-L243
+src_test() {
+ pushd src/test/java > /dev/null || die
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ \( -wholename "**/Test*.java" \
+ -o -wholename "**/*Test.java" \) \
+ ! -wholename "failing/*.java" \
+ ! -wholename "**/Abstract*.jav" \
+ ! -wholename "**/Base*.java" \
+ )
+ popd > /dev/null
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+}
+
+src_prepare() {
+ default
+
+ # src/moditect/module-info.java:33: error: cannot find symbol
+ # provides org.codehaus.stax2.validation.XMLValidationSchemaFactory.dtd with com.ctc.wstx.dtd.DTDSchemaFactory;
+ # https://bugs.gentoo.org/858302
+ sed -e '/com.ctc.wstx.shaded.msv/d' \
+ -e '/org.codehaus.stax2.validation/d' \
+ -i "src/moditect/module-info.java" || die
+}
diff --git a/dev-java/wsdl4j/wsdl4j-1.6.3.ebuild b/dev-java/wsdl4j/wsdl4j-1.6.3.ebuild
index 6d6021edc701..bcb97bf3f850 100644
--- a/dev-java/wsdl4j/wsdl4j-1.6.3.ebuild
+++ b/dev-java/wsdl4j/wsdl4j-1.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SRC_URI="mirror://sourceforge/project/wsdl4j/WSDL4J/${PV}/wsdl4j-src-${PV}.zip"
LICENSE="CPL-1.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/xalan-serializer/Manifest b/dev-java/xalan-serializer/Manifest
index b226e35697c6..47e6dc2239af 100644
--- a/dev-java/xalan-serializer/Manifest
+++ b/dev-java/xalan-serializer/Manifest
@@ -1 +1,2 @@
-DIST xalan-j_2_7_2-src.tar.gz 8416261 BLAKE2B be67c9f2f7ec1140965dc148aea94347e60a2969deb1fac5834c1458d10b3dca91b448a44ed6ebbbb227e4f04780ce0142e812cd99d8862a4cbbf5e8e2af4cb3 SHA512 2f1fa105b3cb8082594e3121a245464e1b7c15464b1ead2d10e306e51ef61ded5d7fcd70c034fa46f41c4a8c14316e376cc14d8045c8aadfce80f2e4bd1b61d8
+DIST xalan-j_2_7_3-src.tar.gz 13686458 BLAKE2B e19373aa22dad13945917d8f041f56e6ff9cc434a70e88b96764e0547a0a122a9197eeb23bb7757a5483beead334f4af62e7e1b70531b23c31199ec4733756ef SHA512 fe4b2b9471f95a2cd3607550a6c97b46b7d2576d1e814305f4564df88aaf4fdc9f88ba43dad4a5741521b2c2f5137e3e70d2d4e31b232d403a66dc1e889c8b6b
+DIST xalan-j_2_7_3-src.tar.gz.asc 849 BLAKE2B 623fefefa3ab88bfdef5376101f26a9c6602c30a34c0db369159bdb7af34ccb2602011071dd3e79304e6dd4e8b8a198729347f5dbee9a06ae12af12d351de82a SHA512 5c7ed7e71f8a0c2739a64f9ba34edb28d749924d1a581b9963bed3376151a090c2c1af2b1111612822cf20d27a814e22917660f034912e8e5fa913b434e66bf2
diff --git a/dev-java/xalan-serializer/xalan-serializer-2.7.2-r1.ebuild b/dev-java/xalan-serializer/xalan-serializer-2.7.2-r1.ebuild
deleted file mode 100644
index 616eb218adec..000000000000
--- a/dev-java/xalan-serializer/xalan-serializer-2.7.2-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PV="$(ver_rs 1- '_')"
-MY_P="xalan-j_${MY_PV}"
-
-DESCRIPTION="DOM Level 3 serializer from Apache Xalan, shared by Xalan and Xerces"
-HOMEPAGE="https://xalan.apache.org/"
-SRC_URI="mirror://apache/xalan/xalan-j/source/${MY_P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND=">=virtual/jdk-1.8:*"
-
-JAVA_SRC_DIR="src"
-JAVA_RESOURCE_DIRS="resources"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
- # kill all non-serializer sources to ease javadocs and dosrc
- find src/org/ -type f ! -path "src/org/apache/xml/serializer/*" -delete || die
-
- # remove bundled jars
- find -name "*.jar" -delete || die
- rm src/*.tar.gz || die
-
- # move resources elsewhere
- mkdir -p resources/org/apache/xml/serializer || die
- mv src/org/apache/xml/serializer/*.properties resources/org/apache/xml/serializer/ || die
-}
diff --git a/dev-java/xalan-serializer/xalan-serializer-2.7.3-r1.ebuild b/dev-java/xalan-serializer/xalan-serializer-2.7.3-r1.ebuild
new file mode 100644
index 000000000000..d3a34a76b1ca
--- /dev/null
+++ b/dev-java/xalan-serializer/xalan-serializer-2.7.3-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="xalan:serializer:2.7.3"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Transforming XML documents into HTML, text, or other XML document types"
+HOMEPAGE="https://xalan.apache.org/"
+SRC_URI="mirror://apache/xalan/xalan-j/source/xalan-j_${PV//./_}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/xalan/xalan-j/source/xalan-j_${PV//./_}-src.tar.gz.asc )"
+
+S="${WORKDIR}/xalan-j_${PV//./_}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-xalan-j )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/xalan-j.apache.org.asc"
+
+JAVA_MAIN_CLASS="org.apache.xml.serializer.Version"
+JAVA_RESOURCE_DIRS="resources"
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # kill all non-serializer sources to ease javadocs and dosrc
+ find src/org/ -type f ! -path "src/org/apache/xml/serializer/*" -delete || die
+
+ # java-pkg-simple.eclass wants resources in JAVA_RESOURCE_DIRS
+ mkdir -p resources || die
+ pushd src > /dev/null || die
+ find org -type f \
+ ! -name '*.java' \
+ ! -name 'Version.src' \
+ ! -name 'package.html' \
+ | xargs cp --parent -t ../resources || die
+ popd > /dev/null || die
+}
diff --git a/dev-java/xalan/Manifest b/dev-java/xalan/Manifest
index 927b4c4864aa..47e6dc2239af 100644
--- a/dev-java/xalan/Manifest
+++ b/dev-java/xalan/Manifest
@@ -1,2 +1,2 @@
-DIST xalan-j_2_7_2-bin.zip 17740075 BLAKE2B 244fd71011fa957ff1988dbbb58e40af4ad218aafbd92f2a6ec305d59ec0fb221a283442b24e4290f6d2e853cfad39d689c1397b4d18f34f4c94403610079328 SHA512 ae2be0bfc5e794b159c2d16718275a6ce6e8f63d681e2d13875f233d334a37aba872206c6c1f70565698ceaf4c66261c7df6db6c524e6e8da5dafe2f17cefddf
-DIST xalan-j_2_7_2-src.tar.gz 8416261 BLAKE2B be67c9f2f7ec1140965dc148aea94347e60a2969deb1fac5834c1458d10b3dca91b448a44ed6ebbbb227e4f04780ce0142e812cd99d8862a4cbbf5e8e2af4cb3 SHA512 2f1fa105b3cb8082594e3121a245464e1b7c15464b1ead2d10e306e51ef61ded5d7fcd70c034fa46f41c4a8c14316e376cc14d8045c8aadfce80f2e4bd1b61d8
+DIST xalan-j_2_7_3-src.tar.gz 13686458 BLAKE2B e19373aa22dad13945917d8f041f56e6ff9cc434a70e88b96764e0547a0a122a9197eeb23bb7757a5483beead334f4af62e7e1b70531b23c31199ec4733756ef SHA512 fe4b2b9471f95a2cd3607550a6c97b46b7d2576d1e814305f4564df88aaf4fdc9f88ba43dad4a5741521b2c2f5137e3e70d2d4e31b232d403a66dc1e889c8b6b
+DIST xalan-j_2_7_3-src.tar.gz.asc 849 BLAKE2B 623fefefa3ab88bfdef5376101f26a9c6602c30a34c0db369159bdb7af34ccb2602011071dd3e79304e6dd4e8b8a198729347f5dbee9a06ae12af12d351de82a SHA512 5c7ed7e71f8a0c2739a64f9ba34edb28d749924d1a581b9963bed3376151a090c2c1af2b1111612822cf20d27a814e22917660f034912e8e5fa913b434e66bf2
diff --git a/dev-java/xalan/xalan-2.7.2-r1.ebuild b/dev-java/xalan/xalan-2.7.2-r1.ebuild
deleted file mode 100644
index 9d2ccaa630dc..000000000000
--- a/dev-java/xalan/xalan-2.7.2-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# NOTE: Building the docs is much more hassle than it's worth. It
-# requires com.sun.image.codec, which has long gone from JDKs, and
-# Apache StyleBook, which is long dead though it is bundled here.
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="xalan:xalan:2.7.2"
-
-inherit java-pkg-2 java-ant-2
-
-MY_PN="${PN}-j"
-MY_PV="$(ver_rs 1- _)"
-MY_P="${MY_PN}_${MY_PV}"
-SRC_DIST="${MY_P}-src.tar.gz"
-BIN_DIST="${MY_P}-bin.zip"
-
-DESCRIPTION="Transforming XML documents into HTML, text, or other XML document types"
-HOMEPAGE="https://xalan.apache.org/"
-SRC_URI="mirror://apache/${PN}/${MY_PN}/source/${SRC_DIST}
- doc? ( mirror://apache/${PN}/${MY_PN}/binaries/${BIN_DIST} )"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-CDEPEND="dev-java/javacup:0
- dev-java/bcel:0"
-
-BDEPEND="doc? ( app-arch/unzip )"
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*
- ~dev-java/xalan-serializer-${PV}:${SLOT}"
-
-DEPEND="${CDEPEND}
- virtual/jdk:1.8"
-
-EANT_GENTOO_CLASSPATH="bcel,javacup"
-EANT_BUILD_TARGET="unbundledjar"
-EANT_DOC_TARGET=""
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
-
- # disable building of serializer.jar
- sed -i -e 's/depends="prepare,serializer.jar"/depends="prepare"/' \
- build.xml || die "sed build.xml failed"
-
- # remove bundled jars
- find -name "*.jar" -delete || die
- rm src/*.tar.gz || die
-}
-
-src_install() {
- java-pkg_newjar build/${PN}-unbundled.jar
- java-pkg_dolauncher ${PN} --main org.apache.xalan.xslt.Process
- java-pkg_register-dependency ${PN}-serializer
-
- dodoc NOTICE.txt readme.html
- use doc && java-pkg_dohtml -r docs/*
- use source && java-pkg_dosrc src/org
-}
diff --git a/dev-java/xalan/xalan-2.7.3-r1.ebuild b/dev-java/xalan/xalan-2.7.3-r1.ebuild
new file mode 100644
index 000000000000..c49a110bfdde
--- /dev/null
+++ b/dev-java/xalan/xalan-2.7.3-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="xalan:xalan:2.7.3"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Transforming XML documents into HTML, text, or other XML document types"
+HOMEPAGE="https://xalan.apache.org/"
+SRC_URI="mirror://apache/xalan/xalan-j/source/xalan-j_${PV//./_}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/xalan/xalan-j/source/xalan-j_${PV//./_}-src.tar.gz.asc )"
+
+S="${WORKDIR}/xalan-j_${PV//./_}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+CP_DEPEND="
+ dev-java/bcel:0
+ dev-java/javacup:0
+ ~dev-java/xalan-serializer-${PV}:${SLOT}
+ dev-java/xerces:2
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-xalan-j )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/xalan-j.apache.org.asc"
+
+JAVA_MAIN_CLASS="org.apache.xalan.xslt.Process"
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # serializer is packaged separately
+ rm -r src/org/apache/xml/serializer || die "cannot remove serializer"
+}
diff --git a/dev-java/xerces/Manifest b/dev-java/xerces/Manifest
index a536128f8645..768ed441fa44 100644
--- a/dev-java/xerces/Manifest
+++ b/dev-java/xerces/Manifest
@@ -1 +1,2 @@
DIST Xerces-J-src.2.12.2.tar.gz 1812583 BLAKE2B f1b5928abe2852acc4d554c47aa7cbd81a568e15c8a1fd5ea98dc526c52838b0a50920d2ed807e607b01c875676e54578f1493856b06de5a7ba8784591f7f06f SHA512 e71a692212a974ebfa39af5ffd023b433ece34425b12aceeffe89cebe04f28dd8fa46a131a56f30295dca36de115128a6d7e05172c82f5b85d914cd991f34056
+DIST Xerces-J-src.2.12.2.tar.gz.asc 849 BLAKE2B 58faca219413b5b13ded6bedb16acca5ffe53a6890c2ea6ec6f5b2b19b46b179bd74b225e608b936b0d6abad24b947930da24339256137a291e5bc863a11c416 SHA512 77cc480b9eff693ab7b5fe4c8a8963cbd53e895dd130bc0ef3fbaebce6d64e59c068806f10bbf650f51a4fb132a49d24c869c8a01e9922bf792bb479602b9846
diff --git a/dev-java/xerces/xerces-2.12.2-r2.ebuild b/dev-java/xerces/xerces-2.12.2-r2.ebuild
new file mode 100644
index 000000000000..6aed07e1a9e0
--- /dev/null
+++ b/dev-java/xerces/xerces-2.12.2-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="xerces:xercesImpl:2.12.2"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Xerces Java XML parser"
+HOMEPAGE="https://xerces.apache.org/xerces2-j/index.html"
+SRC_URI="mirror://apache/xerces/j/source/Xerces-J-src.${PV}.tar.gz
+ verify-sig? ( https://downloads.apache.org/xerces/j/source/Xerces-J-src.${PV}.tar.gz.asc )"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/xml-commons-external:1.4
+ dev-java/xml-commons-resolver:0"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-xerces-j )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/xerces-j.apache.org.asc"
+
+DOCS=( LICENSE NOTICE README {LICENSE.resolver,LICENSE.serializer,NOTICE.resolver,NOTICE.serializer}.txt )
+HTML_DOCS=( {LICENSE.DOM-documentation,LICENSE.DOM-software,LICENSE-SAX,Readme}.html )
+
+S="${WORKDIR}/${P//./_}"
+
+JAVADOC_ARGS="-source 8" #922332
+JAVA_SRC_DIR="src"
+JAVA_RESOURCE_DIRS="resources"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # java-pkg-simple.eclass wants resources in JAVA_RESOURCE_DIRS
+ mkdir -p "resources/META-INF/services"|| die
+ pushd "src" > /dev/null || die
+ find -type f \
+ \( -name 'javax.xml.*Factory' \
+ -or -name '*DOMImplementationSourceList' \
+ -or -name 'org.xml.sax.driver' \) \
+ | xargs mv -t ../resources/META-INF/services || die
+ find -type f \
+ ! -name '*.java' \
+ ! -name 'manifest.xerces' \
+ ! -name 'package.html' \
+ ! -name '*Configuration' \
+ ! -name '*DOMImplementationSourceImpl' \
+ | xargs cp --parent -t ../resources || die
+ popd > /dev/null || die
+}
diff --git a/dev-java/xerces/xerces-2.12.2.ebuild b/dev-java/xerces/xerces-2.12.2.ebuild
deleted file mode 100644
index 74142d24ba0b..000000000000
--- a/dev-java/xerces/xerces-2.12.2.ebuild
+++ /dev/null
@@ -1,57 +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"
-MAVEN_ID="xerces:xercesImpl:2.12.2"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Xerces Java XML parser"
-HOMEPAGE="https://xerces.apache.org/xerces2-j/index.html"
-SRC_URI="mirror://apache/xerces/j/source/Xerces-J-src.${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-CP_DEPEND="
- dev-java/xml-commons-external:1.4
- dev-java/xml-commons-resolver:0"
-
-# JDK 11+ already privides the following file and the compilation
-# fails if xerces provides it too. On contrary, compilation on 1.8
-# fails if we don't provide the file because it's not part of 1.8.
-# By restricting compilation to 1.8 and providing the file we build
-# a jar that should work both on 1.8 and also on the newer versions
-# of JDK.
-# the file: "org/w3c/dom/html/HTMLDOMImplementation.class"
-DEPEND="
- ${CP_DEPEND}
- virtual/jdk:1.8"
-
-RDEPEND="
- ${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( LICENSE NOTICE README {LICENSE.resolver,LICENSE.serializer,NOTICE.resolver,NOTICE.serializer}.txt )
-HTML_DOCS=( {LICENSE.DOM-documentation,LICENSE.DOM-software,LICENSE-SAX,Readme}.html )
-
-S="${WORKDIR}/${P//./_}"
-
-JAVA_SRC_DIR="src"
-JAVA_RESOURCE_DIRS="resources"
-
-src_prepare() {
- default
- mkdir "${JAVA_RESOURCE_DIRS}" || die
- cp -r "${JAVA_SRC_DIR}/org" "${JAVA_RESOURCE_DIRS}" || die
- find "${JAVA_RESOURCE_DIRS}" -type f -name '*.java' -exec rm -rf {} + || die
- rm "${JAVA_RESOURCE_DIRS}"/org/apache/xerces/{dom/org.apache.xerces.dom.DOMImplementationSourceImpl,xs/datatypes/package.html,parsers/org*} || die
-}
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/xerial-core/Manifest b/dev-java/xerial-core/Manifest
index 9e1361d1c318..871466add435 100644
--- a/dev-java/xerial-core/Manifest
+++ b/dev-java/xerial-core/Manifest
@@ -1,2 +1 @@
-DIST xerial-core-2.0.1.tar.bz2 519709 BLAKE2B 3d81bda265e3b3b37a50a62061298f23de7c2947a9d50ba6eac336c3ec09fcaaeea84d456e344b0d2ae16710870025a869c2359a17f0956c8dda557804e9d5ff SHA512 39236e8a653301a6899ce80d3240d505e91f0cfc8878fa1a698113d06f3af3fd7adef540d72da1c0e1fb7101542c43e92fb9388243d95c3185a561532c18c6fb
DIST xerial-core-2.1.tar.gz 20598090 BLAKE2B d93021b1becb90a62aacc7337294fb71b0da769461947e935091c65e3e5fda2e454ebda295b7ad37d3b47993472b535588698a618d50243e00d58d1ea500284b SHA512 c762fda93e3da1efe110c667cf84cace7fd7c9b3ac35a764edd2b5e1996034a16a4a43ff5c3e298ff0b96cfc83d18994463c534301e0fab5a75c91cf03b6f89b
diff --git a/dev-java/xerial-core/xerial-core-2.0.1-r1.ebuild b/dev-java/xerial-core/xerial-core-2.0.1-r1.ebuild
deleted file mode 100644
index 585c67d8e0b1..000000000000
--- a/dev-java/xerial-core/xerial-core-2.0.1-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# 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 mirror://gentoo/distfiles/4f/xerial-core-2.0.1.tar.bz2 --slot 0 --keywords "~amd64 ~x86" --ebuild xerial-core-2.0.1-r1.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.xerial:xerial-core:2.0.1"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Core library of the Xerial project."
-HOMEPAGE="https://xerial.org"
-# SRC_URI="https://github.com/xerial/xerial-java/archive/refs/tags/xerial-core-${PV}.tar.gz"
-# Downloading from github is broken
-SRC_URI="https://dev.gentoo.org/~ercpe/distfiles/${CATEGORY}/${PN}/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}/${P}"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS=(
- "src/test/java"
- "src/test/resources"
-)
-
-src_test() {
- # 1) listResoucesInJAR(org.xerial.util.FileResourceTest)
- # java.lang.AssertionError: at least one resource must be found in org.junit.runner
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if [[ "${vm_version}" != "1.8" ]] ; then
- JAVA_TEST_EXCLUDES+=( "org.xerial.util.FileResourceTest" )
- fi
- java-pkg-simple_src_test
-}
diff --git a/dev-java/xerial-core/xerial-core-2.1.ebuild b/dev-java/xerial-core/xerial-core-2.1.ebuild
index f0300c6eb27a..48f4a0b0208e 100644
--- a/dev-java/xerial-core/xerial-core-2.1.ebuild
+++ b/dev-java/xerial-core/xerial-core-2.1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/xerial/xerial-java/archive/${PV}.tar.gz -> ${P}.tar.
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/xml-commons-external/xml-commons-external-1.4.01-r2.ebuild b/dev-java/xml-commons-external/xml-commons-external-1.4.01-r2.ebuild
index 3e69a8ea4964..12c8731a7615 100644
--- a/dev-java/xml-commons-external/xml-commons-external-1.4.01-r2.ebuild
+++ b/dev-java/xml-commons-external/xml-commons-external-1.4.01-r2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://repo1.maven.org/maven2/${MY_PN}/${MY_PN}/${PV}/${MY_P}-sources.
LICENSE="Apache-2.0"
SLOT="1.4"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND=">=virtual/jre-1.8:*"
DEPEND=">=virtual/jdk-1.8:*"
diff --git a/dev-java/xml-commons-resolver/xml-commons-resolver-1.2-r3.ebuild b/dev-java/xml-commons-resolver/xml-commons-resolver-1.2-r3.ebuild
index 23e2253efc56..e2e38c05f1e9 100644
--- a/dev-java/xml-commons-resolver/xml-commons-resolver-1.2-r3.ebuild
+++ b/dev-java/xml-commons-resolver/xml-commons-resolver-1.2-r3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://apache/xerces/xml-commons/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
DEPEND=">=virtual/jdk-1.8:*"
RDEPEND=">=virtual/jre-1.8:*"
diff --git a/dev-java/xmlgraphics-commons/Manifest b/dev-java/xmlgraphics-commons/Manifest
index ee6793181490..2abe373cdc3b 100644
--- a/dev-java/xmlgraphics-commons/Manifest
+++ b/dev-java/xmlgraphics-commons/Manifest
@@ -1 +1,2 @@
-DIST xmlgraphics-commons-2.7-src.tar.gz 2021218 BLAKE2B a16dda389662a38d5ebf6cbd015ac5bf8154b5e2df9e36fd3a33987b04a4de08cc1ebc71e940c05793ef045249c68e7dbb54c418a7c6888020a800e039b0a188 SHA512 7d3993fc920767512f94edef3342757f0ffc9c9dbad80695fe3d77b0ec162380d9b467682ae41238e7ee719601709edb41b2dab06c385dfd9fa898577d8d2c22
+DIST xmlgraphics-commons-2.9-src.tar.gz 2236891 BLAKE2B 5071418eb2773ade7d48faa00a45834ee392603adb7844ce7b7ffc6ab41f0d655ce29265fc56326093b06b7e2cb1b1f4b95ab5e0f339c05cca4e0eb71d59f368 SHA512 896a5fe41277783021075df0de1aa109a7f05416af6b0141301a2452197d85df0daef28f5c2a71802644cbff3bfe79579a1544000a4c1b5cec4c211d8effd521
+DIST xmlgraphics-commons-2.9-src.tar.gz.asc 833 BLAKE2B e85533d2509dc49f42346e373a416c8215600ff84a393ca6de545fce6e73d704a8146a257522e66a254248ebdbc6770e0040658223582184e0d8fd71f95bd941 SHA512 e52f02efba535192455b47a4adbb903426e51163083297eb7be83146e2c7ead913f4c0a51345681123afa64fbb3bffcea982a81fd2b92be2aa4c135082ed8e17
diff --git a/dev-java/xmlgraphics-commons/xmlgraphics-commons-2.7-r1.ebuild b/dev-java/xmlgraphics-commons/xmlgraphics-commons-2.7-r1.ebuild
deleted file mode 100644
index 967964f74e06..000000000000
--- a/dev-java/xmlgraphics-commons/xmlgraphics-commons-2.7-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# 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 mirror://apache/xmlgraphics/commons/source/2.7-src.tar.gz --slot 2 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild xmlgraphics-commons-2.7.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.xmlgraphics:xmlgraphics-commons:2.7"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="XML Graphics Commons"
-HOMEPAGE="https://xmlgraphics.apache.org/commons/"
-SRC_URI="mirror://apache/xmlgraphics/commons/source/${P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="2"
-KEYWORDS="amd64 arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# commons-io:commons-io:1.3.2 -> >=dev-java/commons-io-2.11.0:1
-# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
-
-CP_DEPEND="
- dev-java/commons-io:1
- dev-java/commons-logging:0
-"
-
-# Compile dependencies
-# POM: pom.xml
-# test? junit:junit:4.11 -> >=dev-java/junit-4.13.2:4
-# test? org.mockito:mockito-core:2.28.2 -> !!!suitable-mavenVersion-not-found!!!
-# test? xml-resolver:xml-resolver:1.2 -> >=dev-java/xml-commons-resolver-1.2:0
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*
- test? (
- dev-java/mockito:4
- dev-java/xml-commons-resolver:0
- )"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-DOCS=( NOTICE README )
-
-S="${WORKDIR}/${P}"
-
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4,xml-commons-resolver"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-# There are test failures, bug #832058
-JAVA_TEST_EXCLUDES=(
- "org.apache.xmlgraphics.image.codec.tiff.TIFFImageEncoderTestCase"
- "org.apache.xmlgraphics.image.loader.impl.ImageLoaderImageIOTestCase"
- "org.apache.xmlgraphics.io.XmlSourceUtilTestCase"
- "org.apache.xmlgraphics.ps.dsc.ListenerTestCase"
- "org.apache.xmlgraphics.xmp.XMPParserTestCase"
-)
-
-src_install() {
- java-pkg-simple_src_install
- einstalldocs # https://bugs.gentoo.org/789582
-}
diff --git a/dev-java/xmlgraphics-commons/xmlgraphics-commons-2.9.ebuild b/dev-java/xmlgraphics-commons/xmlgraphics-commons-2.9.ebuild
new file mode 100644
index 000000000000..2c0a190b489a
--- /dev/null
+++ b/dev-java/xmlgraphics-commons/xmlgraphics-commons-2.9.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.xmlgraphics:xmlgraphics-commons:2.9"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="XML Graphics Commons"
+HOMEPAGE="https://xmlgraphics.apache.org/commons/"
+SRC_URI="mirror://apache/xmlgraphics/commons/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/xmlgraphics/commons/source/xmlgraphics-commons-${PV}-src.tar.gz.asc )"
+
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/commons-io:1
+ dev-java/commons-logging:0
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/mockito:4
+ dev-java/xml-commons-resolver:0
+ )"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-xmlgraphics-commons )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/xmlgraphics-commons.apache.org.asc"
+
+DOCS=( NOTICE README )
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_EXTRA_ARGS=( -ea )
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito-4,xml-commons-resolver"
+# Some *.{png,tiff,txt,xmp} are misplaced in "src/test/java".
+JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" "src/test/java" )
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/xmlunit-assertj/Manifest b/dev-java/xmlunit-assertj/Manifest
new file mode 100644
index 000000000000..db73d721a992
--- /dev/null
+++ b/dev-java/xmlunit-assertj/Manifest
@@ -0,0 +1 @@
+DIST xmlunit-2.9.1-src.tar.gz 681721 BLAKE2B 8e8d40e79890d9bec2a3a72a9931cba1c832438e713eb290867a2d95d3ca5a8092327611998075cf1e0117b747563f178b52f3c6435fc0f57c08a94d7240d104 SHA512 147c3868098b526895059b12a1cb692d774f4734fac94069e72a8c61109f8a3bfd7846d7f2596bf7c10dfb1a379185f73a4a0066076fc64a8577b90da8623acf
diff --git a/dev-java/xmlunit-assertj/metadata.xml b/dev-java/xmlunit-assertj/metadata.xml
new file mode 100644
index 000000000000..a707e0e60cc6
--- /dev/null
+++ b/dev-java/xmlunit-assertj/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">xmlunit/xmlunit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/xmlunit-assertj/xmlunit-assertj-2.9.1.ebuild b/dev-java/xmlunit-assertj/xmlunit-assertj-2.9.1.ebuild
new file mode 100644
index 000000000000..35439bd07215
--- /dev/null
+++ b/dev-java/xmlunit-assertj/xmlunit-assertj-2.9.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.xmlunit:xmlunit-assertj:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="XMLUnit with AssertJ fluent API"
+HOMEPAGE="https://www.xmlunit.org/"
+SRC_URI="https://github.com/xmlunit/xmlunit/releases/download/v${PV}/xmlunit-${PV}-src.tar.gz"
+S="${WORKDIR}/xmlunit-${PV}-src/xmlunit-assertj"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ dev-java/assertj-core:3
+ dev-java/byte-buddy:0
+ ~dev-java/xmlunit-core-${PV}:2
+ test? (
+ dev-java/hamcrest:0
+ dev-java/mockito:4
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+DOCS=( ../{CONTRIBUTING,HELP_WANTED,README,RELEASE_NOTES}.md )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.xmlunit.assertj"
+JAVA_CLASSPATH_EXTRA="
+ assertj-core-3
+ byte-buddy
+ xmlunit-core-2
+"
+JAVA_SRC_DIR="src/main/java"
+
+# org.junit.runners.model.InvalidTestClassError: Invalid test class '
+JAVA_TEST_EXCLUDES="org.xmlunit.TestResources"
+JAVA_TEST_GENTOO_CLASSPATH="
+ junit-4
+ mockito-4
+ xmlunit-core-2
+"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ cp {../xmlunit-core/,}src/test/java/org/xmlunit/TestResources.java || die
+}
diff --git a/dev-java/xmlunit-core/Manifest b/dev-java/xmlunit-core/Manifest
new file mode 100644
index 000000000000..db73d721a992
--- /dev/null
+++ b/dev-java/xmlunit-core/Manifest
@@ -0,0 +1 @@
+DIST xmlunit-2.9.1-src.tar.gz 681721 BLAKE2B 8e8d40e79890d9bec2a3a72a9931cba1c832438e713eb290867a2d95d3ca5a8092327611998075cf1e0117b747563f178b52f3c6435fc0f57c08a94d7240d104 SHA512 147c3868098b526895059b12a1cb692d774f4734fac94069e72a8c61109f8a3bfd7846d7f2596bf7c10dfb1a379185f73a4a0066076fc64a8577b90da8623acf
diff --git a/dev-java/xmlunit-core/metadata.xml b/dev-java/xmlunit-core/metadata.xml
new file mode 100644
index 000000000000..a707e0e60cc6
--- /dev/null
+++ b/dev-java/xmlunit-core/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">xmlunit/xmlunit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/xmlunit-core/xmlunit-core-2.9.1.ebuild b/dev-java/xmlunit-core/xmlunit-core-2.9.1.ebuild
new file mode 100644
index 000000000000..7f143588947b
--- /dev/null
+++ b/dev-java/xmlunit-core/xmlunit-core-2.9.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.xmlunit:xmlunit-core:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="XMLUnit for Java"
+HOMEPAGE="https://www.xmlunit.org/"
+SRC_URI="https://github.com/xmlunit/xmlunit/releases/download/v${PV}/xmlunit-${PV}-src.tar.gz"
+S="${WORKDIR}/xmlunit-${PV}-src/xmlunit-core"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+CP_DEPEND="
+ dev-java/jaxb-api:2
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ dev-java/jaxb-runtime:2
+ ${CP_DEPEND}
+ test? (
+ dev-java/hamcrest:0
+ dev-java/istack-commons-runtime:3
+ dev-java/mockito:4
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+DOCS=( ../{CONTRIBUTING,HELP_WANTED,README,RELEASE_NOTES}.md )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.xmlunit"
+JAVA_CLASSPATH_EXTRA="jaxb-runtime-2"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_EXCLUDES=(
+ # org.junit.runners.model.InvalidTestClassError: Invalid test class
+ org.xmlunit.TestResources
+)
+JAVA_TEST_GENTOO_CLASSPATH="
+ hamcrest
+ istack-commons-runtime-3
+ junit-4
+ mockito-4
+"
+JAVA_TEST_SRC_DIR="src/test/java"
diff --git a/dev-java/xmlunit-matchers/Manifest b/dev-java/xmlunit-matchers/Manifest
new file mode 100644
index 000000000000..db73d721a992
--- /dev/null
+++ b/dev-java/xmlunit-matchers/Manifest
@@ -0,0 +1 @@
+DIST xmlunit-2.9.1-src.tar.gz 681721 BLAKE2B 8e8d40e79890d9bec2a3a72a9931cba1c832438e713eb290867a2d95d3ca5a8092327611998075cf1e0117b747563f178b52f3c6435fc0f57c08a94d7240d104 SHA512 147c3868098b526895059b12a1cb692d774f4734fac94069e72a8c61109f8a3bfd7846d7f2596bf7c10dfb1a379185f73a4a0066076fc64a8577b90da8623acf
diff --git a/dev-java/xmlunit-matchers/metadata.xml b/dev-java/xmlunit-matchers/metadata.xml
new file mode 100644
index 000000000000..a707e0e60cc6
--- /dev/null
+++ b/dev-java/xmlunit-matchers/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">xmlunit/xmlunit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/xmlunit-matchers/xmlunit-matchers-2.9.1.ebuild b/dev-java/xmlunit-matchers/xmlunit-matchers-2.9.1.ebuild
new file mode 100644
index 000000000000..e73355114db2
--- /dev/null
+++ b/dev-java/xmlunit-matchers/xmlunit-matchers-2.9.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.xmlunit:xmlunit-matchers:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="XMLUnit for Java Hamcrest Matchers"
+HOMEPAGE="https://www.xmlunit.org/"
+SRC_URI="https://github.com/xmlunit/xmlunit/releases/download/v${PV}/xmlunit-${PV}-src.tar.gz"
+S="${WORKDIR}/xmlunit-${PV}-src/xmlunit-matchers"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ dev-java/hamcrest-core:1.3
+ ~dev-java/xmlunit-core-${PV}:2
+ test? (
+ dev-java/hamcrest-library:1.3
+ dev-java/mockito:4
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+DOCS=( ../{CONTRIBUTING,HELP_WANTED,README,RELEASE_NOTES}.md )
+
+JAVA_AUTOMATIC_MODULE_NAME="org.xmlunit.matchers"
+JAVA_CLASSPATH_EXTRA="
+ hamcrest-core-1.3
+ xmlunit-core-2
+"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_EXCLUDES="org.xmlunit.TestResources"
+JAVA_TEST_GENTOO_CLASSPATH="
+ hamcrest-library-1.3
+ junit-4
+ mockito-4
+ xmlunit-core-2
+"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ cp {../xmlunit-core/,}src/test/java/org/xmlunit/TestResources.java || die
+}
diff --git a/dev-java/xmlunit/xmlunit-1.6-r1.ebuild b/dev-java/xmlunit/xmlunit-1.6-r1.ebuild
deleted file mode 100644
index d3c83446d281..000000000000
--- a/dev-java/xmlunit/xmlunit-1.6-r1.ebuild
+++ /dev/null
@@ -1,56 +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="xmlunit:xmlunit:1.6"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="XMLUnit extends JUnit and NUnit to enable unit testing of XML"
-SRC_URI="mirror://sourceforge/${PN}/${P}-src.zip"
-HOMEPAGE="http://xmlunit.sourceforge.net/"
-
-LICENSE="BSD"
-SLOT="1"
-KEYWORDS="amd64 ~arm64 ppc64 x86"
-
-CDEPEND="dev-java/junit:0"
-
-DEPEND=">=virtual/jdk-1.8:*
- app-arch/unzip:0
- doc? ( app-text/docbook-xsl-stylesheets:0 )
- test? (
- dev-java/ant-junit:0
- dev-java/ant-core:0
- )
- ${CDEPEND}"
-
-RDEPEND=">=virtual/jre-1.8:*
- ${CDEPEND}"
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-EANT_GENTOO_CLASSPATH="junit"
-
-EANT_DOC_TARGET="users-guide-html javadocs"
-EANT_ANT_TASKS="ant-core"
-EANT_EXTRA_ARGS="-Ddb5.xsl=/usr/share/sgml/docbook/xsl-stylesheets"
-
-src_test() {
- ANT_TASKS="ant-junit ant-core" eant test
-}
-
-src_install() {
- java-pkg_newjar "build/lib/${P}.jar"
-
- dodoc README.txt
-
- if use doc; then
- java-pkg_dojavadoc build/doc/api
- docinto html
- dodoc -r build/doc/userguide/html/
- fi
-
- use source && java-pkg_dosrc src/java/org
-}
diff --git a/dev-java/xmlunit/xmlunit-1.6-r2.ebuild b/dev-java/xmlunit/xmlunit-1.6-r2.ebuild
new file mode 100644
index 000000000000..c71644977437
--- /dev/null
+++ b/dev-java/xmlunit/xmlunit-1.6-r2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="xmlunit:xmlunit:1.6"
+JAVA_TESTING_FRAMEWORKS="junit"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="XMLUnit extends JUnit and NUnit to enable unit testing of XML"
+HOMEPAGE="https://sourceforge.net/projects/xmlunit/ https://www.xmlunit.org"
+SRC_URI="mirror://sourceforge/project/xmlunit/xmlunit%20for%20Java/XMLUnit%20for%20Java%20${PV}/${P}-src.zip"
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD"
+SLOT="1"
+KEYWORDS="amd64 ~arm64 ppc64 x86"
+
+BDEPEND="app-arch/unzip"
+CP_DEPEND="dev-java/junit:0"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ doc? ( app-text/docbook-xsl-stylesheets:0 )
+ test? ( >=dev-java/ant-1.10.14:0[junit] )
+"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/java"
+JAVA_TEST_EXTRA_ARGS=( -Dbasedir="." )
+JAVA_TEST_RESOURCE_DIRS="tests/etc"
+JAVA_TEST_SRC_DIR="tests/java"
+
+src_install() {
+ java-pkg-simple_src_install
+ if use doc; then
+ docinto html
+ dodoc -r userguide
+ fi
+}
diff --git a/dev-java/xmpbox/Manifest b/dev-java/xmpbox/Manifest
index e5a2828f13bc..f36aea95224a 100644
--- a/dev-java/xmpbox/Manifest
+++ b/dev-java/xmpbox/Manifest
@@ -1 +1 @@
-DIST pdfbox-2.0.26-src.zip 15766524 BLAKE2B eafedf1db5a54d36cb42111b736ad79adfcc106630fa4b2bc57873dcfbdbbb7bd0e9408611b0d8771909e719813e388430944ae0fbaf800bdc859595de2b101b SHA512 e14c57e28d10324dbcb6ad239bad5751a2dab0035bbd80427afd03f65467ec1376ddd7d08e7cefd4d950b149f85d8f505f6f50cc3093fd65bb8a2cbb2b8c7c1e
+DIST pdfbox-2.0.27-src.zip 15770627 BLAKE2B 9f93d597141ff3da39b69da3ce989a0cc7f4020071e5cb1609a8b86d0f12a3219037cb4c7b276acf58ee6b07d842b6d7c76e14fdf79e9efdeac401048e345f89 SHA512 59a5675f5d1d34f092adc019679f7d10e7e93c0f554a002ac29d48cbffcaa600d930309fa94a92191c01ead8da905cbb37ce5e233dcc9b8732a881d4abf75def
diff --git a/dev-java/xmpbox/xmpbox-2.0.26.ebuild b/dev-java/xmpbox/xmpbox-2.0.26.ebuild
deleted file mode 100644
index 2782e6957f22..000000000000
--- a/dev-java/xmpbox/xmpbox-2.0.26.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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 mirror://apache/pdfbox/2.0.26/pdfbox-2.0.26-src.zip --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild xmpbox-2.0.26.ebuild
-
-EAPI=8
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.pdfbox:xmpbox:2.0.26"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="An open source Java tool that implements Adobe's XMP(TM) specification"
-HOMEPAGE="https://pdfbox.apache.org"
-SRC_URI="mirror://apache/pdfbox/${PV}/pdfbox-${PV}-src.zip"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc64 x86"
-
-# Common dependencies
-# POM: pom.xml
-# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
-
-CP_DEPEND="dev-java/jaxb-api:2"
-
-# Compile dependencies
-# POM: pom.xml
-# javax.xml.bind:jaxb-api:2.3.1 -> !!!groupId-not-found!!!
-# POM: pom.xml
-# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
-
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*"
-
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/pdfbox-${PV}/${PN}"
-
-JAVA_SRC_DIR="src/main/java"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS="src/test/resources"
-
-JAVA_TEST_EXCLUDES=(
- # 1) initializationError(org.apache.xmpbox.parser.PropMappingTest)
- # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.apache.xmpbox.parser.PropMappingTest':
- # 1. No runnable methods
- org.apache.xmpbox.parser.PropMappingTest
-)
-
-src_install() {
- default # https://bugs.gentoo.org/789582
- java-pkg-simple_src_install
-}
diff --git a/dev-java/xmpbox/xmpbox-2.0.27.ebuild b/dev-java/xmpbox/xmpbox-2.0.27.ebuild
new file mode 100644
index 000000000000..e76bea27a1e5
--- /dev/null
+++ b/dev-java/xmpbox/xmpbox-2.0.27.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 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 mirror://apache/pdfbox/2.0.27/pdfbox-2.0.27-src.zip --slot 0 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild xmpbox-2.0.27.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.pdfbox:xmpbox:2.0.27"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="An open source Java tool that implements Adobe's XMP(TM) specification"
+HOMEPAGE="https://pdfbox.apache.org"
+SRC_URI="mirror://apache/pdfbox/${PV}/pdfbox-${PV}-src.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc64 x86"
+
+# Common dependencies
+# POM: pom.xml
+# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0
+
+CP_DEPEND="dev-java/jaxb-api:2"
+
+# Compile dependencies
+# POM: pom.xml
+# javax.xml.bind:jaxb-api:2.3.1 -> !!!groupId-not-found!!!
+# POM: pom.xml
+# test? junit:junit:4.13.2 -> >=dev-java/junit-4.13.2:4
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}/pdfbox-${PV}/${PN}"
+
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+
+JAVA_TEST_EXCLUDES=(
+ # 1) initializationError(org.apache.xmpbox.parser.PropMappingTest)
+ # org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.apache.xmpbox.parser.PropMappingTest':
+ # 1. No runnable methods
+ org.apache.xmpbox.parser.PropMappingTest
+)
diff --git a/dev-java/xom/Manifest b/dev-java/xom/Manifest
index 8c6360068295..c1a869f6433b 100644
--- a/dev-java/xom/Manifest
+++ b/dev-java/xom/Manifest
@@ -1 +1 @@
-DIST xom-1.3.7-src.tar.gz 5898676 BLAKE2B 963190849bcdb1b4e786a099dd2abd2ed8f17e5b486bce9df48d9f6ddab4f381c3c5c7d70388f9d74710547ff7a62bbd6a2eb9c2a6d6ff8cd06156b83e98aba0 SHA512 9b574f23c9394f5b54dc9b33e41e89638d041337c08336f44f968a55a1633dcc90ff1b520f7ad57cdbe68a1f81e221ac7e83336eb472876ab43939d9ce940262
+DIST xom-1.3.8-src.tar.gz 5898196 BLAKE2B 59d2af50b1f662419cf9e860c9946b250b3a803b3e3190483bef5d9b77a51272f1f2b11b10da1d72daff5f9a38dfdd3c3c13d15de7b1d9e19372895316df0033 SHA512 4a9b328a51fc24a447271e52b2c084178e2a5091b6e37a6dcb05cfa7c1aeacc426bae896a84dd9a7adc425f77785c12f0ee23805863f096232ad6ca4a2335b44
diff --git a/dev-java/xom/files/xom-1.3.7-disable-invalid-test.patch b/dev-java/xom/files/xom-1.3.7-disable-invalid-test.patch
index ef897ae004c9..6ee097470edc 100644
--- a/dev-java/xom/files/xom-1.3.7-disable-invalid-test.patch
+++ b/dev-java/xom/files/xom-1.3.7-disable-invalid-test.patch
@@ -1,5 +1,14 @@
-diff --git a/XOM/src/nu/xom/tests/XSLTransformTest.java b/XOM/src/nu/xom/tests/XSLTransformTest.java
-index 443c058..56f7b6e 100644
+1) testIllegalTransform(nu.xom.tests.XSLTransformTest)
+nu.xom.xslt.XSLException: Syntax error in stylesheet
+ at nu.xom.xslt.XSLTransform.<init>(XSLTransform.java:181)
+ at nu.xom.xslt.XSLTransform.<init>(XSLTransform.java:226)
+ at nu.xom.xslt.XSLTransform.<init>(XSLTransform.java:201)
+ at nu.xom.tests.XSLTransformTest.testIllegalTransform(XSLTransformTest.java:775)
+ ... 25 trimmed
+Caused by: javax.xml.transform.TransformerConfigurationException: Cannot find external method 'www.example.com.fn' (must be public).
+ at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:990)
+ at nu.xom.xslt.XSLTransform.<init>(XSLTransform.java:173)
+ ... 29 more
--- a/XOM/src/nu/xom/tests/XSLTransformTest.java
+++ b/XOM/src/nu/xom/tests/XSLTransformTest.java
@@ -765,7 +765,7 @@ public class XSLTransformTest extends XOMTestCase {
diff --git a/dev-java/xom/metadata.xml b/dev-java/xom/metadata.xml
index 511ed7c60117..08ce1d1a6403 100644
--- a/dev-java/xom/metadata.xml
+++ b/dev-java/xom/metadata.xml
@@ -9,4 +9,7 @@
XOM is a new XML object model. It is a tree-based API for processing
XML with Java that strives for correctness and simplicity.
</longdescription>
+ <upstream>
+ <remote-id type="github">elharo/xom</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-java/xom/xom-1.3.7.ebuild b/dev-java/xom/xom-1.3.7.ebuild
deleted file mode 100644
index 5289b1b22b80..000000000000
--- a/dev-java/xom/xom-1.3.7.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-JAVA_TESTING_FRAMEWORKS="junit"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="XML Object Model"
-HOMEPAGE="https://xom.nu"
-SRC_URI="https://github.com/elharo/${PN}/releases/download/v${PV}/${P}-src.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
-
-CDEPEND="
- dev-java/jaxen:1.2
- dev-java/xerces:2"
-
-RDEPEND="
- ${CDEPEND}
- >=virtual/jre-1.8:*"
-
-DEPEND="
- ${CDEPEND}
- dev-java/junit:0
- >=virtual/jdk-1.8:*"
-
-JAVA_GENTOO_CLASSPATH="jaxen-1.2,xerces-2"
-JAVA_SRC_DIR="src/main/java"
-JAVA_RESOURCE_DIRS="src/main/resources"
-
-JAVA_TEST_GENTOO_CLASSPATH="junit"
-JAVA_TEST_SRC_DIR="src/test/java"
-
-PATCHES=(
- "${FILESDIR}/${P}-disable-invalid-test.patch"
-)
-
-src_prepare() {
- default
-
- java-pkg_clean
-
- # removing directories based on build.xml
- rm -rv XOM/src/nu/xom/benchmarks/ || die
- rm -rv XOM/src/nu/xom/integrationtests/ || die
- rm -rv XOM/src/nu/xom/samples/ || die
- rm -rv XOM/src/nu/xom/tools/ || die
-
- # reorganize the code and resources so that it goes well with java-pkg-simple
- mkdir -pv ${JAVA_SRC_DIR} ${JAVA_RESOURCE_DIRS} ${JAVA_TEST_SRC_DIR}/nu/xom || die
- mv -v XOM/src/nu/xom/tests ${JAVA_TEST_SRC_DIR}/nu/xom/ || die
- mv -v XOM/data . || die
- pushd XOM/src || die
- for file in $(find -type f -name "*.java"); do
- cp --parents -R ${file} "${WORKDIR}/${JAVA_SRC_DIR}" || die
- done
- for file in $(find -type f ! -name "*.java"); do
- cp --parents -R ${file} "${WORKDIR}/${JAVA_RESOURCE_DIRS}" || die
- done
- popd
-}
diff --git a/dev-java/xom/xom-1.3.8-r1.ebuild b/dev-java/xom/xom-1.3.8-r1.ebuild
new file mode 100644
index 000000000000..f17d5cfacb87
--- /dev/null
+++ b/dev-java/xom/xom-1.3.8-r1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+MAVEN_ID="xom:xom:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="XML Object Model"
+HOMEPAGE="https://xom.nu"
+SRC_URI="https://github.com/elharo/${PN}/releases/download/v${PV}/${P}-src.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+# Bug #905215
+PROPERTIES="test_network"
+RESTRICT="test"
+
+CP_DEPEND="
+ dev-java/jaxen:1.2
+ dev-java/xerces:2"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+DEPEND="
+ ${CP_DEPEND}
+ dev-java/junit:0
+ >=virtual/jdk-1.8:*"
+
+PATCHES=( "${FILESDIR}/xom-1.3.7-disable-invalid-test.patch" )
+
+JAVA_AUTOMATIC_MODULE_NAME="nu.xom"
+JAVA_MAIN_CLASS="nu.xom.Info"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ java-pkg_clean
+ default
+
+ # removing directories based on build.xml
+ rm -rv XOM/src/nu/xom/benchmarks/ || die
+ rm -rv XOM/src/nu/xom/integrationtests/ || die
+ rm -rv XOM/src/nu/xom/samples/ || die
+ rm -rv XOM/src/nu/xom/tools/ || die
+
+ # reorganize the code and resources so that it goes well with java-pkg-simple
+ mkdir -pv ${JAVA_SRC_DIR} ${JAVA_RESOURCE_DIRS} ${JAVA_TEST_SRC_DIR}/nu/xom || die
+ mv -v {XOM/src,${JAVA_TEST_SRC_DIR}}/nu/xom/tests || die
+ mv -v XOM/data . || die
+ pushd XOM/src || die
+ for file in $(find -type f -name "*.java"); do
+ cp --parents -R ${file} "${WORKDIR}/${JAVA_SRC_DIR}" || die
+ done
+ for file in $(find -type f ! -name "*.java"); do
+ cp --parents -R ${file} "${WORKDIR}/${JAVA_RESOURCE_DIRS}" || die
+ done
+ popd
+}
+
+src_test() {
+ # These tests need to run separately, otherwise fail
+ # Should pass with "OK (126 tests)"
+ JAVA_TEST_RUN_ONLY=(
+ nu.xom.tests.AttributesTest
+ nu.xom.tests.DocumentTest
+ nu.xom.tests.ElementTest
+ nu.xom.tests.NodesTest
+ nu.xom.tests.ParentNodeTest
+ )
+ java-pkg-simple_src_test
+
+ JAVA_TEST_RUN_ONLY=()
+ pushd src/test/java > /dev/null || die
+ # Exclude EBCDICTest.java
+ # https://github.com/elharo/xom/blob/v1.3.8/src/nu/xom/tests/EBCDICTest.java#L71-L73
+ # And exclude those tests already run before
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -type f \
+ -name "*Test.java" \
+ ! -name 'EBCDICTest.java' \
+ ! -name 'AttributesTest.java' \
+ ! -name 'DocumentTest.java' \
+ ! -name 'ElementTest.java' \
+ ! -name 'NodesTest.java' \
+ ! -name 'ParentNodeTest.java' \
+ )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd > /dev/null || die
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/xpp2/xpp2-2.1.10-r3.ebuild b/dev-java/xpp2/xpp2-2.1.10-r3.ebuild
index 8874e74bb93b..c4b5aaa7a88b 100644
--- a/dev-java/xpp2/xpp2-2.1.10-r3.ebuild
+++ b/dev-java/xpp2/xpp2-2.1.10-r3.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://web.archive.org/web/20130904173708/http://www.extreme.indiana.e
LICENSE="Apache-1.1 IBM"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="test"
# Some failures, partly because we haven't patched Xerces but probably
diff --git a/dev-java/xpp3/xpp3-1.1.4c-r6.ebuild b/dev-java/xpp3/xpp3-1.1.4c-r6.ebuild
index 8a6c69a8706a..fb7803894bc8 100644
--- a/dev-java/xpp3/xpp3-1.1.4c-r6.ebuild
+++ b/dev-java/xpp3/xpp3-1.1.4c-r6.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://repo1.maven.org/maven2/${PN}/${PN}/${PV}/${P}-sources.jar -> ${
LICENSE="Apache-1.1 IBM JDOM LGPL-2.1+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
# Restriction to java 1.8
# Otherwise jdk 11+ would fail to build javadoc:
diff --git a/dev-java/xsdlib/Manifest b/dev-java/xsdlib/Manifest
index 492661f462ca..9475f768708b 100644
--- a/dev-java/xsdlib/Manifest
+++ b/dev-java/xsdlib/Manifest
@@ -1,2 +1 @@
DIST msv-2022.7.tar.gz 2594951 BLAKE2B fce006f4b845efcd930b7999ac00eaab06c404888eb73a6eeab6cfad616b4922271d2d682abc82f3be4c4f6a791aa14681f6e6bfebd2118ac3aa2bcba41fd1f8 SHA512 315342628f79c561883be0d966211dd81daae66a414dcc9bb5a87d86f97121d38b5835e9a6d1ac7c21ccff46040e53d3cabd32e9ea677c9ca4335a86c5259949
-DIST xsdlib-2013.6.1-sources.jar 274740 BLAKE2B 356c3e6005c26a1b63ea016a523140d93bb8c6a4c1952d60f5a881c92dd013e1691451be96e31b7c96c48e1f182e0224bceb712e230bb008ad97732a8e9ffdb6 SHA512 a4e308fae6a1116158ddbebfad0570f6cf1f840acb72de8bdd9414b363da78edf6aea2349f4ac7511b774a494f9e4c17c309f86aefc39b30421a1c86945302b0
diff --git a/dev-java/xsdlib/xsdlib-2013.6.1.ebuild b/dev-java/xsdlib/xsdlib-2013.6.1.ebuild
deleted file mode 100644
index 44b1fa499ffa..000000000000
--- a/dev-java/xsdlib/xsdlib-2013.6.1.ebuild
+++ /dev/null
@@ -1,35 +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"
-MAVEN_ID="net.java.dev.msv:xsdlib:2013.6.1"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Sun XML Datatypes Library"
-HOMEPAGE="http://msv.java.net/"
-SRC_URI="https://repo1.maven.org/maven2/net/java/dev/msv/xsdlib/${PV}/xsdlib-${PV}-sources.jar"
-
-LICENSE="BSD Apache-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-
-CP_DEPEND="dev-java/relaxng-datatype:0"
-BDEPEND="app-arch/unzip"
-RDEPEND="${CP_DEPEND}
- >=virtual/jre-1.8:*"
-DEPEND="${CP_DEPEND}
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}"
-
-JAVA_RESOURCE_DIRS="resources"
-
-src_prepare() {
- default
- mkdir resources || die
- cp -r com resources || die
- find "${JAVA_RESOURCE_DIRS}" -type f ! -name '*.properties' -exec rm -rf {} + || die
-}
diff --git a/dev-java/xsdlib/xsdlib-2022.7.ebuild b/dev-java/xsdlib/xsdlib-2022.7.ebuild
index 66c89422937a..638b474d3756 100644
--- a/dev-java/xsdlib/xsdlib-2022.7.ebuild
+++ b/dev-java/xsdlib/xsdlib-2022.7.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/xmlark/msv/archive/msv-${PV}.tar.gz"
LICENSE="BSD-1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
# Common dependencies
# POM: pom.xml
diff --git a/dev-java/xz-java/Manifest b/dev-java/xz-java/Manifest
index 624ff54095fb..56fcf0e06d10 100644
--- a/dev-java/xz-java/Manifest
+++ b/dev-java/xz-java/Manifest
@@ -1 +1,2 @@
DIST xz-java-1.9.zip 155868 BLAKE2B e1e355e75b3d14cae9a12dd00105ff38e25ab9c270cecafc83f27a7a03b36aa7a33647b40b7458b3592319a2b574e10cef9786413f0a12af585199a8f00731de SHA512 743f81ac715d7ac2760af8cee4c62d8fbeef156c0d3e0e85e4605ae08d6a71d1e6f6675e0558e7906a92d5fb3ca1feab9db015a1d42b5df73de2dec770a339cb
+DIST xz-java-1.9.zip.sig 566 BLAKE2B 9702fa3021c4274aacc74ef84903429ed5301eac11cae6bf79014a5bad590c51b169c35f64add85c964cb815129acf920a014e5601acfcd075147f5fb8e9df1e SHA512 5f511260da0f5a9338106ac56511b7a105996852103a3f40cc4a44a7e4e03dc39a645bb0a57ae99bcde8267d5a2d514a7c956a8bfe226c0472e1fa3c7d28e3d5
diff --git a/dev-java/xz-java/metadata.xml b/dev-java/xz-java/metadata.xml
index 136ae36ee8ee..4221e170cbc0 100644
--- a/dev-java/xz-java/metadata.xml
+++ b/dev-java/xz-java/metadata.xml
@@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>tommy@gentoo.org</email>
- <name>Thomas Sachau (Tommy[D])</name>
- </maintainer>
-<maintainer type="project">
+ <maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
diff --git a/dev-java/xz-java/xz-java-1.9-r1.ebuild b/dev-java/xz-java/xz-java-1.9-r1.ebuild
new file mode 100644
index 000000000000..0b7ed480b07a
--- /dev/null
+++ b/dev-java/xz-java/xz-java-1.9-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc examples source"
+MAVEN_ID="org.tukaani:xz:1.9"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Implementation of xz data compression in pure java"
+HOMEPAGE="https://tukaani.org/xz/java.html"
+SRC_URI="https://tukaani.org/xz/${P}.zip
+ verify-sig? ( https://tukaani.org/xz/${P}.zip.sig )"
+S="${WORKDIR}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+BDEPEND="
+ app-arch/unzip
+ verify-sig? ( sec-keys/openpgp-keys-lassecollin )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/lassecollin.asc"
+
+JAVA_SRC_DIR="src/org"
+
+DOCS=( README NEWS COPYING THANKS )
+
+src_install() {
+ java-pkg-simple_src_install
+ use examples && java-pkg_doexamples src/*Demo.java
+ einstalldocs
+}
diff --git a/dev-java/xz-java/xz-java-1.9.ebuild b/dev-java/xz-java/xz-java-1.9.ebuild
deleted file mode 100644
index 0a65a660b650..000000000000
--- a/dev-java/xz-java/xz-java-1.9.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc examples source"
-MAVEN_ID="org.tukaani:xz:1.9"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Implementation of xz data compression in pure java"
-HOMEPAGE="https://tukaani.org/xz/java.html"
-SRC_URI="https://tukaani.org/xz/${P}.zip"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-RDEPEND="
- >=virtual/jre-1.8:*"
-
-DEPEND="
- app-arch/unzip
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}"
-
-JAVA_SRC_DIR="src/org"
-
-DOCS=( README NEWS COPYING THANKS )
-
-src_install() {
- java-pkg-simple_src_install
- use examples && java-pkg_doexamples src/*Demo.java
- einstalldocs
-}
diff --git a/dev-java/zstd-jni/Manifest b/dev-java/zstd-jni/Manifest
index 5b766999bc7c..058ed6af6eed 100644
--- a/dev-java/zstd-jni/Manifest
+++ b/dev-java/zstd-jni/Manifest
@@ -1,2 +1 @@
-DIST zstd-jni-1.5.0.5.tar.gz 9297542 BLAKE2B 96b2aa09d62c7a45c352d52358aa47a66c95c1b122bfc61b7e2b3aaa829e011a8ed6f71373130700ecdb7d8541ca6971c2cd7fda01be396053532c4aeeca3cb1 SHA512 b63858d58c7d1b2c9d120f49d1289caa7e5b429d0f8c3c95b7f58a5d432f09d41504c5f5b0934f53be8eadf3c1ab02a1a872e292bac465907fffe2a67108267e
-DIST zstd-jni-1.5.2.4.tar.gz 9343792 BLAKE2B 8a446b229d49671b3f38d630ecf2c2688210176af95b66c788027de89986ad1f23615582d670f1d7a0b3866572b05c722ad6c71783d208401844287e8149f65c SHA512 bf67fc6573f2b1e45bd4985186814a54fb948a1b7280b5cf2f6d2577626c1f70626a58994291ffb228f097c91d60e3ed52d56ad92830c8f386b96b11fb6cf4a2
+DIST zstd-jni-1.5.2.5.tar.gz 9342510 BLAKE2B 259f3087f06c567f2126dacfb90ecfcc1d20f389ff99ef48a6f8c558441b37b56f29b73ca55aad176116439c4ef47f9ad253116a968f74e527eb13a0fda98f7e SHA512 16f2aeee6005e2da366a849f0972b3ef9245d355ed875e633bf4013d340cc74445604710e7b628aefafa90f74dfaa82a93c741f06f633b8a6c2162e9da304850
diff --git a/dev-java/zstd-jni/files/zstd-jni-1.5.0.4-filter-flags.patch b/dev-java/zstd-jni/files/zstd-jni-1.5.0.4-filter-flags.patch
deleted file mode 100644
index 8c880da46623..000000000000
--- a/dev-java/zstd-jni/files/zstd-jni-1.5.0.4-filter-flags.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5d0092f..d0f45b5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -10,4 +10,3 @@ file(GLOB_RECURSE SOURCES RELATIVE ${CMAKE_SOURCE_DIR} "src/*.c")
- add_library(zstd-jni-${NATIVE_VERSION} SHARED ${SOURCES})
- add_definitions("-DZSTD_MULTITHREAD=1")
- add_definitions("-DZSTD_LEGACY_SUPPORT=4")
--add_definitions("-Oz")
diff --git a/dev-java/zstd-jni/metadata.xml b/dev-java/zstd-jni/metadata.xml
index 6021501589e0..510496093d7f 100644
--- a/dev-java/zstd-jni/metadata.xml
+++ b/dev-java/zstd-jni/metadata.xml
@@ -5,4 +5,7 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+<upstream>
+ <remote-id type="github">luben/zstd-jni</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/dev-java/zstd-jni/zstd-jni-1.5.0.5.ebuild b/dev-java/zstd-jni/zstd-jni-1.5.0.5.ebuild
deleted file mode 100644
index 90da21d386e6..000000000000
--- a/dev-java/zstd-jni/zstd-jni-1.5.0.5.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MAVEN_ID="com.github.luben:zstd-jni:1.5.0-5"
-MY_PV="$(ver_rs 3 -)"
-
-inherit java-pkg-2 java-pkg-simple cmake
-
-DESCRIPTION="JNI bindings for Zstd native library"
-
-HOMEPAGE="https://github.com/luben/zstd-jni"
-SRC_URI="https://github.com/luben/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86"
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND=">=virtual/jdk-1.8:*"
-
-PATCHES=(
- "${FILESDIR}/zstd-jni-1.5.0.4-filter-flags.patch"
-)
-
-JAVA_SRC_DIR="src/main/java"
-
-src_prepare() {
- cmake_src_prepare
-
- echo -e "package com.github.luben.zstd.util;\n\npublic class ZstdVersion\n{\n\tpublic static final String VERSION = \"${PV}\";\n}\n" \
- >> ${JAVA_SRC_DIR}/com/github/luben/zstd/util/ZstdVersion.java || die "Failed to generate version class"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DJAVA_HOME="$(java-config -g JAVA_HOME)"
- # Resolve bug #776910
- # Reference: https://stackoverflow.com/a/51764145
- -DJAVA_AWT_LIBRARY="NotNeeded"
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- mkdir -p "${S}/target/classes/META-INF" || die "Failed to create META-INF dir"
- echo "Manifest-Version: 1.0
-Implementation-Version: ${MY_PV}
-Bundle-NativeCode: libzstd-jni.so;osname=Linux" > "${S}/target/classes/META-INF/MANIFEST.MF" || die "Failed to create MANIFEST.MF"
- java-pkg-simple_src_compile
- java-pkg_addres ${JAVA_JAR_FILENAME} "${BUILD_DIR}" -name libzstd-jni.so || die "Failed to add library to jar"
-}
-
-src_install() {
- java-pkg-simple_src_install
-}
diff --git a/dev-java/zstd-jni/zstd-jni-1.5.2.4.ebuild b/dev-java/zstd-jni/zstd-jni-1.5.2.4.ebuild
deleted file mode 100644
index b613a58dbeee..000000000000
--- a/dev-java/zstd-jni/zstd-jni-1.5.2.4.ebuild
+++ /dev/null
@@ -1,67 +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"
-MAVEN_ID="com.github.luben:zstd-jni:1.5.2-4"
-
-inherit java-pkg-2 java-pkg-simple cmake
-
-DESCRIPTION="JNI bindings for Zstd native library"
-HOMEPAGE="https://github.com/luben/zstd-jni"
-# Snapshop needed because this version is not tagged.
-MY_COMMIT="37faee49643b2739457716e3752f44fcaa09005f"
-SRC_URI="https://github.com/luben/zstd-jni/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND=">=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/zstd-jni-${MY_COMMIT}"
-
-JAVA_AUTOMATIC_MODULE_NAME="com.github.luben.zstd_jni"
-JAVA_RESOURCE_DIRS="resources"
-JAVA_SRC_DIR="src/main/java"
-
-src_prepare() {
- cmake_src_prepare
- # https://github.com/luben/zstd-jni/blob/v1.5.2-3/build.gradle#L66
- cat > src/main/java/com/github/luben/zstd/util/ZstdVersion.java <<-EOF || die
- package com.github.luben.zstd.util;
-
- public class ZstdVersion
- {
- public static final String VERSION = "$(ver_rs 3 -)";
- }
- EOF
-
- mkdir -p resources/META-INF || die
- cat > resources/META-INF/MANIFEST.MF <<-EOF || die
- Implementation-Version: $(ver_rs 3 -)
- Bundle-NativeCode: libzstd-jni.so;osname=Linux"
- EOF
-}
-
-src_configure() {
- local mycmakeargs=(
- -DJAVA_HOME="$(java-config -g JAVA_HOME)"
- # Resolve bug #776910
- # Reference: https://stackoverflow.com/a/51764145
- -DJAVA_AWT_LIBRARY="NotNeeded"
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- java-pkg-simple_src_compile
-}
-
-src_install() {
- java-pkg_doso "${BUILD_DIR}/libzstd-jni-$(ver_rs 3 -).so"
- java-pkg-simple_src_install
-}
diff --git a/dev-java/zstd-jni/zstd-jni-1.5.2.5.ebuild b/dev-java/zstd-jni/zstd-jni-1.5.2.5.ebuild
new file mode 100644
index 000000000000..39ac7859fae4
--- /dev/null
+++ b/dev-java/zstd-jni/zstd-jni-1.5.2.5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="com.github.luben:zstd-jni:1.5.2-5"
+
+inherit java-pkg-2 java-pkg-simple cmake
+
+DESCRIPTION="JNI bindings for Zstd native library"
+HOMEPAGE="https://github.com/luben/zstd-jni"
+SRC_URI="https://github.com/luben/zstd-jni/archive/c$(ver_rs 3 -).tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND=">=virtual/jdk-1.8:*"
+
+S="${WORKDIR}/zstd-jni-c$(ver_rs 3 -)"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.github.luben.zstd_jni"
+JAVA_RESOURCE_DIRS="resources"
+JAVA_SRC_DIR="src/main/java"
+
+src_prepare() {
+ cmake_src_prepare
+ # https://github.com/luben/zstd-jni/blob/c1.5.2-5/build.gradle#L66
+ cat > src/main/java/com/github/luben/zstd/util/ZstdVersion.java <<-EOF || die
+ package com.github.luben.zstd.util;
+
+ public class ZstdVersion
+ {
+ public static final String VERSION = "$(ver_rs 3 -)";
+ }
+ EOF
+
+ mkdir -p resources/META-INF || die
+ echo "Implementation-Version: $(ver_rs 3 -)" \
+ > resources/META-INF/MANIFEST.MF || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DJAVA_HOME="$(java-config -g JAVA_HOME)"
+ # Resolve bug #776910
+ # Reference: https://stackoverflow.com/a/51764145
+ -DJAVA_AWT_LIBRARY="NotNeeded"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ java-pkg-simple_src_compile
+}
+
+src_install() {
+ java-pkg_doso "${BUILD_DIR}/libzstd-jni-$(ver_rs 3 -).so"
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/zxing-core/Manifest b/dev-java/zxing-core/Manifest
new file mode 100644
index 000000000000..e80a49af97f5
--- /dev/null
+++ b/dev-java/zxing-core/Manifest
@@ -0,0 +1 @@
+DIST zxing-3.5.1.tar.gz 132915650 BLAKE2B f749de7db35f3ce56d80fb1aa547e65d57425a1d1e20dfd9b40e02e24c52e6f488ca26bf8e0217b7d65677441578bf67439ad3a1fca3155ab35598b6d9833ece SHA512 8c093e5b8e4d2cd01e8979b5e9f788ac32a8d0bb49f3c7ad42044e95bb4a352e66e2802f11ad7429ed6ba140b360c596f389cd721521b84a5a93918df19285de
diff --git a/dev-java/zxing-core/metadata.xml b/dev-java/zxing-core/metadata.xml
new file mode 100644
index 000000000000..c77bb25a2b63
--- /dev/null
+++ b/dev-java/zxing-core/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">zxing/zxing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/zxing-core/zxing-core-3.5.1.ebuild b/dev-java/zxing-core/zxing-core-3.5.1.ebuild
new file mode 100644
index 000000000000..b819019f170b
--- /dev/null
+++ b/dev-java/zxing-core/zxing-core-3.5.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.zxing:core:3.5.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Core barcode encoding/decoding library"
+HOMEPAGE="https://github.com/zxing/zxing/core"
+SRC_URI="https://github.com/zxing/zxing/archive/zxing-${PV}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="3"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/zxing-zxing-${PV}/core"
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.zxing"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" )
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_EXCLUDES=(
+ # not runnable
+ com.google.zxing.common.TestResult
+ com.google.zxing.oned.rss.expanded.TestCaseUtil
+)
diff --git a/dev-java/zxing-javase/Manifest b/dev-java/zxing-javase/Manifest
new file mode 100644
index 000000000000..e80a49af97f5
--- /dev/null
+++ b/dev-java/zxing-javase/Manifest
@@ -0,0 +1 @@
+DIST zxing-3.5.1.tar.gz 132915650 BLAKE2B f749de7db35f3ce56d80fb1aa547e65d57425a1d1e20dfd9b40e02e24c52e6f488ca26bf8e0217b7d65677441578bf67439ad3a1fca3155ab35598b6d9833ece SHA512 8c093e5b8e4d2cd01e8979b5e9f788ac32a8d0bb49f3c7ad42044e95bb4a352e66e2802f11ad7429ed6ba140b360c596f389cd721521b84a5a93918df19285de
diff --git a/dev-java/zxing-javase/files/3.5.1-test-available-formats.patch b/dev-java/zxing-javase/files/3.5.1-test-available-formats.patch
new file mode 100644
index 000000000000..62e154f0dad4
--- /dev/null
+++ b/dev-java/zxing-javase/files/3.5.1-test-available-formats.patch
@@ -0,0 +1,31 @@
+https://github.com/zxing/zxing/pull/1668
+https://bugs.gentoo.org/910497
+--- a/src/test/java/com/google/zxing/client/j2se/MatrixToImageWriterTestCase.java
++++ b/src/test/java/com/google/zxing/client/j2se/MatrixToImageWriterTestCase.java
+@@ -17,7 +17,9 @@
+ package com.google.zxing.client.j2se;
+
+ import com.google.zxing.common.BitMatrix;
++import static org.hamcrest.CoreMatchers.hasItem;
+ import org.junit.Assert;
++import static org.junit.Assume.assumeThat;
+ import org.junit.Test;
+
+ import javax.imageio.ImageIO;
+@@ -25,6 +27,7 @@
+ import java.io.IOException;
+ import java.nio.file.Files;
+ import java.nio.file.Path;
++import java.util.Arrays;
+
+ /**
+ * Tests {@link MatrixToImageWriter}.
+@@ -52,6 +55,8 @@ private static void doTest(MatrixToImageConfig config) throws IOException {
+ }
+
+ private static void doTestFormat(String format, MatrixToImageConfig config) throws IOException {
++ assumeThat(Arrays.asList(ImageIO.getWriterFormatNames()), hasItem(format));
++
+ int width = 2;
+ int height = 3;
+ BitMatrix matrix = new BitMatrix(width, height);
diff --git a/dev-java/zxing-javase/metadata.xml b/dev-java/zxing-javase/metadata.xml
new file mode 100644
index 000000000000..c77bb25a2b63
--- /dev/null
+++ b/dev-java/zxing-javase/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>tharvik@gmail.com</email>
+ <name>Valérian Rousset</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">zxing/zxing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-java/zxing-javase/zxing-javase-3.5.1.ebuild b/dev-java/zxing-javase/zxing-javase-3.5.1.ebuild
new file mode 100644
index 000000000000..ef015da75c4b
--- /dev/null
+++ b/dev-java/zxing-javase/zxing-javase-3.5.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.google.zxing:javase:3.5.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Core barcode encoding/decoding library"
+HOMEPAGE="https://github.com/zxing/zxing"
+SRC_URI="https://github.com/zxing/zxing/archive/zxing-${PV}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="3"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+
+CP_DEPEND="
+ dev-java/jcommander:0
+ dev-java/zxing-core:3
+"
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+S="${WORKDIR}/zxing-zxing-${PV}/javase"
+
+PATCHES=(
+ "${FILESDIR}/${PV}-test-available-formats.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="com.google.zxing.javase"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ default # apply PATCHES
+ java-pkg-2_src_prepare
+}