diff --git a/CMakeModules/DuckStationDependencies.cmake b/CMakeModules/DuckStationDependencies.cmake index 621b31aad..6fcaa1303 100644 --- a/CMakeModules/DuckStationDependencies.cmake +++ b/CMakeModules/DuckStationDependencies.cmake @@ -14,8 +14,8 @@ find_package(Zstd 1.5.6 REQUIRED) find_package(WebP REQUIRED) # v1.4.0, spews an error on Linux because no pkg-config. find_package(ZLIB REQUIRED) # 1.3, but Mac currently doesn't use it. find_package(PNG 1.6.40 REQUIRED) -find_package(JPEG REQUIRED) # No version because flatpak uses libjpeg-turbo. -find_package(Freetype 2.11.1 REQUIRED) +find_package(JPEG REQUIRED) +find_package(Freetype 2.13.2 REQUIRED) # 2.13.3, but flatpak is still on 2.13.2. find_package(cpuinfo REQUIRED) find_package(DiscordRPC 3.4.0 REQUIRED) find_package(SoundTouch 2.3.3 REQUIRED) diff --git a/scripts/appimage/make-appimage.sh b/scripts/appimage/make-appimage.sh index 0ab65710e..51ea6c03f 100755 --- a/scripts/appimage/make-appimage.sh +++ b/scripts/appimage/make-appimage.sh @@ -57,6 +57,7 @@ STRIP=strip declare -a MANUAL_LIBS=( "libdiscord-rpc.so" + "libfreetype.so.6" "libshaderc_shared.so" "libspirv-cross-c-shared.so.0" ) diff --git a/scripts/deps/build-dependencies-linux.sh b/scripts/deps/build-dependencies-linux.sh index bc038b0e0..00213ad84 100755 --- a/scripts/deps/build-dependencies-linux.sh +++ b/scripts/deps/build-dependencies-linux.sh @@ -3,12 +3,20 @@ set -e if [ "$#" -lt 1 ]; then - echo "Syntax: $0 [-system-libjpeg] [-system-libpng] [-system-libwebp] [-system-zstd] [-system-qt] [-skip-download] " + echo "Syntax: $0 [-system-freetype] [-system-harfbuzz] [-system-libjpeg] [-system-libpng] [-system-libwebp] [-system-zstd] [-system-qt] [-skip-download] [-skip-cleanup] " exit 1 fi for arg in "$@"; do - if [ "$arg" == "-system-libjpeg" ]; then + if [ "$arg" == "-system-freetype" ]; then + echo "Skipping building FreeType." + SKIP_FREETYPE=true + shift + elif [ "$arg" == "-system-harfbuzz" ]; then + echo "Skipping building HarfBuzz." + SKIP_HARFBUZZ=true + shift + elif [ "$arg" == "-system-libjpeg" ]; then echo "Skipping building libjpeg." SKIP_LIBJPEG=true shift @@ -32,6 +40,10 @@ for arg in "$@"; do echo "Not downloading sources." SKIP_DOWNLOAD=true shift + elif [ "$arg" == "-skip-cleanup" ]; then + echo "Not removing build directory." + SKIP_CLEANUP=true + shift fi done @@ -42,6 +54,8 @@ if [ "${INSTALLDIR:0:1}" != "/" ]; then INSTALLDIR="$PWD/$INSTALLDIR" fi +FREETYPE=2.13.3 +HARFBUZZ=9.0.0 LIBBACKTRACE=ad106d5fdd5d960bd33fae1c48a351af567fd075 LIBJPEGTURBO=3.0.3 LIBPNG=1.6.43 @@ -78,6 +92,22 @@ e1351218d270db49c3dddcba04fb2153b09731ea3fa6830e423f5952f44585be cpuinfo-$CPUIN fe45c2af99f6102d2704277d392c1c83b55180a70bfd17fb888cc84a54b70573 soundtouch-$SOUNDTOUCH.tar.gz EOF +if [ "$SKIP_FREETYPE" != true ]; then + if [ "$SKIP_DOWNLOAD" != true ]; then + curl -C - -L -o "freetype-$FREETYPE.tar.xz" "https://sourceforge.net/projects/freetype/files/freetype2/$FREETYPE/freetype-$FREETYPE.tar.xz/download" + fi + cat >> SHASUMS <> SHASUMS < SHASUMS <