summaryrefslogtreecommitdiff
path: root/dev-java/jython
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/jython')
-rw-r--r--dev-java/jython/Manifest3
-rw-r--r--dev-java/jython/jython-2.7.0-r4.ebuild2
-rw-r--r--dev-java/jython/jython-2.7.0-r6.ebuild156
3 files changed, 159 insertions, 2 deletions
diff --git a/dev-java/jython/Manifest b/dev-java/jython/Manifest
index 5221e2580e81..19b539c2610a 100644
--- a/dev-java/jython/Manifest
+++ b/dev-java/jython/Manifest
@@ -6,5 +6,6 @@ AUX jython-2.7_beta1-ant.patch 996 BLAKE2B ea81e5c330e1e2b45378d91baed45b7d60cdd
AUX jython-2.7_beta1-dont-always-recompile-classes.patch 309 BLAKE2B 72fe6e0afe6346ed4af714485aa70cccc202aa9b8f4587df380697b54d55ce278a89685144620c4695acf212e3e4654b476865d54643b88dbfc2468b2c33fb98 SHA512 75b25d98d8df13d0b9947cbc70a7da59097b89731210504cc26ab18680b93d9ce2cd177480870f985a87d3634d9034b8d9f1bac2c431f4cfe09ab0b54db78b18
AUX jython-2.7_beta2-maxrepeat-import.patch 457 BLAKE2B a55f47a16264544608ba9916d3f2ced081a4f47d260bab2eeeb5959ad1aaf1074a69bea4d8083383d039f541f6b379a141c81c4376a7f7cf324ce06ddeb84ab1 SHA512 e06ddb36805e2545f351d9d5df651fa90b0b39d340e4772cbb24910f1e1c999463a21fbe4a62c9cc73f9ccdc0047f8900e6300602cb8d5b70cef7cacf1bd46d0
DIST jython-2.7.0-sources.jar 15371691 BLAKE2B 7e1c29f2a2c03b034e89bb9c3a8fdddbaef6a0191a7320c82b76e31b41336f3d99c1995b2e9864c033ec53629d45669ad460fb4a1433ea7bc6b0390919500a24 SHA512 7583810245d694fd1d99a57ad504fcefdfbc1183def2cbb93ae3660f341104205c73041d846bdcf2b564b3cf4b770b481703c1dcdb1458396812c92d30ee9fa6
-EBUILD jython-2.7.0-r4.ebuild 4304 BLAKE2B 9ce5b05684c7783b879672eed0fda0773fea00305d77d890283575e2a17ed006ff578aff8286bf24e42580d6345e12e6d9da04e57869bef46335f2d023f5d2f1 SHA512 6cef3e75fb9aac56f970439b331ae91702257ed405106781913f4d1bab1c03a55017bf9366ba0c0f366f94cdd4a2958933af4640985bcd74460627460c094c7f
+EBUILD jython-2.7.0-r4.ebuild 4303 BLAKE2B e799c43f07df3c01ca6e2155c8201ae3c3151bf86e79f5b79a408395379adfd97e11bd9ded46199fc8e3aad174ab45ccf4bcb9dc90738491bbe66958f0d91147 SHA512 d76dc2820fdb18d6ca42ae4b4e2e0aa335abd5b3acd2e37726c6f0c166451f84b0f4f3edd59d4ceced3ade06fd65f6578bb29953b5b873dcd7668e1871437261
+EBUILD jython-2.7.0-r6.ebuild 4453 BLAKE2B 91f45695c95fcd42bacdd35fd3d4c1ff34de387046dc51a13ec9f7d5f2367dc9d4033b5110f55f0c5d1abed4cfdf25b820b630c28058d3b7806196d98e983653 SHA512 317dcd4ddd74d89ed8bbc62108d924c9a223f6e448a8f0148adf801151a46c9fedbb70bc370966245cc6f3f1838af603d8f6007a35673027eca1175001a82c60
MISC metadata.xml 323 BLAKE2B 4c2b07b6a519fb3f1e4f7d0662e2488705d8ba2239a6cbd25b42aebd1bff1ca368105e1c5eee604915428c5b909ecc2547f6be4dfad126139a7f496bb276ae02 SHA512 de33eb0b1518ca8c0c9f8a44880946f491620bbcbfe0d5ebcb68dca71eba3965f0cf0ccd8c67128022c33845699222bd8b899c061cb5f7d7c0e09a4783fa3464
diff --git a/dev-java/jython/jython-2.7.0-r4.ebuild b/dev-java/jython/jython-2.7.0-r4.ebuild
index 9a24865883be..3da94ca9ebbe 100644
--- a/dev-java/jython/jython-2.7.0-r4.ebuild
+++ b/dev-java/jython/jython-2.7.0-r4.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://search.maven.org/remotecontent?filepath=org/python/${PN}/${MY_P
LICENSE="PSF-2"
SLOT="2.7"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux"
IUSE="examples test"
CP_DEPEND="dev-java/antlr:3
diff --git a/dev-java/jython/jython-2.7.0-r6.ebuild b/dev-java/jython/jython-2.7.0-r6.ebuild
new file mode 100644
index 000000000000..7000a802e098
--- /dev/null
+++ b/dev-java/jython/jython-2.7.0-r6.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="org.python:jython:2.7.0"
+
+inherit java-pkg-2 java-ant-2 python-utils-r1 flag-o-matic
+
+MY_PV=${PV/_beta/-b}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="An implementation of Python written in Java"
+HOMEPAGE="https://www.jython.org"
+SRC_URI="https://search.maven.org/remotecontent?filepath=org/python/${PN}/${MY_PV}/${MY_P}-sources.jar"
+
+LICENSE="PSF-2"
+SLOT="2.7"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+CP_DEPEND="dev-java/antlr:3
+ dev-java/netty:0
+ dev-java/asm:9
+ dev-java/commons-compress:0
+ dev-java/guava:0
+ dev-java/jffi:1.2
+ dev-java/jline:2
+ dev-java/icu4j:70
+ dev-java/jnr-constants:0
+ dev-java/jnr-posix:3.0
+ dev-java/jnr-netdb:1.0
+ dev-java/stringtemplate:0
+ dev-java/xerces:2
+ java-virtuals/servlet-api:3.0"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ dev-java/ant-core:0
+ test? (
+ dev-java/junit:4
+ dev-java/ant-junit:0
+ )"
+BDEPEND="app-arch/unzip"
+
+S=${WORKDIR}
+
+RESTRICT="test"
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+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 CDEPEND 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"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.2-distutils_scripts_location.patch
+ "${FILESDIR}"/${PN}-2.5.2-respect_PYTHONPATH.patch
+ "${FILESDIR}"/${PN}-2.7_beta1-ant.patch
+ "${FILESDIR}"/${PN}-2.7_beta1-dont-always-recompile-classes.patch
+ "${FILESDIR}"/${PN}-2.7_beta2-maxrepeat-import.patch
+ "${FILESDIR}"/${PN}-2.7.0-build.xml.patch
+ "${FILESDIR}"/CVE-2016-4000.patch
+)
+
+src_prepare() {
+ default
+
+ find \( -name '*.jar' -o -name '*.class' \
+ -o -name '*.pyc' -o -name '*.exe' \) -delete
+
+ # needed for launchertest
+ chmod +x tests/shell/test-jython.sh || die
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=833785
+ sed -e 's:\(CharMatcher.\)ASCII:\1ascii():' \
+ -i src/org/python/core/Py{,BaseCode,Unicode}.java || die
+
+ java-pkg-2_src_prepare
+}
+
+src_configure() {
+ # apparently this can cause problems
+ append-flags -fno-stack-protector
+
+ EANT_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --with-dependencies antlr-3,jnr-posix-3.0)"
+ EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only ant-core)"
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ local instdir=/usr/share/${PN}-${SLOT}
+
+ java-pkg_newjar dist/${PN}-dev.jar
+
+ java-pkg_register-optional-dependency jdbc-mysql
+ java-pkg_register-optional-dependency jdbc-postgresql
+
+ insinto ${instdir}
+ doins -r dist/{Lib,registry}
+
+ dodoc ACKNOWLEDGMENTS NEWS README.txt
+
+ use doc && java-pkg_dohtml -r 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[*]}"
+
+ # 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}${instdir}" \
+ -Dpython.cachedir="${T}/.jythoncachedir" \
+ -Duser.home="${T}" \
+ org.python.util.jython "\${@}"
+ EOF
+ chmod +x "${T}"/jython || die
+
+ local -x PYTHON="${T}"/jython
+ # we can't get the path from the interpreter since it does some
+ # magic that fails on non-installed copy...
+ _python_export jython${SLOT} EPYTHON
+
+ # 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}${instdir}"/Lib/test &>/dev/null
+
+ # for python-exec
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_moduleinto "/usr/share/jython-${SLOT}/Lib/site-packages"
+ 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}${instdir}"/Lib/ -name '*.class' | xargs touch
+}