pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel py-xdis: added version 3.8.7



details:   https://anonhg.NetBSD.org/pkgsrc/rev/70373910365c
branches:  trunk
changeset: 385335:70373910365c
user:      adam <adam%pkgsrc.org@localhost>
date:      Thu Sep 20 13:45:11 2018 +0000

description:
py-xdis: added version 3.8.7

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.

diffstat:

 devel/Makefile             |    3 +-
 devel/py-xdis/ALTERNATIVES |    1 +
 devel/py-xdis/DESCR        |   22 ++++++
 devel/py-xdis/Makefile     |   23 ++++++
 devel/py-xdis/PLIST        |  151 +++++++++++++++++++++++++++++++++++++++++++++
 devel/py-xdis/distinfo     |    6 +
 6 files changed, 205 insertions(+), 1 deletions(-)

diffs (240 lines):

diff -r 339e377965a9 -r 70373910365c devel/Makefile
--- a/devel/Makefile    Thu Sep 20 13:44:47 2018 +0000
+++ b/devel/Makefile    Thu Sep 20 13:45:11 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2734 2018/09/13 14:56:43 fhajny Exp $
+# $NetBSD: Makefile,v 1.2735 2018/09/20 13:45:11 adam Exp $
 #
 
 COMMENT=       Development utilities
@@ -2330,6 +2330,7 @@
 SUBDIR+=       py-windbg
 SUBDIR+=       py-wrapt
 SUBDIR+=       py-xdg
+SUBDIR+=       py-xdis
 SUBDIR+=       py-xopen
 SUBDIR+=       py-zanata-python-client
 SUBDIR+=       py-zc.lockfile
diff -r 339e377965a9 -r 70373910365c devel/py-xdis/ALTERNATIVES
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/py-xdis/ALTERNATIVES        Thu Sep 20 13:45:11 2018 +0000
@@ -0,0 +1,1 @@
+bin/pydisasm @PREFIX@/bin/pydisasm-@PYVERSSUFFIX@
diff -r 339e377965a9 -r 70373910365c devel/py-xdis/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/py-xdis/DESCR       Thu Sep 20 13:45:11 2018 +0000
@@ -0,0 +1,22 @@
+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.
diff -r 339e377965a9 -r 70373910365c devel/py-xdis/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/py-xdis/Makefile    Thu Sep 20 13:45:11 2018 +0000
@@ -0,0 +1,23 @@
+# $NetBSD: Makefile,v 1.1 2018/09/20 13:45:11 adam Exp $
+
+DISTNAME=      xdis-3.8.7
+PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES=    devel python
+MASTER_SITES=  ${MASTER_SITE_PYPI:=x/xdis/}
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://github.com/rocky/python-xdis
+COMMENT=       Python cross-version byte-code disassembler and marshal routines
+LICENSE=       gnu-gpl-v2
+
+DEPENDS+=      ${PYPKGPREFIX}-click-[0-9]*:../../devel/py-click
+DEPENDS+=      ${PYPKGPREFIX}-six>=1.10.0:../../lang/py-six
+TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
+
+USE_LANGUAGES= # none
+
+post-install:
+       cd ${DESTDIR}${PREFIX}/bin && ${MV} pydisasm pydisasm-${PYVERSSUFFIX} || ${TRUE}
+
+.include "../../lang/python/egg.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r 339e377965a9 -r 70373910365c devel/py-xdis/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/py-xdis/PLIST       Thu Sep 20 13:45:11 2018 +0000
@@ -0,0 +1,151 @@
+@comment $NetBSD: PLIST,v 1.1 2018/09/20 13:45:11 adam Exp $
+bin/pydisasm-${PYVERSSUFFIX}
+${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
+${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
+${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/top_level.txt
+${PYSITELIB}/${EGG_INFODIR}/zip-safe
+${PYSITELIB}/xdis/__init__.py
+${PYSITELIB}/xdis/__init__.pyc
+${PYSITELIB}/xdis/__init__.pyo
+${PYSITELIB}/xdis/bytecode.py
+${PYSITELIB}/xdis/bytecode.pyc
+${PYSITELIB}/xdis/bytecode.pyo
+${PYSITELIB}/xdis/code.py
+${PYSITELIB}/xdis/code.pyc
+${PYSITELIB}/xdis/code.pyo
+${PYSITELIB}/xdis/dropbox/__init__.py
+${PYSITELIB}/xdis/dropbox/__init__.pyc
+${PYSITELIB}/xdis/dropbox/__init__.pyo
+${PYSITELIB}/xdis/dropbox/decrypt25.py
+${PYSITELIB}/xdis/dropbox/decrypt25.pyc
+${PYSITELIB}/xdis/dropbox/decrypt25.pyo
+${PYSITELIB}/xdis/load.py
+${PYSITELIB}/xdis/load.pyc
+${PYSITELIB}/xdis/load.pyo
+${PYSITELIB}/xdis/magics.py
+${PYSITELIB}/xdis/magics.pyc
+${PYSITELIB}/xdis/magics.pyo
+${PYSITELIB}/xdis/main.py
+${PYSITELIB}/xdis/main.pyc
+${PYSITELIB}/xdis/main.pyo
+${PYSITELIB}/xdis/marsh.py
+${PYSITELIB}/xdis/marsh.pyc
+${PYSITELIB}/xdis/marsh.pyo
+${PYSITELIB}/xdis/op_imports.py
+${PYSITELIB}/xdis/op_imports.pyc
+${PYSITELIB}/xdis/op_imports.pyo
+${PYSITELIB}/xdis/opcodes/__init__.py
+${PYSITELIB}/xdis/opcodes/__init__.pyc
+${PYSITELIB}/xdis/opcodes/__init__.pyo
+${PYSITELIB}/xdis/opcodes/base.py
+${PYSITELIB}/xdis/opcodes/base.pyc
+${PYSITELIB}/xdis/opcodes/base.pyo
+${PYSITELIB}/xdis/opcodes/check-stackeffect.py
+${PYSITELIB}/xdis/opcodes/check-stackeffect.pyc
+${PYSITELIB}/xdis/opcodes/check-stackeffect.pyo
+${PYSITELIB}/xdis/opcodes/opcode_13.py
+${PYSITELIB}/xdis/opcodes/opcode_13.pyc
+${PYSITELIB}/xdis/opcodes/opcode_13.pyo
+${PYSITELIB}/xdis/opcodes/opcode_14.py
+${PYSITELIB}/xdis/opcodes/opcode_14.pyc
+${PYSITELIB}/xdis/opcodes/opcode_14.pyo
+${PYSITELIB}/xdis/opcodes/opcode_15.py
+${PYSITELIB}/xdis/opcodes/opcode_15.pyc
+${PYSITELIB}/xdis/opcodes/opcode_15.pyo
+${PYSITELIB}/xdis/opcodes/opcode_20.py
+${PYSITELIB}/xdis/opcodes/opcode_20.pyc
+${PYSITELIB}/xdis/opcodes/opcode_20.pyo
+${PYSITELIB}/xdis/opcodes/opcode_21.py
+${PYSITELIB}/xdis/opcodes/opcode_21.pyc
+${PYSITELIB}/xdis/opcodes/opcode_21.pyo
+${PYSITELIB}/xdis/opcodes/opcode_22.py
+${PYSITELIB}/xdis/opcodes/opcode_22.pyc
+${PYSITELIB}/xdis/opcodes/opcode_22.pyo
+${PYSITELIB}/xdis/opcodes/opcode_23.py
+${PYSITELIB}/xdis/opcodes/opcode_23.pyc
+${PYSITELIB}/xdis/opcodes/opcode_23.pyo
+${PYSITELIB}/xdis/opcodes/opcode_24.py
+${PYSITELIB}/xdis/opcodes/opcode_24.pyc
+${PYSITELIB}/xdis/opcodes/opcode_24.pyo
+${PYSITELIB}/xdis/opcodes/opcode_25.py
+${PYSITELIB}/xdis/opcodes/opcode_25.pyc
+${PYSITELIB}/xdis/opcodes/opcode_25.pyo
+${PYSITELIB}/xdis/opcodes/opcode_26.py
+${PYSITELIB}/xdis/opcodes/opcode_26.pyc
+${PYSITELIB}/xdis/opcodes/opcode_26.pyo
+${PYSITELIB}/xdis/opcodes/opcode_26pypy.py
+${PYSITELIB}/xdis/opcodes/opcode_26pypy.pyc
+${PYSITELIB}/xdis/opcodes/opcode_26pypy.pyo
+${PYSITELIB}/xdis/opcodes/opcode_27.py
+${PYSITELIB}/xdis/opcodes/opcode_27.pyc
+${PYSITELIB}/xdis/opcodes/opcode_27.pyo
+${PYSITELIB}/xdis/opcodes/opcode_27pypy.py
+${PYSITELIB}/xdis/opcodes/opcode_27pypy.pyc
+${PYSITELIB}/xdis/opcodes/opcode_27pypy.pyo
+${PYSITELIB}/xdis/opcodes/opcode_2x.py
+${PYSITELIB}/xdis/opcodes/opcode_2x.pyc
+${PYSITELIB}/xdis/opcodes/opcode_2x.pyo
+${PYSITELIB}/xdis/opcodes/opcode_30.py
+${PYSITELIB}/xdis/opcodes/opcode_30.pyc
+${PYSITELIB}/xdis/opcodes/opcode_30.pyo
+${PYSITELIB}/xdis/opcodes/opcode_31.py
+${PYSITELIB}/xdis/opcodes/opcode_31.pyc
+${PYSITELIB}/xdis/opcodes/opcode_31.pyo
+${PYSITELIB}/xdis/opcodes/opcode_32.py
+${PYSITELIB}/xdis/opcodes/opcode_32.pyc
+${PYSITELIB}/xdis/opcodes/opcode_32.pyo
+${PYSITELIB}/xdis/opcodes/opcode_32pypy.py
+${PYSITELIB}/xdis/opcodes/opcode_32pypy.pyc
+${PYSITELIB}/xdis/opcodes/opcode_32pypy.pyo
+${PYSITELIB}/xdis/opcodes/opcode_33.py
+${PYSITELIB}/xdis/opcodes/opcode_33.pyc
+${PYSITELIB}/xdis/opcodes/opcode_33.pyo
+${PYSITELIB}/xdis/opcodes/opcode_34.py
+${PYSITELIB}/xdis/opcodes/opcode_34.pyc
+${PYSITELIB}/xdis/opcodes/opcode_34.pyo
+${PYSITELIB}/xdis/opcodes/opcode_35.py
+${PYSITELIB}/xdis/opcodes/opcode_35.pyc
+${PYSITELIB}/xdis/opcodes/opcode_35.pyo
+${PYSITELIB}/xdis/opcodes/opcode_35pypy.py
+${PYSITELIB}/xdis/opcodes/opcode_35pypy.pyc
+${PYSITELIB}/xdis/opcodes/opcode_35pypy.pyo
+${PYSITELIB}/xdis/opcodes/opcode_36.py
+${PYSITELIB}/xdis/opcodes/opcode_36.pyc
+${PYSITELIB}/xdis/opcodes/opcode_36.pyo
+${PYSITELIB}/xdis/opcodes/opcode_37.py
+${PYSITELIB}/xdis/opcodes/opcode_37.pyc
+${PYSITELIB}/xdis/opcodes/opcode_37.pyo
+${PYSITELIB}/xdis/opcodes/opcode_3x.py
+${PYSITELIB}/xdis/opcodes/opcode_3x.pyc
+${PYSITELIB}/xdis/opcodes/opcode_3x.pyo
+${PYSITELIB}/xdis/opcodes/opcode_pypy26.py
+${PYSITELIB}/xdis/opcodes/opcode_pypy26.pyc
+${PYSITELIB}/xdis/opcodes/opcode_pypy26.pyo
+${PYSITELIB}/xdis/opcodes/opcode_pypy27.py
+${PYSITELIB}/xdis/opcodes/opcode_pypy27.pyc
+${PYSITELIB}/xdis/opcodes/opcode_pypy27.pyo
+${PYSITELIB}/xdis/opcodes/opcode_pypy32.py
+${PYSITELIB}/xdis/opcodes/opcode_pypy32.pyc
+${PYSITELIB}/xdis/opcodes/opcode_pypy32.pyo
+${PYSITELIB}/xdis/opcodes/opcode_pypy35.py
+${PYSITELIB}/xdis/opcodes/opcode_pypy35.pyc
+${PYSITELIB}/xdis/opcodes/opcode_pypy35.pyo
+${PYSITELIB}/xdis/std.py
+${PYSITELIB}/xdis/std.pyc
+${PYSITELIB}/xdis/std.pyo
+${PYSITELIB}/xdis/unmarshal.py
+${PYSITELIB}/xdis/unmarshal.pyc
+${PYSITELIB}/xdis/unmarshal.pyo
+${PYSITELIB}/xdis/util.py
+${PYSITELIB}/xdis/util.pyc
+${PYSITELIB}/xdis/util.pyo
+${PYSITELIB}/xdis/verify.py
+${PYSITELIB}/xdis/verify.pyc
+${PYSITELIB}/xdis/verify.pyo
+${PYSITELIB}/xdis/version.py
+${PYSITELIB}/xdis/version.pyc
+${PYSITELIB}/xdis/version.pyo
+${PYSITELIB}/xdis/wordcode.py
+${PYSITELIB}/xdis/wordcode.pyc
+${PYSITELIB}/xdis/wordcode.pyo
diff -r 339e377965a9 -r 70373910365c devel/py-xdis/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/py-xdis/distinfo    Thu Sep 20 13:45:11 2018 +0000
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2018/09/20 13:45:11 adam Exp $
+
+SHA1 (xdis-3.8.7.tar.gz) = 607b3ac7eba2a4bafb700315a7621e0c04967a6d
+RMD160 (xdis-3.8.7.tar.gz) = 7bc8e9ca86f389e0a3351317f2bbd0e6e5d4f679
+SHA512 (xdis-3.8.7.tar.gz) = f91f4d4f9435d9798ab6c9c89b8f3b90d121a70679661a03c191e553eef1291c629322e3c471fa3553fac57ef1f0eb668a7b3d4e1171823abcd03a1163da2365
+Size (xdis-3.8.7.tar.gz) = 180731 bytes



Home | Main Index | Thread Index | Old Index