Date: Fri, 16 Sep 2016 18:48:04 +0000 (UTC) From: Jung-uk Kim <jkim@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r422262 - in head/emulators/virtualbox-ose: . files Message-ID: <201609161848.u8GIm4us057238@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jkim Date: Fri Sep 16 18:48:04 2016 New Revision: 422262 URL: https://svnweb.freebsd.org/changeset/ports/422262 Log: Add support for Python 3.x. PR: 212691 Added: head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_python_src_PyIID.cpp (contents, props changed) head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_python_src_PyXPCOM.h (contents, props changed) head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_python_src_TypeObject.cpp (contents, props changed) Modified: head/emulators/virtualbox-ose/Makefile head/emulators/virtualbox-ose/pkg-plist Modified: head/emulators/virtualbox-ose/Makefile ============================================================================== --- head/emulators/virtualbox-ose/Makefile Fri Sep 16 18:23:05 2016 (r422261) +++ head/emulators/virtualbox-ose/Makefile Fri Sep 16 18:48:04 2016 (r422262) @@ -121,7 +121,7 @@ ENV= PLIST_SUB+= GUEST_VER=${PORTVERSION} \ PYTHON_VER=${PYTHON_VER} \ - PYTHON_VERU=${PYTHON_VER:S/./_/} \ + PYTHON_VERU=${PYTHON_VER:S/./_/}${PYTHON_ABIVER} \ VBOXGROUP=${VBOXGROUP} SUB_LIST+= VBOXDIR=${VBOX_DIR} \ VBOXGROUP=${VBOXGROUP} \ @@ -163,7 +163,7 @@ USE_TEX= dvipsk:build formats:build .endif .if ${PORT_OPTIONS:MPYTHON} -USES+= python:2 +USES+= python USE_PYTHON= distutils noegginfo PYDISTUTILS_PKGNAME= vboxapi PYDISTUTILS_PKGVERSION= 1.0 @@ -236,6 +236,14 @@ EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-C ${PATCHDIR}/extrapatch-src-recompiler-Makefile.kmk .endif +.if ${PYTHON_MAJOR_VER} >= 3 +PLIST_SUB+= PYTHON_PYCDIR=/__pycache__/ \ + PYTHON_PYCEXT=.cpython-${PYTHON_SUFFIX}.pyc +.else +PLIST_SUB+= PYTHON_PYCDIR=/ \ + PYTHON_PYCEXT=.pyc +.endif + .if ${SSL_DEFAULT} != base CONFIGURE_ARGS+= --with-openssl-dir="${OPENSSLBASE}" .endif @@ -320,6 +328,7 @@ post-patch: ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py @${REINPLACE_CMD} \ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ + -e 's|SUPPYTHONLIBS=.*|SUPPYTHONLIBS="${PYTHON_VERSION}${PYTHON_ABIVER}"|' \ ${WRKSRC}/configure .if empty(ICONV_LIB) @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \ @@ -329,6 +338,9 @@ post-patch: @${REINPLACE_CMD} -e 's|/usr/local/lib/virtualbox|${VBOX_DIR}|' \ -e 's|/usr/local|${PREFIX}|' \ ${WRKSRC}/src/VBox/Installer/freebsd/VBox.sh + @${REINPLACE_CMD} \ + -e 's|^versions =.*|versions = ["${PYTHON_VER}${PYTHON_ABIVER}"]|' \ + ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py do-build: cd ${WRKSRC} && ${SH} -c '. ${WRKSRC}/env.sh && \ Added: head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_python_src_PyIID.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_python_src_PyIID.cpp Fri Sep 16 18:48:04 2016 (r422262) @@ -0,0 +1,23 @@ +--- src/libs/xpcom18a4/python/src/PyIID.cpp.orig 2016-09-12 16:20:10 UTC ++++ src/libs/xpcom18a4/python/src/PyIID.cpp +@@ -318,12 +318,20 @@ Py_nsIID::PyTypeMethod_str(PyObject *sel + return ret; + } + ++#if PY_VERSION_HEX < 0x03020000 + /* static */long ++#else ++/* static */Py_hash_t ++#endif + Py_nsIID::PyTypeMethod_hash(PyObject *self) + { + const nsIID &iid = ((Py_nsIID *)self)->m_iid; + ++#if PY_VERSION_HEX < 0x03020000 + long ret = iid.m0 + iid.m1 + iid.m2; ++#else ++ Py_hash_t ret = iid.m0 + iid.m1 + iid.m2; ++#endif + for (int i=0;i<7;i++) + ret += iid.m3[i]; + if ( ret == -1 ) Added: head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_python_src_PyXPCOM.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_python_src_PyXPCOM.h Fri Sep 16 18:48:04 2016 (r422262) @@ -0,0 +1,26 @@ +--- src/libs/xpcom18a4/python/src/PyXPCOM.h.orig 2016-09-12 16:20:10 UTC ++++ src/libs/xpcom18a4/python/src/PyXPCOM.h +@@ -286,7 +286,11 @@ public: + static int Py_setattr(PyObject *op, char *name, PyObject *v); + static int Py_cmp(PyObject *ob1, PyObject *ob2); + static PyObject *Py_richcmp(PyObject *ob1, PyObject *ob2, int op); ++#if PY_VERSION_HEX < 0x03020000 + static long Py_hash(PyObject *self); ++#else ++ static Py_hash_t Py_hash(PyObject *self); ++#endif + }; + + ////////////////////////////////////////////////////////////////////////// +@@ -442,7 +446,11 @@ public: + #endif + static PyObject *PyTypeMethod_richcompare(PyObject *self, PyObject *ob, int op); + static PyObject *PyTypeMethod_repr(PyObject *self); ++#if PY_VERSION_HEX < 0x03020000 + static long PyTypeMethod_hash(PyObject *self); ++#else ++ static Py_hash_t PyTypeMethod_hash(PyObject *self); ++#endif + static PyObject *PyTypeMethod_str(PyObject *self); + static void PyTypeMethod_dealloc(PyObject *self); + static NS_EXPORT_STATIC_MEMBER_(PyTypeObject) type; Added: head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_python_src_TypeObject.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_python_src_TypeObject.cpp Fri Sep 16 18:48:04 2016 (r422262) @@ -0,0 +1,24 @@ +--- src/libs/xpcom18a4/python/src/TypeObject.cpp.orig 2016-09-12 16:20:11 UTC ++++ src/libs/xpcom18a4/python/src/TypeObject.cpp +@@ -155,13 +155,21 @@ PyXPCOM_TypeObject::Py_richcmp(PyObject + } + + // @pymethod int|Py_nsISupports|__hash__|Implement a hash-code for the XPCOM object using XPCOM identity rules. ++#if PY_VERSION_HEX < 0x03020000 + /*static*/long PyXPCOM_TypeObject::Py_hash(PyObject *self) ++#else ++/*static*/Py_hash_t PyXPCOM_TypeObject::Py_hash(PyObject *self) ++#endif + { + // We always return the value of the nsISupports *. + nsISupports *pUnkThis; + if (!Py_nsISupports::InterfaceFromPyObject(self, NS_GET_IID(nsISupports), &pUnkThis, PR_FALSE)) + return -1; ++#if PY_VERSION_HEX < 0x03020000 + long ret = _Py_HashPointer(pUnkThis); ++#else ++ Py_hash_t ret = _Py_HashPointer(pUnkThis); ++#endif + pUnkThis->Release(); + return ret; + } Modified: head/emulators/virtualbox-ose/pkg-plist ============================================================================== --- head/emulators/virtualbox-ose/pkg-plist Fri Sep 16 18:23:05 2016 (r422261) +++ head/emulators/virtualbox-ose/pkg-plist Fri Sep 16 18:48:04 2016 (r422262) @@ -335,39 +335,39 @@ include/virtualbox/xpcom/xptcstubsdef.in include/virtualbox/xpcom/xptinfo.h %%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1.0-py%%PYTHON_VER%%.egg-info %%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/%%PYTHON_PYCDIR%%VirtualBox_constants%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/__init__.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/__init__.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/__init__.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/__init__.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/components.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/components.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/%%PYTHON_PYCDIR%%components%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/file.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/file.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/%%PYTHON_PYCDIR%%file%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/nsError.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/nsError.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%nsError%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/primitives.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/primitives.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%primitives%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%vboxxpcom%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%xpcom_consts%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpt.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpt.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%xpt%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%enumerator%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/factory.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/factory.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%factory%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/loader.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/loader.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%loader%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/module.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/module.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%module%%PYTHON_PYCEXT%% %%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/policy.py -%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/policy.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%policy%%PYTHON_PYCEXT%% %%QT%%lib/virtualbox/DbgPlugInDiggers.so lib/virtualbox/VBox.sh lib/virtualbox/VBoxAuth.so
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609161848.u8GIm4us057238>