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
This commit is contained in:
Yuri Victorovich 2022-09-02 09:16:34 -07:00
parent 71bbabadf9
commit 272f64f682
5 changed files with 67 additions and 31 deletions

View File

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

View File

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

View File

@ -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" )

View File

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

View File

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