summaryrefslogtreecommitdiff
path: root/dev-java/icu4j
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/icu4j')
-rw-r--r--dev-java/icu4j/Manifest6
-rw-r--r--dev-java/icu4j/icu4j-55.1.ebuild48
-rw-r--r--dev-java/icu4j/icu4j-70.1.ebuild199
-rw-r--r--dev-java/icu4j/metadata.xml4
4 files changed, 206 insertions, 51 deletions
diff --git a/dev-java/icu4j/Manifest b/dev-java/icu4j/Manifest
index fd66d7445a1b..7ee3fbfdf58b 100644
--- a/dev-java/icu4j/Manifest
+++ b/dev-java/icu4j/Manifest
@@ -1,5 +1,5 @@
DIST icu4j-54_1_1.tgz 23457651 BLAKE2B f200d170c32065d2f678247d595085283446e401da2c2433b426466fc5c6f93f5ce629bce23d1114cad7d360aa4d127060750d380da8cc3e7fa1e529b454bae9 SHA512 c41f7f9fb0819767da48ac21c4883a628da8397e0ad5b0d75e51d9185b5511608c9a635933c4ae2e0c8911b2cdecf47bc661050935bbae2ba58abfb5ad04dadf
-DIST icu4j-55_1.tgz 23617640 BLAKE2B fe22524761e0c6be4ea440f90ffe5fba8a2f34484207248762ab127c3bb7e4328ced3502a336edd7d3a1026804381cd2b8738b15cd1745af0cee813dc60d7893 SHA512 706daed61d9d3722a0813d175fa66b24570abba492c32704d4df924861e5d2592a4a5ff40fdec2bd3fb662c3679dbc9addd580966c3cc69470d14e3fce27a054
+DIST icu4j-70.1.tar.gz 65661187 BLAKE2B 9d2d38fa91092d8f2fa39c773b722019f1d0c9b06ba6e8abaf05c3d3b50977232d6f1a37fd5ab6be6461d133dd361dae9b8633e22c9f165ef4e6e4b8029f6b8a SHA512 f1a653452f42605f799de7ec1d5bf27aa4b715f2ec18534cd3b52bd9be7ddbe7a6d18b47e3a5b36c7a63442bc38304ddc80f519ac65b9a91978ab15b462d9456
EBUILD icu4j-54.1.1-r1.ebuild 1295 BLAKE2B f2bacdbc333dcf7e25503cca563ac8eac94d470a348feaa71b3053f99d246b83ff104cef218b53aa2a22cf3b67e069c2973904ea1d42afb8fe7900b41cf7f4e6 SHA512 e98b2308eb5a8ce3eebede4ce91668978e2551938141af3951683a2088efe7b837e0b3a0fbb7ae8689e4c19a8f1b1d0fb3e5825c6dc291de8fea2f45a57eff69
-EBUILD icu4j-55.1.ebuild 1122 BLAKE2B 8e4bbd842f673a1618f95d1dcad6d96379d58aa265fb06aa7c0e7bfb46f9bab940a7e3b8c169a1f2751289e29c16e700d87d01c860f0688d726b47620741228e SHA512 b8426a6b8103c2cb107f4c216b27cc10609004f6624246773ffacb202a595437b3e10e2567d834b754bd96d74465627897047cd0f794264d0e809f58b116eaf4
-MISC metadata.xml 237 BLAKE2B 7c3263833976c18611a5cba44845af4d80f2f86c48cf587a657292ed0074022088cef88756e3209b292252dce5c0eea307c4f2f45f28b8517609124708f7d09a SHA512 e8227b536eb45569cbf744907106e101d1aa6bf9ba8337783786d719ab107d8bda0fde5dd7067d168181d694b4161b12d1ef3cb5a83b14971b21aa4479670559
+EBUILD icu4j-70.1.ebuild 6893 BLAKE2B 919b6540c6583cf6650e98185dae0fe8e767d470ab6f5876cdde3e6c6d8a857052d4b64f7bc5c833fd8abda6e2c089ed47e758ad1a7c42b943d45b6870601ac8 SHA512 aae6b1bcb2a58bcb282d0c765fa5e54de0a174718008ac77d26be37d8b5012c6a81f6d8d10e736482009e097ae47d368b3bda08d79a679e3d394b507bbb91f07
+MISC metadata.xml 408 BLAKE2B 8d73c37540d7adce52f3f5b316d7c322bdbbacc3fd2dea5e361352bff8efb3ec2a5b49ca4e7b97d15e8c668e52fe32f90ec1972bae78b9b3b3354973d8fc992a SHA512 eb7df20108b1ebcbf5dd9edd72c2089df2c675028824b4c04976e35b4c306dd459a40aa45b0ac7da5392552657cd1dbaf2fb17b269f9d58110a6ac40dc377b0c
diff --git a/dev-java/icu4j/icu4j-55.1.ebuild b/dev-java/icu4j/icu4j-55.1.ebuild
deleted file mode 100644
index 025701c00218..000000000000
--- a/dev-java/icu4j/icu4j-55.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-JAVA_PKG_IUSE="doc examples source test"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="A set of Java libraries providing Unicode and Globalization support"
-HOMEPAGE="http://www.icu-project.org/"
-SRC_URI="http://download.icu-project.org/files/${PN}/${PV}/${PN}-${PV//./_}.tgz"
-
-LICENSE="icu"
-SLOT="55"
-KEYWORDS="amd64 ~arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE=""
-
-# Beware of jdk version dependant code #361593
-DEPEND=">=virtual/jdk-1.6"
-RDEPEND=">=virtual/jre-1.6"
-
-S="${WORKDIR}"
-
-JAVA_PKG_BSFIX_NAME+=" common-targets.xml"
-
-EANT_DOC_TARGET="docs"
-EANT_TEST_TARGET="check"
-
-JAVA_RM_FILES=(
- tools/build/src/com/ibm/icu/dev/tool/docs/ICUTaglet.java
-)
-
-src_test() {
- java-pkg-2_src_test
-}
-
-src_install() {
- java-pkg_dojar ${PN}.jar
- java-pkg_dojar ${PN}-charset.jar
- java-pkg_dojar ${PN}-localespi.jar
-
- dohtml readme.html
-
- use doc && java-pkg_dojavadoc doc
- use examples && java-pkg_doexamples demos samples
- use source && java-pkg_dosrc main/classes/*/src/com
-}
diff --git a/dev-java/icu4j/icu4j-70.1.ebuild b/dev-java/icu4j/icu4j-70.1.ebuild
new file mode 100644
index 000000000000..410aa0e75594
--- /dev/null
+++ b/dev-java/icu4j/icu4j-70.1.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2021 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=7
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="com.ibm.icu:icu4j:70.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 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 text_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 -fr 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-pkg-simple_src_compile
+ rm -fr 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 -fr 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
+}
diff --git a/dev-java/icu4j/metadata.xml b/dev-java/icu4j/metadata.xml
index 4221e170cbc0..22e776e183a1 100644
--- a/dev-java/icu4j/metadata.xml
+++ b/dev-java/icu4j/metadata.xml
@@ -5,4 +5,8 @@
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">unicode-org/icu</remote-id>
+ <bugs-to>https://unicode-org.atlassian.net/jira/software/c/projects/ICU/issues</bugs-to>
+ </upstream>
</pkgmetadata>