summaryrefslogtreecommitdiff
path: root/dev-java/icu4j
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/icu4j')
-rw-r--r--dev-java/icu4j/Manifest2
-rw-r--r--dev-java/icu4j/icu4j-77.1.ebuild205
2 files changed, 207 insertions, 0 deletions
diff --git a/dev-java/icu4j/Manifest b/dev-java/icu4j/Manifest
index 95966abcb7c9..67e018025173 100644
--- a/dev-java/icu4j/Manifest
+++ b/dev-java/icu4j/Manifest
@@ -1,3 +1,5 @@
DIST icu4j-76.1.tar.gz 67524828 BLAKE2B 949b6b69e2201ba5b4538766d25e72a8d98daeb8b1bf376966a6f410febee8c75c031ce9e52a0e4908d5d01f4d0120526ac84178603ee3968c1a399fc0a7959c SHA512 b92e05f3b5022992dfc7881542ed957dc9a1bc0b86f28fa6123dd4ab295e2a91686672193017acc0e0b659c37c944a1d2222e4881d7c65046a1df9dfaa925f12
+DIST icu4j-77.1.tar.gz 68285934 BLAKE2B 91352e0b866083db022a945ae1f80c3ebc16d98e98fd1ca8670fddc1bfd08e8d41c93fbf225b85f5b96a0497f18653bd414f5aed0e882a63dfa9853eabb07527 SHA512 1c71b1743c9990722dea2f75903329c5fcacae235d2dd0b0658d1e260b3c1d4a3458733845e963f6f01c2c3ed05d4b1731c7dcac659dda64eb4ab20f416921c2
EBUILD icu4j-76.1-r1.ebuild 6230 BLAKE2B cb2dc913efcb4b6232aa5d68763aa9943b4d5930950a03176a714b3d0c3979de12f4cf4e0e5a5ad72bca8062a035d29698f2e9a9788ab7f116db62c6d19bebe7 SHA512 f231676d3ee1027f81145f086fec3a86619e4038a6f5ff2fc94ed75fc7615063e7a6633596c984fc19281156632610780cdd6df710107a273097dc957f7ef313
+EBUILD icu4j-77.1.ebuild 6242 BLAKE2B 4724dd373dcc9bb2dd939a2fc9929cde00aecacecb03627a391de9a604d30c365ed115e720e8e0576eb940e59fd5ac0f85b38d5f9a2a6ace2774c271c7ad295d SHA512 bc8b57207b1eb10365403e60ea4e05795f4d99eef5961b14d09a3034f8c82319cb5883fbdaa2fc980cc10c3e7210898245b7e7328fd39d8c74782dda3339f6ae
MISC metadata.xml 408 BLAKE2B 8d73c37540d7adce52f3f5b316d7c322bdbbacc3fd2dea5e361352bff8efb3ec2a5b49ca4e7b97d15e8c668e52fe32f90ec1972bae78b9b3b3354973d8fc992a SHA512 eb7df20108b1ebcbf5dd9edd72c2089df2c675028824b4c04976e35b4c306dd459a40aa45b0ac7da5392552657cd1dbaf2fb17b269f9d58110a6ac40dc377b0c
diff --git a/dev-java/icu4j/icu4j-77.1.ebuild b/dev-java/icu4j/icu4j-77.1.ebuild
new file mode 100644
index 000000000000..29f97a48d832
--- /dev/null
+++ b/dev-java/icu4j/icu4j-77.1.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ com.ibm.icu:icu4j:${PV}
+ com.ibm.icu:icu4j-charset:${PV}
+ com.ibm.icu:icu4j-localespi:${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 -> ${P}.tar.gz"
+S="${WORKDIR}/icu-release-${PV/./-}/icu4j/main"
+
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-java/gson:0
+ dev-java/junitparams:0
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( ../../{CONTRIBUTING,README,SECURITY}.md )
+HTML_DOCS=( ../{APIChangeReport,readme}.html )
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ # There was 1 failure:
+ # 1) test(com.ibm.icu.dev.test.message2.CoreTest)
+ # java.io.FileNotFoundException: Test data directory does not exist:
+ # tried /var/tmp/portage/dev-java/icu4j-76.1/work/testdata/message2
+ # and /var/tmp/portage/dev-java/icu4j-76.1/work/testdata/message2
+ # at com.ibm.icu.dev.test.message2.TestUtils.getTestFile(TestUtils.java:212)
+ # at com.ibm.icu.dev.test.message2.TestUtils.jsonReader(TestUtils.java:194)
+ # at com.ibm.icu.dev.test.message2.CoreTest.test(CoreTest.java:52)
+ cp -r ../..{,/..}/testdata || die
+}
+
+src_compile() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="icu4j.jar:icu4j-charset.jar:icu4j-localespi.jar"
+
+ 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=(
+ collate/src/main/resources
+ core/src/main/resources
+ currdata/src/main/resources
+ langdata/src/main/resources
+ regiondata/src/main/resources
+ translit/src/main/resources
+ )
+ JAVA_SRC_DIR=(
+ collate/src/main/java
+ core/src/main/java
+ currdata/src/main/java
+ langdata/src/main/java
+ regiondata/src/main/java
+ translit/src/main/java
+ )
+ java-pkg-simple_src_compile
+ 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=( charset/src/main/resources )
+ JAVA_SRC_DIR=( charset/src/main/java )
+ java-pkg-simple_src_compile
+ 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=( localespi/src/main/resources )
+ JAVA_SRC_DIR=( localespi/src/main/java )
+ java-pkg-simple_src_compile
+ rm -r target || die
+
+ einfo "Generating javadocs"
+ JAVADOC_SRC_DIRS=(
+ collate/src/main/java
+ core/src/main/java
+ currdata/src/main/java
+ langdata/src/main/java
+ regiondata/src/main/java
+ translit/src/main/java
+ charset/src/main/java
+ localespi/src/main/java
+ )
+ use doc && ejavadoc
+}
+
+src_test () {
+ # TZ needed for some tests in com/ibm/icu/dev/test/format/DateFormatTest
+ export LC_ALL="en_US.UTF-8" TZ="US/Pacific"
+
+ JAVA_TEST_EXTRA_ARGS="-Djava.locale.providers=CLDR,COMPAT,SPI"
+ JAVA_TEST_GENTOO_CLASSPATH="gson,junit-4,junitparams"
+
+ einfo "Compiling framework-tests.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="com.ibm.icu.framework"
+ JAVA_JAR_FILENAME="framework-tests.jar"
+ JAVA_MAIN_CLASS="com.ibm.icu.dev.test.TestAll"
+ JAVA_RESOURCE_DIRS=( framework/src/test/resources )
+ JAVA_SRC_DIR=( framework/src/test/java )
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":framework-tests.jar"
+
+ einfo "Testing core aka icu4j.jar"
+ JAVA_TEST_RESOURCE_DIRS="core/src/test/resources"
+ JAVA_TEST_SRC_DIR="core/src/test/java"
+ # exclude invalid tests, not run by "mvn test"
+ local JAVA_TEST_RUN_ONLY=$(find core/src/test/java \
+ -name "*Test*.java" \
+ ! -name "ChineseTestCase.java" \
+ ! -name "DataDrivenNumberFormatTestUtility.java" \
+ ! -name "*Helper.java" \
+ ! -name "ModuleTest.java" \
+ ! -name "*Sample.java" \
+ ! -name "TestCase.java" \
+ ! -name "*TestData*.java" \
+ ! -name "*TestFmwk.java" \
+ ! -name "TestMessages.java" \
+ ! -name "TestUtils.java" \
+ ! -name "DefaultTestProperties.java" \
+ ! -name "MF2Test.java" \
+ ! -name "TestBoilerplate.java" \
+ ! -name "TestFunctionFactory.java" \
+ -printf "%P\n" )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ java-pkg-simple_src_test
+
+ einfo "Creating core-tests.jar"
+ jar cvf core-tests.jar -C target/test-classes . || die
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":core-tests.jar"
+ JAVA_TEST_RUN_ONLY=()
+
+ einfo "Testing collate"
+ JAVA_TEST_RESOURCE_DIRS="collate/src/test/resources"
+ JAVA_TEST_SRC_DIR="collate/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing translit"
+ JAVA_TEST_EXCLUDES=(
+ # Invalid test classes, No runnable methods
+ com.ibm.icu.dev.test.TestBoilerplate
+ com.ibm.icu.dev.test.translit.TestUtility
+ )
+ JAVA_TEST_RESOURCE_DIRS="translit/src/test/resources"
+ JAVA_TEST_SRC_DIR="translit/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing charset"
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="charset/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing common_tests"
+ # "mvn test" runs only 90 tests here, Gentoo runs 99 but 9 of them fail.
+ # coverage tests fail because test handlers for the parametrized tests
+ # are not defined so the tests are broken and cannot succeed
+ JAVA_TEST_EXCLUDES=( com.ibm.icu.dev.test.serializable.CoverageTest )
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="common_tests/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing localespi"
+ JAVA_TEST_RESOURCE_DIRS=""
+ JAVA_TEST_SRC_DIR="localespi/src/test/java"
+ # Invalid test classes, No runnable methods
+ JAVA_TEST_EXCLUDES=( com.ibm.icu.dev.test.localespi.TestUtil )
+ # https://bugs.gentoo.org/827212, "mvn test" does not run it at all
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if [[ "${vm_version}" != "1.8" ]]; then
+ java-pkg-simple_src_test
+ fi
+}
+
+src_install() {
+ JAVA_JAR_FILENAME="icu4j.jar"
+ JAVA_MAIN_CLASS="com.ibm.icu.util.VersionInfo"
+ java-pkg-simple_src_install
+ java-pkg_dojar "icu4j-charset.jar"
+ java-pkg_dojar "icu4j-localespi.jar"
+
+ if use source; then
+ java-pkg_dosrc */src/main/java/*
+ fi
+}