From 62db830744dde1b79694805e5d51332350c9bd6a Mon Sep 17 00:00:00 2001 From: shattered Date: Sat, 16 Nov 2013 07:41:02 +0000 Subject: Update to 4.0.6. Changes: - Rewrite player to use libxmp 4.0 - Give Pulseaudio higher priority than ALSA - Give ALSA output higher priority than OSS - Fix native-endian coreaudio output - Fix module-specifc flags to override built-in quirks - Fix loop when skipping to first file and it's not playable - Add commands '<' and '>' to jump to previous/next sequence - Add command 'z' to toggle the subsong explorer on/off - Add option -z to play a specified sequence - Add option -Z to play all sequences in module - Add option --loop-all to loop over entire module list --- audio/xmp/Makefile | 6 ++-- audio/xmp/distinfo | 13 +++++---- audio/xmp/options.mk | 9 ++++-- audio/xmp/patches/patch-etc_Makefile | 43 +++++++++++++++++----------- audio/xmp/patches/patch-src_drivers_netbsd.c | 34 +++++++++++++++++++--- audio/xmp/patches/patch-src_sound_oss.c | 13 +++++++++ 6 files changed, 85 insertions(+), 33 deletions(-) create mode 100644 audio/xmp/patches/patch-src_sound_oss.c (limited to 'audio/xmp') diff --git a/audio/xmp/Makefile b/audio/xmp/Makefile index 5048c30b9f8..64744ffffad 100644 --- a/audio/xmp/Makefile +++ b/audio/xmp/Makefile @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.37 2013/02/09 22:11:34 ryoon Exp $ +# $NetBSD: Makefile,v 1.38 2013/11/16 07:41:02 shattered Exp $ -DISTNAME= xmp-3.4.1 -PKGREVISION= 7 +DISTNAME= xmp-4.0.6 CATEGORIES= audio MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=xmp/} @@ -27,4 +26,5 @@ INSTALL_MAKE_FLAGS+= INSTALL=${INSTALL:Q} .include "options.mk" +.include "../../audio/libxmp/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/audio/xmp/distinfo b/audio/xmp/distinfo index 8c3a60faab8..df5359991c8 100644 --- a/audio/xmp/distinfo +++ b/audio/xmp/distinfo @@ -1,7 +1,8 @@ -$NetBSD: distinfo,v 1.13 2011/11/26 21:10:03 shattered Exp $ +$NetBSD: distinfo,v 1.14 2013/11/16 07:41:02 shattered Exp $ -SHA1 (xmp-3.4.1.tar.gz) = 2883818ddc66ba691b4e7e834be13e800f701021 -RMD160 (xmp-3.4.1.tar.gz) = be007df5102cce9dcd3367097d65ecb535b7d25e -Size (xmp-3.4.1.tar.gz) = 858787 bytes -SHA1 (patch-etc_Makefile) = 86844aab3f490f857c92096e088df9463c2617d6 -SHA1 (patch-src_drivers_netbsd.c) = 39196154d1a52d3962540e6f2d175f0e9280449c +SHA1 (xmp-4.0.6.tar.gz) = 61a7d68e4c37e7407bd35c783821bfbc2b639c87 +RMD160 (xmp-4.0.6.tar.gz) = 1eb6834cefd450d88de9b018e14ec4f88b8c015b +Size (xmp-4.0.6.tar.gz) = 208541 bytes +SHA1 (patch-etc_Makefile) = 5816b82a6253a627b39ff2ca262bfb5675ca97e3 +SHA1 (patch-src_drivers_netbsd.c) = eb3b77cafc86dc9fba298c5bdfbeb0b889d9ea9c +SHA1 (patch-src_sound_oss.c) = 251a09075ade185e33938be67776e7740473a6a5 diff --git a/audio/xmp/options.mk b/audio/xmp/options.mk index 69d492af057..268074aef20 100644 --- a/audio/xmp/options.mk +++ b/audio/xmp/options.mk @@ -1,6 +1,7 @@ -# $NetBSD: options.mk,v 1.2 2011/04/05 05:22:52 rxg Exp $ +# $NetBSD: options.mk,v 1.3 2013/11/16 07:41:02 shattered Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.xmp +# XXX configure.ac is broken, you cannot disable oss and alsa at the moment. PKG_SUPPORTED_OPTIONS= alsa arts esound nas oss pulseaudio .include "../../mk/bsd.prefs.mk" @@ -42,10 +43,12 @@ CONFIGURE_ARGS+=--enable-nas # Oss support .if !empty(PKG_OPTIONS:Moss) -# empty +. include "../../mk/oss.buildlink3.mk" +LIBS+= ${LIBOSSAUDIO} +CPPFLAGS+= -DDEVOSSAUDIO="\"${DEVOSSAUDIO}\"" +CPPFLAGS+= -DDEVOSSSOUND="\"${DEVOSSSOUND}\"" .else CONFIGURE_ARGS+=--disable-oss -CONFIGURE_ARGS+=--disable-oss-sequencer .endif # Pulseaudio support diff --git a/audio/xmp/patches/patch-etc_Makefile b/audio/xmp/patches/patch-etc_Makefile index 260af7ad06d..9461a71e851 100644 --- a/audio/xmp/patches/patch-etc_Makefile +++ b/audio/xmp/patches/patch-etc_Makefile @@ -1,19 +1,28 @@ -$NetBSD: patch-etc_Makefile,v 1.1 2011/04/05 05:22:52 rxg Exp $ +$NetBSD: patch-etc_Makefile,v 1.2 2013/11/16 07:41:02 shattered Exp $ ---- etc/Makefile.orig 2010-01-09 22:34:20.000000000 +0000 -+++ etc/Makefile -@@ -4,10 +4,10 @@ ETC_PATH = etc +--- src/Makefile.in.orig 2013-05-19 14:44:09.000000000 +0000 ++++ src/Makefile.in +@@ -509,18 +509,18 @@ uninstall-man1: + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) + install-pkgsysconfDATA: $(pkgsysconf_DATA) + @$(NORMAL_INSTALL) +- @list='$(pkgsysconf_DATA)'; test -n "$(pkgsysconfdir)" || list=; \ ++ @list='$(pkgsysconf_DATA)'; test -n "$(datarootdir)/examples/xmp" || list=; \ + if test -n "$$list"; then \ +- echo " $(MKDIR_P) '$(DESTDIR)$(pkgsysconfdir)'"; \ +- $(MKDIR_P) "$(DESTDIR)$(pkgsysconfdir)" || exit 1; \ ++ echo " $(MKDIR_P) '$(DESTDIR)$(datarootdir)/examples/xmp/'"; \ ++ $(MKDIR_P) "$(DESTDIR)$(datarootdir)/examples/xmp/" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ +- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgsysconfdir)'"; \ +- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgsysconfdir)" || exit $$?; \ ++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(datarootdir)/examples/xmp/'"; \ ++ $(INSTALL_DATA) $$files "$(DESTDIR)$(datarootdir)/examples/xmp/" || exit $$?; \ + done - install-etc: - @[ -d $(DESTDIR)$(SYSCONFDIR) ] || mkdir -p $(DESTDIR)$(SYSCONFDIR) -- @echo "Installing xmp.conf in $(SYSCONFDIR)" -- @$(INSTALL_DATA) $(ETC_PATH)/xmp.conf $(DESTDIR)$(SYSCONFDIR)/ -- @echo "Installing modules.conf in $(SYSCONFDIR)" -- @$(INSTALL_DATA) $(ETC_PATH)/modules.conf $(DESTDIR)$(SYSCONFDIR)/ -+ @echo "Installing xmp.conf in ${DESTDIR}$(datarootdir)/examples/xmp" -+ @$(INSTALL_DATA) $(ETC_PATH)/xmp.conf $(DESTDIR)$(datarootdir)/examples/xmp/ -+ @echo "Installing modules.conf in ${DESTDIR}$(datarootdir)/examples/xmp" -+ @$(INSTALL_DATA) $(ETC_PATH)/modules.conf $(DESTDIR)$(datarootdir)/examples/xmp/ - - dist-etc: - mkdir -p $(DIST)/$(ETC_PATH) + uninstall-pkgsysconfDATA: diff --git a/audio/xmp/patches/patch-src_drivers_netbsd.c b/audio/xmp/patches/patch-src_drivers_netbsd.c index 36b7565d878..832e9f4a6ad 100644 --- a/audio/xmp/patches/patch-src_drivers_netbsd.c +++ b/audio/xmp/patches/patch-src_drivers_netbsd.c @@ -1,8 +1,34 @@ -$NetBSD: patch-src_drivers_netbsd.c,v 1.1 2011/04/05 05:22:52 rxg Exp $ +$NetBSD: patch-src_drivers_netbsd.c,v 1.2 2013/11/16 07:41:02 shattered Exp $ ---- src/drivers/netbsd.c.orig 2010-01-09 22:34:20.000000000 +0000 -+++ src/drivers/netbsd.c -@@ -174,7 +174,7 @@ static void bufdump(struct xmp_context * +--- src/sound_netbsd.c.orig 2013-04-06 13:38:02.000000000 +0000 ++++ src/sound_netbsd.c +@@ -68,21 +68,23 @@ static int init(struct options *options) + + AUDIO_INITINFO(&ainfo); + ++ ainfo.mode = AUMODE_PLAY_ALL; + ainfo.play.sample_rate = options->rate; + ainfo.play.channels = options->format & XMP_FORMAT_MONO ? 1 : 2; + + if (options->format & XMP_FORMAT_8BIT) { + ainfo.play.precision = 8; +- ainfo.play.precision = AUDIO_ENCODING_ULINEAR; ++ ainfo.play.encoding = AUDIO_ENCODING_ULINEAR; + options->format |= XMP_FORMAT_UNSIGNED; + } else { + ainfo.play.precision = 16; +- ainfo.play.precision = AUDIO_ENCODING_SLINEAR; ++ ainfo.play.encoding = AUDIO_ENCODING_SLINEAR; + options->format &= ~XMP_FORMAT_UNSIGNED; + } + + ainfo.play.gain = gain; + ainfo.play.buffer_size = bsize; ++ ainfo.blocksize = 0; + + if (ioctl(audio_fd, AUDIO_SETINFO, &ainfo) == -1) { + close(audio_fd); +@@ -99,7 +101,7 @@ static void play(void *b, int i) while (i) { if ((j = write(audio_fd, b, i)) > 0) { i -= j; diff --git a/audio/xmp/patches/patch-src_sound_oss.c b/audio/xmp/patches/patch-src_sound_oss.c new file mode 100644 index 00000000000..29de2e45fc1 --- /dev/null +++ b/audio/xmp/patches/patch-src_sound_oss.c @@ -0,0 +1,13 @@ +$NetBSD: patch-src_sound_oss.c,v 1.1 2013/11/16 07:41:02 shattered Exp $ + +--- src/sound_oss.c.orig 2013-04-06 13:38:02.000000000 +0000 ++++ src/sound_oss.c +@@ -109,7 +109,7 @@ static void setaudio(int *rate, int *for + static int init(struct options *options) + { + char **parm = options->driver_parm; +- static const char *dev_audio[] = { "/dev/dsp", "/dev/sound/dsp" }; ++ static const char *dev_audio[] = { DEVOSSAUDIO, "/dev/sound/dsp" }; + audio_buf_info info; + static char buf[80]; + int i; -- cgit v1.2.3