mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-28 05:29:48 +00:00
163 lines
4.9 KiB
Makefile
163 lines
4.9 KiB
Makefile
PORTNAME= cmus
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 2.11.0
|
|
CATEGORIES= audio
|
|
|
|
MAINTAINER= eduardo@FreeBSD.org
|
|
COMMENT= Console-based music player with really cool features
|
|
WWW= https://cmus.github.io/
|
|
|
|
LICENSE= GPLv2+
|
|
LICENSE_FILE= ${WRKSRC}/COPYING
|
|
|
|
USES= compiler:c11 cpe gmake iconv ncurses pkgconfig
|
|
USE_GITHUB= yes
|
|
|
|
HAS_CONFIGURE= yes
|
|
CONFIGURE_ARGS= prefix=${PREFIX} mandir=${PREFIX}/share/man \
|
|
exampledir=${EXAMPLESDIR}
|
|
# So the build does not use gcc for compiling ttman
|
|
CONFIGURE_ARGS+= HOSTCC=${CC}
|
|
|
|
# Verbose build makes it easier to spot problems
|
|
MAKE_ARGS= ICONV_CFLAGS="-I${ICONV_INCLUDE_PATH}" \
|
|
ICONV_LIBS="-L${ICONV_PREFIX}/lib ${ICONV_LIB}" \
|
|
V=2
|
|
|
|
# Disable all configure options first. These will be overwritten by
|
|
# enabled port options later. The args to cmus' configure script
|
|
# follow shell value semantics i.e. later assignments overwrite
|
|
# previous assignments. The options here appear in the same order as
|
|
# ${WRKSRC}/configure --help. Please keep it that way.
|
|
_CMUS_CONFIGURE_OPTS= AAC ALSA AO ARTS CDDB CDIO COREAUDIO CUE DISCID \
|
|
FFMPEG FLAC JACK MAD MIKMOD BASS MODPLUG MP4 MPC MPRIS OPUS OSS \
|
|
PULSE ROAR SAMPLERATE SNDIO SUN TREMOR VORBIS VTX WAVEOUT \
|
|
WAVPACK WAV
|
|
.for opt in ${_CMUS_CONFIGURE_OPTS}
|
|
CONFIGURE_ARGS+= CONFIG_${opt}=n
|
|
.endfor
|
|
|
|
# AAC, FLAC, MP4, OPUS, VORBIS and WAV handled by FFMPEG
|
|
# MPRIS (BASU) error: https://github.com/cmus/cmus/issues/1124
|
|
# https://github.com/cmus/cmus/issues/609
|
|
|
|
OPTIONS_DEFINE= BASU EXAMPLES
|
|
OPTIONS_DEFAULT= BASU FFMPEG MODPLUG OSS SNDIO
|
|
OPTIONS_SUB= yes
|
|
|
|
OPTIONS_GROUP= OUT IN
|
|
OPTIONS_GROUP_OUT= AO JACK OSS PULSEAUDIO SNDIO
|
|
OPTIONS_GROUP_IN= AAC CDIO CUE DISCID FFMPEG FLAC MAD MIKMOD \
|
|
MODPLUG MP4 MUSEPACK OPUS SAMPLERATE TREMOR \
|
|
VORBIS WAV WAVPACK
|
|
|
|
BASU_DESC= MPRIS protocol support via basu
|
|
DISCID_DESC= libdiscid CDDA identification support
|
|
IN_DESC= Input plugins
|
|
OUT_DESC= Output plugins
|
|
|
|
AAC_CONFIGURE_ON= CONFIG_AAC=y
|
|
AAC_LIB_DEPENDS= libfaad.so:audio/faad
|
|
|
|
AO_CONFIGURE_ON= CONFIG_AO=y
|
|
AO_LIB_DEPENDS= libao.so:audio/libao
|
|
|
|
BASU_CONFIGURE_ON= CONFIG_MPRIS=y
|
|
BASU_LIB_DEPENDS= libbasu.so:devel/basu
|
|
|
|
CDIO_CONFIGURE_ON= CONFIG_CDIO=y
|
|
CDIO_LIB_DEPENDS= libcdio_cdda.so:sysutils/libcdio-paranoia \
|
|
libcdio.so:sysutils/libcdio
|
|
|
|
CUE_CONFIGURE_ON= CONFIG_CUE=y
|
|
CUE_LIB_DEPENDS= libcue.so:textproc/libcue
|
|
|
|
DISCID_CONFIGURE_ON= CONFIG_DISCID=y
|
|
DISCID_LIB_DEPENDS= libdiscid.so:audio/libdiscid
|
|
|
|
FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
|
|
FFMPEG_CONFIGURE_ON= CONFIG_FFMPEG=y
|
|
|
|
FLAC_CONFIGURE_ON= CONFIG_FLAC=y
|
|
FLAC_LIB_DEPENDS= libFLAC.so:audio/flac
|
|
|
|
JACK_CONFIGURE_ON= CONFIG_JACK=y
|
|
JACK_LIB_DEPENDS= libjack.so:audio/jack
|
|
|
|
MAD_CONFIGURE_ON= CONFIG_MAD=y
|
|
MAD_LIB_DEPENDS= libmad.so:audio/libmad
|
|
|
|
MIKMOD_CONFIGURE_ON= CONFIG_MIKMOD=y
|
|
MIKMOD_LIB_DEPENDS= libmikmod.so:audio/libmikmod
|
|
|
|
MODPLUG_CONFIGURE_ON= CONFIG_MODPLUG=y
|
|
MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug
|
|
|
|
MP4_CONFIGURE_ON= CONFIG_MP4=y
|
|
MP4_LIB_DEPENDS= libfaad.so:audio/faad \
|
|
libmp4v2.so:multimedia/mp4v2
|
|
|
|
MUSEPACK_CONFIGURE_ON= CONFIG_MPC=y
|
|
MUSEPACK_LIB_DEPENDS= libmpcdec.so:audio/musepack
|
|
|
|
OPUS_CONFIGURE_ON= CONFIG_OPUS=y
|
|
OPUS_LIB_DEPENDS= libopusfile.so:audio/opusfile
|
|
|
|
OSS_CONFIGURE_ON= CONFIG_OSS=y
|
|
|
|
PULSEAUDIO_CONFIGURE_ON= CONFIG_PULSE=y
|
|
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
|
|
|
|
# Requires a port of RoarAudio
|
|
#ROAR_CONFIGURE_ON= CONFIG_ROAR=y
|
|
#ROAR_LIB_DEPENDS= ????:????
|
|
|
|
SAMPLERATE_IMPLIES= JACK
|
|
SAMPLERATE_CONFIGURE_ON= CONFIG_SAMPLERATE=y
|
|
SAMPLERATE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
|
|
|
|
SNDIO_CONFIGURE_ON= CONFIG_SNDIO=y
|
|
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
|
|
|
|
TREMOR_IMPLIES= VORBIS
|
|
TREMOR_CONFIGURE_ON= CONFIG_TREMOR=y
|
|
TREMOR_LIB_DEPENDS= libvorbisidec.so:audio/libtremor
|
|
|
|
VORBIS_CONFIGURE_ON= CONFIG_VORBIS=y
|
|
VORBIS_LIB_DEPENDS= libvorbisfile.so:audio/libvorbis
|
|
|
|
# VTX requires libayemu which isn't ported yet
|
|
#VTX_CONFIGURE_ON= CONFIG_VTX=y
|
|
#VTX_LIB_DEPENDS= libayemu.so:?????
|
|
|
|
WAV_CONFIGURE_ON= CONFIG_WAV=y
|
|
|
|
WAVPACK_CONFIGURE_ON= CONFIG_WAVPACK=y
|
|
WAVPACK_LIB_DEPENDS= libwavpack.so:audio/wavpack
|
|
|
|
post-patch:
|
|
# Doc/cmus.txt is used to generate the man pages. Fix paths to point
|
|
# to the correct directories.
|
|
@${REINPLACE_CMD} \
|
|
-e 's,/usr/share/doc/cmus/examples,${EXAMPLESDIR},g' \
|
|
-e 's,/usr/share/cmus,${DATADIR},g' \
|
|
${WRKSRC}/Doc/cmus.txt
|
|
|
|
post-configure:
|
|
# Prevent passing wrong flags from devel/ncurses' pkg-config file to the build
|
|
@${REINPLACE_CMD} -e 's|-D_POSIX_C_SOURCE=200112L||g; s|-D_XOPEN_SOURCE=600||g' \
|
|
${WRKSRC}/config.mk
|
|
|
|
post-install:
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/cmus*
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/cmus/[io]p/*.so
|
|
# Install bash and zsh completion files
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
|
|
${INSTALL_DATA} ${WRKSRC}/contrib/cmus.bash-completion \
|
|
${STAGEDIR}${PREFIX}/etc/bash_completion.d/_cmus.bash
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
|
|
${INSTALL_DATA} ${WRKSRC}/contrib/_cmus \
|
|
${STAGEDIR}${PREFIX}/share/zsh/site-functions/_cmus
|
|
|
|
.include <bsd.port.mk>
|