community/lmms to 1.2.2-14

This commit is contained in:
Kevin Mihelich 2023-01-21 12:26:53 +00:00
parent 177765e1e9
commit cda9d36d00
2 changed files with 150 additions and 33 deletions

View file

@ -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
}

View file

@ -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 <QMenuBar>
#include <QMessageBox>
#include <QShortcut>
-#include <QLibrary>
#include <QSplitter>
#include <QUrl>
#include <QWhatsThis>
@@ -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<DisablerFunc>(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 );