py-unicorn: enable Python 3 flavor

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

py-unicorn: enable Python 3 flavor

Klemens Nanni-2
The reason unicorn is Python 2 only is QEMU's configure script depending
on Python >=2.4,<3.

But that's it;  you can still build the rest with latest Python and use
it as some software does I'm currently trying to get running.

Thoughts?

Index: devel/Makefile
===================================================================
RCS file: /cvs/ports/devel/Makefile,v
retrieving revision 1.1860
diff -u -p -r1.1860 Makefile
--- devel/Makefile 23 May 2019 17:50:11 -0000 1.1860
+++ devel/Makefile 1 Jun 2019 11:26:25 -0000
@@ -1664,6 +1664,7 @@
      SUBDIR += py-uncompyle6
      SUBDIR += py-uncompyle6,python3
      SUBDIR += py-unicorn
+     SUBDIR += py-unicorn,python3
      SUBDIR += py-unit
      SUBDIR += py-unit,no_x11
      SUBDIR += py-unittest2
Index: devel/py-unicorn//Makefile
===================================================================
RCS file: /cvs/ports/devel/py-unicorn/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- devel/py-unicorn//Makefile 2 Apr 2019 13:09:12 -0000 1.3
+++ devel/py-unicorn//Makefile 1 Jun 2019 11:30:14 -0000
@@ -23,9 +23,11 @@ MODULES = lang/python
 MODPY_PI = Yes
 MODPY_SETUPTOOLS = Yes
 
-# XXX: ERROR: Cannot use '/usr/local/bin/python3.6', Python 2.4 or later is required.
-#FLAVORS = python3
-#FLAVOR ?=
+FLAVORS = python3
+FLAVOR ?=
+
+# see patches/patch-src_Makefile
+BUILD_DEPENDS = lang/python/${MODPY_DEFAULT_VERSION_2}
 
 USE_GMAKE = Yes
 
Index: devel/py-unicorn//patches/patch-src_Makefile
===================================================================
RCS file: /cvs/ports/devel/py-unicorn/patches/patch-src_Makefile,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-src_Makefile
--- devel/py-unicorn//patches/patch-src_Makefile 1 Apr 2019 02:24:07 -0000 1.1.1.1
+++ devel/py-unicorn//patches/patch-src_Makefile 30 May 2019 21:50:56 -0000
@@ -1,5 +1,7 @@
 $OpenBSD: patch-src_Makefile,v 1.1.1.1 2019/04/01 02:24:07 jasper Exp $
 
+ERROR: Cannot use '/usr/local/bin/python3.6', Python 2.4 or later is required.
+
 Index: src/Makefile
 --- src/Makefile.orig
 +++ src/Makefile
@@ -8,7 +10,7 @@ Index: src/Makefile
  qemu/config-host.h-timestamp:
  cd qemu && \
 - ./configure --cc="${CC}" --extra-cflags="$(UNICORN_CFLAGS)" --target-list="$(UNICORN_TARGETS)" ${UNICORN_QEMU_FLAGS}
-+ ./configure --cc="${CC}" --extra-cflags="$(UNICORN_CFLAGS)" --target-list="$(UNICORN_TARGETS)" ${UNICORN_QEMU_FLAGS} --python=${MODPY_BIN}
++ ./configure --cc="${CC}" --extra-cflags="$(UNICORN_CFLAGS)" --target-list="$(UNICORN_TARGETS)" ${UNICORN_QEMU_FLAGS} --python=${LOCALBASE}/bin/python2
  printf "$(UNICORN_ARCHS)" > config.log
  $(MAKE) -C qemu $(SMP_MFLAGS)
  $(eval UC_TARGET_OBJ += $$(wildcard qemu/util/*.o) $$(wildcard qemu/*.o) $$(wildcard qemu/qom/*.o) $$(wildcard qemu/hw/core/*.o) $$(wildcard qemu/qapi/*.o) $$(wildcard qemu/qobject/*.o))
Index: devel/py-unicorn//pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/py-unicorn/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -r1.2 PLIST
--- devel/py-unicorn//pkg/PLIST 2 Apr 2019 13:09:12 -0000 1.2
+++ devel/py-unicorn//pkg/PLIST 30 May 2019 21:55:52 -0000
@@ -7,11 +7,18 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/unicorn-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt
 lib/python${MODPY_VERSION}/site-packages/unicorn-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/zip-safe
 lib/python${MODPY_VERSION}/site-packages/unicorn/__init__.py
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}/
 lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/unicorn/arm64_const.py
 lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}arm64_const.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/unicorn/arm_const.py
 lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}arm_const.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}m68k_const.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}mips_const.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}sparc_const.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}unicorn.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}unicorn_const.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}x86_const.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/unicorn/arm64_const.py
+lib/python${MODPY_VERSION}/site-packages/unicorn/arm_const.py
 lib/python${MODPY_VERSION}/site-packages/unicorn/include/
 lib/python${MODPY_VERSION}/site-packages/unicorn/include/unicorn/
 lib/python${MODPY_VERSION}/site-packages/unicorn/include/unicorn/arm.h
@@ -25,14 +32,8 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/unicorn/lib/libunicorn.a
 lib/python${MODPY_VERSION}/site-packages/unicorn/lib/libunicorn.so
 lib/python${MODPY_VERSION}/site-packages/unicorn/m68k_const.py
-lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}m68k_const.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/unicorn/mips_const.py
-lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}mips_const.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/unicorn/sparc_const.py
-lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}sparc_const.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/unicorn/unicorn.py
-lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}unicorn.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/unicorn/unicorn_const.py
-lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}unicorn_const.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/unicorn/x86_const.py
-lib/python${MODPY_VERSION}/site-packages/unicorn/${MODPY_PYCACHE}x86_const.${MODPY_PYC_MAGIC_TAG}pyc

Reply | Threaded
Open this post in threaded view
|

Re: py-unicorn: enable Python 3 flavor

Brad Smith-14
On 6/1/2019 7:38 AM, Klemens Nanni wrote:

> The reason unicorn is Python 2 only is QEMU's configure script depending
> on Python >=2.4,<3.

QEMU's configure script depends on >=2.7 and has supported 3 for awhile.
2 support
has been deprecated for awhile and will be dropped in 4.1 from the looks
of it.

Reply | Threaded
Open this post in threaded view
|

Re: py-unicorn: enable Python 3 flavor

Klemens Nanni-2
On Sat, Jun 01, 2019 at 06:38:13PM -0400, Brad Smith wrote:
> QEMU's configure script depends on >=2.7 and has supported 3 for awhile. 2
> support
> has been deprecated for awhile and will be dropped in 4.1 from the looks of
> it.
That is upstream, but yeah.  py-unicorn ships parts of QEMU and hasn't
seen new releases for a while so we're talking old QEMU here.

Reply | Threaded
Open this post in threaded view
|

Re: py-unicorn: enable Python 3 flavor

Brad Smith-14
On 6/1/2019 7:12 PM, Klemens Nanni wrote:

> On Sat, Jun 01, 2019 at 06:38:13PM -0400, Brad Smith wrote:
>> QEMU's configure script depends on >=2.7 and has supported 3 for awhile. 2
>> support
>> has been deprecated for awhile and will be dropped in 4.1 from the looks of
>> it.
> That is upstream, but yeah.  py-unicorn ships parts of QEMU and hasn't
> seen new releases for a while so we're talking old QEMU here.
Ohh. When I first saw what you said I thought there wasn't something
right about
what you said. Now I know why.