annotate Makefile @ 60:4a2bf3c9eb24

FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
author Franz Glasner <hg@dom66.de>
date Wed, 10 Jan 2024 17:57:02 +0100
parents e25be229d3b6
children 87850df999db
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
1 # Created by: David Naylor <naylor.b.david@gmail.com>
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
3 PORTNAME?= pypy
49
fbd13af3b578 Update to build PyPy on FreeBSD 13.1 with dist version 7.3.11
Franz Glasner <fzglas.hg@dom66.de>
parents: 46
diff changeset
4 PORTREVISION?= 0
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
5 CATEGORIES= lang python
10
c269f1e91387 Update to build PyPy on FreeBSD 13.1 with dist versilon 7.3.9
Franz Glasner <fzglas.hg@dom66.de>
parents: 2
diff changeset
6 MASTER_SITES= https://downloads.python.org/pypy/
21
27f6cd24b808 More centralized Python version management
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 20
diff changeset
7 DISTNAME?= ${PYTHON_IMPL_MINOR}-v${DISTVERSION}-src
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
8
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
9 MAINTAINER= python@FreeBSD.org
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
10 COMMENT= Fast, compliant implementation of the Python language
12
a92355d5c173 Put the "WWW" info into the Makefile now
Franz Glasner <fzglas.hg@dom66.de>
parents: 10
diff changeset
11 WWW= http://pypy.org
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
12
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
13 LICENSE= MIT PSFL
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
14 LICENSE_COMB= multi
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
15 LICENSE_FILE_MIT= ${WRKSRC}/LICENSE
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17 BROKEN_armv6= fails to package: pypy_objspace_std.c: Crash in JIT!
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18 BROKEN_armv7= fails to package: pypy_objspace_std.c: Crash in JIT!
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19 BROKEN_powerpc64= fails to compile: platcheck_109.c: fatal error: linux/auxvec.h: No such file or directory
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20 ONLY_FOR_ARCHS?= amd64 armv6 armv7 i386 powerpc64 powerpc64le
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
21 ONLY_FOR_ARCHS_REASON?= PyPy JIT only supported on these architectures
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
22
14
0e79fd0685d3 Because the slave port pypy3 now needs an extra LIB_DEPENDS item just add here only; do not overwrite
Franz Glasner <fzglas.hg@dom66.de>
parents: 12
diff changeset
23 LIB_DEPENDS+= libexpat.so:textproc/expat2 \
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
24 libffi.so:devel/libffi
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
25 TEST_DEPENDS= ${LOCALBASE}/${PYPY_DIR}/lib_pypy/_gdbm_cffi.${PYPY_CFFI_VER}.so:databases/pypy-gdbm \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
26 ${LOCALBASE}/${PYPY_DIR}/lib_pypy/_sqlite3_cffi.${PYPY_CFFI_VER}.so:databases/pypy-sqlite3 \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
27 ${LOCALBASE}/${PYPY_DIR}/lib_pypy/_tkinter/tklib_cffi.${PYPY_CFFI_VER}.so:x11-toolkits/pypy-tkinter
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
28
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
29 USES= gettext-runtime gmake shebangfix ssl tar:bzip2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
30 USE_LDCONFIG= ${PREFIX}/${PYPY_DIR}/bin
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
31
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
32 OPTIONS_SINGLE= TRANS
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
33 OPTIONS_SINGLE_TRANS= PYTHON
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
34 PYTHON_DESC= Use Python-2.7 to translate (slowest)
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
35 PYPY_DESC= Use PyPy to translate (fastest, highest memory usage)
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
36 PYPY_MINMEM_DESC= Use PyPy to translate (lowest memory usage)
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
37 TRANS_DESC= Translation method
59
e25be229d3b6 Order of LOCALBASE
Franz Glasner <hg@dom66.de>
parents: 58
diff changeset
38
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
39 # Only allow building with pypy if it wouldn't cause a dependency loop (pypy depending on itself)
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
40 .if exists(${LOCALBASE}/bin/pypy) || ${PORTNAME} != pypy
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
41 OPTIONS_SINGLE_TRANS+= PYPY PYPY_MINMEM
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
42 . if exists(${LOCALBASE}/bin/pypy)
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
43 OPTIONS_DEFAULT= PYPY_MINMEM
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
44 . else
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
45 OPTIONS_DEFAULT= PYTHON
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
46 . endif
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
47 .else
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
48 OPTIONS_SLAVE= PYTHON
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
49 .endif
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
50
59
e25be229d3b6 Order of LOCALBASE
Franz Glasner <hg@dom66.de>
parents: 58
diff changeset
51 LOCALBASE?= /usr/local
e25be229d3b6 Order of LOCALBASE
Franz Glasner <hg@dom66.de>
parents: 58
diff changeset
52
43
af3a2629a882 Allow to build PyPy3.9: the target name in the generated Makefile has changed
Franz Glasner <fzglas.hg@dom66.de>
parents: 42
diff changeset
53 ALL_TARGET= ${PYPY_EXECUTABLE}
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
54 BUILD_WRKSRC?= ${WRKDIR}/build/usession-${PORTNAME}-0/testing_1
45
5e046980990d Call the package.py script with WRKSRC as the CWD.
Franz Glasner <fzglas.hg@dom66.de>
parents: 43
diff changeset
55 MAKE_ENV+= PYPY_LOCALBASE=${LOCALBASE} LDSHARED="${CC} -shared"
10
c269f1e91387 Update to build PyPy on FreeBSD 13.1 with dist versilon 7.3.9
Franz Glasner <fzglas.hg@dom66.de>
parents: 2
diff changeset
56 PACKAGE_ARGS?= --without-gdbm --without-sqlite3 --without-_tkinter
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
57 LLD_UNSAFE= yes
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
58 SHEBANG_FILES?= lib-python/2.7/plat-mac/appletrunner.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
59 lib-python/2.7/plat-mac/bundlebuilder.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
60 lib-python/2.7/keyword.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
61 lib-python/2.7/test/regrtest.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
62 lib-python/2.7/test/pystone.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
63 lib-python/2.7/test/curses_tests.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
64 lib-python/2.7/test/re_tests.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
65 lib-python/2.7/test/crashers/recursive_call.py \
10
c269f1e91387 Update to build PyPy on FreeBSD 13.1 with dist versilon 7.3.9
Franz Glasner <fzglas.hg@dom66.de>
parents: 2
diff changeset
66 lib-python/2.7/test/bisect_cmd.py \
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
67 lib-python/2.7/UserString.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
68 lib-python/2.7/pdb.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
69 lib-python/2.7/mimify.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
70 lib-python/2.7/pydoc.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
71 lib-python/2.7/uu.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
72 lib-python/2.7/trace.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
73 lib-python/2.7/platform.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
74 lib-python/2.7/profile.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
75 lib-python/2.7/tabnanny.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
76 lib-python/2.7/lib2to3/tests/pytree_idempotency.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
77 lib-python/2.7/lib2to3/tests/data/false_encoding.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
78 lib-python/2.7/lib2to3/tests/data/different_encoding.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
79 lib-python/2.7/lib2to3/pgen2/token.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
80 lib-python/2.7/encodings/rot_13.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
81 lib-python/2.7/base64.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
82 lib-python/2.7/webbrowser.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
83 lib-python/2.7/idlelib/PyShell.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
84 lib-python/2.7/cgi.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
85 lib-python/2.7/symbol.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
86 lib-python/2.7/cProfile.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
87 lib-python/2.7/smtpd.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
88 lib-python/2.7/quopri.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
89 lib-python/2.7/timeit.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
90 lib-python/2.7/smtplib.py \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
91 lib_pypy/_cffi_ssl/tools/make_ssl_data.py
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
92
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
93 python_OLD_CMD= ${LOCALBASE}/bin/python
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
94 python_CMD= ${PREFIX}/bin/${PORTNAME}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
95
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
96 .if ${PORTNAME} != pypy
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
97 PYPY_BUILD_DEPENDS= pypy:lang/pypy
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
98 PYPY_MINMEM_BUILD_DEPENDS= pypy:lang/pypy
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
99 .endif
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
100 PYPY_VARS= PYTHON_CMD=${LOCALBASE}/bin/pypy
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
101 PYPY_MINMEM_VARS= PYTHON_CMD="${SETENV} PYPY_GC_MAX_DELTA=200MB ${LOCALBASE}/bin/pypy --jit loop_longevity=300"
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
102 PYTHON_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycparser>=2.10:devel/py-pycparser@${PY_FLAVOR}
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
103 PYTHON_USES= python:2.7,build
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
104
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
105 DESCR= ${.CURDIR}/pkg-descr
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
106 PATCHDIR= ${.CURDIR}/files
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
107
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
108 .include "bsd.pypy.mk"
20
246c2f328231 Now include bsd.port.pre.mk automitically from within bsd.pypy.mk
Franz Glasner <fzglas.hg@dom66.de>
parents: 18
diff changeset
109 #.include <bsd.port.pre.mk>
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
110
24
d2d396c79e9f Allow to overwrite DISTINFO_FILE and PLIST from slave ports.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 21
diff changeset
111 DISTINFO_FILE?= ${.CURDIR}/distinfo
d2d396c79e9f Allow to overwrite DISTINFO_FILE and PLIST from slave ports.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 21
diff changeset
112 PLIST?= ${.CURDIR}/pkg-plist
d2d396c79e9f Allow to overwrite DISTINFO_FILE and PLIST from slave ports.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 21
diff changeset
113
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
114 .if ${OPSYS} == FreeBSD && ${ARCH} != i386 && ${ARCH} != amd64
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
115 PYPY_ARGS= --withoutmod-_vmprof
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
116 .else
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
117 LIB_DEPENDS+= libunwind.so:devel/libunwind
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
118 .endif
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
119
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
120 pre-build:
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
121 if [ ! -f ${BUILD_WRKSRC}/Makefile ]; then \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
122 ${RM} -r ${WRKDIR}/build; \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
123 ${MKDIR} ${WRKDIR}/build; \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
124 (cd ${WRKSRC}/pypy/goal; \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
125 ${SETENV} ${MAKE_ENV} TMPDIR=${WRKDIR}/build PYPY_USESSION_BASENAME=${PORTNAME} \
56
585cf5a218ad Allow to build PyPy-v7.3.14 on FreeBSD 13.2:
Franz Glasner <fzglas.hg@dom66.de>
parents: 49
diff changeset
126 ${PYTHON_CMD} ../../rpython/bin/rpython --source --opt=jit targetpypystandalone.py ${PYPY_ARGS}); \
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
127 fi
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
128
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
129 post-build:
43
af3a2629a882 Allow to build PyPy3.9: the target name in the generated Makefile has changed
Franz Glasner <fzglas.hg@dom66.de>
parents: 42
diff changeset
130 ${CP} ${BUILD_WRKSRC}/${PYPY_EXECUTABLE} ${BUILD_WRKSRC}/${PYPY_LDLIBRARY} ${WRKSRC}/pypy/goal/
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
131
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
132 do-install:
45
5e046980990d Call the package.py script with WRKSRC as the CWD.
Franz Glasner <fzglas.hg@dom66.de>
parents: 43
diff changeset
133 (cd ${WRKSRC}; \
5e046980990d Call the package.py script with WRKSRC as the CWD.
Franz Glasner <fzglas.hg@dom66.de>
parents: 43
diff changeset
134 ${SETENV} ${MAKE_ENV} TMPDIR=${WRKDIR}/build \
5e046980990d Call the package.py script with WRKSRC as the CWD.
Franz Glasner <fzglas.hg@dom66.de>
parents: 43
diff changeset
135 ${PYTHON_CMD} ${WRKSRC}/pypy/tool/release/package.py --builddir ${WRKDIR}/build --archive-name ${PYPY_DIR} \
5e046980990d Call the package.py script with WRKSRC as the CWD.
Franz Glasner <fzglas.hg@dom66.de>
parents: 43
diff changeset
136 ${PACKAGE_ARGS})
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
137 ${EXTRACT_CMD} -C ${STAGEDIR}${PREFIX} -xf ${WRKDIR}/build/${PYPY_DIR}.tar.bz2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
138 ${LN} -fs ../${PYPY_DIR}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
58
4d4875f64305 FIX: .sp stripping also needs to be done for Python Impl 3.10
Franz Glasner <fzglas.hg@dom66.de>
parents: 56
diff changeset
139 .if ${PORT_OPTIONS:MFORPYIMPL38} || ${PORT_OPTIONS:MFORPYIMPL39} || ${PORT_OPTIONS:MFORPYIMPL310}
42
08af0d826e3b When installing: do properly strip the generated shared libs for PyPy3.8 and PyPy3.9 also.
Franz Glasner <fzglas.hg@dom66.de>
parents: 39
diff changeset
140 ${FIND} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYTHON_IMPL_MINOR} -name '*.so' | ${XARGS} ${STRIP_CMD}
08af0d826e3b When installing: do properly strip the generated shared libs for PyPy3.8 and PyPy3.9 also.
Franz Glasner <fzglas.hg@dom66.de>
parents: 39
diff changeset
141 .else
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
142 ${FIND} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/ -name '*.so' | ${XARGS} ${STRIP_CMD}
42
08af0d826e3b When installing: do properly strip the generated shared libs for PyPy3.8 and PyPy3.9 also.
Franz Glasner <fzglas.hg@dom66.de>
parents: 39
diff changeset
143 .endif
60
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
144 .if ${PORT_OPTIONS:MFORPYIMPL39} || ${PORT_OPTIONS:MFORPYIMPL310}
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
145 .if ${PORT_OPTIONS:MBYTECOMPILE}
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
146 @echo Byte-compile the Python standard library for optimization levels 0, 1 and 2 with invalidation mode ${COMPILEALL_INVALIDATIONMODE}
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
147 (cd ${STAGEDIR}${PREFIX}/${PYPY_DIR} && ${SETENV} LD_LIBRARY_PATH=${WRKSRC}/pypy/goal \
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
148 ${WRKSRC}/pypy/goal/${PYPY_EXECUTABLE} -B -I -m compileall --invalidation-mode=${COMPILEALL_INVALIDATIONMODE} -q -x '/tests?/' -o 0 -o 1 -o 2 -d "${PREFIX}/${PYPY_DIR}/lib" lib)
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
149 .else
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
150 @echo Distribution of byte-compiled standard library files is deactivated
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
151 .endif
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
152 .else
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
153 @echo Byte-compilation of standard library files is not yet supported
4a2bf3c9eb24 FIX: Apply byte-compilation in the "main" Makefile because of MAKE variable issues and allow configuration of byte-compilation in build options
Franz Glasner <hg@dom66.de>
parents: 59
diff changeset
154 .endif
2
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
155
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
156 do-test:
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
157 # See https://bitbucket.org/pypy/buildbot/src/default/bot2/pypybuildbot/builds.py?at=default#builds.py-386
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
158 # add_translated_tests()
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
159 (cd ${WRKSRC}; \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
160 ${SETENV} ${MAKE_ENV} TMPDIR=${WRKDIR}/build PYTHONPATH=${WRKSRC} \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
161 ${WRKSRC}/pypy/goal/pypy-c testrunner/runner.py --root pypy --logfile=pytest-A.log \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
162 --parallel-runs ${MAKE_JOBS_NUMBER} \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
163 --config pypy/pytest-A.cfg --config pypy/pytest-A.py)
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
164 .for dir in lib-python pypy/module/pypyjit/test
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
165 (cd ${WRKSRC}; \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
166 ${SETENV} ${MAKE_ENV} TMPDIR=${WRKDIR}/build PYTHONPATH=${WRKSRC} \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
167 ${WRKSRC}/pypy/goal/pypy-c pypy/test_all.py --basetemp ${WRKDIR}/build --pypy pypy/goal/pypy-c \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
168 ${dir} )
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
169 .endfor
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
170 (cd ${WRKSRC}/lib-python/2.7/test; \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
171 ${SETENV} ${MAKE_ENV} TMPDIR=${WRKDIR}/build PYTHONPATH=${WRKSRC} \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
172 ${WRKSRC}/pypy/goal/pypy-c regrtest.py -vvu all)
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
173
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
174 pkg-plist: stage
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
175 ${TAR} -tf ${WRKDIR}/build/${PYPY_DIR}.tar.bz2 > ${WRKDIR}/.plist-files-gen
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
176 ${REINPLACE_CMD} -e 's|^${PYPY_DIR}|%%PYPY_DIR%%|g' \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
177 -e 's|${PYPY_CFFI_VER}|%%PYPY_CFFI_VER%%|g' \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
178 -e 's/\(.*\/__pycache__\)\/$$/@dir \1/g' \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
179 -e '/\/$$/d' \
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
180 ${WRKDIR}/.plist-files-gen
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
181 ${ECHO} bin/${PORTNAME} > ${WRKDIR}/pkg-plist
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
182 ${SORT} ${WRKDIR}/.plist-files-gen | ${GREP} -v '\.orig' >> ${WRKDIR}/pkg-plist
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
183 ${CP} ${WRKDIR}/pkg-plist ${.CURDIR}/pkg-plist
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
184
5797a1bc38cb ADD: the latest easily available port of lang/pypy
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
185 .include <bsd.port.post.mk>