diff --git a/.ci/AppImageBuilder.yml b/.ci/AppImageBuilder.yml index 69376b511..3d83e2851 100644 --- a/.ci/AppImageBuilder.yml +++ b/.ci/AppImageBuilder.yml @@ -45,7 +45,6 @@ AppDir: include: - libedit2 # if (CLI:BOOL=ON|QT:BOOL=OFF) - libevdev2 # if QT:BOOL=ON - - libfluidsynth2 - libfreetype6 - libgbm1 # if QT:BOOL=ON - libgl1 # if QT:BOOL=ON diff --git a/.ci/build.sh b/.ci/build.sh index 42790abb8..bde8cb09e 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -986,7 +986,8 @@ else sdl_ui=OFF grep -qiE "^QT:BOOL=ON" build/CMakeCache.txt || sdl_ui=ON - # Build rtmidi without JACK support to remove the dependency on libjack. + # Build rtmidi without JACK support to remove the dependency on libjack, as + # the Debian libjack is very likely to be incompatible with the system jackd. prefix="$cache_dir/rtmidi-4.0.0" if [ ! -d "$prefix" ] then @@ -998,6 +999,21 @@ else cmake --build "$prefix_build" -j$(nproc) || exit 99 cmake --install "$prefix_build" || exit 99 + # Build FluidSynth without JACK support to remove the dependency on libjack once again. + prefix="$cache_dir/fluidsynth-2.3.0" + if [ ! -d "$prefix" ] + then + rm -rf "$cache_dir/fluidsynth-"* # remove old versions + wget -qO - https://github.com/FluidSynth/fluidsynth/archive/refs/tags/v2.3.0.tar.gz | tar zxf - -C "$cache_dir" || rm -rf "$prefix" + fi + cp cmake/flags-gcc.cmake cmake/flags-gcc.cmake.old + sed -i -e 's/ -Werror=.*\([" ]\)/\1/g' cmake/flags-gcc.cmake # temporary hack for -Werror=old-style-definition non-compliance on FluidSynth and SDL2 + prefix_build="$prefix/build-$arch_deb" + cmake -G Ninja -D enable-jack=OFF -D enable-sdl2=$sdl_ss -D "CMAKE_TOOLCHAIN_FILE=$toolchain_file" -D "CMAKE_INSTALL_PREFIX=$cwd_root/archive_tmp/usr" -S "$prefix" -B "$prefix_build" || exit 99 + cmake --build "$prefix_build" -j$(nproc) || exit 99 + cmake --install "$prefix_build" || exit 99 + cp -p "$cwd_root/archive_tmp/usr/bin/fluidsynth" fluidsynth + # Build SDL2 for joystick and FAudio support, with most components # disabled to remove the dependencies on PulseAudio and libdrm. prefix="$cache_dir/SDL2-2.0.20" @@ -1006,8 +1022,6 @@ else rm -rf "$cache_dir/SDL2-"* # remove old versions wget -qO - https://www.libsdl.org/release/SDL2-2.0.20.tar.gz | tar zxf - -C "$cache_dir" || rm -rf "$prefix" fi - cp cmake/flags-gcc.cmake cmake/flags-gcc.cmake.old - sed -i -e 's/ -Werror=.*\([" ]\)/\1/g' cmake/flags-gcc.cmake # temporary hack for -Werror=old-style-definition non-compliance prefix_build="$cache_dir/SDL2-2.0.20-build-$arch_deb" cmake -G Ninja -D SDL_SHARED=ON -D SDL_STATIC=OFF \ \