Christoph Reiter 619a8198e5 Add some CPEs
2024-03-26 11:53:19 +01:00

102 lines
3.3 KiB
Bash

# Maintainer: Alexey Pavlov <alexpux@gmail.com>
_realname=fluidsynth
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.3.4
pkgrel=1
pkgdesc="A real-time software synthesizer based on the SoundFont 2 specifications (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
url="https://www.fluidsynth.org/"
msys2_references=(
"cpe: cpe:/a:fluidsynth:fluidsynth"
)
license=('spdx:LGPL-2.1-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-glib2"
"${MINGW_PACKAGE_PREFIX}-libsndfile"
"${MINGW_PACKAGE_PREFIX}-portaudio"
"${MINGW_PACKAGE_PREFIX}-readline"
"${MINGW_PACKAGE_PREFIX}-SDL2")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ladspa-sdk"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-pkgconf")
source=("${_realname}-${pkgver}.tar.gz::https://github.com/FluidSynth/${_realname}/archive/v${pkgver}.tar.gz"
"010-no-undefined.patch")
sha256sums=('1529ef5bc3b9ef3adc2a7964505912f7305103e269e50cc0316f500b22053ac9'
'8b865ac2b0ea760f3c5fa640573793131a09cdc7af833ab6fd8f69b583e41153')
noextract=("${_realname}-${pkgver}.tar.gz")
prepare() {
cd ${srcdir}
tar -xf "${_realname}-${pkgver}.tar.gz" || true
cd "${_realname}-${pkgver}"
patch -p1 -i ${srcdir}/010-no-undefined.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
local -a _static_flags=(
-DGIO_STATIC_COMPILATION
-DGLIB_STATIC_COMPILATION
-DGMODULE_STATIC_COMPILATION
-DGOBJECT_STATIC_COMPILATION
)
mkdir -p "${srcdir}"/build-${MSYSTEM}-static && cd "${srcdir}"/build-${MSYSTEM}-static
CFLAGS+=" ${_static_flags[@]}" \
CXXFLAGS+=" ${_static_flags[@]}" \
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-G'Ninja' \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${extra_config[@]}" \
-DBUILD_SHARED_LIBS=OFF \
-Denable-portaudio=ON \
-Denable-dbus=OFF \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake.exe --build ./
mkdir -p "${srcdir}"/build-${MSYSTEM}-shared && cd "${srcdir}"/build-${MSYSTEM}-shared
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-G'Ninja' \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${extra_config[@]}" \
-DBUILD_SHARED_LIBS=ON \
-Denable-portaudio=ON \
-Denable-dbus=OFF \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake.exe --build ./
}
package() {
cd "${srcdir}"/build-${MSYSTEM}-static
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./
cd "${srcdir}"/build-${MSYSTEM}-shared
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./
local MINGW_PREFIX_WIN=$(cygpath -am ${MINGW_PREFIX})
find "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" -type f -name '*.pc' \
-exec sed -i -e "s|${MINGW_PREFIX_WIN}|${MINGW_PREFIX}|g" \
-e "s|${MINGW_PREFIX}/include|\${prefix}/include|g" \
-e "s|${MINGW_PREFIX}/lib|\${prefix}/lib|g" {} \;
install -vDm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}