1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-19 00:13:33 +00:00

audio/strawberry: Update to 1.0.9

Convert to FLAVORS to allow building against either Qt5 or Qt6 with
the qt5 flavor being the default for now as Qt6 is rather new to
the ports tree.

Remove SUBSONIC and TIDAL options. These are services are now enabled
by default as they don't require additional dependencies.

Several options have been renamed to use standard descriptions and
option descriptions have otherwise been improved.
AUDIOCD -> CDIO
MTPDEV -> MTP

It is now possible to build with the GSTREAMER and/or the VLC
backend, with GSTREAMER remaining the default as several options
require it and it generally provides more features.

NLS is now optional and regression tests have been moved into an
option.

Upstream has moved to using ICU for transliteration of filename
characters, but optional ICONV support is still available.

Improve COMMENT and pkg-descr.

https://github.com/strawberrymusicplayer/strawberry/releases/tag/1.0.8
https://github.com/strawberrymusicplayer/strawberry/releases/tag/1.0.9
This commit is contained in:
Jason E. Hale 2022-09-19 17:31:30 -04:00
parent e7ac0267cd
commit 17dcd3e2dd
4 changed files with 89 additions and 54 deletions

View File

@ -1,12 +1,12 @@
PORTNAME= strawberry
DISTVERSION= 1.0.7
PORTREVISION= 1
DISTVERSION= 1.0.9
CATEGORIES= audio
MASTER_SITES= https://github.com/strawberrymusicplayer/${PORTNAME}/releases/download/${DISTVERSION}/ \
https://files.jkvinge.net/packages/strawberry/
PKGNAMESUFFIX= -${FLAVOR}
MAINTAINER= jhale@FreeBSD.org
COMMENT= Fork of clementine with many features
COMMENT= Music player and collection organizer
WWW= https://www.strawberrymusicplayer.org/
LICENSE= GPLv3
@ -16,78 +16,87 @@ BUILD_DEPENDS= boost-libs>0:devel/boost-libs
LIB_DEPENDS= libgnutls.so:security/gnutls \
libprotobuf.so:devel/protobuf \
libtag.so:audio/taglib
TEST_DEPENDS= googletest>=0:devel/googletest
USES= cmake compiler:c++11-lang desktop-file-utils gettext-runtime \
gettext-tools gnome gstreamer iconv:translit pkgconfig qt:5 \
sqlite tar:xz xorg
FLAVORS= qt5 qt6
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 \
gnome pkgconfig qt:${FLAVOR:S/qt//} sqlite tar:xz xorg
USE_GNOME= glib20
USE_QT= concurrent core dbus gui linguisttools network sql sql-sqlite3 \
widgets x11extras buildtools:build qmake:build testlib:build
_USE_QT5= concurrent core dbus gui network sql sql-sqlite3 widgets \
x11extras buildtools:build linguisttools:build qmake:build
_USE_QT6= base tools:build
USE_QT= ${_USE_QT${FLAVOR:S/qt//}}
USE_XORG= ice sm x11 xcb xext
CMAKE_ARGS= -DENABLE_GSTREAMER:BOOL=true \
-DENABLE_TRANSLATIONS:BOOL=true \
-DENABLE_UDISKS2=OFF \
-DUSE_SYSTEM_TAGLIB=ON
TEST_TARGET= strawberry_test
CMAKE_ON= BUILD_WITH_${FLAVOR:tu}
CMAKE_OFF= ENABLE_UDISKS2
SUB_FILES= pkg-message
# NLS is not optional, as of 0.6.11,
# src/core/utilities.cpp always includes iconv.h and calls iconv_*().
# 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_([=]() {
OPTIONS_DEFINE= AUDIOCD IPOD MOODBAR MTPDEV MUSICBRAINZ SUBSONIC TIDAL VLC
OPTIONS_DEFAULT= ALSA MOODBAR
OPTIONS_MULTI= SOUND
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 IPOD MOODBAR MTP MUSICBRAINZ NLS TEST
OPTIONS_DEFAULT= ALSA GSTREAMER ICU MOODBAR MUSICBRAINZ
OPTIONS_SUB= yes
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
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
ALSA_CMAKE_BOOL= ENABLE_ALSA
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSA_CMAKE_BOOL= ENABLE_ALSA
AUDIOCD_CMAKE_BOOL= ENABLE_AUDIOCD
AUDIOCD_LIB_DEPENDS= libcdio.so:sysutils/libcdio
CDIO_LIB_DEPENDS= libcdio.so:sysutils/libcdio
CDIO_CMAKE_BOOL= ENABLE_AUDIOCD
CDIO_IMPLIES= GSTREAMER
GSTREAMER_USES= gstreamer
GSTREAMER_CMAKE_BOOL= ENABLE_GSTREAMER
ICONV_USES= iconv:translit
ICU_LIB_DEPENDS= libicui18n.so:devel/icu
ICU_CMAKE_BOOL= USE_ICU
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
MTP_LIB_DEPENDS= libmtp.so:multimedia/libmtp
MTP_CMAKE_BOOL= ENABLE_LIBMTP
MUSICBRAINZ_CMAKE_BOOL= ENABLE_CHROMAPRINT
MUSICBRAINZ_LIB_DEPENDS= libchromaprint.so:audio/chromaprint
MUSICBRAINZ_CMAKE_BOOL= ENABLE_MUSICBRAINZ \
ENABLE_SONGFINGERPRINTING
MUSICBRAINZ_IMPLIES= GSTREAMER
NLS_USES= gettext-tools
NLS_CMAKE_BOOL= ENABLE_TRANSLATIONS
PULSEAUDIO_CMAKE_BOOL= ENABLE_LIBPULSE
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_CMAKE_BOOL= ENABLE_LIBPULSE
SUBSONIC_CMAKE_BOOL= ENABLE_SUBSONIC
TIDAL_CMAKE_BOOL= ENABLE_TIDAL
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>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1659140950
SHA256 (strawberry-1.0.7.tar.xz) = c2d242f091eaeb5bf6c83e8b3b0405e3c5ea89a23845843541726fc81643bd06
SIZE (strawberry-1.0.7.tar.xz) = 11216436
TIMESTAMP = 1663524917
SHA256 (strawberry-1.0.9.tar.xz) = d69396e1df321003ab0e4f9374ea8c5c34fdfbc7fb6c68882d477215224b8cdf
SIZE (strawberry-1.0.9.tar.xz) = 11226840

View File

@ -0,0 +1,16 @@
Find OPTIONAL_COMPONENTS seperately. When the REQUIRED keyword is used,
Qt5Config.cmake handles all components as required causing failure if
optional components are missing.
--- CMakeLists.txt.orig 2022-09-18 23:50:52 UTC
+++ CMakeLists.txt
@@ -207,7 +207,8 @@ endif()
list(APPEND QT_OPTIONAL_COMPONENTS X11Extras)
endif()
-find_package(Qt${QT_VERSION_MAJOR} ${QT_MIN_VERSION} REQUIRED COMPONENTS ${QT_COMPONENTS} OPTIONAL_COMPONENTS ${QT_OPTIONAL_COMPONENTS})
+find_package(Qt${QT_VERSION_MAJOR} ${QT_MIN_VERSION} REQUIRED COMPONENTS ${QT_COMPONENTS})
+find_package(Qt${QT_VERSION_MAJOR} ${QT_MIN_VERSION} OPTIONAL_COMPONENTS ${QT_OPTIONAL_COMPONENTS})
set(QtCore_LIBRARIES Qt${QT_VERSION_MAJOR}::Core)
set(QtConcurrent_LIBRARIES Qt${QT_VERSION_MAJOR}::Concurrent)

View File

@ -1 +1,11 @@
Strawberry is a fork of clementine with many features.
Strawberry is a music player and music collection organizer forked
from Clementine in 2018. It is aimed at music collectors and
audiophiles.
Features include:
* Smart and dynamic playlists
* Tag editing
* Streaming support
* Audio CD playback
* Song lyrics
* Scrobbler with support for Last.fm, Libre.fm and ListenBrainz