Date: Sun, 21 Aug 2016 18:36:49 +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: r420576 - in head/lang: pypy pypy/files pypy3/files Message-ID: <201608211836.u7LIanBT020682@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dbn Date: Sun Aug 21 18:36:49 2016 New Revision: 420576 URL: https://svnweb.freebsd.org/changeset/ports/420576 Log: lang/pypy(3): unbreak on PowerPC. Unbreak build by: - correctly detecting PowerPC architecture, - excluding PowerPC specific assembler code (as there is none), and - fixing the JIT due to long double == double for PowerPC. Special thanks to swills who diligently tested multiple iterations of patches to eventually end up at a solution. Added: head/lang/pypy/files/patch-pypy_module___cffi__backend_misc.py (contents, props changed) head/lang/pypy/files/patch-rpython_jit_backend_detect__cpu.py (contents, props changed) head/lang/pypy/files/patch-rpython_translator_c_src_asm.c (contents, props changed) head/lang/pypy/files/patch-rpython_translator_c_src_asm.h (contents, props changed) head/lang/pypy3/files/patch-pypy_module___cffi__backend_misc.py (contents, props changed) head/lang/pypy3/files/patch-rpython_jit_backend_detect__cpu.py (contents, props changed) head/lang/pypy3/files/patch-rpython_translator_c_src_asm.c (contents, props changed) head/lang/pypy3/files/patch-rpython_translator_c_src_asm.h (contents, props changed) Modified: head/lang/pypy/Makefile Modified: head/lang/pypy/Makefile ============================================================================== --- head/lang/pypy/Makefile Sun Aug 21 17:11:30 2016 (r420575) +++ head/lang/pypy/Makefile Sun Aug 21 18:36:49 2016 (r420576) @@ -10,8 +10,6 @@ DISTNAME?= ${PORTNAME}2-v${PORTVERSION}- MAINTAINER= python@FreeBSD.org COMMENT= Fast, compliant implementation of the Python language -BROKEN_powerpc64= Does not build - LIB_DEPENDS= libexpat.so:textproc/expat2 \ libffi.so:devel/libffi TEST_DEPENDS= ${PREFIX}/${PYPY_DIR}/lib_pypy/_gdbm_cffi.${PYPY_CFFI_VER}.so:databases/pypy-gdbm \ Added: head/lang/pypy/files/patch-pypy_module___cffi__backend_misc.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-pypy_module___cffi__backend_misc.py Sun Aug 21 18:36:49 2016 (r420576) @@ -0,0 +1,10 @@ +--- pypy/module/_cffi_backend/misc.py.orig 2016-06-14 07:46:04 UTC ++++ pypy/module/_cffi_backend/misc.py +@@ -253,6 +253,7 @@ _is_nonnull_longdouble = rffi.llexternal + sandboxsafe=True) + + # split here for JIT backends that don't support floats/longlongs/etc. ++@jit.dont_look_inside + def is_nonnull_longdouble(cdata): + return _is_nonnull_longdouble(read_raw_longdouble_data(cdata)) + def is_nonnull_float(cdata, size): Added: head/lang/pypy/files/patch-rpython_jit_backend_detect__cpu.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-rpython_jit_backend_detect__cpu.py Sun Aug 21 18:36:49 2016 (r420576) @@ -0,0 +1,10 @@ +--- rpython/jit/backend/detect_cpu.py.orig 2016-06-14 07:46:04 UTC ++++ rpython/jit/backend/detect_cpu.py +@@ -61,6 +61,7 @@ def detect_model_from_host_platform(): + 'i86pc': MODEL_X86, # Solaris/Intel + 'x86': MODEL_X86, # Apple + 'Power Macintosh': MODEL_PPC_64, ++ 'powerpc': MODEL_PPC_64, # freebsd + 'ppc64': MODEL_PPC_64, + 'ppc64le': MODEL_PPC_64, + 'x86_64': MODEL_X86, Added: head/lang/pypy/files/patch-rpython_translator_c_src_asm.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-rpython_translator_c_src_asm.c Sun Aug 21 18:36:49 2016 (r420576) @@ -0,0 +1,13 @@ +--- rpython/translator/c/src/asm.c.orig 2016-06-14 07:46:04 UTC ++++ rpython/translator/c/src/asm.c +@@ -8,10 +8,6 @@ + /* # include "src/asm_gcc_x86_64.c" */ + #endif + +-#if defined(__GNUC__) && defined(__ppc__) +-# include "src/asm_ppc.c" +-#endif +- + #if defined(_MSC_VER) + # include "src/asm_msvc.c" + #endif Added: head/lang/pypy/files/patch-rpython_translator_c_src_asm.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy/files/patch-rpython_translator_c_src_asm.h Sun Aug 21 18:36:49 2016 (r420576) @@ -0,0 +1,13 @@ +--- rpython/translator/c/src/asm.h.orig 2016-06-14 07:46:04 UTC ++++ rpython/translator/c/src/asm.h +@@ -10,10 +10,6 @@ + # include "src/asm_gcc_x86_64.h" + #endif + +-#if defined(__GNUC__) && defined(__ppc__) +-# include "src/asm_ppc.h" +-#endif +- + #if defined(MS_WINDOWS) && defined(_MSC_VER) + # include "src/asm_msvc.h" + #endif Added: head/lang/pypy3/files/patch-pypy_module___cffi__backend_misc.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-pypy_module___cffi__backend_misc.py Sun Aug 21 18:36:49 2016 (r420576) @@ -0,0 +1,10 @@ +--- pypy/module/_cffi_backend/misc.py.orig 2016-06-14 07:46:04 UTC ++++ pypy/module/_cffi_backend/misc.py +@@ -253,6 +253,7 @@ _is_nonnull_longdouble = rffi.llexternal + sandboxsafe=True) + + # split here for JIT backends that don't support floats/longlongs/etc. ++@jit.dont_look_inside + def is_nonnull_longdouble(cdata): + return _is_nonnull_longdouble(read_raw_longdouble_data(cdata)) + def is_nonnull_float(cdata, size): Added: head/lang/pypy3/files/patch-rpython_jit_backend_detect__cpu.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-rpython_jit_backend_detect__cpu.py Sun Aug 21 18:36:49 2016 (r420576) @@ -0,0 +1,10 @@ +--- rpython/jit/backend/detect_cpu.py.orig 2016-06-14 07:46:04 UTC ++++ rpython/jit/backend/detect_cpu.py +@@ -61,6 +61,7 @@ def detect_model_from_host_platform(): + 'i86pc': MODEL_X86, # Solaris/Intel + 'x86': MODEL_X86, # Apple + 'Power Macintosh': MODEL_PPC_64, ++ 'powerpc': MODEL_PPC_64, # freebsd + 'ppc64': MODEL_PPC_64, + 'ppc64le': MODEL_PPC_64, + 'x86_64': MODEL_X86, Added: head/lang/pypy3/files/patch-rpython_translator_c_src_asm.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-rpython_translator_c_src_asm.c Sun Aug 21 18:36:49 2016 (r420576) @@ -0,0 +1,13 @@ +--- rpython/translator/c/src/asm.c.orig 2016-06-14 07:46:04 UTC ++++ rpython/translator/c/src/asm.c +@@ -8,10 +8,6 @@ + /* # include "src/asm_gcc_x86_64.c" */ + #endif + +-#if defined(__GNUC__) && defined(__ppc__) +-# include "src/asm_ppc.c" +-#endif +- + #if defined(_MSC_VER) + # include "src/asm_msvc.c" + #endif Added: head/lang/pypy3/files/patch-rpython_translator_c_src_asm.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/pypy3/files/patch-rpython_translator_c_src_asm.h Sun Aug 21 18:36:49 2016 (r420576) @@ -0,0 +1,13 @@ +--- rpython/translator/c/src/asm.h.orig 2016-06-14 07:46:04 UTC ++++ rpython/translator/c/src/asm.h +@@ -10,10 +10,6 @@ + # include "src/asm_gcc_x86_64.h" + #endif + +-#if defined(__GNUC__) && defined(__ppc__) +-# include "src/asm_ppc.h" +-#endif +- + #if defined(MS_WINDOWS) && defined(_MSC_VER) + # include "src/asm_msvc.h" + #endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608211836.u7LIanBT020682>