aboutsummaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorRodrigo Osorio <rodrigo@FreeBSD.org>2023-06-17 16:33:18 +0000
committerRodrigo Osorio <rodrigo@FreeBSD.org>2023-06-17 16:50:05 +0000
commit28b08ddf0154fc3efc9df02ad0085f0cdcc5ad2f (patch)
tree1b2c0c3498f82d821add6c8a4397097332e4ce27 /audio
parent20022976c4ae2ae753ea92f2c41bf9c5ee87de59 (diff)
downloadports-28b08ddf0154fc3efc9df02ad0085f0cdcc5ad2f.tar.gz
ports-28b08ddf0154fc3efc9df02ad0085f0cdcc5ad2f.zip
audio/lmms: Fix issue caused by kwidgetsaddons
Add temporary patch to fix a crash at startup if kwidgetsaddons 5.101.0 is installed. The patch was obtained from LMMS ticket related with this issue[1]. [1] https://github.com/LMMS/lmms/issues/6587 Since I'm here reorder Makefile to make linters happy. PR: 270470 Reported by: Manuel <gnuandbsdguy@gmail.com> MFH: 2023Q2 (cherry picked from commit 8827164af8acf5fb7255f51a175b2d39d0ce76ff)
Diffstat (limited to 'audio')
-rw-r--r--audio/lmms/Makefile20
-rw-r--r--audio/lmms/files/patch-src_gui_MainApplication.cpp21
-rw-r--r--audio/lmms/files/patch-src_gui_MainWindow.cpp44
3 files changed, 73 insertions, 12 deletions
diff --git a/audio/lmms/Makefile b/audio/lmms/Makefile
index 680816acf474..b271dfe6a47d 100644
--- a/audio/lmms/Makefile
+++ b/audio/lmms/Makefile
@@ -1,7 +1,7 @@
PORTNAME= lmms
DISTVERSIONPREFIX= v
DISTVERSION= 1.2.2
-PORTREVISION= 5
+PORTREVISION= 7
PORTEPOCH= 2
CATEGORIES= audio
@@ -41,28 +41,24 @@ USE_LDCONFIG= yes
USE_QT= core gui widgets x11extras xml buildtools:build linguisttools:build qmake:build
USE_XORG= xcursor xext xfixes xft xinerama xrender
+CMAKE_ON= WANT_QT5
CMAKE_OFF= WANT_ALSA WANT_CALF WANT_CAPS WANT_CMT WANT_SWH WANT_STK \
WANT_TAP WANT_VST
-CMAKE_ON= WANT_QT5
OPTIONS_DEFINE= OSS JACK PULSEAUDIO PORTAUDIO SDL SNDIO
OPTIONS_DEFAULT= OSS
-JACK_CMAKE_BOOL= WANT_JACK
JACK_LIB_DEPENDS= libjack.so:audio/jack
-
-PULSEAUDIO_CMAKE_BOOL= WANT_PULSEAUDIO
-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-
-PORTAUDIO_CMAKE_BOOL= WANT_PORTAUDIO
+JACK_CMAKE_BOOL= WANT_JACK
PORTAUDIO_LIB_DEPENDS= libportaudio.so:audio/portaudio
-
-SDL_CMAKE_OFF= WANT_SDL
+PORTAUDIO_CMAKE_BOOL= WANT_PORTAUDIO
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_CMAKE_BOOL= WANT_PULSEAUDIO
SDL_USES= sdl
SDL_USE= SDL=sdl
-
-SNDIO_CMAKE_BOOL= WANT_SNDIO
+SDL_CMAKE_OFF= WANT_SDL
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
+SNDIO_CMAKE_BOOL= WANT_SNDIO
.include <bsd.port.options.mk>
diff --git a/audio/lmms/files/patch-src_gui_MainApplication.cpp b/audio/lmms/files/patch-src_gui_MainApplication.cpp
new file mode 100644
index 000000000000..d94bc5bd4c30
--- /dev/null
+++ b/audio/lmms/files/patch-src_gui_MainApplication.cpp
@@ -0,0 +1,21 @@
+--- src/gui/MainApplication.cpp.orig 2023-06-17 16:02:33 UTC
++++ src/gui/MainApplication.cpp
+@@ -35,6 +35,18 @@
+ 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/audio/lmms/files/patch-src_gui_MainWindow.cpp b/audio/lmms/files/patch-src_gui_MainWindow.cpp
new file mode 100644
index 000000000000..0f4b4c105844
--- /dev/null
+++ b/audio/lmms/files/patch-src_gui_MainWindow.cpp
@@ -0,0 +1,44 @@
+--- src/gui/MainWindow.cpp.orig 2023-06-17 16:07:46 UTC
++++ src/gui/MainWindow.cpp
+@@ -33,7 +33,6 @@
+ #include <QMenuBar>
+ #include <QMessageBox>
+ #include <QShortcut>
+-#include <QLibrary>
+ #include <QSplitter>
+ #include <QUrl>
+ #include <QWhatsThis>
+@@ -65,23 +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() :
+ m_workspace( NULL ),
+ m_templatesMenu( NULL ),
+@@ -92,9 +74,6 @@
+ 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 );