diff --git a/audio/lmms/Makefile b/audio/lmms/Makefile index 680816acf474..b271dfe6a47d 100644 --- a/audio/lmms/Makefile +++ b/audio/lmms/Makefile @@ -1,94 +1,90 @@ PORTNAME= lmms DISTVERSIONPREFIX= v DISTVERSION= 1.2.2 -PORTREVISION= 5 +PORTREVISION= 7 PORTEPOCH= 2 CATEGORIES= audio MAINTAINER= rodrigo@FreeBSD.org COMMENT= All-in-one sequencer, drum machine, sampler, and more WWW= https://lmms.io/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${LOCALBASE}/include/ladspa.h:audio/ladspa LIB_DEPENDS= libFLAC.so:audio/flac \ libfluidsynth.so:audio/fluidsynth \ libfontconfig.so:x11-fonts/fontconfig \ libsamplerate.so:audio/libsamplerate \ libsndfile.so:audio/libsndfile \ libvorbis.so:audio/libvorbis \ libogg.so:audio/libogg \ libfftw3.so:math/fftw3 \ libfftw3f.so:math/fftw3-float \ libfltk.so:x11-toolkits/fltk \ libcarla_utils.so:audio/carla \ libQt5Xml.so:textproc/qt5-xml \ libQt5X11Extras.so:x11/qt5-x11extras RUN_DEPENDS= ${LOCALBASE}/share/ladspa/rdf/caps.rdf:audio/caps-plugins \ ${LOCALBASE}/lib/ladspa/cmt.so:audio/cmt \ ${LOCALBASE}/share/ladspa/rdf/swh-plugins.rdf:audio/swhplugins \ ${LOCALBASE}/share/ladspa/rdf/tap-plugins.rdf:audio/tap-plugins USES= cmake compiler:c++11-lang desktop-file-utils localbase:ldflags \ pkgconfig qt:5 shared-mime-info xorg USE_GITHUB= yes GH_ACCOUNT= LMMS GH_TUPLE= mjansson:rpmalloc:1.4.0:rpmalloc/src/3rdparty/rpmalloc/rpmalloc \ lukas-w:qt5-x11embed:ec77d4ba40bebc0c53a016adb646b6fa65dd5faf:qt5x11embed/src/3rdparty/qt5-x11embed 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 .if ${ARCH} == amd64 || ${ARCH} == i386 PLIST_SUB= LINUXSAMPLER="" .else PLIST_SUB= LINUXSAMPLER="@comment " .endif post-patch: @${REINPLACE_CMD} 's|/usr|${LOCALBASE}|g' ${WRKSRC}/src/core/ConfigManager.cpp @${REINPLACE_CMD} 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/src/core/LadspaManager.cpp @${REINPLACE_CMD} -e 's/lib64/lib/' \ ${WRKSRC}/cmake/modules/DetectMachine.cmake post-patch-OSS-off: @${REINPLACE_CMD} \ -e 's|SET(LMMS_HAVE_OSS TRUE)|SET(LMMS_HAVE_OSS FALSE)|; \ s|SET(STATUS_OSS "OK")|SET(STATUS_OSS "")|' \ ${WRKSRC}/CMakeLists.txt post-install: @${MKDIR} ${STAGEDIR}${PREFIX}/share/bash-completion/completions && \ ${INSTALL_DATA} ${WRKSRC}/doc/bash-completion/lmms ${STAGEDIR}${PREFIX}/share/bash-completion/completions/ @${RLN} ${STAGEDIR}${DATADIR}/themes/default/icon.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/lmms.png .include 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 + #include + #include +-#include + #include + #include + #include +@@ -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(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 );