lang/pypy(3): update to 5.10, add flavors to ancillary ports
- Consistently use DISTVERSION instead of PORTVERSION (the former is set, not the latter) - Only depend on libunwind on x86 arch with FreeBSD >= 11 (fixes ignored build on arm/ppc) - Fix python dependency with depreciation of python meta ports - Remove PYPY_BITS from pkg-plist target, no longer used - Remove setting of PORTVERSION, DISTVERSION is set in bsd.pypy.mk - bsd.pypy.mk: - Define DISTVERSION once, to ensure consistency - PYPY_DIR: Handle versions with multiple digits - PYPY_CFFI_VER now differs in value between pypy and pypy3 - bsd.pypy.cffi.mk: - Add FLAVORS for pypy and pypy3 [1] - Consistently use PYTHON_IMPL instead of the hard coded "pypy" - PLIST_FILES: use direct substitution instead of PLIST_SUB Approved by: portmgr (mat) [1] Differential Revision: https://reviews.freebsd.org/D13675
This commit is contained in:
parent
3bad94c07b
commit
52777f3f56
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=457998
@ -2,7 +2,6 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= gdbm
|
||||
PORTVERSION= ${PYTHON_PORTVERSION}
|
||||
CATEGORIES= databases python
|
||||
|
||||
MAINTAINER= python@FreeBSD.org
|
||||
|
@ -2,7 +2,6 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= sqlite3
|
||||
PORTVERSION= ${PYTHON_PORTVERSION}
|
||||
CATEGORIES= databases python
|
||||
|
||||
MAINTAINER= python@FreeBSD.org
|
||||
|
@ -2,10 +2,9 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME?= pypy
|
||||
DISTVERSION?= 5.9.0 # Also update bsd.pypy.cffi.mk
|
||||
CATEGORIES= lang python
|
||||
MASTER_SITES= https://bitbucket.org/pypy/pypy/downloads/ http://buildbot.pypy.org/mirror/
|
||||
DISTNAME?= ${PORTNAME}2-v${PORTVERSION}-src
|
||||
DISTNAME?= ${PORTNAME}2-v${DISTVERSION}-src
|
||||
|
||||
MAINTAINER= python@FreeBSD.org
|
||||
COMMENT= Fast, compliant implementation of the Python language
|
||||
@ -15,8 +14,7 @@ LICENSE_COMB= multi
|
||||
LICENSE_FILE_MIT= ${WRKSRC}/LICENSE
|
||||
|
||||
LIB_DEPENDS= libexpat.so:textproc/expat2 \
|
||||
libffi.so:devel/libffi \
|
||||
libunwind.so:devel/libunwind
|
||||
libffi.so:devel/libffi
|
||||
TEST_DEPENDS= ${LOCALBASE}/${PYPY_DIR}/lib_pypy/_gdbm_cffi.${PYPY_CFFI_VER}.so:databases/pypy-gdbm \
|
||||
${LOCALBASE}/${PYPY_DIR}/lib_pypy/_sqlite3_cffi.${PYPY_CFFI_VER}.so:databases/pypy-sqlite3 \
|
||||
${LOCALBASE}/${PYPY_DIR}/lib_pypy/_tkinter/tklib_cffi.${PYPY_CFFI_VER}.so:x11-toolkits/pypy-tkinter
|
||||
@ -47,7 +45,7 @@ OPTIONS_SLAVE= PYTHON
|
||||
.endif
|
||||
|
||||
ALL_TARGET= ${PORTNAME}-c
|
||||
BUILD_WRKSRC?= ${WRKDIR}/build/usession-release-pypy2.7-v${PORTVERSION}-0/testing_1
|
||||
BUILD_WRKSRC?= ${WRKDIR}/build/usession-release-pypy2.7-v${DISTVERSION}-0/testing_1
|
||||
MAKE_ENV+= PYPY_LOCALBASE=${LOCALBASE} LDSHARED="${CC} -shared"
|
||||
PACKAGE_ARGS?= --without-gdbm --without-sqlite3 --without-tk
|
||||
USE_LDCONFIG= ${PREFIX}/${PYPY_DIR}/bin
|
||||
@ -95,7 +93,7 @@ PYPY_MINMEM_BUILD_DEPENDS= pypy:lang/pypy
|
||||
PYPY_VARS= PYTHON_CMD=${LOCALBASE}/bin/pypy
|
||||
PYPY_MINMEM_VARS= PYTHON_CMD="${SETENV} PYPY_GC_MAX_DELTA=200MB ${LOCALBASE}/bin/pypy --jit loop_longevity=300"
|
||||
PYTHON_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycparser>=2.10:devel/py-pycparser@${PY_FLAVOR}
|
||||
PYTHON_USES= python:2,build
|
||||
PYTHON_USES= python:2.7,build
|
||||
|
||||
DESCR= ${.CURDIR}/pkg-descr
|
||||
DISTINFO_FILE= ${.CURDIR}/distinfo
|
||||
@ -106,8 +104,10 @@ PLIST= ${.CURDIR}/pkg-plist
|
||||
.include "${MASTERDIR}/bsd.pypy.mk"
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100000
|
||||
.if ${OPSYS} == FreeBSD && (${OSVERSION} < 1100000 || (${ARCH} != i386 && ${ARCH} != amd64))
|
||||
PYPY_ARGS= --withoutmod-_vmprof
|
||||
.else
|
||||
LIB_DEPENDS+= libunwind.so:devel/libunwind
|
||||
.endif
|
||||
|
||||
post-extract:
|
||||
@ -154,7 +154,6 @@ do-test:
|
||||
pkg-plist: stage
|
||||
${TAR} -tf ${WRKDIR}/build/${PYPY_DIR}.tar.bz2 > ${WRKDIR}/.plist-files-gen
|
||||
${REINPLACE_CMD} -e 's|^${PYPY_DIR}|%%PYPY_DIR%%|g' \
|
||||
-e 's|_${PYPY_BITS}_|_%%PYPY_BITS%%_|g' \
|
||||
-e 's|${PYPY_CFFI_VER}|%%PYPY_CFFI_VER%%|g' \
|
||||
-e 's/\(.*\/__pycache__\)\/$$/@dir \1/g' \
|
||||
-e '/\/$$/d' \
|
||||
|
@ -3,16 +3,19 @@
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
DISTFILES=
|
||||
|
||||
BUILD_DEPENDS+= pypy:lang/pypy
|
||||
RUN_DEPENDS+= pypy:lang/pypy
|
||||
BUILD_DEPENDS+= ${PYTHON_IMPL}:lang/${PYTHON_IMPL}
|
||||
RUN_DEPENDS+= ${PYTHON_IMPL}:lang/${PYTHON_IMPL}
|
||||
|
||||
PLIST_FILES= %%PYPY_DIR%%/lib_pypy/${CFFI_MODULE}_cffi.%%PYPY_CFFI_VER%%.so
|
||||
PLIST_FILES= ${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so
|
||||
|
||||
CFFI_MODULE?= _${PORTNAME}
|
||||
|
||||
PYTHON_IMPL= pypy
|
||||
PYTHON_PORTVERSION?= 5.9.0
|
||||
PYTHON_PKGNAMEPREFIX= pypy-
|
||||
FLAVORS= pypy pypy3
|
||||
FLAVOR?= ${FLAVORS:[1]}
|
||||
|
||||
PYTHON_IMPL= ${FLAVOR}
|
||||
PYTHON_PORTVERSION= ${DISTVERSION}
|
||||
PYTHON_PKGNAMEPREFIX= ${PYTHON_IMPL}-
|
||||
PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_IMPL}
|
||||
|
||||
.include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk"
|
||||
|
@ -1,5 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
DISTVERSION= 5.10.0
|
||||
|
||||
.if !defined(LICENSE)
|
||||
LICENSE= MIT PSFL
|
||||
LICENSE_COMB= multi
|
||||
@ -8,6 +10,11 @@ LICENSE_COMB= multi
|
||||
USES+= compiler:c11
|
||||
|
||||
PYTHON_IMPL?= ${PORTNAME}
|
||||
PYPY_DIR= ${PYTHON_IMPL}-${PORTVERSION:C|([0-9])\.([0-9]).*|\1.\2|}
|
||||
PYPY_CFFI_VER?= pypy-41
|
||||
PYPY_DIR= ${PYTHON_IMPL}-${DISTVERSION:C|([0-9])\.([0-9]+).*|\1.\2|}
|
||||
PLIST_SUB+= PYPY_DIR=${PYPY_DIR} PYPY_CFFI_VER=${PYPY_CFFI_VER}
|
||||
|
||||
.if ${PYTHON_IMPL} == pypy
|
||||
PYPY_CFFI_VER= ${PYTHON_IMPL}-41
|
||||
.else # ${PYTHON_IMPL} == pypy3
|
||||
PYPY_CFFI_VER= ${PYTHON_IMPL}-${DISTVERSION:S|.||:C|\..*||}-${OPSYS:tl}${OSREL:C|\..*||}
|
||||
.endif
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1509042816
|
||||
SHA256 (pypy2-v5.9.0-src.tar.bz2) = de4bf05df47f1349dbac97233d9277bbaf1ef3331663ea2557fd5da3dbcfd0a7
|
||||
SIZE (pypy2-v5.9.0-src.tar.bz2) = 19175394
|
||||
TIMESTAMP = 1514290464
|
||||
SHA256 (pypy2-v5.10.0-src.tar.bz2) = 1209f2db718e6afda17528baa5138177a14a0938588a7d3e1b7c722c483079a8
|
||||
SIZE (pypy2-v5.10.0-src.tar.bz2) = 19181430
|
||||
|
@ -1,26 +0,0 @@
|
||||
--- lib-python/2.7/ctypes/__init__.py.orig 2017-10-03 10:49:20 UTC
|
||||
+++ lib-python/2.7/ctypes/__init__.py
|
||||
@@ -360,14 +360,15 @@ class CDLL(object):
|
||||
self._FuncPtr = _FuncPtr
|
||||
|
||||
if handle is None:
|
||||
- if flags & _FUNCFLAG_CDECL:
|
||||
- pypy_dll = _ffi.CDLL(name, mode)
|
||||
- else:
|
||||
- pypy_dll = _ffi.WinDLL(name, mode)
|
||||
- self.__pypy_dll__ = pypy_dll
|
||||
- handle = int(pypy_dll)
|
||||
- if _sys.maxint > 2 ** 32:
|
||||
- handle = int(handle) # long -> int
|
||||
+ handle = 0
|
||||
+ if flags & _FUNCFLAG_CDECL:
|
||||
+ pypy_dll = _ffi.CDLL(name, mode, handle)
|
||||
+ else:
|
||||
+ pypy_dll = _ffi.WinDLL(name, mode, handle)
|
||||
+ self.__pypy_dll__ = pypy_dll
|
||||
+ handle = int(pypy_dll)
|
||||
+ if _sys.maxint > 2 ** 32:
|
||||
+ handle = int(handle) # long -> int
|
||||
self._handle = handle
|
||||
|
||||
def __repr__(self):
|
@ -1,58 +0,0 @@
|
||||
--- pypy/module/_rawffi/alt/interp_funcptr.py.orig 2017-10-03 10:49:20 UTC
|
||||
+++ pypy/module/_rawffi/alt/interp_funcptr.py
|
||||
@@ -314,7 +314,7 @@ W_FuncPtr.typedef = TypeDef(
|
||||
# ========================================================================
|
||||
|
||||
class W_CDLL(W_Root):
|
||||
- def __init__(self, space, name, mode):
|
||||
+ def __init__(self, space, name, mode, handle):
|
||||
self.flags = libffi.FUNCFLAG_CDECL
|
||||
self.space = space
|
||||
if name is None:
|
||||
@@ -322,7 +322,7 @@ class W_CDLL(W_Root):
|
||||
else:
|
||||
self.name = name
|
||||
try:
|
||||
- self.cdll = libffi.CDLL(name, mode)
|
||||
+ self.cdll = libffi.CDLL(name, mode, handle)
|
||||
except DLOpenError as e:
|
||||
raise wrap_dlopenerror(space, e, self.name)
|
||||
except OSError as e:
|
||||
@@ -344,9 +344,9 @@ class W_CDLL(W_Root):
|
||||
def getidentifier(self, space):
|
||||
return space.newint(self.cdll.getidentifier())
|
||||
|
||||
-@unwrap_spec(name='fsencode_or_none', mode=int)
|
||||
-def descr_new_cdll(space, w_type, name, mode=-1):
|
||||
- return W_CDLL(space, name, mode)
|
||||
+@unwrap_spec(name='fsencode_or_none', mode=int, handle=int)
|
||||
+def descr_new_cdll(space, w_type, name, mode=-1, handle=0):
|
||||
+ return W_CDLL(space, name, mode, handle)
|
||||
|
||||
|
||||
W_CDLL.typedef = TypeDef(
|
||||
@@ -359,13 +359,13 @@ W_CDLL.typedef = TypeDef(
|
||||
)
|
||||
|
||||
class W_WinDLL(W_CDLL):
|
||||
- def __init__(self, space, name, mode):
|
||||
- W_CDLL.__init__(self, space, name, mode)
|
||||
+ def __init__(self, space, name, mode, handle):
|
||||
+ W_CDLL.__init__(self, space, name, mode, handle)
|
||||
self.flags = libffi.FUNCFLAG_STDCALL
|
||||
|
||||
-@unwrap_spec(name='fsencode_or_none', mode=int)
|
||||
-def descr_new_windll(space, w_type, name, mode=-1):
|
||||
- return W_WinDLL(space, name, mode)
|
||||
+@unwrap_spec(name='fsencode_or_none', mode=int, handle=int)
|
||||
+def descr_new_windll(space, w_type, name, mode=-1, handle=0):
|
||||
+ return W_WinDLL(space, name, mode, handle)
|
||||
|
||||
|
||||
W_WinDLL.typedef = TypeDef(
|
||||
@@ -380,4 +380,4 @@ W_WinDLL.typedef = TypeDef(
|
||||
# ========================================================================
|
||||
|
||||
def get_libc(space):
|
||||
- return W_CDLL(space, get_libc_name(), -1)
|
||||
+ return W_CDLL(space, get_libc_name(), -1, 0)
|
@ -1,15 +0,0 @@
|
||||
--- pypy/module/_vmprof/test/test__vmprof.py.orig 2017-10-30 18:35:14 UTC
|
||||
+++ pypy/module/_vmprof/test/test__vmprof.py
|
||||
@@ -1,3 +1,4 @@
|
||||
+import py
|
||||
import sys
|
||||
from rpython.tool.udir import udir
|
||||
from pypy.tool.pytest.objspace import gettestobjspace
|
||||
@@ -107,6 +108,7 @@ class AppTestVMProf(object):
|
||||
_vmprof.disable()
|
||||
assert _vmprof.is_enabled() is False
|
||||
|
||||
+ @py.test.mark.xfail(sys.platform.startswith('freebsd'), reason = "not implemented")
|
||||
def test_get_profile_path(self):
|
||||
import _vmprof
|
||||
tmpfile = open(self.tmpfilename, 'wb')
|
@ -1,12 +0,0 @@
|
||||
--- pypy/module/termios/test/test_termios.py.orig 2017-10-03 10:49:20 UTC
|
||||
+++ pypy/module/termios/test/test_termios.py
|
||||
@@ -7,9 +7,6 @@ from rpython.tool.udir import udir
|
||||
if os.name != 'posix':
|
||||
py.test.skip('termios module only available on unix')
|
||||
|
||||
-if sys.platform.startswith('freebsd'):
|
||||
- raise Exception('XXX seems to hangs on FreeBSD9')
|
||||
-
|
||||
class TestTermios(object):
|
||||
def setup_class(cls):
|
||||
try:
|
@ -1,11 +0,0 @@
|
||||
--- pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py.orig 2017-10-30 18:06:00 UTC
|
||||
+++ pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py
|
||||
@@ -2271,7 +2271,7 @@ def test_char16_char32_type(no_cpp=False
|
||||
char32_t foo_4bytes(char32_t);
|
||||
""")
|
||||
lib = verify(ffi, "test_char16_char32_type" + no_cpp * "_nocpp", """
|
||||
- #if !defined(__cplusplus) || __cplusplus < 201103L
|
||||
+ #if !defined(__cplusplus) || (!defined(_LIBCPP_VERSION) && __cplusplus < 201103L)
|
||||
typedef uint_least16_t char16_t;
|
||||
typedef uint_least32_t char32_t;
|
||||
#endif
|
@ -1,9 +0,0 @@
|
||||
--- pypy/module/test_lib_pypy/pyrepl/__init__.py.orig 2017-10-03 10:49:20 UTC
|
||||
+++ pypy/module/test_lib_pypy/pyrepl/__init__.py
|
||||
@@ -1,6 +1,3 @@
|
||||
import sys
|
||||
import lib_pypy.pyrepl
|
||||
sys.modules['pyrepl'] = sys.modules['lib_pypy.pyrepl']
|
||||
-
|
||||
-if sys.platform.startswith('freebsd'):
|
||||
- raise Exception('XXX seems to hangs on FreeBSD9')
|
@ -1,11 +0,0 @@
|
||||
--- pypy/module/test_lib_pypy/pyrepl/test_readline.py.orig 2017-10-30 18:28:08 UTC
|
||||
+++ pypy/module/test_lib_pypy/pyrepl/test_readline.py
|
||||
@@ -4,7 +4,7 @@ from .infrastructure import sane_term
|
||||
|
||||
|
||||
@pytest.mark.skipif("os.name != 'posix' or 'darwin' in sys.platform or "
|
||||
- "'kfreebsd' in sys.platform")
|
||||
+ "'freebsd' in sys.platform")
|
||||
def test_raw_input():
|
||||
import os
|
||||
import pty
|
@ -1,19 +0,0 @@
|
||||
--- pypy/tool/cpyext/extbuild.py.orig 2017-10-03 10:49:20 UTC
|
||||
+++ pypy/tool/cpyext/extbuild.py
|
||||
@@ -244,13 +244,13 @@ def get_sys_info_app(base_dir):
|
||||
if sys.platform == 'win32':
|
||||
compile_extra = ["/we4013"]
|
||||
link_extra = ["/LIBPATH:" + os.path.join(sys.exec_prefix, 'libs')]
|
||||
- elif sys.platform == 'darwin':
|
||||
- compile_extra = link_extra = None
|
||||
- pass
|
||||
elif sys.platform.startswith('linux'):
|
||||
compile_extra = [
|
||||
"-O0", "-g", "-Werror=implicit-function-declaration", "-fPIC"]
|
||||
link_extra = None
|
||||
+ else:
|
||||
+ compile_extra = link_extra = None
|
||||
+ pass
|
||||
return ExtensionCompiler(
|
||||
builddir_base=base_dir,
|
||||
include_extra=[get_python_inc()],
|
@ -1,19 +0,0 @@
|
||||
--- rpython/rlib/libffi.py.orig 2017-10-03 10:49:20 UTC
|
||||
+++ rpython/rlib/libffi.py
|
||||
@@ -434,11 +434,12 @@ class Func(AbstractFuncPtr):
|
||||
|
||||
# XXX: it partially duplicate the code in clibffi.py
|
||||
class CDLL(object):
|
||||
- def __init__(self, libname, mode=-1):
|
||||
+ def __init__(self, libname, mode=-1, lib=0):
|
||||
"""Load the library, or raises DLOpenError."""
|
||||
- self.lib = rffi.cast(DLLHANDLE, 0)
|
||||
- with rffi.scoped_str2charp(libname) as ll_libname:
|
||||
- self.lib = dlopen(ll_libname, mode)
|
||||
+ self.lib = rffi.cast(DLLHANDLE, lib)
|
||||
+ if lib == 0:
|
||||
+ with rffi.scoped_str2charp(libname) as ll_libname:
|
||||
+ self.lib = dlopen(ll_libname, mode)
|
||||
|
||||
def __del__(self):
|
||||
if self.lib:
|
@ -1,14 +1,11 @@
|
||||
--- rpython/rlib/rvmprof/cintf.py.orig 2017-10-03 10:49:20 UTC
|
||||
--- rpython/rlib/rvmprof/cintf.py.orig 2017-12-27 19:18:35 UTC
|
||||
+++ rpython/rlib/rvmprof/cintf.py
|
||||
@@ -47,7 +47,10 @@ else:
|
||||
# Guessing a BSD-like Unix platform
|
||||
compile_extra += ['-DVMPROF_UNIX']
|
||||
compile_extra += ['-DVMPROF_MAC']
|
||||
- _libs = []
|
||||
+ if sys.platform.startswith('freebsd'):
|
||||
+ _libs = ['unwind']
|
||||
+ else:
|
||||
+ _libs = []
|
||||
@@ -17,7 +17,7 @@ class VMProfPlatformUnsupported(Exceptio
|
||||
|
||||
# vmprof works only on x86 for now
|
||||
IS_SUPPORTED = detect_cpu.autodetect().startswith('x86')
|
||||
-if sys.platform == 'win32':
|
||||
+if sys.platform in ('freebsd10', 'win32'):
|
||||
IS_SUPPORTED = False
|
||||
|
||||
eci_kwds = dict(
|
||||
ROOT = py.path.local(rpythonroot).join('rpython', 'rlib', 'rvmprof')
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- rpython/rlib/rvmprof/src/shared/machine.c.orig 2017-10-03 10:49:20 UTC
|
||||
+++ rpython/rlib/rvmprof/src/shared/machine.c
|
||||
@@ -28,7 +28,7 @@ const char * vmp_machine_os_name(void)
|
||||
#elif __linux__
|
||||
return "linux";
|
||||
#elif __FreeBSD__
|
||||
- return "freebsd"
|
||||
+ return "freebsd";
|
||||
#else
|
||||
#error "Unknown compiler"
|
||||
#endif
|
@ -1,10 +0,0 @@
|
||||
--- rpython/rlib/rvmprof/src/shared/vmp_stack.c.orig 2017-10-03 10:49:20 UTC
|
||||
+++ rpython/rlib/rvmprof/src/shared/vmp_stack.c
|
||||
@@ -29,6 +29,7 @@ static int (*unw_get_proc_name)(unw_curs
|
||||
static int (*unw_is_signal_frame)(unw_cursor_t *) = NULL;
|
||||
static int (*unw_getcontext)(unw_context_t *) = NULL;
|
||||
#else
|
||||
+#define UNW_LOCAL_ONLY
|
||||
#include <libunwind.h>
|
||||
#endif
|
||||
|
@ -1,20 +0,0 @@
|
||||
--- rpython/rtyper/lltypesystem/ll2ctypes.py.orig 2017-10-03 10:49:20 UTC
|
||||
+++ rpython/rtyper/lltypesystem/ll2ctypes.py
|
||||
@@ -1142,7 +1142,7 @@ if ctypes:
|
||||
libc_name = get_libc_name() # Make sure the name is determined during import, not at runtime
|
||||
if _FREEBSD:
|
||||
RTLD_DEFAULT = -2 # see <dlfcn.h>
|
||||
- rtld_default_lib = ctypes.CDLL("RTLD_DEFAULT", handle=RTLD_DEFAULT, **load_library_kwargs)
|
||||
+ rtld_default_lib = ctypes.CDLL("ld-elf.so.1", handle=RTLD_DEFAULT, **load_library_kwargs)
|
||||
# XXX is this always correct???
|
||||
standard_c_lib = ctypes.CDLL(libc_name, **load_library_kwargs)
|
||||
|
||||
@@ -1238,7 +1238,7 @@ def get_ctypes_callable(funcptr, calling
|
||||
|
||||
if cfunc is None:
|
||||
if _FREEBSD and funcname in ('dlopen', 'fdlopen', 'dlsym', 'dlfunc', 'dlerror', 'dlclose'):
|
||||
- cfunc = get_on_lib(rtld_default_lib, funcname)
|
||||
+ cfunc = rtld_default_lib[funcname]
|
||||
else:
|
||||
cfunc = get_on_lib(standard_c_lib, funcname)
|
||||
# XXX magic: on Windows try to load the function from 'kernel32' too
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1509472928
|
||||
SHA256 (pypy3-v5.9.0-src.tar.bz2) = a014f47f50a1480f871a0b82705f904b38c93c4ca069850eb37653fedafb1b97
|
||||
SIZE (pypy3-v5.9.0-src.tar.bz2) = 29055111
|
||||
TIMESTAMP = 1514299345
|
||||
SHA256 (pypy3-v5.10.0-src.tar.bz2) = a6e4cffde71e3f08b6e1befa5c0352a9bcc5f4e9f5cbf395001e0763a1a0d9e3
|
||||
SIZE (pypy3-v5.10.0-src.tar.bz2) = 29075971
|
||||
|
@ -1,26 +0,0 @@
|
||||
--- lib-python/2.7/ctypes/__init__.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ lib-python/2.7/ctypes/__init__.py
|
||||
@@ -360,14 +360,15 @@ class CDLL(object):
|
||||
self._FuncPtr = _FuncPtr
|
||||
|
||||
if handle is None:
|
||||
- if flags & _FUNCFLAG_CDECL:
|
||||
- pypy_dll = _ffi.CDLL(name, mode)
|
||||
- else:
|
||||
- pypy_dll = _ffi.WinDLL(name, mode)
|
||||
- self.__pypy_dll__ = pypy_dll
|
||||
- handle = int(pypy_dll)
|
||||
- if _sys.maxint > 2 ** 32:
|
||||
- handle = int(handle) # long -> int
|
||||
+ handle = 0
|
||||
+ if flags & _FUNCFLAG_CDECL:
|
||||
+ pypy_dll = _ffi.CDLL(name, mode, handle)
|
||||
+ else:
|
||||
+ pypy_dll = _ffi.WinDLL(name, mode, handle)
|
||||
+ self.__pypy_dll__ = pypy_dll
|
||||
+ handle = int(pypy_dll)
|
||||
+ if _sys.maxint > 2 ** 32:
|
||||
+ handle = int(handle) # long -> int
|
||||
self._handle = handle
|
||||
|
||||
def __repr__(self):
|
@ -1,23 +0,0 @@
|
||||
--- lib-python/3/ctypes/__init__.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ lib-python/3/ctypes/__init__.py
|
||||
@@ -345,13 +345,13 @@ class CDLL(object):
|
||||
self._FuncPtr = _FuncPtr
|
||||
|
||||
if handle is None:
|
||||
- if flags & _FUNCFLAG_CDECL:
|
||||
- pypy_dll = _ffi.CDLL(name, mode)
|
||||
- else:
|
||||
- pypy_dll = _ffi.WinDLL(name, mode)
|
||||
- self.__pypy_dll__ = pypy_dll
|
||||
- handle = int(pypy_dll)
|
||||
- self._handle = handle
|
||||
+ handle = 0
|
||||
+ if flags & _FUNCFLAG_CDECL:
|
||||
+ pypy_dll = _ffi.CDLL(name, mode)
|
||||
+ else:
|
||||
+ pypy_dll = _ffi.WinDLL(name, mode)
|
||||
+ self.__pypy_dll__ = pypy_dll
|
||||
+ self._handle = int(pypy_dll)
|
||||
|
||||
def __repr__(self):
|
||||
return "<%s '%s', handle %x at 0x%x>" % \
|
@ -1,11 +0,0 @@
|
||||
--- lib_pypy/_curses_build.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ lib_pypy/_curses_build.py
|
||||
@@ -34,6 +34,8 @@ ffi.set_source("_curses_cffi", """
|
||||
#define NCURSES_OPAQUE 0
|
||||
#endif
|
||||
|
||||
+#define _XOPEN_SOURCE_EXTENDED 1
|
||||
+#define NCURSES_WIDECHAR 1
|
||||
#include <ncurses.h>
|
||||
#include <panel.h>
|
||||
#include <term.h>
|
@ -1,58 +0,0 @@
|
||||
--- pypy/module/_rawffi/alt/interp_funcptr.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ pypy/module/_rawffi/alt/interp_funcptr.py
|
||||
@@ -314,7 +314,7 @@ W_FuncPtr.typedef = TypeDef(
|
||||
# ========================================================================
|
||||
|
||||
class W_CDLL(W_Root):
|
||||
- def __init__(self, space, name, mode):
|
||||
+ def __init__(self, space, name, mode, handle):
|
||||
self.flags = libffi.FUNCFLAG_CDECL
|
||||
self.space = space
|
||||
if name is None:
|
||||
@@ -322,7 +322,7 @@ class W_CDLL(W_Root):
|
||||
else:
|
||||
self.name = name
|
||||
try:
|
||||
- self.cdll = libffi.CDLL(name, mode)
|
||||
+ self.cdll = libffi.CDLL(name, mode, handle)
|
||||
except DLOpenError as e:
|
||||
raise wrap_dlopenerror(space, e, self.name)
|
||||
except OSError as e:
|
||||
@@ -344,9 +344,9 @@ class W_CDLL(W_Root):
|
||||
def getidentifier(self, space):
|
||||
return space.newint(self.cdll.getidentifier())
|
||||
|
||||
-@unwrap_spec(name='fsencode_or_none', mode=int)
|
||||
-def descr_new_cdll(space, w_type, name, mode=-1):
|
||||
- return W_CDLL(space, name, mode)
|
||||
+@unwrap_spec(name='fsencode_or_none', mode=int, handle=int)
|
||||
+def descr_new_cdll(space, w_type, name, mode=-1, handle=0):
|
||||
+ return W_CDLL(space, name, mode, handle)
|
||||
|
||||
|
||||
W_CDLL.typedef = TypeDef(
|
||||
@@ -359,13 +359,13 @@ W_CDLL.typedef = TypeDef(
|
||||
)
|
||||
|
||||
class W_WinDLL(W_CDLL):
|
||||
- def __init__(self, space, name, mode):
|
||||
- W_CDLL.__init__(self, space, name, mode)
|
||||
+ def __init__(self, space, name, mode, handle):
|
||||
+ W_CDLL.__init__(self, space, name, mode, handle)
|
||||
self.flags = libffi.FUNCFLAG_STDCALL
|
||||
|
||||
-@unwrap_spec(name='fsencode_or_none', mode=int)
|
||||
-def descr_new_windll(space, w_type, name, mode=-1):
|
||||
- return W_WinDLL(space, name, mode)
|
||||
+@unwrap_spec(name='fsencode_or_none', mode=int, handle=int)
|
||||
+def descr_new_windll(space, w_type, name, mode=-1, handle=0):
|
||||
+ return W_WinDLL(space, name, mode, handle)
|
||||
|
||||
|
||||
W_WinDLL.typedef = TypeDef(
|
||||
@@ -380,4 +380,4 @@ W_WinDLL.typedef = TypeDef(
|
||||
# ========================================================================
|
||||
|
||||
def get_libc(space):
|
||||
- return W_CDLL(space, get_libc_name(), -1)
|
||||
+ return W_CDLL(space, get_libc_name(), -1, 0)
|
@ -1,15 +0,0 @@
|
||||
--- pypy/module/_vmprof/test/test__vmprof.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ pypy/module/_vmprof/test/test__vmprof.py
|
||||
@@ -1,3 +1,4 @@
|
||||
+import py
|
||||
import sys
|
||||
from rpython.tool.udir import udir
|
||||
from pypy.tool.pytest.objspace import gettestobjspace
|
||||
@@ -110,6 +111,7 @@ class AppTestVMProf(object):
|
||||
_vmprof.disable()
|
||||
assert _vmprof.is_enabled() is False
|
||||
|
||||
+ @py.test.mark.xfail(sys.platform.startswith('freebsd'), reason = "not implemented")
|
||||
def test_get_profile_path(self):
|
||||
import _vmprof
|
||||
tmpfile = open(self.tmpfilename, 'wb')
|
@ -1,12 +0,0 @@
|
||||
--- pypy/module/termios/test/test_termios.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ pypy/module/termios/test/test_termios.py
|
||||
@@ -7,9 +7,6 @@ from rpython.tool.udir import udir
|
||||
if os.name != 'posix':
|
||||
py.test.skip('termios module only available on unix')
|
||||
|
||||
-if sys.platform.startswith('freebsd'):
|
||||
- raise Exception('XXX seems to hangs on FreeBSD9')
|
||||
-
|
||||
class TestTermios(object):
|
||||
def setup_class(cls):
|
||||
try:
|
@ -1,11 +0,0 @@
|
||||
--- pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py
|
||||
@@ -2271,7 +2271,7 @@ def test_char16_char32_type(no_cpp=False
|
||||
char32_t foo_4bytes(char32_t);
|
||||
""")
|
||||
lib = verify(ffi, "test_char16_char32_type" + no_cpp * "_nocpp", """
|
||||
- #if !defined(__cplusplus) || __cplusplus < 201103L
|
||||
+ #if !defined(__cplusplus) || (!defined(_LIBCPP_VERSION) && __cplusplus < 201103L)
|
||||
typedef uint_least16_t char16_t;
|
||||
typedef uint_least32_t char32_t;
|
||||
#endif
|
@ -1,9 +0,0 @@
|
||||
--- pypy/module/test_lib_pypy/pyrepl/__init__.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ pypy/module/test_lib_pypy/pyrepl/__init__.py
|
||||
@@ -1,6 +1,3 @@
|
||||
import sys
|
||||
import lib_pypy.pyrepl
|
||||
sys.modules['pyrepl'] = sys.modules['lib_pypy.pyrepl']
|
||||
-
|
||||
-if sys.platform.startswith('freebsd'):
|
||||
- raise Exception('XXX seems to hangs on FreeBSD9')
|
@ -1,11 +0,0 @@
|
||||
--- pypy/module/test_lib_pypy/pyrepl/test_readline.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ pypy/module/test_lib_pypy/pyrepl/test_readline.py
|
||||
@@ -4,7 +4,7 @@ from .infrastructure import sane_term
|
||||
|
||||
|
||||
@pytest.mark.skipif("os.name != 'posix' or 'darwin' in sys.platform or "
|
||||
- "'kfreebsd' in sys.platform")
|
||||
+ "'freebsd' in sys.platform")
|
||||
def test_raw_input():
|
||||
import os
|
||||
import pty
|
@ -1,19 +0,0 @@
|
||||
--- pypy/tool/cpyext/extbuild.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ pypy/tool/cpyext/extbuild.py
|
||||
@@ -246,13 +246,13 @@ def get_sys_info_app(base_dir):
|
||||
if sys.platform == 'win32':
|
||||
compile_extra = ["/we4013"]
|
||||
link_extra = ["/LIBPATH:" + os.path.join(sys.exec_prefix, 'libs')]
|
||||
- elif sys.platform == 'darwin':
|
||||
- compile_extra = link_extra = None
|
||||
- pass
|
||||
elif sys.platform.startswith('linux'):
|
||||
compile_extra = [
|
||||
"-O0", "-g", "-Werror=implicit-function-declaration", "-fPIC"]
|
||||
link_extra = None
|
||||
+ else:
|
||||
+ compile_extra = link_extra = None
|
||||
+ pass
|
||||
return ExtensionCompiler(
|
||||
builddir_base=base_dir,
|
||||
include_extra=[get_python_inc()],
|
@ -1,19 +0,0 @@
|
||||
--- rpython/rlib/libffi.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ rpython/rlib/libffi.py
|
||||
@@ -434,11 +434,12 @@ class Func(AbstractFuncPtr):
|
||||
|
||||
# XXX: it partially duplicate the code in clibffi.py
|
||||
class CDLL(object):
|
||||
- def __init__(self, libname, mode=-1):
|
||||
+ def __init__(self, libname, mode=-1, lib=0):
|
||||
"""Load the library, or raises DLOpenError."""
|
||||
- self.lib = rffi.cast(DLLHANDLE, 0)
|
||||
- with rffi.scoped_str2charp(libname) as ll_libname:
|
||||
- self.lib = dlopen(ll_libname, mode)
|
||||
+ self.lib = rffi.cast(DLLHANDLE, lib)
|
||||
+ if lib == 0:
|
||||
+ with rffi.scoped_str2charp(libname) as ll_libname:
|
||||
+ self.lib = dlopen(ll_libname, mode)
|
||||
|
||||
def __del__(self):
|
||||
if self.lib:
|
@ -1,14 +1,11 @@
|
||||
--- rpython/rlib/rvmprof/cintf.py.orig 2017-10-03 10:53:54 UTC
|
||||
--- rpython/rlib/rvmprof/cintf.py.orig 2017-12-22 10:09:25 UTC
|
||||
+++ rpython/rlib/rvmprof/cintf.py
|
||||
@@ -47,7 +47,10 @@ else:
|
||||
# Guessing a BSD-like Unix platform
|
||||
compile_extra += ['-DVMPROF_UNIX']
|
||||
compile_extra += ['-DVMPROF_MAC']
|
||||
- _libs = []
|
||||
+ if sys.platform.startswith('freebsd'):
|
||||
+ _libs = ['unwind']
|
||||
+ else:
|
||||
+ _libs = []
|
||||
@@ -17,7 +17,7 @@ class VMProfPlatformUnsupported(Exceptio
|
||||
|
||||
# vmprof works only on x86 for now
|
||||
IS_SUPPORTED = detect_cpu.autodetect().startswith('x86')
|
||||
-if sys.platform == 'win32':
|
||||
+if sys.platform in ('freebsd10', 'win32'):
|
||||
IS_SUPPORTED = False
|
||||
|
||||
eci_kwds = dict(
|
||||
ROOT = py.path.local(rpythonroot).join('rpython', 'rlib', 'rvmprof')
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- rpython/rlib/rvmprof/src/shared/machine.c.orig 2017-10-03 10:53:54 UTC
|
||||
+++ rpython/rlib/rvmprof/src/shared/machine.c
|
||||
@@ -28,7 +28,7 @@ const char * vmp_machine_os_name(void)
|
||||
#elif __linux__
|
||||
return "linux";
|
||||
#elif __FreeBSD__
|
||||
- return "freebsd"
|
||||
+ return "freebsd";
|
||||
#else
|
||||
#error "Unknown compiler"
|
||||
#endif
|
@ -1,10 +0,0 @@
|
||||
--- rpython/rlib/rvmprof/src/shared/vmp_stack.c.orig 2017-10-03 10:53:54 UTC
|
||||
+++ rpython/rlib/rvmprof/src/shared/vmp_stack.c
|
||||
@@ -29,6 +29,7 @@ static int (*unw_get_proc_name)(unw_curs
|
||||
static int (*unw_is_signal_frame)(unw_cursor_t *) = NULL;
|
||||
static int (*unw_getcontext)(unw_context_t *) = NULL;
|
||||
#else
|
||||
+#define UNW_LOCAL_ONLY
|
||||
#include <libunwind.h>
|
||||
#endif
|
||||
|
@ -1,20 +0,0 @@
|
||||
--- rpython/rtyper/lltypesystem/ll2ctypes.py.orig 2017-10-03 10:53:54 UTC
|
||||
+++ rpython/rtyper/lltypesystem/ll2ctypes.py
|
||||
@@ -1142,7 +1142,7 @@ if ctypes:
|
||||
libc_name = get_libc_name() # Make sure the name is determined during import, not at runtime
|
||||
if _FREEBSD:
|
||||
RTLD_DEFAULT = -2 # see <dlfcn.h>
|
||||
- rtld_default_lib = ctypes.CDLL("RTLD_DEFAULT", handle=RTLD_DEFAULT, **load_library_kwargs)
|
||||
+ rtld_default_lib = ctypes.CDLL("ld-elf.so.1", handle=RTLD_DEFAULT, **load_library_kwargs)
|
||||
# XXX is this always correct???
|
||||
standard_c_lib = ctypes.CDLL(libc_name, **load_library_kwargs)
|
||||
|
||||
@@ -1238,7 +1238,7 @@ def get_ctypes_callable(funcptr, calling
|
||||
|
||||
if cfunc is None:
|
||||
if _FREEBSD and funcname in ('dlopen', 'fdlopen', 'dlsym', 'dlfunc', 'dlerror', 'dlclose'):
|
||||
- cfunc = get_on_lib(rtld_default_lib, funcname)
|
||||
+ cfunc = rtld_default_lib[funcname]
|
||||
else:
|
||||
cfunc = get_on_lib(standard_c_lib, funcname)
|
||||
# XXX magic: on Windows try to load the function from 'kernel32' too
|
@ -2106,6 +2106,7 @@ bin/pypy3
|
||||
%%PYPY_DIR%%/lib_pypy/_cffi_ssl/_stdssl/error.py
|
||||
%%PYPY_DIR%%/lib_pypy/_cffi_ssl/_stdssl/errorcodes.py
|
||||
%%PYPY_DIR%%/lib_pypy/_cffi_ssl/_stdssl/utility.py
|
||||
%%PYPY_DIR%%/lib_pypy/_cffi_ssl/osx-roots.diff
|
||||
%%PYPY_DIR%%/lib_pypy/_cffi_ssl/tools/make_ssl_data.py
|
||||
%%PYPY_DIR%%/lib_pypy/_codecs_cn.py
|
||||
%%PYPY_DIR%%/lib_pypy/_codecs_hk.py
|
||||
@ -2268,6 +2269,7 @@ bin/pypy3
|
||||
%%PYPY_DIR%%/lib_pypy/cffi/verifier.py
|
||||
%%PYPY_DIR%%/lib_pypy/ctypes_config_cache/.empty
|
||||
%%PYPY_DIR%%/lib_pypy/ctypes_support.py
|
||||
%%PYPY_DIR%%/lib_pypy/faulthandler.py
|
||||
%%PYPY_DIR%%/lib_pypy/future_builtins.py
|
||||
%%PYPY_DIR%%/lib_pypy/greenlet.egg-info
|
||||
%%PYPY_DIR%%/lib_pypy/greenlet.py
|
||||
@ -2311,16 +2313,19 @@ bin/pypy3
|
||||
%%PYPY_DIR%%/site-packages/README
|
||||
@dir %%PYPY_DIR%%/lib-python/3/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib-python/3/collections/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib-python/3/curses/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib-python/3/distutils/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib-python/3/distutils/command/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib-python/3/email/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib-python/3/encodings/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib-python/3/ensurepip/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib-python/3/importlib/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib_pypy/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib_pypy/_cffi_ssl/_cffi_src/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib_pypy/_cffi_ssl/_cffi_src/openssl/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib_pypy/_cffi_ssl/_stdssl/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib_pypy/_hashlib/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib_pypy/_ssl/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib_pypy/cffi/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib_pypy/cffi/_pycparser/__pycache__
|
||||
@dir %%PYPY_DIR%%/lib_pypy/cffi/_pycparser/ply/__pycache__
|
||||
|
@ -2,7 +2,6 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= tkinter
|
||||
PORTVERSION= ${PYTHON_PORTVERSION}
|
||||
CATEGORIES= x11-toolkits python
|
||||
|
||||
MAINTAINER= python@FreeBSD.org
|
||||
|
Loading…
Reference in New Issue
Block a user