summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/jython/jython-2.2.1-r1.ebuild')
-rw-r--r--dev-java/jython/jython-2.2.1-r1.ebuild138
1 files changed, 138 insertions, 0 deletions
diff --git a/dev-java/jython/jython-2.2.1-r1.ebuild b/dev-java/jython/jython-2.2.1-r1.ebuild
new file mode 100644
index 000000000000..e534548228b3
--- /dev/null
+++ b/dev-java/jython/jython-2.2.1-r1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=1
+
+JAVA_PKG_IUSE="readline source doc servletapi mysql postgres examples oracle"
+#jdnc
+
+inherit base java-pkg-2 java-ant-2
+
+DESCRIPTION="An implementation of Python written in Java"
+HOMEPAGE="http://www.jython.org"
+
+MY_PV="installer-2.2.1"
+PYVER="2.2.3"
+
+SRC_URI="http://www.python.org/ftp/python/${PYVER%_*}/Python-${PYVER}.tgz
+mirror://sourceforge/${PN}/${PN}_${MY_PV}.jar"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+CDEPEND="=dev-java/jakarta-oro-2.0*
+ readline? ( >=dev-java/libreadline-java-0.8.0 )
+ mysql? ( >=dev-java/jdbc-mysql-3.1 )
+ postgres? ( dev-java/jdbc-postgresql )
+ oracle? ( dev-java/jdbc-oracle-bin:10.2 )
+ servletapi? ( java-virtuals/servlet-api:2.5 )
+ !<=dev-java/freemarker-2.3.10"
+RDEPEND=">=virtual/jre-1.4
+ ${CDEPEND}"
+DEPEND=">=virtual/jdk-1.4
+ dev-java/javacc
+ ${CDEPEND}"
+
+S="${WORKDIR}"
+
+#Tests currently very broken. Need to investigate whether that
+#is jython's or gentoo's doing.
+RESTRICT="test"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${P}-build.patch"
+
+ rm -Rfv org || die "Unable to remove class files."
+ find . -iname '*.jar' | xargs rm -fv || die "Unable to remove bundled jars"
+
+ echo javacc.jar="$(java-pkg_getjars --build-only javacc)" > ant.properties
+
+ if use readline; then
+ echo "readline.jar=$(java-pkg_getjars libreadline-java)" >> \
+ ant.properties
+ fi
+ if use servletapi; then
+ echo "servlet.jar=$(java-pkg_getjar --virtual servlet-api-2.5 servlet-api.jar)" \
+ >> ant.properties
+ fi
+ if use mysql; then
+ echo "mysql.jar=$(java-pkg_getjar jdbc-mysql jdbc-mysql.jar)" \
+ >> ant.properties
+ fi
+
+ if use postgres; then
+ echo \
+ "postgresql.jar=$(java-pkg_getjar jdbc-postgresql jdbc-postgresql.jar)"\
+ >> ant.properties
+ fi
+
+ if use oracle; then
+ echo \
+ "oracle.jar=$(java-pkg-getjar jdbc-oracle-bin-10.2 ojdbc14.jar)" \
+ >> ant.properties
+ fi
+}
+
+src_compile() {
+ local antflags="-Dbase.path=src/java -Dsource.dir=src/java/src"
+ local pylib="Python-${PYVER}/Lib"
+ antflags="${antflags} -Dpython.lib=${pylib} -Dsvn.checkout.dir=."
+ LC_ALL=C eant ${antflags} developer-build $(use_doc javadoc)
+}
+
+src_test() {
+ local antflags="-Dbase.path=src/java -Dsource.dir=src/java/src"
+ antflags="${antflags} -Dpython.home=dist"
+ local pylib="Python-${PYVER}/Lib"
+ antflags="${antflags} -Dpython.lib=${pylib}"
+ eant ${antflags} bugtest
+}
+
+src_install() {
+ java-pkg_dojar "dist/${PN}.jar"
+
+ dodoc README.txt NEWS ACKNOWLEDGMENTS
+ use doc && dohtml -A .css .jpg .gif -r Doc/*
+
+ local java_args="-Dpython.home=/usr/share/jython"
+ java_args="${java_args} -Dpython.cachedir=\${HOME}/.jythoncachedir"
+
+ java-pkg_dolauncher jythonc \
+ --main "org.python.util.jython" \
+ --java_args "${java_args}" \
+ --pkg_args "${java_args} /usr/share/jython/tools/jythonc/jythonc.py"
+
+ java-pkg_dolauncher jython \
+ --main "org.python.util.jython" \
+ --pkg_args "${java_args}"
+
+ insinto /usr/share/${PN}
+ doins -r dist/Lib registry
+
+ insinto /usr/share/${PN}/tools
+ doins -r dist/Tools/*
+
+ use doc && java-pkg_dojavadoc dist/Doc/javadoc
+ use source && java-pkg_dosrc src
+ use examples && java-pkg_doexamples dist/Demo/*
+}
+
+pkg_postinst() {
+ if use readline; then
+ elog "To use readline you need to add the following to your registry"
+ elog
+ elog "python.console=org.python.util.ReadlineConsole"
+ elog "python.console.readlinelib=GnuReadline"
+ elog
+ elog "The global registry can be found in /usr/share/${PN}/registry"
+ elog "User registry in \$HOME/.jython"
+ elog "See http://www.jython.org/docs/registry.html for more information"
+ elog ""
+ fi
+}