commit:     1a90427fad6e8403f42b6af8af8f54a10503dbcc
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Dec  9 08:21:02 2025 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Dec 14 17:44:07 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a90427f

dev-java/eclipse-ecj: add 4.38

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Part-of: https://github.com/gentoo/gentoo/pull/44599
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/eclipse-ecj/Manifest                |  1 +
 dev-java/eclipse-ecj/eclipse-ecj-4.38.ebuild | 57 ++++++++++++++++++++++++++++
 2 files changed, 58 insertions(+)

diff --git a/dev-java/eclipse-ecj/Manifest b/dev-java/eclipse-ecj/Manifest
index 4b6c7ab4a2f4..b002d8a1c5f0 100644
--- a/dev-java/eclipse-ecj/Manifest
+++ b/dev-java/eclipse-ecj/Manifest
@@ -1,3 +1,4 @@
 DIST ecjsrc-4.20.jar 2255761 BLAKE2B 
42e16e1bd3d90b8d9bf3e57f83b3e06f2857a20db3e3ac065ce39e95fc47e75de33186115c36dede691bc37fd55fa8123f2220d13f3d5819404f5de702b10fd2
 SHA512 
fb27c0a37ed5cdfdcdbc904d067bfdd0477ddfd873a6cd8477d3b473734fd0e37329f0e9ab85dc5f89994d68d9886a488bd88568bc00e25f54c1a5a468dc1384
 DIST ecjsrc-4.26.jar 2347137 BLAKE2B 
22e627178fe35f34cee7ba63e740ef2699bca691d460c81e97c2f18c197042cc0d901eea988331b3fa2ac7daa87daef9ee90bc1e62901935a6f2f3fe5f1e8534
 SHA512 
e53534160e6a2cdc8c5db7caec617d5671eb59954a86b9dcb36a514024c3205167c8416560796ce61d1aa188f551660f3bfd8eab46fefe9111c8f0b7a977342f
 DIST ecjsrc-4.37.jar 2347788 BLAKE2B 
2db81e4095277a3f4c4d38aaad29d327af2bd8ccf9f2ad1a5f32519c808877cb33934335a1c47d42717fe3695a2d1f8b0a5533e1f86ef6d2986cc2c380420a3c
 SHA512 
ee1d000125b10cc9fd51fd2f880fc1d543a4e9bbe5e792d79b5cd6a8ccf7addeeb0c04c2e672d08d7bcee7fd67ea36a684455f732aa6703ec8b234c92d0841cb
+DIST ecjsrc-4.38.jar 2346850 BLAKE2B 
12b1be5d4e4124d5643639da61eb223a7fca3911e3ef1bc26c68fb6d4cfa76163560b4233f95bd4d723d876a46c7bce3257a8510c6c37cacd3c26f38cfff5a1d
 SHA512 
64b5b8fbba907f74a73c314e3966c67f349c0f43aabb2cfc60cfdc2ea660769a34bd7d2488f839c8e65ddf3e05b3cae4d93a72f6861ddb2f8ca185073ff12dc0

diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.38.ebuild 
b/dev-java/eclipse-ecj/eclipse-ecj-4.38.ebuild
new file mode 100644
index 000000000000..31332d5cc401
--- /dev/null
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.38.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2025 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
+
+DMF="R-${PV/_rc/RC}-202512010920"
+
+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"
+SLOT="4.38"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="app-arch/unzip"
+
+# jdk-25 because of compilation errors with jdk-21
+DEPEND="
+       >=dev-java/ant-1.10.15:0
+       >=virtual/jdk-25:*
+"
+
+# ./org/eclipse/jdt/internal/compiler/env/ICompilationUnit.java:64:
+# error: pattern matching in instanceof is not supported in -source 11
+#      if (environment.nameEnvironment instanceof IModuleAwareNameEnvironment 
modEnv) {
+#                                                                             ^
+#   (use -source 16 or higher to enable pattern matching in instanceof)
+RDEPEND=">=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
+
+       # 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' \
+               ! -name 'package.html' \
+               ! -path '*/grammar/*' \
+               ! -path '*/OSGI-INF/*' |
+               xargs cp --parent -t "${JAVA_RESOURCE_DIRS}" || die
+}

Reply via email to