aboutsummaryrefslogtreecommitdiffstats
path: root/lang/pypy
diff options
context:
space:
mode:
authordbn <dbn@FreeBSD.org>2018-01-04 02:42:15 +0800
committerdbn <dbn@FreeBSD.org>2018-01-04 02:42:15 +0800
commitab8ddde14792e3580ead3a0b031bde52391c2262 (patch)
treea0e289c2da37d3b16f791634096715dac94e433c /lang/pypy
parentba17c74ff2ac01b60f41a187c7962bf7ce0ddf6d (diff)
downloadfreebsd-ports-gnome-ab8ddde14792e3580ead3a0b031bde52391c2262.tar.gz
freebsd-ports-gnome-ab8ddde14792e3580ead3a0b031bde52391c2262.tar.zst
freebsd-ports-gnome-ab8ddde14792e3580ead3a0b031bde52391c2262.zip
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
Diffstat (limited to 'lang/pypy')
-rw-r--r--lang/pypy/Makefile15
-rw-r--r--lang/pypy/bsd.pypy.cffi.mk15
-rw-r--r--lang/pypy/bsd.pypy.mk11
-rw-r--r--lang/pypy/distinfo6
-rw-r--r--lang/pypy/files/patch-lib-python_2.7_ctypes_____init____.py26
-rw-r--r--lang/pypy/files/patch-pypy_module___rawffi_alt_interp__funcptr.py58
-rw-r--r--lang/pypy/files/patch-pypy_module___vmprof_test_test____vmprof.py15
-rw-r--r--lang/pypy/files/patch-pypy_module_termios_test_test__termios.py12
-rw-r--r--lang/pypy/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py11
-rw-r--r--lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py9
-rw-r--r--lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py11
-rw-r--r--lang/pypy/files/patch-pypy_tool_cpyext_extbuild.py19
-rw-r--r--lang/pypy/files/patch-rpython_rlib_libffi.py19
-rw-r--r--lang/pypy/files/patch-rpython_rlib_rvmprof_cintf.py19
-rw-r--r--lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_machine.c11
-rw-r--r--lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c10
-rw-r--r--lang/pypy/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py20
17 files changed, 36 insertions, 251 deletions
diff --git a/lang/pypy/Makefile b/lang/pypy/Makefile
index f9121015cf04..f59a9b61ab6a 100644
--- a/lang/pypy/Makefile
+++ b/lang/pypy/Makefile
@@ -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' \
diff --git a/lang/pypy/bsd.pypy.cffi.mk b/lang/pypy/bsd.pypy.cffi.mk
index d3203ad3df07..ea45341db1bc 100644
--- a/lang/pypy/bsd.pypy.cffi.mk
+++ b/lang/pypy/bsd.pypy.cffi.mk
@@ -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"
diff --git a/lang/pypy/bsd.pypy.mk b/lang/pypy/bsd.pypy.mk
index 6ea33636c9cf..c6893ff513b0 100644
--- a/lang/pypy/bsd.pypy.mk
+++ b/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
diff --git a/lang/pypy/distinfo b/lang/pypy/distinfo
index fc711ba204a2..c3174cca458e 100644
--- a/lang/pypy/distinfo
+++ b/lang/pypy/distinfo
@@ -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
diff --git a/lang/pypy/files/patch-lib-python_2.7_ctypes_____init____.py b/lang/pypy/files/patch-lib-python_2.7_ctypes_____init____.py
deleted file mode 100644
index c4da33a7b185..000000000000
--- a/lang/pypy/files/patch-lib-python_2.7_ctypes_____init____.py
+++ /dev/null
@@ -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):
diff --git a/lang/pypy/files/patch-pypy_module___rawffi_alt_interp__funcptr.py b/lang/pypy/files/patch-pypy_module___rawffi_alt_interp__funcptr.py
deleted file mode 100644
index 699498f8cd16..000000000000
--- a/lang/pypy/files/patch-pypy_module___rawffi_alt_interp__funcptr.py
+++ /dev/null
@@ -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)
diff --git a/lang/pypy/files/patch-pypy_module___vmprof_test_test____vmprof.py b/lang/pypy/files/patch-pypy_module___vmprof_test_test____vmprof.py
deleted file mode 100644
index e02c72e584c7..000000000000
--- a/lang/pypy/files/patch-pypy_module___vmprof_test_test____vmprof.py
+++ /dev/null
@@ -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')
diff --git a/lang/pypy/files/patch-pypy_module_termios_test_test__termios.py b/lang/pypy/files/patch-pypy_module_termios_test_test__termios.py
deleted file mode 100644
index 14ecd7e409b2..000000000000
--- a/lang/pypy/files/patch-pypy_module_termios_test_test__termios.py
+++ /dev/null
@@ -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:
diff --git a/lang/pypy/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py b/lang/pypy/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py
deleted file mode 100644
index e5c8dbbe4c97..000000000000
--- a/lang/pypy/files/patch-pypy_module_test__lib__pypy_cffi__tests_cffi1_test__recompiler.py
+++ /dev/null
@@ -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
diff --git a/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py b/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py
deleted file mode 100644
index 2720cc8d6c83..000000000000
--- a/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_____init____.py
+++ /dev/null
@@ -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')
diff --git a/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py b/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py
deleted file mode 100644
index d9740cd548cc..000000000000
--- a/lang/pypy/files/patch-pypy_module_test__lib__pypy_pyrepl_test__readline.py
+++ /dev/null
@@ -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
diff --git a/lang/pypy/files/patch-pypy_tool_cpyext_extbuild.py b/lang/pypy/files/patch-pypy_tool_cpyext_extbuild.py
deleted file mode 100644
index 29918485e6b5..000000000000
--- a/lang/pypy/files/patch-pypy_tool_cpyext_extbuild.py
+++ /dev/null
@@ -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()],
diff --git a/lang/pypy/files/patch-rpython_rlib_libffi.py b/lang/pypy/files/patch-rpython_rlib_libffi.py
deleted file mode 100644
index 18147986f1f2..000000000000
--- a/lang/pypy/files/patch-rpython_rlib_libffi.py
+++ /dev/null
@@ -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:
diff --git a/lang/pypy/files/patch-rpython_rlib_rvmprof_cintf.py b/lang/pypy/files/patch-rpython_rlib_rvmprof_cintf.py
index 02bf9e415ff7..7c0585a17bd9 100644
--- a/lang/pypy/files/patch-rpython_rlib_rvmprof_cintf.py
+++ b/lang/pypy/files/patch-rpython_rlib_rvmprof_cintf.py
@@ -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')
diff --git a/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_machine.c b/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_machine.c
deleted file mode 100644
index 6d3464f5fef5..000000000000
--- a/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_machine.c
+++ /dev/null
@@ -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
diff --git a/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c b/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c
deleted file mode 100644
index a5c15b62e625..000000000000
--- a/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmp__stack.c
+++ /dev/null
@@ -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
-
diff --git a/lang/pypy/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py b/lang/pypy/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py
deleted file mode 100644
index 5a199dedd5dd..000000000000
--- a/lang/pypy/files/patch-rpython_rtyper_lltypesystem_ll2ctypes.py
+++ /dev/null
@@ -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