commit:     69277444f66a92a578bde400f956c6cf4c9b01be
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Apr  8 08:57:58 2022 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sat Apr  9 05:00:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69277444

dev-java/icu4j: add 71.1

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

 dev-java/icu4j/Manifest          |   1 +
 dev-java/icu4j/icu4j-71.1.ebuild | 200 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 201 insertions(+)

diff --git a/dev-java/icu4j/Manifest b/dev-java/icu4j/Manifest
index 406331bdf46f..296c5717e80b 100644
--- a/dev-java/icu4j/Manifest
+++ b/dev-java/icu4j/Manifest
@@ -1 +1,2 @@
 DIST icu4j-70.1.tar.gz 65661187 BLAKE2B 
9d2d38fa91092d8f2fa39c773b722019f1d0c9b06ba6e8abaf05c3d3b50977232d6f1a37fd5ab6be6461d133dd361dae9b8633e22c9f165ef4e6e4b8029f6b8a
 SHA512 
f1a653452f42605f799de7ec1d5bf27aa4b715f2ec18534cd3b52bd9be7ddbe7a6d18b47e3a5b36c7a63442bc38304ddc80f519ac65b9a91978ab15b462d9456
+DIST icu4j-71.1.tar.gz 66177851 BLAKE2B 
39c5f6e1a8adc6ee913a7a41dcbf733c1f50e6de3047c0c548bf39426102fccef1a03dd7cb4020bd56b32d0c565848f11cc5ce3f738519dd7d2820a670c40443
 SHA512 
cc9ccb3208d8079c4f8169713aa0ebb930e86cf6c72510a3b7de5824e6482f26166a2e530abaaecfb8338764b23ac215b2921a821167b41d6a3f23952e2718e6

diff --git a/dev-java/icu4j/icu4j-71.1.ebuild b/dev-java/icu4j/icu4j-71.1.ebuild
new file mode 100644
index 000000000000..33022e52d6d9
--- /dev/null
+++ b/dev-java/icu4j/icu4j-71.1.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri 
https://github.com/unicode-org/icu/archive/refs/tags/release-70-1.tar.gz --slot 
70 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild icu4j-70.1.ebuild
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.ibm.icu:icu4j:71.1"
+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/refs/tags/release-${PV/./-}.tar.gz
 -> ${P}.tar.gz"
+
+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:*"
+
+S="${WORKDIR}/icu-release-${PV/./-}/icu4j/main"
+
+HTML_DOCS=( ../{APIChangeReport,license,readme}.html )
+
+JAVA_GENTOO_CLASSPATH_EXTRA="icu4j.jar:icu4j-charset.jar:icu4j-localespi.jar:testdata.jar:framework.jar"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,junitparams"
+JAVA_TEST_EXTRA_ARGS="-Djava.locale.providers=CLDR,COMPAT,SPI"
+
+JAVA_TEST_SRC_DIR=(
+       tests/charset/src
+       tests/collate/src
+       tests/core/src
+#      tests/framework/src # we compile it in src_compile
+       tests/localespi/src
+       tests/packaging/src
+       tests/translit/src
+)
+
+JAVA_TEST_RESOURCE_DIRS=(
+       tests/charset/resources
+       tests/collate/resources
+       tests/core/resources
+#      tests/framework/resources
+       tests/localespi/resources
+       tests/packaging/resources
+       tests/translit/resources
+)
+
+JAVA_TEST_EXCLUDES=(
+       "com.ibm.icu.dev.data.TestDataElements_testtypes" # Invalid test class 
1. No runnable methods
+       "com.ibm.icu.dev.data.resources.TestDataElements_en_Latn_US" # Invalid 
test class 1. No runnable methods
+       "com.ibm.icu.dev.data.resources.TestDataElements_en_US" # Invalid test 
class 1. No runnable methods
+       "com.ibm.icu.dev.data.resources.TestDataElements_fr_Latn_FR" # Invalid 
test class 1. No runnable methods
+       "com.ibm.icu.dev.data.resources.TestDataElements_te" # Invalid test 
class 1. No runnable methods
+       "com.ibm.icu.dev.data.resources.TestMessages" # Invalid test class 1. 
No runnable methods
+       "com.ibm.icu.dev.test.translit.TestUtility" # Invalid test class 1. No 
runnable methods
+       "com.ibm.icu.dev.test.localespi.TestUtil" # Invalid test class 1. No 
runnable methods
+       "com.ibm.icu.dev.test.stringprep.TestData" # Invalid test class 1. No 
runnable methods
+       "com.ibm.icu.dev.test.calendar.ChineseTestCase" # Invalid test class 1. 
Test class should have exactly one public zero-argument constructor
+       "com.ibm.icu.dev.test.calendar.TestCase" # 
java.lang.IllegalArgumentException: Test class can only have one constructor
+       "com.ibm.icu.dev.test.bidi.TestData" # Invalid test class 1. Test class 
should have exactly one public constructor
+       # following kills 98 tests and and avoids 9 test failures
+       # coverage tests fail because test handlers for the parametrized tests 
are not defined so the tests are broken and cannot succeed
+       "com.ibm.icu.dev.test.serializable.CoverageTest"
+)
+
+src_prepare() {
+       default
+
+       # create the resources directories
+       mkdir resources || die
+       cp -r classes/* resources || die
+
+       # remove .java files from resources
+       find resources -type f -name '*.java' -exec rm -rf {} + || die 
"deleting classes failed"
+
+       # this should not go in the jar files
+       mv shared/licenses/license.html .. || die
+
+       # icudata and icutzdata for "icu4j.jar"
+       pushd resources/core/src || die
+               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
+
+       # this test class was failing with "No runnable methods"
+       # 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
+
+       # testdata.jar needs to be on classpath
+       cp shared/data/testdata.jar . || die
+
+       # clone tests src
+       for i in charset collate core framework localespi packaging translit; 
do \
+               cp -r tests/$i/{src,resources} ; \
+               done || die "copying tests from src to resources failed"
+       cp -r ../tools/misc/{src,resources} || die
+
+       # separate tests resources from tests src
+       find tests/*/resources -type f -name '*.java' -exec rm -rf {} + || die
+       find ../tools/misc/resources -type f -name '*.java' -exec rm -rf {} + 
|| die
+}
+
+src_compile() {
+       # "icu4j.jar"
+       JAVA_SRC_DIR=(
+               classes/collate/src
+               classes/core/src
+               classes/currdata/src
+               classes/langdata/src
+               classes/regiondata/src
+               classes/translit/src
+       )
+       JAVA_RESOURCE_DIRS=(
+               resources/collate/src
+               resources/core/src
+               resources/currdata/src
+               resources/langdata/src
+               resources/regiondata/src
+               resources/translit/src
+               shared/licenses
+       )
+       JAVA_JAR_FILENAME="icu4j.jar"
+       JAVA_MAIN_CLASS="com.ibm.icu.util.VersionInfo"
+       java-pkg-simple_src_compile
+       rm -r target || die
+
+       # "icu4j-charset.jar"
+       JAVA_SRC_DIR=( classes/charset/src )
+       JAVA_RESOURCE_DIRS=( resources/charset/src shared/licenses )
+       JAVA_JAR_FILENAME="icu4j-charset.jar"
+       JAVA_MAIN_CLASS=""
+       java-pkg-simple_src_compile
+       rm -r target || die
+
+       # "icu4j-localespi.jar"
+       JAVA_SRC_DIR=( classes/localespi/src )
+       JAVA_RESOURCE_DIRS=( resources/localespi/src shared/licenses )
+       JAVA_JAR_FILENAME="icu4j-localespi.jar"
+       java-pkg-simple_src_compile
+       rm -r target || die
+
+       # main/test/framework
+       # needed for compilicg the tests
+       # but "No runnable methods" ("Invalid test class")
+       if use test; then
+               JAVA_SRC_DIR=( tests/framework/src ../tools/misc/src )
+               JAVA_RESOURCE_DIRS=( tests/framework/resources 
../tools/misc/resources )
+               JAVA_JAR_FILENAME="framework.jar"
+               java-pkg-simple_src_compile
+               rm -fr target || die
+       fi
+
+       # javadocs
+       if use doc; then
+               JAVA_SRC_DIR=( classes )
+               JAVA_JAR_FILENAME="ignoreme.jar"
+               java-pkg-simple_src_compile
+       fi
+}
+
+src_test () {
+       # https://bugs.gentoo.org/827212
+       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