summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/jay/jay-1.1.1-r2.ebuild')
-rw-r--r--dev-util/jay/jay-1.1.1-r2.ebuild75
1 files changed, 75 insertions, 0 deletions
diff --git a/dev-util/jay/jay-1.1.1-r2.ebuild b/dev-util/jay/jay-1.1.1-r2.ebuild
new file mode 100644
index 000000000000..fce84e00b677
--- /dev/null
+++ b/dev-util/jay/jay-1.1.1-r2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit mono java-pkg-opt-2 toolchain-funcs
+
+DESCRIPTION="A LALR(1) parser generator: Berkeley yacc retargeted to C# and Java"
+HOMEPAGE="http://www.cs.rit.edu/~ats/projects/lp/doc/jay/package-summary.html"
+SRC_URI="http://www.cs.rit.edu/~ats/projects/lp/doc/jay/doc-files/src.zip -> ${P}.zip
+ http://dev.gentoo.org/~ssuominen/${P}-mono.snk.bz2"
+
+LICENSE="public-domain BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="java mono"
+
+COMMON_DEPEND="!<=dev-lang/mono-2.4
+ mono? ( >dev-lang/mono-2.4 )"
+RDEPEND="${COMMOND_DEPEND}
+ java? ( >=virtual/jre-1.4 )"
+DEPEND="${COMMON_DEPEND}
+ java? ( >=virtual/jdk-1.4 )
+ app-arch/unzip"
+
+S=${WORKDIR}/${PN}
+
+RESTRICT="test"
+
+java_prepare() {
+ sed -i -r \
+ -e 's:^v4\s*=.*:v4 = ${JAVA_HOME}/bin:' \
+ -e 's:JAVAC\s*=.*:\0 ${JAVACFLAGS}:' \
+ yydebug/makefile || die
+}
+
+src_prepare() {
+ sed -i -r \
+ -e "s:^CC\s*=.*:CC = `tc-getCC`:" \
+ -e 's/^jay:.* \$e /\0$(LDFLAGS) /' \
+ -e '/^CFLAGS\s*=/d' \
+ src/makefile || die
+
+ java-utils-2_src_prepare
+}
+
+src_compile() {
+ emake -C src jay
+ use java && emake -C yydebug yydebug.jar
+
+ if use mono; then
+ pushd cs >/dev/null
+ "${EPREFIX}"/usr/bin/gmcs /target:library /out:yydebug.dll /keyfile:"${WORKDIR}"/${P}-mono.snk yyDebug.cs || die
+ popd >/dev/null
+ fi
+}
+
+src_install() {
+ dobin src/jay
+
+ doman jay.1
+ dodoc README
+
+ if use java; then
+ java-pkg_dojar yydebug/yydebug.jar
+ insinto /usr/share/jay
+ doins java/skeleton.{java,tables}
+ fi
+
+ if use mono; then
+ egacinstall cs/yydebug.dll
+ insinto /usr/share/jay
+ doins cs/skeleton.cs
+ fi
+}