1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-21 08:42:23 +00:00

audio/cmus: 2.6.0 -> 2.7.1

- change to option helpers
- installs bash and zsh completion files
- now plays 24/32-bit encoded files with sndio

PR:		211288
Submitted by:	t@tobik.me
Approved by:	h.skuhra@gmail.com (maintainer timeout)
This commit is contained in:
Kurt Jaeger 2016-08-26 08:02:05 +00:00
parent d84269b3b7
commit 5a751f781d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=420903
9 changed files with 188 additions and 238 deletions

View File

@ -2,12 +2,11 @@
# $FreeBSD$
PORTNAME= cmus
PORTVERSION= 2.6.0
PORTVERSION= 2.7.1
DISTVERSIONPREFIX= v
PORTREVISION= 3
CATEGORIES= audio
MAINTAINER= h.skuhra@gmail.com
MAINTAINER= t@tobik.me
COMMENT= Console-based music player with really cool features
LICENSE= GPLv2
@ -15,200 +14,139 @@ LICENSE_FILE= ${WRKSRC}/COPYING
USE_GITHUB= yes
USES= gmake pkgconfig iconv ncurses
USES= gmake iconv ncurses pkgconfig
HAS_CONFIGURE= yes
CONFIGURE_ENV+= HOSTCC=${CC}
CONFIGURE_ARGS+=prefix=${PREFIX} mandir=${MANPREFIX}/man \
exampledir=${EXAMPLESDIR} \
CONFIG_ALSA=n CONFIG_ARTS=n CONFIG_ROAR=n
CONFIGURE_ARGS= prefix=${PREFIX} mandir=${MANPREFIX}/man \
exampledir=${EXAMPLESDIR}
OPTIONS_DEFINE= AAC AO CDDB CDIO CUE DISCID FFMPEG FLAC JACK MAD MIKMOD \
MODPLUG MP4 MUSEPACK OPUS PULSEAUDIO SAMPLERATE TREMOR \
VORBIS WAVPACK
OPTIONS_DEFAULT=AAC FFMPEG FLAC MAD MP4 VORBIS
# So the build does not use gcc for compiling ttman
CONFIGURE_ARGS+= HOSTCC=${CC}
DISCID_DESC= DISCID support
# Verbose build makes it easier to spot problems
MAKE_ARGS= V=2
.include <bsd.port.options.mk>
# 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= CDDB CDIO DISCID FLAC MAD MODPLUG MIKMOD MPC \
VORBIS TREMOR OPUS WAV WAVPACK MP4 AAC FFMPEG \
VTX CUE ROAR PULSE ALSA JACK SAMPLERATE AO \
ARTS OSS SNDIO SUN WAVEOUT
.for opt in ${_CMUS_CONFIGURE_OPTS}
CONFIGURE_ARGS+= CONFIG_${opt}=n
.endfor
.if ${PORT_OPTIONS:MFLAC}
LIB_DEPENDS+= libFLAC.so:audio/flac
CONFIGURE_ARGS+=CONFIG_FLAC=y
PLIST_SUB+= FLAC=""
.else
CONFIGURE_ARGS+=CONFIG_FLAC=n
PLIST_SUB+= FLAC="@comment "
.endif
OPTIONS_DEFAULT= AAC FFMPEG FLAC MAD MP4 OSS SNDIO VORBIS WAV
OPTIONS_SUB= yes
.if ${PORT_OPTIONS:MMAD}
LIB_DEPENDS+= libmad.so:audio/libmad
CONFIGURE_ARGS+=CONFIG_MAD=y
PLIST_SUB+= MAD=""
.else
CONFIGURE_ARGS+=CONFIG_MAD=n
PLIST_SUB+= MAD="@comment "
.endif
OPTIONS_GROUP= OUT IN
OPTIONS_GROUP_OUT= AO JACK OSS PULSEAUDIO SNDIO
OPTIONS_GROUP_IN= AAC CDDB CDIO CUE DISCID FFMPEG FLAC MAD MIKMOD \
MODPLUG MP4 MUSEPACK OPUS SAMPLERATE TREMOR \
VORBIS WAV WAVPACK
.if ${PORT_OPTIONS:MMODPLUG}
LIB_DEPENDS+= libmodplug.so:audio/libmodplug
CONFIGURE_ARGS+=CONFIG_MODPLUG=y
PLIST_SUB+= MODPLUG=""
.else
CONFIGURE_ARGS+=CONFIG_MODPLUG=n
PLIST_SUB+= MODPLUG="@comment "
.endif
DISCID_DESC= libdiscid CDDA identification support
IN_DESC= Input plugins
OUT_DESC= Output plugins
.if ${PORT_OPTIONS:MMIKMOD}
LIB_DEPENDS+= libmikmod.so:audio/libmikmod
CONFIGURE_ARGS+=CONFIG_MIKMOD=y
PLIST_SUB+= MIKMOD=""
.else
PLIST_SUB+= MIKMOD="@comment "
.endif
AAC_CONFIGURE_ON= CONFIG_AAC=y
AAC_LIB_DEPENDS= libfaad.so:audio/faad
.if ${PORT_OPTIONS:MMUSEPACK}
LIB_DEPENDS+= libmpcdec.so:audio/musepack
CONFIGURE_ARGS+=CONFIG_MPC=y
PLIST_SUB+= MPC=""
.else
CONFIGURE_ARGS+=CONFIG_MPC=n
PLIST_SUB+= MPC="@comment "
.endif
AO_CONFIGURE_ON= CONFIG_AO=y
AO_LIB_DEPENDS= libao.so:audio/libao
.if ${PORT_OPTIONS:MOPUS}
LIB_DEPENDS+= libopusfile.so:audio/opusfile
CONFIGURE_ARGS+=CONFIG_OPUS=y
PLIST_SUB+= OPUS=""
.else
CONFIGURE_ARGS+=CONFIG_OPUS=n
PLIST_SUB+= OPUS="@comment "
.endif
CDDB_CONFIGURE_ON= CONFIG_CDDB=y
CDDB_LIB_DEPENDS= libcddb.so:audio/libcddb
.if ${PORT_OPTIONS:MVORBIS} || ${PORT_OPTIONS:MTREMOR}
LIB_DEPENDS+= libvorbisfile.so:audio/libvorbis
CONFIGURE_ARGS+=CONFIG_VORBIS=y
PLIST_SUB+= VORBIS=""
.else
CONFIGURE_ARGS+=CONFIG_VORBIS=n
PLIST_SUB+= VORBIS="@comment "
.endif
CDIO_CONFIGURE_ON= CONFIG_CDIO=y
CDIO_LIB_DEPENDS= libcdio_cdda.so:sysutils/libcdio-paranoia \
libcdio.so:sysutils/libcdio
.if ${PORT_OPTIONS:MTREMOR}
LIB_DEPENDS+= libvorbisidec.so:audio/libtremor
CONFIGURE_ARGS+=CONFIG_TREMOR=y
.endif
CUE_CONFIGURE_ON= CONFIG_CUE=y
CUE_LIB_DEPENDS= libcue.so:textproc/libcue
.if ${PORT_OPTIONS:MMP4}
LIB_DEPENDS+= libfaad.so:audio/faad
LIB_DEPENDS+= libmp4v2.so:multimedia/mp4v2
CONFIGURE_ARGS+=CONFIG_MP4=y
PLIST_SUB+= MP4=""
.else
CONFIGURE_ARGS+=CONFIG_MP4=n
PLIST_SUB+= MP4="@comment "
.endif
DISCID_CONFIGURE_ON= CONFIG_DISCID=y
DISCID_LIB_DEPENDS= libdiscid.so:audio/libdiscid
.if ${PORT_OPTIONS:MAAC}
LIB_DEPENDS+= libfaad.so:audio/faad
CONFIGURE_ARGS+=CONFIG_AAC=y
PLIST_SUB+= AAC=""
.else
CONFIGURE_ARGS+=CONFIG_AAC=n
PLIST_SUB+= AAC="@comment "
.endif
FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
FFMPEG_CONFIGURE_ON= CONFIG_FFMPEG=y
.if ${PORT_OPTIONS:MWAVPACK}
LIB_DEPENDS+= libwavpack.so:audio/wavpack
CONFIGURE_ARGS+=CONFIG_WAVPACK=y
PLIST_SUB+= WAVPACK=""
.else
CONFIGURE_ARGS+=CONFIG_WAVPACK=n
PLIST_SUB+= WAVPACK="@comment "
.endif
FLAC_CONFIGURE_ON= CONFIG_FLAC=y
FLAC_LIB_DEPENDS= libFLAC.so:audio/flac
.if ${PORT_OPTIONS:MFFMPEG}
BUILD_DEPENDS+= ffmpeg>=2:multimedia/ffmpeg
RUN_DEPENDS+= ffmpeg>=2:multimedia/ffmpeg
CONFIGURE_ARGS+=CONFIG_FFMPEG=y
PLIST_SUB+= FFMPEG=""
.else
CONFIGURE_ARGS+=CONFIG_FFMPEG=n
PLIST_SUB+= FFMPEG="@comment "
.endif
JACK_CONFIGURE_ON= CONFIG_JACK=y
JACK_LIB_DEPENDS= libjack.so:audio/jack
.if ${PORT_OPTIONS:MAO}
LIB_DEPENDS+= libao.so:audio/libao
CONFIGURE_ARGS+=CONFIG_AO=y
PLIST_SUB+= AO=""
.else
CONFIGURE_ARGS+=CONFIG_AO=n
PLIST_SUB+= AO="@comment "
.endif
MAD_CONFIGURE_ON= CONFIG_MAD=y
MAD_LIB_DEPENDS= libmad.so:audio/libmad
.if ${PORT_OPTIONS:MPULSEAUDIO}
LIB_DEPENDS+= libpulse.so:audio/pulseaudio
CONFIGURE_ARGS+=CONFIG_PULSE=y
PLIST_SUB+= PULSEAUDIO=""
.else
CONFIGURE_ARGS+=CONFIG_PULSE=n
PLIST_SUB+= PULSEAUDIO="@comment "
.endif
MIKMOD_CONFIGURE_ON= CONFIG_MIKMOD=y
MIKMOD_LIB_DEPENDS= libmikmod.so:audio/libmikmod
.if ${PORT_OPTIONS:MCDDB} && ${PORT_OPTIONS:MCDIO}
LIB_DEPENDS+= libcddb.so:audio/libcddb
CONFIGURE_ARGS+=CONFIG_CDDB=y
.else
CONFIGURE_ARGS+=CONFIG_CDDB=n
.endif
MODPLUG_CONFIGURE_ON= CONFIG_MODPLUG=y
MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug
.if ${PORT_OPTIONS:MCDIO}
LIB_DEPENDS+= libcdio_cdda.so:sysutils/libcdio-paranoia
CONFIGURE_ARGS+=CONFIG_CDIO=y
PLIST_SUB+= CDIO=""
.else
CONFIGURE_ARGS+=CONFIG_CDIO=n
PLIST_SUB+= CDIO="@comment "
.endif
MP4_CONFIGURE_ON= CONFIG_MP4=y
MP4_LIB_DEPENDS= libfaad.so:audio/faad \
libmp4v2.so:multimedia/mp4v2
.if ${PORT_OPTIONS:MCUE}
LIB_DEPENDS+= libcue.so:textproc/libcue
CONFIGURE_ARGS+=CONFIG_CUE=y
PLIST_SUB+= CUE=""
.else
CONFIGURE_ARGS+=CONFIG_CUE=n
PLIST_SUB+= CUE="@comment "
.endif
MUSEPACK_CONFIGURE_ON= CONFIG_MPC=y
MUSEPACK_LIB_DEPENDS= libmpcdec.so:audio/musepack
.if ${PORT_OPTIONS:MDISCID}
LIB_DEPENDS+= libdiscid.so:audio/libdiscid
CONFIGURE_ARGS+=CONFIG_DISCID=y
.else
CONFIGURE_ARGS+=CONFIG_DISCID=n
.endif
OPUS_CONFIGURE_ON= CONFIG_OPUS=y
OPUS_LIB_DEPENDS= libopusfile.so:audio/opusfile
.if ${PORT_OPTIONS:MJACK}
LIB_DEPENDS+= libjack.so:audio/jack
CONFIGURE_ARGS+=CONFIG_JACK=y
PLIST_SUB+= JACK=""
.else
CONFIGURE_ARGS+=CONFIG_JACK=n
PLIST_SUB+= JACK="@comment "
.endif
OSS_CONFIGURE_ON= CONFIG_OSS=y
.if ${PORT_OPTIONS:MSAMPLERATE} && ${PORT_OPTIONS:MJACK}
LIB_DEPENDS+= libsamplerate.so:audio/libsamplerate
CONFIGURE_ARGS+=CONFIG_SAMPLERATE=y
.else
CONFIGURE_ARGS+=CONFIG_SAMPLERATE=n
.endif
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
# Doc/cmus.txt is used to generate the man pages. Fix paths to point
# to the correct directories.
post-patch:
@${REINPLACE_CMD} -e 's,doc/cmus/examples,examples/cmus,g' \
@${REINPLACE_CMD} \
-e 's,/usr/share/doc/cmus/examples,${EXAMPLESDIR},g' \
-e 's,/usr/share/cmus,${DATADIR},g' \
${WRKSRC}/Doc/cmus.txt
@${REINPLACE_CMD} -e 's,/usr,${PREFIX},g' ${WRKSRC}/Doc/cmus.txt
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>

View File

@ -1,2 +1,3 @@
SHA256 (cmus-cmus-v2.6.0_GH0.tar.gz) = 0c53c072432e026d682d1749bbe89777507b31107ca04afad21a9bf375208e8e
SIZE (cmus-cmus-v2.6.0_GH0.tar.gz) = 287834
TIMESTAMP = 1469160686
SHA256 (cmus-cmus-v2.7.1_GH0.tar.gz) = 8179a7a843d257ddb585f4c65599844bc0e516fe85e97f6f87a7ceade4eb5165
SIZE (cmus-cmus-v2.7.1_GH0.tar.gz) = 296818

View File

@ -1,24 +0,0 @@
--- Makefile.orig 2014-08-11 07:48:28 UTC
+++ Makefile
@@ -111,7 +111,7 @@ $(opus-objs): CFLAGS += $(OPUS_CFLAGS)
$(wavpack-objs): CFLAGS += $(WAVPACK_CFLAGS)
$(mp4-objs): CFLAGS += $(MP4_CFLAGS)
$(aac-objs): CFLAGS += $(AAC_CFLAGS)
-$(ffmpeg-objs): CFLAGS += $(FFMPEG_CFLAGS)
+$(ffmpeg-objs): CFLAGS := $(FFMPEG_CFLAGS) $(CFLAGS)
$(cue-objs): CFLAGS += $(CUE_CFLAGS)
cdio.so: $(cdio-objs) $(libcmus-y)
@@ -231,10 +231,10 @@ $(man7): Doc/ttman
$(call cmd,ttman)
Doc/ttman.o: Doc/ttman.c
- $(call cmd,hostcc,)
+ $(call cmd,cc,)
Doc/ttman: Doc/ttman.o
- $(call cmd,hostld,)
+ $(call cmd,ld,)
quiet_cmd_ttman = MAN $@
cmd_ttman = Doc/ttman $< $@

View File

@ -0,0 +1,12 @@
Upstreamed in https://github.com/cmus/cmus/commit/37f4daaea4d2724cd2b4d66984cf72b012ef5d48
--- configure.orig 2016-08-03 15:18:16 UTC
+++ configure
@@ -21,7 +21,7 @@ check_cflags()
check_sndio()
{
case `uname -s` in
- OpenBSD)
+ OpenBSD|FreeBSD)
check_library SNDIO "" "-lsndio"
return $?
esac

View File

@ -0,0 +1,14 @@
This patch is needed because multimedia/mp4v2 doesn't currently have
MP4LogSetLevel. It requires mp4v2 >= 2.0.0.
--- mp4.c.orig 2015-07-13 10:00:56 UTC
+++ mp4.c
@@ -155,7 +155,7 @@ static int mp4_open(struct input_plugin_
return -IP_ERROR_FUNCTION_NOT_SUPPORTED;
/* kindly ask mp4v2 to not spam stderr */
- MP4LogSetLevel(MP4_LOG_NONE);
+ //MP4LogSetLevel(MP4_LOG_NONE);
/* init private struct */
priv = xnew(struct mp4_private, 1);

View File

@ -1,20 +0,0 @@
--- scripts/checks.sh.orig 2014-08-11 07:48:28 UTC
+++ scripts/checks.sh
@@ -677,11 +677,15 @@ check_dl()
check_iconv()
{
HAVE_ICONV=n
- if check_library ICONV "" "-liconv"
+ if check_function iconv
+ then
+ echo "libc contains iconv"
+ makefile_var ICONV_CFLAGS ""
+ makefile_var ICONV_LIBS ""
+ elif check_library ICONV "" "-liconv"
then
echo "taking iconv from libiconv"
else
- echo "assuming libc contains iconv"
makefile_var ICONV_CFLAGS ""
makefile_var ICONV_LIBS ""
fi

View File

@ -0,0 +1,24 @@
Upstreamed in https://github.com/cmus/cmus/commit/37f4daaea4d2724cd2b4d66984cf72b012ef5d48
--- sndio.c.orig 2015-07-13 10:00:56 UTC
+++ sndio.c
@@ -20,7 +20,6 @@
#include <sys/types.h>
#include <sys/ioctl.h>
-#include <sys/audioio.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
@@ -82,6 +81,12 @@ static int sndio_set_sf(sample_format_t
par.le = 1;
switch (sf_get_bits(sndio_sf)) {
+ case 32:
+ par.bits = 32;
+ break;
+ case 24:
+ par.bits = 24;
+ break;
case 16:
par.bits = 16;
break;

View File

@ -1,5 +1,5 @@
cmus is a small ncurses based music player. It supports various output methods
by output-plugins. It has got completely configurable keybindings and it can be
controlled from the outside via cmus-remote(1).
cmus is a small ncurses based music player. It supports various
output methods by output-plugins. It has got completely configurable
keybindings and it can be controlled from the outside via cmus-remote(1).
WWW: http://cmus.sourceforge.net
WWW: https://cmus.github.io/

View File

@ -1,26 +1,7 @@
bin/cmus
bin/cmus-remote
lib/cmus/ip/wav.so
lib/cmus/op/oss.so
man/man1/cmus-remote.1.gz
man/man1/cmus.1.gz
man/man7/cmus-tutorial.7.gz
%%FLAC%%lib/cmus/ip/flac.so
%%MAD%%lib/cmus/ip/mad.so
%%MODPLUG%%lib/cmus/ip/modplug.so
%%MIKMOD%%lib/cmus/ip/mikmod.so
%%MPC%%lib/cmus/ip/mpc.so
%%OPUS%%lib/cmus/ip/opus.so
%%VORBIS%%lib/cmus/ip/vorbis.so
%%MP4%%lib/cmus/ip/mp4.so
%%AAC%%lib/cmus/ip/aac.so
%%WAVPACK%%lib/cmus/ip/wavpack.so
%%FFMPEG%%lib/cmus/ip/ffmpeg.so
%%AO%%lib/cmus/op/ao.so
%%CDIO%%lib/cmus/ip/cdio.so
%%CUE%%lib/cmus/ip/cue.so
%%AO%%lib/cmus/op/ao.so
%%JACK%%lib/cmus/op/jack.so
%%PULSEAUDIO%%lib/cmus/op/pulse.so
%%DATADIR%%/cyan.theme
%%DATADIR%%/default.theme
%%DATADIR%%/gray-88.theme
@ -32,4 +13,28 @@ man/man7/cmus-tutorial.7.gz
%%DATADIR%%/solarized-light.theme
%%DATADIR%%/xterm-white.theme
%%DATADIR%%/zenburn.theme
%%EXAMPLESDIR%%/cmus-status-display
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cmus-status-display
%%FFMPEG%%lib/cmus/ip/ffmpeg.so
%%FLAC%%lib/cmus/ip/flac.so
%%JACK%%lib/cmus/op/jack.so
%%MAD%%lib/cmus/ip/mad.so
%%MIKMOD%%lib/cmus/ip/mikmod.so
%%MODPLUG%%lib/cmus/ip/modplug.so
%%MP4%%lib/cmus/ip/mp4.so
%%MUSEPACK%%lib/cmus/ip/mpc.so
%%OPUS%%lib/cmus/ip/opus.so
%%OSS%%lib/cmus/op/oss.so
%%PULSEAUDIO%%lib/cmus/op/pulse.so
@comment %%ROAR%%lib/cmus/op/roar.so
%%SNDIO%%lib/cmus/op/sndio.so
%%VORBIS%%lib/cmus/ip/vorbis.so
@comment %%VTX%%lib/cmus/ip/vtx.so
%%WAV%%lib/cmus/ip/wav.so
%%WAVPACK%%lib/cmus/ip/wavpack.so
bin/cmus
bin/cmus-remote
etc/bash_completion.d/_cmus.bash
man/man1/cmus-remote.1.gz
man/man1/cmus.1.gz
man/man7/cmus-tutorial.7.gz
share/zsh/site-functions/_cmus