devel/py-xdis 6.3.0 FreeBSD
Cross-Python bytecode Disassembler and Marshal routines
- System
- FreeBSD
- Repository
- FreeBSD ports
- Maintainer
- [email protected]
- Last update
- Commit
4f2951235e- License
- GPLv2+
- Categories
- devel, python
- Package size
- 352.7 KiB, 2301.5 KiB installed
Description
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_info major, minor, and release numbers to the corresponding magic value.
So If you want to write a cross-version assembler, or an 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.
In the other systems
| System | Port | Version |
|---|---|---|
| FreeBSD | devel/py-xdis | 6.3.0 |
| OpenBSD | devel/py-xdis | 6.3.0p0 |
| NetBSD | devel/py-xdis | 6.3.0 |
| DragonFly | devel/py-xdis | 6.1.3 |
| HardenedBSD | devel/py-xdis | 6.3.0 |
| GhostBSD | devel/py-xdis | 6.1.8 |
Install
Binary package:
pkg install py312-xdis
From the ports tree:
cd /usr/ports/devel/py-xdis/ && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= py312-xdis>0:devel/py-xdis
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 6.3.0 | 6.3.0 | 6.0.4 | 6.1.5 | 6.3.0 |
| FreeBSD:14:quarterly | 6.3.0 | 6.3.0 | n/a | 6.1.4 | 6.3.0 |
| FreeBSD:15:latest | 6.3.0 | 6.3.0 | n/a | 6.1.5 | 6.1.5 |
| FreeBSD:15:quarterly | 6.3.0 | 6.3.0 | n/a | n/a | n/a |
| FreeBSD:16:latest | 6.3.0 | 6.3.0 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
As this port's Makefile names them.
Build 2
${PYTHON_PKGNAMEPREFIX}setuptools>=0: devel/py-setuptools${PYTHON_PKGNAMEPREFIX}wheel>=0: devel/py-wheel
Runtime 2
${PYTHON_PKGNAMEPREFIX}click>=7.0.0: devel/py-click${PYTHON_PKGNAMEPREFIX}six>=1.10.0: devel/py-six
Test 1
${PYTHON_PKGNAMEPREFIX}pytest>=0: devel/py-pytest
The full lists below include those, and their dependencies in turn.
Build dependencies 16
Run dependencies 9
Required by 2
Configuration
No options to configure.
- USES
- python
- Service scripts
- none
Files
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| xdis-6.3.0.tar.gz | 795994 | e78e3e7a0e2d31ac64c084afc782a0a233da06ac05002c42a0e17000ac51dcaa |
Master sites 2
- PYPI
- https://github.com/rocky/python-xdis/releases/download/6.3.0/