commit:     337bd5ed348977ad3a3fca555dd95696ef275b13
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sat May 13 18:47:33 2023 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Sep 27 06:57:56 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=337bd5ed

dev-java/icu4j: add 73.2

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

 dev-java/icu4j/Manifest                            |   1 +
 .../icu4j/files/icu4j-73.2-DateFormatTest.patch    |  90 ++++++++
 dev-java/icu4j/icu4j-73.2.ebuild                   | 243 +++++++++++++++++++++
 3 files changed, 334 insertions(+)

diff --git a/dev-java/icu4j/Manifest b/dev-java/icu4j/Manifest
index 764b0abe0d37..89b9fe8422c7 100644
--- a/dev-java/icu4j/Manifest
+++ b/dev-java/icu4j/Manifest
@@ -1 +1,2 @@
 DIST icu-72.1.tar.gz 67092974 BLAKE2B 
2261c7969ddbfdb4e75e405646cc9f29b1f8dd21f98641b9318457d3cd27694833a9181f4888d2cb243ba65191fe9216a508684c1dbd5a85f36e06ae8fac7d9e
 SHA512 
fee1278f16528867da63d95feee6864a1f62befa9cc0b006439e1b47cf6f3f0e6581692432129e465208b5bd7fcc44e1175f124e83157547b3d9a78f3a4944ab
+DIST icu-73.2.tar.gz 81522943 BLAKE2B 
006d7ccab04385f0aa60e2e60b616be9598f448f27d9b0f6dba554874bfe1dd442ba0719a7677ba8aba7e4e0f05e5e50dca74855a900da1f496aad0cd54c3cdc
 SHA512 
f234fb9c76af62dad59e159ef7f7792aca563d88f2988d3d1ecc8be6250837beb9a530ec121e0949f6925ee8e5171a0d04fa41a0c50d9993c4061fa55be6836e

diff --git a/dev-java/icu4j/files/icu4j-73.2-DateFormatTest.patch 
b/dev-java/icu4j/files/icu4j-73.2-DateFormatTest.patch
new file mode 100644
index 000000000000..ee2cf024a3a2
--- /dev/null
+++ b/dev-java/icu4j/files/icu4j-73.2-DateFormatTest.patch
@@ -0,0 +1,90 @@
+1) TestDateFormatCalendar(com.ibm.icu.dev.test.format.DateFormatTest)
+java.lang.AssertionError: FAIL: Parsed result: Thursday, April 5, 2001 at 
5:45:00 PM Central European Summer Time, exp 4/5/2001 5:45 PM
+       at org.junit.Assert.fail(Assert.java:89)
+       at com.ibm.icu.dev.test.AbstractTestLog.errln(AbstractTestLog.java:50)
+       at 
com.ibm.icu.dev.test.format.DateFormatTest.TestDateFormatCalendar(DateFormatTest.java:2267)
+2) TestGenericTime(com.ibm.icu.dev.test.format.DateFormatTest)
+java.lang.AssertionError: : "y/M/d H:mm zzzz".format(2004 01 01 01:00 PST): 
expected "2004/1/1 1:00 Pacific Standard Time", got "2004/1/1 10:00 Central 
European Standard Time"
+       at org.junit.Assert.fail(Assert.java:89)
+       at com.ibm.icu.dev.test.AbstractTestLog.errln(AbstractTestLog.java:50)
+       at com.ibm.icu.dev.test.TestFmwk.handleAssert(TestFmwk.java:610)
+       at com.ibm.icu.dev.test.TestFmwk.handleAssert(TestFmwk.java:591)
+       at com.ibm.icu.dev.test.TestFmwk.assertEquals(TestFmwk.java:543)
+       at 
com.ibm.icu.dev.test.format.DateFormatTest.expect(DateFormatTest.java:3426)
+       at 
com.ibm.icu.dev.test.format.DateFormatTest.TestGenericTime(DateFormatTest.java:664)
+3) TestDotAndAtLeniency(com.ibm.icu.dev.test.format.DateFormatTest)
+java.lang.AssertionError: com.ibm.icu.text.SimpleDateFormat@c82a5c46   Sunday, 
January 15, 2012  12:00:00 AM Central European. Standard Time.
+       at org.junit.Assert.fail(Assert.java:89)
+       at com.ibm.icu.dev.test.AbstractTestLog.errln(AbstractTestLog.java:50)
+       at 
com.ibm.icu.dev.test.format.DateFormatTest.showParse(DateFormatTest.java:4788)
+       at 
com.ibm.icu.dev.test.format.DateFormatTest.TestDotAndAtLeniency(DateFormatTest.java:4772)
+4) TestTwoDigitYearDSTParse(com.ibm.icu.dev.test.format.DateFormatTest)
+java.lang.AssertionError: FAIL: Hour (-DST) = 11.0; expected 11.000277777777777
+       at org.junit.Assert.fail(Assert.java:89)
+       at com.ibm.icu.dev.test.AbstractTestLog.errln(AbstractTestLog.java:50)
+       at 
com.ibm.icu.dev.test.format.DateFormatTest.TestTwoDigitYearDSTParse(DateFormatTest.java:335)
+5) TestGenericTimeZoneOrder(com.ibm.icu.dev.test.format.DateFormatTest)
+java.lang.AssertionError: : "y/M/d H:mm zzz".format(2004 01 01 01:00 PST): 
expected "2004/1/1 1:00 PST", got "2004/1/1 10:00 GMT+1"
+       at org.junit.Assert.fail(Assert.java:89)
+       at com.ibm.icu.dev.test.AbstractTestLog.errln(AbstractTestLog.java:50)
+       at com.ibm.icu.dev.test.TestFmwk.handleAssert(TestFmwk.java:610)
+       at com.ibm.icu.dev.test.TestFmwk.handleAssert(TestFmwk.java:591)
+       at com.ibm.icu.dev.test.TestFmwk.assertEquals(TestFmwk.java:543)
+       at 
com.ibm.icu.dev.test.format.DateFormatTest.expect(DateFormatTest.java:3476)
+       at 
com.ibm.icu.dev.test.format.DateFormatTest.TestGenericTimeZoneOrder(DateFormatTest.java:749)
+
+--- a/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java
++++ b/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java
+@@ -37,6 +37,7 @@ import java.util.ResourceBundle;
+ import java.util.Set;
+ 
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.runner.RunWith;
+ import org.junit.runners.JUnit4;
+ 
+@@ -297,7 +298,7 @@ public class DateFormatTest extends TestFmwk {
+     /**
+      * Test the parsing of 2-digit years.
+      */
+-    @Test
++    @Test @Ignore
+     public void TestTwoDigitYearDSTParse() {
+ 
+         SimpleDateFormat fullFmt = new SimpleDateFormat("EEE MMM dd 
HH:mm:ss.SSS zzz yyyy G");
+@@ -613,7 +614,7 @@ public class DateFormatTest extends TestFmwk {
+         expect(DATA, new Locale("en", "", ""));
+     }
+ 
+-    @Test
++    @Test @Ignore
+     public void TestGenericTime() {
+ 
+ 
+@@ -718,7 +719,7 @@ public class DateFormatTest extends TestFmwk {
+ 
+     }
+ 
+-    @Test
++    @Test @Ignore
+     public void TestGenericTimeZoneOrder() {
+         // generic times should parse the same no matter what the placement 
of the time zone string
+         // should work for standard and daylight times
+@@ -2199,7 +2200,7 @@ public class DateFormatTest extends TestFmwk {
+     /**
+      * Test DateFormat(Calendar) API
+      */
+-    @Test
++    @Test @Ignore
+     public void TestDateFormatCalendar() {
+         DateFormat date=null, time=null, full=null;
+         Calendar cal=null;
+@@ -4741,7 +4742,7 @@ public class DateFormatTest extends TestFmwk {
+ 
+     static Date TEST_DATE = new Date(2012-1900, 1-1, 15); // January 15, 2012
+ 
+-    @Test
++    @Test @Ignore
+     public void TestDotAndAtLeniency() {
+         for (ULocale locale : Arrays.asList(ULocale.ENGLISH, ULocale.FRENCH)) 
{
+             List<Object[]> tests = new ArrayList();

diff --git a/dev-java/icu4j/icu4j-73.2.ebuild b/dev-java/icu4j/icu4j-73.2.ebuild
new file mode 100644
index 000000000000..4749dae91cdc
--- /dev/null
+++ b/dev-java/icu4j/icu4j-73.2.ebuild
@@ -0,0 +1,243 @@
+# 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.ibm.icu:icu4j:${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="70"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*
+       test? ( dev-java/junitparams:0 )"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+HTML_DOCS=( ../{APIChangeReport,readme}.html )
+
+PATCHES=(
+       "${FILESDIR}/icu4j-73.2-DateFormatTest.patch"
+)
+
+JAVA_TEST_EXCLUDES=(
+       # Invalid tests, not run by maven
+       "com.ibm.icu.dev.data.TestDataElements_testtypes"
+       "com.ibm.icu.dev.data.resources.TestDataElements_en_Latn_US"
+       "com.ibm.icu.dev.data.resources.TestDataElements_en_US"
+       "com.ibm.icu.dev.data.resources.TestDataElements_fr_Latn_FR"
+       "com.ibm.icu.dev.data.resources.TestDataElements_te"
+       "com.ibm.icu.dev.data.resources.TestMessages"
+       "com.ibm.icu.dev.test.ModuleTest"
+       "com.ibm.icu.dev.test.TestBoilerplate"
+       "com.ibm.icu.dev.test.TestDataModule"
+       "com.ibm.icu.dev.test.bidi.TestData"
+       "com.ibm.icu.dev.test.calendar.ChineseTestCase"
+       "com.ibm.icu.dev.test.calendar.TestCase"
+       "com.ibm.icu.dev.test.format.ExhaustivePersonNameFormatterTest"
+       "com.ibm.icu.dev.test.localespi.TestUtil"
+       "com.ibm.icu.dev.test.message2.TestCase"
+       "com.ibm.icu.dev.test.stringprep.TestData"
+       "com.ibm.icu.dev.test.translit.TestUtility"
+       # Maven: [INFO] Tests run: 364, Failures: 0, Errors: 0, Skipped: 0
+       "com.ibm.icu.dev.test.serializable.CompatibilityTest" # Tests run: 364, 
 Failures: 4
+       # Maven: [INFO] Tests run: 90, Failures: 0, Errors: 0, Skipped: 0
+       "com.ibm.icu.dev.test.serializable.CoverageTest" # Tests run: 99,  
Failures: 9
+       # Following tests need to run separately:
+       com.ibm.icu.dev.test.calendar.CalendarRegressionTest
+       com.ibm.icu.dev.test.calendar.CompatibilityTest
+       com.ibm.icu.dev.test.calendar.DataDrivenCalendarTest
+       com.ibm.icu.dev.test.calendar.HolidayTest
+       com.ibm.icu.dev.test.calendar.IndianTest
+       com.ibm.icu.dev.test.calendar.IslamicTest
+       com.ibm.icu.dev.test.calendar.JapaneseTest
+       com.ibm.icu.dev.test.format.DataDrivenFormatTest
+       com.ibm.icu.dev.test.format.DateFormatRegressionTest
+       com.ibm.icu.dev.test.format.DateFormatRoundTripTest
+       com.ibm.icu.dev.test.format.DateIntervalFormatTest
+       com.ibm.icu.dev.test.format.DateTimeGeneratorTest
+       com.ibm.icu.dev.test.format.TestMessageFormat
+       com.ibm.icu.dev.test.message2.MessageFormat2Test
+       com.ibm.icu.dev.test.message2.Mf2FeaturesTest
+       com.ibm.icu.dev.test.message2.Mf2IcuTest
+       com.ibm.icu.dev.test.timezone.TimeZoneBoundaryTest
+       com.ibm.icu.dev.test.util.CurrencyTest
+)
+JAVA_TEST_EXTRA_ARGS="-Djava.locale.providers=CLDR,COMPAT,SPI"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,junitparams"
+JAVA_TEST_RESOURCE_DIRS=(
+       tests/res/collate/src
+       tests/res/core/src
+       tests/res/translit/src
+)
+JAVA_TEST_SRC_DIR=(
+       tests/charset/src
+       tests/collate/src
+       tests/core/src
+       tests/localespi/src
+       tests/packaging/src
+       tests/translit/src
+)
+
+src_prepare() {
+       default #780585
+       java-pkg_clean ! -path "./shared/data/*" # keep icudata.jar, 
icutzdata.jar, testdata.jar
+       java-pkg-2_src_prepare
+
+       # java-pkg-simple.eclass wants resources in JAVA_RESOURCE_DIRS
+       mkdir -p resources || die
+
+       pushd classes > /dev/null || die
+               find -type f \
+                       ! -name '*.java' \
+                       ! -name 'license.html' \
+                       | xargs cp --parent -t ../resources || die
+       popd > /dev/null || die
+
+       pushd resources/core/src > /dev/null || die
+               # icudata and icutzdata for "icu4j.jar"
+               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 > /dev/null || die
+
+       if use test; then
+               # 
initializationError(com.ibm.icu.dev.data.resources.TestDataElements)
+               # 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
+
+               # Separate tests resources
+               mkdir tests/res || die
+               pushd tests > /dev/null || die
+                       find -type f \
+                               ! -name '*.java' \
+                               | xargs cp --parent -t res || die
+               popd > /dev/null || die
+
+               cp -r ../tools/misc/{src,resources} || die
+               find ../tools/misc/resources -type f -name '*.java' -exec rm 
-rf {} + || die
+       fi
+}
+
+src_compile() {
+       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="resources/core/src"
+       JAVA_SRC_DIR=(
+               classes/collate/src
+               classes/core/src
+               classes/currdata/src
+               classes/langdata/src
+               classes/regiondata/src
+               classes/translit/src
+       )
+       java-pkg-simple_src_compile
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":icu4j.jar"
+       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="resources/charset/src"
+       JAVA_SRC_DIR=( classes/charset/src )
+       java-pkg-simple_src_compile
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":icu4j-charset.jar"
+       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="resources/localespi/src"
+       JAVA_SRC_DIR=( classes/localespi/src )
+       java-pkg-simple_src_compile
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":icu4j-localespi.jar"
+       rm -r target || die
+
+       # main/test/framework
+       # needed for compilicg the tests
+       # but "No runnable methods" ("Invalid test class")
+       if use test; then
+               JAVA_JAR_FILENAME="framework.jar"
+               JAVA_RESOURCE_DIRS=( tests/res/framework/src 
../tools/misc/resources )
+               JAVA_SRC_DIR=( tests/framework/src ../tools/misc/src )
+               java-pkg-simple_src_compile
+               rm -fr target || die
+       fi
+
+       # javadocs
+       if use doc; then
+               JAVA_JAR_FILENAME="ignoreme.jar"
+               JAVA_SRC_DIR=( classes )
+               java-pkg-simple_src_compile
+       fi
+}
+
+src_test () {
+       JAVA_GENTOO_CLASSPATH_EXTRA+=":framework.jar:shared/data/testdata.jar"
+
+       JAVA_TEST_RUN_ONLY=(
+               com.ibm.icu.dev.test.rbbi.AbstractBreakIteratorTests
+               com.ibm.icu.dev.test.calendar.CalendarRegressionTest
+               com.ibm.icu.dev.test.calendar.CompatibilityTest
+               com.ibm.icu.dev.test.calendar.DataDrivenCalendarTest
+               com.ibm.icu.dev.test.calendar.HolidayTest
+               com.ibm.icu.dev.test.calendar.IndianTest
+               com.ibm.icu.dev.test.calendar.IslamicTest
+               com.ibm.icu.dev.test.calendar.JapaneseTest
+               com.ibm.icu.dev.test.format.DataDrivenFormatTest
+               com.ibm.icu.dev.test.format.DateFormatRegressionTest
+               com.ibm.icu.dev.test.format.DateFormatRoundTripTest
+               com.ibm.icu.dev.test.format.DateIntervalFormatTest
+               com.ibm.icu.dev.test.format.DateTimeGeneratorTest
+               com.ibm.icu.dev.test.format.TestMessageFormat
+               com.ibm.icu.dev.test.message2.MessageFormat2Test
+               com.ibm.icu.dev.test.message2.Mf2FeaturesTest
+               com.ibm.icu.dev.test.message2.Mf2IcuTest
+               com.ibm.icu.dev.test.timezone.TimeZoneBoundaryTest
+               com.ibm.icu.dev.test.util.CurrencyTest
+       )
+       java-pkg-simple_src_test
+
+       JAVA_TEST_RUN_ONLY=()
+       # ../maven-build/maven-icu4j-localespi/pom.xml#L133-L143
+       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
+}

Reply via email to