diff options
author | James Le Cuirot <chewi@gentoo.org> | 2015-11-02 23:45:35 +0000 |
---|---|---|
committer | James Le Cuirot <chewi@gentoo.org> | 2015-11-02 23:56:17 +0000 |
commit | 83144fb54096e03da9caf9158bae3d99ac4f6c4b (patch) | |
tree | fc49908031cb4c92ad01f526182cfc5f9e81123b /dev-java/qdox | |
parent | dev-java/jmock: Add ~arm keyword (diff) | |
download | gentoo-83144fb54096e03da9caf9158bae3d99ac4f6c4b.tar.gz gentoo-83144fb54096e03da9caf9158bae3d99ac4f6c4b.tar.bz2 gentoo-83144fb54096e03da9caf9158bae3d99ac4f6c4b.zip |
dev-java/qdox: Make build work against jflex 1.6.1
This allows the ~arm keyword to be added. The ~ppc64 keyword has had
to be temporarily dropped due to javacup needing Java 7.
Package-Manager: portage-2.2.20.1
Diffstat (limited to 'dev-java/qdox')
-rw-r--r-- | dev-java/qdox/files/jflex-1.6.1.patch | 27 | ||||
-rw-r--r-- | dev-java/qdox/qdox-1.12.1-r1.ebuild | 84 |
2 files changed, 111 insertions, 0 deletions
diff --git a/dev-java/qdox/files/jflex-1.6.1.patch b/dev-java/qdox/files/jflex-1.6.1.patch new file mode 100644 index 000000000000..4e506246f2a2 --- /dev/null +++ b/dev-java/qdox/files/jflex-1.6.1.patch @@ -0,0 +1,27 @@ +https://github.com/jflex-de/jflex/commit/f312d563777d907bbb12d1e2ac79835ba83ca53c + +--- a/src/grammar/skeleton.inner 2012-11-04 16:16:30.000000000 +0000 ++++ b/src/grammar/skeleton.inner 2015-11-02 20:57:37.566057363 +0000 +@@ -407,15 +407,15 @@ + zzMarkedPos = zzMarkedPosL; + --- char count update + +---- actions +- default: +- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { +- zzAtEOF = true; ++ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { ++ zzAtEOF = true; + --- eofvalue +- } +- else { ++ } ++ else { ++--- actions ++ default: + --- no match +- } ++ } + } + } + } diff --git a/dev-java/qdox/qdox-1.12.1-r1.ebuild b/dev-java/qdox/qdox-1.12.1-r1.ebuild new file mode 100644 index 000000000000..9082187a46ff --- /dev/null +++ b/dev-java/qdox/qdox-1.12.1-r1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +JAVA_PKG_IUSE="doc source test" + +inherit eutils java-pkg-2 java-ant-2 + +DESCRIPTION="Parser for extracting class/interface/method definitions" +HOMEPAGE="https://github.com/codehaus/qdox" +SRC_URI="https://github.com/codehaus/qdox/archive/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="1.12" +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-fbsd ~ppc-macos ~x64-macos ~x86-macos" + +S="${WORKDIR}/${PN}-${PN}-${PV}" + +CDEPEND="dev-java/ant-core:0" + +DEPEND=">=virtual/jdk-1.4 + app-arch/unzip:0 + dev-java/byaccj:0 + >=dev-java/jflex-1.6.1:0 + dev-java/jmock:1.0 + test? ( dev-java/junit:0 ) + ${CDEPEND}" + +RDEPEND=">=virtual/jre-1.4 + ${CDEPEND}" + +java_prepare() { + epatch "${FILESDIR}"/jflex-1.6.1.patch + + if ! use test ; then + rm src/java/com/thoughtworks/qdox/tools/QDoxTester.java + rm -rf src/java/com/thoughtworks/qdox/junit + rm -rf src/test + fi +} + +src_compile() { + jflex src/grammar/lexer.flex --skel src/grammar/skeleton.inner -d src/java/com/thoughtworks/qdox/parser/impl/ || die + byaccj -v -Jnorun -Jnoconstruct -Jclass=Parser -Jsemantic=Value -Jpackage=com.thoughtworks.qdox.parser.impl src/grammar/parser.y || die + mv Parser.java src/java/com/thoughtworks/qdox/parser/impl/ || die + + # create jar + mkdir -p build/classes || die + + local cp="$(java-pkg_getjars --build-only ant-core,jmock-1.0)" + + if use test ; then + cp="${cp}:$(java-pkg_getjars --build-only junit)" + fi + + ejavac -sourcepath . -d build/classes -classpath "${cp}" \ + $(find . -name "*.java") || die "Cannot compile sources" + + mkdir dist || die + cd build/classes || die + jar -cvf "${S}"/dist/${PN}.jar com || die "Cannot create JAR" + + # generate javadoc + if use doc ; then + cd "${S}" + mkdir javadoc || die + javadoc -d javadoc -sourcepath src/java -subpackages com -classpath "${cp}" + fi +} + +src_test() { + java -cp "${S}"/dist/${PN}.jar:$(java-pkg_getjars --build-only ant-core,junit,jmock-1.0) \ + com.thoughtworks.qdox.tools.QDoxTester src || die "Tests failed!" +} + +src_install() { + java-pkg_dojar dist/${PN}.jar + java-pkg_register-ant-task + + use source && java-pkg_dosrc src/java/com + use doc && java-pkg_dojavadoc javadoc +} |