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 pkgname=lmms
pkgver=1.2.2 pkgver=1.2.2
pkgrel=13 pkgrel=14
pkgdesc='The Linux MultiMedia Studio' pkgdesc='The Linux MultiMedia Studio'
arch=(x86_64) arch=(x86_64)
url="https://lmms.io" url="https://lmms.io"
license=(GPL2) license=(GPL2)
groups=(pro-audio) groups=(pro-audio)
depends=(gcc-libs glibc lame libx11 libxcb qt5-base qt5-x11extras sdl sndio depends=(
zlib) gcc-libs
makedepends=(alsa-lib bash-completion cmake doxygen extra-cmake-modules glibc
fftw fltk fluidsynth freetype2 jack ladspa libgig libogg libpulse libsamplerate libx11
libsndfile libvorbis portaudio qt5-tools stk) libxcb
optdepends=('pulseaudio: pulseaudio support') 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) options=(!lto)
source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/${pkgname}_${pkgver}.tar.xz" source=(
"${pkgname}-1.2.2-wine.patch" https://github.com/$pkgname/$pkgname/releases/download/v$pkgver/${pkgname}_$pkgver.tar.xz
lmms-carla-export.patch $pkgname-1.2.2-wine.patch
'https://github.com/rampantpixels/rpmalloc/commit/1c580b394e1a20e63d63c72cad421f7be4422089.patch' lmms-carla-export.patch
$pkgname-1.2.2-kf5widgetsaddon.patch
https://github.com/rampantpixels/rpmalloc/commit/1c580b394e1a20e63d63c72cad421f7be4422089.patch
) )
sha512sums=('df74d9e938f1c3807e9941b11db4ccfe9450e23b723c82774de15b7666ac39f1bfdd8519231e28849f994628190ecc92fa05d55bbc0b50a4421f2d183e729028' sha512sums=('df74d9e938f1c3807e9941b11db4ccfe9450e23b723c82774de15b7666ac39f1bfdd8519231e28849f994628190ecc92fa05d55bbc0b50a4421f2d183e729028'
'6dc97f6961a7eda8826ca28e2c3fb5cb69f73423d8809b2fba993120c7ebc3ff1f0dee91b2b7e304341bae89b72348ff86434c2637cfe58af8c6e6e28f43c692' '6dc97f6961a7eda8826ca28e2c3fb5cb69f73423d8809b2fba993120c7ebc3ff1f0dee91b2b7e304341bae89b72348ff86434c2637cfe58af8c6e6e28f43c692'
'be334dd7756086eca09d4e4c649fc6e5e49dd81982f28b51b085eda29e8f31e7bf8c98d417fca871f993d2956daa327107ab9eaac1a75195d0a54693d7f1069e' 'be334dd7756086eca09d4e4c649fc6e5e49dd81982f28b51b085eda29e8f31e7bf8c98d417fca871f993d2956daa327107ab9eaac1a75195d0a54693d7f1069e'
'b44aabc76a0858fb22f009cdba48662c399ef0b1dce689c9ae26b8fbff77b5548a4f79487c362b6909a823afc129cf6c8ed2d7ff85807008ff863d5b68406192'
'95b8df46fbb1194d30ba9dd34e7b0325590c63a1a2f34730fa62c00fea1a75e728733ee3c287ed2b31150e66aa18e170fe4725a0e7cad2518039a19b12dc389c') '95b8df46fbb1194d30ba9dd34e7b0325590c63a1a2f34730fa62c00fea1a75e728733ee3c287ed2b31150e66aa18e170fe4725a0e7cad2518039a19b12dc389c')
b2sums=('8b561068194e9a4af8260675e784c25a92b6b2f731c29b677cbc16581306bbadcf27ea529adbcd735ff4adffedf3dd98ec7b2d89428a63ea600d022ecdae58e4' b2sums=('8b561068194e9a4af8260675e784c25a92b6b2f731c29b677cbc16581306bbadcf27ea529adbcd735ff4adffedf3dd98ec7b2d89428a63ea600d022ecdae58e4'
'4b42d098c91871bcee9fbdc9486d1273be535f8c4ce837c0f7132cb2ed69739a60551e5c3f0c90059e83ae5d98d5887c5d00d597c785776eff854c42ede8a645' '4b42d098c91871bcee9fbdc9486d1273be535f8c4ce837c0f7132cb2ed69739a60551e5c3f0c90059e83ae5d98d5887c5d00d597c785776eff854c42ede8a645'
@ -40,39 +74,54 @@ b2sums=('8b561068194e9a4af8260675e784c25a92b6b2f731c29b677cbc16581306bbadcf27ea5
'350a8aa6610e30b5bd2b56a854bc7e8f872064c510cca84a641a8fb666e1a2620a95604c43ea6979ab651cad83524180bdbeae7e70219b109e6740f4f48e54e6') '350a8aa6610e30b5bd2b56a854bc7e8f872064c510cca84a641a8fb666e1a2620a95604c43ea6979ab651cad83524180bdbeae7e70219b109e6740f4f48e54e6')
prepare() { prepare() {
mv -v "${pkgname}" "${pkgname}-${pkgver}"
cd "${pkgname}-${pkgver}"
# prevent cmake from doing regular expressions breaking the build # 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 # 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 # upstream rpmalloc fix for ARM
patch -p1 -d src/3rdparty/rpmalloc/rpmalloc -i "${srcdir}/1c580b394e1a20e63d63c72cad421f7be4422089.patch" patch -p1 -d src/3rdparty/rpmalloc/rpmalloc -i "${srcdir}/1c580b394e1a20e63d63c72cad421f7be4422089.patch"
} }
build() { 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 # prevent mangling of static libs with LTO
CXXFLAGS+=' -ffat-lto-objects' CXXFLAGS+=' -ffat-lto-objects'
cmake "${cmake_options[@]}"
cmake -DCMAKE_INSTALL_PREFIX=/usr \ cmake --build build --verbose
-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
} }
package() { package() {
depends+=(libasound.so libfftw3f.so libfltk.so libfluidsynth.so libgig.so depends+=(
libogg.so libportaudio.so libpulse.so libstk-4.6.2.so libvorbis.so alsa-lib libasound.so
libvorbisenc.so libvorbisfile.so libsamplerate.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 );