forked from SynoCommunity/spksrc
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
python312-wheels: Wheel testing package against py312
- Loading branch information
Showing
7 changed files
with
302 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
SPK_NAME = python312-wheels | ||
SPK_VERS = 1.0 | ||
SPK_VERS_MAJOR_MINOR = $(word 1,$(subst ., ,$(SPK_VERS))).$(word 2,$(subst ., ,$(SPK_VERS))) | ||
SPK_REV = 1 | ||
SPK_ICON = src/python3-pip.png | ||
|
||
# Platform "powerpc-none-linux-gnuspe" with compiler "gcc" is not supported by the | ||
# CPython core team, see https://peps.python.org/pep-0011/ for more information. | ||
# And compiler must support std=c++11 (OlD_PPC_ARCHS fail, but ARMv5_ARCHS have no issue). | ||
UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) | ||
|
||
PYTHON_PACKAGE = python312 | ||
|
||
MAINTAINER = SynoCommunity | ||
DESCRIPTION = Collection of programs for the Python programming language. | ||
DESCRIPTION_FRE = Collection of programs for the Python programming language. | ||
DESCRIPTION_SPN = Colección de programas para el lenguaje de programación Python. | ||
STARTABLE = no | ||
DISPLAY_NAME = Python Wheels Collection | ||
CHANGELOG = "1. Initial package" | ||
|
||
HOMEPAGE = https://www.python.org | ||
LICENSE = PSF | ||
|
||
# Enable debug_info symgols | ||
#GCC_DEBUG_INFO := 1 | ||
|
||
WHEELS = src/requirements-crossenv.txt | ||
WHEELS += src/requirements-abi3.txt | ||
|
||
# [borgbackup] | ||
# Use OpenSSL path as defined by either | ||
# spksrc.wheel-env.mk or spksrc.python.mk | ||
ENV += BORG_OPENSSL_PREFIX="$(OPENSSL_STAGING_PREFIX)" | ||
ENV += BORG_LIBLZ4_PREFIX="$(STAGING_INSTALL_PREFIX)" | ||
ENV += BORG_LIBZSTD_PREFIX="$(STAGING_INSTALL_PREFIX)" | ||
ENV += BORG_LIBB2_PREFIX="$(STAGING_INSTALL_PREFIX)" | ||
DEPENDS += cross/attr cross/acl cross/openssl3 cross/lz4 cross/zstd cross/libb2 cross/fuse | ||
|
||
# [cryptography] | ||
# Use cross/cryptography to generate py36-abi3 limited API | ||
# NOTE: It's not possible to build py36-abi3 limited API using pip due to PEP517 | ||
# To generate py311-py311 regular build use src/requirements-crossenv.txt | ||
DEPENDS += cross/cryptography | ||
|
||
# [gevent] | ||
DEPENDS += cross/libev cross/c-ares | ||
ENV += GEVENTSETUP_EMBED_CARES=FALSE | ||
ENV += GEVENTSETUP_EMBED_LIBEV=FALSE | ||
|
||
# [lxml] | ||
DEPENDS += cross/libxml2 | ||
DEPENDS += cross/libxslt | ||
|
||
# [mysqlclient] | ||
DEPENDS += cross/mysql-connector-c | ||
DEPENDS += cross/mariadb-connector-c | ||
ENV += MYSQLCLIENT_CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/include/mysql -I$(STAGING_INSTALL_PREFIX)/include/mariadb -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR)" | ||
ENV += MYSQLCLIENT_LDFLAGS="$(LDFLAGS)" | ||
|
||
# [Pillow] | ||
DEPENDS += cross/freetype cross/libjpeg cross/zlib | ||
WHEELS_BUILD_ARGS += [Pillow] | ||
WHEELS_BUILD_ARGS += build_ext | ||
WHEELS_BUILD_ARGS += --disable-platform-guessing | ||
WHEELS_BUILD_ARGS += --enable-freetype | ||
WHEELS_BUILD_ARGS += --enable-jpeg | ||
WHEELS_BUILD_ARGS += --enable-zlib | ||
|
||
# [pycares] | ||
DEPENDS += cross/c-ares | ||
ENV += PYCARES_USE_SYSTEM_LIB=1 | ||
|
||
# [pycurl] | ||
DEPENDS += cross/curl | ||
ENV += PYCURL_CURL_CONFIG=$(STAGING_INSTALL_PREFIX)/bin/curl-config | ||
|
||
# [PyNaCl] | ||
DEPENDS += cross/libsodium | ||
ENV += SODIUM_INSTALL=system | ||
|
||
# [PyYAML] | ||
DEPENDS += cross/libyaml | ||
|
||
include ../../mk/spksrc.common.mk | ||
|
||
# [rpds-py] | ||
# maturin canot be built as pre-requisite crossenv | ||
ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) | ||
WHEELS += src/requirements-crossenv-rpds-py.txt | ||
# Requires path to maturin from crossenv | ||
ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) | ||
endif | ||
|
||
include ../../mk/spksrc.python.mk | ||
|
||
# [greenlet] | ||
ifeq ($(call version_ge $(TC_GCC), 4.9),1) | ||
WHEELS += src/requirements-crossenv-greenlet-v3.txt | ||
WHEELS_CPPFLAGS += [greenlet] -std=c++11 -fpermissive | ||
endif | ||
|
||
# [numpy] <= 1.21.6 (armv5) | ||
# [numpy] <= 1.22.4 (armv7l) | ||
# [numpy] <= 1.24.4 last working version with gcc-4.9 | ||
# These versions are now unsupported using py312 | ||
# [numpy] >= 1.25.0 requires c++17 | ||
ifeq ($(call version_gt, $(TC_GCC), 5.0),1) | ||
WHEELS += src/requirements-crossenv-numpy.txt | ||
endif | ||
|
||
# [pycryptodome] | ||
ifeq ($(call version_ge, $(TC_GCC), 4.9),1) | ||
WHEELS_CFLAGS += [pycryptodome] -std=c11 | ||
else | ||
WHEELS_CFLAGS += [pycryptodome] -std=c99 | ||
endif | ||
|
||
# [pycryptodomex] | ||
ifeq ($(call version_ge, $(TC_GCC), 4.9),1) | ||
WHEELS_CFLAGS += [pycryptodomex] -std=c11 | ||
else | ||
WHEELS_CFLAGS += [pycryptodomex] -std=c99 | ||
endif | ||
|
||
# [pydantic_core] | ||
ifeq ($(call version_ge, $(TC_GCC), 4.9),1) | ||
WHEELS_CFLAGS += [pydantic_core] -std=c11 | ||
else | ||
WHEELS_CFLAGS += [pydantic_core] -std=c99 | ||
endif | ||
# Requires path to maturin from crossenv | ||
ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) | ||
|
||
# [rpds-py] | ||
# Requires path to maturin from crossenv | ||
ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
## | ||
## All configurations below are optional and | ||
## are provided to demonstrate how to build | ||
## various wheels. Uncoment to enable. | ||
## | ||
|
||
# [pycryptodome] + [pycryptodomex] | ||
# Require: | ||
# - CFLAGS=-sdt=c99 < gcc-4.9 | ||
# - CFLAGS=-sdt=c11 >= gcc-4.9 | ||
pycryptodome==3.20.0 | ||
pycryptodomex==3.20.0 |
10 changes: 10 additions & 0 deletions
10
spk/python312-wheels/src/requirements-crossenv-greenlet-v3.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
## | ||
## All configurations below are optional and | ||
## are provided to demonstrate how to build | ||
## various wheels. Uncoment to enable. | ||
## | ||
|
||
# [greenlet] | ||
# - Mandatory require full c++11 support | ||
greenlet==3.0.3 | ||
greenlet==3.1.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
## | ||
## All configurations below are optional and | ||
## are provided to demonstrate how to build | ||
## various wheels. Uncoment to enable. | ||
## | ||
|
||
# [numpy] | ||
# - Require Cython in cross/python310 crossenv | ||
# - Numpy >= 1.26.x requires: | ||
# c++17, meson-python, scikit-build-core | ||
numpy==2.1.3 | ||
numpy==2.0.2 | ||
numpy==1.26.4 | ||
numpy==1.25.1 |
13 changes: 13 additions & 0 deletions
13
spk/python312-wheels/src/requirements-crossenv-rpds-py.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
## | ||
## All configurations below are optional and | ||
## are provided to demonstrate how to build | ||
## various wheels. Uncoment to enable. | ||
## | ||
|
||
# [rpds-py] | ||
# Require environment variables | ||
# PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ | ||
# PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ | ||
# Requires path to maturin from crossenv | ||
# ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) | ||
rpds-py==0.20.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
## | ||
## All configurations below are optional and | ||
## are provided to demonstrate how to build | ||
## various wheels. Uncoment to enable. | ||
## | ||
|
||
# [bcrypt] | ||
# Require environment variables | ||
# PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ | ||
# PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ | ||
bcrypt==4.2.0 | ||
|
||
# [cryptography] | ||
# Mandatory of using OPENSSL_*_DIR starting with version >= 40 | ||
# https://docs.rs/openssl/latest/openssl/#automatic | ||
# ENV += OPENSSL_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ | ||
# ENV += OPENSSL_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ | ||
cryptography==43.0.1 | ||
|
||
# Requirement for cryptography | ||
cffi==1.17.0 | ||
|
||
# commonly used cross-compiled wheels | ||
# All tested and can be enabled but may conflict | ||
# with local python apps requirements | ||
|
||
borgbackup==1.2.6 | ||
charset-normalizer==3.2.0 | ||
greenlet==3.1.1 | ||
immutables==0.20 | ||
llfuse==1.5.0 | ||
MarkupSafe==2.1.5 | ||
msgpack==1.0.5 # used compiled verrsion for performance | ||
msgpack-python==0.5.6 | ||
netifaces==0.11.0 | ||
psutil==6.0.0 | ||
pyrsistent==0.19.3 | ||
regex==2024.7.24 | ||
ruamel.yaml.clib==0.2.12 | ||
SQLAlchemy==2.0.32 | ||
zope.interface==7.0.2 | ||
|
||
# [gevent] | ||
# Depends: libev, c-ares | ||
# Require environment variables | ||
# GEVENTSETUP_EMBED_CARES=FALSE | ||
# GEVENTSETUP_EMBED_LIBEV=FALSE | ||
gevent==24.2.1 | ||
|
||
# [lxml] | ||
# Depends: libxml2, libxslt | ||
lxml==5.3.0 | ||
|
||
# [mysqlclient] | ||
# Depends: mysql-connector-c, mariadb-connector-c | ||
# Require environment variables | ||
# MYSQLCLIENT_CFLAGS | ||
# MYSQLCLIENT_LDFLAGS | ||
mysqlclient==2.2.4 | ||
|
||
# [Pillow] | ||
# Require --global-options arguments | ||
# WHEELS_BUILD_ARGS = [Pillow] build_ext --disable-platform-guessing | ||
Pillow==9.5.0 | ||
|
||
# [pycares] | ||
# Depends: c-ares | ||
# Require environment variables | ||
# PYCARES_USE_SYSTEM_LIB=1 | ||
pycares==4.4.0 | ||
|
||
# [pycurl] | ||
# Depends: curl | ||
# Require environment variables | ||
# PYCURL_CURL_CONFIG | ||
pycurl==7.45.3 | ||
|
||
# [pydantic_core] | ||
# Requires path to maturin from crossenv | ||
# Requires WHEELS_CFLAGS = -std=c11 for = gcc-4.9 | ||
# Requires WHEELS_CFLAGS = -std=c99 for < gcc-4.9 | ||
# Require environment variables | ||
# PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ | ||
# PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ | ||
pydantic_core==2.23.0 | ||
|
||
# [PyNaCl] | ||
# Depends: cross/libsodium | ||
# Require environment variables | ||
# SODIUM_INSTALL=system | ||
PyNaCl==1.5.0 | ||
|
||
# [PyYAML] | ||
# Depends: libyaml | ||
PyYAML==6.0.2 | ||
|
||
# [rencode] | ||
# Updated fork of the project | ||
# rencode==1.0.6 <<-- unsupported | ||
git+https://github.com/totaam/rencode.git@f6254ab26161f90b9c5e97915b9193fee805fc1f#egg=rencode==1.0.7 | ||
|
||
# [rpds-py] | ||
# Require environment variables | ||
# PYO3_CROSS_LIB_DIR=$(STAGING_INSTALL_PREFIX)/lib/ | ||
# PYO3_CROSS_INCLUDE_DIR=$(STAGING_INSTALL_PREFIX)/include/ | ||
# Requires path to maturin from crossenv | ||
# ENV += PATH=$(WORK_DIR)/crossenv/build/bin:$(PATH) | ||
rpds-py==0.10.2 | ||
|
||
# [ujson] | ||
# - Require setuptools-scm in cross/python3* crossenv | ||
ujson==5.10.0 | ||
|
||
# [webrtcvad] | ||
# webrtcvad==2.0.10 # requires unreleased version at specific commit for qoriq arch | ||
git+https://github.com/wiseman/py-webrtcvad@3bd761332a9404f5c9276105070ee814c4428342#egg=webrtcvad==2.0.10 |