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 |
+} |