./devel/py-xdis, Python cross-version byte-code disassembler and marshal routines

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 6.1.2, Package name: py312-xdis-6.1.2, Maintainer: pkgsrc-users

The Python dis module allows you to disassemble bytecode from the same version
of Python that you are running on. But what about bytecode from different
versions?

That's what this package is for. It can "marshal load" Python bytecodes from
different versions of Python. The command-line routine pydisasm will show
disassembly output using Python 3.6 disassembly conventions.

Also, if you need to modfiy and write bytecode, the routines here can be of
help. There are routines to pack and unpack the read-only tuples in Python's
Code type. For interoperability between Python 2 and 3 we provide our own
versions of the Code type, and we provide routines to reduce the tedium in
writing a bytecode file.

This package also has an extensive knowledge of Python bytecode magic numbers,
including Pypy and others, and how to translate from sys.sys_info major, minor,
and release numbers to the corresponding magic value.

So If you want to write a cross-version assembler, or a bytecode-level
optimizer this package may also be useful. In addition to the kinds of
instruction categorization that dis offers, we have additional categories for
things that would be useful in such a bytecode optimizer.


Required to run:
[devel/py-setuptools] [lang/py-six] [devel/py-click] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 424.331 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-12 11:53:53 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-xdis: updated to 6.1.2

6.1.2 2024-11-08

* Support for Python 3.12 and 3.12 added courtesy of Elliot Tarbet 2elli
* Fixes issues
* Include Python 3.12.5
* Raise exception on invalid timestamp
   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-07-22 07:19:22 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-xdis: updated to 6.1.1

6.1.1 2024-07-21

* Greatly improve extended-format output. (More could be done though)
* Update Python versions recognize, e.g. 3.12.4
* Add nullaryloadop for nullary load opcodes
* More code linting and type annotation
   2024-03-23 07:49:52 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-xdis: updated to 6.1.0

6.1.0 2024-03-15
=================

Lots of changes major changes. API has changed.

We now support many disassembly options:
  * classic:  disasm-like output
  * bytes: disasm-like output with bytecode
  * extended: simple interpretation of previous sequence of instructions
  * extended-bytes: same as above, but with "bytes" bytecode ouptut
  * header: show header/metadata information only

This is reflected in the `--format` (`-F`) options on `pydisasm`.
Option `--show-source` (`-S`) gives add the source text line (or part of it) \ 
before assembly instructions that implement the line.

Released Python magic numbers have been updated as of this release (up to Python \ 
3.12.2, including PyPy magic numbers.

Some support for the [GraalVM](https://www.graalvm.org/python/)
implementation of Python started.

Many bugs fixed.

A lot of Linting and coding style modernization.

typing.NameTuple used for Python versions that support this.
Additional fields "start_offset" and "tos_str" added to \ 
instruction.

Elliot Tarbet (2elli) largely provided support for Python 3.11 and 3.12 bytecode
   2023-01-16 10:26:23 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-xdis: updated to 6.0.5

6.0.5 2022-12-22
=================
* Detect versions pypy3.8.15, pypy-3.9.15
* Dectect Python 3.{7,8,9}.14 3.10.{5,6,7}
* correct 3.10+ pydisasm -F xasm label
* Revise marshal error handling
* Improve PyPy 3.7 `CALL_FUNCTION` arg interpretation
* Fix 1.5-2.x bugs in line number encoding
* Fix showing `MAKE_FUNCTION` operand
* Miscellaneous lint, black, and isort changes
   2022-05-22 21:05:00 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-xdis: updated to 6.0.4

6.0.4 2022-05-19 HF+LB-1
========================
* Detect 3.7.[7-13], 3.9.[8-13], 3.10.[1-4], PyPy 2.7.12, 3.[8-9]pypy
* Correct line-number detection on Python 1.0-1.4
* Handle SET_LINENO in older pythons
* Warn about wrong names in after RESERVE_FAST in older Pythons
* Some PyPy x-3.9.7 tolerance
* Add Pypy 3.8 support
* Better PyPy 3.6 formatting
* Correct relative jump target calculation in 3.10
   2022-01-05 16:41:32 by Thomas Klausner | Files touched by this commit (289)
Log message:
python: egg.mk: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS