git: 272f64f68255 - main - audio/drumstick: Update 2.6.1 -> 2.7.1; Switch to Qt6; Add ALSA option

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 02 Sep 2022 19:11:59 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=272f64f68255c713b56226384acdb3c9ee17b36b

commit 272f64f68255c713b56226384acdb3c9ee17b36b
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-09-02 16:16:34 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-09-02 19:11:55 +0000

    audio/drumstick: Update 2.6.1 -> 2.7.1; Switch to Qt6; Add ALSA option
    
    Other ports like audio/sonivox-eas expect ALSA support in drumstick.
    
    Reported by:    portscout
---
 audio/drumstick/Makefile                   | 25 ++++++++++++-------
 audio/drumstick/distinfo                   |  6 ++---
 audio/drumstick/files/patch-CMakeLists.txt | 26 +++++++++-----------
 audio/drumstick/pkg-descr                  |  2 +-
 audio/drumstick/pkg-plist                  | 39 +++++++++++++++++++++++++++---
 5 files changed, 67 insertions(+), 31 deletions(-)

diff --git a/audio/drumstick/Makefile b/audio/drumstick/Makefile
index 1e38e58a7d70..577d1d19cc49 100644
--- a/audio/drumstick/Makefile
+++ b/audio/drumstick/Makefile
@@ -1,36 +1,43 @@
 PORTNAME=	drumstick
-DISTVERSION=	2.6.1
+DISTVERSION=	2.7.1
 CATEGORIES=	audio multimedia
 MASTER_SITES=	SF/${PORTNAME}/${PORTVERSION}/
 
 MAINTAINER=	yuri@FreeBSD.org
-COMMENT=	MIDI libraries for Qt5/C++
+COMMENT=	MIDI libraries for Qt/C++
 
 LICENSE=	BSD2CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libfluidsynth.so:audio/fluidsynth
+LIB_DEPENDS=	libfluidsynth.so:audio/fluidsynth \
+		libsonivox.so:audio/sonivox
 RUN_DEPENDS=	${LOCALBASE}/share/sounds/sf2/FluidR3_GM.sf2:audio/fluid-soundfont
 
-USES=		compiler:c++11-lang cmake pkgconfig qt:5 shared-mime-info tar:bz2
-USE_QT=		core gui network svg testlib uiplugin widgets buildtools_build linguisttools_build qmake_build
+USES=		compiler:c++11-lang cmake desktop-file-utils pkgconfig qt:6 shared-mime-info tar:bz2
+USE_QT=		base svg 5compat tools_build
 USE_LDCONFIG=	yes
 
-OPTIONS_DEFINE=		PULSEAUDIO MANPAGES
-OPTIONS_DEFAULT=	PULSEAUDIO MANPAGES
+CMAKE_ARGS=	-DUSE_QT=6
+
+OPTIONS_DEFINE=		ALSA PULSEAUDIO MANPAGES
+OPTIONS_DEFAULT=	ALSA PULSEAUDIO #MANPAGES
 OPTIONS_SUB=		yes
 
+ALSA_CMAKE_BOOL=	BUILD_ALSA
+ALSA_USES=		localbase
+ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
+
 PULSEAUDIO_CMAKE_BOOL=	USE_PULSEAUDIO
 PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
 
 MANPAGES_CMAKE_BOOL=	BUILD_DOCS
 MANPAGES_BUILD_DEPENDS=	xsltproc:textproc/libxslt \
 			docbook-xsl>0:textproc/docbook-xsl
+MANPAGES_BROKEN=	see https://sourceforge.net/p/drumstick/bugs/47/
 
 post-patch:
 	# instead of default.sf2 use FluidR3_GM.sf2 installed by fluid-soundfont
 	@${REINPLACE_CMD} -e 's|"default.sf2"|"${LOCALBASE}/share/sounds/sf2/FluidR3_GM.sf2"|' \
-		${WRKSRC}/library/widgets/fluidsettingsdialog.cpp \
-		${WRKSRC}/library/rt-backends/fluidsynth/synthengine.cpp
+		${WRKSRC}/library/widgets/fluidsettingsdialog.cpp
 
 .include <bsd.port.mk>
diff --git a/audio/drumstick/distinfo b/audio/drumstick/distinfo
index ecd96a46a3c0..5a3b25177fb8 100644
--- a/audio/drumstick/distinfo
+++ b/audio/drumstick/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1653163775
-SHA256 (drumstick-2.6.1.tar.bz2) = e4ef720f731ec68ac9526e6dbfaa208436f827f6f748ed74983411f5d4f68e50
-SIZE (drumstick-2.6.1.tar.bz2) = 1478978
+TIMESTAMP = 1662132848
+SHA256 (drumstick-2.7.1.tar.bz2) = e6270578340510840f9b490f64cd98d93b91d04e7215f46cf7efab25319b89c9
+SIZE (drumstick-2.7.1.tar.bz2) = 473290
diff --git a/audio/drumstick/files/patch-CMakeLists.txt b/audio/drumstick/files/patch-CMakeLists.txt
index c824a660649c..f90989931103 100644
--- a/audio/drumstick/files/patch-CMakeLists.txt
+++ b/audio/drumstick/files/patch-CMakeLists.txt
@@ -1,6 +1,15 @@
---- CMakeLists.txt.orig	2021-12-10 10:36:02 UTC
+--- CMakeLists.txt.orig	2022-08-14 10:57:49 UTC
 +++ CMakeLists.txt
-@@ -251,7 +251,7 @@ endif()
+@@ -182,7 +182,7 @@ else()
+ endif()
+ 
+ # ALSA Sequencer is only available on Linux
+-if (BUILD_ALSA AND (${CMAKE_SYSTEM} MATCHES "Linux"))
++if (BUILD_ALSA AND (${CMAKE_SYSTEM} MATCHES "Linux" OR ${CMAKE_SYSTEM} MATCHES "FreeBSD"))
+     pkg_check_modules(ALSA REQUIRED IMPORTED_TARGET alsa>=1.0.0)
+     if(ALSA_FOUND)
+         message(STATUS "Found ALSA version = ${ALSA_VERSION}")
+@@ -299,7 +299,7 @@ endif ()
  
  if(UNIX AND NOT APPLE)
      if (BUILD_DOCS)
@@ -9,16 +18,3 @@
          if(DOXYGEN_FOUND)
              string(REPLACE ";" " " DOXYGEN_INCLUDE_DIRS "${Qt${QT_VERSION_MAJOR}Core_INCLUDE_DIRS}")
              configure_file("${CMAKE_SOURCE_DIR}/Doxyfile.in"
-@@ -264,9 +264,9 @@ if(UNIX AND NOT APPLE)
-     endif()
-     configure_file(drumstick.spec.in drumstick.spec IMMEDIATE @ONLY)
-     if(ALSA_FOUND AND PKG_CONFIG_FOUND)
--        configure_file(drumstick-alsa.pc.in drumstick-alsa.pc IMMEDIATE @ONLY)
--        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/drumstick-alsa.pc
--            DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
-+        #configure_file(drumstick-alsa.pc.in drumstick-alsa.pc IMMEDIATE @ONLY)
-+        #install(FILES ${CMAKE_CURRENT_BINARY_DIR}/drumstick-alsa.pc
-+        #    DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
-     endif()
-     # XML mime types
-     set( SHARED_MIME_INFO_MINIMUM_VERSION "0.30" )
diff --git a/audio/drumstick/pkg-descr b/audio/drumstick/pkg-descr
index 81b68cf02470..c8b842ab0dfd 100644
--- a/audio/drumstick/pkg-descr
+++ b/audio/drumstick/pkg-descr
@@ -1,5 +1,5 @@
 Drumstick is a tool to play music. This is a set of C++ MIDI libraries using
-Qt5 objects, idioms and style. It contains a C++ wrapper around software
+Qt objects, idioms and style. It contains a C++ wrapper around software
 support for MIDI. A complementary library provides classes for SMF
 (Standard MIDI files: .MID/.KAR), Cakewalk (.WRK), and Overture (.OVE) file
 formats processing. A multiplatform realtime MIDI I/O library is also provided.
diff --git a/audio/drumstick/pkg-plist b/audio/drumstick/pkg-plist
index fd2356e7d5ab..16683d1e6dda 100644
--- a/audio/drumstick/pkg-plist
+++ b/audio/drumstick/pkg-plist
@@ -1,19 +1,37 @@
+%%ALSA%%bin/drumstick-drumgrid
+%%ALSA%%bin/drumstick-dumpmid
 bin/drumstick-dumprmi
 bin/drumstick-dumpsmf
 bin/drumstick-dumpwrk
+%%ALSA%%bin/drumstick-guiplayer
+%%ALSA%%bin/drumstick-metronome
+%%ALSA%%bin/drumstick-playsmf
+%%ALSA%%bin/drumstick-sysinfo
 bin/drumstick-vpiano
 include/drumstick.h
+%%ALSA%%include/drumstick/alsaclient.h
+%%ALSA%%include/drumstick/alsaevent.h
+%%ALSA%%include/drumstick/alsaport.h
+%%ALSA%%include/drumstick/alsaqueue.h
+%%ALSA%%include/drumstick/alsatimer.h
 include/drumstick/backendmanager.h
 include/drumstick/configurationdialogs.h
 include/drumstick/macros.h
 include/drumstick/pianokeybd.h
 include/drumstick/pianopalette.h
+%%ALSA%%include/drumstick/playthread.h
 include/drumstick/qsmf.h
 include/drumstick/qwrk.h
 include/drumstick/rmid.h
 include/drumstick/rtmidiinput.h
 include/drumstick/rtmidioutput.h
+%%ALSA%%include/drumstick/sequencererror.h
 include/drumstick/settingsfactory.h
+%%ALSA%%include/drumstick/subscription.h
+%%ALSA%%lib/cmake/drumstick/drumstick-alsa-config-version.cmake
+%%ALSA%%lib/cmake/drumstick/drumstick-alsa-config.cmake
+%%ALSA%%lib/cmake/drumstick/drumstick-alsa-targets-%%CMAKE_BUILD_TYPE%%.cmake
+%%ALSA%%lib/cmake/drumstick/drumstick-alsa-targets.cmake
 lib/cmake/drumstick/drumstick-config-version.cmake
 lib/cmake/drumstick/drumstick-config.cmake
 lib/cmake/drumstick/drumstick-file-config-version.cmake
@@ -28,25 +46,33 @@ lib/cmake/drumstick/drumstick-widgets-config-version.cmake
 lib/cmake/drumstick/drumstick-widgets-config.cmake
 lib/cmake/drumstick/drumstick-widgets-targets-%%CMAKE_BUILD_TYPE%%.cmake
 lib/cmake/drumstick/drumstick-widgets-targets.cmake
+%%ALSA%%lib/drumstick2/libdrumstick-rt-alsa-in.so
+%%ALSA%%lib/drumstick2/libdrumstick-rt-alsa-out.so
 %%PULSEAUDIO%%lib/drumstick2/libdrumstick-rt-eassynth.so
 lib/drumstick2/libdrumstick-rt-fluidsynth.so
 lib/drumstick2/libdrumstick-rt-net-in.so
 lib/drumstick2/libdrumstick-rt-net-out.so
 lib/drumstick2/libdrumstick-rt-oss-in.so
 lib/drumstick2/libdrumstick-rt-oss-out.so
+%%ALSA%%lib/libdrumstick-alsa.so
+%%ALSA%%lib/libdrumstick-alsa.so.2
+%%ALSA%%lib/libdrumstick-alsa.so.2.7.1
 lib/libdrumstick-file.so
 lib/libdrumstick-file.so.2
-lib/libdrumstick-file.so.2.6.1
+lib/libdrumstick-file.so.2.7.1
 lib/libdrumstick-rt.so
 lib/libdrumstick-rt.so.2
-lib/libdrumstick-rt.so.2.6.1
+lib/libdrumstick-rt.so.2.7.1
 lib/libdrumstick-widgets.so
 lib/libdrumstick-widgets.so.2
-lib/libdrumstick-widgets.so.2.6.1
+lib/libdrumstick-widgets.so.2.7.1
 %%QT_PLUGINDIR%%/designer/libdrumstick-vpiano-plugin.so
+%%ALSA%%libdata/pkgconfig/drumstick-alsa.pc
 libdata/pkgconfig/drumstick-file.pc
 libdata/pkgconfig/drumstick-rt.pc
 libdata/pkgconfig/drumstick-widgets.pc
+%%ALSA%%share/applications/net.sourceforge.drumstick-drumgrid.desktop
+%%ALSA%%share/applications/net.sourceforge.drumstick-guiplayer.desktop
 share/applications/net.sourceforge.drumstick-vpiano.desktop
 %%MANPAGES%%share/man/man1/drumstick-drumgrid.1.gz
 %%MANPAGES%%share/man/man1/drumstick-dumpmid.1.gz
@@ -58,6 +84,11 @@ share/applications/net.sourceforge.drumstick-vpiano.desktop
 %%MANPAGES%%share/man/man1/drumstick-playsmf.1.gz
 %%MANPAGES%%share/man/man1/drumstick-sysinfo.1.gz
 %%MANPAGES%%share/man/man1/drumstick-vpiano.1.gz
+%%ALSA%%%%DATADIR%%/drumstick-drumgrid_en.qm
+%%ALSA%%%%DATADIR%%/drumstick-drumgrid_es.qm
+%%ALSA%%%%DATADIR%%/drumstick-guiplayer_cs.qm
+%%ALSA%%%%DATADIR%%/drumstick-guiplayer_es.qm
+%%ALSA%%%%DATADIR%%/drumstick-guiplayer_ru.qm
 %%DATADIR%%/drumstick-vpiano_en.qm
 %%DATADIR%%/drumstick-vpiano_es.qm
 %%DATADIR%%/drumstick-widgets_cs.qm
@@ -78,5 +109,7 @@ share/icons/hicolor/32x32/apps/drumstick.png
 share/icons/hicolor/48x48/apps/drumstick.png
 share/icons/hicolor/64x64/apps/drumstick.png
 share/icons/hicolor/scalable/apps/drumstick.svgz
+%%ALSA%%share/metainfo/net.sourceforge.drumstick-drumgrid.metainfo.xml
+%%ALSA%%share/metainfo/net.sourceforge.drumstick-guiplayer.metainfo.xml
 share/metainfo/net.sourceforge.drumstick-vpiano.metainfo.xml
 share/mime/packages/drumstick.xml