diff uwsginl-plugin-lang-pypy2/Makefile @ 189:6ff66311cfe5

Provide a uwsgi language plugin for PyPy2 also
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 15 Mar 2025 12:20:38 +0100
parents uwsginl-plugin-lang-pypy3/Makefile@e18b5861868b
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uwsginl-plugin-lang-pypy2/Makefile	Sat Mar 15 12:20:38 2025 +0100
@@ -0,0 +1,75 @@
+# Created by: Franz Glasner <freebsd-dev@dom66.de>
+
+PORTNAME=	${UWSGI_NAME}-plugin-lang
+PKGNAMESUFFIX=	-${FLAVOR}
+#DISTVERSION=	2.0.20
+PORTVERSION=	2.1.pl9.g${MYGH_TAG_DATE}
+CATEGORIES=	www python
+# Use GitHub id for now (before official 2.1); see below
+#MASTER_SITES=	https://projects.unbit.it/downloads/
+#DISTNAME=	uwsgi-${DISTVERSION}
+
+MAINTAINER=	freebsd-dev@dom66.de
+COMMENT=	Language plugin for PyPy 2
+WWW=		https://projects.unbit.it/uwsgi/
+
+LICENSE=	GPLv2-WITH-LINKING-EXCEPTION
+LICENSE_GROUPS=	FSF GPL OSI
+LICENSE_NAME=	GPLv2 with linking exception
+LICENSE_FILE=	${WRKSRC}/LICENSE
+LICENSE_PERMS=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+FLAVORS=	pypy2
+FLAVOR?=	pypy2
+
+BUILD_DEPENDS+=	${UWSGI_NAME}==${PORTVERSION}:www/uwsginl
+BUILD_DEPENDS+=	${PYPY_PACKAGE}>=7:lang/${PYPY_PACKAGE}
+RUN_DEPENDS+=	${UWSGI_NAME}==${PORTVERSION}:www/uwsginl
+RUN_DEPENDS+=	${PYPY_PACKAGE}>=7:lang/${PYPY_PACKAGE}
+
+USES=		cpe gettext-runtime pkgconfig
+CPE_VENDOR=	unbit
+
+.include        "${.CURDIR}/../uwsginl/Makefile.gh"
+
+EXTRA_PATCHES=	${.CURDIR}/files/extra
+
+PLIST_FILES=	${PLUGIN_DIR}/${PLUGIN_FILENAME}
+
+.if ${FLAVOR} == pypy2
+PLUGIN_NAME=	pypy2
+PYPY_PACKAGE=	pypy2
+PYPY_EXECUTABLE=	pypy2.7
+PYPY_LDLIBRARY=	libpypy-c.so
+PYPY_LIBDIR=	lib-python/2.7
+.endif
+
+CFLAGS+=	-DPYPY_LDLIBRARY="${PYPY_LDLIBRARY}" -DPYPY_LIBDIR="${PYPY_LIBDIR}" -DPYPY_PLUGIN_NAME="${PLUGIN_NAME}"
+
+MAKE_ENV+=	UWSGI_PROFILE_OVERRIDE="plugin_build_dir=${STAGEDIR}${PREFIX}/${PLUGIN_DIR};plugin_dir=${PREFIX}/${PLUGIN_DIR}" PYTHON=${LOCALBASE}/bin/pypy3
+
+DESCR=		pkg-descr
+
+UWSGI_NAME=	uwsginl
+UWSGI_PATH=	${LOCALBASE}/bin/${UWSGI_NAME}
+PLUGIN_DIR=	lib/${UWSGI_NAME}/plugins
+
+# Where to find the sources for the plugin (defaults to plugins/${PLUGIN_NAME})
+PLUGIN_SOURCE=	plugins/pypy
+# The complete basename of the plugin
+PLUGIN_FILENAME=	${PLUGIN_NAME}_plugin.so
+
+# Use the PATCHDIR of the binary executable by default
+PATCHDIR?=		${.CURDIR}/../uwsginl/files
+
+do-configure:
+	@${DO_NADA}
+
+do-build:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/${PLUGIN_DIR}
+	@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${UWSGI_PATH} --build-plugin "${PLUGIN_SOURCE} ${PLUGIN_NAME}")
+
+do-install:
+	${INSTALL_LIB} ${BUILD_WRKSRC}/${PLUGIN_FILENAME} ${STAGEDIR}${PREFIX}/${PLUGIN_DIR}
+
+.include <bsd.port.mk>