commit:     1210dc8f95787cdbd313ee1edcb700fafc1c23f9
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Nov 21 07:41:23 2023 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Dec  8 10:38:57 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1210dc8f

dev-java/stringtemplate: add 4.3.4

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/stringtemplate/Manifest                   |   2 +
 ...stringtemplate-4.3.4-Java21-TestRenderers.patch |  91 ++++++++++++++++++
 .../stringtemplate/stringtemplate-4.3.4.ebuild     | 107 +++++++++++++++++++++
 3 files changed, 200 insertions(+)

diff --git a/dev-java/stringtemplate/Manifest b/dev-java/stringtemplate/Manifest
index a3e375a5b4f2..a3cd15fbf1b0 100644
--- a/dev-java/stringtemplate/Manifest
+++ b/dev-java/stringtemplate/Manifest
@@ -1,4 +1,6 @@
 DIST ST4-4.3.2-sources.jar 198754 BLAKE2B 
667953642ed2721d1a7c7e94d90a1f8690cfa9c31c391e9b5089f04c64728dac75edc9cd0e529607cad4c1b07abaf45719c2cbab9e962a5feef657b59c3baccc
 SHA512 
7de339d34adf6b9207a23e8936092ea4fde78bf1faa63cee869673e91ba73d0fcbaa555602d0905c7347e894985613c63ff4ce04825decc34c896da5a687d42f
+DIST ST4-4.3.4-sources.jar 198780 BLAKE2B 
25f9b4baf43075ddbc946933a517e8361f88d152c4caba29a88770ab229c1b40636ebc4ccdf52a2132d94974e0d81dd114e4018658d178a2c44228007450ab7d
 SHA512 
83ff2e17659c37407b91c83e7fcd3b5d44b206f6fdaaf8034122a3c9490778aeb24ecf90778b9dc9d6836bc59a01d75bacce71e27aadb8a5fa22b9373f7f7878
+DIST ST4-4.3.4.tar.gz 436814 BLAKE2B 
40aba1cb009b669ad00285b4cdffa66632c38267f42b6b973bdb0a2f57f3c46fc13d1a929ac4745c104d658f127a63081ed5dde4c813c10e60ce7df3490d3517
 SHA512 
5061663c3130a50b03aaf1800a04103afae7db59758bc7957914b07718e50a139c5d486f90098368500c46d3d751ea1659c63531126fb146fb77eaeb6e244ea2
 DIST stringtemplate-3.2.1-4-java21-compatibility.patch 1973 BLAKE2B 
b48891549f1d9a3386b0a44a78f453a7938122e5b0b5eeba98888bfa843aea4e5732b4dbcf6aac66272c9fe5aeb9ed98aabcf3edcd155f43d5ad0c1d4d4cdd57
 SHA512 
8dcf841affc0e7da006b13bf4c5d44fc5315aa4790926e8598650b519fd57a4c322e4292ba58561c921308697a4be1b8b6528931eb79e6a9f2e9f7d1370599cc
 DIST stringtemplate-3.2.1.tar.gz 107877 BLAKE2B 
e099aaef047de12706ca4c771f28742dc48ec14a577b2384b32850e304b29284436b3c850846136cbd37481ff48cfb2fd5935d2de3aafa5c817ae24f62579435
 SHA512 
76203182302d42a0f79de7e8a22f44c59ddc5604761034e420b6973894e0ca1e6154cbcb322ec6f9a064ee89cc5f6478b775a716692c80c7f0c77566aa8a0e25
 DIST stringtemplate-4.3.2.tar.gz 437013 BLAKE2B 
0fb0fd62314a1fa5045285966b28aaf8f18579261722c0383e4ec8b3198aff59fd0e9760dcd43d8ecddf795ce3b2a882f3f339ec56d117a4b5b22e9c2718d679
 SHA512 
d6150f86ce458b5c74d533016bc3168fad969fc1d814d01c5ad3be2f866f7aa531357a903565f31afa3ba62423acc760b7762865e0ee5dd3af4ea546f6be25e1

diff --git 
a/dev-java/stringtemplate/files/stringtemplate-4.3.4-Java21-TestRenderers.patch 
b/dev-java/stringtemplate/files/stringtemplate-4.3.4-Java21-TestRenderers.patch
new file mode 100644
index 000000000000..e166440edeeb
--- /dev/null
+++ 
b/dev-java/stringtemplate/files/stringtemplate-4.3.4-Java21-TestRenderers.patch
@@ -0,0 +1,91 @@
+There were 4 failures:
+1) testRendererForGroup(org.stringtemplate.v4.test.TestRenderers)
+org.junit.ComparisonFailure: expected:<...etime: 7/5/05, 12:00[ ]AM> but 
was:<...etime: 7/5/05, 12:00[ ]AM>
+        at org.junit.Assert.assertEquals(Assert.java:117)
+        at org.junit.Assert.assertEquals(Assert.java:146)
+        at 
org.stringtemplate.v4.test.TestRenderers.testRendererForGroup(TestRenderers.java:82)
+2) testRendererWithPredefinedFormat2(org.stringtemplate.v4.test.TestRenderers)
+org.junit.ComparisonFailure: expected:<...uesday, July 5, 2005[ at 12:00:00 
]AM Pacific Daylight ...> but was:<...uesday, July 5, 2005[, 12:00:00 ]AM 
Pacific Daylight ...>
+        at org.junit.Assert.assertEquals(Assert.java:117)
+        at org.junit.Assert.assertEquals(Assert.java:146)
+        at 
org.stringtemplate.v4.test.TestRenderers.testRendererWithPredefinedFormat2(TestRenderers.java:131)
+3) testRendererWithPredefinedFormat4(org.stringtemplate.v4.test.TestRenderers)
+org.junit.ComparisonFailure: expected:< time: 12:00:00[ ]AM > but was:< time: 
12:00:00[ ]AM >
+        at org.junit.Assert.assertEquals(Assert.java:117)
+        at org.junit.Assert.assertEquals(Assert.java:146)
+        at 
org.stringtemplate.v4.test.TestRenderers.testRendererWithPredefinedFormat4(TestRenderers.java:164)
+4) testRendererWithPredefinedFormat(org.stringtemplate.v4.test.TestRenderers)
+org.junit.ComparisonFailure: expected:<...etime: 7/5/05, 12:00[ ]AM > but 
was:<...etime: 7/5/05, 12:00[ ]AM >
+        at org.junit.Assert.assertEquals(Assert.java:117)
+        at org.junit.Assert.assertEquals(Assert.java:146)
+        at 
org.stringtemplate.v4.test.TestRenderers.testRendererWithPredefinedFormat(TestRenderers.java:111)
+
+FAILURES!!!
+Tests run: 636,  Failures: 4
+
+https://github.com/antlr/stringtemplate4/issues/315
+--- 
a/stringtemplate4-ST4-4.3.4/test/org/stringtemplate/v4/test/TestRenderers.java
++++ 
b/stringtemplate4-ST4-4.3.4/test/org/stringtemplate/v4/test/TestRenderers.java
+@@ -30,6 +30,7 @@ package org.stringtemplate.v4.test;
+ import org.junit.After;
+ import org.junit.Before;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.stringtemplate.v4.DateRenderer;
+ import org.stringtemplate.v4.NumberRenderer;
+ import org.stringtemplate.v4.ST;
+@@ -66,7 +67,7 @@ public class TestRenderers extends BaseTest {
+         Locale.setDefault(origLocale);
+     }
+ 
+-    @Test public void testRendererForGroup() throws Exception {
++    @Test @Ignore public void testRendererForGroup() throws Exception {
+         String templates =
+                 "dateThing(created) ::= \"datetime: <created>\"\n";
+         writeFile(tmpdir, "t.stg", templates);
+@@ -95,7 +96,7 @@ public class TestRenderers extends BaseTest {
+         assertEquals(expecting, result);
+     }
+ 
+-    @Test public void testRendererWithPredefinedFormat() throws Exception {
++    @Test @Ignore public void testRendererWithPredefinedFormat() throws 
Exception {
+         String templates =
+                 "dateThing(created) ::= << datetime: <created; 
format=\"short\"> >>\n";
+         writeFile(tmpdir, "t.stg", templates);
+@@ -111,7 +112,7 @@ public class TestRenderers extends BaseTest {
+         assertEquals(expecting, result);
+     }
+ 
+-    @Test public void testRendererWithPredefinedFormat2() throws Exception {
++    @Test @Ignore public void testRendererWithPredefinedFormat2() throws 
Exception {
+         String templates =
+                 "dateThing(created) ::= << datetime: <created; 
format=\"full\"> >>\n";
+         writeFile(tmpdir, "t.stg", templates);
+@@ -150,7 +151,7 @@ public class TestRenderers extends BaseTest {
+         assertEquals(expecting, result);
+     }
+ 
+-    @Test public void testRendererWithPredefinedFormat4() throws Exception {
++    @Test @Ignore public void testRendererWithPredefinedFormat4() throws 
Exception {
+         String templates =
+                 "dateThing(created) ::= << time: <created; 
format=\"time:medium\"> >>\n";
+ 
+--- a/stringtemplate4-ST4-4.3.4/test/org/stringtemplate/v4/test/TestGroups.java
++++ b/stringtemplate4-ST4-4.3.4/test/org/stringtemplate/v4/test/TestGroups.java
+@@ -29,6 +29,7 @@ package org.stringtemplate.v4.test;
+ 
+ import org.junit.Assert;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.stringtemplate.v4.*;
+ import org.stringtemplate.v4.misc.ErrorBuffer;
+ 
+@@ -813,7 +814,7 @@ public class TestGroups extends BaseTest {
+   }
+ 
+ 
+-  @Test public void testGroupStringMultipleThreads() throws Exception {
++  @Test @Ignore public void testGroupStringMultipleThreads() throws Exception 
{
+     String templates =
+         "stat(name,value={99}) ::= \"x=<value>; // <name>\"" + newline;
+     final STGroup group = new STGroupString(templates);

diff --git a/dev-java/stringtemplate/stringtemplate-4.3.4.ebuild 
b/dev-java/stringtemplate/stringtemplate-4.3.4.ebuild
new file mode 100644
index 000000000000..14530a5b8587
--- /dev/null
+++ b/dev-java/stringtemplate/stringtemplate-4.3.4.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2023 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:${PV}"
+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/stringtemplate4/archive/ST4-${PV}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="4"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-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-ST4-${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() {
+       local vm_version="$(java-config -g PROVIDES_VERSION)"
+       if ver_test "${vm_version}" -ge 21; then
+               eapply 
"${FILESDIR}/stringtemplate-4.3.4-Java21-TestRenderers.patch"
+       fi
+       # 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
+}

Reply via email to