commit:     ed5d1b68cfa61bf690c88d11e6d0dee100e38498
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Oct  7 07:59:30 2025 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Dec 17 18:22:22 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed5d1b68

dev-java/icu4j: add 78.1

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

 dev-java/icu4j/Manifest          |   1 +
 dev-java/icu4j/icu4j-78.1.ebuild | 190 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 191 insertions(+)

diff --git a/dev-java/icu4j/Manifest b/dev-java/icu4j/Manifest
index 96cf9a88355b..31718986bb85 100644
--- a/dev-java/icu4j/Manifest
+++ b/dev-java/icu4j/Manifest
@@ -1 +1,2 @@
 DIST icu4j-77.1.tar.gz 68285934 BLAKE2B 
91352e0b866083db022a945ae1f80c3ebc16d98e98fd1ca8670fddc1bfd08e8d41c93fbf225b85f5b96a0497f18653bd414f5aed0e882a63dfa9853eabb07527
 SHA512 
1c71b1743c9990722dea2f75903329c5fcacae235d2dd0b0658d1e260b3c1d4a3458733845e963f6f01c2c3ed05d4b1731c7dcac659dda64eb4ab20f416921c2
+DIST icu4j-78.1.tar.gz 69159738 BLAKE2B 
2b687aab8fd716fe6187f079bbc9e22f6219d8ad181d383328312514c2db7c5f1e8fb7c294cf16278a4bfca7e77a998052a09958297701947848f554154e24d5
 SHA512 
1da7a199d373aaa31b0df84929f09ede58d71d69200041aa90366ace603a5531e66ebb9fe362f8a33799bef28d21a2550fbf34862f48ada3ab3b461d5ab54b08

diff --git a/dev-java/icu4j/icu4j-78.1.ebuild b/dev-java/icu4j/icu4j-78.1.ebuild
new file mode 100644
index 000000000000..9fde6b7d7ce0
--- /dev/null
+++ b/dev-java/icu4j/icu4j-78.1.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2025 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}
+"
+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/_rc/rc}.tar.gz
 -> ${P}.tar.gz"
+S="${WORKDIR}/icu-release-${PV/_rc/rc}/icu4j/main"
+
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND="
+       >=virtual/jdk-11:*
+       test? (
+               >=dev-java/gson-2.13.2:0
+               dev-java/junitparams:0
+       )
+"
+
+# Min java 11 because "as of release 10, 'var' is a restricted type name and
+# cannot be used for type declarations or as the element type of an array"
+# 
core/src/main/java/com/ibm/icu/impl/personname/PersonNameFormatterImpl.java:366:
 error: cannot find symbol
+#             var unused = builder.setLocale(oldLocale);
+#             ^
+RDEPEND=">=virtual/jre-11:*"
+
+DOCS=( ../../{CONTRIBUTING,README,SECURITY}.md )
+HTML_DOCS=( ../{APIChangeReport,readme}.html )
+
+src_prepare() {
+       java-pkg-2_src_prepare
+       # There was 1 failure:
+       # 1) test(com.ibm.icu.dev.test.message2.CoreTest)
+       # java.io.FileNotFoundException: Test data directory does not exist:
+       # tried /var/tmp/portage/dev-java/icu4j-76.1/work/testdata/message2
+       # and /var/tmp/portage/dev-java/icu4j-76.1/work/testdata/message2
+       #       at 
com.ibm.icu.dev.test.message2.TestUtils.getTestFile(TestUtils.java:212)
+       #       at 
com.ibm.icu.dev.test.message2.TestUtils.jsonReader(TestUtils.java:194)
+       #       at com.ibm.icu.dev.test.message2.CoreTest.test(CoreTest.java:52)
+       cp -r ../..{,/..}/testdata || die
+}
+
+src_compile() {
+#      
JAVA_GENTOO_CLASSPATH_EXTRA="icu4j.jar:icu4j-charset.jar:icu4j-localespi.jar"
+       JAVA_GENTOO_CLASSPATH_EXTRA="icu4j.jar:icu4j-charset.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
+               ../tools/taglets/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 "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
+       )
+       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"
+       # exclude invalid tests, not run by "mvn test"
+       local JAVA_TEST_RUN_ONLY=$(find core/src/test/java \
+               -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" \
+               ! -name "DefaultTestProperties.java" \
+               ! -name "MF2Test.java" \
+               ! -name "TestBoilerplate.java" \
+               ! -name "TestFunctionFactory.java" \
+               -printf "%P\n" )
+       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 . || die
+       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
+}
+
+src_install() {
+       JAVA_JAR_FILENAME="icu4j.jar"
+       JAVA_MAIN_CLASS="com.ibm.icu.util.VersionInfo"
+       java-pkg-simple_src_install
+       java-pkg_dojar "icu4j-charset.jar"
+
+       if use source; then
+               java-pkg_dosrc */src/main/java/*
+       fi
+}

Reply via email to