summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2023-05-11 12:12:23 +0200
committerDavid Seifert <soap@gentoo.org>2023-05-11 12:12:23 +0200
commite4d717fb45ff9bf0ae328dccee5dd761630c3436 (patch)
treed1b04b13ecc53ea888eb0a958a052758207c2088 /dev-java
parentdev-ruby/allison: treeclean (diff)
downloadgentoo-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/Manifest1
-rw-r--r--dev-java/jython/files/CVE-2016-4000.patch158
-rw-r--r--dev-java/jython/files/jython-2.5.2-distutils_scripts_location.patch11
-rw-r--r--dev-java/jython/files/jython-2.5.2-respect_PYTHONPATH.patch15
-rw-r--r--dev-java/jython/files/jython-2.7.0-build.xml.patch11
-rw-r--r--dev-java/jython/files/jython-2.7_beta1-ant.patch28
-rw-r--r--dev-java/jython/files/jython-2.7_beta1-dont-always-recompile-classes.patch11
-rw-r--r--dev-java/jython/files/jython-2.7_beta2-maxrepeat-import.patch16
-rw-r--r--dev-java/jython/jython-2.7.0-r7.ebuild156
-rw-r--r--dev-java/jython/metadata.xml11
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>