# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="5" JAVA_PKG_IUSE="source doc" inherit eutils java-pkg-2 java-ant-2 DESCRIPTION="CUP Parser Generator for Java" HOMEPAGE="http://www2.cs.tum.edu/projects/cup/" # We cannot put the actual SRC_URI because it causes conflicts with Gentoo mirroring system # No better URI is available, waiting until it hits actual Gentoo mirrors MY_PV=${PV/_beta/-} MY_PV=${MY_PV##0.} SRC_URI="http://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${MY_PV}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="userland_BSD system-jflex" # find for bug #214664 DEPEND=">=virtual/jdk-1.5 system-jflex? ( dev-java/jflex:0 ) !userland_BSD? ( >=sys-apps/findutils-4.4 ) >=dev-java/ant-core-1.7.0:0" RDEPEND=">=virtual/jre-1.5" S="${WORKDIR}" src_prepare() { epatch "${FILESDIR}"/${P}-build-xml.patch epatch "${FILESDIR}"/${P}-build-xml-svn.patch find . -name '*.class' -delete || die if use system-jflex; then # break the circular dependency rm bin/JFlex.jar || die java-pkg_jar-from --build-only jflex JFlex.jar bin/JFlex.jar fi java-ant_rewrite-classpath } src_compile() { local classpath="$(java-pkg_getjars --build-only ant-core)" eant -Dgentoo.classpath="${classpath}" rm bin/java-cup-11.jar || die cp dist/java-cup-11b.jar bin/java-cup-11.jar || die eant clean einfo "Recompiling with newly generated javacup" eant -Dgentoo.classpath="${classpath}" use doc && javadoc -sourcepath src/ java_cup -d javadoc } src_install() { java-pkg_newjar dist/java-cup-11b.jar java-pkg_newjar dist/java-cup-11b-runtime.jar ${PN}-runtime.jar java-pkg_register-ant-task dodoc changelog.txt || die dohtml manual.html || die use source && java-pkg_dosrc java/* use doc && java-pkg_dojavadoc javadoc }