2025-09-22 18:45:06 +03:00

118 lines
3.6 KiB
Bash

# Maintainer: Jean-Michaël Celerier <jeanmichael.celerier@gmail.com>
_realname=ossia-score
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=3.7.1
pkgrel=1
pkgdesc="ossia score, an interactive sequencer for the intermedia arts"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://ossia.io"
msys2_repository_url="https://github.com/ossia/score"
license=('spdx:GPL-3.0-or-later')
depends=(
"${MINGW_PACKAGE_PREFIX}-qt6-base"
"${MINGW_PACKAGE_PREFIX}-qt6-declarative"
"${MINGW_PACKAGE_PREFIX}-qt6-websockets"
"${MINGW_PACKAGE_PREFIX}-qt6-serialport"
"${MINGW_PACKAGE_PREFIX}-qt6-shadertools"
"${MINGW_PACKAGE_PREFIX}-qt6-5compat"
"${MINGW_PACKAGE_PREFIX}-qt6-scxml"
"${MINGW_PACKAGE_PREFIX}-qt6-svg"
"${MINGW_PACKAGE_PREFIX}-qt6-tools"
"${MINGW_PACKAGE_PREFIX}-cppwinrt"
"${MINGW_PACKAGE_PREFIX}-portaudio"
"${MINGW_PACKAGE_PREFIX}-fftw"
"${MINGW_PACKAGE_PREFIX}-ffmpeg"
"${MINGW_PACKAGE_PREFIX}-hdf5"
"${MINGW_PACKAGE_PREFIX}-SDL2"
"${MINGW_PACKAGE_PREFIX}-rapidfuzz-cpp"
"${MINGW_PACKAGE_PREFIX}-rapidjson"
"${MINGW_PACKAGE_PREFIX}-fmt"
"${MINGW_PACKAGE_PREFIX}-spdlog"
"${MINGW_PACKAGE_PREFIX}-rubberband"
"${MINGW_PACKAGE_PREFIX}-re2"
"${MINGW_PACKAGE_PREFIX}-snappy"
)
makedepends=(
"${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-boost"
"git"
)
source=("https://github.com/ossia/score/releases/download/v${pkgver}/ossia.score-${pkgver}-src.tar.xz"
"002-ffmpeg-no-postproc.patch")
sha256sums=('d84b86c481d11152bba416767b713babfed62fac02b13bfd111f37fa8f3abb3e'
'5d9566871db87153d2e83f0726640048bdc5f573f0ee209fed67e3e3ff6c62c8')
noextract=(ossia.score-${pkgver}-src.tar.xz)
apply_patch_with_msg() {
for _patch in "$@"
do
msg2 "Applying ${_patch}"
patch -Nbp1 -i "${srcdir}/${_patch}"
done
}
prepare() {
[[ -d "${srcdir}"/${_realname}-${pkgver} ]] && rm -rf "${srcdir}"/${_realname}-${pkgver}
MSYS=winsymlinks:native \
tar -xJf "${srcdir}"/ossia.score-${pkgver}-src.tar.xz -C "${srcdir}" || true
cd "${srcdir}/${_realname}-${pkgver}"
apply_patch_with_msg \
002-ffmpeg-no-postproc.patch
}
build() {
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
CXXFLAGS+=" -Wa,-mbig-obj"
if [[ ${CC} == clang ]]; then
CXXFLAGS+=" -fexperimental-library"
fi
rm -rf "${srcdir}/${_realname}-${pkgver}/src/addons/score-addon-ble"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake -Wno-dev -GNinja \
-S "${srcdir}/${_realname}-${pkgver}" \
-B "build-${MSYSTEM}" \
-DCMAKE_UNITY_BUILD=0 \
-DSCORE_PCH=1 \
-DSCORE_STATIC_PLUGINS=1 \
-DSCORE_FHS_BUILD=1 \
-DSCORE_DEPLOYMENT_BUILD=1 \
-DSCORE_MSYS2_PACKAGE=1 \
-DOSSIA_USE_SYSTEM_LIBRARIES=1 \
-DFETCHCONTENT_FULLY_DISCONNECTED=1 \
-DSCORE_DISABLED_PLUGINS="score-plugin-jit;score-plugin-faust" \
-DCMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS=1 \
-DCMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS=1 \
-DCMAKE_NINJA_FORCE_RESPONSE_FILE=1 \
-DSCORE_NO_INSTALL_ONNXRUNTIME=ON \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${extra_config[@]}"
cmake --build "build-${MSYSTEM}"
}
package() {
DESTDIR="${pkgdir}" "${MINGW_PREFIX}/bin/cmake.exe" \
-DCMAKE_INSTALL_DO_STRIP=1 \
-DCOMPONENT=OssiaScore \
-P "build-${MSYSTEM}/cmake_install.cmake"
rm -rf "${pkgdir}${MINGW_PREFIX}/usr/share/faust"
install -D -m644 "${srcdir}/${_realname}-${pkgver}/LICENSE.txt" "${pkgdir}${MINGW_PREFIX}/share/licenses/ossia-score/LICENSE"
}