view bsd.pypy.mk @ 51:4693b4c466f7

Make Pypy3 build for Python 3.9 by default now
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 04 Jan 2023 20:50:19 +0100
parents 5276e5918459
children 4a27313c3f7d
line wrap: on
line source

# Common include for lang/pypy and lang/pypy3
# Also includes bsd.port.pre.mk

.if !defined(LICENSE)
LICENSE=	MIT PSFL
LICENSE_COMB=	multi
.endif

USES+=		compiler:c11

PYTHON_IMPL?=	${PORTNAME}
PYPY_DIR=	${PYTHON_IMPL}-${DISTVERSION:C|([0-9])\.([0-9]+).*|\1.\2|}
PLIST_SUB+=	PYPY_DIR=${PYPY_DIR} \
		PYPY_CFFI_VER=${PYPY_CFFI_VER} \
		PYPY_LDLIBRARY=${PYPY_LDLIBRARY}

.if ${PYTHON_IMPL} == pypy

DISTVERSION=	7.3.11
PY_VERSION_SHORT=	2.7
PYPY_CFFI_VER=	${PYTHON_IMPL}-73
PYPY_LDLIBRARY=	libpypy-c.so
PYPY_EXECUTABLE=	pypy-c

.else # ${PYTHON_IMPL} == pypy3

DISTVERSION=	7.3.11
PYPY_CFFI_VER=	${PYTHON_IMPL_NODOT}-pp${DISTVERSION:S|.||:C|\..*||}-${OPSYS:tl}${OSREL:C|\..*||}
PLIST_SUB+=	PYTHON_IMPL_MINOR=${PYTHON_IMPL_MINOR} \
		PY_VERSION_SHORT=${PY_VERSION_SHORT}

OPTIONS_SINGLE+=	FORPYIMPL

OPTIONS_SINGLE_FORPYIMPL=	FORPYIMPL37 FORPYIMPL38 FORPYIMPL39

FORPYIMPL_DESC=		Required Python compatibility
FORPYIMPL37_DESC=	Build for compat to Python 3.7
FORPYIMPL38_DESC=	Build for compat to Python 3.8
FORPYIMPL39_DESC=	Build for compat to Python 3.9

OPTIONS_SUB=		yes
OPTIONS_DEFAULT+=	FORPYIMPL39

.endif

PY_VERSION_NODOT=       ${PY_VERSION_SHORT:S/.//}
PYTHON_IMPL_MINOR=	pypy${PY_VERSION_SHORT}
PYTHON_IMPL_NODOT=	pypy${PY_VERSION_NODOT}

DISTINFO_FILE=		${.CURDIR}/distinfo.py${PY_VERSION_NODOT}

.include <bsd.port.pre.mk>

.if ${PORT_OPTIONS:MFORPYIMPL37}
PY_VERSION_SHORT=	3.7
PYPY_LDLIBRARY=		libpypy3-c.so
PYPY_EXECUTABLE=	pypy3-c
.endif
.if ${PORT_OPTIONS:MFORPYIMPL38}
PY_VERSION_SHORT=	3.8
PYPY_LDLIBRARY=		libpypy3-c.so
PYPY_EXECUTABLE=	pypy3-c
.endif
.if ${PORT_OPTIONS:MFORPYIMPL39}
PY_VERSION_SHORT=	3.9
PYPY_LDLIBRARY=		libpypy3.9-c.so
PYPY_EXECUTABLE=	pypy3.9-c
.endif