summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-07-06 03:04:40 -0500
committerroot <root@alpha.trunkmasters.com>2026-07-06 03:04:40 -0500
commit615d6f7e3408947bf962ea4d7edde01977474d1e (patch)
tree669937b348f12e0bd52d35ef889d0b283f90476c /dev-java
parent7d0655e0f85be0eec06807898321a634968f9336 (diff)
downloadsrcux-615d6f7e3408947bf962ea4d7edde01977474d1e.tar.gz
srcux-615d6f7e3408947bf962ea4d7edde01977474d1e.tar.xz
srcux-615d6f7e3408947bf962ea4d7edde01977474d1e.zip
Adding metadata
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/c3p0/c3p0-0.9.5.5-r3.ebuild62
-rw-r--r--dev-java/commons-beanutils/commons-beanutils-1.11.0-r1.ebuild116
-rw-r--r--dev-java/commons-beanutils/commons-beanutils-1.11.0.ebuild40
-rw-r--r--dev-java/commons-digester/commons-digester-2.1-r4.ebuild82
-rw-r--r--dev-java/commons-validator/Manifest2
-rw-r--r--dev-java/commons-validator/commons-validator-1.10.1.ebuild92
-rw-r--r--dev-java/mchange-commons/mchange-commons-0.2.20-r1.ebuild47
7 files changed, 429 insertions, 12 deletions
diff --git a/dev-java/c3p0/c3p0-0.9.5.5-r3.ebuild b/dev-java/c3p0/c3p0-0.9.5.5-r3.ebuild
new file mode 100644
index 000000000000..ca8850046d98
--- /dev/null
+++ b/dev-java/c3p0/c3p0-0.9.5.5-r3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+# Tests require an existing running SQL server and 'junit.jar.file' property
+JAVA_PKG_IUSE="doc examples source"
+
+inherit java-pkg-2
+
+DESCRIPTION="JDBC drivers with JNDI-bindable DataSources"
+HOMEPAGE="https://www.mchange.com/projects/c3p0/"
+SRC_URI="https://downloads.sourceforge.net/project/c3p0/c3p0-src/c3p0-${PV}/${P}.src.tgz"
+S="${WORKDIR}/${P}.src"
+
+LICENSE="|| ( EPL-1.0 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+BDEPEND=">=dev-java/ant-1.10.15-r1:0"
+CP_DEPEND=">=dev-java/mchange-commons-0.2.20-r1:0"
+
+DEPEND="
+ >=dev-java/log4j-12-api-2.25.2:0
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+"
+
+RDEPEND="
+ !<app-forensics/sleuthkit-4.12.1-r3:0
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+PATCHES=( "${FILESDIR}/c3p0-0.9.5.5-source-target.patch" )
+
+src_prepare() {
+ java-pkg_clean
+ java-pkg-2_src_prepare
+ java-pkg_jar-from --build-only --into lib/ log4j-12-api
+ java-pkg_jar-from --into lib/ mchange-commons
+
+ # Test sources interfere with Javadoc generation on JDK 11
+ # Remove since the tests will never be run
+ rm -r src/java/com/mchange/v2/c3p0/test ||
+ die "Failed to remove unused test sources"
+}
+
+src_compile() {
+ eant jar $(usev doc javadoc) \
+ -Dant.build.javac.source="$(java-pkg_get-source)" \
+ -Dant.build.javac.target="$(java-pkg_get-target)"
+}
+
+src_install() {
+ java-pkg_newjar "build/${P}.jar"
+ einstalldocs
+
+ use doc && java-pkg_dojavadoc build/apidocs
+ use examples && java-pkg_doexamples src/java/com/mchange/v2/c3p0/example
+ use source && java-pkg_dosrc src/java/com/mchange/v2
+}
diff --git a/dev-java/commons-beanutils/commons-beanutils-1.11.0-r1.ebuild b/dev-java/commons-beanutils/commons-beanutils-1.11.0-r1.ebuild
new file mode 100644
index 000000000000..376d87de65c0
--- /dev/null
+++ b/dev-java/commons-beanutils/commons-beanutils-1.11.0-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-vintage"
+MAVEN_ID="commons-beanutils:commons-beanutils:1.11.0"
+
+inherit java-pkg-2 java-pkg-simple junit5 verify-sig
+
+# We need some test classes of commons-collections which are not part of the jar file.
+ACC="commons-collections-3.2.2"
+
+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
+ 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="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x64-macos"
+IUSE="log4j"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+COMMON_DEPEND="
+ dev-java/commons-collections:0
+ >=dev-java/commons-logging-1.3.5-r1:0[log4j=]
+ log4j? (
+ >=dev-java/jakarta-activation-api-1.2.2-r1:1
+ >=dev-java/jnacl-1.0-r1:0
+ >=dev-java/log4j-12-api-2.25.2:0
+ >=dev-java/snakeyaml-2.5:0
+ )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-java/jakarta-servlet-api:4
+ dev-java/slf4j-api:0
+ >=virtual/jdk-11:*
+ test? (
+ dev-java/junit:4
+ dev-java/junit:5[vintage]
+ dev-java/opentest4j:0
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( {CONTRIBUTING,README}.md {NOTICE,RELEASE-NOTES}.txt )
+PATCHES=( "${FILESDIR}/commons-beanutils-1.11.0-skipFailingTest.patch" )
+
+JAVA_CLASSPATH_EXTRA="jakarta-servlet-api-4 slf4j-api"
+JAVA_GENTOO_CLASSPATH="commons-collections commons-logging"
+JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}"
+JAVA_MODULE_INFO_OUT="src/main"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4 junit-5 opentest4j"
+JAVA_TEST_RESOURCE_DIRS="data"
+JAVA_TEST_SRC_DIR=( src/test/java )
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${P}-src.tar.gz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ if use log4j; then
+ JAVA_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --build-only --with-dependencies \
+ jakarta-activation-api-1,jnacl,log4j-12-api,snakeyaml)"
+ fi
+}
+
+src_test() {
+ # locale needed for LocaleConvertUtilsTestCase
+ 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
+
+ cp -r ../"${ACC}"-src/data . || die "copy test data"
+
+ # Some test-classes of ~commons-collections-3.2.2 are needed to compile the test-classes.
+ JAVA_JAR_FILENAME="acc.jar"
+ JAVA_SRC_DIR=( ../"${ACC}"-src/src/test )
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":acc.jar"
+
+ 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.{io,lang,util,time,time.chrono}=ALL-UNNAMED )
+ fi
+
+ # JAVA_TEST_RUN_ONLY=(
+ # org.apache.commons.beanutils.locale.LocaleConvertUtilsTestCase
+ # org.apache.commons.beanutils.locale.converters.FloatLocaleConverterTestCase
+ # )
+ junit5_src_test
+}
+
+src_install() {
+ JAVA_JAR_FILENAME="commons-beanutils.jar" # avoid to install "acc.jar"
+ JAVA_SRC_DIR="src/main/java" # for the 'source' USE flag
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/commons-beanutils/commons-beanutils-1.11.0.ebuild b/dev-java/commons-beanutils/commons-beanutils-1.11.0.ebuild
index f50330171213..d9e29dab7ab4 100644
--- a/dev-java/commons-beanutils/commons-beanutils-1.11.0.ebuild
+++ b/dev-java/commons-beanutils/commons-beanutils-1.11.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,10 +9,11 @@ JAVA_TESTING_FRAMEWORKS="junit-vintage"
inherit java-pkg-2 java-pkg-simple junit5 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"
+
+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
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 )"
@@ -24,7 +25,6 @@ KEYWORDS="amd64 arm64 ppc64 ~x64-macos"
IUSE="log4j"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ggregory )"
-
COMMON_DEPEND="
dev-java/commons-collections:0
>=dev-java/commons-logging-1.3.5:0[log4j=]
@@ -60,7 +60,7 @@ JAVA_MODULE_INFO_OUT="src/main"
JAVA_SRC_DIR="src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="junit-4 junit-5 opentest4j"
JAVA_TEST_RESOURCE_DIRS="data"
-JAVA_TEST_SRC_DIR=( src/test/java ../"${ACC}"-src/src/test )
+JAVA_TEST_SRC_DIR=( src/test/java )
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/ggregory.asc"
src_unpack() {
@@ -80,18 +80,34 @@ src_prepare() {
log4j-api-2
"
fi
+}
- if use test; then
- # Apply patch to unpacked commons-collections
- pushd "../${ACC}-src" >> /dev/null || die
- eapply "${FILESDIR}/${ACC}-fixes.patch"
- popd
+src_test() {
+ # locale needed for LocaleConvertUtilsTestCase
+ 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
- cp -r ../"${ACC}"-src/data . || die "copy test data"
- fi
+ cp -r ../"${ACC}"-src/data . || die "copy test data"
+
+ # Some test-classes of ~commons-collections-3.2.2 are needed to compile the test-classes.
+ JAVA_JAR_FILENAME="acc.jar"
+ JAVA_SRC_DIR=( ../"${ACC}"-src/src/test )
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":acc.jar"
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.{io,lang,util,time,time.chrono}=ALL-UNNAMED )
fi
+
+ junit5_src_test
+}
+
+src_install() {
+ JAVA_JAR_FILENAME="commons-beanutils.jar" # avoid to install "acc.jar"
+ JAVA_SRC_DIR="src/main/java" # for the 'source' USE flag
+ java-pkg-simple_src_install
}
diff --git a/dev-java/commons-digester/commons-digester-2.1-r4.ebuild b/dev-java/commons-digester/commons-digester-2.1-r4.ebuild
new file mode 100644
index 000000000000..7a16e1cf50f7
--- /dev/null
+++ b/dev-java/commons-digester/commons-digester-2.1-r4.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-digester:commons-digester:2.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Reads XML configuration files to provide initialization of various Java objects"
+HOMEPAGE="https://commons.apache.org/digester/"
+SRC_URI="mirror://apache/commons/digester/source/${P}-src.tar.gz
+ verify-sig? ( mirror://apache/commons/digester/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/commons-digester-${PV}-src"
+
+LICENSE="Apache-2.0"
+SLOT="2.1"
+KEYWORDS="~amd64"
+IUSE="log4j"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+
+COMMON_DEPEND="
+ >=dev-java/commons-beanutils-1.10.1-r1:0[log4j=]
+ dev-java/commons-collections:0
+ >=dev-java/commons-logging-1.3.5-r1:0[log4j=]
+ dev-java/jakarta-servlet-api:4
+ dev-java/slf4j-api:0
+ log4j? (
+ >=dev-java/jakarta-activation-api-1.2.2-r1:1
+ >=dev-java/jnacl-1.0-r1:0
+ >=dev-java/log4j-12-api-2.25.2:0
+ >=dev-java/snakeyaml-2.5:0
+ )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jdk-11:*
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( {LICENSE,NOTICE,RELEASE-NOTES}.txt )
+
+JAVA_CLASSPATH_EXTRA="commons-collections jakarta-servlet-api-4 slf4j-api"
+JAVA_GENTOO_CLASSPATH="commons-beanutils commons-logging"
+JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}"
+JAVA_MODULE_INFO_OUT="src/main"
+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"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ if use log4j; then
+ JAVA_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --build-only --with-dependencies \
+ jakarta-activation-api-1,jnacl,log4j-12-api,snakeyaml)"
+ fi
+}
+
+src_test() {
+ pushd src/test/java || die
+ # Exclusions according to 212,215 pom.xml
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ ! -name "Abstract*.java" ! -name "TestBean.java" \
+ ! -name "TestRule.java" ! -name "TestRuleSet.java" \
+ -name "*TestCase.java" -o -name "*Test.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-validator/Manifest b/dev-java/commons-validator/Manifest
index cfc7997886c9..49cf7490f7db 100644
--- a/dev-java/commons-validator/Manifest
+++ b/dev-java/commons-validator/Manifest
@@ -1,2 +1,4 @@
DIST commons-validator-1.10.0-src.tar.gz 314716 BLAKE2B 403352ece53e0b5c00b92442403f7f0ea77e8e4be8638ced425a04e85d783dbecb865131642901a63072915eedb3eaab933c302ee85ad2a46dd21fc3f23aa227 SHA512 4a89e4b59c6cb255fbb827ec6b8561be12a79d9c1031be6e2fdd9416c4e7aef1917a2578a0c3265562c379081ce9b9c66d93a86d8eb440164c839de00ce15ab6
DIST commons-validator-1.10.0-src.tar.gz.asc 488 BLAKE2B e6282fae3ff43cdc8bea09bf02ade315e71d370ea9dff3a5524b6584546b1f7d60822bac7d3764814aea284877d09cb68f9b26f31d73ef561eefb4547d3e3052 SHA512 b978babf8b8451976e449626c9685354035404c38cfddede638bdea3df7a7db17bb6196f592b1a625d1810aab7bb6da43cac6f11d7996d81bd5696d09a52352b
+DIST commons-validator-1.10.1-src.tar.gz 420538 BLAKE2B 3a591592f501aed658555f657646f37aea32425c670165f9958daaa5b45a6bb7316db0a154d7c30ca1f6a2cc316c02b0244526cedf272561376e3fd723535561 SHA512 df71f331962823229992022786299f1c4911cc79fdd6b983a1dbfba211b00c56fbc5b000c923f208813b6a95de5558286472f8e3cae0427a9e6725f2eb062be4
+DIST commons-validator-1.10.1-src.tar.gz.asc 488 BLAKE2B 9ff21992b62ee7820a6e1f7b5e509571299a3bccb9977a888ee7a9479080683a364e7bce672eef63cc962539ebcaaac2d431a8be3b6b92c84d68f3912b51d5c0 SHA512 9e9f2a237865d10375644ab7150478f6685cb36d722392a7cc9d2f0ce91a70e38a035266befa643a4f2b098cd2a6478b22731c477f9766653c1a439116e68d88
diff --git a/dev-java/commons-validator/commons-validator-1.10.1.ebuild b/dev-java/commons-validator/commons-validator-1.10.1.ebuild
new file mode 100644
index 000000000000..97edb6c4c062
--- /dev/null
+++ b/dev-java/commons-validator/commons-validator-1.10.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple junit5 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? ( mirror://apache/commons/validator/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="log4j"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+
+COMMON_DEPEND="
+ >=dev-java/commons-beanutils-1.11.0:0[log4j=]
+ >=dev-java/commons-collections-3.2.2-r2:0
+ >=dev-java/commons-digester-2.1-r3:2.1[log4j=]
+ >=dev-java/commons-logging-1.3.5-r1:0[log4j=]
+ log4j? (
+ >=dev-java/jakarta-activation-api-1.2.2-r1:1
+ >=dev-java/jnacl-1.0-r1:0
+ >=dev-java/log4j-12-api-2.25.2:0
+ >=dev-java/snakeyaml-2.5:0
+ )
+"
+
+# [-vintage] because, if junit:5 compiled with 'USE=vintage':
+# Error: Module junit not found, required by org.junit.vintage.engine
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-java/jakarta-servlet-api:4
+ dev-java/slf4j-api:0
+ >=virtual/jdk-11:*
+ test? (
+ >=dev-java/commons-csv-1.14.1-r1:0
+ >=dev-java/commons-codec-1.20.0:0
+ >=dev-java/commons-io-2.21.0:0
+ >=dev-java/commons-lang-3.20.0:0
+ >=dev-java/junit-clptr-1.2.2-r1:0
+ >=dev-java/junit-pioneer-1.9.1-r1:0
+ dev-java/junit:5[-vintage]
+ >=dev-java/opentest4j-1.3.0-r1:0
+ )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVA_CLASSPATH_EXTRA="jakarta-servlet-api-4 slf4j-api"
+JAVA_GENTOO_CLASSPATH="commons-beanutils commons-collections commons-digester-2.1 commons-logging"
+JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}"
+JAVA_MODULE_INFO_OUT="src/main"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="
+ commons-csv
+ commons-codec
+ commons-io
+ commons-lang
+ junit-clptr
+ junit-pioneer
+ junit-5
+ opentest4j
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ if use log4j; then
+ JAVA_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --build-only --with-dependencies \
+ log4j-12-api,snakeyaml,jnacl,jakarta-activation-api-1)"
+ fi
+
+ # src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java:52: error: cannot find symbol
+ # import org.junit.jupiter.params.provider.FieldSource;
+ rm src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java || die
+}
diff --git a/dev-java/mchange-commons/mchange-commons-0.2.20-r1.ebuild b/dev-java/mchange-commons/mchange-commons-0.2.20-r1.ebuild
new file mode 100644
index 000000000000..e9b48465844e
--- /dev/null
+++ b/dev-java/mchange-commons/mchange-commons-0.2.20-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+JAVA_PKG_IUSE="doc source"
+# JAVA_TESTING_FRAMEWORKS=""
+MAVEN_ID="com.mchange:mchange-commons-java:0.2.20"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="a library of arguably useful Java utilities"
+HOMEPAGE="https://github.com/swaldman/mchange-commons-java"
+SRC_URI="https://github.com/swaldman/${PN}-java/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/mchange-commons-java-${PV}"
+
+LICENSE="EPL-1.0 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+CP_DEPEND="
+ >=dev-java/log4j-api-2.25.2:0
+ >=dev-java/log4j-12-api-2.25.2:0
+ >=dev-java/log4j-core-2.25.2:0
+ >=dev-java/slf4j-api-2.0.3:0
+ >=dev-java/typesafe-config-1.4.5:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ !<app-forensics/sleuthkit-4.12.1-r3
+ !<dev-java/c3p0-0.9.5.5-r3:0
+ >=virtual/jre-1.8:*
+"
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+# # https://github.com/swaldman/mchange-commons-java/blob/master/build.sbt#L29-L31
+# JAVA_TEST_GENTOO_CLASSPATH=""
+# JAVA_TEST_SRC_DIR="src/test/java"
+# JAVA_TEST_RESOURCE_DIRS="src/test/resources"