Path: blob/master/scripts/deps/build-dependencies-linux.sh
4802 views
#!/usr/bin/env bash12# SPDX-FileCopyrightText: 2019-2025 Connor McLaughlin <[email protected]>3# SPDX-License-Identifier: CC-BY-NC-ND-4.04#5# NOTE: In addition to the terms of CC-BY-NC-ND-4.0, you may not use this file to create6# packages or build recipes without explicit permission from the copyright holder.7#89set -e1011if [ "$#" -lt 1 ]; then12echo "Syntax: $0 [-skip-download] [-skip-cleanup] [-only-download] <output directory>"13exit 114fi1516for arg in "$@"; do17if [ "$arg" == "-skip-download" ]; then18echo "Not downloading sources."19SKIP_DOWNLOAD=true20shift21elif [ "$arg" == "-skip-cleanup" ]; then22echo "Not removing build directory."23SKIP_CLEANUP=true24shift25elif [ "$arg" == "-only-download" ]; then26echo "Only downloading sources."27ONLY_DOWNLOAD=true28shift29fi30done3132SCRIPTDIR=$(realpath $(dirname "${BASH_SOURCE[0]}"))33NPROCS="$(getconf _NPROCESSORS_ONLN)"34INSTALLDIR="$1"35if [ "${INSTALLDIR:0:1}" != "/" ]; then36INSTALLDIR="$PWD/$INSTALLDIR"37fi3839source "$SCRIPTDIR/versions"4041mkdir -p deps-build42cd deps-build4344if [[ "$SKIP_DOWNLOAD" != true && ! -f "libbacktrace-$LIBBACKTRACE.tar.gz" ]]; then45curl -C - -L \46-o "freetype-$FREETYPE.tar.gz" "https://sourceforge.net/projects/freetype/files/freetype2/$FREETYPE/freetype-$FREETYPE.tar.gz/download" \47-o "harfbuzz-$HARFBUZZ.tar.gz" "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/$HARFBUZZ.tar.gz" \48-O "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/$LIBJPEGTURBO/libjpeg-turbo-$LIBJPEGTURBO.tar.gz" \49-O "https://downloads.sourceforge.net/project/libpng/libpng16/$LIBPNG/libpng-$LIBPNG.tar.gz" \50-O "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$LIBWEBP.tar.gz" \51-O "https://github.com/nih-at/libzip/releases/download/v$LIBZIP/libzip-$LIBZIP.tar.gz" \52-o "zlib-ng-$ZLIBNG.tar.gz" "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/$ZLIBNG.tar.gz" \53-O "https://github.com/facebook/zstd/releases/download/v$ZSTD/zstd-$ZSTD.tar.gz" \54-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtbase-everywhere-src-$QT.tar.xz" \55-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtimageformats-everywhere-src-$QT.tar.xz" \56-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtsvg-everywhere-src-$QT.tar.xz" \57-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qttools-everywhere-src-$QT.tar.xz" \58-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qttranslations-everywhere-src-$QT.tar.xz" \59-O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qtwayland-everywhere-src-$QT.tar.xz" \60-o "libbacktrace-$LIBBACKTRACE_COMMIT.tar.gz" "https://github.com/ianlancetaylor/libbacktrace/archive/$LIBBACKTRACE_COMMIT.tar.gz" \61-O "https://github.com/libsdl-org/SDL/releases/download/release-$SDL3/SDL3-$SDL3.tar.gz" \62-o "cpuinfo-$CPUINFO_COMMIT.tar.gz" "https://github.com/stenzek/cpuinfo/archive/$CPUINFO_COMMIT.tar.gz" \63-o "discord-rpc-$DISCORD_RPC_COMMIT.tar.gz" "https://github.com/stenzek/discord-rpc/archive/$DISCORD_RPC_COMMIT.tar.gz" \64-o "plutosvg-$PLUTOSVG_COMMIT.tar.gz" "https://github.com/stenzek/plutosvg/archive/$PLUTOSVG_COMMIT.tar.gz" \65-o "shaderc-$SHADERC_COMMIT.tar.gz" "https://github.com/stenzek/shaderc/archive/$SHADERC_COMMIT.tar.gz" \66-o "soundtouch-$SOUNDTOUCH_COMMIT.tar.gz" "https://github.com/stenzek/soundtouch/archive/$SOUNDTOUCH_COMMIT.tar.gz"67fi6869cat > SHASUMS <<EOF70$FREETYPE_GZ_HASH freetype-$FREETYPE.tar.gz71$HARFBUZZ_GZ_HASH harfbuzz-$HARFBUZZ.tar.gz72$LIBJPEGTURBO_GZ_HASH libjpeg-turbo-$LIBJPEGTURBO.tar.gz73$LIBPNG_GZ_HASH libpng-$LIBPNG.tar.gz74$LIBWEBP_GZ_HASH libwebp-$LIBWEBP.tar.gz75$LIBZIP_GZ_HASH libzip-$LIBZIP.tar.gz76$ZLIBNG_GZ_HASH zlib-ng-$ZLIBNG.tar.gz77$ZSTD_GZ_HASH zstd-$ZSTD.tar.gz78$QTBASE_XZ_HASH qtbase-everywhere-src-$QT.tar.xz79$QTIMAGEFORMATS_XZ_HASH qtimageformats-everywhere-src-$QT.tar.xz80$QTSVG_XZ_HASH qtsvg-everywhere-src-$QT.tar.xz81$QTTOOLS_XZ_HASH qttools-everywhere-src-$QT.tar.xz82$QTTRANSLATIONS_XZ_HASH qttranslations-everywhere-src-$QT.tar.xz83$QTWAYLAND_XZ_HASH qtwayland-everywhere-src-$QT.tar.xz84$LIBBACKTRACE_GZ_HASH libbacktrace-$LIBBACKTRACE_COMMIT.tar.gz85$SDL3_GZ_HASH SDL3-$SDL3.tar.gz86$CPUINFO_GZ_HASH cpuinfo-$CPUINFO_COMMIT.tar.gz87$DISCORD_RPC_GZ_HASH discord-rpc-$DISCORD_RPC_COMMIT.tar.gz88$PLUTOSVG_GZ_HASH plutosvg-$PLUTOSVG_COMMIT.tar.gz89$SHADERC_GZ_HASH shaderc-$SHADERC_COMMIT.tar.gz90$SOUNDTOUCH_GZ_HASH soundtouch-$SOUNDTOUCH_COMMIT.tar.gz91EOF9293shasum -a 256 --check SHASUMS9495# Have to clone with git, because it does version detection.96if [[ "$SKIP_DOWNLOAD" != true && ! -d "SPIRV-Cross" ]]; then97git clone https://github.com/KhronosGroup/SPIRV-Cross/ -b $SPIRV_CROSS_TAG --depth 198if [ "$(git --git-dir=SPIRV-Cross/.git rev-parse HEAD)" != "$SPIRV_CROSS_SHA" ]; then99echo "SPIRV-Cross version mismatch, expected $SPIRV_CROSS_SHA, got $(git rev-parse HEAD)"100exit 1101fi102fi103104# Only downloading sources?105if [ "$ONLY_DOWNLOAD" == true ]; then106exit 0107fi108109# Build zlib first because of the things that depend on it.110echo "Building zlib-ng..."111rm -fr "zlib-ng-$ZLIBNG"112tar xf "zlib-ng-$ZLIBNG.tar.gz"113cd "zlib-ng-$ZLIBNG"114cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DZLIB_COMPAT=ON -DZLIBNG_ENABLE_TESTS=OFF -DZLIB_ENABLE_TESTS=OFF -DWITH_GTEST=OFF -B build -G Ninja115cmake --build build --parallel116ninja -C build install117cd ..118119echo "Building libbacktrace..."120rm -fr "libbacktrace-$LIBBACKTRACE_COMMIT"121tar xf "libbacktrace-$LIBBACKTRACE_COMMIT.tar.gz"122cd "libbacktrace-$LIBBACKTRACE_COMMIT"123CFLAGS="-fmacro-prefix-map=\"${PWD}\"=. -ffile-prefix-map=\"${PWD}\"=." ./configure --prefix="$INSTALLDIR" --with-pic124make125make install126cd ..127128echo "Building libpng..."129rm -fr "libpng-$LIBPNG"130tar xf "libpng-$LIBPNG.tar.gz"131cd "libpng-$LIBPNG"132patch -p1 < "$SCRIPTDIR/libpng-1.6.50-apng.patch"133cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DPNG_TESTS=OFF -DPNG_STATIC=OFF -DPNG_SHARED=ON -DPNG_TOOLS=OFF -B build -G Ninja134cmake --build build --parallel135ninja -C build install136cd ..137138echo "Building libjpeg..."139rm -fr "libjpeg-turbo-$LIBJPEGTURBO"140tar xf "libjpeg-turbo-$LIBJPEGTURBO.tar.gz"141cd "libjpeg-turbo-$LIBJPEGTURBO"142cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DENABLE_STATIC=OFF -DENABLE_SHARED=ON -B build -G Ninja143cmake --build build --parallel144ninja -C build install145cd ..146147echo "Building Zstandard..."148rm -fr "zstd-$ZSTD"149tar xf "zstd-$ZSTD.tar.gz"150cd "zstd-$ZSTD"151cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DZSTD_BUILD_SHARED=ON -DZSTD_BUILD_STATIC=OFF -DZSTD_BUILD_PROGRAMS=OFF -B build -G Ninja build/cmake152cmake --build build --parallel153ninja -C build install154cd ..155156echo "Building WebP..."157rm -fr "libwebp-$LIBWEBP"158tar xf "libwebp-$LIBWEBP.tar.gz"159cd "libwebp-$LIBWEBP"160cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -B build -G Ninja \161-DWEBP_BUILD_ANIM_UTILS=OFF -DWEBP_BUILD_CWEBP=OFF -DWEBP_BUILD_DWEBP=OFF -DWEBP_BUILD_GIF2WEBP=OFF -DWEBP_BUILD_IMG2WEBP=OFF \162-DWEBP_BUILD_VWEBP=OFF -DWEBP_BUILD_WEBPINFO=OFF -DWEBP_BUILD_WEBPMUX=OFF -DWEBP_BUILD_EXTRAS=OFF -DBUILD_SHARED_LIBS=ON163cmake --build build --parallel164ninja -C build install165cd ..166167echo "Building libzip..."168rm -fr "libzip-$LIBZIP"169tar xf "libzip-$LIBZIP.tar.gz"170cd "libzip-$LIBZIP"171cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -B build -G Ninja \172-DENABLE_COMMONCRYPTO=OFF -DENABLE_GNUTLS=OFF -DENABLE_MBEDTLS=OFF -DENABLE_OPENSSL=OFF -DENABLE_WINDOWS_CRYPTO=OFF \173-DENABLE_BZIP2=OFF -DENABLE_LZMA=OFF -DENABLE_ZSTD=ON -DBUILD_SHARED_LIBS=ON -DLIBZIP_DO_INSTALL=ON \174-DBUILD_TOOLS=OFF -DBUILD_REGRESS=OFF -DBUILD_OSSFUZZ=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOC=OFF175cmake --build build --parallel176ninja -C build install177cd ..178179echo "Building FreeType..."180rm -fr "freetype-$FREETYPE"181tar xf "freetype-$FREETYPE.tar.gz"182cd "freetype-$FREETYPE"183patch -p1 < "$SCRIPTDIR/freetype-harfbuzz-soname.patch"184cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DFT_REQUIRE_ZLIB=ON -DFT_REQUIRE_PNG=ON -DFT_DISABLE_BZIP2=TRUE -DFT_DISABLE_BROTLI=TRUE -DFT_DYNAMIC_HARFBUZZ=TRUE -B build -G Ninja185cmake --build build --parallel186ninja -C build install187cd ..188189echo "Building HarfBuzz..."190rm -fr "harfbuzz-$HARFBUZZ"191tar xf "harfbuzz-$HARFBUZZ.tar.gz"192cd "harfbuzz-$HARFBUZZ"193cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DHB_BUILD_UTILS=OFF -B build -G Ninja194cmake --build build --parallel195ninja -C build install196cd ..197198echo "Building SDL..."199rm -fr "SDL3-$SDL3"200tar xf "SDL3-$SDL3.tar.gz"201cd "SDL3-$SDL3"202cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DSDL_SHARED=ON -DSDL_STATIC=OFF -DSDL_TESTS=OFF -G Ninja203cmake --build build --parallel204ninja -C build install205cd ..206207# Couple notes:208# -fontconfig is needed otherwise Qt Widgets render only boxes.209# -qt-doubleconversion avoids a dependency on libdouble-conversion.210# ICU avoids pulling in a bunch of large libraries, and hopefully we can get away without it.211# OpenGL is needed to render window decorations in Wayland, apparently.212echo "Building Qt Base..."213rm -fr "qtbase-everywhere-src-$QT"214tar xf "qtbase-everywhere-src-$QT.tar.xz"215cd "qtbase-everywhere-src-$QT"216patch -p1 < "$SCRIPTDIR/qtbase-disable-pcre2-jit.patch"217patch -p1 < "$SCRIPTDIR/qtbase-fusion-style.patch"218mkdir build219cd build220../configure -prefix "$INSTALLDIR" -release -dbus-linked -fontconfig -qt-doubleconversion -ssl -openssl-runtime -opengl desktop -qpa xcb,wayland -xkbcommon -xcb -gtk -- -DQT_GENERATE_SBOM=OFF -DFEATURE_cups=OFF -DFEATURE_dbus=ON -DFEATURE_icu=OFF -DFEATURE_sql=OFF -DFEATURE_system_png=ON -DFEATURE_system_jpeg=ON -DFEATURE_system_zlib=ON -DFEATURE_system_freetype=ON -DFEATURE_system_harfbuzz=ON221cmake --build . --parallel222ninja install223cd ../../224225echo "Building Qt SVG..."226rm -fr "qtsvg-everywhere-src-$QT"227tar xf "qtsvg-everywhere-src-$QT.tar.xz"228cd "qtsvg-everywhere-src-$QT"229mkdir build230cd build231"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF232cmake --build . --parallel233ninja install234cd ../../235236echo "Building Qt Image Formats..."237rm -fr "qtimageformats-everywhere-src-$QT"238tar xf "qtimageformats-everywhere-src-$QT.tar.xz"239cd "qtimageformats-everywhere-src-$QT"240mkdir build241cd build242"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF -DFEATURE_system_webp=ON243cmake --build . --parallel244ninja install245cd ../../246247echo "Building Qt Wayland..."248rm -fr "qtwayland-everywhere-src-$QT"249tar xf "qtwayland-everywhere-src-$QT.tar.xz"250cd "qtwayland-everywhere-src-$QT"251mkdir build252cd build253"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF -DFEATURE_wayland_server=OFF254cmake --build . --parallel255ninja install256cd ../../257258echo "Installing Qt Tools..."259rm -fr "qttools-everywhere-src-$QT"260tar xf "qttools-everywhere-src-$QT.tar.xz"261cd "qttools-everywhere-src-$QT"262263# Force disable clang scanning, it gets very confused.264patch -u configure.cmake <<EOF265--- configure.cmake266+++ configure.cmake267@@ -3,11 +3,11 @@268269#### Tests270271-qt_find_package(WrapLibClang 8 PROVIDED_TARGETS WrapLibClang::WrapLibClang)272+#qt_find_package(WrapLibClang 8 PROVIDED_TARGETS WrapLibClang::WrapLibClang)273274-if(TARGET WrapLibClang::WrapLibClang)275- set(TEST_libclang "ON" CACHE BOOL "Required libclang version found." FORCE)276-endif()277+#if(TARGET WrapLibClang::WrapLibClang)278+# set(TEST_libclang "ON" CACHE BOOL "Required libclang version found." FORCE)279+#endif()280281282283284EOF285286mkdir build287cd build288"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF -DFEATURE_assistant=OFF -DFEATURE_clang=OFF -DFEATURE_designer=ON -DFEATURE_kmap2qmap=OFF -DFEATURE_pixeltool=OFF -DFEATURE_pkg_config=OFF -DFEATURE_qev=OFF -DFEATURE_qtattributionsscanner=OFF -DFEATURE_qtdiag=OFF -DFEATURE_qtplugininfo=OFF289cmake --build . --parallel290ninja install291cd ../../292293echo "Installing Qt Translations..."294rm -fr "qttranslations-everywhere-src-$QT"295tar xf "qttranslations-everywhere-src-$QT.tar.xz"296cd "qttranslations-everywhere-src-$QT"297mkdir build298cd build299"$INSTALLDIR/bin/qt-configure-module" .. -- -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DQT_GENERATE_SBOM=OFF300cmake --build . --parallel301ninja install302cd ../../303304echo "Building shaderc..."305rm -fr "shaderc-$SHADERC_COMMIT"306tar xf "shaderc-$SHADERC_COMMIT.tar.gz"307cd "shaderc-$SHADERC_COMMIT"308cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DSHADERC_SKIP_COPYRIGHT_CHECK=ON -B build -G Ninja309cmake --build build --parallel310ninja -C build install311cd ..312313echo "Building SPIRV-Cross..."314cd SPIRV-Cross315rm -fr build316cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DSPIRV_CROSS_SHARED=ON -DSPIRV_CROSS_STATIC=OFF -DSPIRV_CROSS_CLI=OFF -DSPIRV_CROSS_ENABLE_TESTS=OFF -DSPIRV_CROSS_ENABLE_GLSL=ON -DSPIRV_CROSS_ENABLE_HLSL=OFF -DSPIRV_CROSS_ENABLE_MSL=OFF -DSPIRV_CROSS_ENABLE_CPP=OFF -DSPIRV_CROSS_ENABLE_REFLECT=OFF -DSPIRV_CROSS_ENABLE_C_API=ON -DSPIRV_CROSS_ENABLE_UTIL=ON -B build -G Ninja317cmake --build build --parallel318ninja -C build install319cd ..320321echo "Building cpuinfo..."322rm -fr "cpuinfo-$CPUINFO_COMMIT"323tar xf "cpuinfo-$CPUINFO_COMMIT.tar.gz"324cd "cpuinfo-$CPUINFO_COMMIT"325cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCPUINFO_LIBRARY_TYPE=shared -DCPUINFO_RUNTIME_TYPE=shared -DCPUINFO_LOG_LEVEL=error -DCPUINFO_LOG_TO_STDIO=ON -DCPUINFO_BUILD_TOOLS=OFF -DCPUINFO_BUILD_UNIT_TESTS=OFF -DCPUINFO_BUILD_MOCK_TESTS=OFF -DCPUINFO_BUILD_BENCHMARKS=OFF -DUSE_SYSTEM_LIBS=ON -B build -G Ninja326cmake --build build --parallel327ninja -C build install328cd ..329330echo "Building discord-rpc..."331rm -fr "discord-rpc-$DISCORD_RPC_COMMIT"332tar xf "discord-rpc-$DISCORD_RPC_COMMIT.tar.gz"333cd "discord-rpc-$DISCORD_RPC_COMMIT"334cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -B build -G Ninja335cmake --build build --parallel336ninja -C build install337cd ..338339echo "Building plutosvg..."340rm -fr "plutosvg-$PLUTOSVG_COMMIT"341tar xf "plutosvg-$PLUTOSVG_COMMIT.tar.gz"342cd "plutosvg-$PLUTOSVG_COMMIT"343cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DPLUTOSVG_ENABLE_FREETYPE=ON -DPLUTOSVG_BUILD_EXAMPLES=OFF -B build -G Ninja344cmake --build build --parallel345ninja -C build install346cd ..347348echo "Building soundtouch..."349rm -fr "soundtouch-$SOUNDTOUCH_COMMIT"350tar xf "soundtouch-$SOUNDTOUCH_COMMIT.tar.gz"351cd "soundtouch-$SOUNDTOUCH_COMMIT"352cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -B build -G Ninja353cmake --build build --parallel354ninja -C build install355cd ..356357if [ "$SKIP_CLEANUP" != true ]; then358echo "Cleaning up..."359cd ..360rm -fr deps-build361fi362363364