From dd98d845132f2c49e0ff0749641ccae768ae5a75 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 5 Nov 2024 10:54:08 +0100 Subject: [PATCH] Improve system detection for brew python --- python.sh | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/python.sh b/python.sh index ccbe1754c0..67c448b288 100644 --- a/python.sh +++ b/python.sh @@ -18,19 +18,23 @@ env: PYTHONPATH: "$PYTHON_ROOT/lib/python/site-packages" prefer_system: "(?!slc5|ubuntu)" prefer_system_check: | - python3 -c 'from sys import version_info; print(f"alibuild_system_replace: python{version_info.major}.{version_info.minor}")' - python3 -c 'import sys; import sqlite3; sys.exit(1 if sys.version_info < (3, 9) or sys.version_info > (3, 13) else 0)' && python3 -m pip --help > /dev/null && printf '#include "pyconfig.h"' | cc -c $(python3-config --includes) -xc -o /dev/null -; if [ $? -ne 0 ]; then printf "Python, the Python development packages, and pip must be installed on your system.\nUsually those packages are called python, python-devel (or python-dev) and python-pip.\n"; exit 1; fi + case $ALIBUILD_ARCHITECTURE in + osx*) + python3 -c 'from sys import version_info; print(f"alibuild_system_replace: python-brew{version_info.major}.{version_info.minor}")' ;; + *) + python3 -c 'from sys import version_info; print(f"alibuild_system_replace: python{version_info.major}.{version_info.minor}")' + ;; + esac + python3 -c 'import sys; import sqlite3; sys.exit(1 if sys.version_info < (3, 9) or sys.version_info > (3, 13) else 0)' && python3 -m pip --help > /dev/null && printf '#include "pyconfig.h"' | cc -c $(python3-config --includes) -xc -o /dev/null -; if [ $? -ne 0 ]; then printf "Python, the Python development packages, and pip must be installed on your system.\nUsually those packages are called python, python-devel (or python-dev) and python-pip.\n"; exit 1; fi prefer_system_replacement_specs: - "python3.9": - version: "3.9" - "python3.10": - version: "3.10" - "python3.11": - version: "3.11" - "python3.12": - version: "3.12" - "python3.13": - version: "3.13" + "python-brew3.*": + env: + PYTHON_ROOT: $(brew --prefix python3) + PYTHON_REVISION: "" + "python3.*": + env: + PYTHON_ROOT: "" + PYTHON_REVISION: "" --- rsync -av --exclude '**/.git' $SOURCEDIR/ $BUILDDIR/