aboutsummaryrefslogtreecommitdiff
path: root/audio/liquidsoap/Makefile
blob: 9f077dab2f060dbfb898e60a38de2d31b796618e (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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# New ports collection makefile for: liquidsoap
# Date created:                4 Nov 2009
# Whom:                        Mykola Dzham <i@levsha.me>
#
# $FreeBSD$
#

PORTNAME=	liquidsoap
PORTVERSION=	0.9.3
PORTREVISION?=	1
CATEGORIES=	audio net
MASTER_SITES=	SF/savonet/${PORTNAME}/${PORTVERSION}
DISTNAME=	${PORTNAME}-full-${PORTVERSION}-1

MAINTAINER=	i@levsha.me
COMMENT=	The audio stream generator of the Savonet project

BUILD_DEPENDS=	${OCAMLFIND_DEPEND} \
		${LOCALBASE}/${OCAML_SITELIBDIR}/pcre/pcre.a:${PORTSDIR}/devel/ocaml-pcre

DOCSDIR=	${PREFIX}/share/doc/${PORTNAME}-${PORTVERSION}

.if !defined(NOPORTDOCS)
BUILD_DEPENDS+=	${SITE_PERL}/XML/DOM.pm:${PORTSDIR}/textproc/p5-XML-DOM
.endif

OPTIONS=	AO		"portable and stable, but it does only output"	Off \
		JACK		"audio connection kit, designed for low latency"	On \
		FAAC		"AAC encoding"	On \
		FAAD		"AAC decoding"	On \
		FESTIVAL	"speech synthesis (say)"	On	\
		GAVL		"converts from and to many formats"	Off \
		LADSPA		"audio plugins providing sound effects"	Off \
		LAME		"for MP3 encoding"	On \
		MAD		"for MP3 decoding"	On \
		OGG		"ogg/vorbis and ogg/theora encoding and decoding"	On \
		VORBIS		"ogg/vorbis encoding and decoding (need OGG)"	On \
		SPEEX		"ogg/speex encoding and decoding (need OGG)"	Off \
		THEORA		"ogg/theora encoding and decoding (need OGG)"	Off \
		SAMPLERATE	"for having better quality resampling"	Off \
		SOUNDTOUCH	"for changing pitch and tempo of sound" Off \
		PULSEAUDIO	"cross-platform audio sound server"	Off \
		TAGLIB		"for MP3 ID3 tag reading"	On \
		WGET		"for downloading remote files (http, https, ftp)"	On

# xmplapalylist disabled now: missing ocaml-xmlm port
#		XMLPLAYLIST	"support various xml format (rss/podcast/etc)"	Off \
# lastfm requires xmlplaylist
#		LASTFM		"radios and the audioscrobbler (need XMLPLAYLIST)"	Off

USE_RC_SUBR=	liquidsoap.sh

USE_OCAML=	yes
NO_OCAML_RUNDEPENDS=	yes

USE_AUTOTOOLS=	autoconf:env automake:env
GNU_CONFIGURE=	yes
USE_GMAKE=	yes

CONFIGURE_ARGS=	--disable-gui --localstatedir=/var

.if defined(NOPORTDOCS)
MAKE_ENV+=	PORTDOCS="@: "
.endif
.if defined(NOPORTEXAMPLES)
MAKE_ENV+=	PORTEXAMPLES="@: "
.endif

MAN1=	liquidsoap.1

LIQUIDSOAP_USER=	liquidsoap
LIQUIDSOAP_GROUP=	${LIQUIDSOAP_USER}
USERS=	${LIQUIDSOAP_USER}
GROUPS=	${LIQUIDSOAP_GROUP}
LOGDIR=	/var/log/liquidsoap
PIDDIR=	/var/run/liquidsoap

SUB_LIST=	LIQUIDSOAP_USER=${LIQUIDSOAP_USER} LIQUIDSOAP_GROUP=${LIQUIDSOAP_GROUP} \
	PIDDIR=${PIDDIR}
PLIST_SUB=	RELVER=${PORTVERSION} \
	LIQUIDSOAP_USER=${LIQUIDSOAP_USER} LIQUIDSOAP_GROUP=${LIQUIDSOAP_GROUP} \
	LOGDIR=${LOGDIR} PIDDIR=${PIDDIR}

.include <bsd.port.options.mk>

# alsa and portaudio disabled permanently - alsa is linux only, portaudio broken
_ALL_PACKAGES=	alsa ao faac faad gavl ladspa lame mad ogg vorbis speex theora samplerate soundtouch portaudio pulseaudio taglib xmlplaylist lastfm

LIB_DEPENDS_ao=	ao.4:${PORTSDIR}/audio/libao
LIB_DEPENDS_faac=	faac.0:${PORTSDIR}/audio/faac
LIB_DEPENDS_faad=	faad.2:${PORTSDIR}/audio/faad
LIB_DEPENDS_gavl=	gavl.1:${PORTSDIR}/multimedia/gavl
BUILD_DEPENDS_ladspa=	${LOCALBASE}/include/ladspa.h:${PORTSDIR}/audio/ladspa
LIB_DEPENDS_lame=	mp3lame.0:${PORTSDIR}/audio/lame
LIB_DEPENDS_mad=	mad.2:${PORTSDIR}/audio/libmad
LIB_DEPENDS_ogg=	ogg.7:${PORTSDIR}/audio/libogg
LIB_DEPENDS_vorbis=	vorbis.4:${PORTSDIR}/audio/libvorbis
LIB_DEPENDS_speex=	speex.1:${PORTSDIR}/audio/speex
LIB_DEPENDS_theora=	theora.0:${PORTSDIR}/multimedia/libtheora
LIB_DEPENDS_samplerate=	samplerate.1:${PORTSDIR}/audio/libsamplerate
LIB_DEPENDS_soundtouch=	SoundTouch.0:${PORTSDIR}/audio/soundtouch bpm:${PORTSDIR}/audio/libbpm
LIB_DEPENDS_pulseaudio=	pulse.0:${PORTSDIR}/audio/pulseaudio
LIB_DEPENDS_taglib=	tag.1:${PORTSDIR}/audio/taglib

.if defined(WITH_FESTIVAL)
RUN_DEPENDS+=	${LOCALBASE}/bin/festival:${PORTSDIR}/audio/festival
.endif

.if defined(WITH_WGET)
RUN_DEPENDS+=	${LOCALBASE}/bin/wget:${PORTSDIR}/ftp/wget
.endif

.if defined(WITH_VORBIS) && !defined(WITH_OGG)
IGNORE=	ogg required for vorbis. please rerun make config and select ogg
.endif

.if defined(WITH_SPEEX) && !defined(WITH_OGG)
IGNORE=	ogg required for speex. please rerun make config and select ogg
.endif

.if defined(WITH_THEORA) && ( !defined(WITH_OGG) || !defined(WITH_VORBIS) )
IGNORE=	ogg and vorbis required for theora. Please rerun make config and select ogg and vorbis
.endif

.if defined(WITH_LASTFM) && !defined(WITH_XMLPLAYLIST)
IGNORE=	xmlplaylist required for lastfm. please rerun make config and select xmlplaylist
.endif

#Server is known as JACK, but module named ocaml-bjack
.if defined(WITH_JACK)
LIB_DEPENDS+=	jack.0:${PORTSDIR}/audio/jack
.else
_DISABLE_SED_ARGS+=	-e "s/^ocaml-bjack/\#ocaml-bjack/"
CONFIGURE_ARGS+=	--disable-bjack
.endif

.for i in ${_ALL_PACKAGES}
.if defined(WITH_${i:U})
.if defined(LIB_DEPENDS_${i})
LIB_DEPENDS+=	${LIB_DEPENDS_${i}}
.endif
.if defined(BUILD_DEPENDS_${i})
BUILD_DEPENDS+=	${BUILD_DEPENDS_${i}}
.endif
.else
_DISABLE_SED_ARGS+=	-e "s/^ocaml-${i}/\#ocaml-${i}/"
CONFIGURE_ARGS+=	--disable-${i}
.endif
.endfor

post-patch:
	${SED} ${_DISABLE_SED_ARGS} -i '' ${WRKSRC}/PACKAGES

pre-configure:
	(cd ${WRKSRC} && ./bootstrap)

.include <bsd.port.pre.mk>

.if ${ARCH} == "powerpc"
BROKEN=		Does not install on powerpc: dumps core
.endif

.include <bsd.port.post.mk>