diff options
author | Bastien Montagne <bastien@blender.org> | 2020-06-08 16:38:11 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-06-08 16:38:11 +0300 |
commit | e3396d8bfc9499816c825a301b3080958b282e48 (patch) | |
tree | 901999d25adab60845fb92f0f4db6a15cd42cc71 /build_files/build_environment | |
parent | 1c189aa70aff01f72ae1fc2eacefcf924ede62c7 (diff) |
Installdeps: better handling of python versions.
now that we stick to some outdated py version, some distro (like current
debian testing) will feature several python3 dev package, but other
dependant libs like numpy are only built against current default version
of python (3.8 now in deb testing)...
In order to be able to use distro packages we need to allow using higher
versions of python, and set relevant CMake option accordingly.
Diffstat (limited to 'build_files/build_environment')
-rwxr-xr-x | build_files/build_environment/install_deps.sh | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh index 9d9b975288d..e4a916606fe 100755 --- a/build_files/build_environment/install_deps.sh +++ b/build_files/build_environment/install_deps.sh @@ -378,6 +378,7 @@ CLANG_FORMAT_VERSION_MIN="6.0" PYTHON_VERSION="3.7.4" PYTHON_VERSION_MIN="3.7" +PYTHON_VERSION_INSTALLED=$PYTHON_VERSION_MIN PYTHON_FORCE_BUILD=false PYTHON_FORCE_REBUILD=false PYTHON_SKIP=false @@ -3427,7 +3428,7 @@ compile_XR_OpenXR_SDK() { # Install on DEB-like get_package_version_DEB() { - dpkg-query -W -f '${Version}' $1 | sed -r 's/([0-9]+:)?(([0-9]+\.?)+([0-9]+)).*/\2/' + dpkg-query -W -f '${Version}' $1 | sed -r 's/([0-9]+:)?(([0-9]+\.?){$2}([0-9]+)).*/\2/' } check_package_DEB() { @@ -3630,7 +3631,7 @@ install_DEB() { # Check cmake/glew versions and disable features for older distros. # This is so Blender can at least compile. PRINT "" - _cmake=`get_package_version_DEB cmake` + _cmake=`get_package_version_DEB cmake 3` version_ge $_cmake "2.8.10" if [ $? -eq 1 ]; then version_ge $_cmake "2.8.8" @@ -3645,7 +3646,7 @@ install_DEB() { fi PRINT "" - _glew=`get_package_version_DEB libglew-dev` + _glew=`get_package_version_DEB libglew-dev 3` if [ -z $_glew ]; then # Stupid virtual package in Ubuntu 12.04 doesn't show version number... _glew=`apt-cache showpkg libglew-dev|tail -n1|awk '{print $2}'|sed 's/-.*//'` @@ -3674,9 +3675,12 @@ install_DEB() { INFO "Forced Python/NumPy building, as requested..." _do_compile_python=true else - check_package_DEB python$PYTHON_VERSION_MIN-dev + check_package_version_ge_DEB python3-dev $PYTHON_VERSION_MIN if [ $? -eq 0 ]; then - install_packages_DEB python$PYTHON_VERSION_MIN-dev + PYTHON_VERSION_INSTALLED=$(echo `get_package_version_DEB python3-dev` | sed -r 's/^([0-9]+\.[0-9]+).*/\1/') + PRINT $(echo `get_package_version_DEB python3-dev` | sed -r 's/^([0-9]+\.[0-9]+).*/\1/') + + install_packages_DEB python3-dev clean_Python PRINT "" if [ "$NUMPY_SKIP" = true ]; then @@ -4296,8 +4300,11 @@ install_RPM() { INFO "Forced Python/NumPy building, as requested..." _do_compile_python=true else - check_package_version_match_RPM python3-devel $PYTHON_VERSION_MIN + check_package_version_ge_RPM python3-devel $PYTHON_VERSION_MIN if [ $? -eq 0 ]; then + get_package_version_RPM python3-devel + PYTHON_VERSION_INSTALLED=`echo $? | sed -r 's/([0-9]+:)?(([0-9]+\.?)?([0-9]+)).*/\2/'` + install_packages_RPM python3-devel clean_Python PRINT "" @@ -4821,6 +4828,9 @@ install_ARCH() { else check_package_version_ge_ARCH python $PYTHON_VERSION_MIN if [ $? -eq 0 ]; then + get_package_version_ARCH python + PYTHON_VERSION_INSTALLED=`echo $? | sed -r 's/([0-9]+:)?(([0-9]+\.?)?([0-9]+)).*/\2/'` + install_packages_ARCH python clean_Python PRINT "" @@ -5411,11 +5421,11 @@ print_info() { PRINT " $_1" _buildargs="$_buildargs $_1" - _1="-D PYTHON_VERSION=$PYTHON_VERSION_MIN" + _1="-D PYTHON_VERSION=$PYTHON_VERSION_INSTALLED" PRINT " $_1" _buildargs="$_buildargs $_1" - if [ -d "$INST/python-$PYTHON_VERSION_MIN" ]; then - _1="-D PYTHON_ROOT_DIR=$INST/python-$PYTHON_VERSION_MIN" + if [ -d "$INST/python-$PYTHON_VERSION_INSTALLED" ]; then + _1="-D PYTHON_ROOT_DIR=$INST/python-$PYTHON_VERSION_INSTALLED" PRINT " $_1" _buildargs="$_buildargs $_1" fi |