diff options
Diffstat (limited to 'dev-util/jay/jay-1.1.1-r2.ebuild')
-rw-r--r-- | dev-util/jay/jay-1.1.1-r2.ebuild | 75 |
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 +} |