From f0279a758733b4ec0c48fe1609f32a83d0d01c3d9f3118dc352b1b5370761ac5 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Sun, 11 Dec 2022 11:11:41 +0000 Subject: [PATCH] Accepting request 1041911 from home:yarunachalam:branches:devel:languages:python - Update to 0.14.0 * New features: Removed the peephole optimizer PR #107 Basically changes in Python 3.11 made it hard to port and the maintenance cost exceeded the perceived use. It could be re-added if there is a demand for it. Add support for Python 3.11 PR #107 Support for Python 3.11, comes with a number of changes reflecting changes in CPython bytecode itself: support for the exception table in ConcreteBytecode support for pseudo-instruction TryBegin and TryEnd describing the exception table in Bytecode and ControlflowGraph new keyword arguments in conversion method related to computations required for the exception table handling of CACHE opcode at the ConcreteBytecode level handling of the ability of LOAD_GLOBAL to push NULL (the argument is now a tuple[bool, str]) support for end_lineno and column offsets in instructions support for co_qualname (as qualname on bytecode objects) and a number of internal changes related to changes in the internal bytecode representation. Add type annotations and make types stricter PR # 105 In particular, ConcreteInstr does not inherit from Instr anymore and one cannot use ConcreteInstr in Bytecode object. This is saner than before. * Bugfixes: Removed EXC_MATCH from the Compare enumeration starting with Python 3.9. The new JUMP_IF_NOT_EXC_MATCH opcode should be used instead. Removed IN, NOT_IN, IS, NOT_IS from the Compare enumeration starting with Python 3.9. The new CONTAINS_OP and IS_OP opcodes should be used instead. Add proper pre and post stack effects to all opcodes (up to Python 3.11) PR #106 #107 * Maintenance: Make the install process PEP517 compliant PR #97 Drop support for Python 3.6 and 3.7 PR #100 OBS-URL: https://build.opensuse.org/request/show/1041911 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bytecode?expand=0&rev=6 --- bytecode-0.13.0.tar.gz | 3 --- bytecode-0.14.0.tar.gz | 3 +++ python-bytecode.changes | 27 +++++++++++++++++++++++++++ python-bytecode.spec | 5 +++-- 4 files changed, 33 insertions(+), 5 deletions(-) delete mode 100644 bytecode-0.13.0.tar.gz create mode 100644 bytecode-0.14.0.tar.gz diff --git a/bytecode-0.13.0.tar.gz b/bytecode-0.13.0.tar.gz deleted file mode 100644 index 1855573..0000000 --- a/bytecode-0.13.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6af3c2f0a31ce05dce41f7eea5cc380e33f5e8fbb7dcee3b52467a00acd52fcd -size 68177 diff --git a/bytecode-0.14.0.tar.gz b/bytecode-0.14.0.tar.gz new file mode 100644 index 0000000..fb763c0 --- /dev/null +++ b/bytecode-0.14.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d41ad53c657ba0bef1cb4828d9d6e450766e31cb66c6f91fc1851f052889d1b7 +size 94083 diff --git a/python-bytecode.changes b/python-bytecode.changes index 6c2af2c..89d02c4 100644 --- a/python-bytecode.changes +++ b/python-bytecode.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Fri Dec 9 17:16:11 UTC 2022 - Yogalakshmi Arunachalam + +- Update to 0.14.0 + * New features: + Removed the peephole optimizer PR #107 + Basically changes in Python 3.11 made it hard to port and the maintenance cost exceeded the perceived use. It could be re-added if there is a demand for it. + Add support for Python 3.11 PR #107 + Support for Python 3.11, comes with a number of changes reflecting changes in CPython bytecode itself: + support for the exception table in ConcreteBytecode + support for pseudo-instruction TryBegin and TryEnd describing the exception table in Bytecode and ControlflowGraph + new keyword arguments in conversion method related to computations required for the exception table + handling of CACHE opcode at the ConcreteBytecode level + handling of the ability of LOAD_GLOBAL to push NULL (the argument is now a tuple[bool, str]) + support for end_lineno and column offsets in instructions + support for co_qualname (as qualname on bytecode objects) + and a number of internal changes related to changes in the internal bytecode representation. + Add type annotations and make types stricter PR # 105 In particular, ConcreteInstr does not inherit from Instr anymore and one cannot + use ConcreteInstr in Bytecode object. This is saner than before. + * Bugfixes: + Removed EXC_MATCH from the Compare enumeration starting with Python 3.9. The new JUMP_IF_NOT_EXC_MATCH opcode should be used instead. + Removed IN, NOT_IN, IS, NOT_IS from the Compare enumeration starting with Python 3.9. The new CONTAINS_OP and IS_OP opcodes should be used instead. + Add proper pre and post stack effects to all opcodes (up to Python 3.11) PR #106 #107 + * Maintenance: + Make the install process PEP517 compliant PR #97 + Drop support for Python 3.6 and 3.7 PR #100 + ------------------------------------------------------------------- Thu Nov 18 11:47:11 UTC 2021 - John Paul Adrian Glaubitz diff --git a/python-bytecode.spec b/python-bytecode.spec index 54db0fb..eb638ae 100644 --- a/python-bytecode.spec +++ b/python-bytecode.spec @@ -1,7 +1,7 @@ # # spec file for package python-bytecode # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-bytecode -Version: 0.13.0 +Version: 0.14.0 Release: 0 Summary: Python module to generate and modify bytecode License: MIT @@ -27,6 +27,7 @@ Group: Development/Languages/Python URL: https://github.com/vstinner/bytecode Source: https://files.pythonhosted.org/packages/source/b/bytecode/bytecode-%{version}.tar.gz BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module typing_extensions} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-aenum >= 2.0