diff --git a/scripts/deps/build-dependencies-linux.sh b/scripts/deps/build-dependencies-linux.sh index 00213ad84..0de4a4d68 100755 --- a/scripts/deps/build-dependencies-linux.sh +++ b/scripts/deps/build-dependencies-linux.sh @@ -66,6 +66,7 @@ ZSTD=1.5.6 CPUINFO=7524ad504fdcfcf75a18a133da6abd75c5d48053 DISCORD_RPC=144f3a3f1209994d8d9e8a87964a989cb9911c1e +LUNASVG=9af1ac7b90658a279b372add52d6f77a4ebb482c SHADERC=f60bb80e255144e71776e2ad570d89b78ea2ab4f SOUNDTOUCH=463ade388f3a51da078dc9ed062bf28e4ba29da7 SPIRV_CROSS=vulkan-sdk-1.3.290.0 @@ -79,6 +80,7 @@ if [ "$SKIP_DOWNLOAD" != true ]; then -O "https://github.com/libsdl-org/SDL/releases/download/release-$SDL2/SDL2-$SDL2.tar.gz" \ -o "cpuinfo-$CPUINFO.tar.gz" "https://github.com/stenzek/cpuinfo/archive/$CPUINFO.tar.gz" \ -o "discord-rpc-$DISCORD_RPC.tar.gz" "https://github.com/stenzek/discord-rpc/archive/$DISCORD_RPC.tar.gz" \ + -o "lunasvg-$LUNASVG.tar.gz" "https://github.com/stenzek/lunasvg/archive/$LUNASVG.tar.gz" \ -o "shaderc-$SHADERC.tar.gz" "https://github.com/stenzek/shaderc/archive/$SHADERC.tar.gz" \ -o "soundtouch-$SOUNDTOUCH.tar.gz" "https://github.com/stenzek/soundtouch/archive/$SOUNDTOUCH.tar.gz" fi @@ -88,6 +90,7 @@ fd6f417fe9e3a071cf1424a5152d926a34c4a3c5070745470be6cf12a404ed79 $LIBBACKTRACE. c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4 SDL2-$SDL2.tar.gz e1351218d270db49c3dddcba04fb2153b09731ea3fa6830e423f5952f44585be cpuinfo-$CPUINFO.tar.gz 3eea5ccce6670c126282f1ba4d32c19d486db49a1a5cbfb8d6f48774784d310c discord-rpc-$DISCORD_RPC.tar.gz +3998b024b0d442614a9ee270e76e018bb37a17b8c6941212171731123cbbcac7 lunasvg-$LUNASVG.tar.gz 4c1780b6c65c27c4dcb109f08ab632241c98b77fe2e22be726c151ff514482bf shaderc-$SHADERC.tar.gz fe45c2af99f6102d2704277d392c1c83b55180a70bfd17fb888cc84a54b70573 soundtouch-$SOUNDTOUCH.tar.gz EOF @@ -397,6 +400,15 @@ cmake --build build --parallel ninja -C build install cd .. +echo "Building lunasvg..." +rm -fr "lunasvg-$LUNASVG" +tar xf "lunasvg-$LUNASVG.tar.gz" +cd "lunasvg-$LUNASVG" +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DBUILD_SHARED_LIBS=ON -DLUNASVG_BUILD_EXAMPLES=OFF -B build -G Ninja +cmake --build build --parallel +ninja -C build install +cd .. + echo "Building soundtouch..." rm -fr "soundtouch-$SOUNDTOUCH" tar xf "soundtouch-$SOUNDTOUCH.tar.gz" diff --git a/scripts/deps/build-dependencies-mac.sh b/scripts/deps/build-dependencies-mac.sh index 8f3a88849..bd7d155f1 100755 --- a/scripts/deps/build-dependencies-mac.sh +++ b/scripts/deps/build-dependencies-mac.sh @@ -47,6 +47,7 @@ QT=6.7.2 CPUINFO=7524ad504fdcfcf75a18a133da6abd75c5d48053 DISCORD_RPC=144f3a3f1209994d8d9e8a87964a989cb9911c1e +LUNASVG=9af1ac7b90658a279b372add52d6f77a4ebb482c SHADERC=f60bb80e255144e71776e2ad570d89b78ea2ab4f SOUNDTOUCH=463ade388f3a51da078dc9ed062bf28e4ba29da7 SPIRV_CROSS=vulkan-sdk-1.3.290.0 @@ -86,6 +87,7 @@ fb0d1286a35be3583fee34aeb5843c94719e07193bdf1d4d8b0dc14009caef01 qtsvg-everywhe 9845780b5dc1b7279d57836db51aeaf2e4a1160c42be09750616f39157582ca9 qttranslations-everywhere-src-$QT.tar.xz e1351218d270db49c3dddcba04fb2153b09731ea3fa6830e423f5952f44585be cpuinfo-$CPUINFO.tar.gz 3eea5ccce6670c126282f1ba4d32c19d486db49a1a5cbfb8d6f48774784d310c discord-rpc-$DISCORD_RPC.tar.gz +3998b024b0d442614a9ee270e76e018bb37a17b8c6941212171731123cbbcac7 lunasvg-$LUNASVG.tar.gz 4c1780b6c65c27c4dcb109f08ab632241c98b77fe2e22be726c151ff514482bf shaderc-$SHADERC.tar.gz fe45c2af99f6102d2704277d392c1c83b55180a70bfd17fb888cc84a54b70573 soundtouch-$SOUNDTOUCH.tar.gz EOF @@ -107,6 +109,7 @@ curl -L \ -O "https://download.qt.io/official_releases/qt/${QT%.*}/$QT/submodules/qttranslations-everywhere-src-$QT.tar.xz" \ -o "cpuinfo-$CPUINFO.tar.gz" "https://github.com/stenzek/cpuinfo/archive/$CPUINFO.tar.gz" \ -o "discord-rpc-$DISCORD_RPC.tar.gz" "https://github.com/stenzek/discord-rpc/archive/$DISCORD_RPC.tar.gz" \ + -o "lunasvg-$LUNASVG.tar.gz" "https://github.com/stenzek/lunasvg/archive/$LUNASVG.tar.gz" \ -o "shaderc-$SHADERC.tar.gz" "https://github.com/stenzek/shaderc/archive/$SHADERC.tar.gz" \ -o "soundtouch-$SOUNDTOUCH.tar.gz" "https://github.com/stenzek/soundtouch/archive/$SOUNDTOUCH.tar.gz" @@ -381,6 +384,15 @@ cmake --build build --parallel cmake --install build cd .. +echo "Building lunasvg..." +rm -fr "lunasvg-$LUNASVG" +tar xf "lunasvg-$LUNASVG.tar.gz" +cd "lunasvg-$LUNASVG" +cmake "${CMAKE_COMMON[@]}" "$CMAKE_ARCH_UNIVERSAL" -DBUILD_SHARED_LIBS=ON -DLUNASVG_BUILD_EXAMPLES=OFF -B build -G Ninja +cmake --build build --parallel +ninja -C build install +cd .. + echo "Building soundtouch..." rm -fr "soundtouch-$SOUNDTOUCH" tar xf "soundtouch-$SOUNDTOUCH.tar.gz" diff --git a/scripts/deps/build-dependencies-windows-arm64.bat b/scripts/deps/build-dependencies-windows-arm64.bat index 289c002a8..e957d8ee2 100644 --- a/scripts/deps/build-dependencies-windows-arm64.bat +++ b/scripts/deps/build-dependencies-windows-arm64.bat @@ -56,6 +56,7 @@ set ZSTD=1.5.6 set CPUINFO=7524ad504fdcfcf75a18a133da6abd75c5d48053 set DISCORD_RPC=144f3a3f1209994d8d9e8a87964a989cb9911c1e +set LUNASVG=9af1ac7b90658a279b372add52d6f77a4ebb482c set SHADERC=f60bb80e255144e71776e2ad570d89b78ea2ab4f set SOUNDTOUCH=463ade388f3a51da078dc9ed062bf28e4ba29da7 set SPIRV_CROSS=vulkan-sdk-1.3.290.0 @@ -77,6 +78,7 @@ call :downloadfile "zstd-fd5f8106a58601a963ee816e6a57aa7c61fafc53.patch" https:/ call :downloadfile "cpuinfo-%CPUINFO%.zip" "https://github.com/pytorch/cpuinfo/archive/%CPUINFO%.zip" 13146ae7983d767a678dd01b0d6af591e77cec82babd41264b9164ab808d7d41 || goto error call :downloadfile "discord-rpc-%DISCORD_RPC%.zip" "https://github.com/stenzek/discord-rpc/archive/%DISCORD_RPC%.zip" 61e185e75d37b360c314125bcdf4697192d15e2d5209db3306ed6cd736d508b3 || goto error +call :downloadfile "lunasvg-%LUNASVG%.zip" "https://github.com/stenzek/lunasvg/archive/%LUNASVG%.zip" 1425ec2bda0228b73ffdc70b0dc666fc7d2b69c33eec75a35c4421157c0e220c || goto error call :downloadfile "shaderc-%SHADERC%.zip" "https://github.com/stenzek/shaderc/archive/%SHADERC%.zip" d24760f3c20a0ca39dfa85b84b6cf65eee077cd168e7aa08502e60c168ef05f6 || goto error call :downloadfile "soundtouch-%SOUNDTOUCH%.zip" "https://github.com/stenzek/soundtouch/archive/%SOUNDTOUCH%.zip" 107a1941181a69abe28018b9ad26fc0218625758ac193bc979abc9e26b7c0c3a || goto error @@ -274,6 +276,15 @@ cmake --build build --parallel || goto error ninja -C build install || goto error cd .. || goto error +echo Building lunasvg... +rmdir /S /Q "lunasvg-%LUNASVG%" +%SEVENZIP% x "lunasvg-%LUNASVG%.zip" || goto error +cd "lunasvg-%LUNASVG%" || goto error +cmake %ARM64TOOLCHAIN% -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DLUNASVG_BUILD_EXAMPLES=OFF -B build -G Ninja +cmake --build build --parallel || goto error +ninja -C build install || goto error +cd .. || goto error + rem This currently isn't using clang-cl. It probably should, might be losing a little speed. echo Building soundtouch... rmdir /S /Q "soundtouch-%SOUNDTOUCH%" diff --git a/scripts/deps/build-dependencies-windows-x64.bat b/scripts/deps/build-dependencies-windows-x64.bat index e38d0d147..a92c98a40 100644 --- a/scripts/deps/build-dependencies-windows-x64.bat +++ b/scripts/deps/build-dependencies-windows-x64.bat @@ -54,6 +54,7 @@ set ZSTD=1.5.6 set CPUINFO=7524ad504fdcfcf75a18a133da6abd75c5d48053 set DISCORD_RPC=144f3a3f1209994d8d9e8a87964a989cb9911c1e +set LUNASVG=9af1ac7b90658a279b372add52d6f77a4ebb482c set SHADERC=f60bb80e255144e71776e2ad570d89b78ea2ab4f set SOUNDTOUCH=463ade388f3a51da078dc9ed062bf28e4ba29da7 set SPIRV_CROSS=vulkan-sdk-1.3.290.0 @@ -75,6 +76,7 @@ call :downloadfile "zstd-fd5f8106a58601a963ee816e6a57aa7c61fafc53.patch" https:/ call :downloadfile "cpuinfo-%CPUINFO%.zip" "https://github.com/pytorch/cpuinfo/archive/%CPUINFO%.zip" 13146ae7983d767a678dd01b0d6af591e77cec82babd41264b9164ab808d7d41 || goto error call :downloadfile "discord-rpc-%DISCORD_RPC%.zip" "https://github.com/stenzek/discord-rpc/archive/%DISCORD_RPC%.zip" 61e185e75d37b360c314125bcdf4697192d15e2d5209db3306ed6cd736d508b3 || goto error +call :downloadfile "lunasvg-%LUNASVG%.zip" "https://github.com/stenzek/lunasvg/archive/%LUNASVG%.zip" 1425ec2bda0228b73ffdc70b0dc666fc7d2b69c33eec75a35c4421157c0e220c || goto error call :downloadfile "shaderc-%SHADERC%.zip" "https://github.com/stenzek/shaderc/archive/%SHADERC%.zip" d24760f3c20a0ca39dfa85b84b6cf65eee077cd168e7aa08502e60c168ef05f6 || goto error call :downloadfile "soundtouch-%SOUNDTOUCH%.zip" "https://github.com/stenzek/soundtouch/archive/%SOUNDTOUCH%.zip" 107a1941181a69abe28018b9ad26fc0218625758ac193bc979abc9e26b7c0c3a || goto error @@ -271,6 +273,15 @@ cmake --build build --parallel || goto error ninja -C build install || goto error cd .. || goto error +echo Building lunasvg... +rmdir /S /Q "lunasvg-%LUNASVG%" +%SEVENZIP% x "lunasvg-%LUNASVG%.zip" || goto error +cd "lunasvg-%LUNASVG%" || goto error +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DLUNASVG_BUILD_EXAMPLES=OFF -B build -G Ninja +cmake --build build --parallel || goto error +ninja -C build install || goto error +cd .. || goto error + echo Building soundtouch... rmdir /S /Q "soundtouch-%SOUNDTOUCH%" %SEVENZIP% x "soundtouch-%SOUNDTOUCH%.zip" || goto error diff --git a/scripts/flatpak/modules/27-lunasvg.yaml b/scripts/flatpak/modules/27-lunasvg.yaml new file mode 100644 index 000000000..1f8999b9f --- /dev/null +++ b/scripts/flatpak/modules/27-lunasvg.yaml @@ -0,0 +1,21 @@ +name: lunasvg +buildsystem: cmake-ninja +builddir: true +config-opts: + - "-DCMAKE_BUILD_TYPE=Release" + - "-DBUILD_SHARED_LIBS=ON" + - "-DLUNASVG_BUILD_EXAMPLES=OFF" +build-options: + strip: true +sources: + - type: git + url: "https://github.com/stenzek/lunasvg.git" + commit: "9af1ac7b90658a279b372add52d6f77a4ebb482c" +cleanup: + - /bin + - /include + - /lib/*.a + - /lib/*.la + - /lib/cmake + - /lib/pkgconfig + - /share diff --git a/scripts/flatpak/org.duckstation.DuckStation.yaml b/scripts/flatpak/org.duckstation.DuckStation.yaml index df4b5f77d..986ff6476 100644 --- a/scripts/flatpak/org.duckstation.DuckStation.yaml +++ b/scripts/flatpak/org.duckstation.DuckStation.yaml @@ -34,6 +34,7 @@ modules: - "modules/24-cpuinfo.yaml" - "modules/25-discord-rpc.yaml" - "modules/26-soundtouch.yaml" + - "modules/27-lunasvg.yaml" # Main module. - name: duckstation