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-all mailing list