Date: Sat, 4 Nov 2017 09:33:51 +0000 (UTC) From: David Naylor <dbn@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r453445 - in head/lang: pypy pypy/files pypy3 pypy3/files Message-ID: <201711040933.vA49Xp7n067616@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dbn Date: Sat Nov 4 09:33:51 2017 New Revision: 453445 URL: https://svnweb.freebsd.org/changeset/ports/453445 Log: lang/pypy(3): update to 5.9 - add lubunwind as dependency: required by vmprof - disable vmprof on FreeBSD 10: missing base support - implement support for handles with ctypes.CDLL: fix dynamic loading of shared objects - enable various tests that were not working on FreeBSD 9 - mark get_profile_path as xfail on FreeBSD - handle definition of char16_t and char32_t on libc++ for __cplusplus < 201103L (libstdc++ does not do this) - other minor fixes ChangeLog: - NumPy and Pandas now work on lang/pypy - Cython 0.27.1 supports more projects with PyPy - JSON parser improvements decrease memory by up to 50% and increase speed by up to 15% - CFFI updated to 1.11.1 Added: head/lang/pypy/files/patch-lib-python_2.7_ctypes_____init____.py (contents, props changed) head/lang/pypy/files/patch-pypy_module___rawffi_alt_interp__funcptr.py (contents, props changed) head/lang/pypy/files/patch-pypy_module___vmprof_test_test____vmprof.py (contents, props changed) head/lang/pypy/files/patch-pypy_module_termios_test_test__termios.py (contents, props changed) head/lang/pypy/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py (contents, props changed) head/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py (contents, props changed) head/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py (contents, props changed) head/lang/pypy/files/patch-pypy_tool_cpyext_extbuild.py (contents, props changed) head/lang/pypy/files/patch-rpython_rlib_libffi.py (contents, props changed) head/lang/pypy/files/patch-rpython_rlib_rvmprof_cintf.py (contents, props changed) head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c (contents, props changed) head/lang/pypy/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py (contents, props changed) head/lang/pypy3/files/patch-lib-python_2.7_ctypes_____init____.py (contents, props changed) head/lang/pypy3/files/patch-lib-python_3_ctypes_____init____.py (contents, props changed) head/lang/pypy3/files/patch-lib__pypy___curses__build.py (contents, props changed) head/lang/pypy3/files/patch-pypy_module___rawffi_alt_interp__funcptr.py (contents, props changed) head/lang/pypy3/files/patch-pypy_module___vmprof_test_test____vmprof.py (contents, props changed) head/lang/pypy3/files/patch-pypy_module_termios_test_test__termios.py (contents, props changed) head/lang/pypy3/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py (contents, props changed) head/lang/pypy3/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py (contents, props changed) head/lang/pypy3/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py (contents, props changed) head/lang/pypy3/files/patch-pypy_tool_cpyext_extbuild.py (contents, props changed) head/lang/pypy3/files/patch-rpython_rlib_libffi.py (contents, props changed) head/lang/pypy3/files/patch-rpython_rlib_rvmprof_cintf.py (contents, props changed) head/lang/pypy3/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c (contents, props changed) head/lang/pypy3/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py (contents, props changed) Modified: head/lang/pypy/Makefile head/lang/pypy/bsd.pypy.cffi.mk head/lang/pypy/distinfo head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_machine.c head/lang/pypy/pkg-plist head/lang/pypy3/Makefile head/lang/pypy3/distinfo head/lang/pypy3/files/patch-rpython_rlib_rvmprof_src_shared_machine.c head/lang/pypy3/pkg-plist Modified: head/lang/pypy/Makefile ============================================================================== --- head/lang/pypy/Makefile Sat Nov 4 09:04:31 2017 (r453444) +++ head/lang/pypy/Makefile Sat Nov 4 09:33:51 2017 (r453445) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME?= pypy -DISTVERSION?= 5.8.0 # Also update bsd.pypy.cffi.mk +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 @@ -15,7 +15,8 @@ LICENSE_COMB= multi LICENSE_FILE_MIT= ${WRKSRC}/LICENSE LIB_DEPENDS= libexpat.so:textproc/expat2 \ - libffi.so:devel/libffi + libffi.so:devel/libffi \ + libunwind.so:devel/libunwind 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 @@ -104,12 +105,9 @@ PLIST= ${.CURDIR}/pkg-plist .include "${MASTERDIR}/bsd.pypy.mk" .include <bsd.port.pre.mk> -.if ${ARCH} == "i386" || ${ARCH} == "armv6" -PYPY_BITS= 32 -.elif ${ARCH} == "amd64" || ${ARCH} == "powerpc64" -PYPY_BITS= 64 +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100000 +PYPY_ARGS= --withoutmod-_vmprof .endif -PLIST_SUB+= PYPY_BITS="${PYPY_BITS}" post-extract: ${FIND} ${WRKSRC} -name '*.swn' -delete @@ -120,7 +118,7 @@ pre-build: ${MKDIR} ${WRKDIR}/build; \ (cd ${WRKSRC}/pypy/goal; \ ${SETENV} ${MAKE_ENV} TMPDIR=${WRKDIR}/build \ - ${PYTHON_CMD} ../../rpython/bin/rpython --source -Ojit targetpypystandalone.py); \ + ${PYTHON_CMD} ../../rpython/bin/rpython --source -Ojit targetpypystandalone.py ${PYPY_ARGS}); \ fi post-build: Modified: head/lang/pypy/bsd.pypy.cffi.mk ============================================================================== --- head/lang/pypy/bsd.pypy.cffi.mk Sat Nov 4 09:04:31 2017 (r453444) +++ head/lang/pypy/bsd.pypy.cffi.mk Sat Nov 4 09:33:51 2017 (r453445) @@ -11,7 +11,7 @@ PLIST_FILES= %%PYPY_DIR%%/lib_pypy/${CFFI_MODULE}_cffi CFFI_MODULE?= _${PORTNAME} PYTHON_IMPL= pypy -PYTHON_PORTVERSION?= 5.8.0 +PYTHON_PORTVERSION?= 5.9.0 PYTHON_PKGNAMEPREFIX= pypy- PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_IMPL} Modified: head/lang/pypy/distinfo ============================================================================== --- head/lang/pypy/distinfo Sat Nov 4 09:04:31 2017 (r453444) +++ head/lang/pypy/distinfo Sat Nov 4 09:33:51 2017 (r453445) @@ -1,3 +1,3 @@ -TIMESTAMP = 1497478804 -SHA256 (pypy2-v5.8.0-src.tar.bz2) = 504c2d522595baf8775ae1045a217a2b120732537861d31b889d47c340b58bd5 -SIZE (pypy2-v5.8.0-src.tar.bz2) = 19163498 +TIMESTAMP = 1509042816 +SHA256 (pypy2-v5.9.0-src.tar.bz2) = de4bf05df47f1349dbac97233d9277bbaf1ef3331663ea2557fd5da3dbcfd0a7 +SIZE (pypy2-v5.9.0-src.tar.bz2) = 19175394 Added: head/lang/pypy/files/patch-lib-python_2.7_ctypes_____init____.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-lib-python_2.7_ctypes_____init____.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,26 @@ +--- 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): Added: head/lang/pypy/files/patch-pypy_module___rawffi_alt_interp__funcptr.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-pypy_module___rawffi_alt_interp__funcptr.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,58 @@ +--- 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) Added: head/lang/pypy/files/patch-pypy_module___vmprof_test_test____vmprof.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-pypy_module___vmprof_test_test____vmprof.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,15 @@ +--- 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') Added: head/lang/pypy/files/patch-pypy_module_termios_test_test__termios.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-pypy_module_termios_test_test__termios.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,12 @@ +--- 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: Added: head/lang/pypy/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,11 @@ +--- 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 Added: head/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,9 @@ +--- 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') Added: head/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,11 @@ +--- 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 Added: head/lang/pypy/files/patch-pypy_tool_cpyext_extbuild.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-pypy_tool_cpyext_extbuild.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,19 @@ +--- 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()], Added: head/lang/pypy/files/patch-rpython_rlib_libffi.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-rpython_rlib_libffi.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,19 @@ +--- 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: Added: head/lang/pypy/files/patch-rpython_rlib_rvmprof_cintf.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-rpython_rlib_rvmprof_cintf.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,14 @@ +--- rpython/rlib/rvmprof/cintf.py.orig 2017-10-03 10:49:20 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 = [] + + + eci_kwds = dict( Modified: head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_machine.c ============================================================================== --- head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_machine.c Sat Nov 4 09:04:31 2017 (r453444) +++ head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_machine.c Sat Nov 4 09:33:51 2017 (r453445) @@ -1,20 +1,11 @@ ---- rpython/rlib/rvmprof/src/shared/machine.c.orig 2017-06-05 20:40:44 UTC +--- rpython/rlib/rvmprof/src/shared/machine.c.orig 2017-10-03 10:49:20 UTC +++ rpython/rlib/rvmprof/src/shared/machine.c -@@ -28,6 +28,8 @@ const char * vmp_machine_os_name(void) - #endif +@@ -28,7 +28,7 @@ const char * vmp_machine_os_name(void) #elif __linux__ return "linux"; -+#elif __FreeBSD__ + #elif __FreeBSD__ +- return "freebsd" + return "freebsd"; #else #error "Unknown compiler" - #endif -@@ -39,7 +41,7 @@ long vmp_fd_to_path(int fd, char * buffe - char proffs[24]; - (void)snprintf(proffs, 24, "/proc/self/fd/%d", fd); - return readlink(proffs, buffer, buffer_len); --#elif defined(VMPROF_UNIX) -+#elif defined(VMPROF_UNIX) && !defined(__FreeBSD__) - fcntl(fd, F_GETPATH, buffer); - return strlen(buffer); #endif Added: head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,10 @@ +--- 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 + Added: head/lang/pypy/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,20 @@ +--- 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 Modified: head/lang/pypy/pkg-plist ============================================================================== --- head/lang/pypy/pkg-plist Sat Nov 4 09:04:31 2017 (r453444) +++ head/lang/pypy/pkg-plist Sat Nov 4 09:33:51 2017 (r453445) @@ -22,6 +22,8 @@ bin/pypy %%PYPY_DIR%%/include/code.h %%PYPY_DIR%%/include/compile.h %%PYPY_DIR%%/include/complexobject.h +%%PYPY_DIR%%/include/cpyext_descrobject.h +%%PYPY_DIR%%/include/cpyext_memoryobject.h %%PYPY_DIR%%/include/cpyext_object.h %%PYPY_DIR%%/include/cpyext_unicodeobject.h %%PYPY_DIR%%/include/datetime.h @@ -2125,6 +2127,7 @@ bin/pypy %%PYPY_DIR%%/lib_pypy/cffi.egg-info/requires.txt %%PYPY_DIR%%/lib_pypy/cffi.egg-info/top_level.txt %%PYPY_DIR%%/lib_pypy/cffi/__init__.py +%%PYPY_DIR%%/lib_pypy/cffi/_cffi_errors.h %%PYPY_DIR%%/lib_pypy/cffi/_cffi_include.h %%PYPY_DIR%%/lib_pypy/cffi/_embedding.h %%PYPY_DIR%%/lib_pypy/cffi/_pycparser/README Modified: head/lang/pypy3/Makefile ============================================================================== --- head/lang/pypy3/Makefile Sat Nov 4 09:04:31 2017 (r453444) +++ head/lang/pypy3/Makefile Sat Nov 4 09:33:51 2017 (r453445) @@ -6,9 +6,6 @@ DISTNAME= ${PORTNAME}-v${DISTVERSION}-src MASTERDIR= ${.CURDIR}/../pypy -ONLY_FOR_ARCHS= amd64 -ONLY_FOR_ARCHS_REASON= pypy3 is in beta development and upstream only supported amd64 for now - WRKSRC= ${WRKDIR}/${PORTNAME}-v${DISTVERSION:C/-.*//}-src BUILD_WRKSRC?= ${WRKDIR}/build/usession-release-${PORTNAME}.5-v${DISTVERSION:C/-.*//}-0/testing_1 Modified: head/lang/pypy3/distinfo ============================================================================== --- head/lang/pypy3/distinfo Sat Nov 4 09:04:31 2017 (r453444) +++ head/lang/pypy3/distinfo Sat Nov 4 09:33:51 2017 (r453445) @@ -1,3 +1,3 @@ -TIMESTAMP = 1497478958 -SHA256 (pypy3-v5.8.0-src.tar.bz2) = 9d090127335c3c0fd2b14c8835bf91752e62756e55ea06aad3353f24a6854223 -SIZE (pypy3-v5.8.0-src.tar.bz2) = 28986883 +TIMESTAMP = 1509472928 +SHA256 (pypy3-v5.9.0-src.tar.bz2) = a014f47f50a1480f871a0b82705f904b38c93c4ca069850eb37653fedafb1b97 +SIZE (pypy3-v5.9.0-src.tar.bz2) = 29055111 Added: head/lang/pypy3/files/patch-lib-python_2.7_ctypes_____init____.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-lib-python_2.7_ctypes_____init____.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,26 @@ +--- 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): Added: head/lang/pypy3/files/patch-lib-python_3_ctypes_____init____.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-lib-python_3_ctypes_____init____.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,23 @@ +--- 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>" % \ Added: head/lang/pypy3/files/patch-lib__pypy___curses__build.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-lib__pypy___curses__build.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,11 @@ +--- 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> Added: head/lang/pypy3/files/patch-pypy_module___rawffi_alt_interp__funcptr.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-pypy_module___rawffi_alt_interp__funcptr.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,58 @@ +--- 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) Added: head/lang/pypy3/files/patch-pypy_module___vmprof_test_test____vmprof.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-pypy_module___vmprof_test_test____vmprof.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,15 @@ +--- 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') Added: head/lang/pypy3/files/patch-pypy_module_termios_test_test__termios.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-pypy_module_termios_test_test__termios.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,12 @@ +--- 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: Added: head/lang/pypy3/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,11 @@ +--- 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 Added: head/lang/pypy3/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,9 @@ +--- 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') Added: head/lang/pypy3/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,11 @@ +--- 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 Added: head/lang/pypy3/files/patch-pypy_tool_cpyext_extbuild.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-pypy_tool_cpyext_extbuild.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,19 @@ +--- 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()], Added: head/lang/pypy3/files/patch-rpython_rlib_libffi.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-rpython_rlib_libffi.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,19 @@ +--- 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: Added: head/lang/pypy3/files/patch-rpython_rlib_rvmprof_cintf.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-rpython_rlib_rvmprof_cintf.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,14 @@ +--- rpython/rlib/rvmprof/cintf.py.orig 2017-10-03 10:53:54 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 = [] + + + eci_kwds = dict( Modified: head/lang/pypy3/files/patch-rpython_rlib_rvmprof_src_shared_machine.c ============================================================================== --- head/lang/pypy3/files/patch-rpython_rlib_rvmprof_src_shared_machine.c Sat Nov 4 09:04:31 2017 (r453444) +++ head/lang/pypy3/files/patch-rpython_rlib_rvmprof_src_shared_machine.c Sat Nov 4 09:33:51 2017 (r453445) @@ -1,20 +1,11 @@ ---- rpython/rlib/rvmprof/src/shared/machine.c.orig 2017-06-05 20:40:44 UTC +--- rpython/rlib/rvmprof/src/shared/machine.c.orig 2017-10-03 10:53:54 UTC +++ rpython/rlib/rvmprof/src/shared/machine.c -@@ -28,6 +28,8 @@ const char * vmp_machine_os_name(void) - #endif +@@ -28,7 +28,7 @@ const char * vmp_machine_os_name(void) #elif __linux__ return "linux"; -+#elif __FreeBSD__ + #elif __FreeBSD__ +- return "freebsd" + return "freebsd"; #else #error "Unknown compiler" - #endif -@@ -39,7 +41,7 @@ long vmp_fd_to_path(int fd, char * buffe - char proffs[24]; - (void)snprintf(proffs, 24, "/proc/self/fd/%d", fd); - return readlink(proffs, buffer, buffer_len); --#elif defined(VMPROF_UNIX) -+#elif defined(VMPROF_UNIX) && !defined(__FreeBSD__) - fcntl(fd, F_GETPATH, buffer); - return strlen(buffer); #endif Added: head/lang/pypy3/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,10 @@ +--- 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 + Added: head/lang/pypy3/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py Sat Nov 4 09:33:51 2017 (r453445) @@ -0,0 +1,20 @@ +--- 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 Modified: head/lang/pypy3/pkg-plist ============================================================================== --- head/lang/pypy3/pkg-plist Sat Nov 4 09:04:31 2017 (r453444) +++ head/lang/pypy3/pkg-plist Sat Nov 4 09:33:51 2017 (r453445) @@ -15,6 +15,9 @@ bin/pypy3 %%PYPY_DIR%%/include/code.h %%PYPY_DIR%%/include/compile.h %%PYPY_DIR%%/include/complexobject.h +%%PYPY_DIR%%/include/cpyext_descrobject.h +%%PYPY_DIR%%/include/cpyext_genobject.h +%%PYPY_DIR%%/include/cpyext_memoryobject.h %%PYPY_DIR%%/include/cpyext_moduleobject.h %%PYPY_DIR%%/include/cpyext_object.h %%PYPY_DIR%%/include/cpyext_unicodeobject.h @@ -26,8 +29,8 @@ bin/pypy3 %%PYPY_DIR%%/include/floatobject.h %%PYPY_DIR%%/include/frameobject.h %%PYPY_DIR%%/include/funcobject.h +%%PYPY_DIR%%/include/genobject.h %%PYPY_DIR%%/include/import.h -%%PYPY_DIR%%/include/intobject.h %%PYPY_DIR%%/include/listobject.h %%PYPY_DIR%%/include/longintrepr.h %%PYPY_DIR%%/include/longobject.h @@ -60,6 +63,7 @@ bin/pypy3 %%PYPY_DIR%%/include/sysmodule.h %%PYPY_DIR%%/include/traceback.h %%PYPY_DIR%%/include/tupleobject.h +%%PYPY_DIR%%/include/typeslots.h %%PYPY_DIR%%/include/unicodeobject.h %%PYPY_DIR%%/include/warnings.h %%PYPY_DIR%%/lib-python/3/__future__.py @@ -2206,6 +2210,8 @@ bin/pypy3 %%PYPY_DIR%%/lib_pypy/_syslog_cffi.%%PYPY_CFFI_VER%%.so %%PYPY_DIR%%/lib_pypy/_testcapi.py %%PYPY_DIR%%/lib_pypy/_testcapimodule.c +%%PYPY_DIR%%/lib_pypy/_testmultiphase.c +%%PYPY_DIR%%/lib_pypy/_testmultiphase.py %%PYPY_DIR%%/lib_pypy/_tkinter/__init__.py %%PYPY_DIR%%/lib_pypy/_tkinter/app.py %%PYPY_DIR%%/lib_pypy/_tkinter/license.terms @@ -2221,6 +2227,7 @@ bin/pypy3 %%PYPY_DIR%%/lib_pypy/cffi.egg-info/requires.txt %%PYPY_DIR%%/lib_pypy/cffi.egg-info/top_level.txt %%PYPY_DIR%%/lib_pypy/cffi/__init__.py +%%PYPY_DIR%%/lib_pypy/cffi/_cffi_errors.h %%PYPY_DIR%%/lib_pypy/cffi/_cffi_include.h %%PYPY_DIR%%/lib_pypy/cffi/_embedding.h %%PYPY_DIR%%/lib_pypy/cffi/_pycparser/README
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711040933.vA49Xp7n067616>