Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dynamic crossenv + python3*-wheels + python310-313 updates (#6282)
* python311: Remove optional wheels (to be migrated to its own spk) * python313: Initial commit, fails to build on readline * python-wheels: First attempt, to be further developed * py311: Re-enable lto * python313: First working build * python313: Remove pgo optimizations as non-functional in cross-builds * python-wheels: First integration of additional wheels for testing * mariadb-connector-c: Update from version 3.3.5 to 3.3.11 and fix build failure * python313: No longer support armv5 arch due to c++11 support needed * spksrc.crossenv.mk: First iteration of on-demand crossenv creation * spksrc.crossenv.mk: Print crossenv resulting package list * py310-311-313: Remove crossenv creation * mk/crossenv: Remove aiohttp example as obsolete * mk/crossenv: disable meson and scikit-build-core temporarily * spksrc.crossenv.mk: Misc fixes * python-module.mk: Make compatible with spksrc.crossenv.mk * wheel.mk: Make compatible with spksrc.crossenv.mk * crossenv.mk: Allow building from PYTHON_PACKAGE dependend spk * py310-311: Fix lto vs pgo optimizations * wheel.mk: Use $name-$version using - instead of == for crossenv * python.mk: do not symlink crossenv and python-cc.mk * python.mk: Move mandatory PYO3_* variables for rust cross-compiling * crossenv.mk: Fix crossenv creation and pip tool calls * crossenv/requirements-default.txt: Update to latest wheel versions * spk.mk: Add a crossenvclean clean-up option * python.mk + crossenv.mk: Functional versions * python.mk: Further clean-up and removal of duplicate variables * py311-312-312: Update pure requirements to latest versions * py310-311-313: Further clean-up Makefile from unused variables * py310-311: No longer need to remove test folder * py313: Fix symlink creation * crossenv.mk: Include missing OPENSSL_*_DIR * spk.mk: Update crossenvclean and add crossenvcleanall * spk.mk: crossenvclean remove cookie file * crossenv: Fix python version and use status cookie * crossenv-default: Enforce using msgpack==1.0.5 for py313 builds * fix crossenv installation by packages using prebuilt python - spksrc.crossenv.mk: SPK_NAME and PYTHON_PACKAGE_WORK_DIR must be defined when PYTHON_PACKAGE is used * fix python311 for qoriq * spksrc.python-wheel.mk: fix include of python-cc.mk * rdiff-backup: add crossenv for frozenlist * rdiff-backup: add crossenv for yarl * fix for version less crossenv requirements - use dash (-) as version separator - rdiff-backup: version less requirements for frozenlist and yarl - adjust logging * python.mk: revert support for ADDITIONAL_CROSSENV_WHEELS - obsolete with wheel specific crossenv * Revert "borgbackup: Package bump to force build" This reverts commit e95af06. * use python -m build to create wheels with python-wheel.mk - add build to default crossenv - fix python-wheel.mk (include spksrc.crossenv.mk) - use workaround to access crossenv to build wheels with python-wheel.mk for unknown reason the CROSSENV variable is empty, use $(CROSSENV_PATH)/bin/activate instead * ffsync: fix build of cross/cryptography - remove wrong definitions of OPENSSL_LIB_DIR and OPENSSL_INCLUDE_DIR; correct values are imported from spksrc.crossenv.mk * spksrc.python-wheel.mk: Fix wheel building * DTLSSocket: Update from 0.1.16 to 0.2.2 * homeassistant: Fix building bcrupt and cryptography * spksrc.crossenv.mk: Ensure Python=* has hostpython to avoid errors * crossenv/requirements-numpy-1.24.4.txt: Definition for numpy * python.mk: Remove zlib at source to avoir re-building * dtlssocket: Add -std=c99 for gcc < 5 * python.mk: Erase only $(ARCH)-$(TCVERSION) related files * deluge: Update wheels and fix build * boost_1.82: Allow builds from python.mk * cross/cryptography: crossenv already has cffi and pycparser * crossenv.mk: Add debug traces to find issue on gh * crossenv.mk: Testing alternative method to get python version dir * crossenv.mk: Send msg to status file * wheel.mk: Remove trailing # comment using $${wheel%% *} * crossenv.mk: Use $(WORK_DIR)/pip caching dir for crossenv creation * python-wheels: include wheels in package * update github build action - add evaluation of python313 dependent packages - evaluate packages to build and changed dependency folders in build.yml to avoid overflow of bash variables (limited to 1024 chars) (fixes #6284) * adjust variable GH_DEPENDENCY_FOLDERS * real fix for #6284 - python dependent packages with name sorted after python31* where removed from packages to build (in this context: python-wheels and rdiff-backup) * fix github prepare script - add space to separate packages * crossenv.mk: Miscelanious cleanups * mariadb-connector-c: Fix compilation for some archs * fix package name substitution in prepare.sh * Update mk/spksrc.crossenv.mk - typo Co-authored-by: hgy59 <[email protected]> * python311-wheels: Rename to reference exact matching python version * native/python313: Sync wheels with default crossenv versions * python312: Initial package * mariadb-connector-c: Fix build using spksrc.python.mk * prepare.sh: keep python311-wheels to build * fix python312/PLIST * cleanup python - python311-wheels for ARMv7L (crossenv for numpy-1.22.4) - didn't fix it - add PLIST files for python312 and python313 - remove lxml==4.9.3 in python311-wheels/src/requirements-crossenv.txt (build only lxml==5.3.0) * fix INFO file generation - use explicit /bin/sh to fix language specific description generation * python packages: further cleanup - update unsupported archs in cross Makefiles - python311-wheels: avoid multiple versions of greenlet * wheel-env.mk: Bump default abi3 to match py311 with cp37 * crossenv.mk: Reduce total amount of makefile variable definitions * crossenv.mk: Empty MAKEFLAGS= variable when calling crossenv recipe * crossenv.mk: Fix missing variable definition * tc.mk: Enhance meson toolchain file declarations * wheel.mk: Add meson wheel compiling ability * python311-wheels: Add new compatible numpy versions * python312-wheels: Wheel testing package against py312 * Update spk/python312-wheels/Makefile Co-authored-by: hgy59 <[email protected]> * numpy-1.25.1: Adding crossenv requirement file * crossenv.mk: Fix missing definitions for HOST and BUILD_ARCH * wheel.mk: sort wheelhouse requirement files to avoid duplicates * python31*-wheels: various adjustments * restore python311-wheels/src/requirements-crossenv-greenlet-v3.txt * build.sh: add python312 and python313 to packages to keep * python.mk: Add xz (lzma) to the library exception list * python311-wheels: Sync greenlet requirement files with py312-wheels * python.mk: Use *_EXCLUDE variables to simplify later additions * python310: Update from version 3.10.15 to 3.10.16 * python311: Update from version 3.11.10 to 3.11.11 * python312-python313: Sync requirement files with py310-311 * python312: Update from version 3.12.7 to 3.12.8 * python313: Update from version 3.13.0 to 3.13.1 * py311-312-wheels: Fix greenlet 3.x support with gcc <= 8 * crossenv.mk: Move PATH and LD_LIBRARY_PATH to be crossenv specific * define build-python when not in path * minimize specific crossenv for frozenlist and yarl * remove unsupported configure args - --with-system-ffi is not supported (python312, python313) - --with-system-ffi is "is ignored on this platform" (python311) * revert fullpath for build-python for python310 and python311 - python310 and python311 require the path to build python for "generate-posix-vars" * python312-wheels: fix build - add wheelhouse to package - many wheels need -std=c11 for gcc4 - llfuse wheel fails to build (temp. excluded) - remove ARMv5 specific handling - udpate rpds_py==0.20.0 and remove requirements-crossenv-rpds-py.txt (not referenced) - add specific crossenv for pydantic_core * revert unintended change * spksrc.wheel.mk: add PATH for build of pure-python-wheels * Revert move of crossenv files temporarely Created a patch from that reverted comit to first focus on other issues found then return on this. * crossenv.mk: Fix PATH and LD_LIBRARY_PATH for native and crossenv * py310-313: Fix --with-build-python using $(PYTHON_NATIVE) * py310: re-revert fix --with-build-python only for py310 * crossenv.mk: Move crossenv definitions to spk/python3* - Simplified shell calls to avoid defining SHELL = /bin/bash - Added at ifneq ($(wildcard file-wheel file-default)) as at early makefile variable asignation path will not have been determined just yet, thus blocking when trying to determine default version values extracted from variable within requirement files - Fixed CROSSENV_CONFIG_PATH so it always refer back to $(PYTHON_WORK_DIR) to ensure it works both from spk/python3* and from python related spk projects called using spksrc.python.mk Co-Author: hgy59 <[email protected]> * python311-wheels: Update numpy requirements Numpy fails to build starting with version >= 1.26. May require to be migrated to use cross/numpy with proper wheel building including meson toolchain file parameter passing. * python-wheels: Cleanups and comment regarding late WHEELS definitions * python-wheels: Add pure python wheel serving as example * spksrc.wheel.mk: Numerous cleanups & reduced shell calls * python311-wheels: Fix numpy for x64 DSM-7.1 Fails to build numpy 1.25.2 but ok with 1.25.1 * python311: Add crossenv definition for numpy-1.25.1 for x64 DSM-7.1 * python311-wheels: Extend Pillows dependencies webp, tiff, imagequant * wheel.mk: Remove unused PATH and LD_LIBRARY_PATH to cross building * deluge: Update to latest wheel versions * wheel.mk: pip build environment variable fixes + cleanups * boost*: Fix loading crossenv python-cc.mk * wheel.mk: Additional fixes mainly around PATH handling * tc.mk: Remove sysroot from meson definition as breaking glib --------- Co-authored-by: hgy59 <[email protected]>
- Loading branch information