commit:     0c02779c69d493fceacb37797e865377bc71e406
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri May 21 09:56:04 2021 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sat May 22 09:01:04 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c02779c

dev-java/stringtemplate: (slot :4) min java 1.8

Problem described in https://bugs.gentoo.org/742554#c4 persists

Package-Manager: Portage-3.0.18, Repoman-3.0.2
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/20907
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 .../stringtemplate/files/4.0.8-r1-test-fixes.patch | 73 +++++++++++++++++++++
 .../stringtemplate/stringtemplate-4.0.8-r1.ebuild  | 74 ++++++++++++++++++++++
 2 files changed, 147 insertions(+)

diff --git a/dev-java/stringtemplate/files/4.0.8-r1-test-fixes.patch 
b/dev-java/stringtemplate/files/4.0.8-r1-test-fixes.patch
new file mode 100644
index 00000000000..0834ccf9bcc
--- /dev/null
+++ b/dev-java/stringtemplate/files/4.0.8-r1-test-fixes.patch
@@ -0,0 +1,73 @@
+--- a/test/org/stringtemplate/v4/test/TestGroups.java  2014-03-25 
11:55:55.000000000 +0000
++++ b/test/org/stringtemplate/v4/test/TestGroups.java  2015-09-13 
11:01:07.999800299 +0100
+@@ -29,6 +29,7 @@
+ 
+ import org.junit.Assert;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.stringtemplate.v4.ST;
+ import org.stringtemplate.v4.STErrorListener;
+ import org.stringtemplate.v4.STGroup;
+@@ -527,6 +528,7 @@
+               assertEquals(expected, result);
+       }
+ 
++      @Ignore
+       @Test public void testUnknownNamedArg() throws Exception {
+               String dir = getRandomDir();
+               String groupFile =
+--- a/test/org/stringtemplate/v4/test/TestGroupSyntaxErrors.java       
2014-03-25 11:55:55.000000000 +0000
++++ b/test/org/stringtemplate/v4/test/TestGroupSyntaxErrors.java       
2015-09-13 11:01:05.011850826 +0100
+@@ -28,6 +28,7 @@
+ package org.stringtemplate.v4.test;
+ 
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.stringtemplate.v4.STErrorListener;
+ import org.stringtemplate.v4.STGroup;
+ import org.stringtemplate.v4.STGroupFile;
+@@ -36,6 +37,7 @@
+ import static org.junit.Assert.assertEquals;
+ 
+ public class TestGroupSyntaxErrors extends BaseTest {
++      @Ignore
+       @Test public void testMissingImportString() throws Exception {
+               String templates =
+                       "import\n" +
+--- a/test/org/stringtemplate/v4/test/TestRenderers.java
++++ b/test/org/stringtemplate/v4/test/TestRenderers.java
+@@ -59,7 +59,7 @@ public class TestRenderers extends BaseTest {
+               group.registerRenderer(GregorianCalendar.class, new 
DateRenderer());
+               ST st = group.getInstanceOf("dateThing");
+               st.add("created", new GregorianCalendar(2005, 07-1, 05));
+-              String expecting = "datetime: 7/5/05 12:00 AM";
++              String expecting = "datetime: 7/5/05, 12:00 AM";
+               String result = st.render();
+               assertEquals(expecting, result);
+       }
+@@ -85,7 +85,7 @@ public class TestRenderers extends BaseTest {
+         group.registerRenderer(GregorianCalendar.class, new DateRenderer());
+         ST st = group.getInstanceOf("dateThing");
+         st.add("created", new GregorianCalendar(2005, 07-1, 05));
+-        String expecting = " datetime: 7/5/05 12:00 AM ";
++        String expecting = " datetime: 7/5/05, 12:00 AM ";
+         String result = st.render();
+         assertEquals(expecting, result);
+     }
+@@ -102,7 +102,7 @@ public class TestRenderers extends BaseTest {
+               // set Timezone to "PDT"
+               
TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
+               st.add("created", new GregorianCalendar(2005, 07-1, 05));
+-              String expecting = " datetime: Tuesday, July 5, 2005 12:00:00 
AM PDT ";
++              String expecting = " datetime: Tuesday, July 5, 2005 at 
12:00:00 AM Pacific Daylight Time ";
+               String result = st.render();
+               assertEquals(expecting, result);
+         } finally {
+@@ -358,6 +358,6 @@ public class TestRenderers extends BaseTest {
+               cal.set(2012, Calendar.JUNE, 12);
+               st.add("date", cal);
+ 
+-              assertEquals("12 de Junho de 2012", st.render(new 
Locale("pt")));
++              assertEquals("12 de junho de 2012", st.render(new 
Locale("pt")));
+       }
+ }

diff --git a/dev-java/stringtemplate/stringtemplate-4.0.8-r1.ebuild 
b/dev-java/stringtemplate/stringtemplate-4.0.8-r1.ebuild
new file mode 100644
index 00000000000..c2fba7061b0
--- /dev/null
+++ b/dev-java/stringtemplate/stringtemplate-4.0.8-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ANTLR3="3.5.2"
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A Java template engine"
+HOMEPAGE="https://www.stringtemplate.org/";
+SRC_URI="https://github.com/antlr/${PN}4/archive/${PV}.tar.gz -> ${P}.tar.gz
+       https://www.antlr3.org/download/antlr-${ANTLR3}-complete.jar";
+
+LICENSE="BSD"
+SLOT="4"
+KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~x86-linux ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+# StringTemplate has a cyclic dependency on ANTLR 3. The runtime classes
+# are needed at build time and runtime and the tool is also needed at
+# build time. To break out of this, we use a prebuilt copy of ANTLR 3 at
+# build time and manually register a dependency on the package, which
+# will be present at runtime thanks to this PDEPEND. No prebuilt
+# software is actually installed onto the system.
+PDEPEND=">=dev-java/antlr-${ANTLR3}:3.5"
+
+S="${WORKDIR}/${PN}4-${PV}"
+JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/antlr-${ANTLR3}-complete.jar"
+JAVA_SRC_DIR="src"
+
+PATCHES=(
+       # These tests are broken but are probably fixed in current master.
+       "${FILESDIR}/4.0.8-r1-test-fixes.patch"
+)
+
+src_unpack() {
+       unpack ${P}.tar.gz
+}
+
+src_prepare() {
+       default
+
+       # Some of these tests requires a graphical display.
+       rm -v test/org/stringtemplate/v4/test/TestEarlyEvaluation.java || die
+}
+
+src_compile() {
+       java -jar "${JAVA_GENTOO_CLASSPATH_EXTRA}" -lib 
${JAVA_SRC_DIR}/org/stringtemplate/v4/compiler $(find ${JAVA_SRC_DIR} -name 
"*.g") || die
+       java-pkg-simple_src_compile
+}
+
+src_test() {
+       cd test || die
+       local CP=".:${S}/${PN}.jar:$(java-pkg_getjars 
junit-4):${JAVA_GENTOO_CLASSPATH_EXTRA}"
+
+       local TESTS=$(find * -name "Test*.java")
+       TESTS="${TESTS//.java}"
+       TESTS="${TESTS//\//.}"
+
+       ejavac -classpath "${CP}" $(find -name "*.java")
+       ejunit4 -classpath "${CP}" ${TESTS}
+}
+
+src_install() {
+       java-pkg-simple_src_install
+       java-pkg_register-dependency antlr-3.5 antlr-runtime.jar
+       dodoc {CHANGES,contributors,README}.txt
+}

Reply via email to