Gentoo Archives: gentoo-commits

From: James Le Cuirot <chewi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/qdox/, dev-java/qdox/files/
Date: Mon, 02 Nov 2015 23:56:58
Message-Id: 1446508577.83144fb54096e03da9caf9158bae3d99ac4f6c4b.chewi@gentoo
1 commit: 83144fb54096e03da9caf9158bae3d99ac4f6c4b
2 Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
3 AuthorDate: Mon Nov 2 23:45:35 2015 +0000
4 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
5 CommitDate: Mon Nov 2 23:56:17 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83144fb5
7
8 dev-java/qdox: Make build work against jflex 1.6.1
9
10 This allows the ~arm keyword to be added. The ~ppc64 keyword has had
11 to be temporarily dropped due to javacup needing Java 7.
12
13 Package-Manager: portage-2.2.20.1
14
15 dev-java/qdox/files/jflex-1.6.1.patch | 27 +++++++++++
16 dev-java/qdox/qdox-1.12.1-r1.ebuild | 84 +++++++++++++++++++++++++++++++++++
17 2 files changed, 111 insertions(+)
18
19 diff --git a/dev-java/qdox/files/jflex-1.6.1.patch b/dev-java/qdox/files/jflex-1.6.1.patch
20 new file mode 100644
21 index 0000000..4e50624
22 --- /dev/null
23 +++ b/dev-java/qdox/files/jflex-1.6.1.patch
24 @@ -0,0 +1,27 @@
25 +https://github.com/jflex-de/jflex/commit/f312d563777d907bbb12d1e2ac79835ba83ca53c
26 +
27 +--- a/src/grammar/skeleton.inner 2012-11-04 16:16:30.000000000 +0000
28 ++++ b/src/grammar/skeleton.inner 2015-11-02 20:57:37.566057363 +0000
29 +@@ -407,15 +407,15 @@
30 + zzMarkedPos = zzMarkedPosL;
31 + --- char count update
32 +
33 +---- actions
34 +- default:
35 +- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
36 +- zzAtEOF = true;
37 ++ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
38 ++ zzAtEOF = true;
39 + --- eofvalue
40 +- }
41 +- else {
42 ++ }
43 ++ else {
44 ++--- actions
45 ++ default:
46 + --- no match
47 +- }
48 ++ }
49 + }
50 + }
51 + }
52
53 diff --git a/dev-java/qdox/qdox-1.12.1-r1.ebuild b/dev-java/qdox/qdox-1.12.1-r1.ebuild
54 new file mode 100644
55 index 0000000..9082187
56 --- /dev/null
57 +++ b/dev-java/qdox/qdox-1.12.1-r1.ebuild
58 @@ -0,0 +1,84 @@
59 +# Copyright 1999-2015 Gentoo Foundation
60 +# Distributed under the terms of the GNU General Public License v2
61 +# $Id$
62 +
63 +EAPI="5"
64 +
65 +JAVA_PKG_IUSE="doc source test"
66 +
67 +inherit eutils java-pkg-2 java-ant-2
68 +
69 +DESCRIPTION="Parser for extracting class/interface/method definitions"
70 +HOMEPAGE="https://github.com/codehaus/qdox"
71 +SRC_URI="https://github.com/codehaus/qdox/archive/${P}.tar.gz"
72 +
73 +LICENSE="Apache-2.0"
74 +SLOT="1.12"
75 +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-fbsd ~ppc-macos ~x64-macos ~x86-macos"
76 +
77 +S="${WORKDIR}/${PN}-${PN}-${PV}"
78 +
79 +CDEPEND="dev-java/ant-core:0"
80 +
81 +DEPEND=">=virtual/jdk-1.4
82 + app-arch/unzip:0
83 + dev-java/byaccj:0
84 + >=dev-java/jflex-1.6.1:0
85 + dev-java/jmock:1.0
86 + test? ( dev-java/junit:0 )
87 + ${CDEPEND}"
88 +
89 +RDEPEND=">=virtual/jre-1.4
90 + ${CDEPEND}"
91 +
92 +java_prepare() {
93 + epatch "${FILESDIR}"/jflex-1.6.1.patch
94 +
95 + if ! use test ; then
96 + rm src/java/com/thoughtworks/qdox/tools/QDoxTester.java
97 + rm -rf src/java/com/thoughtworks/qdox/junit
98 + rm -rf src/test
99 + fi
100 +}
101 +
102 +src_compile() {
103 + jflex src/grammar/lexer.flex --skel src/grammar/skeleton.inner -d src/java/com/thoughtworks/qdox/parser/impl/ || die
104 + byaccj -v -Jnorun -Jnoconstruct -Jclass=Parser -Jsemantic=Value -Jpackage=com.thoughtworks.qdox.parser.impl src/grammar/parser.y || die
105 + mv Parser.java src/java/com/thoughtworks/qdox/parser/impl/ || die
106 +
107 + # create jar
108 + mkdir -p build/classes || die
109 +
110 + local cp="$(java-pkg_getjars --build-only ant-core,jmock-1.0)"
111 +
112 + if use test ; then
113 + cp="${cp}:$(java-pkg_getjars --build-only junit)"
114 + fi
115 +
116 + ejavac -sourcepath . -d build/classes -classpath "${cp}" \
117 + $(find . -name "*.java") || die "Cannot compile sources"
118 +
119 + mkdir dist || die
120 + cd build/classes || die
121 + jar -cvf "${S}"/dist/${PN}.jar com || die "Cannot create JAR"
122 +
123 + # generate javadoc
124 + if use doc ; then
125 + cd "${S}"
126 + mkdir javadoc || die
127 + javadoc -d javadoc -sourcepath src/java -subpackages com -classpath "${cp}"
128 + fi
129 +}
130 +
131 +src_test() {
132 + java -cp "${S}"/dist/${PN}.jar:$(java-pkg_getjars --build-only ant-core,junit,jmock-1.0) \
133 + com.thoughtworks.qdox.tools.QDoxTester src || die "Tests failed!"
134 +}
135 +
136 +src_install() {
137 + java-pkg_dojar dist/${PN}.jar
138 + java-pkg_register-ant-task
139 +
140 + use source && java-pkg_dosrc src/java/com
141 + use doc && java-pkg_dojavadoc javadoc
142 +}