Bug 145965

Summary: New port: audio/alsa-plugins Compatibility layer for ALSA support
Product: Ports & Packages Reporter: Aragon Gouveia <aragon>
Component: Individual Port(s)Assignee: Dima Panov <fluffy>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
alsa-plugins.shar
none
alsa-plugins.txt
none
plugins-3.txt none

Description Aragon Gouveia 2010-04-23 04:40:00 UTC
	This port provides FreeBSD with a compatibility layer for software that depends on ALSA support.  It is based entirely on ariff@'s work at http://people.freebsd.org/~ariff/libasound/, but has been updated for the latest version of ALSA.

	Chromium for FreeBSD is an immediate beneficiary of this.

	This depends on ports/145964.

	Special thanks to sprewell@jaggeri.com for testing this, and ariff@ for making it!
Comment 1 Dima Panov freebsd_committer freebsd_triage 2010-04-23 08:04:48 UTC
Responsible Changed
From-To: freebsd-ports-bugs->fluffy

I'll take it.
Comment 2 swell.k 2010-05-08 16:50:06 UTC
- speex dependency, do we need it?
- @dirrm lib/alsa-lib belongs to audio/alsa-lib port which this one
  depends on

>How-To-Repeat:
$ make deinstall
===>  Switching to root credentials for 'deinstall' target
===>  Deinstalling for audio/alsa-plugins
===>   Deinstalling alsa-plugins-1.0.23
pkg_delete: file '/usr/pkg/lib/alsa-lib/libasound_module_pcm_speex.so'
doesn't exist
pkg_delete: file '/usr/pkg/lib/alsa-lib/libasound_module_pcm_speex.la'
doesn't exist
pkg_delete: unable to completely remove directory
'/usr/pkg/lib/alsa-lib'
pkg_delete: couldn't entirely delete package (perhaps the packing list
is
incorrectly specified?)
===>  Returning to user credentials

--- a.diff begins here ---
--- audio/alsa-plugins/Makefile~
+++ audio/alsa-plugins/Makefile
@@ -13,11 +13,13 @@ MASTER_SITES=	ftp://ftp.silug.org/pub/al
 MAINTAINER=	aragon@phat.za.net
 COMMENT=	ALSA compatibility library plugins
 
-LIB_DEPENDS=	asound.2:${PORTSDIR}/audio/alsa-lib
+LIB_DEPENDS=	asound.2:${PORTSDIR}/audio/alsa-lib \
+		speex.1:${PORTSDIR}/audio/speex
 USE_BZIP2=	yes
 HAS_CONFIGURE=	yes
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS+=	--disable-jack --disable-pulseaudio --disable-samplerate
+CONFIGURE_ARGS+=--disable-jack --disable-pulseaudio --disable-samplerate \
+		--with-speex=lib
 CONFIGURE_ENV=	LDFLAGS="-L${LOCALBASE}/lib"
 
 .include <bsd.port.mk>
--- audio/alsa-plugins/pkg-plist~
+++ audio/alsa-plugins/pkg-plist
@@ -12,4 +12,3 @@ lib/alsa-lib/libasound_module_rate_speex
 lib/alsa-lib/libasound_module_rate_speexrate.la
 lib/alsa-lib/libasound_module_pcm_speex.so
 lib/alsa-lib/libasound_module_pcm_speex.la
-@dirrm lib/alsa-lib
--- a.diff ends here ---
Comment 3 Aragon Gouveia 2010-05-10 23:19:04 UTC
Thanks.  I've made Speex optional (and off by default) with attached patch.
Comment 4 swell.k 2010-05-11 08:46:43 UTC
- reduce patches against pre generated files, leaving only
  speex-specific to be wary of during updates
- add LAVC knob
- configure uses pkg-config
- remove redundant HAS_CONFIGURE
- remove tab in CONFIGURE_ARGS, prevents line-wrapping in vi/less
  on 80 col terminal
- sort plist

--- a.diff begins here ---
diff --git a/audio/alsa-plugins/Makefile b/audio/alsa-plugins/Makefile
index 71be6a1..e04a4db 100644
--- a/audio/alsa-plugins/Makefile
+++ b/audio/alsa-plugins/Makefile
@@ -15,22 +15,42 @@ COMMENT=	ALSA compatibility library plugins
 
 LIB_DEPENDS=	asound.2:${PORTSDIR}/audio/alsa-lib
 USE_BZIP2=	yes
-HAS_CONFIGURE=	yes
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS+=	--disable-jack --disable-pulseaudio --disable-samplerate
+USE_GNOME=	pkgconfig
+CONFIGURE_ARGS+=--disable-jack --disable-pulseaudio --disable-samplerate
 CONFIGURE_ENV=	LDFLAGS="-L${LOCALBASE}/lib"
 
-OPTIONS=	SPEEX "Speex plugin" Off
+OPTIONS=	LAVC  "libavcodec plugin" off \
+		SPEEX "Speex plugin" Off
 
 .include <bsd.port.options.mk>
 
+.if defined(WITH_LAVC)
+CONFIGURE_ARGS+=	--enable-avcodec
+LIB_DEPENDS+=		avcodec.1:${PORTSDIR}/multimedia/ffmpeg
+PLIST_SUB+=		LAVC=""
+.else
+CONFIGURE_ARGS+=	--disable-avcodec
+PLIST_SUB+=		LAVC="@comment "
+.endif
+
 .if defined(WITH_SPEEX)
 CONFIGURE_ARGS+=	--with-speex=lib
-LIB_DEPENDS+=		speex:${PORTSDIR}/audio/speex
+LIB_DEPENDS+=		speex.1:${PORTSDIR}/audio/speex
 PLIST_SUB+=		SPEEX=""
 .else
 CONFIGURE_ARGS+=	--without-speex
 PLIST_SUB+=		SPEEX="@comment "
 .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
+
 .include <bsd.port.mk>
diff --git a/audio/alsa-plugins/files/patch-alsa-plugins b/audio/alsa-plugins/files/patch-alsa-plugins
index ff86b64..b285aa3 100644
--- a/audio/alsa-plugins/files/patch-alsa-plugins
+++ b/audio/alsa-plugins/files/patch-alsa-plugins
@@ -1,23 +1,3 @@
---- Makefile.in.orig	2009-08-31 21:16:47.000000000 +0800
-+++ Makefile.in	2009-09-14 21:59:01.000000000 +0800
-@@ -67,7 +67,7 @@
- 	uninstall-recursive
- ETAGS = etags
- CTAGS = ctags
--DIST_SUBDIRS = oss mix usb_stream arcam-av doc jack pulse rate a52 \
-+DIST_SUBDIRS = oss mix doc jack pulse rate a52 \
- 	rate-lavc maemo pph speex
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- distdir = $(PACKAGE)-$(VERSION)
-@@ -214,7 +214,7 @@
- speexdsp_LIBS = @speexdsp_LIBS@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
--SUBDIRS = oss mix usb_stream arcam-av doc $(am__append_1) \
-+SUBDIRS = oss mix doc $(am__append_1) \
- 	$(am__append_2) $(am__append_3) $(am__append_4) \
- 	$(am__append_5) $(am__append_6) $(am__append_7)
- EXTRA_DIST = gitcompile version COPYING.GPL m4/attributes.m4
 --- 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 @@
diff --git a/audio/alsa-plugins/files/patch-configure b/audio/alsa-plugins/files/patch-configure
index c3ae5a3..3580160 100644
--- a/audio/alsa-plugins/files/patch-configure
+++ b/audio/alsa-plugins/files/patch-configure
@@ -1,50 +1,5 @@
 --- configure.orig	2010-04-16 13:18:56.000000000 +0200
 +++ configure	2010-05-11 00:08:29.000000000 +0200
-@@ -9645,7 +9645,7 @@
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   ac_check_lib_save_LIBS=$LIBS
--LIBS="-ldl  $LIBS"
-+LIBS="$LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
-@@ -9717,7 +9717,7 @@
- { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
- echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
- if test $ac_cv_lib_dl_dlopen = yes; then
--  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs=""
- else
- 
-     lt_cv_dlopen="dyld"
-@@ -10015,7 +10015,7 @@
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   ac_check_lib_save_LIBS=$LIBS
--LIBS="-ldl  $LIBS"
-+LIBS="$LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
-@@ -10087,7 +10087,7 @@
- { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
- echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
- if test $ac_cv_lib_dl_dlopen = yes; then
--  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs=""
- else
-   { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
- echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
-@@ -20270,7 +20270,7 @@
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   ac_check_lib_save_LIBS=$LIBS
--LIBS="-lasound -ldl $LIBS"
-+LIBS="-lasound $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
 @@ -21249,6 +21249,20 @@
  
  
@@ -107,22 +62,3 @@
  
  if test "$PPH" = "builtin" -o "$PPH" = "lib"; then
    HAVE_PPH_TRUE=
-@@ -21493,7 +21493,7 @@
- echo "${ECHO_T}$SND_PLUGINS_VERSION" >&6; }
- 
- 
--ac_config_files="$ac_config_files Makefile oss/Makefile pph/Makefile jack/Makefile pulse/Makefile mix/Makefile rate/Makefile a52/Makefile rate-lavc/Makefile maemo/Makefile doc/Makefile usb_stream/Makefile speex/Makefile arcam-av/Makefile"
-+ac_config_files="$ac_config_files Makefile oss/Makefile pph/Makefile jack/Makefile pulse/Makefile mix/Makefile rate/Makefile a52/Makefile rate-lavc/Makefile maemo/Makefile doc/Makefile speex/Makefile"
- 
- cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
-@@ -22134,9 +22134,7 @@
-     "rate-lavc/Makefile") CONFIG_FILES="$CONFIG_FILES rate-lavc/Makefile" ;;
-     "maemo/Makefile") CONFIG_FILES="$CONFIG_FILES maemo/Makefile" ;;
-     "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
--    "usb_stream/Makefile") CONFIG_FILES="$CONFIG_FILES usb_stream/Makefile" ;;
-     "speex/Makefile") CONFIG_FILES="$CONFIG_FILES speex/Makefile" ;;
--    "arcam-av/Makefile") CONFIG_FILES="$CONFIG_FILES arcam-av/Makefile" ;;
- 
-   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
- echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
diff --git a/audio/alsa-plugins/pkg-plist b/audio/alsa-plugins/pkg-plist
index 77993c0..2a575db 100644
--- a/audio/alsa-plugins/pkg-plist
+++ b/audio/alsa-plugins/pkg-plist
@@ -1,14 +1,22 @@
-lib/alsa-lib/libasound_module_ctl_oss.so
 lib/alsa-lib/libasound_module_ctl_oss.la
-lib/alsa-lib/libasound_module_pcm_oss.so
+lib/alsa-lib/libasound_module_ctl_oss.so
+%%LAVC%%lib/alsa-lib/libasound_module_pcm_a52.la
+%%LAVC%%lib/alsa-lib/libasound_module_pcm_a52.so
 lib/alsa-lib/libasound_module_pcm_oss.la
-lib/alsa-lib/libasound_module_pcm_upmix.so
+lib/alsa-lib/libasound_module_pcm_oss.so
+%%SPEEX%%lib/alsa-lib/libasound_module_pcm_speex.la
+%%SPEEX%%lib/alsa-lib/libasound_module_pcm_speex.so
 lib/alsa-lib/libasound_module_pcm_upmix.la
-lib/alsa-lib/libasound_module_pcm_vdownmix.so
+lib/alsa-lib/libasound_module_pcm_upmix.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
+%%LAVC%%lib/alsa-lib/libasound_module_rate_lavcrate.so
+%%LAVC%%lib/alsa-lib/libasound_module_rate_lavcrate_fast.so
+%%LAVC%%lib/alsa-lib/libasound_module_rate_lavcrate_faster.so
+%%LAVC%%lib/alsa-lib/libasound_module_rate_lavcrate_high.so
+%%LAVC%%lib/alsa-lib/libasound_module_rate_lavcrate_higher.so
+%%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate.la
+%%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
-%%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate.so
-%%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate.la
-%%SPEEX%%lib/alsa-lib/libasound_module_pcm_speex.so
-%%SPEEX%%lib/alsa-lib/libasound_module_pcm_speex.la
--- a.diff ends here ---
Comment 5 Aragon Gouveia 2010-05-26 19:53:22 UTC
I've tested all patches.  Found a problem with avcodec going undetected 
- patch attached.  Everything else looks good.

Note to committer: ignore the first patch.  Second, third, and forth 
patches to be applied in order.

Thanks!
Comment 6 Dima Panov freebsd_committer freebsd_triage 2010-06-05 13:46:27 UTC
State Changed
From-To: open->closed

New port added. Thanks!
Comment 7 dfilter service freebsd_committer freebsd_triage 2010-06-05 13:46:30 UTC
fluffy      2010-06-05 12:46:16 UTC

  FreeBSD ports repository

  Added files:
    audio/alsa-plugins   Makefile distinfo pkg-descr pkg-plist 
    audio/alsa-plugins/files patch-alsa-plugins patch-configure 
  Log:
  - New port: audio/alsa-plugins Compatibility layer for ALSA support
  
  PR:             145965
  Submitted by:   Aragon Gouveia <aragon AT phat.za.net>
  
  Revision  Changes    Path
  1.1       +88 -0     ports/audio/alsa-plugins/Makefile (new)
  1.1       +3 -0      ports/audio/alsa-plugins/distinfo (new)
  1.1       +670 -0    ports/audio/alsa-plugins/files/patch-alsa-plugins (new)
  1.1       +64 -0     ports/audio/alsa-plugins/files/patch-configure (new)
  1.1       +3 -0      ports/audio/alsa-plugins/pkg-descr (new)
  1.1       +36 -0     ports/audio/alsa-plugins/pkg-plist (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"