summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2015-12-05 23:24:18 +0000
committerJames Le Cuirot <chewi@gentoo.org>2015-12-05 23:41:24 +0000
commit49d428bd9fecbd5138782e8e74edda2d4be43f45 (patch)
treeb8d662f426cc9febad1b82395ecb5f6baaed5927 /dev-java/stringtemplate/stringtemplate-4.0.8.ebuild
parentsys-apps/portage: Stable for HPPA PPC64 (bug #567540). (diff)
downloadgentoo-49d428bd9fecbd5138782e8e74edda2d4be43f45.tar.gz
gentoo-49d428bd9fecbd5138782e8e74edda2d4be43f45.tar.bz2
gentoo-49d428bd9fecbd5138782e8e74edda2d4be43f45.zip
dev-java/stringtemplate: Version bump into new SLOT 4 (fixes #417895)
This is needed by newer versions of ANTLR. Package-Manager: portage-2.2.26
Diffstat (limited to 'dev-java/stringtemplate/stringtemplate-4.0.8.ebuild')
-rw-r--r--dev-java/stringtemplate/stringtemplate-4.0.8.ebuild71
1 files changed, 71 insertions, 0 deletions
diff --git a/dev-java/stringtemplate/stringtemplate-4.0.8.ebuild b/dev-java/stringtemplate/stringtemplate-4.0.8.ebuild
new file mode 100644
index 000000000000..e36b97f11524
--- /dev/null
+++ b/dev-java/stringtemplate/stringtemplate-4.0.8.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+ANTLR3="3.5.2"
+JAVA_PKG_IUSE="doc source"
+
+inherit eutils java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A Java template engine"
+HOMEPAGE="http://www.stringtemplate.org/"
+SRC_URI="https://github.com/antlr/${PN}4/archive/${PV}.tar.gz -> ${P}.tar.gz
+ http://www.antlr3.org/download/antlr-${ANTLR3}-complete.jar"
+LICENSE="BSD"
+SLOT="4"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+RDEPEND=">=virtual/jre-1.6"
+
+DEPEND=">=virtual/jdk-1.6
+ test? ( dev-java/junit:4 )"
+
+# 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"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+}
+
+java_prepare() {
+ # These tests are broken but are probably fixed in current master.
+ epatch "${FILESDIR}/${PV}-test-fixes.patch"
+
+ # 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_install() {
+ java-pkg-simple_src_install
+ java-pkg_register-dependency antlr-3.5 antlr-runtime.jar
+ dodoc {CHANGES,contributors,README}.txt
+}
+
+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}
+}