Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Jul 2012 00:41:41 -0400
From:      Jan Beich <jbeich@tormail.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/169841: [patch] audio/alsa-{lib, plugins, utils}: update to 1.0.25
Message-ID:  <1SpuDX-0006n1-1C@internal.tormail.org>
Resent-Message-ID: <201207140450.q6E4o1sR018779@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         169841
>Category:       ports
>Synopsis:       [patch] audio/alsa-{lib,plugins,utils}: update to 1.0.25
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jul 14 04:50:01 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Jan Beich
>Release:        FreeBSD 10.0-CURRENT amd64
>Organization:
>Environment:
A quick test with
   audio/alsa-utils (aplay only)
   audio/xmp (ALSA option)
and on YouTube in HTML5-mode using
   www/chromium
   www/firefox (ALSA option)
>Description:
- update
- convert to new options framework
- revert ports/165247 per regression in ports/169767
- move FreeBSD-specific patch to ARIFF_OSS option[1];
  at least on /head vendor version works, too
- unbreak arcam-av and usb_stream plugins (only build tested)

[1] to help debugging/submitting changes upstream (for GNU/kFreeBSD),
    feel free to replace with a more technical description/option name
>How-To-Repeat:
>Fix:
--- update.diff begins here ---
Index: audio/alsa-lib/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-lib/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- audio/alsa-lib/Makefile	9 Nov 2011 15:25:23 -0000	1.3
+++ audio/alsa-lib/Makefile	14 Jul 2012 03:34:08 -0000
@@ -6,7 +6,7 @@
 #
=20
 PORTNAME=3D	alsa-lib
-PORTVERSION=3D	1.0.23
+PORTVERSION=3D	1.0.25
 CATEGORIES=3D	audio
 MASTER_SITES=3D	ftp://ftp.silug.org/pub/alsa/lib/ \
 		ftp://gd.tuwien.ac.at/opsys/linux/alsa/lib/ \
@@ -19,7 +19,8 @@ COMMENT=3D	ALSA compatibility library
 USE_BZIP2=3D	yes
 USE_LDCONFIG=3D	yes
 GNU_CONFIGURE=3D	yes
-CONFIGURE_ARGS+=3D --disable-aload --disable-python
+CONFIGURE_ARGS+=3D--disable-aload --disable-python \
+		--with-pkgconfdir=3D"${PREFIX}/libdata/pkgconfig"
=20
 post-patch:	.SILENT
 	${REINPLACE_CMD} -e '/LIBS/ { s/-ldl//g; s/-lrt//g; }' \
@@ -28,9 +29,6 @@ post-patch:	.SILENT
 		${WRKSRC}/modules/mixer/simple/Makefile.in
 	${REINPLACE_CMD} 's|/etc|${PREFIX}&|g' \
 		${WRKSRC}/src/conf/alsa.conf
-	${REINPLACE_CMD} \
-		'/pkgconfigdir/s|$$(libdir)|$$(prefix)/libdata|g' \
-		${WRKSRC}/utils/Makefile.in
=20
 post-install:
 	${INSTALL_DATA} ${FILESDIR}/asound.conf.sample ${PREFIX}/etc
Index: audio/alsa-lib/distinfo
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-lib/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- audio/alsa-lib/distinfo	19 Mar 2011 12:27:45 -0000	1.2
+++ audio/alsa-lib/distinfo	13 Jul 2012 23:24:34 -0000
@@ -1,2 +1,2 @@
-SHA256 (alsa-lib-1.0.23.tar.bz2) =3D b4238ecaba5e4a1383af06180611a57ef29f9=
bf47bc177136dba1bb5b70ff423
-SIZE (alsa-lib-1.0.23.tar.bz2) =3D 808271
+SHA256 (alsa-lib-1.0.25.tar.bz2) =3D 5a1a805cf04106316d549ec650116ce6711a1=
62e107ba8b3c551866680e286e6
+SIZE (alsa-lib-1.0.25.tar.bz2) =3D 838403
Index: audio/alsa-lib/pkg-plist
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-lib/pkg-plist,v
retrieving revision 1.1
diff -u -p -r1.1 pkg-plist
--- audio/alsa-lib/pkg-plist	5 Jun 2010 12:43:24 -0000	1.1
+++ audio/alsa-lib/pkg-plist	14 Jul 2012 00:02:12 -0000
@@ -28,10 +28,12 @@ include/alsa/seqmid.h
 include/alsa/sound/asound_fm.h
 include/alsa/sound/emu10k1.h
 include/alsa/sound/hdsp.h
+include/alsa/sound/hdspm.h
 include/alsa/sound/sb16_csp.h
 include/alsa/sound/sscape_ioctl.h
 include/alsa/sound/type_compat.h
 include/alsa/timer.h
+include/alsa/use-case.h
 include/alsa/version.h
 include/sys/asoundlib.h
 lib/alsa-lib/smixer/smixer-ac97.la
@@ -46,6 +48,7 @@ lib/libasound.so.2
 libdata/pkgconfig/alsa.pc
 share/aclocal/alsa.m4
 share/alsa/alsa.conf
+share/alsa/alsa.conf.d/README
 share/alsa/cards/AACI.conf
 share/alsa/cards/ATIIXP-MODEM.conf
 share/alsa/cards/ATIIXP-SPDMA.conf
@@ -70,6 +73,8 @@ share/alsa/cards/ENS1370.conf
 share/alsa/cards/ENS1371.conf
 share/alsa/cards/ES1968.conf
 share/alsa/cards/FM801.conf
+share/alsa/cards/FWSpeakers.conf
+share/alsa/cards/FireWave.conf
 share/alsa/cards/GUS.conf
 share/alsa/cards/HDA-Intel.conf
 share/alsa/cards/ICE1712.conf
@@ -125,6 +130,7 @@ etc/asound.conf.sample
 @dirrm share/alsa/pcm
 @dirrm share/alsa/cards/SI7018
 @dirrm share/alsa/cards
+@dirrm share/alsa/alsa.conf.d
 @dirrm share/alsa
 @dirrm lib/alsa-lib/smixer
 @dirrm lib/alsa-lib
Index: audio/alsa-lib/files/patch-alsa-lib
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-lib/files/patch-alsa-lib,v
retrieving revision 1.1
diff -u -p -r1.1 patch-alsa-lib
--- audio/alsa-lib/files/patch-alsa-lib	5 Jun 2010 12:43:25 -0000	1.1
+++ audio/alsa-lib/files/patch-alsa-lib	13 Jul 2012 23:45:35 -0000
@@ -102,7 +102,7 @@
  typedef __compar_fn_t comparison_fn_t;
 --- include/sound/asound.h.orig	2009-09-09 20:34:54.000000000 +0800
 +++ include/sound/asound.h	2009-09-15 00:44:37.000000000 +0800
-@@ -62,6 +62,31 @@
+@@ -62,6 +62,33 @@
  #include <sys/ioctl.h>
  #endif
=20=20
@@ -110,6 +110,8 @@
 +#define ESTRPIPE	0x7a69	/* Linux PCM suspend errno, fehh?! */
 +#define EBADFD		EBADF
 +
++typedef uint64_t __u64;
++
 +#define bswap_16(x)	bswap16(x)
 +#define bswap_32(x)	bswap32(x)
 +#define bswap_64(x)	bswap64(x)
@@ -182,6 +184,20 @@
  #include <string.h>
=20=20
  #define __USE_GNU
+--- src/conf.c~
++++ src/conf.c
+@@ -428,7 +428,11 @@ beginning:</P>
+=20
+ #ifdef HAVE_LIBPTHREAD
+ static pthread_mutex_t snd_config_update_mutex =3D
++#ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+ 				PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
++#else
++				PTHREAD_MUTEX_INITIALIZER;
++#endif
+ #endif
+=20
+ struct _snd_config {
 --- src/pcm/pcm.c.orig	2009-09-09 20:34:54.000000000 +0800
 +++ src/pcm/pcm.c	2009-09-15 00:19:09.000000000 +0800
 @@ -630,7 +630,9 @@
Index: audio/alsa-lib/files/patch-versionsort
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: audio/alsa-lib/files/patch-versionsort
diff -N audio/alsa-lib/files/patch-versionsort
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ audio/alsa-lib/files/patch-versionsort	14 Jul 2012 03:02:30 -0000
@@ -0,0 +1,157 @@
+based on https://bugs.busybox.net/show_bug.cgi?id=3D3529
+
+--- include/local.h~
++++ include/local.h
+@@ -285,4 +285,125 @@ int snd_config_search_alias_hooks(snd_co
+                                   const char *base, const char *key,
+ 				  snd_config_t **result);
+=20
++#ifdef NEED_VERSIONSORT
++
++/* Compare strings while treating digits characters numerically.
++   Copyright (C) 1997, 2002 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Contributed by Jean-Fran=C3=A7ois Bignolles <bignolle@ecoledoc.ibp.fr>=
, 1997.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <string.h>
++#include <ctype.h>
++
++
++/* states: S_N: normal, S_I: comparing integral part, S_F: comparing
++           fractionnal parts, S_Z: idem but with leading Zeroes only */
++#define  S_N    0x0
++#define  S_I    0x4
++#define  S_F    0x8
++#define  S_Z    0xC
++
++/* result_type: CMP: return diff; LEN: compare using len_diff/diff */
++#define  CMP    2
++#define  LEN    3
++
++/* Compare S1 and S2 as strings holding indices/version numbers,
++   returning less than, equal to or greater than zero if S1 is less than,
++   equal to or greater than S2 (for more info, see the texinfo doc).
++*/
++static inline
++int strverscmp (s1, s2)
++     const char *s1;
++     const char *s2;
++{
++  const unsigned char *p1 =3D (const unsigned char *) s1;
++  const unsigned char *p2 =3D (const unsigned char *) s2;
++  unsigned char c1, c2;
++  int state;
++  int diff;
++
++  /* Symbol(s)    0       [1-9]   others  (padding)
++     Transition   (10) 0  (01) d  (00) x  (11) -   */
++  static const unsigned int next_state[] =3D
++  {
++      /* state    x    d    0    - */
++      /* S_N */  S_N, S_I, S_Z, S_N,
++      /* S_I */  S_N, S_I, S_I, S_I,
++      /* S_F */  S_N, S_F, S_F, S_F,
++      /* S_Z */  S_N, S_F, S_Z, S_Z
++  };
++
++  static const int result_type[] =3D
++  {
++      /* state   x/x  x/d  x/0  x/-  d/x  d/d  d/0  d/-
++                 0/x  0/d  0/0  0/-  -/x  -/d  -/0  -/- */
++
++      /* S_N */  CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
++                 CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
++      /* S_I */  CMP, -1,  -1,  CMP, +1,  LEN, LEN, CMP,
++                 +1,  LEN, LEN, CMP, CMP, CMP, CMP, CMP,
++      /* S_F */  CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
++                 CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
++      /* S_Z */  CMP, +1,  +1,  CMP, -1,  CMP, CMP, CMP,
++                 -1,  CMP, CMP, CMP
++  };
++
++  if (p1 =3D=3D p2)
++    return 0;
++
++  c1 =3D *p1++;
++  c2 =3D *p2++;
++  /* Hint: '0' is a digit too.  */
++  state =3D S_N | ((c1 =3D=3D '0') + (isdigit (c1) !=3D 0));
++
++  while ((diff =3D c1 - c2) =3D=3D 0 && c1 !=3D '\0')
++    {
++      state =3D next_state[state];
++      c1 =3D *p1++;
++      c2 =3D *p2++;
++      state |=3D (c1 =3D=3D '0') + (isdigit (c1) !=3D 0);
++    }
++
++  state =3D result_type[state << 2 | (((c2 =3D=3D '0') + (isdigit (c2) !=
=3D 0)))];
++
++  switch (state)
++  {
++    case CMP:
++      return diff;
++
++    case LEN:
++      while (isdigit (*p1++))
++	if (!isdigit (*p2++))
++	  return 1;
++
++      return isdigit (*p2) ? -1 : diff;
++
++    default:
++      return state;
++  }
++}
++
++static inline
++int versionsort(const void * a, const void * b)
++{
++    return strverscmp ((*(const struct dirent **) a)->d_name,
++	    (*(const struct dirent **) b)->d_name);
++}
++
++#endif
+ #endif
+--- src/conf.c~
++++ src/conf.c
+@@ -419,6 +419,9 @@ beginning:</P>
+ #include <sys/stat.h>
+ #include <dirent.h>
+ #include <locale.h>
++#if defined(__FreeBSD__) || __UCLIBC_MAJOR__ =3D=3D 0 && __UCLIBC_MINOR__=
 =3D=3D 9 && __UCLIBC_SUBLEVEL__ <=3D 30
++#define NEED_VERSIONSORT
++#endif
+ #include "local.h"
+ #ifdef HAVE_LIBPTHREAD
+ #include <pthread.h>
+--- src/ucm/parser.c~
++++ src/ucm/parser.c
+@@ -30,8 +30,11 @@
+  *               Jaroslav Kysela <perex@perex.cz>
+  */
+=20
+-#include "ucm_local.h"
+ #include <dirent.h>
++#if defined(__FreeBSD__) || __UCLIBC_MAJOR__ =3D=3D 0 && __UCLIBC_MINOR__=
 =3D=3D 9 && __UCLIBC_SUBLEVEL__ <=3D 30
++#define NEED_VERSIONSORT
++#endif
++#include "ucm_local.h"
+=20
+ /** The name of the environment variable containing the UCM directory */
+ #define ALSA_CONFIG_UCM_VAR "ALSA_CONFIG_UCM"
Index: audio/alsa-plugins/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-plugins/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- audio/alsa-plugins/Makefile	7 May 2012 15:23:52 -0000	1.5
+++ audio/alsa-plugins/Makefile	13 Jul 2012 23:23:04 -0000
@@ -6,8 +6,7 @@
 #
=20
 PORTNAME=3D	alsa-plugins
-PORTVERSION=3D	1.0.23
-PORTREVISION=3D	3
+PORTVERSION=3D	1.0.25
 CATEGORIES=3D	audio
 MASTER_SITES=3D	ftp://ftp.silug.org/pub/alsa/plugins/ \
 		ftp://gd.tuwien.ac.at/opsys/linux/alsa/plugins/ \
@@ -22,16 +21,18 @@ GNU_CONFIGURE=3D	yes
 USE_GNOME=3D	pkgconfig
 LDFLAGS+=3D	-L${LOCALBASE}/lib
=20
-OPTIONS=3D	JACK		"JACK audio support (requires SAMPLERATE)"	Off \
-		LAVC		"libavcodec support"	Off \
-		SAMPLERATE	"libsamplerate support"	Off \
-		PULSE		"PulseAudio support"	Off \
-		SPEEX		"Speex support"		Off
+OPTIONS_DEFINE=3D	ARIFF_OSS JACK FFMPEG PULSEAUDIO SAMPLERATE SPEEX
+OPTIONS_DEFAULT=3DARIFF_OSS
+ARIFF_OSS_DESC=3D	FreeBSD-specific OSS plugin
=20
 .include <bsd.port.options.mk>
=20
-.if defined(WITH_JACK)
-.if defined(WITHOUT_SAMPLERATE)
+.if ${PORT_OPTIONS:MARIFF_OSS}
+EXTRA_PATCHES+=3D	${FILESDIR}/alsa-plugins.patch
+.endif
+
+.if ${PORT_OPTIONS:MJACK}
+.if ! ${PORT_OPTIONS:MSAMPLERATE}
 IGNORE=3D			JACK audio support requires SAMPLERATE
 .endif
 LIB_DEPENDS+=3D		jack.0:${PORTSDIR}/audio/jack
@@ -41,7 +42,7 @@ PLIST_SUB+=3D		JACK=3D"@comment "
 CONFIGURE_ARGS+=3D	--disable-jack
 .endif
=20
-.if defined(WITH_LAVC)
+.if ${PORT_OPTIONS:MFFMPEG}
 CONFIGURE_ARGS+=3D	--enable-avcodec
 CFLAGS+=3D		-I${LOCALBASE}/include
 LIB_DEPENDS+=3D		avcodec.1:${PORTSDIR}/multimedia/ffmpeg
@@ -51,7 +52,7 @@ CONFIGURE_ARGS+=3D	--disable-avcodec
 PLIST_SUB+=3D		LAVC=3D"@comment "
 .endif
=20
-.if defined(WITH_PULSE)
+.if ${PORT_OPTIONS:MPULSEAUDIO}
 LIB_DEPENDS+=3D		pulse.0:${PORTSDIR}/audio/pulseaudio
 PLIST_SUB+=3D		PULSE=3D""
 .else
@@ -59,7 +60,7 @@ PLIST_SUB+=3D		PULSE=3D"@comment "
 CONFIGURE_ARGS+=3D	--disable-pulseaudio
 .endif
=20
-.if defined(WITH_SAMPLERATE)
+.if ${PORT_OPTIONS:MSAMPLERATE}
 LIB_DEPENDS+=3D		samplerate.1:${PORTSDIR}/audio/libsamplerate
 PLIST_SUB+=3D		SAMPLERATE=3D""
 .else
@@ -67,7 +68,7 @@ PLIST_SUB+=3D		SAMPLERATE=3D"@comment "
 CONFIGURE_ARGS+=3D	--disable-samplerate
 .endif
=20
-.if defined(WITH_SPEEX)
+.if ${PORT_OPTIONS:MSPEEX}
 CONFIGURE_ARGS+=3D	--with-speex=3Dlib
 LIB_DEPENDS+=3D		speex.1:${PORTSDIR}/audio/speex
 PLIST_SUB+=3D		SPEEX=3D""
@@ -76,22 +77,9 @@ CONFIGURE_ARGS+=3D	--without-speex
 PLIST_SUB+=3D		SPEEX=3D"@comment "
 .endif
=20
-.if	${OSVERSION} > 900036 \
-     || ${OSVERSION} > 802503 && ${OSVERSION} < 900000 \
-     || ${OSVERSION} > 704000 && ${OSVERSION} < 800000
-EXTRA_PATCHES+=3D	${FILESDIR}/alsa-plugins-getiptrfix.patch
-.else # ${OSVERSION} <=3D 704000
-EXTRA_PATCHES+=3D	${FILESDIR}/alsa-plugins.patch
-.endif
-
 post-patch:	.SILENT
 	${REINPLACE_CMD} -e '/LIBS/s/-ldl//g' \
 		-e '/lt_cv_dlopen/s/-ldl//g' \
-		-Ee '/ac_config_files/s:(usb_stream|arcam-av)/Makefile::g' \
-		-e '/CONFIG_FILES/ { /usb_stream/d; /arcam-av/d; }' \
 		${WRKSRC}/configure
-	${REINPLACE_CMD} \
-		'/SUBDIRS/ { s/usb_stream//g; s/arcam-av//g; }' \
-		${WRKSRC}/Makefile.in
=20
 .include <bsd.port.mk>
Index: audio/alsa-plugins/distinfo
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-plugins/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- audio/alsa-plugins/distinfo	19 Mar 2011 12:27:46 -0000	1.2
+++ audio/alsa-plugins/distinfo	13 Jul 2012 22:35:06 -0000
@@ -1,2 +1,2 @@
-SHA256 (alsa-plugins-1.0.23.tar.bz2) =3D 5c1b2791ad33ef01f0f4f040004c93131=
0da05e45aaa8d4146024c586f2b3183
-SIZE (alsa-plugins-1.0.23.tar.bz2) =3D 326504
+SHA256 (alsa-plugins-1.0.25.tar.bz2) =3D a0e374fd6d5ee9683473a5b6e73dadde6=
1d54851065ed670d6627d344b565aab
+SIZE (alsa-plugins-1.0.25.tar.bz2) =3D 331568
Index: audio/alsa-plugins/pkg-plist
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-plugins/pkg-plist,v
retrieving revision 1.1
diff -u -p -r1.1 pkg-plist
--- audio/alsa-plugins/pkg-plist	5 Jun 2010 12:46:16 -0000	1.1
+++ audio/alsa-plugins/pkg-plist	14 Jul 2012 00:17:40 -0000
@@ -1,5 +1,7 @@
 %%PULSE%%lib/alsa-lib/libasound_module_conf_pulse.la
 %%PULSE%%lib/alsa-lib/libasound_module_conf_pulse.so
+lib/alsa-lib/libasound_module_ctl_arcam_av.la
+lib/alsa-lib/libasound_module_ctl_arcam_av.so
 lib/alsa-lib/libasound_module_ctl_oss.la
 lib/alsa-lib/libasound_module_ctl_oss.so
 %%PULSE%%lib/alsa-lib/libasound_module_ctl_pulse.la
@@ -16,6 +18,8 @@ lib/alsa-lib/libasound_module_pcm_oss.so
 %%SPEEX%%lib/alsa-lib/libasound_module_pcm_speex.so
 lib/alsa-lib/libasound_module_pcm_upmix.la
 lib/alsa-lib/libasound_module_pcm_upmix.so
+lib/alsa-lib/libasound_module_pcm_usb_stream.la
+lib/alsa-lib/libasound_module_pcm_usb_stream.so
 lib/alsa-lib/libasound_module_pcm_vdownmix.la
 lib/alsa-lib/libasound_module_pcm_vdownmix.so
 %%LAVC%%lib/alsa-lib/libasound_module_rate_lavcrate.la
@@ -34,3 +38,5 @@ lib/alsa-lib/libasound_module_pcm_vdownm
 %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate.so
 %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate_best.so
 %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate_medium.so
+%%PULSE%%share/alsa/alsa.conf.d/50-pulseaudio.conf
+%%PULSE%%share/alsa/alsa.conf.d/99-pulseaudio-default.conf.example
Index: audio/alsa-plugins/files/alsa-plugins-getiptrfix.patch
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: audio/alsa-plugins/files/alsa-plugins-getiptrfix.patch
diff -N audio/alsa-plugins/files/alsa-plugins-getiptrfix.patch
--- audio/alsa-plugins/files/alsa-plugins-getiptrfix.patch	7 May 2012 15:23=
:52 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,564 +0,0 @@
---- jack/pcm_jack.c.orig	2009-09-16 04:33:36.000000000 +0800
-+++ jack/pcm_jack.c	2009-09-16 04:33:55.000000000 +0800
-@@ -20,7 +20,9 @@
-  *
-  */
-=20
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include <sys/shm.h>
- #include <sys/types.h>
- #include <sys/socket.h>
---- oss/ctl_oss.c.orig	2009-08-31 21:09:41.000000000 +0800
-+++ oss/ctl_oss.c	2009-09-15 01:07:51.000000000 +0800
-@@ -26,7 +26,11 @@
- #include <sys/ioctl.h>
- #include <alsa/asoundlib.h>
- #include <alsa/control_external.h>
-+#ifdef __FreeBSD__
-+#include <sys/soundcard.h>
-+#else
- #include <linux/soundcard.h>
-+#endif
-=20
- typedef struct snd_ctl_oss {
- 	snd_ctl_ext_t ext;
-@@ -362,7 +366,9 @@
- {
- 	snd_config_iterator_t it, next;
- 	const char *device =3D "/dev/mixer";
-+#ifndef __FreeBSD__
- 	struct mixer_info mixinfo;
-+#endif
- 	int i, err, val;
- 	snd_ctl_oss_t *oss;
-=20=09
-@@ -399,19 +405,29 @@
- 		goto error;
- 	}
-=20
-+#ifndef __FreeBSD__
- 	if (ioctl(oss->fd, SOUND_MIXER_INFO, &mixinfo) < 0) {
- 		err =3D -errno;
- 		SNDERR("Cannot get mixer info for device %s", device);
- 		goto error;
- 	}
-+#endif
-=20
- 	oss->ext.version =3D SND_CTL_EXT_VERSION;
- 	oss->ext.card_idx =3D 0; /* FIXME */
-+#ifdef __FreeBSD__
-+	strncpy(oss->ext.id, "fbsd", sizeof(oss->ext.id) - 1);
-+	strcpy(oss->ext.driver, "FreeBSD/OSS plugin");
-+	strncpy(oss->ext.name, "FreeBSD/OSS", sizeof(oss->ext.name) - 1);
-+	strncpy(oss->ext.longname, "FreeBSD/OSS", sizeof(oss->ext.longname) - 1);
-+	strncpy(oss->ext.mixername, "FreeBSD/OSS", sizeof(oss->ext.mixername) - =
1);
-+#else
- 	strncpy(oss->ext.id, mixinfo.id, sizeof(oss->ext.id) - 1);
- 	strcpy(oss->ext.driver, "OSS-Emulation");
- 	strncpy(oss->ext.name, mixinfo.name, sizeof(oss->ext.name) - 1);
- 	strncpy(oss->ext.longname, mixinfo.name, sizeof(oss->ext.longname) - 1);
- 	strncpy(oss->ext.mixername, mixinfo.name, sizeof(oss->ext.mixername) - 1=
);
-+#endif
- 	oss->ext.poll_fd =3D -1;
- 	oss->ext.callback =3D &oss_ext_callback;
- 	oss->ext.private_data =3D oss;
---- oss/pcm_oss.c.orig	2010-04-16 14:11:10.000000000 +0300
-+++ oss/pcm_oss.c	2012-02-14 19:27:15.833934348 +0200
-@@ -22,17 +22,55 @@
- #include <sys/ioctl.h>
- #include <alsa/asoundlib.h>
- #include <alsa/pcm_external.h>
-+#ifdef __FreeBSD__
-+#include <sys/param.h>
-+#include <sys/soundcard.h>
-+#else
- #include <linux/soundcard.h>
-+#endif
-+
-+#define ARRAY_SIZE(x)	(sizeof(x) / sizeof(*(x)))
-+
-+#ifdef __FreeBSD__
-+/* #define FREEBSD_OSS_BLKCNT_P2	1 */
-+/* #define FREEBSD_OSS_DEBUG_VERBOSE	1 */
-+#undef FREEBSD_OSS_BLKCNT_P2
-+#undef FREEBSD_OSS_DEBUG_VERBOSE
-+
-+#define FREEBSD_OSS_RATE_MIN	1
-+#define FREEBSD_OSS_RATE_MAX	384000
-+
-+#define FREEBSD_OSS_CHANNELS_MIN	1
-+#if __FreeBSD_version >=3D 800096
-+#define FREEBSD_OSS_CHANNELS_MAX	8
-+#else
-+#define FREEBSD_OSS_CHANNELS_MAX	2
-+#endif
-+
-+#define FREEBSD_OSS_BUFSZ_MAX	131072
-+#define FREEBSD_OSS_BLKCNT_MIN	2
-+#define FREEBSD_OSS_BLKSZ_MIN	16 /* (FREEBSD_OSS_CHANNEL_MAX * 4) */
-+
-+#define FREEBSD_OSS_BUFSZ_MIN	(FREEBSD_OSS_BLKCNT_MIN * FREEBSD_OSS_BLKSZ=
_MIN)
-+#define FREEBSD_OSS_BLKCNT_MAX	(FREEBSD_OSS_BUFSZ_MAX / FREEBSD_OSS_BUFSZ=
_MIN)
-+#define FREEBSD_OSS_BLKSZ_MAX	(FREEBSD_OSS_BUFSZ_MAX / FREEBSD_OSS_BLKCNT=
_MIN)
-+#endif
-=20
- typedef struct snd_pcm_oss {
- 	snd_pcm_ioplug_t io;
- 	char *device;
- 	int fd;
-+#ifdef __FreeBSD__
-+	int bufsz, ptr, ptr_align, last_bytes;
-+#else
- 	int fragment_set;
- 	int caps;
-+#endif
- 	int format;
-+#ifndef __FreeBSD__
- 	unsigned int period_shift;
- 	unsigned int periods;
-+#endif
- 	unsigned int frame_bytes;
- } snd_pcm_oss_t;
-=20
-@@ -49,8 +87,13 @@
- 	buf =3D (char *)areas->addr + (areas->first + areas->step * offset) / 8;
- 	size *=3D oss->frame_bytes;
- 	result =3D write(oss->fd, buf, size);
-+#ifdef __FreeBSD__
-+	if (result =3D=3D -1)
-+		return -errno;
-+#else
- 	if (result <=3D 0)
- 		return result;
-+#endif
- 	return result / oss->frame_bytes;
- }
-=20
-@@ -67,8 +110,13 @@
- 	buf =3D (char *)areas->addr + (areas->first + areas->step * offset) / 8;
- 	size *=3D oss->frame_bytes;
- 	result =3D read(oss->fd, buf, size);
-+#ifdef __FreeBSD__
-+	if (result =3D=3D -1)
-+		return -errno;
-+#else
- 	if (result <=3D 0)
- 		return result;
-+#endif
- 	return result / oss->frame_bytes;
- }
-=20
-@@ -93,12 +141,21 @@
- 	int tmp =3D io->stream =3D=3D SND_PCM_STREAM_PLAYBACK ?
- 		PCM_ENABLE_OUTPUT : PCM_ENABLE_INPUT;
-=20
-+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
-+	fprintf(stderr, "%s()\n", __func__);
-+#endif
-+
- 	if (ioctl(oss->fd, SNDCTL_DSP_SETTRIGGER, &tmp) < 0) {
- 		fprintf(stderr, "*** OSS: trigger failed\n");
-+#ifdef __FreeBSD__
-+		return -EINVAL;
-+#else
- 		if (io->stream =3D=3D SND_PCM_STREAM_CAPTURE)
- 			/* fake read to trigger */
- 			read(oss->fd, &tmp, 0);
-+#endif
- 	}
-+
- 	return 0;
- }
-=20
-@@ -107,6 +164,10 @@
- 	snd_pcm_oss_t *oss =3D io->private_data;
- 	int tmp =3D 0;
-=20
-+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
-+	fprintf(stderr, "%s()\n", __func__);
-+#endif
-+
- 	ioctl(oss->fd, SNDCTL_DSP_SETTRIGGER, &tmp);
- 	return 0;
- }
-@@ -115,16 +176,25 @@
- {
- 	snd_pcm_oss_t *oss =3D io->private_data;
-=20
-+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
-+	fprintf(stderr, "%s()\n", __func__);
-+#endif
-+
- 	if (io->stream =3D=3D SND_PCM_STREAM_PLAYBACK)
- 		ioctl(oss->fd, SNDCTL_DSP_SYNC);
- 	return 0;
- }
-=20
-+#ifndef __FreeBSD__
- static int oss_prepare(snd_pcm_ioplug_t *io)
- {
- 	snd_pcm_oss_t *oss =3D io->private_data;
- 	int tmp;
-=20
-+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
-+	fprintf(stderr, "%s()\n", __func__);
-+#endif
-+
- 	ioctl(oss->fd, SNDCTL_DSP_RESET);
-=20
- 	tmp =3D io->channels;
-@@ -145,16 +215,75 @@
- 	}
- 	return 0;
- }
-+#endif
-+
-+#ifdef __FreeBSD__
-+static const struct {
-+	int oss_format;
-+	snd_pcm_format_t alsa_format;
-+} oss_formats_tab[] =3D {
-+	{ AFMT_U8, SND_PCM_FORMAT_U8 },
-+	{ AFMT_S8, SND_PCM_FORMAT_S8 },
-+	{ AFMT_MU_LAW, SND_PCM_FORMAT_MU_LAW  },
-+	{  AFMT_A_LAW, SND_PCM_FORMAT_A_LAW   },
-+	{ AFMT_S16_LE, SND_PCM_FORMAT_S16_LE  },
-+	{ AFMT_S16_BE, SND_PCM_FORMAT_S16_BE  },
-+	{ AFMT_U16_LE, SND_PCM_FORMAT_U16_LE  },
-+	{ AFMT_U16_BE, SND_PCM_FORMAT_U16_BE  },
-+	{ AFMT_S24_LE, SND_PCM_FORMAT_S24_3LE },
-+	{ AFMT_S24_BE, SND_PCM_FORMAT_S24_3BE },
-+	{ AFMT_U24_LE, SND_PCM_FORMAT_U24_3LE },
-+	{ AFMT_U24_BE, SND_PCM_FORMAT_U24_3BE },
-+	{ AFMT_S32_LE, SND_PCM_FORMAT_S32_LE  },
-+	{ AFMT_S32_BE, SND_PCM_FORMAT_S32_BE  },
-+	{ AFMT_U32_LE, SND_PCM_FORMAT_U32_LE  },
-+	{ AFMT_U32_BE, SND_PCM_FORMAT_U32_BE  },
-+	/* Special */
-+	{ AFMT_S24_LE, SND_PCM_FORMAT_S20_3LE },
-+	{ AFMT_S24_BE, SND_PCM_FORMAT_S20_3BE },
-+	{ AFMT_U24_LE, SND_PCM_FORMAT_U20_3LE },
-+	{ AFMT_U24_BE, SND_PCM_FORMAT_U20_3BE },
-+	{ AFMT_S24_LE, SND_PCM_FORMAT_S18_3LE },
-+	{ AFMT_S24_BE, SND_PCM_FORMAT_S18_3BE },
-+	{ AFMT_U24_LE, SND_PCM_FORMAT_U18_3LE },
-+	{ AFMT_U24_BE, SND_PCM_FORMAT_U18_3BE },
-+	{ AFMT_S32_LE, SND_PCM_FORMAT_S24_LE  },
-+	{ AFMT_S32_BE, SND_PCM_FORMAT_S24_BE  },
-+	{ AFMT_U32_LE, SND_PCM_FORMAT_U24_LE  },
-+	{ AFMT_U32_BE, SND_PCM_FORMAT_U24_BE  },
-+};
-+#endif
-=20
- static int oss_hw_params(snd_pcm_ioplug_t *io,
- 			 snd_pcm_hw_params_t *params ATTRIBUTE_UNUSED)
- {
- 	snd_pcm_oss_t *oss =3D io->private_data;
- 	int i, tmp, err;
-+#ifdef __FreeBSD__
-+	int blksz_shift, blkcnt;
-+	audio_buf_info bi;
-+#else
- 	unsigned int period_bytes;
-+#endif
- 	long oflags, flags;
-=20
-+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
-+	fprintf(stderr, "%s()\n", __func__);
-+#endif
-+
- 	oss->frame_bytes =3D (snd_pcm_format_physical_width(io->format) * io->ch=
annels) / 8;
-+#ifdef __FreeBSD__
-+	oss->ptr_align =3D io->buffer_size * oss->frame_bytes;
-+
-+	oss->format =3D 0;
-+	for (i =3D 0; i < ARRAY_SIZE(oss_formats_tab); i++) {
-+		if (oss_formats_tab[i].alsa_format =3D=3D io->format) {
-+			oss->format =3D oss_formats_tab[i].oss_format;
-+			break;
-+		}
-+	}
-+	if (oss->format =3D=3D 0) {
-+#else
- 	switch (io->format) {
- 	case SND_PCM_FORMAT_U8:
- 		oss->format =3D AFMT_U8;
-@@ -166,9 +295,87 @@
- 		oss->format =3D AFMT_S16_BE;
- 		break;
- 	default:
-+#endif
- 		fprintf(stderr, "*** OSS: unsupported format %s\n", snd_pcm_format_name=
(io->format));
- 		return -EINVAL;
- 	}
-+#ifdef __FreeBSD__
-+
-+	ioctl(oss->fd, SNDCTL_DSP_RESET);
-+
-+#define blksz_aligned()		((1 << blksz_shift) -			\
-+				((1 << blksz_shift) % oss->frame_bytes))
-+	blksz_shift =3D 16;
-+	tmp =3D io->period_size * oss->frame_bytes;
-+
-+	while (blksz_shift > 4 && blksz_aligned() > tmp)
-+		blksz_shift--;
-+
-+	blkcnt =3D 2;
-+	tmp =3D io->buffer_size * oss->frame_bytes;
-+
-+	while (blkcnt < 4096 && (blksz_aligned() * blkcnt) < tmp &&
-+	    ((1 << blksz_shift) * blkcnt) < 131072)
-+		blkcnt <<=3D 1;
-+
-+	tmp =3D blksz_shift | (blkcnt << 16);
-+	if (ioctl(oss->fd, SNDCTL_DSP_SETFRAGMENT, &tmp) < 0) {
-+		perror("SNDCTL_DSP_SETFRAGMENTS");
-+		return -EINVAL;
-+	}
-+
-+	tmp =3D oss->format;
-+	if (ioctl(oss->fd, SNDCTL_DSP_SETFMT, &tmp) < 0 ||
-+	    tmp !=3D oss->format) {
-+		perror("SNDCTL_DSP_SETFMT");
-+		return -EINVAL;
-+	}
-+
-+	tmp =3D io->channels;
-+	if (ioctl(oss->fd, SNDCTL_DSP_CHANNELS, &tmp) < 0 ||
-+	    tmp !=3D io->channels) {
-+		perror("SNDCTL_DSP_CHANNELS");
-+		return -EINVAL;
-+	}
-+
-+	tmp =3D io->rate;
-+	if (ioctl(oss->fd, SNDCTL_DSP_SPEED, &tmp) < 0 ||
-+	    tmp > io->rate * 1.01 || tmp < io->rate * 0.99) {
-+		perror("SNDCTL_DSP_SPEED");
-+		return -EINVAL;
-+	}
-+
-+	if (ioctl(oss->fd, (io->stream =3D=3D SND_PCM_STREAM_PLAYBACK) ?
-+	    SNDCTL_DSP_GETOSPACE : SNDCTL_DSP_GETISPACE, &bi) < 0) {
-+		perror("SNDCTL_DSP_GET[I/O]SPACE");
-+		return -EINVAL;
-+	}
-+
-+	oss->bufsz =3D bi.fragsize * bi.fragstotal;
-+
-+#ifdef SNDCTL_DSP_LOW_WATER
-+	tmp =3D ((io->period_size * oss->frame_bytes) * 3) / 4;
-+	tmp -=3D tmp % oss->frame_bytes;
-+	if (tmp < oss->frame_bytes)
-+		tmp =3D oss->frame_bytes;
-+	if (tmp > bi.fragsize)
-+		tmp =3D bi.fragsize;
-+	if (ioctl(oss->fd, SNDCTL_DSP_LOW_WATER, &tmp) < 0)
-+		perror("SNDCTL_DSP_LOW_WATER");
-+#endif
-+
-+#ifdef FREEBSD_OSS_DEBUG_VERBOSE
-+	fprintf(stderr,
-+	    "\n\n[%lu -> %d] %lu ~ %d -> %d, %lu ~ %d -> %d [d:%ld lw:%d]\n\n",
-+	    io->buffer_size / io->period_size, bi.fragstotal,
-+	    io->buffer_size * oss->frame_bytes,
-+	    (1 << blksz_shift) * blkcnt, oss->bufsz,
-+	    io->period_size * oss->frame_bytes, 1 << blksz_shift,
-+	    bi.fragsize,
-+	    (long)(io->buffer_size * oss->frame_bytes) -
-+	    oss->bufsz, tmp);
-+#endif
-+#else
- 	period_bytes =3D io->period_size * oss->frame_bytes;
- 	oss->period_shift =3D 0;
- 	for (i =3D 31; i >=3D 4; i--) {
-@@ -209,6 +416,7 @@
- 		goto _retry;
- 	}
- 	oss->fragment_set =3D 1;
-+#endif
-=20
- 	if ((flags =3D fcntl(oss->fd, F_GETFL)) < 0) {
- 		err =3D -errno;
-@@ -229,10 +437,128 @@
- 	return 0;
- }
-=20
--#define ARRAY_SIZE(ary)	(sizeof(ary)/sizeof(ary[0]))
--
- static int oss_hw_constraint(snd_pcm_oss_t *oss)
- {
-+#ifdef __FreeBSD__
-+	snd_pcm_ioplug_t *io =3D &oss->io;=20
-+	static const snd_pcm_access_t access_list[] =3D {
-+		SND_PCM_ACCESS_RW_INTERLEAVED,
-+		SND_PCM_ACCESS_MMAP_INTERLEAVED
-+	};
-+#ifdef FREEBSD_OSS_BLKCNT_P2
-+	unsigned int period_list[30];
-+#endif
-+	unsigned int nformats;
-+	unsigned int format[ARRAY_SIZE(oss_formats_tab)];
-+#if 0
-+	unsigned int nchannels;
-+	unsigned int channel[FREEBSD_OSS_CHANNELS_MAX];
-+#endif
-+	int i, err, tmp;
-+
-+#ifdef FREEBSD_OSS_DEBUG_VERBOSE
-+	fprintf(stderr, "%s()\n", __func__);
-+#endif
-+
-+	/* check trigger */
-+	tmp =3D 0;
-+	if (ioctl(oss->fd, SNDCTL_DSP_GETCAPS, &tmp) >=3D 0) {
-+		if (!(tmp & DSP_CAP_TRIGGER))
-+			fprintf(stderr, "*** OSS: trigger is not supported!\n");
-+	}
-+
-+	/* access type - interleaved only */
-+	if ((err =3D snd_pcm_ioplug_set_param_list(io, SND_PCM_IOPLUG_HW_ACCESS,
-+						 ARRAY_SIZE(access_list), access_list)) < 0)
-+		return err;
-+
-+	/* supported formats. */
-+	tmp =3D 0;
-+	ioctl(oss->fd, SNDCTL_DSP_GETFMTS, &tmp);
-+	nformats =3D 0;
-+	for (i =3D 0; i < ARRAY_SIZE(oss_formats_tab); i++) {
-+		if (tmp & oss_formats_tab[i].oss_format)
-+			format[nformats++] =3D oss_formats_tab[i].alsa_format;
-+	}
-+	if (! nformats)
-+		format[nformats++] =3D SND_PCM_FORMAT_S16;
-+	if ((err =3D snd_pcm_ioplug_set_param_list(io, SND_PCM_IOPLUG_HW_FORMAT,
-+						 nformats, format)) < 0)
-+		return err;
-+=09
-+#if 0
-+	/* supported channels */
-+	nchannels =3D 0;
-+	for (i =3D 0; i < ARRAY_SIZE(channel); i++) {
-+		tmp =3D i + 1;
-+		if (ioctl(oss->fd, SNDCTL_DSP_CHANNELS, &tmp) >=3D 0 &&
-+		    1 + i =3D=3D tmp)
-+			channel[nchannels++] =3D tmp;
-+	}
-+	if (! nchannels) /* assume 2ch stereo */
-+		err =3D snd_pcm_ioplug_set_param_minmax(io,
-+		    SND_PCM_IOPLUG_HW_CHANNELS, 2, 2);
-+	else
-+		err =3D snd_pcm_ioplug_set_param_list(io,
-+		    SND_PCM_IOPLUG_HW_CHANNELS, nchannels, channel);
-+	if (err < 0)
-+		return err;
-+#endif
-+	err =3D snd_pcm_ioplug_set_param_minmax(io, SND_PCM_IOPLUG_HW_CHANNELS,
-+	    FREEBSD_OSS_CHANNELS_MIN, FREEBSD_OSS_CHANNELS_MAX);
-+	if (err < 0)
-+		return err;
-+
-+	/* supported rates */
-+	err =3D snd_pcm_ioplug_set_param_minmax(io, SND_PCM_IOPLUG_HW_RATE,
-+	    FREEBSD_OSS_RATE_MIN, FREEBSD_OSS_RATE_MAX);
-+	if (err < 0)
-+		return err;
-+
-+	/*
-+	 *  Maximum buffer size on FreeBSD can go up to 131072 bytes without
-+	 *  strict ^2 alignment so that s24le in 3bytes packing can be fed
-+	 *  directly.
-+	 */
-+
-+#ifdef FREEBSD_OSS_BLKCNT_P2
-+	tmp =3D 0;
-+	for (i =3D 1; i < 31 && tmp < ARRAY_SIZE(period_list); i++) {
-+		if ((1 << i) > FREEBSD_OSS_BLKCNT_MAX)
-+			break;
-+		if ((1 << i) < FREEBSD_OSS_BLKCNT_MIN)
-+			continue;
-+		period_list[tmp++] =3D 1 << i;
-+	}
-+
-+	if (tmp > 0)
-+		err =3D snd_pcm_ioplug_set_param_list(io,
-+		    SND_PCM_IOPLUG_HW_PERIODS, tmp, period_list);
-+	else
-+#endif
-+	/* periods , not strictly ^2 but later on will be refined */
-+		err =3D snd_pcm_ioplug_set_param_minmax(io,
-+		    SND_PCM_IOPLUG_HW_PERIODS, FREEBSD_OSS_BLKCNT_MIN,
-+		    FREEBSD_OSS_BLKCNT_MAX);
-+	if (err < 0)
-+		return err;
-+
-+	/* period size , not strictly ^2 */
-+	err =3D snd_pcm_ioplug_set_param_minmax(io,
-+	    SND_PCM_IOPLUG_HW_PERIOD_BYTES, FREEBSD_OSS_BLKSZ_MIN,
-+	    FREEBSD_OSS_BLKSZ_MAX);
-+	if (err < 0)
-+		return err;
-+
-+	/* buffer size , not strictly ^2 */
-+	err =3D snd_pcm_ioplug_set_param_minmax(io,
-+	    SND_PCM_IOPLUG_HW_BUFFER_BYTES, FREEBSD_OSS_BUFSZ_MIN,
-+	    FREEBSD_OSS_BUFSZ_MAX);
-+	if (err < 0)
-+		return err;
-+
-+	return 0;
-+#else
- 	snd_pcm_ioplug_t *io =3D &oss->io;=20
- 	static const snd_pcm_access_t access_list[] =3D {
- 		SND_PCM_ACCESS_RW_INTERLEAVED,
-@@ -317,6 +643,7 @@
- 		return err;
-=20
- 	return 0;
-+#endif
- }
-=20
-=20
-@@ -324,6 +651,10 @@
- {
- 	snd_pcm_oss_t *oss =3D io->private_data;
-=20
-+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
-+	fprintf(stderr, "%s()\n", __func__);
-+#endif
-+
- 	close(oss->fd);
- 	free(oss->device);
- 	free(oss);
-@@ -337,7 +668,9 @@
- 	.pointer =3D oss_pointer,
- 	.close =3D oss_close,
- 	.hw_params =3D oss_hw_params,
-+#ifndef __FreeBSD__
- 	.prepare =3D oss_prepare,
-+#endif
- 	.drain =3D oss_drain,
- };
-=20
-@@ -348,7 +681,9 @@
- 	.pointer =3D oss_pointer,
- 	.close =3D oss_close,
- 	.hw_params =3D oss_hw_params,
-+#ifndef __FreeBSD__
- 	.prepare =3D oss_prepare,
-+#endif
- 	.drain =3D oss_drain,
- };
-=20
-@@ -360,6 +695,10 @@
- 	int err;
- 	snd_pcm_oss_t *oss;
-=20=09
-+#if defined(__FreeBSD__) && defined(FREEBSD_OSS_DEBUG_VERBOSE)
-+	fprintf(stderr, "%s()\n", __func__);
-+#endif
-+
- 	snd_config_for_each(i, next, conf) {
- 		snd_config_t *n =3D snd_config_iterator_entry(i);
- 		const char *id;
Index: audio/alsa-plugins/files/alsa-plugins.patch
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-plugins/files/alsa-plugins.patch,v
retrieving revision 1.1
diff -u -p -r1.1 alsa-plugins.patch
--- audio/alsa-plugins/files/alsa-plugins.patch	7 May 2012 15:23:52 -0000	1=
.1
+++ audio/alsa-plugins/files/alsa-plugins.patch	13 Jul 2012 21:29:57 -0000
@@ -1,29 +1,5 @@
---- jack/pcm_jack.c.orig	2009-09-16 04:33:36.000000000 +0800
-+++ jack/pcm_jack.c	2009-09-16 04:33:55.000000000 +0800
-@@ -20,7 +20,9 @@
-  *
-  */
-=20
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include <sys/shm.h>
- #include <sys/types.h>
- #include <sys/socket.h>
 --- oss/ctl_oss.c.orig	2009-08-31 21:09:41.000000000 +0800
 +++ oss/ctl_oss.c	2009-09-15 01:07:51.000000000 +0800
-@@ -26,7 +26,11 @@
- #include <sys/ioctl.h>
- #include <alsa/asoundlib.h>
- #include <alsa/control_external.h>
-+#ifdef __FreeBSD__
-+#include <sys/soundcard.h>
-+#else
- #include <linux/soundcard.h>
-+#endif
-=20
- typedef struct snd_ctl_oss {
- 	snd_ctl_ext_t ext;
 @@ -362,7 +366,9 @@
  {
  	snd_config_iterator_t it, next;
@@ -66,15 +42,13 @@
  	oss->ext.private_data =3D oss;
 --- oss/pcm_oss.c.orig	2009-08-31 21:09:41.000000000 +0800
 +++ oss/pcm_oss.c	2009-09-28 14:54:12.000000000 +0800
-@@ -22,17 +22,57 @@
+@@ -22,17 +22,55 @@
  #include <sys/ioctl.h>
  #include <alsa/asoundlib.h>
  #include <alsa/pcm_external.h>
+ #include <linux/soundcard.h>
 +#ifdef __FreeBSD__
 +#include <sys/param.h>
-+#include <sys/soundcard.h>
-+#else
- #include <linux/soundcard.h>
 +#endif
 +
 +#define ARRAY_SIZE(x)	(sizeof(x) / sizeof(*(x)))
Index: audio/alsa-plugins/files/patch-arcam-av-arcam_av.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: audio/alsa-plugins/files/patch-arcam-av-arcam_av.c
diff -N audio/alsa-plugins/files/patch-arcam-av-arcam_av.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ audio/alsa-plugins/files/patch-arcam-av-arcam_av.c	13 Jul 2012 23:10:20=
 -0000
@@ -0,0 +1,19 @@
+--- arcam-av/arcam_av.c~
++++ arcam-av/arcam_av.c
+@@ -27,6 +27,7 @@
+ #include <signal.h>
+ #include <stddef.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <termios.h>
+ #include <unistd.h>
+=20
+@@ -37,6 +38,8 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+=20
++#define AF_FILE     AF_UNIX
++
+ #define MIN(a, b)     ((a) < (b) ? (a) : (b))
+ #define MAX(a, b)     ((a) > (b) ? (a) : (b))
+=20
Index: audio/alsa-plugins/files/patch-configure
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-plugins/files/patch-configure,v
retrieving revision 1.1
diff -u -p -r1.1 patch-configure
--- audio/alsa-plugins/files/patch-configure	5 Jun 2010 12:46:16 -0000	1.1
+++ audio/alsa-plugins/files/patch-configure	14 Jul 2012 01:26:02 -0000
@@ -1,31 +1,10 @@
 --- configure.orig	2010-04-16 13:18:56.000000000 +0200
 +++ configure	2010-05-11 00:08:29.000000000 +0200
-@@ -21249,6 +21249,20 @@
-=20
-=20
-=20
-+
-+
-+
-+# Check whether --with-speex was given.
-+if test "${with_speex+set}" =3D set; then
-+  withval=3D$with_speex; PPH=3D$withval
-+else
-+  PPH=3D"lib"
-+fi
-+
-+
-+USE_LIBSPEEX=3D""
-+HAVE_SPEEXDSP=3D""
-+if test "$PPH" =3D "lib"; then
- pkg_failed=3Dno
- { echo "$as_me:$LINENO: checking for speexdsp" >&5
- echo $ECHO_N "checking for speexdsp... $ECHO_C" >&6; }
-@@ -21319,26 +21333,6 @@
+@@ -19608,14 +19608,6 @@ else
+ $as_echo "yes" >&6; }
+ 	HAVE_SPEEXDSP=3D"yes"
  fi
-=20
-=20
--if test "$HAVE_SPEEXDSP" =3D "yes"; then
+- if test "$HAVE_SPEEXDSP" =3D "yes"; then
 -  HAVE_SPEEXDSP_TRUE=3D
 -  HAVE_SPEEXDSP_FALSE=3D'#'
 -else
@@ -33,32 +12,22 @@
 -  HAVE_SPEEXDSP_FALSE=3D
 -fi
 -
--
--
--# Check whether --with-speex was given.
--if test "${with_speex+set}" =3D set; then
--  withval=3D$with_speex; PPH=3D$withval
--else
--  PPH=3D"lib"
--fi
--
--
--USE_LIBSPEEX=3D""
--if test "$PPH" =3D "lib"; then
- 	if test "$HAVE_SPEEXDSP" =3D "yes"; then
- 		{ echo "$as_me:$LINENO: checking for speex_resampler_init in -lspeexdsp=
" >&5
- echo $ECHO_N "checking for speex_resampler_init in -lspeexdsp... $ECHO_C"=
 >&6; }
-@@ -21437,6 +21431,13 @@
+=20
+=20
+ # Check whether --with-speex was given.
+@@ -19626,6 +19618,15 @@ else
  fi
=20=20
=20=20
-+if test "$HAVE_SPEEXDSP" =3D "yes"; then
++ if test "$HAVE_SPEEXDSP" =3D "yes" -a "$PPH" !=3D "no"; then
 +  HAVE_SPEEXDSP_TRUE=3D
 +  HAVE_SPEEXDSP_FALSE=3D'#'
 +else
 +  HAVE_SPEEXDSP_TRUE=3D'#'
 +  HAVE_SPEEXDSP_FALSE=3D
 +fi
-=20
- if test "$PPH" =3D "builtin" -o "$PPH" =3D "lib"; then
-   HAVE_PPH_TRUE=3D
++
++
+ USE_LIBSPEEX=3D""
+ if test "$PPH" =3D "lib"; then
+ 	if test "$HAVE_SPEEXDSP" =3D "yes"; then
Index: audio/alsa-plugins/files/patch-jack-pcm_jack.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: audio/alsa-plugins/files/patch-jack-pcm_jack.c
diff -N audio/alsa-plugins/files/patch-jack-pcm_jack.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ audio/alsa-plugins/files/patch-jack-pcm_jack.c	14 Jul 2012 04:33:44 -00=
00
@@ -0,0 +1,12 @@
+--- jack/pcm_jack.c.orig	2009-09-16 04:33:36.000000000 +0800
++++ jack/pcm_jack.c	2009-09-16 04:33:55.000000000 +0800
+@@ -20,7 +20,9 @@
+  *
+  */
+=20
++#ifndef __FreeBSD__
+ #include <byteswap.h>
++#endif
+ #include <sys/shm.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
Index: audio/alsa-plugins/files/patch-oss-ctl_oss.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: audio/alsa-plugins/files/patch-oss-ctl_oss.c
diff -N audio/alsa-plugins/files/patch-oss-ctl_oss.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ audio/alsa-plugins/files/patch-oss-ctl_oss.c	13 Jul 2012 21:29:57 -0000
@@ -0,0 +1,16 @@
+$NetBSD: patch-ab,v 1.1.1.1 2008/12/19 04:03:22 jmcneill Exp $
+
+--- oss/ctl_oss.c.orig	2008-10-29 08:42:13.000000000 -0400
++++ oss/ctl_oss.c
+@@ -26,7 +26,11 @@
+ #include <sys/ioctl.h>
+ #include <alsa/asoundlib.h>
+ #include <alsa/control_external.h>
++#ifdef __linux__
+ #include <linux/soundcard.h>
++#else
++#include <sys/soundcard.h>
++#endif
+=20
+ typedef struct snd_ctl_oss {
+ 	snd_ctl_ext_t ext;
Index: audio/alsa-plugins/files/patch-oss-pcm_oss.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: audio/alsa-plugins/files/patch-oss-pcm_oss.c
diff -N audio/alsa-plugins/files/patch-oss-pcm_oss.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ audio/alsa-plugins/files/patch-oss-pcm_oss.c	13 Jul 2012 21:29:57 -0000
@@ -0,0 +1,31 @@
+$NetBSD: patch-ac,v 1.1.1.1 2008/12/19 04:03:22 jmcneill Exp $
+
+--- oss/pcm_oss.c.orig	2008-10-29 08:42:13.000000000 -0400
++++ oss/pcm_oss.c
+@@ -22,4 +22,8 @@
+ #include <sys/ioctl.h>
+ #include <alsa/asoundlib.h>
+ #include <alsa/pcm_external.h>
++#ifdef __linux__
+ #include <linux/soundcard.h>
++#else
++#include <sys/soundcard.h>
++#endif
+@@ -116,7 +120,7 @@ static int oss_drain(snd_pcm_ioplug_t *i
+ 	snd_pcm_oss_t *oss =3D io->private_data;
+=20
+ 	if (io->stream =3D=3D SND_PCM_STREAM_PLAYBACK)
+-		ioctl(oss->fd, SNDCTL_DSP_SYNC);
++		ioctl(oss->fd, SNDCTL_DSP_SYNC, NULL);
+ 	return 0;
+ }
+=20
+@@ -125,7 +129,7 @@ static int oss_prepare(snd_pcm_ioplug_t=20
+ 	snd_pcm_oss_t *oss =3D io->private_data;
+ 	int tmp;
+=20
+-	ioctl(oss->fd, SNDCTL_DSP_RESET);
++	ioctl(oss->fd, SNDCTL_DSP_RESET, NULL);
+=20
+ 	tmp =3D io->channels;
+ 	if (ioctl(oss->fd, SNDCTL_DSP_CHANNELS, &tmp) < 0) {
Index: audio/alsa-plugins/files/patch-usb_stream-pcm_usb_stream.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: audio/alsa-plugins/files/patch-usb_stream-pcm_usb_stream.c
diff -N audio/alsa-plugins/files/patch-usb_stream-pcm_usb_stream.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ audio/alsa-plugins/files/patch-usb_stream-pcm_usb_stream.c	14 Jul 2012 =
03:03:54 -0000
@@ -0,0 +1,96 @@
+based on https://github.com/dankamongmen/libdank/blob/master/libdank/compa=
t-FreeBSD.c
+
+--- usb_stream/pcm_usb_stream.c~
++++ usb_stream/pcm_usb_stream.c
+@@ -18,7 +18,9 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 U=
SA
+  */
+=20
++#ifndef __FreeBSD__
+ #include <byteswap.h>
++#endif
+ #define _GNU_SOURCE
+ #include <sys/mman.h>
+ #include <sys/shm.h>
+@@ -79,6 +81,69 @@ typedef struct {
+ static struct user_usb_stream *uus;
+ static pthread_mutex_t uus_mutex =3D PTHREAD_MUTEX_INITIALIZER;
+=20
++#ifdef __FreeBSD__
++/*
++ * Copyright (c) 2000-2011, Nick Black et al
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are=
 met:
++ *     * Redistributions of source code must retain the above copyright
++ *       notice, this list of conditions and the following disclaimer.
++ *     * Redistributions in binary form must reproduce the above copyright
++ *       notice, this list of conditions and the following disclaimer in =
the
++ *       documentation and/or other materials provided with the distribut=
ion.
++ *     * Neither the name of Nick Black nor the names of other contributo=
rs may
++ *	be used to endorse or promote products derived from this software
++ *	without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIE=
S,
++ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILI=
TY AND
++ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <co=
pyright
++ * holder> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMP=
LARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINE=
SS
++ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF=
 THE
++ * POSSIBILITY OF SUCH DAMAGE.
++ */
++
++// This is suitable really only for use with libdank's mremap_and_ftrunca=
te(),
++// due to assumptions it makes about the flags to pass to mmap(2). The on=
ly
++// mremap(2) use case addressed is that of MREMAP_MAYMOVE. oldaddr must b=
e a
++// valid previous return from mmap(); NULL is not acceptable (ala Linux's
++// mremap(2)), resulting in undefined behavior, despite realloc(3) semant=
ics.
++// Similarly, oldlen and newlen must be non-zero (and page-aligned).
++void *mremap_compat(int fd,void *oldaddr,size_t oldlen,
++				size_t newlen,int prot,int flags){
++	void *ret;
++
++	// From mmap(2) on freebsd 6.3: A successful FIXED mmap deletes any
++	// previous mapping in the allocated address range. This means:
++	// remapping over a current map will blow it away (unless FIXED isn't
++	// provided, in which case it can't overlap an old mapping. See bug
++	// 733 for extensive discussion of this issue for Linux and FreeBSD).
++	if((ret =3D mmap((char *)oldaddr + oldlen,newlen - oldlen,prot,flags,fd,=
oldlen)) =3D=3D MAP_FAILED){
++		// We couldn't get the memory whatsoever (or we were a fresh
++		// allocation that succeeded). Return the immediate result...
++		return ret;
++	} // ret !=3D MAP_FAILED. Did we squash?
++	if(ret !=3D (char *)oldaddr + oldlen){
++		// We got the memory, but not where we wanted it. Copy over the
++		// old map, and then free it up...
++		munmap(ret,newlen - oldlen);
++		if((ret =3D mmap(NULL,newlen,prot,flags,fd,0)) =3D=3D MAP_FAILED){
++			return ret;
++		}
++		memcpy(ret,oldaddr,oldlen);
++		munmap(oldaddr,oldlen); // Free the old mapping
++		return ret;
++	} // We successfully squashed. Return a pointer to the first buf.
++	return oldaddr;
++}
++#endif
++
+ static struct user_usb_stream *get_uus(const char *card)
+ {
+ 	pthread_mutex_lock(&uus_mutex);
+@@ -219,7 +284,11 @@ static int snd_pcm_us_prepare(snd_pcm_io
+ 		}
+=20
+=20
++#ifndef __FreeBSD__
+ 		uus->s =3D mremap(uus->s, sizeof(struct usb_stream), uus->s->read_size,=
 MREMAP_MAYMOVE);
++#else
++		uus->s =3D mremap_compat(us->pfd.fd, uus->s, sizeof(struct usb_stream),=
 uus->s->read_size, PROT_READ, MAP_SHARED);
++#endif
+ 		if (MAP_FAILED =3D=3D uus->s) {
+ 			perror("ALSA/USX2Y: mmap");
+ 			return -EPERM;
Index: audio/alsa-utils/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-utils/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- audio/alsa-utils/Makefile	23 Sep 2011 22:20:56 -0000	1.5
+++ audio/alsa-utils/Makefile	14 Jul 2012 03:40:56 -0000
@@ -6,8 +6,7 @@
 #
=20
 PORTNAME=3D	alsa-utils
-PORTVERSION=3D	1.0.23
-PORTREVISION=3D	1
+PORTVERSION=3D	1.0.25
 CATEGORIES=3D	audio
 MASTER_SITES=3D	ftp://ftp.silug.org/pub/alsa/utils/ \
 		ftp://gd.tuwien.ac.at/opsys/linux/alsa/utils/ \
@@ -24,24 +23,26 @@ USE_GMAKE=3D	yes
 GNU_CONFIGURE=3D	yes
 CFLAGS+=3D	-I${LOCALBASE}/include
=20
-MAN1_EN=3D	aconnect.1 alsactl.1 alsamixer.1 amidi.1 amixer.1 aplay.1 aplay=
midi.1 \
+MAN1_EN=3D	aconnect.1 alsactl.1 alsaloop.1 alsamixer.1 amidi.1 amixer.1 ap=
lay.1 aplaymidi.1 \
 		arecordmidi.1 aseqdump.1 aseqnet.1 iecset.1 speaker-test.1
 MAN8=3D		alsaconf.8
 MLINKS=3D		aplay.1 arecord.1
 _MANPAGES+=3D	${PREFIX}/man/fr/man8/${MAN8}
=20
-OPTIONS=3D	XMLTO "Generate alsactl_init(7) man page using xmlto(1)" On
+OPTIONS_DEFINE=3D	XMLTO
+OPTIONS_DEFAULT=3DXMLTO
+XMLTO_DESC=3D	Generate alsactl_init(7) man page using xmlto(1)
=20
 .include <bsd.port.options.mk>
=20
-.if defined(WITH_XMLTO)
+.if ${PORT_OPTIONS:MXMLTO}
 BUILD_DEPENDS+=3D	xmlto:${PORTSDIR}/textproc/xmlto
 MAN7_EN+=3D	alsactl_init.7
 .else
 CONFIGURE_ARGS+=3D--disable-xmlto
 .endif
=20
-.if defined(WITHOUT_NLS)
+.if ! ${PORT_OPTIONS:MNLS}
 LDFLAGS+=3D	-L${LOCALBASE}/lib
 CONFIGURE_ARGS+=3D--disable-nls
 PLIST_SUB+=3D	NLS=3D"@comment "
@@ -53,6 +54,9 @@ PLIST_SUB+=3D	NLS=3D""
=20
 post-patch:	.SILENT
 	${REINPLACE_CMD} '/LIBS/s/-ldl//g' ${WRKSRC}/configure
+	${REINPLACE_CMD} -e '/install-data-am:/,/^$$/ \
+		s/install-dist_udevrulesDATA//' \
+		${WRKSRC}/alsactl/Makefile.in
 	${FIND} -E ${WRKSRC} -type f -regex \
 		'.*\.([[:digit:]]|spec\.in|csv|xml)' -exec \
 		${REINPLACE_CMD} -e 's|/usr/share|${PREFIX}/share|g' \
Index: audio/alsa-utils/distinfo
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-utils/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- audio/alsa-utils/distinfo	19 Mar 2011 12:27:46 -0000	1.2
+++ audio/alsa-utils/distinfo	14 Jul 2012 00:39:03 -0000
@@ -1,2 +1,2 @@
-SHA256 (alsa-utils-1.0.23.tar.bz2) =3D b7d05e915e25f8540ad151c6dd558cf0fc1=
e9bb0ee23052d531c983666a1f7b0
-SIZE (alsa-utils-1.0.23.tar.bz2) =3D 1076937
+SHA256 (alsa-utils-1.0.25.tar.bz2) =3D 2e676a2f634bbfe279b260e10a96f617cb7=
2ee63c5bbf6c5f96bb615705b302c
+SIZE (alsa-utils-1.0.25.tar.bz2) =3D 1132780
Index: audio/alsa-utils/pkg-plist
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-utils/pkg-plist,v
retrieving revision 1.4
diff -u -p -r1.4 pkg-plist
--- audio/alsa-utils/pkg-plist	13 Aug 2010 03:10:17 -0000	1.4
+++ audio/alsa-utils/pkg-plist	14 Jul 2012 01:40:51 -0000
@@ -1,5 +1,7 @@
 bin/aconnect
+bin/alsaloop
 bin/alsamixer
+bin/alsaucm
 bin/amidi
 bin/amixer
 bin/aplay
@@ -20,6 +22,7 @@ share/alsa/init/info
 share/alsa/init/test
 share/alsa/speaker-test/sample_map.csv
 %%NLS%%share/locale/de/LC_MESSAGES/alsa-utils.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/alsa-utils.mo
 %%NLS%%share/locale/ja/LC_MESSAGES/alsa-utils.mo
 %%NLS%%share/locale/ja/LC_MESSAGES/alsaconf.mo
 %%NLS%%share/locale/ru/LC_MESSAGES/alsaconf.mo
Index: audio/alsa-utils/files/patch-alsa-utils
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /a/.csup/ports/audio/alsa-utils/files/patch-alsa-utils,v
retrieving revision 1.1
diff -u -p -r1.1 patch-alsa-utils
--- audio/alsa-utils/files/patch-alsa-utils	5 Jun 2010 12:49:01 -0000	1.1
+++ audio/alsa-utils/files/patch-alsa-utils	14 Jul 2012 01:06:50 -0000
@@ -1,3 +1,62 @@
+--- alsaloop/alsaloop.c~
++++ alsaloop/alsaloop.c
+@@ -30,6 +30,7 @@
+ #include <sys/time.h>
+ #include <math.h>
+ #include <pthread.h>
++#include <signal.h>
+ #include <syslog.h>
+ #include <sys/signal.h>
+ #include "alsaloop.h"
+@@ -749,7 +750,11 @@ static void thread_job1(void *_data)
+ 			snd_output_printf(output, "pool took %lius\n", timediff(tv2, tv1));
+ 		}
+ 		if (err < 0) {
++#ifndef __FreeBSD__
+ 			if (err =3D=3D -EINTR || err =3D=3D -ERESTART)
++#else
++			if (err =3D=3D -EINTR)
++#endif
+ 				continue;
+ 			logit(LOG_CRIT, "Poll failed: %s\n", strerror(-err));
+ 			my_exit(thread, EXIT_FAILURE);
+--- alsaloop/pcmjob.c~
++++ alsaloop/pcmjob.c
+@@ -63,7 +63,11 @@ static const char *src_types[] =3D {
+ #endif
+=20
+ static pthread_mutex_t pcm_open_mutex =3D
++#ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+                                 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
++#else
++                                PTHREAD_MUTEX_INITIALIZER;
++#endif
+=20
+ static inline void pcm_open_lock(void)
+ {
+--- alsamixer/mixer_display.c~
++++ alsamixer/mixer_display.c
+@@ -17,7 +17,9 @@
+  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+  */
+=20
++#ifndef __FreeBSD__
+ #define _C99_SOURCE /* lrint() */
++#endif
+ #include "aconfig.h"
+ #include <stdlib.h>
+ #include <string.h>
+--- alsamixer/volume_mapping.c~
++++ alsamixer/volume_mapping.c
+@@ -37,7 +37,7 @@
+ #include <stdbool.h>
+ #include "volume_mapping.h"
+=20
+-#ifdef __UCLIBC__
++#if defined(__UCLIBC__) || defined(__FreeBSD__)
+ /* 10^x =3D 10^(log e^x) =3D (e^x)^log10 =3D e^(x * log 10) */
+ #define exp10(x) (exp((x) * log(10)))
+ #endif /* __UCLIBC__ */
 --- aplay/aplay.c.orig	2010-04-16 13:11:06.000000000 +0200
 +++ aplay/aplay.c	2010-04-23 04:17:13.000000000 +0200
 @@ -28,7 +28,9 @@
@@ -10,14 +69,14 @@
  #include <unistd.h>
  #include <stdlib.h>
  #include <string.h>
-@@ -45,7 +47,11 @@
- #include <sys/uio.h>
- #include <sys/time.h>
+@@ -48,7 +50,11 @@
  #include <sys/signal.h>
-+#ifndef __FreeBSD__
- #include <asm/byteorder.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#ifdef __FreeBSD__
++#include <sys/endian.h>
 +#else
-+#include <sys/stat.h>
+ #include <endian.h>
 +#endif
  #include "aconfig.h"
  #include "gettext.h"
--- update.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1SpuDX-0006n1-1C>