From dfaf7a8cd154c45c75db0defd3847eb4b1f5df24 Mon Sep 17 00:00:00 2001 From: bjs Date: Thu, 8 Nov 2007 03:52:30 +0000 Subject: Add audio/herrie, an ncurses-based audio player. Blurb: Herrie is a command line music player. It supports multiple audio file formats (including MP3 and Ogg Vorbis) and has the ability to send playback statistics to AudioScrobbler. The word `herrie' is Dutch for `clamor'. Herrie uses a split-screen user interface: a playlist at the top and a filebrowser at the bottom. The application has two modes of operation, called `party mode' and `XMMS mode'. When the application is started in party mode, the first song in the playlist gets started. It will also be removed from the playlist as well. When the application is started in XMMS mode, any song can be started and will not be removed from the playlist. The default mode is party mode. --- audio/herrie/DESCR | 12 ++++ audio/herrie/Makefile | 57 +++++++++++++++++ audio/herrie/PLIST | 13 ++++ audio/herrie/distinfo | 7 +++ audio/herrie/files/herrie.conf | 27 ++++++++ audio/herrie/options.mk | 62 ++++++++++++++++++ audio/herrie/patches/patch-aa | 140 +++++++++++++++++++++++++++++++++++++++++ audio/herrie/patches/patch-ab | 19 ++++++ 8 files changed, 337 insertions(+) create mode 100644 audio/herrie/DESCR create mode 100644 audio/herrie/Makefile create mode 100644 audio/herrie/PLIST create mode 100644 audio/herrie/distinfo create mode 100644 audio/herrie/files/herrie.conf create mode 100644 audio/herrie/options.mk create mode 100644 audio/herrie/patches/patch-aa create mode 100644 audio/herrie/patches/patch-ab (limited to 'audio') diff --git a/audio/herrie/DESCR b/audio/herrie/DESCR new file mode 100644 index 00000000000..2799bca3d14 --- /dev/null +++ b/audio/herrie/DESCR @@ -0,0 +1,12 @@ + herrie is a command line music player. It supports multiple audio file + formats (including MP3 and Ogg Vorbis) and has the ability to send + playback statistics to AudioScrobbler. The word `herrie' is Dutch for + `clamor'. + + herrie uses a split-screen user interface: a playlist at the top and a + filebrowser at the bottom. The application has two modes of operation, + called `party mode' and `XMMS mode'. When the application is started in + party mode, the first song in the playlist gets started. It will also + be removed from the playlist as well. When the application is started + in XMMS mode, any song can be started and will not be removed from the + playlist. The default mode is party mode. diff --git a/audio/herrie/Makefile b/audio/herrie/Makefile new file mode 100644 index 00000000000..d8d79a79f60 --- /dev/null +++ b/audio/herrie/Makefile @@ -0,0 +1,57 @@ +# $NetBSD: Makefile,v 1.1.1.1 2007/11/08 03:52:30 bjs Exp $ +# + +DISTNAME= herrie-1.8.4 +CATEGORIES= audio +MASTER_SITES= http://herrie.info/distfiles/ +EXTRACT_SUFX= .tar.bz2 + +MAINTAINER= bjs@NetBSD.org +HOMEPAGE= http://herrie.info/ +COMMENT= Minimalistic, ncurses-based audio player + +PKG_DESTDIR_SUPPORT= user-destdir + +HAS_CONFIGURE= yes +USE_LIBTOOL= yes +USE_TOOLS+= gmake msgfmt pkg-config + + +CONFIGURE_ARGS+= no_scrobbler +CONFIGURE_ARGS+= no_vorbis +CONFIGURE_ARGS+= no_xspf +CONFIGURE_ARGS+= verbose + +EGDIR= ${PREFIX}/share/examples/herrie +MAKE_ENV+= MSGFMT=${TOOLS_PATH.msgfmt:Q} +CONFIGURE_ENV+= CONFDIR=${PKG_SYSCONFDIR:Q} +CONFIGURE_ENV+= MANDIR=${PREFIX}/${PKGMANDIR} +CONFIGURE_ENV+= TRANSDIR=${PREFIX}/${PKGLOCALEDIR}/locale + +RESOLV_AUTO_VARS= yes +USE_FEATURES= snprintf regcomp +USE_NCURSES= yes + +INSTALLATION_DIRS_FROM_PLIST= yes + +.include "options.mk" + +SUBST_CLASSES+= conf +SUBST_STAGE.conf= pre-configure +SUBST_FILES.conf= ${WRKDIR}/herrie.conf +SUBST_MESSAGE.conf= Preparing example configuration file. +SUBST_VARS.conf= DEVOSSAUDIO HERRIE_USE_OSS + +post-extract: + ${RUN} ${CP} ${FILESDIR}/herrie.conf ${WRKDIR} + +post-install: + ${RUN} ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR} && \ + ${INSTALL_DATA} ${WRKDIR}/herrie.conf ${DESTDIR}${EGDIR} + +.include "../../audio/libid3tag/buildlink3.mk" +.include "../../audio/libmad/buildlink3.mk" +.include "../../devel/glib2/buildlink3.mk" +.include "../../mk/resolv.buildlink3.mk" + +.include "../../mk/bsd.pkg.mk" diff --git a/audio/herrie/PLIST b/audio/herrie/PLIST new file mode 100644 index 00000000000..dde054cab20 --- /dev/null +++ b/audio/herrie/PLIST @@ -0,0 +1,13 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2007/11/08 03:52:30 bjs Exp $ +bin/herrie +share/examples/herrie/herrie.conf +share/locale/de/LC_MESSAGES/herrie.mo +share/locale/ga/LC_MESSAGES/herrie.mo +share/locale/nl/LC_MESSAGES/herrie.mo +share/locale/pl/LC_MESSAGES/herrie.mo +share/locale/ru/LC_MESSAGES/herrie.mo +share/locale/sv/LC_MESSAGES/herrie.mo +share/locale/tr/LC_MESSAGES/herrie.mo +share/locale/vi/LC_MESSAGES/herrie.mo +man/man1/herrie.1 +@dirrm share/examples/herrie diff --git a/audio/herrie/distinfo b/audio/herrie/distinfo new file mode 100644 index 00000000000..4fea9d08608 --- /dev/null +++ b/audio/herrie/distinfo @@ -0,0 +1,7 @@ +$NetBSD: distinfo,v 1.1.1.1 2007/11/08 03:52:30 bjs Exp $ + +SHA1 (herrie-1.8.4.tar.bz2) = 0e4bc632eb2bc6294c9a587c1358caf908fe35ed +RMD160 (herrie-1.8.4.tar.bz2) = 23e5fad69f0ecde7f5001813f9c5ed280d6ee757 +Size (herrie-1.8.4.tar.bz2) = 62364 bytes +SHA1 (patch-aa) = 8284cd2888a06f51a0a685c52c3a90d99b49b3a1 +SHA1 (patch-ab) = 90fa16d2217bff138a471a17bda3b7ce0497c724 diff --git a/audio/herrie/files/herrie.conf b/audio/herrie/files/herrie.conf new file mode 100644 index 00000000000..5a686a5e32c --- /dev/null +++ b/audio/herrie/files/herrie.conf @@ -0,0 +1,27 @@ +# This is the sample configuration file for herrie. Please refer to the +# herrie(1) manual page for a complete list of configuration switches. + +# Use this line to change the behaviour of the playlist to be like +# players like WinAmp, XMMS and AmaroK: +playq.xmms=yes + +# OSS device +@HERRIE_USE_OSS@audio.output.oss.device=@DEVOSSAUDIO@ + +# This line makes the user interface look more devilish: +# gui.color.bar.bg=red + +# Switch file browser to a certain directory at startup: +# gui.browser.defaultpath=/vol/music + +# Enable AudioScrobbler song submission. Make sure you generate the +# password with `echo -n p4ssw0rd | md5'. It's probably not a good idea +# to place these switches in the public config file. You'd better stick +# these switches in ~/.herrie/config, with 0600 permissions: +# scrobbler.username=SomeUser +# scrobbler.password=0011223344556677889900aabbccddeeff + +# Chroot and setuid. You could make Herrie a shell of a user with ID 0 +# and use these switches. It should be reasonably safe...: +# vfs.lockup.chroot=/vol/music +# vfs.lockup.user=nobody diff --git a/audio/herrie/options.mk b/audio/herrie/options.mk new file mode 100644 index 00000000000..5619c9e3923 --- /dev/null +++ b/audio/herrie/options.mk @@ -0,0 +1,62 @@ +# $NetBSD: options.mk,v 1.1.1.1 2007/11/08 03:52:30 bjs Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.herrie +PKG_OPTIONS_GROUP.curses= ncurses ncursesw +PKG_OPTIONS_OPTIONAL_GROUPS= curses +PKG_SUPPORTED_OPTIONS= curl libao libmodplug sndfile +PKG_SUGGESTED_OPTIONS= ncurses curl + +.include "../../mk/oss.buildlink3.mk" + +.if ${OSS_TYPE} == "native" +PKG_SUPPORTED_OPTIONS+= oss +PKG_SUGGESTED_OPTIONS+= oss +.elif ${OSS_TYPE} == "none" +PKG_SUGGESTED_OPTIONS+= libao +.endif + +.include "../../mk/bsd.fast.prefs.mk" +.include "../../mk/bsd.options.mk" + +.if !empty(PKG_OPTIONS:Mcurl) +. include "../../www/curl/buildlink3.mk" +.else +CONFIGURE_ARGS+= no_http +.endif + +.if !empty(PKG_OPTIONS:Mncurses) +CONFIGURE_ARGS+= ncurses +. include "../../devel/ncurses/buildlink3.mk" +.elif !empty(PKG_OPTIONS:Mncursesw) +CONFIGURE_ARGS+= ncursesw +. include "../../devel/ncursesw/buildlink3.mk" +.endif + +.if !empty(PKG_OPTIONS:Mlibao) +CONFIGURE_ARGS+= ao +. include "../../audio/libao/buildlink3.mk" +.endif + +.if !empty(PKG_OPTIONS:Mlibmodplug) +. include "../../audio/libmodplug/buildlink3.mk" +.else +CONFIGURE_ARGS+= no_modplug +.endif + +.if !empty(PKG_OPTIONS:Moss) +CONFIGURE_ARGS+= oss +LDFLAGS+= ${BUILDLINK_LDADD.oss} +HERRIE_USE_OSS= # empty +.else +HERRIE_USE_OSS= \# +.endif + +.if !empty(PKG_OPTIONS:Msndfile) +. include "../../audio/libsndfile/buildlink3.mk" +.else +CONFIGURE_ARGS+= no_sndfile +.endif + +.if !empty(PKG_OPTIONS:Mdebug) +CONFIGURE_ARGS+= no_strip strict +.endif diff --git a/audio/herrie/patches/patch-aa b/audio/herrie/patches/patch-aa new file mode 100644 index 00000000000..80f7bc782ab --- /dev/null +++ b/audio/herrie/patches/patch-aa @@ -0,0 +1,140 @@ +$NetBSD: patch-aa,v 1.1.1.1 2007/11/08 03:52:30 bjs Exp $ + +--- configure.orig 2007-09-23 09:21:10.000000000 -0400 ++++ configure +@@ -33,7 +33,7 @@ APP_LINGUAS='de ga nl pl ru sv tr vi' + CFG_AO=ao + unset CFG_BINEXT + CFG_CURSES_HEADER=ncurses +-CFG_CURSES_LIB=ncursesw ++CFG_CURSES_LIB=ncurses + CFG_FTELLO=yes + CFG_HTTP=yes + CFG_MODPLUG=yes +@@ -63,7 +63,7 @@ Darwin) + LDFLAGS="$LDFLAGS -lresolv" + [ "$PREFIX" = "" ] && PREFIX=/opt/local + ;; +-FreeBSD) ++FreeBSD|DragonFly) + CFG_AO=oss + CFG_SETPROCTITLE=yes + [ "$PREFIX" = "" ] && PREFIX=/usr/local +@@ -97,7 +97,6 @@ Windows) + unset CFG_FTELLO + unset CFG_HTTP + unset CFG_MODPLUG +- unset CFG_REGEX + CFG_CURSES_HEADER=curses + CFG_CURSES_LIB=pdcurses + ;; +@@ -178,7 +177,7 @@ done + [ "$CFLAGS" = "" ] && CFLAGS="-O" + CFLAGS="$CFLAGS `pkg-config --cflags glib-2.0 gthread-2.0` \ + -DAPP_NAME=\\\"$APP_NAME\\\" -DAPP_VERSION=\\\"$APP_VERSION\\\" \ +- -I$PREFIX/include -I$PREFIX/include/ncurses \ ++ -I$PREFIX/include/ncurses -I$PREFIX/include \ + -DCURSES_HEADER=\\<$CFG_CURSES_HEADER.h\\>" + if [ $? -ne 0 ] + then +@@ -205,7 +204,7 @@ then + if [ "$CFG_SCROBBLER" != "" ] + then + case $OS in +- FreeBSD) ++ FreeBSD|DragonFly) + LDFLAGS="$LDFLAGS -lmd" + ;; + NetBSD|OpenBSD) +@@ -321,14 +320,14 @@ oss) + case $OS in + NetBSD|OpenBSD) + CFLAGS="$CFLAGS -DOSS_HEADER=\\" +- CFLAGS_config="-DOSS_DEVICE=\\\"/dev/audio\\\"" +- LDFLAGS="$LDFLAGS -lossaudio" ++ CFLAGS_config="-DOSS_DEVICE=\\\"$DEVOSSAUDIO\\\"" ++ LDFLAGS="$LDFLAGS" + ;; + *) + # The OSS-through-ALSA compat may generate noise + [ "$OS" = "Linux" ] && CFLAGS_main="$CFLAGS_main -DCLOSE_STDERR" + CFLAGS="$CFLAGS -DOSS_HEADER=\\" +- CFLAGS_config="-DOSS_DEVICE=\\\"/dev/dsp\\\"" ++ CFLAGS_config="-DOSS_DEVICE=\\\"$DEVOSSAUDIO\\\"" + ;; + esac + ;; +@@ -361,7 +360,7 @@ echo "- Using $CFG_AO audio output" + echo + + # Perform a simple compiler test +-eval $CC $SRCDIR/src/conftest.c $CFLAGS $LDFLAGS -o conftest$CFG_BINEXT ++eval ${LIBTOOL} --mode=link $CC $SRCDIR/src/conftest.c $CFLAGS $LDFLAGS -o conftest$CFG_BINEXT + if [ $? -ne 0 ] + then + echo "Error: some dependencies are missing; please see README for a list" +@@ -382,10 +381,10 @@ done + all: $APP_NAME$CFG_BINEXT $APP_NAME.1.gz $SRCDIR/$APP_NAME.conf.sample $MOS + $APP_NAME$CFG_BINEXT: $OBJS + # Linking $APP_NAME$CFG_BINEXT +- $DOIT$CC $OBJS $LDFLAGS -o $APP_NAME$CFG_BINEXT ++ $DOIT\${LIBTOOL} --mode=link $CC $OBJS $LDFLAGS -o $APP_NAME$CFG_BINEXT + $APP_NAME.1.gz: $SRCDIR/$APP_NAME.1 Makefile +- # Generating manual page $APP_NAME.1.gz +- ${DOIT}sed -e 's|%%CONFFILE%%|$CONFFILE|' $SRCDIR/$APP_NAME.1 | gzip -9 > $APP_NAME.1.gz ++ # Generating manual page $APP_NAME.1 ++ ${DOIT}sed -e 's|%%CONFFILE%%|$CONFFILE|' $SRCDIR/$APP_NAME.1 > $APP_NAME.1.tmp && mv $SRCDIR/$APP_NAME.1.tmp $SRCDIR/$APP_NAME.1 + clean: + # Removing $APP_NAME$CFG_BINEXT $APP_NAME.1.gz *.mo *.o + ${DOIT}rm -f $APP_NAME$CFG_BINEXT $APP_NAME.1.gz *.mo *.o +@@ -394,29 +393,29 @@ distclean: clean + ${DOIT}rm -f Makefile + install: all + # Installing \$(DESTDIR)$BINDIR/$APP_NAME$CFG_BINEXT +- ${DOIT}mkdir -p \$(DESTDIR)$BINDIR +- $DOIT$INSTALL $CFG_STRIP $APP_NAME$CFG_BINEXT \$(DESTDIR)$BINDIR/$APP_NAME$CFG_BINEXT ++ ${DOIT}\${BSD_INSTALL_PROGRAM_DIR} \$(DESTDIR)$BINDIR ++ $DOIT\${BSD_INSTALL_PROGRAM} $CFG_STRIP $APP_NAME$CFG_BINEXT \$(DESTDIR)$BINDIR/$APP_NAME$CFG_BINEXT + # Installing \$(DESTDIR)$MANDIR/man1/$APP_NAME.1.gz +- ${DOIT}mkdir -p \$(DESTDIR)$MANDIR/man1 +- $DOIT$INSTALL -m 444 $APP_NAME.1.gz \$(DESTDIR)$MANDIR/man1/$APP_NAME.1.gz ++ ${DOIT}\${BSD_INSTALL_MAN_DIR} \$(DESTDIR)$MANDIR/man1 ++ $DOIT\${BSD_INSTALL_MAN} $APP_NAME.1 \$(DESTDIR)$MANDIR/man1/$APP_NAME.1 + # Installing \$(DESTDIR)$CONFDIR/$APP_NAME.conf.sample +- ${DOIT}mkdir -p \$(DESTDIR)$CONFDIR +- $DOIT$INSTALL -m 444 $SRCDIR/$APP_NAME.conf.sample \$(DESTDIR)$CONFDIR/$APP_NAME.conf.sample ++ #${DOIT}\${BSD_INSTALL_DATA_DIR} \$(DESTDIR)$CONFDIR ++ #$DOIT$\${BSD_INSTALL_DATA} $SRCDIR/$APP_NAME.conf.sample \$(DESTDIR)$CONFDIR/$APP_NAME.conf + EOF + for i in $CFG_LINGUAS + do + echo " # Installing \$(DESTDIR)$TRANSDIR/$i/LC_MESSAGES/$APP_NAME.mo" +- echo " ${DOIT}mkdir -p \$(DESTDIR)$TRANSDIR/$i/LC_MESSAGES" +- echo " $DOIT$INSTALL -m 444 $i.mo \$(DESTDIR)$TRANSDIR/$i/LC_MESSAGES/$APP_NAME.mo" ++ echo " ${DOIT}\${BSD_INSTALL_DATA_DIR} \$(DESTDIR)$TRANSDIR/$i/LC_MESSAGES" ++ echo " $DOIT\${BSD_INSTALL_DATA} $i.mo \$(DESTDIR)$TRANSDIR/$i/LC_MESSAGES/$APP_NAME.mo" + done + cat << EOF + uninstall: + # Uninstalling \$(DESTDIR)$BINDIR/$APP_NAME$CFG_BINEXT + ${DOIT}rm -f \$(DESTDIR)$BINDIR/$APP_NAME$CFG_BINEXT +- # Uninstalling \$(DESTDIR)$MANDIR/man1/$APP_NAME.1.gz +- ${DOIT}rm -f \$(DESTDIR)$MANDIR/man1/$APP_NAME.1.gz +- # Uninstalling \$(DESTDIR)$CONFDIR/$APP_NAME.conf.sample +- ${DOIT}rm -f \$(DESTDIR)$CONFDIR/$APP_NAME.conf.sample ++ # Uninstalling \$(DESTDIR)$MANDIR/man1/$APP_NAME.1 ++ ${DOIT}rm -f \$(DESTDIR)$MANDIR/man1/$APP_NAME.1 ++ # Uninstalling \$(DESTDIR)$EGDIR/$APP_NAME.conf ++ ${DOIT}rm -f \$(DESTDIR)$EGDIR/$APP_NAME.conf + EOF + for i in $CFG_LINGUAS + do +@@ -433,7 +432,7 @@ do + done + echo "$i.o: Makefile $SRCDIR/src/$i.c $SRCDIR/src/stdinc.h $DEPS" + echo " # Compiling $i.o" +- echo " $DOIT$CC -c $SRCDIR/src/$i.c $CFLAGS `eval echo \\\$CFLAGS_\$i` -o $i.o" ++ echo " $DOIT\${LIBTOOL} --mode=compile $CC -c $SRCDIR/src/$i.c $CFLAGS `eval echo \\\$CFLAGS_\$i` -o $i.o" + done + for i in $CFG_LINGUAS + do diff --git a/audio/herrie/patches/patch-ab b/audio/herrie/patches/patch-ab new file mode 100644 index 00000000000..939a73c593a --- /dev/null +++ b/audio/herrie/patches/patch-ab @@ -0,0 +1,19 @@ +$NetBSD: patch-ab,v 1.1.1.1 2007/11/08 03:52:30 bjs Exp $ + +--- src/stdinc.h.orig 2007-09-23 09:21:10.000000000 -0400 ++++ src/stdinc.h +@@ -39,7 +39,14 @@ + #include + #endif /* BUILD_NLS */ + #include ++ ++#if defined(HAVE_NBCOMPAT_H) ++#include ++#include ++#else + #include ++#endif ++ + #include + #include + #include -- cgit v1.2.3