+++ /dev/null
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-PYTHON_COMPAT=( python2_7 )
-
-DISTUTILS_OPTIONAL="y"
-DISTUTILS_SINGLE_IMPL="y"
-DISTUTILS_IN_SOURCE_BUILD="y"
-
-inherit base java-pkg-2 mono autotools distutils-r1 multilib toolchain-funcs versionator
-
-DESCRIPTION="A parser generator for C++, C#, Java, and Python"
-HOMEPAGE="http://www.antlr2.org/"
-SRC_URI="http://www.antlr2.org/download/${P}.tar.gz"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc debug examples mono +cxx +java python script source static-libs"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# TODO do we actually need jdk at runtime?
-RDEPEND="python? ( ${PYTHON_DEPS} )
- >=virtual/jdk-1.3
- mono? ( dev-lang/mono )"
-DEPEND="${RDEPEND}
- script? ( !dev-util/pccts )
- source? ( app-arch/zip )"
-
-PATCHES=( "${FILESDIR}"/${PV}-{gcc-4.3,gcc-4.4,makefixes}.patch )
-
-make_shared_lib() {
- local soname=$(basename "${1%.a}")$(get_libname $(get_major_version))
- einfo "Making ${soname}"
- [[ ${CHOST} == *-darwin* ]] \
- && make_shared_lib_macho "${soname}" "$1" "$2"\
- || make_shared_lib_elf "${soname}" "$1" "$2"
-}
-
-make_shared_lib_elf() {
- local soname=$1 archive=$2 cc=$3
- ${cc:-$(tc-getCXX)} ${LDFLAGS} \
- -shared -Wl,-soname="${soname}" \
- -Wl,--whole-archive "${archive}" -Wl,--no-whole-archive \
- -o $(dirname "${archive}")/"${soname}" || return 1
-}
-
-make_shared_lib_macho() {
- local soname=$1 archive=$2 cc=$3
- ${cc:-$(tc-getCXX)} ${LDFLAGS} \
- -dynamiclib -install_name "${EPREFIX}/usr/$(get_libdir)/${soname}" \
- -force_load "${archive}" \
- -o $(dirname "${archive}")/"${soname}" || return 1
-}
-
-pkg_setup() {
- java-pkg-2_pkg_setup
-
- if use python ; then
- python-single-r1_pkg_setup
- fi
-}
-
-src_prepare() {
- base_src_prepare
-
- sed -i \
- -e 's/install:.*this-install/install:/' \
- lib/cpp/src/Makefile.in || die
-
- use static-libs || epatch "${FILESDIR}/${PV}-static-libs-fix.patch"
-
- # See bug #468540, this can be removed once bug #469150 is fixed.
- sed -i 's/tlib lib ar/ar/' configure.in || die
- eautoreconf
-}
-
-src_configure() {
- # don't ask why, but this is needed for stuff to get built properly
- # across the various JDKs
- JAVACFLAGS="+ ${JAVACFLAGS}"
-
- # mcs for https://bugs.gentoo.org/show_bug.cgi?id=172104
- CSHARPC="mcs" econf $(use_enable java) \
- $(use_enable python) \
- $(use_enable mono csharp) \
- $(use_enable debug) \
- $(use_enable examples) \
- $(use_enable cxx) \
- --enable-verbose
-}
-
-src_compile() {
- emake CXXFLAGS="${CXXFLAGS} -fPIC"
- if use cxx; then
- pushd lib/cpp/src > /dev/null
- make_shared_lib libantlr.a || die
- if use static-libs; then
- make clean
- emake
- fi
- popd > /dev/null
- fi
-
- if use python ; then
- pushd "${S}"/lib/python > /dev/null
- distutils-r1_src_compile
- popd > /dev/null
- fi
-}
-
-src_install() {
- dobin scripts/antlr-config
-
- if use cxx ; then
- pushd lib/cpp > /dev/null
- einstall
- dolib.so src/libantlr$(get_libname $(get_major_version))
- dosym libantlr$(get_libname $(get_major_version)) \
- /usr/$(get_libdir)/libantlr$(get_libname)
- use static-libs && dolib.a src/libantlr.a
- newdoc AUTHORS{,.cpp}
- newdoc ChangeLog{,.cpp}
- newdoc TODO{,.cpp}
- popd > /dev/null
- fi
-
- if use java ; then
- java-pkg_dojar antlr/antlr.jar
- use script && java-pkg_dolauncher antlr --main antlr.Tool
- use source && java-pkg_dosrc antlr
- use doc && java-pkg_dohtml -r doc/*
- fi
-
- if use mono ; then
- pushd lib > /dev/null
- dodir /usr/$(get_libdir)/antlr/
- insinto /usr/$(get_libdir)/antlr/
- doins antlr.astframe.dll
- doins antlr.runtime.dll
- sed -e "s|@prefix@|${EPREFIX}/usr|" \
- -e 's|@exec_prefix@|${prefix}|' \
- -e "s|@libdir@|\$\{exec_prefix\}/$(get_libdir)/antlr|" \
- -e 's|@libs@|-r:${libdir}/antlr.astframe.dll -r:${libdir}/antlr.runtime.dll|' \
- -e "s|@VERSION@|${PV}|" \
- "${FILESDIR}"/antlr.pc.in > antlr.pc
- insinto /usr/$(get_libdir)/pkgconfig
- doins antlr.pc
- popd > /dev/null
- fi
-
- if use python ; then
- pushd "${S}"/lib/python > /dev/null
- distutils-r1_src_install
- popd > /dev/null
- fi
-
- if use examples ; then
- find "${S}"/examples -iname Makefile\* -exec rm \{\} \;
- insinto /usr/share/doc/${PF}/examples
- use cxx && doins -r "${S}"/examples/cpp
- use java && doins -r "${S}"/examples/java
- use mono && doins -r "${S}"/examples/csharp
- use python && doins -r "${S}"/examples/python
- fi
-
- dodoc README.txt
-}
+++ /dev/null
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="2"
-JAVA_PKG_IUSE="source"
-
-inherit eutils java-pkg-2 java-ant-2
-
-DESCRIPTION="A parser generator for C++, C#, Java, and Python"
-HOMEPAGE="http://www.antlr.org/"
-# You need to generate v3 grammars so that boostrapping works
-SRC_URI="http://www.antlr.org/download/${P}.tar.gz
- mirror://gentoo/${P}-generated.tar.bz2"
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="amd64 ~arm ppc ppc64 x86 ~x64-freebsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="gunit"
-
-COMMON_DEPEND=">=dev-java/stringtemplate-3.2:0
- >=dev-java/antlr-2.7.7:0[java]
- gunit? ( dev-java/junit:4 )"
-
-RDEPEND=">=virtual/jre-1.5
- ${COMMON_DEPEND}"
-
-DEPEND="${RDEPEND}
- >=virtual/jdk-1.5"
-
-java_prepare() {
- epatch "${FILESDIR}"/${P}-jdk-8.patch || die
-
- rm -v lib/*.jar lib/.*.jar || die
- rm -v runtime/ActionScript/project/lib/*.jar || die
- # We must bundle this as we can't depend on ourselves
- cp -v "${WORKDIR}"/*.java tool/src/main/antlr/org/antlr/grammar/v3 || die
- local version="${PV} $(date '+%B %d, %Y %T')"
- local propertyfile="tool/src/main/resources/org/antlr/antlr.properties"
- [[ $(egrep "^[^#]" ${propertyfile} | wc -l) != 1 ]] \
- && die "Unknown property found"
- sed -i "s/^\(antlr.version\)=.*$/\1=${version}/" ${propertyfile} || die
-}
-
-antlr2() {
- java -cp $(java-pkg_getjars antlr) antlr.Tool "${@}" || die "antlr2 failed"
-}
-
-antlr3() {
- local cp="${S}/bootstrap:${S}/tool/src/main/resources/"
- java -cp "${cp}":$(java-pkg_getjars antlr,stringtemplate) \
- org.antlr.Tool "${@}" || die "building v3 grammars failed"
-}
-
-build_antlr() {
- cd "${S}"
- local dest="${1}"
- # runtime
- find runtime -name "*.java" > "${T}/sources" || die
- # tool
- find tool/src/main -name "*.java" >> "${T}/sources" || die
- ejavac -d "${dest}" -cp $(java-pkg_getjars antlr,stringtemplate) "@${T}/sources"
-}
-
-# Uses maven so let's just do things manully for now
-# when bumping use jardiff and apicheck to make sure
-# produced jars are good
-src_compile() {
- einfo "Bootstrapping antlr3 with bundled sources"
- cd tool/src/main/antlr2/org/antlr/grammar/v2/ || die
- # the command line only takes one at a time
- for grammar in *.g; do
- antlr2 ${grammar} || die
- done
-
- cd "${S}" || die
- mkdir bootstrap || die
- build_antlr bootstrap
-
- einfo "Building v3 grammars with boostrapped antlr"
- local v3dir=tool/src/main/antlr/org/antlr/grammar/v3/
- rm -v "${v3dir}"/*.java || die
- antlr3 "${v3dir}"/*.g
-
- mkdir build || die
- cp -r "${S}"/tool/src/main/resources/* build || die
- build_antlr build
-
- if use gunit; then
- einfo "building gunit"
- antlr3 gunit/src/main/antlr3/org/antlr/gunit/*.g
-
- find gunit -name "*.java" > "${T}/gunit" || die
- ejavac -d build -cp $(java-pkg_getjars stringtemplate,junit-4):build \
- "@${T}/gunit"
-
- cp -vr gunit/src/main/resources/org build || die
- fi
-
- # jar things up
- cd build
- find -type f >> "${T}/classes" || die
- jar cf ${PN}3.jar "@${T}/classes" || die "jar failed"
-}
-
-src_install() {
- # Single jar like upstream
- java-pkg_dojar build/antlr3.jar
- java-pkg_dolauncher antlr3 --main org.antlr.Tool
- use gunit && java-pkg_dolauncher gunit --main org.antlr.gunit.Interp
-
- use source && java-pkg_dosrc tool/src/main/org \
- runtime/Java/src/main/java/org/
-}
-
-pkg_postinst() {
- elog "Currently the ebuild only has support for the Java backend."
-}