aboutsummaryrefslogtreecommitdiff
path: root/audio/strawberry/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'audio/strawberry/Makefile')
-rw-r--r--audio/strawberry/Makefile127
1 files changed, 73 insertions, 54 deletions
diff --git a/audio/strawberry/Makefile b/audio/strawberry/Makefile
index c4cb306960fd..137751ee467c 100644
--- a/audio/strawberry/Makefile
+++ b/audio/strawberry/Makefile
@@ -1,92 +1,111 @@
PORTNAME= strawberry
-DISTVERSION= 0.9.3
-PORTREVISION= 2
+DISTVERSION= 1.0.23
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= https://github.com/strawberrymusicplayer/${PORTNAME}/releases/download/${DISTVERSION}/ \
https://files.jkvinge.net/packages/strawberry/
+PKGNAMESUFFIX= -${FLAVOR}
-MAINTAINER= menelkir@itroll.org
-COMMENT= Fork of clementine with many features
+MAINTAINER= jhale@FreeBSD.org
+COMMENT= Music player and collection organizer
+WWW= https://www.strawberrymusicplayer.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= boost-libs>0:devel/boost-libs
-LIB_DEPENDS= libgnutls.so:security/gnutls \
+LIB_DEPENDS= libabsl_base.so:devel/abseil \
libprotobuf.so:devel/protobuf \
libtag.so:audio/taglib
-TEST_DEPENDS= googletest>=0:devel/googletest
-USES= compiler:c++11-lang cmake desktop-file-utils gnome \
- gettext-runtime gettext-tools iconv pkgconfig \
- qt:5 sqlite pkgconfig tar:xz xorg
+FLAVORS= qt6 qt5
+FLAVOR?= ${FLAVORS:[1]}
+qt5_CONFLICTS_INSTALL= strawberry strawberry-qt6
+qt6_CONFLICTS_INSTALL= strawberry strawberry-qt5
+
+USES= cmake compiler:c++17-lang desktop-file-utils gettext-runtime \
+ gl gnome pkgconfig qt:${FLAVOR:S/qt//} sqlite tar:xz xorg
USE_GNOME= glib20
-USE_GSTREAMER1= yes
-USE_QT= buildtools_build concurrent core dbus gui network \
- linguisttools qmake_build sql sql-sqlite3 testlib_build \
- widgets x11extras
+_USE_GL_qt5= #
+_USE_GL_qt6= opengl
+USE_GL= ${_USE_GL_${FLAVOR}}
+_USE_QT_qt5= concurrent core dbus gui network sql sql-sqlite3:run widgets \
+ x11extras buildtools:build linguisttools:build qmake:build
+_USE_QT_qt6= base sqldriver-sqlite:run tools:build
+USE_QT= ${_USE_QT_${FLAVOR}}
USE_XORG= ice sm x11 xcb xext
-CMAKE_ARGS= -DUSE_SYSTEM_TAGLIB=ON -DENABLE_UDISKS2=OFF \
- -DENABLE_GSTREAMER:BOOL=true \
- -DENABLE_TRANSLATIONS:BOOL=true
+CMAKE_ON= BUILD_WITH_${FLAVOR:tu}
+CMAKE_OFF= ENABLE_UDISKS2
-TEST_TARGET= strawberry_test
+OPTIONS_MULTI= BACKEND SOUND
+OPTIONS_MULTI_BACKEND= GSTREAMER VLC
+OPTIONS_MULTI_SOUND= ALSA PULSEAUDIO
+OPTIONS_SINGLE= UNICODE
+OPTIONS_SINGLE_UNICODE= ICONV ICU
+OPTIONS_DEFINE= CDIO EBUR128 IPOD MOODBAR MTP MUSICBRAINZ NLS TEST
+OPTIONS_DEFAULT= ALSA EBUR128 GSTREAMER ICU MOODBAR MUSICBRAINZ
+OPTIONS_SUB= yes
+
+BACKEND_DESC= Playback engine
+IPOD_DESC= iPod Classic support
+MOODBAR_DESC= Moodbar support
+MUSICBRAINZ_DESC= Tagging/fingerprinting from MusicBrainz
+VLC_DESC= Multimedia support via (lib)vlc
-# NLS is not optional, as of 0.6.11,
-# src/core/utilities.cpp always includes iconv.h and calls iconv_*().
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_CMAKE_BOOL= ENABLE_ALSA
-# GSTREAMER is not optional, as of 0.6.11, disabling it kills the build on
-# src/core/mainwindow.cpp:229:7:
-# error: member initializer 'transcode_dialog_' does not name a non-static data member or base class
-# transcode_dialog_([=]() {
+CDIO_LIB_DEPENDS= libcdio.so:sysutils/libcdio
+CDIO_USE= GSTREAMER=cdparanoia
+CDIO_CMAKE_BOOL= ENABLE_AUDIOCD
+CDIO_IMPLIES= GSTREAMER
-OPTIONS_DEFINE= AUDIOCD IPOD MOODBAR MTPDEV MUSICBRAINZ \
- SUBSONIC TIDAL VLC
+EBUR128_DESC= EBU R 128 loudness normalization
+EBUR128_USES= ebur128
+EBUR128_CMAKE_BOOL= ENABLE_EBUR128
+EBUR128_IMPLIES= GSTREAMER
-OPTIONS_DEFAULT= ALSA MOODBAR
+GSTREAMER_USES= gstreamer
+GSTREAMER_USE= GSTREAMER=faac,faad,flac,lame,libav,mpg123,opus,taglib,vorbis
+GSTREAMER_CMAKE_BOOL= ENABLE_GSTREAMER
-OPTIONS_MULTI= SOUND
-OPTIONS_MULTI_SOUND= ALSA PULSEAUDIO
+ICONV_USES= iconv:translit
-AUDIOCD_DESC= Enable support for Audio CDs
-IPOD_DESC= Enable support for iPod Classic
-MOODBAR_DESC= Enable moodbar
-MTPDEV_DESC= Enable support for Media Transport Protocol
-MUSICBRAINZ_DESC= Enable tag fetching from MusicBrainz
-SUBSONIC_DESC= Enable support for Subsonic music streamer
-TIDAL_DESC= Enable support for TIDAL music service
-VLC_DESC= Multimedia support via (lib)vlc
+ICU_LIB_DEPENDS= libicui18n.so:devel/icu
+ICU_CMAKE_BOOL= USE_ICU
-ALSA_CMAKE_BOOL= ENABLE_ALSA
-ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
-
-AUDIOCD_CMAKE_BOOL= ENABLE_AUDIOCD
-AUDIOCD_LIB_DEPENDS= libcdio.so:sysutils/libcdio
-
-IPOD_CMAKE_BOOL= ENABLE_LIBGPOD
IPOD_LIB_DEPENDS= libgpod.so:audio/libgpod \
libimobiledevice-1.0.so:comms/libimobiledevice \
libplist-2.0.so:devel/libplist
+IPOD_CMAKE_BOOL= ENABLE_LIBGPOD
-MTPDEV_CMAKE_BOOL= ENABLE_LIBMTP
-MTPDEV_LIB_DEPENDS= libmtp.so:multimedia/libmtp
-
-MOODBAR_CMAKE_BOOL= ENABLE_MOODBAR
MOODBAR_LIB_DEPENDS= libfftw3.so:math/fftw3
+MOODBAR_CMAKE_BOOL= ENABLE_MOODBAR
+MOODBAR_IMPLIES= GSTREAMER
-MUSICBRAINZ_CMAKE_BOOL= ENABLE_CHROMAPRINT
-MUSICBRAINZ_LIB_DEPENDS= libchromaprint.so:audio/chromaprint
+MTP_LIB_DEPENDS= libmtp.so:multimedia/libmtp
+MTP_CMAKE_BOOL= ENABLE_LIBMTP
-PULSEAUDIO_CMAKE_BOOL= ENABLE_LIBPULSE
-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+MUSICBRAINZ_LIB_DEPENDS= libchromaprint.so:audio/chromaprint
+MUSICBRAINZ_CMAKE_BOOL= ENABLE_MUSICBRAINZ \
+ ENABLE_SONGFINGERPRINTING
+MUSICBRAINZ_IMPLIES= GSTREAMER
-SUBSONIC_CMAKE_BOOL= ENABLE_SUBSONIC
+NLS_USES= gettext-tools
+NLS_CMAKE_BOOL= ENABLE_TRANSLATIONS
-TIDAL_CMAKE_BOOL= ENABLE_TIDAL
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_CMAKE_BOOL= ENABLE_LIBPULSE
-VLC_CMAKE_BOOL= ENABLE_VLC
VLC_LIB_DEPENDS= libvlc.so:multimedia/vlc
+VLC_CMAKE_BOOL= ENABLE_VLC
+
+TEST_BUILD_DEPENDS= googletest>=0:devel/googletest
+.if ${FLAVOR:U} == qt5
+TEST_USE= QT=testlib:build
+.endif
+TEST_TEST_TARGET= strawberry_tests
.include <bsd.port.mk>