# Created by: Mykola Dzham # $FreeBSD$ PORTNAME= liquidsoap PORTVERSION= 1.0.0 PORTREVISION= 2 CATEGORIES= audio net MASTER_SITES= SF/savonet/${PORTNAME}/${PORTVERSION} DISTNAME= ${PORTNAME}-${PORTVERSION}-full MAINTAINER= i@levsha.me COMMENT= The audio stream generator of the Savonet project LICENSE= GPLv2 BUILD_DEPENDS= ${OCAMLFIND_DEPEND} \ ${LOCALBASE}/${OCAML_SITELIBDIR}/pcre/pcre.a:${PORTSDIR}/devel/ocaml-pcre \ ${LOCALBASE}/${OCAML_SITELIBDIR}/camomile/camomile.a:${PORTSDIR}/devel/ocaml-camomile RUN_DEPENDS= ${LOCALBASE}/${OCAML_SITELIBDIR}/camomile/camomile.a:${PORTSDIR}/devel/ocaml-camomile DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${PORTVERSION} .if !defined(NOPORTDOCS) BUILD_DEPENDS+= p5-XML-DOM>=0:${PORTSDIR}/textproc/p5-XML-DOM .endif OPTIONS_DEFINE= AACPLUS AO CRY DSSI FAAD FESTIVAL FLAC GAVL GSTREAMER JACK LADSPA LO \ MAD OGG VOAACENC VORBIS SCHROEDINGER SPEEX THEORA SAMPLERATE PULSEAUDIO \ TAGLIB WGET DOCS EXAMPLES OPTIONS_DEFAULT= AACPLUS CRY FAAD FESTIVAL JACK MAD OGG VOAACENC VORBIS TAGLIB WGET AACPLUS_DESC= AAC+ encoding AO_DESC= portable and stable, but it does only output CRY_DESC= streaming to icecast and compatible servers DSSI_DESC= standard for synthesizer plugins (need LADSPA) FESTIVAL_DESC= speech synthesis (say) GAVL_DESC= converts from and to many formats GSTREAMER_DESC= used to provide V4l inputs JACK_DESC= audio connection kit, designed for low latency LADSPA_DESC= audio plugins providing sound effects LO_DESC= OSC protocol to have external controls OGG_DESC= ogg/vorbis and ogg/theora encoding and decoding VOAACENC_DESC= AAC encoding VORBIS_DESC= ogg/vorbis encoding and decoding (need OGG) SCHROEDINGER_DESC= ogg/dirac encoding and decoding (need OGG) SPEEX_DESC= ogg/speex encoding and decoding (need OGG) THEORA_DESC= ogg/theora encoding and decoding (need OGG) SAMPLERATE_DESC= for having better quality resampling SOUNDTOUCH_DESC= for changing pitch and tempo of sound TAGLIB_DESC= for MP3 ID3 tag reading WGET_DESC= for downloading remote files (http, https, ftp) # 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 # port unbuildable now without lame. Enabled permanently # LAME "for MP3 encoding" On # portuaudio unbuildable now # PORTAUDIO "portable audio library with both input and output" Off MAKE_JOBS_UNSAFE= yes USE_BZIP2= yes USE_RC_SUBR= liquidsoap USE_OCAML= yes NO_OCAML_RUNDEPENDS= yes USE_AUTOTOOLS= autoconf:env automake:env GNU_CONFIGURE= yes CONFIGURE_TARGET= USE_GMAKE= yes CONFIGURE_ARGS= --disable-gui --localstatedir=/var CFLAGS+= -I${LOCALBASE}/${OCAML_LIBDIR} MAKE_ENV+= OCAMLMKLIB_FLAGS="-L${LOCALBASE}/lib" 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 .if ${PORT_OPTIONS:MDOCS} MAKE_ENV+= PORTDOCS="@: " .endif .if ${PORT_OPTIONS:MEXAMPLES} MAKE_ENV+= PORTEXAMPLES="@: " .endif PORT_OPTIONS+= LAME # alsa and portaudio disabled permanently - alsa is linux only, portaudio broken _ALL_PACKAGES= aacplus alsa ao cry dssi faad flac gavl gstreamer ladspa lame lo mad ogg vorbis schroedinger speex theora samplerate soundtouch voaacenc portaudio pulseaudio taglib xmlplaylist lastfm LIB_DEPENDS_aacplus= aacplus.2:${PORTSDIR}/audio/libaacplus LIB_DEPENDS_ao= ao.4:${PORTSDIR}/audio/libao BUILD_DEPENDS_dssi= ${LOCALBASE}/include/dssi.h:${PORTSDIR}/audio/dssi LIB_DEPENDS_faad= faad.2:${PORTSDIR}/audio/faad LIB_DEPENDS_gavl= gavl.1:${PORTSDIR}/multimedia/gavl BUILD_DEPENDS_gstreamer=${LOCALBASE}/lib/ocaml/libcamlidl.a:${PORTSDIR}/lang/ocaml-camlidl LIB_DEPENDS_gstreamer= gstreamer-0.10.0:${PORTSDIR}/multimedia/gstreamer \ gstapp-0.10.0:${PORTSDIR}/multimedia/gstreamer-plugins 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:${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_portaudio= portaudio.2:${PORTSDIR}/audio/portaudio2 LIB_DEPENDS_pulseaudio= pulse.0:${PORTSDIR}/audio/pulseaudio LIB_DEPENDS_taglib= tag.1:${PORTSDIR}/audio/taglib LIB_DEPENDS_voaacenc= vo-aacenc.0:${PORTSDIR}/audio/vo-aacenc .if ${PORT_OPTIONS:MFESTIVAL} RUN_DEPENDS+= ${LOCALBASE}/bin/festival:${PORTSDIR}/audio/festival .endif .if ${PORT_OPTIONS:MWGET} RUN_DEPENDS+= ${LOCALBASE}/bin/wget:${PORTSDIR}/ftp/wget .endif .if ${PORT_OPTIONS:MVORBIS} && ! ${PORT_OPTIONS:MDOCS} IGNORE= ogg required for vorbis. please rerun make config and select ogg .endif .if ${PORT_OPTIONS:MSPEEX} && ! ${PORT_OPTIONS:MOGG} IGNORE= ogg required for speex. please rerun make config and select ogg .endif .if ${PORT_OPTIONS:MTHEORA} && ( ! ${PORT_OPTIONS:MOGG} || ! ${PORT_OPTIONS:MVORBIS} ) IGNORE= ogg and vorbis required for theora. Please rerun make config and select ogg and vorbis .endif .if ${PORT_OPTIONS:MLASTFM} && ${PORT_OPTIONS:MXMLPLAYLIST} IGNORE= xmlplaylist required for lastfm. please rerun make config and select xmlplaylist .endif .if ${PORT_OPTIONS:MDSSI} && ! ${PORT_OPTIONS:MLADSPA} IGNORE= ladspa required for dssi. Please rerun make config and select ladspa .endif #Server is known as JACK, but module named ocaml-bjack .if ${PORT_OPTIONS:MJACK} 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 ${PORT_OPTIONS:M${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 .if ${PORT_OPTIONS:MDOCS} ALL_TARGET= all doc .endif post-patch: ${SED} ${_DISABLE_SED_ARGS} ${WRKSRC}/PACKAGES.default > ${WRKSRC}/PACKAGES pre-configure: (cd ${WRKSRC} && ${GMAKE} bootstrap && ${SED} -i '' -e 's/^RUNNING_USER="$$USER"/RUNNING_USER=liquidsoap/' */configure) .include .if ${ARCH} == "powerpc" BROKEN= Does not install on powerpc: dumps core .endif .include