Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 778e6305 authored by hhakim's avatar hhakim
Browse files

Change from 3.7 to 3.9 the python version used to build the pyfaust wrapper on...

Change from 3.7 to 3.9 the python version used to build the pyfaust wrapper on macOS and linux system packages (pkg, rpm, deb).

Adjust the post-install scripts of these packages to verify to deploy only if major.minor version of python matches 3.9.
parent 581b43d8
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,7 @@ variables: ...@@ -6,6 +6,7 @@ variables:
DFILE: "faust_data-2.6.0.zip" DFILE: "faust_data-2.6.0.zip"
JOB_PYTHON: "python3" # if set again in job, it hides this one (precedence: https://docs.gitlab.com/13.6/ee/ci/variables/#priority-of-environment-variables) JOB_PYTHON: "python3" # if set again in job, it hides this one (precedence: https://docs.gitlab.com/13.6/ee/ci/variables/#priority-of-environment-variables)
WIN_PY_VER: '3.9' #default python version used to build python wrapper on windows (for both whl package and nsis .exe) WIN_PY_VER: '3.9' #default python version used to build python wrapper on windows (for both whl package and nsis .exe)
NIX_PY_VER: '3.9' # default python version used to build python wrapper for "unix" system packages (pkg/macos, rpm/deb/linux)
.ctest_template: &ctest_script .ctest_template: &ctest_script
script: script:
...@@ -79,6 +80,7 @@ ctest_nightly_macos: ...@@ -79,6 +80,7 @@ ctest_nightly_macos:
pkg_macos: pkg_macos:
stage: pkg stage: pkg
script: script:
- export PYTHON_PATH=$(which python$NIX_PY_VER)
- SHA_START=$(echo $CI_COMMIT_SHA | sed -e 's/^\(.\{8\}\).*/\1/') - SHA_START=$(echo $CI_COMMIT_SHA | sed -e 's/^\(.\{8\}\).*/\1/')
- if [[ ! -d 'build' ]]; then mkdir build;fi; cd build - if [[ ! -d 'build' ]]; then mkdir build;fi; cd build
- 'cmake -DOpenMP_gomp_LIBRARY=/opt/local/lib/libomp/libgomp.dylib -DBUILD_WRAPPER_PYTHON=ON -DBUILD_DOCUMENTATION=ON -DCPACK_PACKAGE_VERSION=$SHA_START -DCMAKE_INSTALL_PREFIX=/opt/local/faust-$SHA_START -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DEXPERIMENTAL_PKG=ON -DBUILD_MULTITHREAD=ON -DNOPY2=ON -DCMAKE_CXX_COMPILER=/opt/local/bin/clang++-mp-8.0 ..' - 'cmake -DOpenMP_gomp_LIBRARY=/opt/local/lib/libomp/libgomp.dylib -DBUILD_WRAPPER_PYTHON=ON -DBUILD_DOCUMENTATION=ON -DCPACK_PACKAGE_VERSION=$SHA_START -DCMAKE_INSTALL_PREFIX=/opt/local/faust-$SHA_START -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DEXPERIMENTAL_PKG=ON -DBUILD_MULTITHREAD=ON -DNOPY2=ON -DCMAKE_CXX_COMPILER=/opt/local/bin/clang++-mp-8.0 ..'
...@@ -173,6 +175,7 @@ pkg_linux: ...@@ -173,6 +175,7 @@ pkg_linux:
script: script:
# build faust # build faust
- SHA_START=$(echo $CI_COMMIT_SHA | sed -e 's/^\(.\{8\}\).*/\1/') - SHA_START=$(echo $CI_COMMIT_SHA | sed -e 's/^\(.\{8\}\).*/\1/')
- export PYTHON_PATH=$(which python$NIX_PY_VER)
- if [[ ! -d 'build' ]]; then mkdir build;fi; cd build - if [[ ! -d 'build' ]]; then mkdir build;fi; cd build
- 'cmake -DBUILD_WRAPPER_PYTHON=ON -DBUILD_WRAPPER_MATLAB=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust-$SHA_START -DCPACK_PACKAGE_FILE_NAME=faust-$SHA_START -DCPACK_PACKAGE_VERSION=$SHA_START -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DEXPERIMENTAL_PKG=ON -DNOPY2=ON -DUSE_GPU_MOD=ON -DCMAKE_PREFIX_PATH=$PWD/../gpu_mod ..' - 'cmake -DBUILD_WRAPPER_PYTHON=ON -DBUILD_WRAPPER_MATLAB=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust-$SHA_START -DCPACK_PACKAGE_FILE_NAME=faust-$SHA_START -DCPACK_PACKAGE_VERSION=$SHA_START -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DEXPERIMENTAL_PKG=ON -DNOPY2=ON -DUSE_GPU_MOD=ON -DCMAKE_PREFIX_PATH=$PWD/../gpu_mod ..'
- make - make
...@@ -202,6 +205,7 @@ pkg_linux: ...@@ -202,6 +205,7 @@ pkg_linux:
pkg_macos_release: pkg_macos_release:
stage: pkg stage: pkg
script: script:
- export PYTHON_PATH=$(which python$NIX_PY_VER)
- if [[ ! -d 'build' ]]; then mkdir build;fi; cd build - if [[ ! -d 'build' ]]; then mkdir build;fi; cd build
- 'cmake -DOpenMP_gomp_LIBRARY=/opt/local/lib/libomp/libgomp.dylib -DBUILD_WRAPPER_PYTHON=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust -DCPACK_PACKAGE_VERSION=$CI_COMMIT_TAG -DCMAKE_BUILD_TYPE=Release -DEXCLUDE_FAUST_LIB_INSTALL=ON -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DBUILD_MULTITHREAD=ON -DNOPY2=ON -DCMAKE_CXX_COMPILER=/opt/local/bin/clang++-mp-8.0 ..' - 'cmake -DOpenMP_gomp_LIBRARY=/opt/local/lib/libomp/libgomp.dylib -DBUILD_WRAPPER_PYTHON=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust -DCPACK_PACKAGE_VERSION=$CI_COMMIT_TAG -DCMAKE_BUILD_TYPE=Release -DEXCLUDE_FAUST_LIB_INSTALL=ON -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DBUILD_MULTITHREAD=ON -DNOPY2=ON -DCMAKE_CXX_COMPILER=/opt/local/bin/clang++-mp-8.0 ..'
- make LANG=en_GB.UTF-8 - make LANG=en_GB.UTF-8
...@@ -262,6 +266,7 @@ pkg_linux_release: ...@@ -262,6 +266,7 @@ pkg_linux_release:
stage: pkg stage: pkg
script: script:
- if [[ ! -d 'build' ]]; then mkdir build;fi; cd build - if [[ ! -d 'build' ]]; then mkdir build;fi; cd build
- export PYTHON_PATH=$(which python$NIX_PY_VER)
- 'cmake -DBUILD_WRAPPER_PYTHON=ON -DBUILD_WRAPPER_MATLAB=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust -DCPACK_PACKAGE_FILE_NAME=faust-$CI_COMMIT_TAG -DCPACK_PACKAGE_VERSION=$CI_COMMIT_TAG -DEXCLUDE_FAUST_LIB_INSTALL=ON -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DNOPY2=ON -DUSE_GPU_MOD=ON -DCMAKE_PREFIX_PATH=$PWD/../gpu_mod ..' - 'cmake -DBUILD_WRAPPER_PYTHON=ON -DBUILD_WRAPPER_MATLAB=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust -DCPACK_PACKAGE_FILE_NAME=faust-$CI_COMMIT_TAG -DCPACK_PACKAGE_VERSION=$CI_COMMIT_TAG -DEXCLUDE_FAUST_LIB_INSTALL=ON -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DNOPY2=ON -DUSE_GPU_MOD=ON -DCMAKE_PREFIX_PATH=$PWD/../gpu_mod ..'
- make - make
- cpack -G RPM -C CPackConfig.cmake - cpack -G RPM -C CPackConfig.cmake
...@@ -284,6 +289,7 @@ pkg_linux_release_static: ...@@ -284,6 +289,7 @@ pkg_linux_release_static:
stage: pkg stage: pkg
script: script:
- if [[ ! -d 'build' ]]; then mkdir build;fi; cd build - if [[ ! -d 'build' ]]; then mkdir build;fi; cd build
- export PYTHON_PATH=$(which python$NIX_PY_VER)
- 'cmake -DBUILD_WRAPPER_PYTHON=ON -DBUILD_WRAPPER_MATLAB=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust -DCPACK_PACKAGE_FILE_NAME=faust-$CI_COMMIT_TAG-static -DCPACK_PACKAGE_VERSION=$CI_COMMIT_TAG -DEXCLUDE_FAUST_LIB_INSTALL=ON -DUSE_MATIO_STATIC_LIBS=ON -DMATIO_STATIC_LIB_PATH=/opt/local/matio-1.5.7/src/.libs/libmatio.a -DZ_STATIC_LIB_PATH=/opt/local/zlib-1.2.11/libz.a -DHDF5_STATIC_LIB_PATH=/opt/local/hdf5-1.8.18/src/.libs/libhdf5.a -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DBUILD_MULTITHREAD=ON -DNOPY2=ON -DUSE_GPU_MOD=ON -DCMAKE_PREFIX_PATH=$PWD/../gpu_mod ..' - 'cmake -DBUILD_WRAPPER_PYTHON=ON -DBUILD_WRAPPER_MATLAB=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust -DCPACK_PACKAGE_FILE_NAME=faust-$CI_COMMIT_TAG-static -DCPACK_PACKAGE_VERSION=$CI_COMMIT_TAG -DEXCLUDE_FAUST_LIB_INSTALL=ON -DUSE_MATIO_STATIC_LIBS=ON -DMATIO_STATIC_LIB_PATH=/opt/local/matio-1.5.7/src/.libs/libmatio.a -DZ_STATIC_LIB_PATH=/opt/local/zlib-1.2.11/libz.a -DHDF5_STATIC_LIB_PATH=/opt/local/hdf5-1.8.18/src/.libs/libhdf5.a -DBUILD_TESTING=OFF -DREMOTE_DATA_URL="$DURL" -DREMOTE_DATA_FILE="$DFILE" -DBUILD_MULTITHREAD=ON -DNOPY2=ON -DUSE_GPU_MOD=ON -DCMAKE_PREFIX_PATH=$PWD/../gpu_mod ..'
- make - make
- cpack -G RPM -C CPackConfig.cmake - cpack -G RPM -C CPackConfig.cmake
......
...@@ -20,7 +20,7 @@ function link_py_files(){ ...@@ -20,7 +20,7 @@ function link_py_files(){
[[ -n "$DEBUG" ]] && echo PY_MAJOR_VER=$PY_MAJOR_MINOR_VER [[ -n "$DEBUG" ]] && echo PY_MAJOR_VER=$PY_MAJOR_MINOR_VER
if [[ "$PY_MAJOR_VER" = 3* ]] if [[ "$PY_MAJOR_VER" = 3* ]]
then then
[[ ! "$PY_MAJOR_MINOR_VER" = 3.$SUPPORTED_PY3 ]] && echo -e "\033[1mWARNING\033[0m: your python3 version ($PY_MAJOR_MINOR_VER) is not supported by Faust (only 3.$SUPPORTED_PY3 is supported). Please rely on Faust for python2." && return 2 || PYFILES+=" ${FAUST_PY_WRAPPER_PATH}/_FaustCorePy.cpython-3${SUPPORTED_PY3}m-x86_64-linux-gnu.so" [[ ! "$PY_MAJOR_MINOR_VER" = 3.$SUPPORTED_PY3 ]] && echo -e "\033[1mWARNING\033[0m: your python3 version ($PY_MAJOR_MINOR_VER) is not supported by Faust (only 3.$SUPPORTED_PY3 is supported)." && return 2 || PYFILES+=" ${FAUST_PY_WRAPPER_PATH}/_FaustCorePy.cpython-3${SUPPORTED_PY3}m-x86_64-linux-gnu.so"
else #py2 else #py2
PYFILES+=" ${FAUST_PY_WRAPPER_PATH}/_FaustCorePy.so" PYFILES+=" ${FAUST_PY_WRAPPER_PATH}/_FaustCorePy.so"
fi fi
...@@ -40,7 +40,10 @@ function link_py_files(){ ...@@ -40,7 +40,10 @@ function link_py_files(){
[[ $PYLINKS_FAIL_COUNT = 0 ]] && echo -e "\033[1mNOTICE\033[0m: Linked py wrapper for python$PY_MAJOR_VER into ${PY_SITE_PACKAGES_PATH}. Installation's ok for python$PY_MAJOR_MINOR_VER." [[ $PYLINKS_FAIL_COUNT = 0 ]] && echo -e "\033[1mNOTICE\033[0m: Linked py wrapper for python$PY_MAJOR_VER into ${PY_SITE_PACKAGES_PATH}. Installation's ok for python$PY_MAJOR_MINOR_VER."
} }
for V in 2 3 # default root PATH is not necessarily including /usr/local/bin (which is very common when python is built manually), so add it to the PATH!
export PATH=$PATH:/usr/local/bin
for V in 2 3.$SUPPORTED_PY3
do do
which python$V 2>&1 > /dev/null && link_py_files $V which python$V 2>&1 > /dev/null && link_py_files $V
done done
......
#!/bin/bash #!/bin/bash
SUPPORTED_PY3=@PY3_MINOR_VER@ # needed because python3 has ABI changes between minor versions (the pyfaust shared lib. is compiled specifically for python major and minor version)
echo "$0 -- FAµST python wrapper post-install script START" | tee -a /tmp/log_faust_install echo "$0 -- FAµST python wrapper post-install script START" | tee -a /tmp/log_faust_install
uid=$(id -u) uid=$(id -u)
...@@ -35,8 +37,12 @@ for DIR in /usr/local /opt/local ...@@ -35,8 +37,12 @@ for DIR in /usr/local /opt/local
do do
for FILE in $(find $DIR -type l -name "python*") $(find $DIR -type f -name "python*") for FILE in $(find $DIR -type l -name "python*") $(find $DIR -type f -name "python*")
do do
echo "PYTHON found: $file" | tee -a /tmp/log_faust_install # Install the python wrapper only for python major.minor compatible versions
[[ -x "$FILE" ]] && link_py_files "$FILE" if [[ -x $FILE ]] && $FILE --version | grep -q "Python 3.$SUPPORTED_PY3"
then
echo "PYTHON found: $file" | tee -a /tmp/log_faust_install
[[ -x "$FILE" ]] && link_py_files "$FILE"
fi
done done
done done
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment