annotate uwsginl-plugin-lang-pypy3/Makefile @ 188:e18b5861868b

Compilation of all current FLAVORS of pypy3 works for 7.3.19. BUGS: Not yet tested.
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 14 Mar 2025 16:09:28 +0100
parents 13e07e75c111
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
1 # Created by: Franz Glasner <freebsd-dev@dom66.de>
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2
187
13e07e75c111 Naming of the packages for the pypy plugins: use the PyPy-version as suffix instead of a prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 185
diff changeset
3 PORTNAME= ${UWSGI_NAME}-plugin-lang
13e07e75c111 Naming of the packages for the pypy plugins: use the PyPy-version as suffix instead of a prefix.
Franz Glasner <fzglas.hg@dom66.de>
parents: 185
diff changeset
4 PKGNAMESUFFIX= -${FLAVOR}
138
0591ef28d649 Update port version to 2.1.pl5 (GH tag 4f7a47b7e058481ff1b327a2767093399a58b364 as of 20220921)
Franz Glasner <fzglas.hg@dom66.de>
parents: 132
diff changeset
5 #DISTVERSION= 2.0.20
185
6aa5c9b981b2 Bump version to 2.1.pl9: use the master branch again instead of the uwsgi-2.0 branch
Franz Glasner <fzglas.hg@dom66.de>
parents: 183
diff changeset
6 PORTVERSION= 2.1.pl9.g${MYGH_TAG_DATE}
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
7 CATEGORIES= www python
89
40e8d1ee1651 Use current GitHub head of trunk with master ports py3 and pypy3 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 88
diff changeset
8 # Use GitHub id for now (before official 2.1); see below
40e8d1ee1651 Use current GitHub head of trunk with master ports py3 and pypy3 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 88
diff changeset
9 #MASTER_SITES= https://projects.unbit.it/downloads/
40e8d1ee1651 Use current GitHub head of trunk with master ports py3 and pypy3 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 88
diff changeset
10 #DISTNAME= uwsgi-${DISTVERSION}
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
11
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
12 MAINTAINER= freebsd-dev@dom66.de
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
13 COMMENT= Language plugin for PyPy 3
143
8bb446cd21c1 Put the WWW information into the Makefiles for plugins also
Franz Glasner <fzglas.hg@dom66.de>
parents: 141
diff changeset
14 WWW= https://projects.unbit.it/uwsgi/
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
15
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16 LICENSE= GPLv2-WITH-LINKING-EXCEPTION
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17 LICENSE_GROUPS= FSF GPL OSI
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18 LICENSE_NAME= GPLv2 with linking exception
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19 LICENSE_FILE= ${WRKSRC}/LICENSE
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20 LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
21
188
e18b5861868b Compilation of all current FLAVORS of pypy3 works for 7.3.19.
Franz Glasner <fzglas.hg@dom66.de>
parents: 187
diff changeset
22 FLAVORS= pypy3 pypy310 pypy311
183
ba30d09e5481 Make pypy3 the default FLAVOR for pypy3 language plugins
Franz Glasner <fzglas.hg@dom66.de>
parents: 176
diff changeset
23 FLAVOR?= pypy3
158
661720cf51a3 Begin flavorizing of the pypy3 plugin to also handle PyPy3.9.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 143
diff changeset
24
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
25 BUILD_DEPENDS+= ${UWSGI_NAME}==${PORTVERSION}:www/uwsginl
172
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
26 BUILD_DEPENDS+= ${PYPY_PACKAGE}>=7:lang/${PYPY_PACKAGE}
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
27 RUN_DEPENDS+= ${UWSGI_NAME}==${PORTVERSION}:www/uwsginl
172
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
28 RUN_DEPENDS+= ${PYPY_PACKAGE}>=7:lang/${PYPY_PACKAGE}
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
29
141
aa65e876b77d Include CPE information into plugin builds also
Franz Glasner <fzglas.hg@dom66.de>
parents: 140
diff changeset
30 USES= cpe gettext-runtime pkgconfig
aa65e876b77d Include CPE information into plugin builds also
Franz Glasner <fzglas.hg@dom66.de>
parents: 140
diff changeset
31 CPE_VENDOR= unbit
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
32
89
40e8d1ee1651 Use current GitHub head of trunk with master ports py3 and pypy3 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 88
diff changeset
33 .include "${.CURDIR}/../uwsginl/Makefile.gh"
40e8d1ee1651 Use current GitHub head of trunk with master ports py3 and pypy3 also.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 88
diff changeset
34
90
3e92a10a2c96 For the PyPy3-plugin: use the proper shared library name for FreeBSD: libpypy3-co.so.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 89
diff changeset
35 EXTRA_PATCHES= ${.CURDIR}/files/extra
3e92a10a2c96 For the PyPy3-plugin: use the proper shared library name for FreeBSD: libpypy3-co.so.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 89
diff changeset
36
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
37 PLIST_FILES= ${PLUGIN_DIR}/${PLUGIN_FILENAME}
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
38
158
661720cf51a3 Begin flavorizing of the pypy3 plugin to also handle PyPy3.9.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 143
diff changeset
39 .if ${FLAVOR} == pypy3
661720cf51a3 Begin flavorizing of the pypy3 plugin to also handle PyPy3.9.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 143
diff changeset
40 PLUGIN_NAME= pypy3
172
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
41 PYPY_PACKAGE= pypy310
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
42 PYPY_EXECUTABLE= pypy3.10
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
43 PYPY_LDLIBRARY= libpypy3.10-c.so
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
44 PYPY_LIBDIR= lib/pypy3.10
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
45 .elif ${FLAVOR} == pypy310
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
46 PLUGIN_NAME= pypy310
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
47 PYPY_PACKAGE= pypy310
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
48 PYPY_EXECUTABLE= pypy3.10
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
49 PYPY_LDLIBRARY= libpypy3.10-c.so
f73cf640674a Build PyPy language plugins for pl7: pypy3, pypy39 and pypy310
Franz Glasner <fzglas.hg@dom66.de>
parents: 163
diff changeset
50 PYPY_LIBDIR= lib/pypy3.10
188
e18b5861868b Compilation of all current FLAVORS of pypy3 works for 7.3.19.
Franz Glasner <fzglas.hg@dom66.de>
parents: 187
diff changeset
51 .elif ${FLAVOR} == pypy311
e18b5861868b Compilation of all current FLAVORS of pypy3 works for 7.3.19.
Franz Glasner <fzglas.hg@dom66.de>
parents: 187
diff changeset
52 PLUGIN_NAME= pypy311
e18b5861868b Compilation of all current FLAVORS of pypy3 works for 7.3.19.
Franz Glasner <fzglas.hg@dom66.de>
parents: 187
diff changeset
53 PYPY_PACKAGE= pypy311
e18b5861868b Compilation of all current FLAVORS of pypy3 works for 7.3.19.
Franz Glasner <fzglas.hg@dom66.de>
parents: 187
diff changeset
54 PYPY_EXECUTABLE= pypy3.11
e18b5861868b Compilation of all current FLAVORS of pypy3 works for 7.3.19.
Franz Glasner <fzglas.hg@dom66.de>
parents: 187
diff changeset
55 PYPY_LDLIBRARY= libpypy3.11-c.so
e18b5861868b Compilation of all current FLAVORS of pypy3 works for 7.3.19.
Franz Glasner <fzglas.hg@dom66.de>
parents: 187
diff changeset
56 PYPY_LIBDIR= lib/pypy3.11
158
661720cf51a3 Begin flavorizing of the pypy3 plugin to also handle PyPy3.9.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 143
diff changeset
57 .endif
661720cf51a3 Begin flavorizing of the pypy3 plugin to also handle PyPy3.9.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 143
diff changeset
58
661720cf51a3 Begin flavorizing of the pypy3 plugin to also handle PyPy3.9.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 143
diff changeset
59 CFLAGS+= -DPYPY_LDLIBRARY="${PYPY_LDLIBRARY}" -DPYPY_LIBDIR="${PYPY_LIBDIR}" -DPYPY_PLUGIN_NAME="${PLUGIN_NAME}"
661720cf51a3 Begin flavorizing of the pypy3 plugin to also handle PyPy3.9.
Franz Glasner <f.glasner@feldmann-mg.com>
parents: 143
diff changeset
60
140
bbc009daf3c0 Remove direct use of "/usr/local" and replace by "${LOCALBASE}"
Franz Glasner <fzglas.hg@dom66.de>
parents: 138
diff changeset
61 MAKE_ENV+= UWSGI_PROFILE_OVERRIDE="plugin_build_dir=${STAGEDIR}${PREFIX}/${PLUGIN_DIR};plugin_dir=${PREFIX}/${PLUGIN_DIR}" PYTHON=${LOCALBASE}/bin/pypy3
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
62
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
63 DESCR= pkg-descr
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
64
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
65 UWSGI_NAME= uwsginl
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
66 UWSGI_PATH= ${LOCALBASE}/bin/${UWSGI_NAME}
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
67 PLUGIN_DIR= lib/${UWSGI_NAME}/plugins
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
68
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
69 # Where to find the sources for the plugin (defaults to plugins/${PLUGIN_NAME})
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
70 PLUGIN_SOURCE= plugins/pypy
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
71 # The complete basename of the plugin
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
72 PLUGIN_FILENAME= ${PLUGIN_NAME}_plugin.so
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
73
88
098130d0f0f0 All plugins by default use the PATCHDIR of the uwsginl binary.
Franz Glasner <fzglas.hg@dom66.de>
parents: 77
diff changeset
74 # Use the PATCHDIR of the binary executable by default
098130d0f0f0 All plugins by default use the PATCHDIR of the uwsginl binary.
Franz Glasner <fzglas.hg@dom66.de>
parents: 77
diff changeset
75 PATCHDIR?= ${.CURDIR}/../uwsginl/files
098130d0f0f0 All plugins by default use the PATCHDIR of the uwsginl binary.
Franz Glasner <fzglas.hg@dom66.de>
parents: 77
diff changeset
76
162
620a0992bf93 FIX: The exported symbol from a plugin really needs to match the name of the plugin
Franz Glasner <fzglas.hg@dom66.de>
parents: 160
diff changeset
77 .if ${PLUGIN_NAME} != pypy3 && ${PLUGIN_NAME} != pypy38
620a0992bf93 FIX: The exported symbol from a plugin really needs to match the name of the plugin
Franz Glasner <fzglas.hg@dom66.de>
parents: 160
diff changeset
78 post-patch:
620a0992bf93 FIX: The exported symbol from a plugin really needs to match the name of the plugin
Franz Glasner <fzglas.hg@dom66.de>
parents: 160
diff changeset
79 ${REINPLACE_CMD} -i '' -e 's/pypy3_plugin/${PLUGIN_NAME}_plugin/g' ${WRKSRC}/${PLUGIN_SOURCE}/pypy_setup.py
620a0992bf93 FIX: The exported symbol from a plugin really needs to match the name of the plugin
Franz Glasner <fzglas.hg@dom66.de>
parents: 160
diff changeset
80 .endif
620a0992bf93 FIX: The exported symbol from a plugin really needs to match the name of the plugin
Franz Glasner <fzglas.hg@dom66.de>
parents: 160
diff changeset
81
77
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
82 do-configure:
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
83 @${DO_NADA}
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
84
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
85 do-build:
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
86 @${MKDIR} ${STAGEDIR}${PREFIX}/${PLUGIN_DIR}
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
87 @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${UWSGI_PATH} --build-plugin "${PLUGIN_SOURCE} ${PLUGIN_NAME}")
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
88
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
89 do-install:
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
90 ${INSTALL_LIB} ${BUILD_WRKSRC}/${PLUGIN_FILENAME} ${STAGEDIR}${PREFIX}/${PLUGIN_DIR}
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
91
278470dc420d Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
92 .include <bsd.port.mk>