aboutsummaryrefslogtreecommitdiff
path: root/audio/strawberry/Makefile
blob: 1d05e30f39167e6becd9c10ca61b538c7b2ef134 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
PORTNAME=	strawberry
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=	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 \
		libprotobuf.so:devel/protobuf \
		libtag.so:audio/taglib

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_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_ON=	BUILD_WITH_${FLAVOR:tu}
CMAKE_OFF=	ENABLE_UDISKS2

SUB_FILES=	pkg-message

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

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_LIB_DEPENDS=	libasound.so:audio/alsa-lib
ALSA_CMAKE_BOOL=	ENABLE_ALSA

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_LIB_DEPENDS=	libgpod.so:audio/libgpod \
			libimobiledevice-1.0.so:comms/libimobiledevice \
			libplist-2.0.so:devel/libplist
IPOD_CMAKE_BOOL=	ENABLE_LIBGPOD

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_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_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
PULSEAUDIO_CMAKE_BOOL=	ENABLE_LIBPULSE

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>