From cda9d36d00c5d0fa84c9a792ae3b14a84cb315e4 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sat, 21 Jan 2023 12:26:53 +0000 Subject: [PATCH] community/lmms to 1.2.2-14 --- community/lmms/PKGBUILD | 115 +++++++++++++----- .../lmms/lmms-1.2.2-kf5widgetsaddon.patch | 68 +++++++++++ 2 files changed, 150 insertions(+), 33 deletions(-) create mode 100644 community/lmms/lmms-1.2.2-kf5widgetsaddon.patch diff --git a/community/lmms/PKGBUILD b/community/lmms/PKGBUILD index d3f276278..509de7a40 100644 --- a/community/lmms/PKGBUILD +++ b/community/lmms/PKGBUILD @@ -12,27 +12,61 @@ pkgname=lmms pkgver=1.2.2 -pkgrel=13 +pkgrel=14 pkgdesc='The Linux MultiMedia Studio' arch=(x86_64) url="https://lmms.io" license=(GPL2) groups=(pro-audio) -depends=(gcc-libs glibc lame libx11 libxcb qt5-base qt5-x11extras sdl sndio -zlib) -makedepends=(alsa-lib bash-completion cmake doxygen extra-cmake-modules -fftw fltk fluidsynth freetype2 jack ladspa libgig libogg libpulse libsamplerate -libsndfile libvorbis portaudio qt5-tools stk) -optdepends=('pulseaudio: pulseaudio support') +depends=( + gcc-libs + glibc + libx11 + libxcb + qt5-base + qt5-x11extras + sdl12-compat + 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=( + '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 - 'https://github.com/rampantpixels/rpmalloc/commit/1c580b394e1a20e63d63c72cad421f7be4422089.patch' +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' @@ -40,39 +74,54 @@ b2sums=('8b561068194e9a4af8260675e784c25a92b6b2f731c29b677cbc16581306bbadcf27ea5 '350a8aa6610e30b5bd2b56a854bc7e8f872064c510cca84a641a8fb666e1a2620a95604c43ea6979ab651cad83524180bdbeae7e70219b109e6740f4f48e54e6') prepare() { - mv -v "${pkgname}" "${pkgname}-${pkgver}" - cd "${pkgname}-${pkgver}" # prevent cmake from doing regular expressions breaking the build - patch -Np1 -i ../"${pkgname}-1.2.2-wine.patch" + patch -Np1 -d $pkgname -i ../$pkgname-1.2.2-wine.patch # fix build with carla 2.4.3 - patch -p1 -i ../lmms-carla-export.patch + 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 src/3rdparty/rpmalloc/rpmalloc -i "${srcdir}/1c580b394e1a20e63d63c72cad421f7be4422089.patch" } build() { + local cmake_options=( + -B build + -DCMAKE_BUILD_TYPE=None + -DCMAKE_MODULE_PATH=/usr/share/ECM/find-modules + -DCMAKE_INSTALL_LIBDIR=lib + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_PREFIX_PATH=/usr/include/wine/windows + -DOpenGL_GL_PREFERENCE=GLVND + -DWANT_QT5=ON + -DWANT_SOUNDIO=OFF + -DWANT_CARLA=OFF + -S $pkgname + -W no-dev + ) + # prevent mangling of static libs with LTO CXXFLAGS+=' -ffat-lto-objects' - - cmake -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE='None' \ - -DWANT_QT5=ON \ - -DWANT_SOUNDIO=OFF \ - -DWANT_CARLA=OFF \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_MODULE_PATH=/usr/share/ECM/find-modules \ - -DCMAKE_PREFIX_PATH=/usr/include/wine/windows \ - -DOpenGL_GL_PREFERENCE=GLVND \ - -W no-dev \ - -B build \ - -S "${pkgname}-${pkgver}" - make VERBOSE=1 -C build + cmake "${cmake_options[@]}" + cmake --build build --verbose } package() { - depends+=(libasound.so libfftw3f.so libfltk.so libfluidsynth.so libgig.so - libogg.so libportaudio.so libpulse.so libstk-4.6.2.so libvorbis.so - libvorbisenc.so libvorbisfile.so libsamplerate.so) + 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 + libvorbis libvorbis.so libvorbisenc.so libvorbisfile.so + portaudio libportaudio.so + sndio libsndio.so + stk libstk-4.6.2.so + ) - make VERBOSE=1 DESTDIR="${pkgdir}" install -C build + DESTDIR="$pkgdir" cmake --install build } diff --git a/community/lmms/lmms-1.2.2-kf5widgetsaddon.patch b/community/lmms/lmms-1.2.2-kf5widgetsaddon.patch new file mode 100644 index 000000000..6155b74d6 --- /dev/null +++ b/community/lmms/lmms-1.2.2-kf5widgetsaddon.patch @@ -0,0 +1,68 @@ +diff --git a/src/gui/MainApplication.cpp b/src/gui/MainApplication.cpp +index 994ae2771..9afa20a71 100644 +--- a/src/gui/MainApplication.cpp ++++ b/src/gui/MainApplication.cpp +@@ -35,6 +35,19 @@ MainApplication::MainApplication(int& argc, char** argv) : + QApplication(argc, argv), + m_queuedFile() + { ++#if !defined(LMMS_BUILD_WIN32) && !defined(LMMS_BUILD_APPLE) && !defined(LMMS_BUILD_HAIKU) && QT_VERSION >= 0x050000 ++ // Work around a bug of KXmlGui < 5.55 ++ // which breaks the recent files menu ++ // https://bugs.kde.org/show_bug.cgi?id=337491 ++ for (auto child : children()) ++ { ++ if (child->inherits("KCheckAcceleratorsInitializer")) ++ { ++ delete child; ++ } ++ } ++#endif ++ + #if defined(LMMS_BUILD_WIN32) && QT_VERSION >= 0x050000 + installNativeEventFilter(this); + #endif +diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp +index e6971f96d..26532eb5b 100644 +--- a/src/gui/MainWindow.cpp ++++ b/src/gui/MainWindow.cpp +@@ -33,7 +33,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -65,21 +64,6 @@ + + #include "lmmsversion.h" + +-#if !defined(LMMS_BUILD_WIN32) && !defined(LMMS_BUILD_APPLE) && !defined(LMMS_BUILD_HAIKU) && QT_VERSION >= 0x050000 +-//Work around an issue on KDE5 as per https://bugs.kde.org/show_bug.cgi?id=337491#c21 +-void disableAutoKeyAccelerators(QWidget* mainWindow) +-{ +- using DisablerFunc = void(*)(QWidget*); +- QLibrary kf5WidgetsAddon("KF5WidgetsAddons", 5); +- DisablerFunc setNoAccelerators = +- reinterpret_cast(kf5WidgetsAddon.resolve("_ZN19KAcceleratorManager10setNoAccelEP7QWidget")); +- if(setNoAccelerators) +- { +- setNoAccelerators(mainWindow); +- } +- kf5WidgetsAddon.unload(); +-} +-#endif + + + MainWindow::MainWindow() : +@@ -92,9 +76,6 @@ MainWindow::MainWindow() : + m_metronomeToggle( 0 ), + m_session( Normal ) + { +-#if !defined(LMMS_BUILD_WIN32) && !defined(LMMS_BUILD_APPLE) && !defined(LMMS_BUILD_HAIKU) && QT_VERSION >= 0x050000 +- disableAutoKeyAccelerators(this); +-#endif + setAttribute( Qt::WA_DeleteOnClose ); + + QWidget * main_widget = new QWidget( this );