view 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
line wrap: on
line source

# 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 3
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=	pypy3 pypy310 pypy311
FLAVOR?=	pypy3

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} == pypy3
PLUGIN_NAME=	pypy3
PYPY_PACKAGE=	pypy310
PYPY_EXECUTABLE=	pypy3.10
PYPY_LDLIBRARY=	libpypy3.10-c.so
PYPY_LIBDIR=	lib/pypy3.10
.elif ${FLAVOR} == pypy310
PLUGIN_NAME=	pypy310
PYPY_PACKAGE=	pypy310
PYPY_EXECUTABLE=	pypy3.10
PYPY_LDLIBRARY=	libpypy3.10-c.so
PYPY_LIBDIR=	lib/pypy3.10
.elif ${FLAVOR} == pypy311
PLUGIN_NAME=	pypy311
PYPY_PACKAGE=	pypy311
PYPY_EXECUTABLE=	pypy3.11
PYPY_LDLIBRARY=	libpypy3.11-c.so
PYPY_LIBDIR=	lib/pypy3.11
.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

.if ${PLUGIN_NAME} != pypy3 && ${PLUGIN_NAME} != pypy38
post-patch:
	${REINPLACE_CMD} -i '' -e 's/pypy3_plugin/${PLUGIN_NAME}_plugin/g' ${WRKSRC}/${PLUGIN_SOURCE}/pypy_setup.py
.endif

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>