aboutsummaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
Diffstat (limited to 'audio')
-rw-r--r--audio/xmp/Makefile103
-rw-r--r--audio/xmp/distinfo6
-rw-r--r--audio/xmp/files/extra-patch-src-misc-load.c16
-rw-r--r--audio/xmp/files/patch-src-drivers-oss_seq.c26
-rw-r--r--audio/xmp/pkg-plist12
5 files changed, 119 insertions, 44 deletions
diff --git a/audio/xmp/Makefile b/audio/xmp/Makefile
index 6f21f54a4f3e..658fbf877206 100644
--- a/audio/xmp/Makefile
+++ b/audio/xmp/Makefile
@@ -6,9 +6,11 @@
#
PORTNAME= xmp
-PORTVERSION= 2.7.1
+PORTVERSION= 3.0.0.20090929
+DISTVERSIONSUFFIX=.808d9ae
CATEGORIES= audio
-MASTER_SITES= SF
+MASTER_SITES= CRITICAL \
+ ftp://ftp.lissyara.su/users/Guest/distfiles/
MAINTAINER= ehaupt@FreeBSD.org
COMMENT= A player for many different Amiga and PC module formats
@@ -18,34 +20,111 @@ WANT_GNOME= yes
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LIBS="-L${LOCALBASE}/lib"
-CONFIGURE_ARGS= --disable-alsa --enable-oss \
- --sysconfdir=${PREFIX}/etc
+CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc
MAN1= xmp.1
-MLINKS= xmp.1 xxmp.1
-OPTIONS= XMMS "Build XMMS plugin" off \
- ESOUND "EsounD support" off
+OPTIONS= ARTS "aRts output driver" off \
+ AUDACIOUS "Audacious plugin" off \
+ BMP "BeepMP plugin" off \
+ ESOUND "EsounD output driver" off \
+ NAS "Network Audio System ouptut driver" off \
+ PULSEAUDIO "PulseAudio output driver" off \
+ UNZIP "Use unzip(1) not bsdtar(1) to read .zip files" on \
+ XMMS "XMMS plugin" off
+
+MAKE_JOBS_SAFE= yes
.include <bsd.port.pre.mk>
-.if ${ARCH} == "amd64" || ${ARCH} == "ia64"
-CFLAGS+= -fPIC
+.if !defined(NOPORTDOCS)
+PORTDOCS= *
+.endif
+
+.if defined(WITH_ARTS)
+LIB_DEPENDS+= artsc.0:${PORTSDIR}/audio/arts
+CONFIGURE_ARGS+= --enable-arts
+.else
+CONFIGURE_ARGS+= --disable-arts
+.endif
+
+.if defined(WITH_AUDACIOUS)
+LIB_DEPENDS+= audclient.2:${PORTSDIR}/multimedia/audacious
+CONFIGURE_ARGS+= --enable-audacious-plugin
+PLIST_SUB+= AUDACIOUS=""
+.else
+CONFIGURE_ARGS+= --disable-audacious-plugin
+PLIST_SUB+= AUDACIOUS="@comment "
+.endif
+
+.if defined(WITH_BMP)
+LIB_DEPENDS+= beep.2:${PORTSDIR}/multimedia/beep-media-player
+CONFIGURE_ARGS+= --enable-bmp-plugin
+PLIST_SUB+= BMP=""
+.else
+CONFIGURE_ARGS+= --disable-bmp-plugin
+PLIST_SUB+= BMP="@comment "
.endif
.if defined(WITH_ESOUND)
USE_GNOME+= esound
+CONFIGURE_ARGS+= --enable-esd
.else
CONFIGURE_ARGS+= --disable-esd
.endif
+.if defined(WITH_NAS)
+LIB_DEPENDS+= audio.2:${PORTSDIR}/audio/nas
+CONFIGURE_ARGS+= --enable-nas
+.else
+CONFIGURE_ARGS+= --disable-nas
+.endif
+
+.if defined(WITH_PULSEAUDIO)
+LIB_DEPENDS+= pulse-simple.0:${PORTSDIR}/audio/pulseaudio
+CONFIGURE_ARGS+= --enable-pulseaudio
+.else
+CONFIGURE_ARGS+= --disable-pulseaudio
+.endif
+
+.if defined(WITH_UNZIP)
+RUN_DEPENDS+= ${LOCALBASE}/bin/unzip:${PORTSDIR}/archivers/unzip
+.else
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-misc-load.c
+.endif
+
.if defined(WITH_XMMS)
LIB_DEPENDS+= xmms.4:${PORTSDIR}/multimedia/xmms
CONFIGURE_ARGS+= --enable-xmms-plugin
-PLIST_SUB+= XMMS=""
+PLIST_SUB+= XMMS=""
.else
-CONFIGURE_ARGS+= --disable-xmms
-PLIST_SUB+= XMMS="@comment "
+CONFIGURE_ARGS+= --disable-xmms-plugin
+PLIST_SUB+= XMMS="@comment "
+.endif
+
+post-patch: .SILENT
+.for f in docs/xmp.1 etc/xmp.conf etc/modules.conf
+ ${REINPLACE_CMD} -e "s|/etc/xmp|${ETCDIR}|g" ${WRKSRC}/${f}
+.endfor
+ ${REINPLACE_CMD} -e \
+ '/$$(INSTALL_DATA)/s|\([[:alnum:]]*\.conf\).*$$|&\1.sample|' \
+ ${WRKSRC}/etc/Makefile
+
+post-install: .SILENT
+ if [ ! -f ${ETCDIR}/${PORTNAME}.conf ]; then \
+ ${INSTALL_DATA} ${ETCDIR}/${PORTNAME}.conf.sample \
+ ${ETCDIR}/${PORTNAME}.conf; \
+ fi
+ if [ ! -f ${ETCDIR}/modules.conf ]; then \
+ ${INSTALL_DATA} ${ETCDIR}/modules.conf.sample \
+ ${ETCDIR}/modules.conf; \
+ fi
+
+.if !defined(NOPORTDOCS)
+ ${ECHO_MSG} Installing documentation in ${DOCSDIR}
+ ( cd ${WRKSRC}/docs && ${COPYTREE_SHARE} \* \
+ ${DOCSDIR} '! ( -name Makefile -or -name xmp.1 \
+ -or -name *.bak -or -name *.orig )' )
.endif
.include <bsd.port.post.mk>
diff --git a/audio/xmp/distinfo b/audio/xmp/distinfo
index 0ed4ceb6be8c..2ebc3d1fa29a 100644
--- a/audio/xmp/distinfo
+++ b/audio/xmp/distinfo
@@ -1,3 +1,3 @@
-MD5 (xmp-2.7.1.tar.gz) = bbed5ba3dc9bd8ff38133b31fd5b8846
-SHA256 (xmp-2.7.1.tar.gz) = 84b1bfc00e254fe1eb1e6a2932c27b2695f6d401fbe4e244b740289e9101c805
-SIZE (xmp-2.7.1.tar.gz) = 794986
+MD5 (xmp-3.0.0.20090929.808d9ae.tar.gz) = 85e71abf01ccbc5ba430b58e3468ab83
+SHA256 (xmp-3.0.0.20090929.808d9ae.tar.gz) = 0bcfb1c9af264f601e0d6598611a4232bc3630f65bb0eb8e049cbcee6dea7f98
+SIZE (xmp-3.0.0.20090929.808d9ae.tar.gz) = 830355
diff --git a/audio/xmp/files/extra-patch-src-misc-load.c b/audio/xmp/files/extra-patch-src-misc-load.c
new file mode 100644
index 000000000000..b34f83c89532
--- /dev/null
+++ b/audio/xmp/files/extra-patch-src-misc-load.c
@@ -0,0 +1,16 @@
+--- src/misc/load.c~
++++ src/misc/load.c
+@@ -99,8 +99,11 @@ static int decrunch(struct xmp_context *
+ cmd = "unzip -pqqC \"%s\" -x readme *.diz *.nfo *.txt *.exe *.com "
+ "README *.DIZ *.NFO *.TXT *.EXE *.COM " REDIR_STDERR;
+ #else
+- cmd = "unzip -pqqC \"%s\" -x readme '*.diz' '*.nfo' '*.txt' '*.exe' "
+- "'*.com' README '*.DIZ' '*.NFO' '*.TXT' '*.EXE' '*.COM' "
++ cmd = "bsdtar xOf \"%s\" --exclude readme --exclude '*.diz' "
++ "--exclude '*.nfo' --exclude '*.txt' --exclude '*.exe' "
++ "--exclude '*.com' --exclude README --exclude '*.DIZ' "
++ "--exclude '*.NFO' --exclude '*.TXT' --exclude '*.EXE' "
++ "--exclude '*.COM' "
+ REDIR_STDERR;
+ #endif
+ } else if (b[2] == '-' && b[3] == 'l' && b[4] == 'h') {
diff --git a/audio/xmp/files/patch-src-drivers-oss_seq.c b/audio/xmp/files/patch-src-drivers-oss_seq.c
deleted file mode 100644
index 0ccf36f16214..000000000000
--- a/audio/xmp/files/patch-src-drivers-oss_seq.c
+++ /dev/null
@@ -1,26 +0,0 @@
---- ./src/drivers/oss_seq.c.orig 2009-10-05 14:12:41.000000000 +0200
-+++ ./src/drivers/oss_seq.c 2009-10-05 14:14:09.000000000 +0200
-@@ -138,7 +138,6 @@
- #endif
- if (num > SEQ_NUM_VOICES)
- return SEQ_NUM_VOICES;
-- GUS_NUMVOICES(dev, num);
- break;
- }
-
-@@ -147,7 +146,6 @@
-
- static void voicepos(int ch, int pos)
- {
-- GUS_VOICE_POS(dev, ch, pos);
- }
-
- static void echoback(int msg)
-@@ -194,7 +192,6 @@
-
- static void setpan(struct xmp_context *ctx, int ch, int pan)
- {
-- GUS_VOICEBALA(dev, ch, (pan + 0x80) >> 4)
- }
-
- static void setbend(int ch, int bend)
diff --git a/audio/xmp/pkg-plist b/audio/xmp/pkg-plist
index 820ca30bac2c..c181f8540545 100644
--- a/audio/xmp/pkg-plist
+++ b/audio/xmp/pkg-plist
@@ -1,5 +1,11 @@
bin/xmp
-etc/xmp/xmp.conf
-etc/xmp/modules.conf
+@unexec if cmp -s %D/%%ETCDIR%%/xmp.conf.sample %D/%%ETCDIR%%/xmp.conf; then rm -f %D/%%ETCDIR%%/xmp.conf; fi
+%%ETCDIR%%/xmp.conf.sample
+@exec if [ ! -f %D/%%ETCDIR%%/xmp.conf ]; then cp -p %D/%F %B/xmp.conf; fi
+@unexec if cmp -s %D/%%ETCDIR%%/modules.conf.sample %D/%%ETCDIR%%/modules.conf; then rm -f %D/%%ETCDIR%%/modules.conf; fi
+%%ETCDIR%%/modules.conf.sample
+@exec if [ ! -f %D/%%ETCDIR%%/modules.conf ]; then cp -p %D/%F %B/modules.conf; fi
+%%AUDACIOUS%%lib/audacious/Input/xmp-audacious.so
+%%BMP%%lib/bmp/Input/xmp-bmp.so
%%XMMS%%lib/xmms/Input/xmp-xmms.so
-@dirrm etc/xmp
+@dirrmtry %%ETCDIR%%