summaryrefslogtreecommitdiff
path: root/dev-java/log4j-core
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/log4j-core')
-rw-r--r--dev-java/log4j-core/Manifest2
-rw-r--r--dev-java/log4j-core/log4j-core-2.25.2.ebuild115
2 files changed, 117 insertions, 0 deletions
diff --git a/dev-java/log4j-core/Manifest b/dev-java/log4j-core/Manifest
index 90ceb3023e39..5cbb8dd2c84d 100644
--- a/dev-java/log4j-core/Manifest
+++ b/dev-java/log4j-core/Manifest
@@ -1 +1,3 @@
DIST apache-log4j-2.19.0-src.tar.gz 11764795 BLAKE2B 02ec7c5c825cabe9994a2f50d6761110f87a19ff46874c00d46986da7338c32148f3b6c3551c95721aaf94b71d1d5ce8bcea32462e11fa3fe0c3cbbc0cf5f887 SHA512 c72859c415e701921497bb4f02047fa022083f66b4d21b1dbae28361bd73498b2eae335b9a1ac2d7f796df734a6d54db2701ae5ebf999197597e9e2ad064c271
+DIST apache-log4j-2.25.2-src.zip 7395022 BLAKE2B 5865672255ab640facdd24f8fd883b67853ddd01dff4d3e35f7318244d13db8995ccb97d687d94fd3dcce88d407b16058b89760723c4cefe29f1941b5bd945e7 SHA512 6d9f36d4aa829fad6eb1fdf92caa343dbf0add04574de3052be17cc75b6551bf2d62836c1be350acecddb5655fba748eeb8a7c73f00cc58e514bd727c391553d
+DIST apache-log4j-2.25.2-src.zip.asc 833 BLAKE2B fe4eeabf107b1d89384b2f3ee8d0cdb0bead5208494be972ddab6a15c2dfe77e881d496d9750a816f3b9bc293f063164dc2a7f7b5796ae3f03f6e93182cc7347 SHA512 bb0847c3bec4ff0496baa8aab5236e4076676f1d99cae305eeac061fa3b6e5e1b8788509b92659e2b45904241b46a156e6ceff65458e8c88d5539a4ac4270cc0
diff --git a/dev-java/log4j-core/log4j-core-2.25.2.ebuild b/dev-java/log4j-core/log4j-core-2.25.2.ebuild
new file mode 100644
index 000000000000..6f3bff4d7c70
--- /dev/null
+++ b/dev-java/log4j-core/log4j-core-2.25.2.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# No tests, too many test-dependencies are not packaged.
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-pkg-simple junit5 verify-sig
+
+DESCRIPTION="The Apache Log4j Implementation"
+HOMEPAGE="https://logging.apache.org/log4j/2.x/"
+SRC_URI="mirror://apache/logging/log4j/${PV}/apache-log4j-${PV}-src.zip
+ verify-sig? ( https://downloads.apache.org/logging/log4j/${PV}/apache-log4j-${PV}-src.zip.asc )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+BDEPEND="
+ app-arch/unzip
+ verify-sig? ( >=sec-keys/openpgp-keys-apache-logging-20251104 )
+"
+CP_DEPEND="
+ >=dev-java/bnd-annotation-7.1.0:0
+ >=dev-java/commons-compress-1.28.0:0
+ >=dev-java/commons-csv-1.14.1-r1:0
+ >=dev-java/conversant-disruptor-1.2.20:0
+ >=dev-java/findbugs-annotations-3.0.1:0
+ >=dev-java/jackson-annotations-2.20:0
+ >=dev-java/jackson-core-2.20.0:0
+ >=dev-java/jackson-databind-2.20.0:0
+ >=dev-java/jackson-dataformat-xml-2.20.0:0
+ >=dev-java/jackson-dataformat-yaml-2.20.0:0
+ >=dev-java/javax-mail-1.6.7-r2:0
+ >=dev-java/jctools-core-4.0.5-r1:0
+ >=dev-java/jeromq-0.6.0-r1:0
+ >=dev-java/javax-jms-api-2.0.3:0
+ >=dev-java/jspecify-1.0.0:0
+ >=dev-java/kafka-clients-1.1.1-r2:0
+ >=dev-java/lmax-disruptor-3.4.4:0
+ ~dev-java/log4j-api-${PV}:0
+ >=dev-java/osgi-annotation-8.1.0:0
+ >=dev-java/osgi-core-8.0.0:0
+ >=dev-java/stax2-api-4.2.2:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=dev-java/asm-9.9:0
+ >=dev-java/brotli-dec-0.1.2-r1:0
+ >=dev-java/commons-codec-1.19.0:0
+ >=dev-java/commons-io-2.20.0:0
+ >=dev-java/commons-lang-3.19.0:0
+ >=dev-java/jakarta-activation-api-1.2.2-r1:1
+ >=dev-java/jnacl-1.0-r1:0
+ >=dev-java/snakeyaml-2.5:0
+ >=dev-java/xz-java-1.10:0
+ >=dev-java/zstd-jni-1.5.7.4:0
+ >=virtual/jdk-9:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_CLASSPATH_EXTRA="asm brotli-dec commons-codec commons-io
+ commons-lang jakarta-activation-api-1 jnacl snakeyaml xz-java zstd-jni"
+JAVA_INTERMEDIATE_JAR_NAME="org.apache.logging.log4j.core"
+JAVA_MODULE_INFO_OUT="log4j-core-java9/src/main/java"
+JAVA_RELEASE_SRC_DIRS=( ["9"]="log4j-core-java9/src/main/java" )
+JAVA_RESOURCE_DIRS="${PN}/src/main/resources"
+JAVA_SRC_DIR="${PN}/src/main/java"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/logging.apache.org.asc"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # according to what we get from grep -nr '@ServiceProvider' log4j-core/*
+
+ mkdir -p log4j-core/src/main/resources/META-INF/services || die "mkdir"
+ pushd $_ >/dev/null || die "pushd"
+ echo "org.apache.logging.log4j.core.config.plugins.processor.GraalVmProcessor" \
+ > javax.annotation.processing.Processor || die
+ echo "org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor" \
+ >> javax.annotation.processing.Processor || die
+ echo "org.apache.logging.log4j.core.impl.ThreadContextDataProvider" \
+ > org.apache.logging.log4j.core.util.ContextDataProvider || die
+ echo "org.apache.logging.log4j.core.message.ExtendedThreadInfoFactory" \
+ > 'org.apache.logging.log4j.message.ThreadDumpMessage$ThreadInfoFactory' || die
+ echo "org.apache.logging.log4j.core.impl.Log4jProvider" \
+ > org.apache.logging.log4j.spi.Provider || die
+ popd >/dev/null || die popd
+}
+
+src_compile() {
+ # we run this twice, first time to get PluginProcessor into processorpath.
+ java-pkg-simple_src_compile
+
+ # using PluginProcessor.class
+ JAVAC_ARGS=" -processorpath target/classes:$(java-pkg_getjars log4j-api) \
+ -processor org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor"
+ java-pkg-simple_src_compile
+
+ # For versions/9, upstream packages only what's listed in log4j-core-java9/src/assembly/java9.xml
+ # We remove the jar, remove from target/classes what's not needed and re-create the jar.
+ rm log4j-core.jar || die
+ rm -r target/classes/META-INF/versions/9/org/apache/logging/log4j/core/pattern || die
+ rm target/classes/META-INF/versions/9/org/apache/logging/log4j/core/util/Integers.class || die
+ rm target/classes/META-INF/versions/9/org/apache/logging/log4j/core/impl/ExtendedClassInfo.class || die
+ rm target/classes/META-INF/versions/9/org/apache/logging/log4j/core/jackson/StackTraceElementConstants.class || die
+ mv target/classes/{META-INF/versions/9/,}module-info.class || die
+ echo 'Multi-Release: true' >> target/classes/META-INF/MANIFEST.MF || die "add true"
+ jar cfm log4j-core.jar target/classes/META-INF/MANIFEST.MF -C target/classes . || die
+}