[Bf-blender-cvs] [5dc87a3ca5f] master: Massive install_deps update.

Bastien Montagne noreply at git.blender.org
Fri Feb 5 19:02:19 CET 2021


Commit: 5dc87a3ca5f32b87d3cdf5f54a9d3a30f5b4fae0
Author: Bastien Montagne
Date:   Fri Feb 5 18:54:29 2021 +0100
Branches: master
https://developer.blender.org/rB5dc87a3ca5f32b87d3cdf5f54a9d3a30f5b4fae0

Massive install_deps update.

Unfortunately one issue raising another one, this ended up being a
fairly big update, with:

*Fixes:
** Dependencies between libraries are better handled (would fail
   previously in some cases when the lib was also available as package).
** Dependency of Boost over Python is now taken into account.
** Fix CMake flags to use local own built boost.
** Fix building numpy.

*Changes:
** We now use pip for all python modules (including numpy).
** Added all missing python modules (requests etc.).

*Updates:
**USD: 20.08, Due to build failing with 20.05 (missing include).

===================================================================

M	build_files/build_environment/install_deps.sh

===================================================================

diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index 6cbba74a6ae..9c898a04d55 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -53,15 +53,15 @@ getopt \
 --long source:,install:,tmp:,info:,threads:,help,show-deps,no-sudo,no-build,no-confirm,\
 with-all,with-opencollada,with-jack,with-embree,with-oidn,with-nanovdb,\
 ver-ocio:,ver-oiio:,ver-llvm:,ver-osl:,ver-osd:,ver-openvdb:,ver-xr-openxr:,\
-force-all,force-python,force-numpy,force-boost,force-tbb,\
+force-all,force-python,force-boost,force-tbb,\
 force-ocio,force-openexr,force-oiio,force-llvm,force-osl,force-osd,force-openvdb,\
 force-ffmpeg,force-opencollada,force-alembic,force-embree,force-oidn,force-usd,\
 force-xr-openxr,\
-build-all,build-python,build-numpy,build-boost,build-tbb,\
+build-all,build-python,build-boost,build-tbb,\
 build-ocio,build-openexr,build-oiio,build-llvm,build-osl,build-osd,build-openvdb,\
 build-ffmpeg,build-opencollada,build-alembic,build-embree,build-oidn,build-usd,\
 build-xr-openxr,\
-skip-python,skip-numpy,skip-boost,skip-tbb,\
+skip-python,skip-boost,skip-tbb,\
 skip-ocio,skip-openexr,skip-oiio,skip-llvm,skip-osl,skip-osd,skip-openvdb,\
 skip-ffmpeg,skip-opencollada,skip-alembic,skip-embree,skip-oidn,skip-usd,\
 skip-xr-openxr \
@@ -188,9 +188,6 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
     --build-python
         Force the build of Python.
 
-    --build-numpy
-        Force the build of NumPy.
-
     --build-boost
         Force the build of Boost.
 
@@ -255,9 +252,6 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
     --force-python
         Force the rebuild of Python.
 
-    --force-numpy
-        Force the rebuild of NumPy.
-
     --force-boost
         Force the rebuild of Boost.
 
@@ -315,9 +309,6 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
     --skip-python
         Unconditionally skip Python installation/building.
 
-    --skip-numpy
-        Unconditionally skip NumPy installation/building.
-
     --skip-boost
         Unconditionally skip Boost installation/building.
 
@@ -389,18 +380,62 @@ PYTHON_VERSION="3.9.1"
 PYTHON_VERSION_SHORT="3.9"
 PYTHON_VERSION_MIN="3.7"
 PYTHON_VERSION_MAX="3.10"
-PYTHON_VERSION_INSTALLED=$PYTHON_VERSION_MIN
+PYTHON_VERSION_INSTALLED=$PYTHON_VERSION_SHORT
 PYTHON_FORCE_BUILD=false
 PYTHON_FORCE_REBUILD=false
 PYTHON_SKIP=false
 
-NUMPY_VERSION="1.19.5"
-NUMPY_VERSION_SHORT="1.19"
-NUMPY_VERSION_MIN="1.8"
-NUMPY_VERSION_MAX="2.0"
-NUMPY_FORCE_BUILD=false
-NUMPY_FORCE_REBUILD=false
-NUMPY_SKIP=false
+# Additional Python modules.
+PYTHON_IDNA_VERSION="2.9"
+PYTHON_IDNA_VERSION_MIN="2.0"
+PYTHON_IDNA_VERSION_MAX="3.0"
+PYTHON_IDNA_NAME="idna"
+
+PYTHON_CHARDET_VERSION="3.0.4"
+PYTHON_CHARDET_VERSION_MIN="3.0"
+PYTHON_CHARDET_VERSION_MAX="5.0"
+PYTHON_CHARDET_NAME="chardet"
+
+PYTHON_URLLIB3_VERSION="1.25.9"
+PYTHON_URLLIB3_VERSION_MIN="1.0"
+PYTHON_URLLIB3_VERSION_MAX="2.0"
+PYTHON_URLLIB3_NAME="urllib3"
+
+PYTHON_CERTIFI_VERSION="2020.4.5.2"
+PYTHON_CERTIFI_VERSION_MIN="2020.0"
+PYTHON_CERTIFI_VERSION_MAX="2021.0"
+PYTHON_CERTIFI_NAME="certifi"
+
+PYTHON_REQUESTS_VERSION="2.23.0"
+PYTHON_REQUESTS_VERSION_MIN="2.0"
+PYTHON_REQUESTS_VERSION_MAX="3.0"
+PYTHON_REQUESTS_NAME="requests"
+
+PYTHON_NUMPY_VERSION="1.19.5"
+PYTHON_NUMPY_VERSION_MIN="1.14"
+PYTHON_NUMPY_VERSION_MAX="2.0"
+PYTHON_NUMPY_NAME="numpy"
+
+# As package-ready parameters (only used with distro packages).
+PYTHON_MODULES_PACKAGES=(
+  "$PYTHON_IDNA_NAME $PYTHON_IDNA_VERSION_MIN $PYTHON_IDNA_VERSION_MAX"
+  "$PYTHON_CHARDET_NAME $PYTHON_CHARDET_VERSION_MIN $PYTHON_CHARDET_VERSION_MAX"
+  "$PYTHON_URLLIB3_NAME $PYTHON_URLLIB3_VERSION_MIN $PYTHON_URLLIB3_VERSION_MAX"
+  "$PYTHON_CERTIFI_NAME $PYTHON_CERTIFI_VERSION_MIN $PYTHON_CERTIFI_VERSION_MAX"
+  "$PYTHON_REQUESTS_NAME $PYTHON_REQUESTS_VERSION_MIN $PYTHON_REQUESTS_VERSION_MAX"
+  "$PYTHON_NUMPY_NAME $PYTHON_NUMPY_VERSION_MIN $PYTHON_NUMPY_VERSION_MAX"
+)
+
+# As pip-ready parameters (only used when building python).
+PYTHON_MODULES_PIP=(
+  "$PYTHON_IDNA_NAME==$PYTHON_IDNA_VERSION"
+  "$PYTHON_CHARDET_NAME==$PYTHON_CHARDET_VERSION"
+  "$PYTHON_URLLIB3_NAME==$PYTHON_URLLIB3_VERSION"
+  "$PYTHON_CERTIFI_NAME==$PYTHON_CERTIFI_VERSION"
+  "$PYTHON_REQUESTS_NAME==$PYTHON_REQUESTS_VERSION"
+  "$PYTHON_NUMPY_NAME==$PYTHON_NUMPY_VERSION"
+)
+
 
 BOOST_VERSION="1.73.0"
 BOOST_VERSION_SHORT="1.73"
@@ -491,10 +526,10 @@ ALEMBIC_FORCE_BUILD=false
 ALEMBIC_FORCE_REBUILD=false
 ALEMBIC_SKIP=false
 
-USD_VERSION="20.05"
-USD_VERSION_SHORT="20.05"
+USD_VERSION="20.08"
+USD_VERSION_SHORT="20.08"
 USD_VERSION_MIN="20.05"
-USD_VERSION_MAX="20.06"
+USD_VERSION_MAX="21.00"
 USD_FORCE_BUILD=false
 USD_FORCE_REBUILD=false
 USD_SKIP=false
@@ -730,7 +765,6 @@ while true; do
     ;;
     --build-all)
       PYTHON_FORCE_BUILD=true
-      NUMPY_FORCE_BUILD=true
       BOOST_FORCE_BUILD=true
       TBB_FORCE_BUILD=true
       OCIO_FORCE_BUILD=true
@@ -751,12 +785,6 @@ while true; do
     ;;
     --build-python)
       PYTHON_FORCE_BUILD=true
-      NUMPY_FORCE_BUILD=true
-      shift; continue
-    ;;
-    --build-numpy)
-      PYTHON_FORCE_BUILD=true
-      NUMPY_FORCE_BUILD=true
       shift; continue
     ;;
     --build-boost)
@@ -809,7 +837,6 @@ while true; do
     ;;
     --force-all)
       PYTHON_FORCE_REBUILD=true
-      NUMPY_FORCE_REBUILD=true
       BOOST_FORCE_REBUILD=true
       TBB_FORCE_REBUILD=true
       OCIO_FORCE_REBUILD=true
@@ -830,12 +857,8 @@ while true; do
     ;;
     --force-python)
       PYTHON_FORCE_REBUILD=true
-      NUMPY_FORCE_REBUILD=true
       shift; continue
     ;;
-    --force-numpy)
-      NUMPY_FORCE_REBUILD=true; shift; continue
-    ;;
     --force-boost)
       BOOST_FORCE_REBUILD=true; shift; continue
     ;;
@@ -887,9 +910,6 @@ while true; do
     --skip-python)
       PYTHON_SKIP=true; shift; continue
     ;;
-    --skip-numpy)
-      NUMPY_SKIP=true; shift; continue
-    ;;
     --skip-boost)
       BOOST_SKIP=true; shift; continue
     ;;
@@ -990,11 +1010,10 @@ PRINT ""
 
 # This has to be done here, because user might force some versions...
 PYTHON_SOURCE=( "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz" )
-NUMPY_SOURCE=( "https://github.com/numpy/numpy/releases/download/v$NUMPY_VERSION/numpy-$NUMPY_VERSION.tar.gz" )
 
 _boost_version_nodots=`echo "$BOOST_VERSION" | sed -r 's/\./_/g'`
 BOOST_SOURCE=( "https://dl.bintray.com/boostorg/release/$BOOST_VERSION/source/boost_$_boost_version_nodots.tar.bz2" )
-BOOST_BUILD_MODULES="--with-system --with-filesystem --with-thread --with-regex --with-locale --with-date_time --with-wave --with-iostreams --with-python --with-program_options"
+BOOST_BUILD_MODULES="--with-system --with-filesystem --with-thread --with-regex --with-locale --with-date_time --with-wave --with-iostreams --with-python --with-program_options --with-serialization --with-atomic"
 
 TBB_SOURCE=( "https://github.com/oneapi-src/oneTBB/archive/$TBB_VERSION$TBB_VERSION_UPDATE.tar.gz" )
 TBB_SOURCE_CMAKE=( "https://raw.githubusercontent.com/wjakob/tbb/master/CMakeLists.txt" )
@@ -1112,19 +1131,24 @@ The following libraries will probably not all be available as packages in your d
 You can force install_deps to build those with '--build-all' or relevant 'build-foo' options, see '--help' message.
 You may also want to build them yourself (optional ones are [between brackets]):
 
-    * Python $PYTHON_VERSION_MIN (from $PYTHON_SOURCE).
-    * [NumPy $NUMPY_VERSION_MIN] (from $NUMPY_SOURCE).
-    * Boost $BOOST_VERSION_MIN (from $BOOST_SOURCE, modules: $BOOST_BUILD_MODULES).
-    * TBB $TBB_VERSION_MIN (from $TBB_SOURCE).
-    * [FFMpeg $FFMPEG_VERSION_MIN (needs libvorbis, libogg, libtheora, libx264, libmp3lame, libxvidcore, libvpx, ...)] (from $FFMPEG_SOURCE).
-    * [OpenColorIO $OCIO_VERSION_MIN] (from $OCIO_SOURCE).
-    * ILMBase $OPENEXR_VERSION_MIN (from $OPENEXR_SOURCE).
-    * OpenEXR $OPENEXR_VERSION_MIN (from $OPENEXR_SOURCE).
-    * OpenImageIO $OIIO_VERSION_MIN (from $OIIO_SOURCE).
-    * [LLVM $LLVM_VERSION_MIN (with clang)] (from $LLVM_SOURCE, and $LLVM_CLANG_SOURCE).
-    * [OpenShadingLanguage $OSL_VERSION_MIN] (from $OSL_SOURCE_REPO, branch $OSL_SOURCE_REPO_BRANCH, commit $OSL_SOURCE_REPO_UID).
-    * [OpenSubDiv $OSD_VERSION_MIN] (from $OSD_SOURCE_REPO, branch $OSD_SOURCE_REPO_BRANCH, commit $OSD_SOURCE_REPO_UID).
-    * [OpenVDB $OPENVDB_VERSION_MIN] (from $OPENVDB_SOURCE), [Blosc $OPENVDB_BLOSC_VERSION] (from $OPENVDB_BLOSC_SOURCE).
+    * Python $PYTHON_VERSION (from $PYTHON_SOURCE).
+    ** [IDNA $PYTHON_IDNA_VERSION] (use pip).
+    ** [Chardet $PYTHON_CHARDET_VERSION] (use pip).
+    ** [Urllib3 $PYTHON_URLLIB3_VERSION] (use pip).
+    ** [Certifi $PYTHON_CERTIFI_VERSION] (use pip).
+    ** [Requests $PYTHON_REQUESTS_VERSION] (use pip).
+    ** [NumPy $PYTHON_NUMPY_VERSION] (use pip).
+    * Boost $BOOST_VERSION (from $BOOST_SOURCE, modules: $BOOST_BUILD_MODULES).
+    * TBB $TBB_VERSION (from $TBB_SOURCE).
+    * [FFMpeg $FFMPEG_VERSION (needs libvorbis, libogg, libtheora, libx264, libmp3lame, libxvidcore, libvpx, ...)] (from $FFMPEG_SOURCE).
+    * [OpenColorIO $OCIO_VERSION] (from $OCIO_SOURCE).
+    * ILMBase $OPENEXR_VERSION (from $OPENEXR_SOURCE).
+    * OpenEXR $OPENEXR_VERSION (from $OPENEXR_SOURCE).
+    * OpenImageIO $OIIO_VERSION (from $OIIO_SOURCE).
+    * [LLVM $LLVM_VERSION (with clang)] (from $LLVM_SOURCE, and $LLVM_CLANG_SOURCE).
+    * [OpenShadingLanguage $OSL_VERSION] (from $OSL_SOURCE_REPO, branch $OSL_SOURCE_REPO_BRANCH, commit $OSL_SOURCE_REPO_UID).
+    * [OpenSubDiv $OSD_VERSION] (from $OSD_SOURCE_REPO, branch $OSD_SOURCE_REPO_BRANCH, commit $OSD_SOURCE_REPO_UID).
+    * [OpenVDB $OPENVDB_VERSION] (from $OPENVDB_SOURCE), [Blosc $OPENVDB_BLOSC_VERSION] (from $OPENVDB_BLOSC_SOURCE).
     * [OpenCollada $OPENCOLLADA_VERSION] (from $OPENCOLLADA_SOURCE).
     * [Embree $EMBREE_VERSION] (from $EMBREE_SOURCE).
     * [OpenImageDenoise $OIDN_VERSION] (from $OIDN_SOURCE).
@@ -1309,18 +1333,22 @@ magic_compile_set() {
 
 # Note: should clean nicely in $INST, but not in $SRC, when we switch to a new version of a lib...
 _clean() {
-  rm -rf `readlink -f $_inst_shortcut`
+  if [ $_inst_shortc

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list