diff options
Diffstat (limited to 'dev-java/icu4j/icu4j-76.1.ebuild')
-rw-r--r-- | dev-java/icu4j/icu4j-76.1.ebuild | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/dev-java/icu4j/icu4j-76.1.ebuild b/dev-java/icu4j/icu4j-76.1.ebuild new file mode 100644 index 000000000000..f643f2f3ef08 --- /dev/null +++ b/dev-java/icu4j/icu4j-76.1.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2024 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" + pushd "${JAVA_TEST_SRC_DIR}" || die + # exclude invalid tests, not run by "mvn test" + local JAVA_TEST_RUN_ONLY=$(find * \ + -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" \ + ) + popd + 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-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 +} |