diff options
author | David Seifert <soap@gentoo.org> | 2023-05-11 12:12:23 +0200 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2023-05-11 12:12:23 +0200 |
commit | e4d717fb45ff9bf0ae328dccee5dd761630c3436 (patch) | |
tree | d1b04b13ecc53ea888eb0a958a052758207c2088 /dev-java | |
parent | dev-ruby/allison: treeclean (diff) | |
download | gentoo-e4d717fb45ff9bf0ae328dccee5dd761630c3436.tar.gz gentoo-e4d717fb45ff9bf0ae328dccee5dd761630c3436.tar.bz2 gentoo-e4d717fb45ff9bf0ae328dccee5dd761630c3436.zip |
dev-java/jython: treeclean
Closes: https://bugs.gentoo.org/825486
Closes: https://bugs.gentoo.org/828473
Closes: https://bugs.gentoo.org/886363
Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'dev-java')
-rw-r--r-- | dev-java/jython/Manifest | 1 | ||||
-rw-r--r-- | dev-java/jython/files/CVE-2016-4000.patch | 158 | ||||
-rw-r--r-- | dev-java/jython/files/jython-2.5.2-distutils_scripts_location.patch | 11 | ||||
-rw-r--r-- | dev-java/jython/files/jython-2.5.2-respect_PYTHONPATH.patch | 15 | ||||
-rw-r--r-- | dev-java/jython/files/jython-2.7.0-build.xml.patch | 11 | ||||
-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/files/jython-2.7_beta2-maxrepeat-import.patch | 16 | ||||
-rw-r--r-- | dev-java/jython/jython-2.7.0-r7.ebuild | 156 | ||||
-rw-r--r-- | dev-java/jython/metadata.xml | 11 |
10 files changed, 0 insertions, 418 deletions
diff --git a/dev-java/jython/Manifest b/dev-java/jython/Manifest deleted file mode 100644 index 37e6fec3e242..000000000000 --- a/dev-java/jython/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST jython-2.7.0-sources.jar 15371691 BLAKE2B 7e1c29f2a2c03b034e89bb9c3a8fdddbaef6a0191a7320c82b76e31b41336f3d99c1995b2e9864c033ec53629d45669ad460fb4a1433ea7bc6b0390919500a24 SHA512 7583810245d694fd1d99a57ad504fcefdfbc1183def2cbb93ae3660f341104205c73041d846bdcf2b564b3cf4b770b481703c1dcdb1458396812c92d30ee9fa6 diff --git a/dev-java/jython/files/CVE-2016-4000.patch b/dev-java/jython/files/CVE-2016-4000.patch deleted file mode 100644 index 81785eb05b07..000000000000 --- a/dev-java/jython/files/CVE-2016-4000.patch +++ /dev/null @@ -1,158 +0,0 @@ - -# HG changeset patch -# User Jim Baker <jim.baker@rackspace.com> -# Date 1454384221 25200 -# Node ID d06e29d100c04576735e86c75a26c5f33669bb72 -# Parent b6735606c13df95f770527e629954407f82808c5 -Do not deserialize PyFunction objects. Fixes #2454 - -Instead use standard Python pickling; or subclass PyFunction. - -diff --git a/Lib/test/test_java_integration.py b/Lib/test/test_java_integration.py ---- a/Lib/test/test_java_integration.py -+++ b/Lib/test/test_java_integration.py -@@ -14,8 +14,9 @@ import re - from collections import deque - from test import test_support - --from java.lang import (ClassCastException, ExceptionInInitializerError, String, Runnable, System, -- Runtime, Math, Byte) -+from java.lang import ( -+ ClassCastException, ExceptionInInitializerError, UnsupportedOperationException, -+ String, Runnable, System, Runtime, Math, Byte) - from java.math import BigDecimal, BigInteger - from java.net import URI - from java.io import (ByteArrayInputStream, ByteArrayOutputStream, File, FileInputStream, -@@ -656,13 +657,30 @@ class SerializationTest(unittest.TestCas - self.assertEqual(date_list, roundtrip_serialization(date_list)) - - def test_java_serialization_pycode(self): -- - def universal_answer(): - return 42 - - serialized_code = roundtrip_serialization(universal_answer.func_code) - self.assertEqual(eval(serialized_code), universal_answer()) - -+ def test_java_serialization_pyfunction(self): -+ # Not directly supported due to lack of general utility -+ # (globals will usually be in the function object in -+ # func_globals), and problems with unserialization -+ # vulnerabilities. Users can always subclass from PyFunction -+ # for specific cases, as seen in PyCascading -+ import new -+ def f(): -+ return 6 * 7 + max(0, 1, 2) -+ # However, using the new module, it's possible to create a -+ # function with no globals, which means the globals will come -+ # from the current context -+ g = new.function(f.func_code, {}, "g") -+ # But still forbid Java deserialization of this function -+ # object. Use pickling or other support instead. -+ with self.assertRaises(UnsupportedOperationException): -+ roundtrip_serialization(g) -+ - def test_builtin_names(self): - import __builtin__ - names = [x for x in dir(__builtin__)] -@@ -872,7 +890,7 @@ class SingleMethodInterfaceTest(unittest - future.get() - self.assertEqual(x, [42]) - -- @unittest.skip("FIXME: not working") -+ @unittest.skip("FIXME: not working; see http://bugs.jython.org/issue2115") - def test_callable_object(self): - callable_obj = CallableObject() - future = self.executor.submit(callable_obj) -diff --git a/Lib/test/test_new.py b/Lib/test/test_new.py ---- a/Lib/test/test_new.py -+++ b/Lib/test/test_new.py -@@ -24,18 +24,10 @@ class NewTest(unittest.TestCase): - c = new.instance(C, {'yolks': 3}) - - o = new.instance(C) -- -- # __dict__ is a non dict mapping in Jython -- if test_support.is_jython: -- self.assertEqual(len(o.__dict__), 0, "new __dict__ should be empty") -- else: -- self.assertEqual(o.__dict__, {}, "new __dict__ should be empty") -+ self.assertEqual(o.__dict__, {}, "new __dict__ should be empty") - del o - o = new.instance(C, None) -- if test_support.is_jython: -- self.assertEqual(len(o.__dict__), 0, "new __dict__ should be empty") -- else: -- self.assertEqual(o.__dict__, {}, "new __dict__ should be empty") -+ self.assertEqual(o.__dict__, {}, "new __dict__ should be empty") - del o - - def break_yolks(self): -@@ -109,7 +101,14 @@ class NewTest(unittest.TestCase): - test_closure(g, (1, 1), ValueError) # closure is wrong size - test_closure(f, g.func_closure, ValueError) # no closure needed - -- if hasattr(new, 'code') and not test_support.is_jython: -+ # [Obsolete] Note: Jython will never have new.code() -+ # -+ # Who said that?!!! guess what, we do! :) -+ # -+ # Unfortunately we still need a way to compile to Python bytecode, -+ # so support is still incomplete, as seen in the fact that we need -+ # to get values from CPython 2.7. -+ if hasattr(new, 'code'): - def test_code(self): - # bogus test of new.code() - def f(a): pass -@@ -117,16 +116,16 @@ class NewTest(unittest.TestCase): - c = f.func_code - argcount = c.co_argcount - nlocals = c.co_nlocals -- stacksize = c.co_stacksize -+ stacksize = 1 # TODO c.co_stacksize - flags = c.co_flags -- codestring = c.co_code -- constants = c.co_consts -- names = c.co_names -+ codestring = 'd\x00\x00S' # TODO c.co_code -+ constants = (None,) # TODO c.co_consts -+ names = () # TODO c.co_names - varnames = c.co_varnames - filename = c.co_filename - name = c.co_name - firstlineno = c.co_firstlineno -- lnotab = c.co_lnotab -+ lnotab = '' # TODO c.co_lnotab, but also see http://bugs.jython.org/issue1638 - freevars = c.co_freevars - cellvars = c.co_cellvars - -diff --git a/src/org/python/core/PyBytecode.java b/src/org/python/core/PyBytecode.java ---- a/src/org/python/core/PyBytecode.java -+++ b/src/org/python/core/PyBytecode.java -@@ -66,6 +66,12 @@ public class PyBytecode extends PyBaseCo - - debug = defaultDebug; - -+ if (argcount < 0) { -+ throw Py.ValueError("code: argcount must not be negative"); -+ } else if (nlocals < 0) { -+ throw Py.ValueError("code: nlocals must not be negative"); -+ } -+ - co_argcount = nargs = argcount; - co_varnames = varnames; - co_nlocals = nlocals; // maybe assert = varnames.length; -diff --git a/src/org/python/core/PyFunction.java b/src/org/python/core/PyFunction.java ---- a/src/org/python/core/PyFunction.java -+++ b/src/org/python/core/PyFunction.java -@@ -545,6 +545,9 @@ public class PyFunction extends PyObject - @Override - public boolean isSequenceType() { return false; } - -+ private Object readResolve() { -+ throw new UnsupportedOperationException(); -+ } - - /* Traverseproc implementation */ - @Override - diff --git a/dev-java/jython/files/jython-2.5.2-distutils_scripts_location.patch b/dev-java/jython/files/jython-2.5.2-distutils_scripts_location.patch deleted file mode 100644 index fc9a95be89f9..000000000000 --- a/dev-java/jython/files/jython-2.5.2-distutils_scripts_location.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Lib/distutils/command/install.py -+++ b/Lib/distutils/command/install.py -@@ -70,7 +70,7 @@ - 'purelib': '$base/Lib/site-packages', - 'platlib': '$base/Lib/site-packages', - 'headers': '$base/Include/$dist_name', -- 'scripts': '$base/bin', -+ 'scripts': '/usr/bin', - 'data' : '$base', - } - } diff --git a/dev-java/jython/files/jython-2.5.2-respect_PYTHONPATH.patch b/dev-java/jython/files/jython-2.5.2-respect_PYTHONPATH.patch deleted file mode 100644 index e695122ba1d6..000000000000 --- a/dev-java/jython/files/jython-2.5.2-respect_PYTHONPATH.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/src/org/python/core/PySystemState.java -+++ b/src/org/python/core/PySystemState.java -@@ -646,6 +646,12 @@ - if (jythonpath != null) { - registry.setProperty("python.path", jythonpath); - } -+ else { -+ jythonpath = System.getenv("PYTHONPATH"); -+ if (jythonpath != null) { -+ registry.setProperty("python.path", jythonpath); -+ } -+ } - } catch (SecurityException e) { - } - registry.putAll(postProperties); diff --git a/dev-java/jython/files/jython-2.7.0-build.xml.patch b/dev-java/jython/files/jython-2.7.0-build.xml.patch deleted file mode 100644 index 1f0be614dbe5..000000000000 --- a/dev-java/jython/files/jython-2.7.0-build.xml.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/build.xml.orig 2015-06-27 16:12:08.442000000 +0000 -+++ b/build.xml 2015-06-27 16:12:15.684000000 +0000 -@@ -448,7 +448,7 @@ - </target> - - <target name="antlr_gen" depends="prepare-output" unless="antlr.notneeded"> -- <java classname="org.antlr.Tool" failonerror="true" fork="true" dir="${jython.base.dir}"> -+ <java classname="org.antlr.Tool" failonerror="false" fork="true" dir="${jython.base.dir}"> - <jvmarg value="-Xmx512m"/> - <arg value="-Xconversiontimeout"/> - <arg value="2000"/> diff --git a/dev-java/jython/files/jython-2.7_beta1-ant.patch b/dev-java/jython/files/jython-2.7_beta1-ant.patch deleted file mode 100644 index c86cae894a92..000000000000 --- a/dev-java/jython/files/jython-2.7_beta1-ant.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- 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 deleted file mode 100644 index 326ef7f62afa..000000000000 --- a/dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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/files/jython-2.7_beta2-maxrepeat-import.patch b/dev-java/jython/files/jython-2.7_beta2-maxrepeat-import.patch deleted file mode 100644 index 944bb195cb38..000000000000 --- a/dev-java/jython/files/jython-2.7_beta2-maxrepeat-import.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -r 035eded55c4d lib-python/2.7/sre_constants.py ---- a/lib-python/2.7/sre_constants.py Wed Apr 16 18:30:13 2014 -0600 -+++ b/lib-python/2.7/sre_constants.py Fri Jul 25 10:31:27 2014 -0700 -@@ -15,7 +15,11 @@ - - MAGIC = 20031017 - --from _sre import MAXREPEAT -+try: -+ from _sre import MAXREPEAT -+except ImportError: -+ import _sre -+ MAXREPEAT = _sre.MAXREPEAT = 65535 - - # SRE standard exception (access as sre.error) - # should this really be here? diff --git a/dev-java/jython/jython-2.7.0-r7.ebuild b/dev-java/jython/jython-2.7.0-r7.ebuild deleted file mode 100644 index b05f5ed59d82..000000000000 --- a/dev-java/jython/jython-2.7.0-r7.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -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.3 - 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 -} diff --git a/dev-java/jython/metadata.xml b/dev-java/jython/metadata.xml deleted file mode 100644 index 917ad960b715..000000000000 --- a/dev-java/jython/metadata.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>java@gentoo.org</email> - <name>Java</name> - </maintainer> - <upstream> - <remote-id type="sourceforge">jython</remote-id> - </upstream> -</pkgmetadata> |