commit:     287c3d3d13374e24c70ea97e4c959dfba8005d02
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  6 13:45:10 2015 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Dec  6 13:46:12 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=287c3d3d

dev-java/antlr: Version bump to 4.5.1 (closes bug #545384)

This is a rewrite as the 4.4 ebuild bundled a lot of prebuilt stuff
and didn't include any tests. gunit support has been dropped because
no one uses it and it is not worth the hassle.

Nothing in the tree truly needs at present this as the existing
dependencies are bogus but no doubt something will before long.

Package-Manager: portage-2.2.26

 dev-java/antlr/Manifest           |  2 +
 dev-java/antlr/antlr-4.5.1.ebuild | 91 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 93 insertions(+)

diff --git a/dev-java/antlr/Manifest b/dev-java/antlr/Manifest
index dd63ef1..2aa81ba 100644
--- a/dev-java/antlr/Manifest
+++ b/dev-java/antlr/Manifest
@@ -8,3 +8,5 @@ DIST antlr-3.5.2-complete-no-st3.jar 1862097 SHA256 
46531814ba9739cdf20c6c1789c2
 DIST antlr-3.5.2-complete.jar 2456317 SHA256 
26ca659f47d77384f518cf2b6463892fcd4f0b0d4d8c0de2addf697e63e7326b SHA512 
560f208e38759b5e626de56816e1fce9c191c526c04ca782513859d468ac444d1e8e62c03870a68f8f9d8daee0f45fca465150e2bbfc71b46e46b952519044b1
 WHIRLPOOL 
bdbbb081bf0aab83fa26a4a75f7f42487da688a5e3c765ea4cbd7b8c1bcb80b66e8b98bf95ee8bcd2acd60b4eacb6745f879cb899b672ea7fc4489d651a6f2e0
 DIST antlr-3.5.2.tar.gz 6927126 SHA256 
529baf7d11f06b773543e25271c1a6e1735d2f8061f4866d1ea5c99a5d71ee1f SHA512 
e2a0520093fb2a77dcd9d44f26a9fdd612dceaffb398c53b2b8cd29f4630830647ede29e8dd55b434cb2c165b0fd1d77968ec6e6de0798f14d9cdfd9e6fccd99
 WHIRLPOOL 
a3a2bf81cc91a332725a4ce15dcccf10df5395b27a521656b1f3e80fed10197edc132fa2a8b9a259b2ee603320492b4b1f664692a967fdfdbb574d919b9aa20e
 DIST antlr-4.3-complete.jar 1340431 SHA256 
da9afec193edcc4d8080a4897e77e1e2f6a0c0bc265fccb8c44ae10660f7a8f0 SHA512 
669cc21ef72ec899509181b1ec77d918fce9dba3db165d9d7429e0058c58a9d716cbf274d7a54b6bd9143d95d9a902d82acfa5bcb5e6c805c4e9fdf90b83349e
 WHIRLPOOL 
f665a200850d294ee0f8c3127bb918a9c9625098a97a960afe08b3a3940ba2c2ad54099e34c82fab5058b668a721b3ed5621a85820d0aca0e16af2f81627c723
+DIST antlr-4.5.1-complete.jar 1478820 SHA256 
9cff6c76bc5aafcbf51cac7f0974ae01e4f6119402e75436abbb97f8ab15c211 SHA512 
1109087c44706694d75a7f88f6ce96e8653467d5721505db747e7e70a4f40a24469b1fb3ffcb327819bba1548b0025412e46a11a41e329b0ecf847cb1094238c
 WHIRLPOOL 
54d8a59bbd935b84a76370645d57eb07ee9160297ad457106b7b773682f915c9632446fc818a9fb23ab37074c923b918c168a7eca98555513cfb4dfa2eb106e5
+DIST antlr-4.5.1.tar.gz 6158475 SHA256 
faaaea662e7b4792fc2264bbefaf0e196e74f45ebe29ec638f978b008e6bb5ff SHA512 
949306b0ee87a0c002664ee7ac0f32c43385c501b4e28f181417559ce09b07cc12a8441c3bb81f8a72feba3d4ccc693a3c03bcccad7fc81223cddb19e10468a9
 WHIRLPOOL 
00aeb41f8864d65d7693cf3ca4d36a10f094967fe96fefd67e4d64eb22d1502658ff2355125ab5e36f88a276d143247c0a2814cfcd990e08ec3fe6f6212ea42e

diff --git a/dev-java/antlr/antlr-4.5.1.ebuild 
b/dev-java/antlr/antlr-4.5.1.ebuild
new file mode 100644
index 0000000..17c21dc
--- /dev/null
+++ b/dev-java/antlr/antlr-4.5.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A parser generator for many languages"
+HOMEPAGE="http://www.antlr.org/";
+SRC_URI="https://github.com/${PN}/${PN}4/archive/${PV}.tar.gz -> ${P}.tar.gz
+       http://www.antlr.org/download/${P}-complete.jar"; # Prebuilt version 
needed.
+LICENSE="BSD"
+SLOT="4"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x64-freebsd ~x86-freebsd ~amd64-linux 
~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris 
~x64-solaris ~x86-solaris"
+IUSE="doc test"
+
+CDEPEND="dev-java/antlr:3.5
+       dev-java/stringtemplate:4
+       dev-java/treelayout:0"
+
+RDEPEND="${CDEPEND}
+       >=virtual/jre-1.6"
+
+DEPEND="${CDEPEND}
+       >=virtual/jdk-1.6
+       test? (
+               dev-java/hamcrest-core:1.3
+               dev-java/junit:4
+       )"
+
+S="${WORKDIR}/${PN}4-${PV}"
+JAVA_GENTOO_CLASSPATH="stringtemplate-4,treelayout"
+
+src_unpack() {
+       unpack ${P}.tar.gz
+}
+
+java_prepare() {
+       java-pkg_clean
+}
+
+src_configure() {
+       # TODO: Make java-config accept a jar@package query.
+       JAVA_GENTOO_CLASSPATH_EXTRA="${S}/${PN}-runtime.jar:$(java-pkg_getjar 
antlr-3.5 antlr-runtime.jar)"
+}
+
+src_compile() {
+       cd "${S}/runtime/Java/src"
+       local G PKG
+
+       for G in $(find * -name "*.g4"); do
+               PKG="${G%/*}"
+               PKG="${PKG//\//.}"
+               java -jar "${DISTDIR}/${P}-complete.jar" -package "${PKG}" 
"${G}" || die
+       done
+
+       JAVA_JAR_FILENAME="${S}/${PN}-runtime.jar" JAVA_PKG_IUSE="doc" 
java-pkg-simple_src_compile
+
+       cd "${S}/tool/src"
+       antlr3.5 $(find -name "*.g") || die
+       JAVA_JAR_FILENAME="${S}/${PN}-tool.jar" java-pkg-simple_src_compile
+       java-pkg_addres "${S}/${PN}-tool.jar" ../resources
+}
+
+src_install() {
+       java-pkg_dojar ${PN}-{runtime,tool}.jar
+       java-pkg_dolauncher ${PN}${SLOT} --main org.antlr.v4.Tool
+       use doc && java-pkg_dojavadoc runtime/Java/src/target/api
+       use source && java-pkg_dosrc runtime/Java/src/org tool/src/org
+}
+
+junit_suite() {
+       cd "${S}/$1-testsuite/test" || die
+       local 
CP=".:${S}/runtime-testsuite/test:${S}/${PN}-tool.jar:$(java-pkg_getjars 
hamcrest-core-1.3,junit-4,${JAVA_GENTOO_CLASSPATH}):${JAVA_GENTOO_CLASSPATH_EXTRA}"
+
+       local TESTS=$(find ${2:-*} -name "Test*.java")
+       TESTS="${TESTS//.java}"
+       TESTS="${TESTS//\//.}"
+
+       ejavac -classpath "${CP}" $(find ${2:-*} -name "*.java")
+       ejunit4 -classpath "${CP}" ${TESTS}
+}
+
+src_test() {
+       # Only run Java runtime tests as we haven't built other languages.
+       junit_suite runtime org/antlr/v4/test/runtime/java
+       junit_suite tool
+}

Reply via email to