changeset 156:4faa067df432

Build databases/pypy3-sqlite3 for pypy39 and pypy310
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Jan 2024 09:55:12 +0100
parents 26ce40621295
children f6aac0f4ad1e
files databases/pypy3-sqlite3/.hgignore databases/pypy3-sqlite3/.hgtags databases/pypy3-sqlite3/Makefile databases/pypy3-sqlite3/pkg-descr lang/pypy3/Makefile.cffi.inc
diffstat 5 files changed, 76 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/pypy3-sqlite3/.hgignore	Mon Jan 15 09:55:12 2024 +0100
@@ -0,0 +1,3 @@
+syntax: regexp
+
+^work[^/]*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/pypy3-sqlite3/.hgtags	Mon Jan 15 09:55:12 2024 +0100
@@ -0,0 +1,3 @@
+2684131a2f17e63f9ce1301040d78c840051d62c v7.3.0_1
+69149820fc5000b122169ee90870d469f35f73d9 v7.3.9
+2ec3fade167004a46928698af3b36607a02276ff v7.3.11
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/pypy3-sqlite3/Makefile	Mon Jan 15 09:55:12 2024 +0100
@@ -0,0 +1,17 @@
+# Created by: Franz Glasner <fzglas.hg@dom66.de>
+# based on the port created by: David Naylor <dbn@FreeBSD.org>
+
+PORTNAME=	sqlite3
+DISTVERSION=	${PYPY_DEFAULT_DISTVERSION}
+CATEGORIES=	databases python
+
+MAINTAINER=	fzglas.hg@dom66.de
+COMMENT=	Standard PyPy binding to the SQLite3 library
+WWW=		https://www.pypy.org
+
+LIB_DEPENDS=	libsqlite3.so:databases/sqlite3
+
+FFI_MODULE_NAME=	_ffi
+
+.include "${.CURDIR}/../../lang/pypy3/Makefile.cffi.inc"
+.include <bsd.port.post.mk>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/pypy3-sqlite3/pkg-descr	Mon Jan 15 09:55:12 2024 +0100
@@ -0,0 +1,8 @@
+SQLite is a library that provides a SQL-language database that
+stores data in disk files without requiring a separate server
+process. pysqlite provides a SQL interface compliant with the DB-API
+2.0 specification described by PEP 249. This means that it should
+be possible to write the first version of your applications using
+SQLite for data storage. If switching to a larger database such as
+PostgreSQL or Oracle is later necessary, the switch should be
+relatively easy.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/pypy3/Makefile.cffi.inc	Mon Jan 15 09:55:12 2024 +0100
@@ -0,0 +1,45 @@
+# -*- mode: makefile -*-
+# NOTE: Also includes bsd.port.pre.mk
+
+PKGNAMEPREFIX=	${FLAVOR}-
+DISTFILES=
+
+.if !defined(LICENSE)
+LICENSE=	MIT PSFL
+LICENSE_COMB=	multi
+.endif
+
+PYPY_DEFAULT_DISTVERSION?=	7.3.14
+
+BUILD_DEPENDS+=	${PYPY_PYTHON_IMPL}:lang/${FLAVOR}
+RUN_DEPENDS+=	${PYPY_PYTHON_IMPL}:lang/${FLAVOR}
+
+CFFI_MODULE?=	_${PORTNAME}
+
+FLAVORS=	pypy39 pypy310
+FLAVOR?=	pypy310
+
+.if ${FLAVOR}==pypy39
+PYPY_PYTHON_IMPL=	pypy3.9
+.elif ${FLAVOR}==pypy310
+PYPY_PYTHON_IMPL=	pypy3.10
+.else
+.endif
+PYPY_PORTVERSION=	${DISTVERSION}
+PYPY_CMD=	${LOCALBASE}/bin/${PYPY_PYTHON_IMPL}
+
+PYPY_DIR=	pypy3-${DISTVERSION:C|([0-9]+)\.([0-9]+).*|\1.\2|}
+PYPY_CFFI_VER=	${FLAVOR}-pp${DISTVERSION:S|.||:C|\..*||}-${OPSYS:tl}${OSREL:C|\..*||}
+
+PLIST_FILES+=	${PYPY_DIR}/lib/${PYPY_PYTHON_IMPL}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so
+
+.include <bsd.port.pre.mk>
+
+do-build:
+	${CP} ${LOCALBASE}/${PYPY_DIR}/lib/${PYPY_PYTHON_IMPL}/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py
+	(cd ${WRKDIR}; \
+		${PYPY_CMD} -c "from ${PORTNAME} import ${FFI_MODULE_NAME} as ffi; ffi.compile('${WRKDIR}');")
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYPY_PYTHON_IMPL}/`dirname ${CFFI_MODULE}`/
+	${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib/${PYPY_PYTHON_IMPL}/`dirname ${CFFI_MODULE}`/