svn commit: r475489 - in head/lang: pypy pypy/files pypy3/files
Babak Farrokhi
farrokhi at FreeBSD.org
Sat Jul 28 05:26:23 UTC 2018
Author: farrokhi
Date: Sat Jul 28 05:26:21 2018
New Revision: 475489
URL: https://svnweb.freebsd.org/changeset/ports/475489
Log:
lang/pypy and lang/pypy3: Fix rvmprof build on FreeBSD
Originally pypy did not build on FreeBSD due to build failure in rvmprof. In order to build it on FreeBSD (and OpenBSD) you have to disable rvmprof during build process. This is what a previous patch [1][2] did to enable building on FreeBSD.
This is a patch obtained from upstream [3] that actually solves the rvmprof build problem which enables building pypy/pypy3 on FreeBSD with rvmprof enabled.
[1] https://svnweb.freebsd.org/changeset/ports/473994
[2] https://reviews.freebsd.org/D16138
[3] https://bitbucket.org/pypy/pypy/issues/2853/build-fails-on-freebsd-11x-x64#comment-46813575
Reviewed by: koobs, miwi, dbn
Approved by: miwi, dbn
Differential Revision: https://reviews.freebsd.org/D16378
Added:
head/lang/pypy/files/patch-rpython_rlib_rvmprof_cintf.py (contents, props changed)
head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmprof__unix.h (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_vmprof__unix.h (contents, props changed)
Deleted:
head/lang/pypy/files/patch-pypy_config_pypyoption.py
head/lang/pypy3/files/patch-pypy_config_pypyoption.py
Modified:
head/lang/pypy/Makefile
head/lang/pypy/bsd.pypy.mk
Modified: head/lang/pypy/Makefile
==============================================================================
--- head/lang/pypy/Makefile Sat Jul 28 03:37:53 2018 (r475488)
+++ head/lang/pypy/Makefile Sat Jul 28 05:26:21 2018 (r475489)
@@ -105,7 +105,7 @@ PLIST= ${.CURDIR}/pkg-plist
.include "${MASTERDIR}/bsd.pypy.mk"
.include <bsd.port.pre.mk>
-.if ${OPSYS} == FreeBSD && (${OSVERSION} < 1100000 || (${ARCH} != i386 && ${ARCH} != amd64))
+.if ${OPSYS} == FreeBSD && ${ARCH} != i386 && ${ARCH} != amd64
PYPY_ARGS= --withoutmod-_vmprof
.else
LIB_DEPENDS+= libunwind.so:devel/libunwind
Modified: head/lang/pypy/bsd.pypy.mk
==============================================================================
--- head/lang/pypy/bsd.pypy.mk Sat Jul 28 03:37:53 2018 (r475488)
+++ head/lang/pypy/bsd.pypy.mk Sat Jul 28 05:26:21 2018 (r475489)
@@ -13,8 +13,10 @@ PLIST_SUB+= PYPY_DIR=${PYPY_DIR} PYPY_CFFI_VER=${PYPY_
.if ${PYTHON_IMPL} == pypy
DISTVERSION= 6.0.0
+PORTREVISION= 1
PYPY_CFFI_VER= ${PYTHON_IMPL}-41
.else # ${PYTHON_IMPL} == pypy3
DISTVERSION= 6.0.0
+PORTREVISION= 1
PYPY_CFFI_VER= ${PYTHON_IMPL}-${DISTVERSION:S|.||:C|\..*||}-${OPSYS:tl}${OSREL:C|\..*||}
.endif
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 Jul 28 05:26:21 2018 (r475489)
@@ -0,0 +1,11 @@
+--- rpython/rlib/rvmprof/cintf.py.orig 2018-04-24 06:04:29 UTC
++++ rpython/rlib/rvmprof/cintf.py
+@@ -17,7 +17,7 @@ class VMProfPlatformUnsupported(Exceptio
+
+ # vmprof works only on x86 for now
+ IS_SUPPORTED = False
+-if sys.platform in ('darwin', 'linux', 'linux2'):
++if sys.platform in ('darwin', 'linux', 'linux2') or sys.platform.startswith('freebsd'):
+ try:
+ IS_SUPPORTED = detect_cpu.autodetect().startswith('x86')
+ except detect_cpu.ProcessorAutodetectError:
Added: head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmprof__unix.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/lang/pypy/files/patch-rpython_rlib_rvmprof_src_shared_vmprof__unix.h Sat Jul 28 05:26:21 2018 (r475489)
@@ -0,0 +1,12 @@
+--- rpython/rlib/rvmprof/src/shared/vmprof_unix.h.orig 2018-07-19 09:03:21 UTC
++++ rpython/rlib/rvmprof/src/shared/vmprof_unix.h
+@@ -24,6 +24,9 @@
+
+ #include "vmprof_mt.h"
+
++#ifdef __FreeBSD__
++#include <ucontext.h>
++#endif
+ #include <signal.h>
+
+ RPY_EXTERN void vmprof_ignore_signals(int ignored);
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 Jul 28 05:26:21 2018 (r475489)
@@ -0,0 +1,11 @@
+--- rpython/rlib/rvmprof/cintf.py.orig 2018-04-24 06:04:29 UTC
++++ rpython/rlib/rvmprof/cintf.py
+@@ -17,7 +17,7 @@ class VMProfPlatformUnsupported(Exceptio
+
+ # vmprof works only on x86 for now
+ IS_SUPPORTED = False
+-if sys.platform in ('darwin', 'linux', 'linux2'):
++if sys.platform in ('darwin', 'linux', 'linux2') or sys.platform.startswith('freebsd'):
+ try:
+ IS_SUPPORTED = detect_cpu.autodetect().startswith('x86')
+ except detect_cpu.ProcessorAutodetectError:
Added: head/lang/pypy3/files/patch-rpython_rlib_rvmprof_src_shared_vmprof__unix.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/lang/pypy3/files/patch-rpython_rlib_rvmprof_src_shared_vmprof__unix.h Sat Jul 28 05:26:21 2018 (r475489)
@@ -0,0 +1,12 @@
+--- rpython/rlib/rvmprof/src/shared/vmprof_unix.h.orig 2018-07-19 09:03:21 UTC
++++ rpython/rlib/rvmprof/src/shared/vmprof_unix.h
+@@ -24,6 +24,9 @@
+
+ #include "vmprof_mt.h"
+
++#ifdef __FreeBSD__
++#include <ucontext.h>
++#endif
+ #include <signal.h>
+
+ RPY_EXTERN void vmprof_ignore_signals(int ignored);
More information about the svn-ports-head
mailing list