diff lang/pypy3/Makefile @ 137:aa62b751b2af

Make a lang/pypy3 port: a meta-port for the current ("default") PyPy3 version
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 14 Jan 2024 21:50:07 +0100
parents b907e948fed9
children 1e06396580ad
line wrap: on
line diff
--- a/lang/pypy3/Makefile	Sun Jan 14 18:20:21 2024 +0100
+++ b/lang/pypy3/Makefile	Sun Jan 14 21:50:07 2024 +0100
@@ -1,72 +1,39 @@
 # Created by: David Naylor <dbn@FreeBSD.org>
 
 PORTNAME=	pypy3
-PORTREVISION=	0
-DISTNAME=	${PYTHON_IMPL_MINOR}-v${DISTVERSION}-src
-
-MASTERDIR=	${.CURDIR}/../pypy2
+PORTVERSION=	3
+PORTEPOCH=	1
+CATEGORIES=	lang python
+MASTER_SITES=
+DISTFILES=
 
-WRKSRC=		${WRKDIR}/${PYTHON_IMPL_MINOR}-v${DISTVERSION:C/-.*//}-src
+MAINTAINER=	fzglas.hg@dom66.de
+COMMENT=	Meta-port for the PyPy Python implementation (PyPy3)
+WWW=		https://www.pypy.org
+
+LICENSE=	MIT
 
-# Without gdbm is not supported on v7.3.9 any more: no extra package needed
-LIB_DEPENDS+=	libgdbm.so:databases/gdbm
-# We also need for dbm.ndbm the BerkeleyDB in version 5
-LIB_DEPENDS+=	libdb-5.so:databases/db5
+RUN_DEPENDS=	${LOCALBASE}/bin/pypy${PYPY_PYTHON_IMPL_VERSION}:lang/${PYPY_PORT}
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+NO_TEST=	yes
 
-SHEBANG_FILES=	\
-		lib-python/3/base64.py \
-		lib-python/3/cProfile.py \
-		lib-python/3/cgi.py \
-		lib-python/3/encodings/rot_13.py \
-		lib-python/3/keyword.py \
-		lib-python/3/idlelib/pyshell.py \
-		lib-python/3/lib2to3/pgen2/token.py \
-		lib-python/3/lib2to3/tests/data/different_encoding.py \
-		lib-python/3/lib2to3/tests/data/false_encoding.py \
-		lib-python/3/lib2to3/tests/pytree_idempotency.py \
-		lib-python/3/pdb.py \
-		lib-python/3/platform.py \
-		lib-python/3/profile.py \
-		lib-python/3/pydoc.py \
-		lib-python/3/quopri.py \
-		lib-python/3/smtpd.py \
-		lib-python/3/smtplib.py \
-		lib-python/3/symbol.py \
-		lib-python/3/tabnanny.py \
-		lib-python/3/tarfile.py \
-		lib-python/3/test/bisect_cmd.py \
-		lib-python/3/test/crashers/recursive_call.py \
-		lib-python/3/test/curses_tests.py \
-		lib-python/3/test/pystone.py \
-		lib-python/3/test/re_tests.py \
-		lib-python/3/test/regrtest.py \
-		lib-python/3/timeit.py \
-		lib-python/3/trace.py \
-		lib-python/3/turtledemo/bytedesign.py \
-		lib-python/3/turtledemo/clock.py \
-		lib-python/3/turtledemo/forest.py \
-		lib-python/3/turtledemo/fractalcurves.py \
-		lib-python/3/turtledemo/lindenmayer.py \
-		lib-python/3/turtledemo/minimal_hanoi.py \
-		lib-python/3/turtledemo/paint.py \
-		lib-python/3/turtledemo/peace.py \
-		lib-python/3/turtledemo/penrose.py \
-		lib-python/3/turtledemo/planet_and_moon.py \
-		lib-python/3/turtledemo/tree.py \
-		lib-python/3/turtledemo/yinyang.py \
-		lib-python/3/uu.py \
-		lib-python/3/webbrowser.py \
-		lib_pypy/_cffi_ssl/tools/make_ssl_data.py
+PLIST_FILES=	bin/pypy${PYPY_PYTHON_IMPL_VER_MAJOR} \
+		${PYPY_DIR}/bin/pypy${PYPY_PYTHON_IMPL_VER_MAJOR} \
+		${PYPY_DIR}/bin/python${PYPY_PYTHON_IMPL_VER_MAJOR}
 
-FORPYIMPL39_VARS=	PLIST=${.CURDIR}/pkg-plist.py39
-
-FORPYIMPL310_VARS=	PLIST=${.CURDIR}/pkg-plist.py310
-
-PACKAGE_ARGS=	--without-sqlite3 --without-_tkinter
+# The default PyPy version that this meta-port is dependent on
+PYPY_VERSION=	7.3.14
+PYPY_PYTHON_IMPL_VERSION=	3.10
+PYPY_PYTHON_IMPL_VER_MAJOR=	${PYPY_PYTHON_IMPL_VERSION:C|([0-9]+)\.[0-9]+|\1|}
+PYPY_PORT=	pypy310
+PYPY_DIR=	pypy${PYPY_PYTHON_IMPL_VER_MAJOR}-${PYPY_VERSION:C|([0-9]+)\.([0-9]+).*|\1.\2|}
 
-pre-install:
-	${FIND} ${WRKSRC} -name '*.pyc' -delete
-	#${CHMOD} -R a-w ${WRKSRC}
-	#${CHMOD} -R u+w ${WRKSRC}/lib_pypy
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/bin
+	${LN} -sf ../${PYPY_DIR}/bin/pypy${PYPY_PYTHON_IMPL_VERSION} ${STAGEDIR}${PREFIX}/bin/pypy${PYPY_PYTHON_IMPL_VER_MAJOR}
+	${LN} -sf pypy${PYPY_PYTHON_IMPL_VERSION} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/bin/pypy${PYPY_PYTHON_IMPL_VER_MAJOR}
+	${LN} -sf pypy${PYPY_PYTHON_IMPL_VERSION} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/bin/python${PYPY_PYTHON_IMPL_VER_MAJOR}
 
-.include "${MASTERDIR}/Makefile"
+.include <bsd.port.mk>