diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-04-06 22:33:41 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-04-06 22:33:41 +0100 |
commit | e68d405c5d712af4387159df07e226217bdda049 (patch) | |
tree | 009ab0f3d427f0813e62930d71802cb054c07e30 /dev-java/stringtemplate/stringtemplate-4.3.2.ebuild | |
parent | 401101f9c8077911929d3f2b60a37098460a5d89 (diff) |
gentoo resync : 06.04.2022
Diffstat (limited to 'dev-java/stringtemplate/stringtemplate-4.3.2.ebuild')
-rw-r--r-- | dev-java/stringtemplate/stringtemplate-4.3.2.ebuild | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/dev-java/stringtemplate/stringtemplate-4.3.2.ebuild b/dev-java/stringtemplate/stringtemplate-4.3.2.ebuild new file mode 100644 index 000000000000..1d0130c2b54f --- /dev/null +++ b/dev-java/stringtemplate/stringtemplate-4.3.2.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.antlr:ST4:4.3.2" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="A Java template engine" +HOMEPAGE="https://www.stringtemplate.org/" +# Maven Central sources JAR for *.java sources pre-generated from *.g files; +# the source generation requires antlr-tool-3.5, which depends on this package. +# Tarball for the test suite and DOCS files +SRC_URI=" + https://repo1.maven.org/maven2/org/antlr/ST4/${PV}/ST4-${PV}-sources.jar + https://github.com/antlr/${PN}4/archive/${PV}.tar.gz -> ${P}.tar.gz +" + +LICENSE="BSD" +SLOT="4" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +CP_DEPEND=" + dev-java/antlr-runtime:3.5 +" + +BDEPEND=" + app-arch/unzip +" + +DEPEND=" + >=virtual/jdk-1.8:* + ${CP_DEPEND} + test? ( + dev-java/antlr-tool:3.5 + ) +" + +RDEPEND=" + >=virtual/jre-1.8:* + ${CP_DEPEND} +" + +S="${WORKDIR}" +TARBALL_S="${S}/${PN}4-${PV}" + +JAVA_SRC_DIR="org" + +JAVA_TEST_GENTOO_CLASSPATH="junit-4,antlr-tool-3.5" +JAVA_TEST_SRC_DIR="${TARBALL_S}/test" +JAVA_TEST_RESOURCE_DIRS=( "${TARBALL_S}/test/resources" ) + +DOCS=( "${TARBALL_S}/"{CHANGES.txt,README.md} ) + +src_prepare() { + # Do not call java-pkg_clean; otherwise, it would remove + # ${TARBALL_S}/test/test.jar, which is merely used as a + # test resource file, does not contain any *.class files, + # and is required to pass the tests as of version 4.3.2 + pushd "${TARBALL_S}" > /dev/null || + die "Failed to enter directory storing tarball contents" + eapply "${FILESDIR}/${PN}-4.3.1-BaseTest-javac-source-target.patch" + popd > /dev/null || + die "Failed to leave directory storing tarball contents" + java-pkg-2_src_prepare + # Some of these tests requires a graphical display. + rm -v "${JAVA_TEST_SRC_DIR}/org/stringtemplate/v4/test/TestEarlyEvaluation.java" || die +} + +src_test() { + # Make sure no older versions of this slot are present in the classpath + # https://bugs.gentoo.org/834138#c4 + local old_ver_cp="$(nonfatal java-pkg_getjars "${PN}-${SLOT}")" + local new_test_cp="$(\ + java-pkg_getjars --with-dependencies "${JAVA_TEST_GENTOO_CLASSPATH}")" + new_test_cp="${new_test_cp//"${old_ver_cp}"/}" + + # Some of the test cases require an absolute path to the JAR being tested + # against to be in the classpath, due to the fact that they call the 'java' + # command outside ${S} and reuse the classpath for the tests: + # https://github.com/antlr/stringtemplate4/blob/4.3.1/test/org/stringtemplate/v4/test/TestImports.java#L103 + # https://github.com/antlr/stringtemplate4/blob/4.3.1/test/org/stringtemplate/v4/test/BaseTest.java#L174 + new_test_cp="${S}/${JAVA_JAR_FILENAME}:${new_test_cp}" + + # The JAR used as a test resource file needs to be in the classpath + # https://github.com/antlr/stringtemplate4/blob/4.3.2/pom.xml#L53-L58 + new_test_cp+=":${JAVA_TEST_SRC_DIR}/test.jar" + + # Use JAVA_GENTOO_CLASSPATH_EXTRA to set test classpath + local JAVA_TEST_GENTOO_CLASSPATH="" + [[ -n "${JAVA_GENTOO_CLASSPATH_EXTRA}" ]] && + JAVA_GENTOO_CLASSPATH_EXTRA+=":" + JAVA_GENTOO_CLASSPATH_EXTRA+="${new_test_cp}" + java-pkg-simple_src_test +} + +src_install() { + java-pkg-simple_src_install + einstalldocs # https://bugs.gentoo.org/789582 +} |