Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/icu4j/
Date: Sat, 09 Apr 2022 05:11:38
Message-Id: 1649480417.69277444f66a92a578bde400f956c6cf4c9b01be.fordfrog@gentoo
1 commit: 69277444f66a92a578bde400f956c6cf4c9b01be
2 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
3 AuthorDate: Fri Apr 8 08:57:58 2022 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Sat Apr 9 05:00:17 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69277444
7
8 dev-java/icu4j: add 71.1
9
10 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
11 Closes: https://github.com/gentoo/gentoo/pull/24955
12 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
13
14 dev-java/icu4j/Manifest | 1 +
15 dev-java/icu4j/icu4j-71.1.ebuild | 200 +++++++++++++++++++++++++++++++++++++++
16 2 files changed, 201 insertions(+)
17
18 diff --git a/dev-java/icu4j/Manifest b/dev-java/icu4j/Manifest
19 index 406331bdf46f..296c5717e80b 100644
20 --- a/dev-java/icu4j/Manifest
21 +++ b/dev-java/icu4j/Manifest
22 @@ -1 +1,2 @@
23 DIST icu4j-70.1.tar.gz 65661187 BLAKE2B 9d2d38fa91092d8f2fa39c773b722019f1d0c9b06ba6e8abaf05c3d3b50977232d6f1a37fd5ab6be6461d133dd361dae9b8633e22c9f165ef4e6e4b8029f6b8a SHA512 f1a653452f42605f799de7ec1d5bf27aa4b715f2ec18534cd3b52bd9be7ddbe7a6d18b47e3a5b36c7a63442bc38304ddc80f519ac65b9a91978ab15b462d9456
24 +DIST icu4j-71.1.tar.gz 66177851 BLAKE2B 39c5f6e1a8adc6ee913a7a41dcbf733c1f50e6de3047c0c548bf39426102fccef1a03dd7cb4020bd56b32d0c565848f11cc5ce3f738519dd7d2820a670c40443 SHA512 cc9ccb3208d8079c4f8169713aa0ebb930e86cf6c72510a3b7de5824e6482f26166a2e530abaaecfb8338764b23ac215b2921a821167b41d6a3f23952e2718e6
25
26 diff --git a/dev-java/icu4j/icu4j-71.1.ebuild b/dev-java/icu4j/icu4j-71.1.ebuild
27 new file mode 100644
28 index 000000000000..33022e52d6d9
29 --- /dev/null
30 +++ b/dev-java/icu4j/icu4j-71.1.ebuild
31 @@ -0,0 +1,200 @@
32 +# Copyright 1999-2022 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +# Skeleton command:
36 +# 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
37 +
38 +EAPI=8
39 +
40 +JAVA_PKG_IUSE="doc source test"
41 +MAVEN_ID="com.ibm.icu:icu4j:71.1"
42 +JAVA_TESTING_FRAMEWORKS="junit-4"
43 +
44 +inherit java-pkg-2 java-pkg-simple
45 +
46 +DESCRIPTION="A set of Java libraries providing Unicode and Globalization support"
47 +HOMEPAGE="https://icu.unicode.org"
48 +SRC_URI="https://github.com/unicode-org/icu/archive/refs/tags/release-${PV/./-}.tar.gz -> ${P}.tar.gz"
49 +
50 +LICENSE="icu"
51 +SLOT="70"
52 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
53 +
54 +DEPEND=">=virtual/jdk-1.8:*
55 + test? ( dev-java/junitparams:0 )"
56 +
57 +RDEPEND=">=virtual/jre-1.8:*"
58 +
59 +S="${WORKDIR}/icu-release-${PV/./-}/icu4j/main"
60 +
61 +HTML_DOCS=( ../{APIChangeReport,license,readme}.html )
62 +
63 +JAVA_GENTOO_CLASSPATH_EXTRA="icu4j.jar:icu4j-charset.jar:icu4j-localespi.jar:testdata.jar:framework.jar"
64 +JAVA_TEST_GENTOO_CLASSPATH="junit-4,junitparams"
65 +JAVA_TEST_EXTRA_ARGS="-Djava.locale.providers=CLDR,COMPAT,SPI"
66 +
67 +JAVA_TEST_SRC_DIR=(
68 + tests/charset/src
69 + tests/collate/src
70 + tests/core/src
71 +# tests/framework/src # we compile it in src_compile
72 + tests/localespi/src
73 + tests/packaging/src
74 + tests/translit/src
75 +)
76 +
77 +JAVA_TEST_RESOURCE_DIRS=(
78 + tests/charset/resources
79 + tests/collate/resources
80 + tests/core/resources
81 +# tests/framework/resources
82 + tests/localespi/resources
83 + tests/packaging/resources
84 + tests/translit/resources
85 +)
86 +
87 +JAVA_TEST_EXCLUDES=(
88 + "com.ibm.icu.dev.data.TestDataElements_testtypes" # Invalid test class 1. No runnable methods
89 + "com.ibm.icu.dev.data.resources.TestDataElements_en_Latn_US" # Invalid test class 1. No runnable methods
90 + "com.ibm.icu.dev.data.resources.TestDataElements_en_US" # Invalid test class 1. No runnable methods
91 + "com.ibm.icu.dev.data.resources.TestDataElements_fr_Latn_FR" # Invalid test class 1. No runnable methods
92 + "com.ibm.icu.dev.data.resources.TestDataElements_te" # Invalid test class 1. No runnable methods
93 + "com.ibm.icu.dev.data.resources.TestMessages" # Invalid test class 1. No runnable methods
94 + "com.ibm.icu.dev.test.translit.TestUtility" # Invalid test class 1. No runnable methods
95 + "com.ibm.icu.dev.test.localespi.TestUtil" # Invalid test class 1. No runnable methods
96 + "com.ibm.icu.dev.test.stringprep.TestData" # Invalid test class 1. No runnable methods
97 + "com.ibm.icu.dev.test.calendar.ChineseTestCase" # Invalid test class 1. Test class should have exactly one public zero-argument constructor
98 + "com.ibm.icu.dev.test.calendar.TestCase" # java.lang.IllegalArgumentException: Test class can only have one constructor
99 + "com.ibm.icu.dev.test.bidi.TestData" # Invalid test class 1. Test class should have exactly one public constructor
100 + # following kills 98 tests and and avoids 9 test failures
101 + # coverage tests fail because test handlers for the parametrized tests are not defined so the tests are broken and cannot succeed
102 + "com.ibm.icu.dev.test.serializable.CoverageTest"
103 +)
104 +
105 +src_prepare() {
106 + default
107 +
108 + # create the resources directories
109 + mkdir resources || die
110 + cp -r classes/* resources || die
111 +
112 + # remove .java files from resources
113 + find resources -type f -name '*.java' -exec rm -rf {} + || die "deleting classes failed"
114 +
115 + # this should not go in the jar files
116 + mv shared/licenses/license.html .. || die
117 +
118 + # icudata and icutzdata for "icu4j.jar"
119 + pushd resources/core/src || die
120 + jar -xf "${S}"/shared/data/icudata.jar || die
121 + jar -xf "${S}"/shared/data/icutzdata.jar || die
122 + # move these resources to "icu4j-charset.jar"
123 + mkdir -p "${S}"/resources/charset/src/com/ibm/icu/impl/data/icudt"$(ver_cut 1)"b || die
124 + mv com/ibm/icu/impl/data/icudt"$(ver_cut 1)"b/{*.cnv,cnvalias.icu} \
125 + "${S}"/resources/charset/src/com/ibm/icu/impl/data/icudt"$(ver_cut 1)"b || die
126 +
127 + # create 9 files com/ibm/icu/impl/data/icudt69b/*/fullLocaleNames.lst
128 + for dir in $(find com/ibm/icu/impl/data/icudt"$(ver_cut 1)"b/ -type d ! -name 'unit' -exec echo {} +); do
129 + ls -1 $dir/*.res | sed -e 's%.*\/%%' -e 's%\..*$%%' -e '/pool/d' -e '/res_index/d' -e '/tzdbNames/d'\
130 + > $dir/'fullLocaleNames.lst';
131 + done || die "fullLocaleNames.lst failed"
132 + popd
133 +
134 + # this test class was failing with "No runnable methods"
135 + # but test_excluding it would kill tousands of other tests.
136 + mkdir -p tests/framework/src/com/ibm/icu/dev/data/resources || die
137 + mv tests/{core,framework}/src/com/ibm/icu/dev/data/resources/TestDataElements.java || die
138 +
139 + # testdata.jar needs to be on classpath
140 + cp shared/data/testdata.jar . || die
141 +
142 + # clone tests src
143 + for i in charset collate core framework localespi packaging translit; do \
144 + cp -r tests/$i/{src,resources} ; \
145 + done || die "copying tests from src to resources failed"
146 + cp -r ../tools/misc/{src,resources} || die
147 +
148 + # separate tests resources from tests src
149 + find tests/*/resources -type f -name '*.java' -exec rm -rf {} + || die
150 + find ../tools/misc/resources -type f -name '*.java' -exec rm -rf {} + || die
151 +}
152 +
153 +src_compile() {
154 + # "icu4j.jar"
155 + JAVA_SRC_DIR=(
156 + classes/collate/src
157 + classes/core/src
158 + classes/currdata/src
159 + classes/langdata/src
160 + classes/regiondata/src
161 + classes/translit/src
162 + )
163 + JAVA_RESOURCE_DIRS=(
164 + resources/collate/src
165 + resources/core/src
166 + resources/currdata/src
167 + resources/langdata/src
168 + resources/regiondata/src
169 + resources/translit/src
170 + shared/licenses
171 + )
172 + JAVA_JAR_FILENAME="icu4j.jar"
173 + JAVA_MAIN_CLASS="com.ibm.icu.util.VersionInfo"
174 + java-pkg-simple_src_compile
175 + rm -r target || die
176 +
177 + # "icu4j-charset.jar"
178 + JAVA_SRC_DIR=( classes/charset/src )
179 + JAVA_RESOURCE_DIRS=( resources/charset/src shared/licenses )
180 + JAVA_JAR_FILENAME="icu4j-charset.jar"
181 + JAVA_MAIN_CLASS=""
182 + java-pkg-simple_src_compile
183 + rm -r target || die
184 +
185 + # "icu4j-localespi.jar"
186 + JAVA_SRC_DIR=( classes/localespi/src )
187 + JAVA_RESOURCE_DIRS=( resources/localespi/src shared/licenses )
188 + JAVA_JAR_FILENAME="icu4j-localespi.jar"
189 + java-pkg-simple_src_compile
190 + rm -r target || die
191 +
192 + # main/test/framework
193 + # needed for compilicg the tests
194 + # but "No runnable methods" ("Invalid test class")
195 + if use test; then
196 + JAVA_SRC_DIR=( tests/framework/src ../tools/misc/src )
197 + JAVA_RESOURCE_DIRS=( tests/framework/resources ../tools/misc/resources )
198 + JAVA_JAR_FILENAME="framework.jar"
199 + java-pkg-simple_src_compile
200 + rm -fr target || die
201 + fi
202 +
203 + # javadocs
204 + if use doc; then
205 + JAVA_SRC_DIR=( classes )
206 + JAVA_JAR_FILENAME="ignoreme.jar"
207 + java-pkg-simple_src_compile
208 + fi
209 +}
210 +
211 +src_test () {
212 + # https://bugs.gentoo.org/827212
213 + local vm_version="$(java-config -g PROVIDES_VERSION)"
214 + if [[ "${vm_version}" != "1.8" ]] ; then
215 + java-pkg-simple_src_test
216 + fi
217 +}
218 +
219 +src_install() {
220 + default
221 + java-pkg_dojar "icu4j.jar"
222 + java-pkg_dojar "icu4j-charset.jar"
223 + java-pkg_dojar "icu4j-localespi.jar"
224 +
225 + if use doc; then
226 + java-pkg_dojavadoc target/api
227 + fi
228 + if use source; then
229 + java-pkg_dosrc "classes"
230 + fi
231 +}