diff options
author | 2012-12-02 10:16:55 +0000 | |
---|---|---|
committer | 2012-12-02 10:16:55 +0000 | |
commit | ff7bfc265b78dd19b5ec4527616346e7c5c59bb2 (patch) | |
tree | 5c9415fa5668e9408291d67afd1834ded100e8aa /dev-java/jython | |
parent | Scale back with the sys-fs/udev version to let systemd catch up. (diff) | |
download | gentoo-2-ff7bfc265b78dd19b5ec4527616346e7c5c59bb2.tar.gz gentoo-2-ff7bfc265b78dd19b5ec4527616346e7c5c59bb2.tar.bz2 gentoo-2-ff7bfc265b78dd19b5ec4527616346e7c5c59bb2.zip |
Minor cleanup. Get rid of python.eclass, install epython.py for python-exec.
(Portage version: 2.2.0_alpha144/cvs/Linux x86_64, signed Manifest commit with key 42B9401D)
Diffstat (limited to 'dev-java/jython')
-rw-r--r-- | dev-java/jython/ChangeLog | 7 | ||||
-rw-r--r-- | dev-java/jython/jython-2.5.3-r2.ebuild | 148 |
2 files changed, 154 insertions, 1 deletions
diff --git a/dev-java/jython/ChangeLog b/dev-java/jython/ChangeLog index b7195d9d41c5..23c7bc2792ac 100644 --- a/dev-java/jython/ChangeLog +++ b/dev-java/jython/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-java/jython # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/jython/ChangeLog,v 1.81 2012/09/27 14:47:27 sera Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/jython/ChangeLog,v 1.82 2012/12/02 10:16:55 mgorny Exp $ + +*jython-2.5.3-r2 (02 Dec 2012) + + 02 Dec 2012; Michał Górny <mgorny@gentoo.org> +jython-2.5.3-r2.ebuild: + Minor cleanup. Get rid of python.eclass, install epython.py for python-exec. *jython-2.2.1-r2 (27 Sep 2012) diff --git a/dev-java/jython/jython-2.5.3-r2.ebuild b/dev-java/jython/jython-2.5.3-r2.ebuild new file mode 100644 index 000000000000..a86845e0f3a4 --- /dev/null +++ b/dev-java/jython/jython-2.5.3-r2.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/jython/jython-2.5.3-r2.ebuild,v 1.1 2012/12/02 10:16:55 mgorny Exp $ + +EAPI="4" + +JAVA_PKG_IUSE="doc examples source" + +inherit eutils java-pkg-2 java-ant-2 python-utils-r1 + +DESCRIPTION="An implementation of Python written in Java" +HOMEPAGE="http://www.jython.org" +SRC_URI="http://central.maven.org/maven2/org/python/${PN}-installer/${PV}/${PN}-installer-${PV}.jar" + +LICENSE="PSF-2" +SLOT="2.5" +KEYWORDS="~amd64 ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~x86-macos" +IUSE="readline" + +# Missing in installer jar. +RESTRICT="test" + +COMMON_DEP=" + !<=dev-java/freemarker-2.3.10 + dev-java/antlr:3 + dev-java/asm:3 + dev-java/guava:0 + >=dev-java/java-config-2.1.11-r3 + dev-java/jffi:1.0 + dev-java/jline:0 + dev-java/jnr-constants:0 + dev-java/jnr-posix:1.1 + java-virtuals/script-api:0 + java-virtuals/servlet-api:2.5 + readline? ( >=dev-java/libreadline-java-0.8.0:0 )" +RDEPEND="${COMMON_DEP} + >=virtual/jre-1.5" +DEPEND="${COMMON_DEP} + >=virtual/jdk-1.5 + app-arch/unzip" + +S="${WORKDIR}" + +java_prepare() { + # src/META-INF/services missing - taking from prebuilt jar + pushd src > /dev/null || die + jar -xf ../${PN}.jar META-INF/services || die + popd > /dev/null + + find \( -name '*.jar' -o -name '*.class' \ + -o -name '*.pyc' -o -name '*.exe' \) -delete + + epatch "${FILESDIR}/${PN}-2.5.2-build.xml.patch" + + epatch "${FILESDIR}/${PN}-2.5.2-distutils_byte_compilation.patch" + epatch "${FILESDIR}/${PN}-2.5.2-distutils_scripts_location.patch" + epatch "${FILESDIR}/${PN}-2.5.2-respect_PYTHONPATH.patch" + + if ! use readline; then + rm -v src/org/python/util/ReadlineConsole.java || die + fi +} + +JAVA_ANT_REWRITE_CLASSPATH="yes" +JAVA_ANT_CLASSPATH_TAGS+=" java" + +EANT_BUILD_TARGET="developer-build" +EANT_GENTOO_CLASSPATH="asm-3,guava,jffi-1.0,jline,jnr-constants,script-api,servlet-api-2.5" + +# jdbc-informix and jdbc-oracle-bin (requires registration) aren't exposed. +# Uncomment and add to COMMON_DEP if you want either of them +#EANT_GENTOO_CLASSPATH+=",jdbc-informix" EANT_EXTRA_ARGS+=" -Dinformix.present" +#EANT_GENTOO_CLASSPATH+=",jdbc-oracle-bin" EANT_EXTRA_ARGS+=" -Doracle.present" + +src_compile() { + use readline && EANT_GENTOO_CLASSPATH+=",libreadline-java" + + EANT_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --with-dependencies antlr-3,jnr-posix-1.1)" + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only ant-core)" + + sed -i -e "1 a\ + CLASSPATH=\"$(java-pkg_getjars "${EANT_GENTOO_CLASSPATH}"):${EANT_GENTOO_CLASSPATH_EXTRA}\"" \ + bin/jython || die + + java-pkg-2_src_compile +} + +EANT_TEST_EXTRA_ARGS="-Dpython.home=dist" + +src_test() { + java-pkg-2_src_test +} + +src_install() { + java-pkg_newjar dist/${PN}-dev.jar + + java-pkg_register-optional-dependency jdbc-mysql + java-pkg_register-optional-dependency jdbc-postgresql + + insinto /usr/share/${PN}-${SLOT} + doins -r dist/{Lib,registry} + + dodoc ACKNOWLEDGMENTS NEWS README.txt + + use doc && java-pkg_dojavadoc dist/Doc/javadoc + use source && java-pkg_dosrc src/* + use examples && java-pkg_doexamples Demo/* + + local java_args=( + -Dpython.home="${EPREFIX}"/usr/share/${PN}-${SLOT} + -Dpython.executable="${EPREFIX}"/usr/bin/jython${SLOT} + -Dpython.cachedir="\${HOME}/.jythoncachedir" + ) + java-pkg_dolauncher jython${SLOT} \ + --main org.python.util.jython \ + --java_args "${java_args[*]}" + + if use readline; then + sed -i -e "/#python.console.readlinelib=JavaReadline/a \ + python.console=org.python.util.ReadlineConsole\npython.console.readlinelib=GnuReadline" \ + "${ED}"/usr/share/${PN}-${SLOT}/registry || die + fi + + # the jvm opens classfiles rw ... + dodir /etc/sandbox.d + echo "SANDBOX_PREDICT=/usr/share/${PN}-${SLOT}" > "${ED}/etc/sandbox.d/20${P}-${SLOT}" + + # we need a wrapper to help python_optimize + cat > "${T}"/jython <<_EOF_ || die +exec java -cp "$(java-pkg_getjars "${EANT_GENTOO_CLASSPATH}"):${EANT_GENTOO_CLASSPATH_EXTRA}:dist/${PN}-dev.jar" \ + -Dpython.home="${ED}"/usr/share/${PN}-${SLOT} \ + -Dpython.cachedir="${T}/.jythoncachedir" \ + org.python.util.jython "\${@}" +_EOF_ + chmod +x "${T}"/jython || die + + python_export jython${SLOT} EPYTHON PYTHON_SITEDIR + local PYTHON="${T}"/jython + + # compile tests (everything else is compiled already) + # we're keeping it quiet since jython reports errors verbosely + # and some of the tests are supposed to trigger compile errors + python_optimize "${ED}"/usr/share/jython-${SLOT}/Lib/test &>/dev/null + + # for python-exec + echo "EPYTHON='${EPYTHON}'" > epython.py + python_domodule epython.py +} |