view uwsginl-plugin-lang-pypy3/Makefile @ 77:278470dc420d

Provide a "pypy3"-plugin project and make the PyPy-plugin compile properly on FreeBSD. Because pypy_setup.py needs to be properly included within the plugin binary the corresponding binary linking step has been changed to include an "-m" flag because on FreeBSD the current LLVM linker (ld.lld) obviously has no default setting. Per default it is derived from the first object file. But in the binary linking step there is no such .o file. It needs to be included within the uwsgi binary because it is neede to build the plugins when using the uwsgi binary with the "--build-plugin" option.
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 14 Jun 2020 20:03:33 +0200
parents
children badbe8b61265
line wrap: on
line source

# Created by: Franz Glasner <freebsd-dev@dom66.de>
# $FreeBSD$

PORTNAME=	${UWSGI_NAME}-plugin-lang-pypy3
DISTVERSION=	2.0.18
CATEGORIES=	www python
MASTER_SITES=	https://projects.unbit.it/downloads/
DISTNAME=	uwsgi-${DISTVERSION}

MAINTAINER=	freebsd-dev@dom66.de
COMMENT=	Language plugin for PyPy 3

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

BUILD_DEPENDS+=	${UWSGI_NAME}==${PORTVERSION}:www/uwsginl
BUILD_DEPENDS+=	pypy3>=6:lang/pypy3
RUN_DEPENDS+=	${UWSGI_NAME}==${PORTVERSION}:www/uwsginl
RUN_DEPENDS+=	pypy3>=6:lang/pypy3

USES=		gettext-runtime pkgconfig

PLIST_FILES=	${PLUGIN_DIR}/${PLUGIN_FILENAME}

MAKE_ENV+=	UWSGI_PROFILE_OVERRIDE="plugin_build_dir=${STAGEDIR}${PREFIX}/${PLUGIN_DIR};plugin_dir=${PREFIX}/${PLUGIN_DIR}" PYTHON=/usr/local/bin/pypy3

DESCR=		pkg-descr

UWSGI_NAME=	uwsginl
UWSGI_PATH=	${LOCALBASE}/bin/${UWSGI_NAME}
PLUGIN_DIR=	lib/${UWSGI_NAME}/plugins

# The name of the plugin to be created (to eventually  distingush py2 and py3)
PLUGIN_NAME=	pypy3
# 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

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>