diff --git a/aegis.sh b/aegis.sh index 28531b1bec..91a175d56c 100644 --- a/aegis.sh +++ b/aegis.sh @@ -13,6 +13,9 @@ source: https://github.com/AliceO2Group/AEGIS.git prepend_path: LD_LIBRARY_PATH: "$AEGIS_ROOT/lib" ROOT_INCLUDE_PATH: "$AEGIS_ROOT/include" +valid_defaults: + - o2 + - jw --- #!/bin/bash -e FVERSION=`gfortran --version | grep -i fortran | sed -e 's/.* //' | cut -d. -f1` diff --git a/apmon-cpp.sh b/apmon-cpp.sh index 027162a583..9e988f5fa1 100644 --- a/apmon-cpp.sh +++ b/apmon-cpp.sh @@ -12,6 +12,12 @@ rsync -a --exclude='**/.git' --delete --delete-excluded \ $SOURCEDIR/ ./ autoreconf -ivf +case $ARCHITECTURE in + arch*) + LIBTIRPC_ROOT=/usr + ;; +esac + if [[ -n ${LIBTIRPC_ROOT} ]]; then export CXXFLAGS="${CXXFLAGS} -I${LIBTIRPC_ROOT}/include/tirpc" diff --git a/arrow.sh b/arrow.sh index 0e6bb354bb..5021f95d00 100644 --- a/arrow.sh +++ b/arrow.sh @@ -23,6 +23,7 @@ env: --- #!/bin/bash -e mkdir -p "$INSTALLROOT" +SONAME=so case $ARCHITECTURE in osx*) # If we preferred system tools, we need to make sure we can pick them up. @@ -43,9 +44,17 @@ __ZNK4llvm* EOF CMAKE_SHARED_LINKER_FLAGS="-Wl,-unexported_symbols_list,$PWD/no-llvm-symbols.txt" ;; + arch*) + #[[ ! $RE2_ROOT ]] && RE2_ROOT=/usr + [[ ! $LZ4_ROOT ]] && LZ4_ROOT=$(dirname $(dirname $(which lz4))) + [[ ! $RAPIDJSON_ROOT ]] && RAPIDJSON_ROOT=/usr + CLANG_EXECUTABLE=/usr/bin/clang++ + [[ ! $CLANG_VERSION ]] && CLANG_VERSION=$($CLANG_EXECUTABLE --version | grep version | sed 's|.*version ||') + ;; *) SONAME=so ;; esac +echo "CLANG_VERSION: $CLANG_VERSION" # Downloaded by CMake, built, and linked statically (not needed at runtime): # zlib, lz4, brotli # @@ -57,18 +66,25 @@ esac mkdir -p ./src_tmp rsync -a --exclude='**/.git' --delete --delete-excluded "$SOURCEDIR/" ./src_tmp/ +CLANG_VERSION_SHORT=`echo $CLANG_VERSION | sed "s/\.[0-9]*\$//" | sed "s/^v//"` +CLANG_VERSION_MAIN=`echo $CLANG_VERSION | sed "s/\(\.[0-9]\)*\$//" | sed "s/^v//"` +sed -i.deleteme -e "s/set(ARROW_LLVM_VERSION \".*\")/set(ARROW_LLVM_VERSION \"$CLANG_VERSION_SHORT\")/" "./src_tmp/cpp/CMakeLists.txt" || true +sed -i.deleteme -e "s/set(ARROW_LLVM_VERSIONS \".*\")/set(ARROW_LLVM_VERSIONS \"$CLANG_VERSION_SHORT\")/" "./src_tmp/cpp/CMakeLists.txt" || true +sed -i.deleteme -e "s/set(ARROW_LLVM_VERSIONS/set(ARROW_LLVM_VERSIONS\n \"$CLANG_VERSION_SHORT\"/" "./src_tmp/cpp/CMakeLists.txt" || true case $ARCHITECTURE in osx*) CLANG_EXECUTABLE=/usr/bin/clang ;; *) - CLANG_EXECUTABLE=${CLANG_ROOT}/bin-safe/clang + # CLANG_EXECUTABLE=${CLANG_ROOT}/bin-safe/clang # this patches version script to hide llvm symbols in gandiva library sed -i.deleteme '/^[[:space:]]*extern/ a \ \ \ \ \ \ llvm*; LLVM*;' "./src_tmp/cpp/src/gandiva/symbols.map" ;; esac +export LDFLAGS=-lpthread + cmake ./src_tmp/cpp \ ${CMAKE_SHARED_LINKER_FLAGS:+-DCMAKE_SHARED_LINKER_FLAGS="$CMAKE_SHARED_LINKER_FLAGS"} \ -DARROW_DEPENDENCY_SOURCE=SYSTEM \ @@ -111,6 +127,7 @@ cmake ./src_tmp/cpp -DARROW_COMPUTE=ON \ -DARROW_BUILD_STATIC=OFF \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON \ + -DARROW_LLVM_VERSIONS=$CLANG_VERSION_SHORT \ -DCLANG_EXECUTABLE="$CLANG_EXECUTABLE" make ${JOBS:+-j $JOBS} diff --git a/clang.sh b/clang.sh index f10c33e571..871e753210 100644 --- a/clang.sh +++ b/clang.sh @@ -12,6 +12,9 @@ build_requires: - ninja env: LLVM_ROOT: "$CLANG_ROOT" # needed by LLVMAlt +prefer_system: .* +prefer_system_check: | + true --- #!/bin/bash -e diff --git a/cmake.sh b/cmake.sh index f44f92bc09..b55522f83a 100644 --- a/cmake.sh +++ b/cmake.sh @@ -10,8 +10,10 @@ build_requires: - alibuild-recipe-tools prefer_system: .* prefer_system_check: | - verge() { [[ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ]]; } - type cmake && verge 3.28.1 `cmake --version | sed -e 's/.* //' | cut -d. -f1,2,3` + true + +# verge() { [[ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ]]; } +# type cmake && verge 3.28.1 `cmake --version | sed -e 's/.* //' | cut -d. -f1,2,3` --- #!/bin/bash -e diff --git a/common-o2.sh b/common-o2.sh index a250cb00c2..a6e105ab99 100644 --- a/common-o2.sh +++ b/common-o2.sh @@ -22,7 +22,7 @@ esac cmake $SOURCEDIR \ -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ - ${BOOST_ROOT:+-DBOOST_ROOT=$BOOST_ROOT} \ + ${BOOST_ROOT:+-DBOOST_ROOT=$BOOST_ROOT -DBoost_NO_BOOST_CMAKE=ON} \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON cp ${BUILDDIR}/compile_commands.json ${INSTALLROOT} diff --git a/curl.sh b/curl.sh index 0de000f40b..3997305045 100644 --- a/curl.sh +++ b/curl.sh @@ -6,6 +6,9 @@ build_requires: - "OpenSSL:(?!osx)" - CMake - alibuild-recipe-tools +prefer_system: .* +prefer_system_check: | + true --- #!/bin/bash -e diff --git a/debuggui.sh b/debuggui.sh index 9e8f81a65e..aff798438d 100644 --- a/debuggui.sh +++ b/debuggui.sh @@ -34,6 +34,11 @@ case $ARCHITECTURE in EXTRA_LIBS="-framework CoreFoundation -framework AppKit" DEFINES="-DNO_PARALLEL_SORT" ;; + arch*) + DEFINES="-DIMGUI_IMPL_OPENGL_LOADER_GL3W -DTRACY_NO_FILESELECTOR" + EXTRA_LIBS="-lGL -ltbb" + [[ ! $FREETYPE_ROOT ]] && FREETYPE_ROOT="/usr" + ;; *) DEFINES="-DIMGUI_IMPL_OPENGL_LOADER_GL3W -DTRACY_NO_FILESELECTOR -DNO_PARALLEL_SORT" EXTRA_LIBS="-lGL" diff --git a/defaults-jw.sh b/defaults-jw.sh new file mode 100644 index 0000000000..bb244b2490 --- /dev/null +++ b/defaults-jw.sh @@ -0,0 +1,42 @@ +env: + CFLAGS: -fPIC -O2 -I/usr/include/tirpc + CMAKE_BUILD_TYPE: RELWITHDEBINFO + CXXFLAGS: -fPIC -O2 -std=c++17 -I/usr/include/tirpc + CXXSTD: '17' + ENABLE_VMC: 'ON' + GEANT4_BUILD_MULTITHREADED: 'ON' +overrides: + AliPhysics: + version: '%(commit_hash)s_O2' + AliRoot: + requires: + - ROOT + - fastjet:(?!.*ppc64) + - GEANT3 + - GEANT4_VMC + - Vc + - ZeroMQ + - JAliEn-ROOT + version: '%(commit_hash)s_O2' + cgal: + version: 4.12.2 + fastjet: + tag: v3.4.0_1.045-alice1 + pythia: + requires: + - lhapdf + - boost + tag: v8304 + O2-customization: + env: + ENABLE_UPGRADES: OFF # Disable detector upgrades in O2 + BUILD_ANALYSIS: OFF # Disable analysis in O2 + BUILD_EXAMPLES: OFF # Disable examples in O2 + ALIBUILD_ENABLE_CUDA: ON +package: defaults-jw +version: v1 + +--- +# This file is included in any build recipe and it's only used to set +# environment variables. Which file to actually include can be defined by the +# "--defaults" option of alibuild. diff --git a/double-conversion.sh b/double-conversion.sh index 0dde41cda2..62feaafb60 100644 --- a/double-conversion.sh +++ b/double-conversion.sh @@ -4,6 +4,9 @@ source: https://github.com/google/double-conversion build_requires: - CMake - "GCC-Toolchain:(?!osx)" +prefer_system: .* +prefer_system_check: | + true --- mkdir -p $INSTALLROOT diff --git a/flatbuffers.sh b/flatbuffers.sh index 297a31e064..3b1e2e98e8 100644 --- a/flatbuffers.sh +++ b/flatbuffers.sh @@ -12,6 +12,7 @@ build_requires: cmake "$SOURCEDIR" \ -G 'Unix Makefiles' \ -DFLATBUFFERS_BUILD_TESTS=OFF \ + -DFLATBUFFERS_BUILD_CPP17=ON \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-unknown-warning -Wno-unknown-warning-option -Wno-error=unused-but-set-variable" # LLVM 15 requires -Wno-error=unused-but-set-variable to compile diff --git a/googletest.sh b/googletest.sh index a4bbaeb64f..c083702727 100644 --- a/googletest.sh +++ b/googletest.sh @@ -5,6 +5,9 @@ source: https://github.com/google/googletest build_requires: - "GCC-Toolchain:(?!osx)" - CMake +prefer_system: .* +prefer_system_check: | + true --- #!/bin/sh cmake $SOURCEDIR \ diff --git a/jalien-root.sh b/jalien-root.sh index 25e09bf614..350d1902c5 100644 --- a/jalien-root.sh +++ b/jalien-root.sh @@ -24,6 +24,9 @@ case $ARCHITECTURE in SONAME=dylib [[ ! $OPENSSL_ROOT ]] && OPENSSL_ROOT=$(brew --prefix openssl@3) [[ ! $LIBWEBSOCKETS_ROOT ]] && LIBWEBSOCKETS_ROOT=$(brew --prefix libwebsockets) + ;; + arch*) + [[ ! JSON_C_ROOT ]] && JSON_C_ROOT=/usr ;; esac diff --git a/jdk.sh b/jdk.sh index 74b5b542ca..8b9056713e 100644 --- a/jdk.sh +++ b/jdk.sh @@ -4,7 +4,7 @@ build_requires: - curl prefer_system: .* prefer_system_check: | - [[ $(uname) == Darwin ]] && /usr/libexec/java_home || exit 1; X=$(mktemp -d); cd $X && printf "public class verAliBuild { public static void main(String[] args) { if (Integer.parseInt((System.getProperty(\"java.version\")+\".\").split(\"\\\\\.\")[0]) < 10) System.exit(42); } }" > verAliBuild.java && javac verAliBuild.java && java verAliBuild && rm -rf $X + true env: JAVA_HOME: "$JDK_ROOT/$(cd $JDK_ROOT; ls -1d jdk*/Contents/Home)" prepend_path: diff --git a/json-c.sh b/json-c.sh index 5f56907683..47f500ba55 100644 --- a/json-c.sh +++ b/json-c.sh @@ -5,6 +5,9 @@ source: https://github.com/json-c/json-c build_requires: - "autotools:(slc6|slc7)" - "GCC-Toolchain:(?!osx)" +prefer_system: .* +prefer_system_check: | + true --- #!/bin/bash -e rsync -a --delete --exclude '**/.git' --delete-excluded $SOURCEDIR/ ./ diff --git a/libtirpc.sh b/libtirpc.sh index 9927b8fa93..a184e9011d 100644 --- a/libtirpc.sh +++ b/libtirpc.sh @@ -5,6 +5,9 @@ source: https://github.com/alisw/libtirpc build_requires: - "autotools:(slc6|slc7)" - "GCC-Toolchain:(?!osx)" +prefer_system: .* +prefer_system_check: | + true --- #!/bin/bash -e rsync -a --delete --exclude '**/.git' --delete-excluded $SOURCEDIR/ ./ diff --git a/libwebsockets.sh b/libwebsockets.sh index 52c6cd5743..f91b4d6013 100644 --- a/libwebsockets.sh +++ b/libwebsockets.sh @@ -56,6 +56,7 @@ cmake $SOURCEDIR \ cmake --build . --target install ${JOBS+-j $JOBS} rm -rf $INSTALLROOT/share + # Modulefile mkdir -p etc/modulefiles alibuild-generate-module --lib --bin > etc/modulefiles/$PKGNAME diff --git a/lz4.sh b/lz4.sh index 255589d9f2..35df7062ab 100644 --- a/lz4.sh +++ b/lz4.sh @@ -8,7 +8,7 @@ build_requires: - alibuild-recipe-tools prefer_system: ".*" prefer_system_check: | - printf "#include \n" | cc -xc -I$(brew --prefix lz4)/include - -c -M 2>&1 + true --- cmake -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ diff --git a/o2-customization.sh b/o2-customization.sh index bd8d52b79f..55f36c8fc5 100644 --- a/o2-customization.sh +++ b/o2-customization.sh @@ -2,6 +2,7 @@ package: O2-customization version: "v1.0.0" env: ENABLE_UPGRADES: "ON" + BUILD_SIMULATION: "ON" valid_defaults: - o2 - o2-dataflow @@ -9,6 +10,7 @@ valid_defaults: - o2-dev-fairroot - alo - o2-prod + - jw --- # No contents. The only goal of this recipe is to provide customizations to # enable / disable features of the O2 builds. This cannot be done in the O2 diff --git a/o2.sh b/o2.sh index 5d8336f93d..6b8eb54121 100644 --- a/o2.sh +++ b/o2.sh @@ -131,6 +131,7 @@ valid_defaults: - o2-dev-fairroot - alo - o2-prod + - jw --- #!/bin/sh export ROOTSYS=$ROOT_ROOT @@ -141,6 +142,7 @@ export ROOTSYS=$ROOT_ROOT # maximum safety. unset SIMPATH +SONAME=so case $ARCHITECTURE in osx*) # If we preferred system tools, we need to make sure we can pick them up. @@ -152,6 +154,9 @@ case $ARCHITECTURE in [[ ! $GLFW_ROOT ]] && GLFW_ROOT=`brew --prefix glfw` [[ ! $FMT_ROOT ]] && FMT_ROOT=`brew --prefix fmt` ;; + arch*) + export PYTHIA_ROOT=/usr + ;; esac # This affects only PR checkers @@ -174,6 +179,10 @@ if [[ ! $CMAKE_GENERATOR && $DISABLE_NINJA != 1 && $DEVEL_SOURCES != $SOURCEDIR unset NINJA_BIN fi +unset ALIBUILD_ENABLE_CUDA +export DISABLE_GPU=ON +export BUILD_SIMULATION=ON +export Geant3_DIR=`echo ${GEANT3_ROOT}/lib64/Geant3-*` unset DYLD_LIBRARY_PATH cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ ${CMAKE_GENERATOR:+-G "$CMAKE_GENERATOR"} \ @@ -205,6 +214,9 @@ cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT ${CLANG_REVISION:+-DLLVM_LINK_EXECUTABLE="$CLANG_ROOT/bin/llvm-link"} \ ${ITSRESPONSE_ROOT:+-DITSRESPONSE=${ITSRESPONSE_ROOT}} # LLVM_ROOT is required for Gandiva +# ${BOOST_ROOT:+-DBoost_NO_BOOST_CMAKE=ON} \ +# ${BUILD_SIMULATION:+-DBUILD_SIMULATION=$BUILD_SIMULATION} \ +# -DGeant3_DIR=$Geant3_DIR \ cmake --build . -- ${JOBS+-j $JOBS} install diff --git a/o2suite.sh b/o2suite.sh index e51144ee92..678d4062cf 100644 --- a/o2suite.sh +++ b/o2suite.sh @@ -22,6 +22,7 @@ valid_defaults: - alo - o2-prod - o2-ninja + - jw --- #!/bin/bash -ex diff --git a/onnxruntime.sh b/onnxruntime.sh index 459e20e5a0..c1093c6d41 100644 --- a/onnxruntime.sh +++ b/onnxruntime.sh @@ -45,6 +45,8 @@ cmake "$SOURCEDIR/cmake" ${FLATBUFFERS_ROOT:+-DFLATBUFFERS_INCLUDE_DIR=${FLATBUFFERS_ROOT}/include} \ ${BOOST_ROOT:+-DBOOST_INCLUDE_DIR=${BOOST_ROOT}/include} +file=$(find -name extension.h) +sed -i 's||\n#include |' $file cmake --build . -- ${JOBS:+-j$JOBS} install # Modulefile diff --git a/openssl.sh b/openssl.sh index 21290545ee..1b5db4e6a4 100644 --- a/openssl.sh +++ b/openssl.sh @@ -2,21 +2,9 @@ package: OpenSSL version: v1.1.1m tag: OpenSSL_1_1_1m source: https://github.com/openssl/openssl -prefer_system: (?!slc5|slc6) +prefer_system: .* prefer_system_check: | - #!/bin/bash -e - case $(uname) in - Darwin) prefix=$(brew --prefix openssl@3); [ -d "$prefix" ] ;; - *) prefix= ;; - esac - cc -x c - ${prefix:+"-I$prefix/include"} -c -o /dev/null <<\EOF - #include - #include - #if OPENSSL_VERSION_NUMBER < 0x10101000L - #error "System's OpenSSL cannot be used: we need OpenSSL >= 1.1.1 for the Python ssl module. We are going to compile our own version." - #endif - int main() { } - EOF + true build_requires: - zlib - alibuild-recipe-tools diff --git a/pythia.sh b/pythia.sh index c6cd0f43bd..97d29a582d 100644 --- a/pythia.sh +++ b/pythia.sh @@ -9,6 +9,9 @@ requires: env: PYTHIA8DATA: "$PYTHIA_ROOT/share/Pythia8/xmldoc" PYTHIA8: "$PYTHIA_ROOT" +prefer_system: .* +prefer_system_check: | + true --- #!/bin/bash -e rsync -a $SOURCEDIR/ ./ diff --git a/python-modules.sh b/python-modules.sh index 2dc393192a..050fa9f11d 100644 --- a/python-modules.sh +++ b/python-modules.sh @@ -12,6 +12,9 @@ prepend_path: # If we need tensorflow-metal to work on Mac during subsequent builds, we # must use lib/python$pyver, not lib/python here. PYTHONPATH: "$PYTHON_MODULES_ROOT/lib/python/site-packages" +prefer_system: .* +prefer_system_check: | + true --- #!/bin/bash -e unset VIRTUAL_ENV @@ -35,10 +38,12 @@ pyver="$(python3 -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys. # Install pinned basic requirements for python infrastructure echo "$PIP_BASE_REQUIREMENTS" > base-requirements.txt python3 -m pip install -IU -r base-requirements.txt + # The above updates pip and setuptools, so install the rest of the packages separately. echo "$PIP_REQUIREMENTS" > requirements.txt python3 -m pip install -IU -r requirements.txt + # Remove useless stuff rm -rvf "$INSTALLROOT/share" find "$INSTALLROOT" -mindepth 2 -maxdepth 2 \ diff --git a/rapidjson.sh b/rapidjson.sh index 3150bc97f0..29a6136561 100644 --- a/rapidjson.sh +++ b/rapidjson.sh @@ -9,6 +9,9 @@ build_requires: - alibuild-recipe-tools prepend_path: ROOT_INCLUDE_PATH: "$RAPIDJSON_ROOT/include" +prefer_system: .* +prefer_system_check: | + true --- cmake $SOURCEDIR \ -G Ninja \ diff --git a/readout.sh b/readout.sh index 22339fcd7c..ebd97c68d6 100644 --- a/readout.sh +++ b/readout.sh @@ -36,6 +36,9 @@ case $ARCHITECTURE in [[ ! $ZEROMQ_ROOT ]] && ZEROMQ_ROOT=$(brew --prefix zeromq) [[ ! $FMT_ROOT ]] && FMT_ROOT=`brew --prefix fmt` ;; + arch*) + [[ ! $LZ4_ROOT ]] && LZ4_ROOT=$(dirname $(dirname $(which lz4))) + ;; esac cmake $SOURCEDIR \ diff --git a/root.sh b/root.sh index 7a7c7b44c5..7acbc4f0ed 100644 --- a/root.sh +++ b/root.sh @@ -83,6 +83,9 @@ case $ARCHITECTURE in [[ ! $OPENSSL_ROOT ]] && SYS_OPENSSL_ROOT=$(brew --prefix openssl@3) [[ ! $LIBPNG_ROOT ]] && LIBPNG_ROOT=$(brew --prefix libpng) ;; + arch*) + export CXXFLAGS="-I/usr/include/tirpc" + ;; esac if [[ $ALIEN_RUNTIME_VERSION ]]; then @@ -120,6 +123,7 @@ else # its own XRootD version. ROOT_XROOTD_FLAGS='-Dxrootd=OFF' fi +ROOT_XROOTD_FLAGS="-Dxrootd=ON" unset DYLD_LIBRARY_PATH CMAKE_GENERATOR=${CMAKE_GENERATOR:-Ninja} @@ -169,6 +173,7 @@ cmake $SOURCEDIR -Dvdt=OFF \ -Dbuiltin_vdt=OFF \ -Dgviz=OFF \ + -Dimt=OFF \ -Dbuiltin_davix=OFF \ -Dbuiltin_afterimage=ON \ -Dbuiltin_fftw3=OFF \ diff --git a/vc.sh b/vc.sh index 606e7bdd70..d3f5e59dd8 100644 --- a/vc.sh +++ b/vc.sh @@ -9,6 +9,9 @@ build_requires: - alibuild-recipe-tools prepend_path: ROOT_INCLUDE_PATH: "$VC_ROOT/include" +prefer_system: .* +prefer_system_check: | + true --- #!/bin/bash -e cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT -DBUILD_TESTING=OFF diff --git a/xercesc.sh b/xercesc.sh index 5f5568f40d..0c981b4be7 100644 --- a/xercesc.sh +++ b/xercesc.sh @@ -7,7 +7,7 @@ build_requires: - alibuild-recipe-tools prefer_system: ".*" prefer_system_check: | - pkg-config --atleast-version=3.2.0 xerces-c 2>&1 && printf "#include \"\"\nint main(){}" | c++ -xc - -o /dev/null + pkg-config --atleast-version=3.2.0 xerces-c 2>&1 && printf "#include \nint main(){}" | c++ -xc++ - -o /dev/null prepend_path: ROOT_INCLUDE_PATH: "$XERCESC_ROOT/include" CMAKE_PREFIX_PATH: "$XERCESC_ROOT" diff --git a/xrootd.sh b/xrootd.sh index 229693215c..a71affc847 100644 --- a/xrootd.sh +++ b/xrootd.sh @@ -15,6 +15,9 @@ build_requires: - alibuild-recipe-tools prepend_path: PYTHONPATH: "${XROOTD_ROOT}/lib/python/site-packages" +prefer_system: .* +prefer_system_check: | + true --- #!/bin/bash -e