# Maintainer: David Runge # Contributor: Lukas Fleischer # Contributor: Shinlun Hsieh # Contributor: Mateusz Herych # Contributor: Storyteller # ALARM: Kevin Mihelich # - remove wine makedepend and optdepend # - remove carla makedepend, set -DWANT_CARLA=OFF # - remove -DWINE_INCLUDE_DIR and -DWINE_LIBRARY from cmake command # - upstream rpmalloc fix for ARM pkgname=lmms pkgver=1.2.2 pkgrel=21 pkgdesc='The Linux MultiMedia Studio' arch=(x86_64) url="https://lmms.io" license=(GPL-2.0-or-later) groups=(pro-audio) depends=( gcc-libs glibc hicolor-icon-theme libx11 libxcb qt5-base qt5-x11extras sdl12-compat sh zlib ) makedepends=( alsa-lib bash-completion cmake doxygen extra-cmake-modules fftw fltk fluidsynth freetype2 jack ladspa lame libgig libogg libpulse libsamplerate libsndfile libvorbis portaudio qt5-tools sndio stk ) optdepends=( 'lib32-gcc-libs: VST plugin support' 'lib32-glibc: VST plugin support' 'pulseaudio: pulseaudio support' ) options=(!lto) source=( https://github.com/$pkgname/$pkgname/releases/download/v$pkgver/${pkgname}_$pkgver.tar.xz $pkgname-1.2.2-wine.patch lmms-carla-export.patch $pkgname-1.2.2-kf5widgetsaddon.patch https://github.com/rampantpixels/rpmalloc/commit/1c580b394e1a20e63d63c72cad421f7be4422089.patch ) sha512sums=('df74d9e938f1c3807e9941b11db4ccfe9450e23b723c82774de15b7666ac39f1bfdd8519231e28849f994628190ecc92fa05d55bbc0b50a4421f2d183e729028' '6dc97f6961a7eda8826ca28e2c3fb5cb69f73423d8809b2fba993120c7ebc3ff1f0dee91b2b7e304341bae89b72348ff86434c2637cfe58af8c6e6e28f43c692' 'be334dd7756086eca09d4e4c649fc6e5e49dd81982f28b51b085eda29e8f31e7bf8c98d417fca871f993d2956daa327107ab9eaac1a75195d0a54693d7f1069e' 'b44aabc76a0858fb22f009cdba48662c399ef0b1dce689c9ae26b8fbff77b5548a4f79487c362b6909a823afc129cf6c8ed2d7ff85807008ff863d5b68406192' '95b8df46fbb1194d30ba9dd34e7b0325590c63a1a2f34730fa62c00fea1a75e728733ee3c287ed2b31150e66aa18e170fe4725a0e7cad2518039a19b12dc389c') b2sums=('8b561068194e9a4af8260675e784c25a92b6b2f731c29b677cbc16581306bbadcf27ea529adbcd735ff4adffedf3dd98ec7b2d89428a63ea600d022ecdae58e4' '4b42d098c91871bcee9fbdc9486d1273be535f8c4ce837c0f7132cb2ed69739a60551e5c3f0c90059e83ae5d98d5887c5d00d597c785776eff854c42ede8a645' '5a15297342b1a988d447231e1b6a75ad746c0f8d423be1499bc648aae9c73303d6cb00789ea0040b287952498a97605545145f30972a50a2c1ec8c3e5b445043' 'a5b49aed16a4620c43adccd1c3c8e6ef7e91a5acef547068d7039d34be74266839732336d503a6781ec003b71d5d2a2240806491db12e83b202fb4ca0740480b' '350a8aa6610e30b5bd2b56a854bc7e8f872064c510cca84a641a8fb666e1a2620a95604c43ea6979ab651cad83524180bdbeae7e70219b109e6740f4f48e54e6') prepare() { # prevent cmake from doing regular expressions breaking the build patch -Np1 -d $pkgname -i ../$pkgname-1.2.2-wine.patch # fix build with carla 2.4.3 patch -Np1 -d $pkgname -i ../$pkgname-carla-export.patch # fix issues with kf5widgetsaddon: https://bugs.archlinux.org/task/76894 patch -Np1 -d $pkgname -i ../$pkgname-1.2.2-kf5widgetsaddon.patch # upstream rpmalloc fix for ARM patch -p1 -d $pkgname/src/3rdparty/rpmalloc/rpmalloc -i "${srcdir}/1c580b394e1a20e63d63c72cad421f7be4422089.patch" } build() { local cmake_options=( -B build -D CMAKE_BUILD_TYPE=None -D CMAKE_INSTALL_LIBDIR=lib -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_MODULE_PATH=/usr/share/ECM/find-modules -D CMAKE_PREFIX_PATH=/usr/include/wine/windows -D OpenGL_GL_PREFERENCE=GLVND -D WANT_QT5=ON -D WANT_SOUNDIO=OFF -D WINE_INCLUDE_DIR=/usr/include/wine/windows -D WINE_LIBRARY=/usr/lib32/wine -D WANT_CARLA=OFF -S $pkgname -W no-dev ) # prevent mangling of static libs with LTO CXXFLAGS+=' -ffat-lto-objects' cmake "${cmake_options[@]}" cmake --build build --verbose } package() { depends+=( alsa-lib libasound.so fftw libfftw3f.so fltk libfltk.so fluidsynth libfluidsynth.so lame libmp3lame.so libgig libgig.so libogg libogg.so libpulse libpulse.so libsamplerate libsamplerate.so libsndfile libsndfile.so libvorbis libvorbis.so libvorbisenc.so libvorbisfile.so portaudio libportaudio.so sndio libsndio.so stk libstk-5.0.0.so ) DESTDIR="$pkgdir" cmake --install build }