diff options
author | Tim Harder <radhermit@gentoo.org> | 2013-03-07 20:42:45 +0000 |
---|---|---|
committer | Tim Harder <radhermit@gentoo.org> | 2013-03-07 20:42:45 +0000 |
commit | abbde3c897d59025f4c5521ca36e639aaefbd7d8 (patch) | |
tree | 04e798b7798bca7fa1782a4430e2ac5743cede03 /dev-java/jython | |
parent | wxwidgets needs aqua use flag on EAPI=5 (diff) | |
download | gentoo-2-abbde3c897d59025f4c5521ca36e639aaefbd7d8.tar.gz gentoo-2-abbde3c897d59025f4c5521ca36e639aaefbd7d8.tar.bz2 gentoo-2-abbde3c897d59025f4c5521ca36e639aaefbd7d8.zip |
Version bump.
(Portage version: 2.2.0_alpha166/cvs/Linux x86_64, signed Manifest commit with key 4AB3E85B4F064CA3)
Diffstat (limited to 'dev-java/jython')
-rw-r--r-- | dev-java/jython/ChangeLog | 9 | ||||
-rw-r--r-- | dev-java/jython/files/jython-2.7_beta1-ant.patch | 28 | ||||
-rw-r--r-- | dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch | 11 | ||||
-rw-r--r-- | dev-java/jython/jython-2.7_beta1.ebuild | 169 |
4 files changed, 216 insertions, 1 deletions
diff --git a/dev-java/jython/ChangeLog b/dev-java/jython/ChangeLog index 3f455fd20ee7..0a427ecf07b5 100644 --- a/dev-java/jython/ChangeLog +++ b/dev-java/jython/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-java/jython # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/jython/ChangeLog,v 1.85 2013/01/30 18:09:06 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/jython/ChangeLog,v 1.86 2013/03/07 20:42:45 radhermit Exp $ + +*jython-2.7_beta1 (07 Mar 2013) + + 07 Mar 2013; Tim Harder <radhermit@gentoo.org> +jython-2.7_beta1.ebuild, + +files/jython-2.7_beta1-ant.patch, + +files/jython-2.7_beta1-dont-always-recompile-classes.patch: + Version bump. 30 Jan 2013; Agostino Sarubbo <ago@gentoo.org> jython-2.5.3-r2.ebuild: Stable for x86, wrt bug #451630 diff --git a/dev-java/jython/files/jython-2.7_beta1-ant.patch b/dev-java/jython/files/jython-2.7_beta1-ant.patch new file mode 100644 index 000000000000..c86cae894a92 --- /dev/null +++ b/dev-java/jython/files/jython-2.7_beta1-ant.patch @@ -0,0 +1,28 @@ +--- jython-2.7-b1-sources/build.xml ++++ jython-2.7-b1-sources/build.xml +@@ -508,6 +509,7 @@ + </javac> + + <!-- java files used by tests --> ++<!-- + <javac srcdir="${test.source.dir}" + destdir="${compile.dir}" + target="${jdk.target.version}" +@@ -529,6 +531,7 @@ + <compilerarg line="${javac.Xlint}"/> + <classpath refid="test.classpath" /> + </javac> ++--> + <copy file="${source.dir}/org/python/modules/ucnhash.dat" + todir="${compile.dir}/org/python/modules" + preservelastmodified="true" /> +@@ -826,9 +829,6 @@ + + <target name="copy-javalib" unless="full-build"> + <copy todir="${dist.dir}/javalib"> +- <fileset dir="${jython.base.dir}/extlibs"> +- <exclude name="profile.properties"/> +- </fileset> + <fileset dir="${work.dir}/build"> + <include name="*.jar"/> + <include name="*.properties"/> diff --git a/dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch b/dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch new file mode 100644 index 000000000000..326ef7f62afa --- /dev/null +++ b/dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch @@ -0,0 +1,11 @@ +--- a/src/org/python/core/imp.java ++++ b/src/org/python/core/imp.java +@@ -228,7 +228,7 @@ + } + if (testing && mtime != NO_MTIME) { + long time = ar.getMTime(); +- if (mtime != time) { ++ if (mtime < time) { + return null; + } + } diff --git a/dev-java/jython/jython-2.7_beta1.ebuild b/dev-java/jython/jython-2.7_beta1.ebuild new file mode 100644 index 000000000000..c44fcf78997a --- /dev/null +++ b/dev-java/jython/jython-2.7_beta1.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/jython/jython-2.7_beta1.ebuild,v 1.1 2013/03/07 20:42:45 radhermit Exp $ + +EAPI=5 +JAVA_PKG_IUSE="doc examples source" + +inherit eutils java-pkg-2 java-ant-2 python-utils-r1 + +MY_PV=${PV/_beta/-b} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="An implementation of Python written in Java" +HOMEPAGE="http://www.jython.org" +SRC_URI="http://search.maven.org/remotecontent?filepath=org/python/${PN}/${MY_PV}/${MY_P}-sources.jar" + +LICENSE="PSF-2" +SLOT="2.7" +KEYWORDS="~amd64 ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~x86-macos" +IUSE="+readline test" +REQUIRED_USE="test? ( readline )" + +COMMON_DEP=" + dev-java/antlr:3 + dev-java/asm:4 + dev-java/commons-compress:0 + dev-java/guava:13 + >=dev-java/java-config-2.1.11-r3 + dev-java/jffi:1.2 + dev-java/jline:0 + dev-java/jnr-constants:0 + dev-java/jnr-posix:2.1 + dev-java/stringtemplate:0 + dev-java/xerces:2 + 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 + test? ( + dev-java/junit:4 + dev-java/ant-junit4 + )" + +S=${WORKDIR} + +RESTRICT="test" + +JAVA_ANT_REWRITE_CLASSPATH="yes" +EANT_GENTOO_CLASSPATH="asm-4,commons-compress,guava-13,jffi-1.2,jline,jnr-constants,script-api,servlet-api-2.5,stringtemplate,xerces-2" +JAVA_ANT_CLASSPATH_TAGS+=" java" + +EANT_BUILD_TARGET="developer-build" +EANT_TEST_EXTRA_ARGS="-Dpython.home=dist" + +# 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" + +java_prepare() { + find \( -name '*.jar' -o -name '*.class' \ + -o -name '*.pyc' -o -name '*.exe' \) -delete + + epatch "${FILESDIR}"/${PN}-2.5.2-distutils_scripts_location.patch + epatch "${FILESDIR}"/${PN}-2.5.2-respect_PYTHONPATH.patch + epatch "${FILESDIR}"/${P}-ant.patch + epatch "${FILESDIR}"/${P}-dont-always-recompile-classes.patch + + if ! use readline; then + rm -v src/org/python/util/ReadlineConsole.java || die + fi + + # needed for launchertest + chmod +x tests/shell/test-jython.sh || die +} + +src_compile() { + use readline && EANT_GENTOO_CLASSPATH+=",libreadline-java" + + EANT_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --with-dependencies antlr-3,jnr-posix-2.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}\"" \ + src/shell/jython || die + + java-pkg-2_src_compile +} + +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 \ + -e "s/#\(python.console=org.python.util.ReadlineConsole\)/\1/" \ + -e "/#python.console.readlinelib=JavaReadline/a python.console.readlinelib=GnuReadline" \ + -i "${ED}"/usr/share/${PN}-${SLOT}/registry || die + fi + + # we need a wrapper to help python_optimize + cat <<-EOF > "${T}"/jython + 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 + + # some of the class files end up with newer timestamps than the files they + # were generated from, make sure this doesn't happen + find "${ED}"/usr/share/jython-${SLOT}/Lib/ -name '*.class' | xargs touch +} + +pkg_postinst() { + if ! has_version dev-java/jython ; then + elog + elog "readline can be configured in the registry:" + elog + elog "python.console=org.python.util.ReadlineConsole" + elog "python.console.readlinelib=GnuReadline" + elog + elog "Global registry: '${EROOT}usr/share/${PN}-${SLOT}/registry'" + elog "User registry: '~/.jython'" + elog "See http://www.jython.org/docs/registry.html for more information." + elog + fi +} |