Add alsa-lib, with wordexp fixes, closes #486

git-svn-id: svn://svn.openwrt.org/openwrt/packages@4988 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
florian 2006-10-09 14:48:41 +00:00
parent 1f3a993464
commit 3151627767
3 changed files with 293 additions and 0 deletions

71
libs/alsa-lib/Makefile Normal file
View File

@ -0,0 +1,71 @@
#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# $Id: $
include $(TOPDIR)/rules.mk
PKG_NAME:=alsa-lib
PKG_VERSION:=1.0.10
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/lib/
PKG_MD5SUM:=b1a4e15c9ff81798507de470a92fcc43
PKG_CAT:=bzcat
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
include $(INCLUDE_DIR)/package.mk
define Package/alsa-lib
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+alsa
TITLE:=Advanced Linux Sound Architecture Library
DESCRIPTION:=This is the library package for alsa, needed by some userspace programs. You must\\\
have enabled the ALSA support in the kernel.
URL:=http://www.alsa-project.org/
endef
define Build/Configure
$(call Build/Configure/Default,\
--enable-shared=yes \
--enable-static=yes \
--with-gnu-ld \
--disable-debugging \
--disable-profiling \
--with-softfloat \
--with-versioned=no \
)
endef
define Build/Compile
$(call Build/Compile/Default,\
DESTDIR="$(PKG_INSTALL_DIR)" \
all install)
endef
define Package/alsa-lib/install
install -d -m0755 $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libasound.so.* $(1)/usr/lib/
endef
define Build/InstallDev
mkdir -p $(STAGING_DIR)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/alsa $(STAGING_DIR)/usr/include/
mkdir -p $(STAGING_DIR)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libasound.{a,so}* $(STAGING_DIR)/usr/lib/
endef
define Build/UninstallDev
rm -rf \
$(STAGING_DIR)/usr/include/alsa \
$(STAGING_DIR)/usr/lib/libasound.{a,so}*
endef
$(eval $(call BuildPackage,alsa-lib))

View File

@ -0,0 +1,211 @@
diff -urN alsa-lib-1.0.10/src/alisp/alisp.c alsa-lib-1.0.10.new/src/alisp/alisp.c
--- alsa-lib-1.0.10/src/alisp/alisp.c 2005-01-19 14:56:31.000000000 +0100
+++ alsa-lib-1.0.10.new/src/alisp/alisp.c 2006-10-09 16:20:51.000000000 +0200
@@ -30,7 +30,6 @@
#include <ctype.h>
#include <math.h>
#include <err.h>
-#include <wordexp.h>
#define alisp_seq_iterator alisp_object
diff -urN alsa-lib-1.0.10/src/conf.c alsa-lib-1.0.10.new/src/conf.c
--- alsa-lib-1.0.10/src/conf.c 2005-10-12 18:08:53.000000000 +0200
+++ alsa-lib-1.0.10.new/src/conf.c 2006-10-09 16:21:06.000000000 +0200
@@ -415,7 +415,6 @@
#include <stdarg.h>
-#include <wordexp.h>
#include <dlfcn.h>
#include <limits.h>
#include <sys/stat.h>
diff -urN alsa-lib-1.0.10/src/names.c alsa-lib-1.0.10.new/src/names.c
--- alsa-lib-1.0.10/src/names.c 2005-06-06 16:01:13.000000000 +0200
+++ alsa-lib-1.0.10.new/src/names.c 2006-10-09 16:21:16.000000000 +0200
@@ -31,7 +31,6 @@
*/
#include <stdarg.h>
-#include <wordexp.h>
#include <dlfcn.h>
#include <limits.h>
#include <sys/stat.h>
diff -urN alsa-lib-1.0.10/src/pcm/Makefile.am alsa-lib-1.0.10.new/src/pcm/Makefile.am
--- alsa-lib-1.0.10/src/pcm/Makefile.am 2005-02-24 11:16:52.000000000 +0100
+++ alsa-lib-1.0.10.new/src/pcm/Makefile.am 2006-10-09 16:22:44.000000000 +0200
@@ -9,7 +9,7 @@
pcm_route.c pcm_mulaw.c pcm_alaw.c pcm_adpcm.c \
pcm_rate.c pcm_plug.c pcm_misc.c pcm_mmap.c pcm_multi.c \
pcm_shm.c pcm_file.c pcm_null.c pcm_share.c \
- pcm_meter.c pcm_hooks.c pcm_lfloat.c pcm_ladspa.c \
+ pcm_meter.c pcm_hooks.c pcm_lfloat.c \
pcm_direct.c pcm_dmix.c pcm_dsnoop.c pcm_dshare.c \
pcm_asym.c pcm_iec958.c pcm_softvol.c pcm_symbols.c \
pcm_ioplug.c pcm_extplug.c
@@ -17,7 +17,7 @@
EXTRA_DIST = pcm_dmix_i386.c pcm_dmix_x86_64.c pcm_dmix_generic.c
noinst_HEADERS = pcm_local.h pcm_plugin.h mask.h mask_inline.h \
- interval.h interval_inline.h plugin_ops.h ladspa.h \
+ interval.h interval_inline.h plugin_ops.h \
pcm_direct.h pcm_dmix_i386.h pcm_dmix_x86_64.h \
pcm_generic.h pcm_ext_parm.h
diff -urN alsa-lib-1.0.10/src/pcm/Makefile.in alsa-lib-1.0.10.new/src/pcm/Makefile.in
--- alsa-lib-1.0.10/src/pcm/Makefile.in 2005-11-16 15:44:41.000000000 +0100
+++ alsa-lib-1.0.10.new/src/pcm/Makefile.in 2006-10-09 16:19:45.000000000 +0200
@@ -158,7 +158,7 @@
pcm_route.c pcm_mulaw.c pcm_alaw.c pcm_adpcm.c \
pcm_rate.c pcm_plug.c pcm_misc.c pcm_mmap.c pcm_multi.c \
pcm_shm.c pcm_file.c pcm_null.c pcm_share.c \
- pcm_meter.c pcm_hooks.c pcm_lfloat.c pcm_ladspa.c \
+ pcm_meter.c pcm_hooks.c pcm_lfloat.c \
pcm_direct.c pcm_dmix.c pcm_dsnoop.c pcm_dshare.c \
pcm_asym.c pcm_iec958.c pcm_softvol.c pcm_symbols.c \
pcm_ioplug.c pcm_extplug.c
@@ -167,7 +167,7 @@
EXTRA_DIST = pcm_dmix_i386.c pcm_dmix_x86_64.c pcm_dmix_generic.c
noinst_HEADERS = pcm_local.h pcm_plugin.h mask.h mask_inline.h \
- interval.h interval_inline.h plugin_ops.h ladspa.h \
+ interval.h interval_inline.h plugin_ops.h \
pcm_direct.h pcm_dmix_i386.h pcm_dmix_x86_64.h \
pcm_generic.h pcm_ext_parm.h
@@ -188,7 +188,7 @@
pcm_mulaw.lo pcm_alaw.lo pcm_adpcm.lo pcm_rate.lo pcm_plug.lo \
pcm_misc.lo pcm_mmap.lo pcm_multi.lo pcm_shm.lo pcm_file.lo \
pcm_null.lo pcm_share.lo pcm_meter.lo pcm_hooks.lo \
- pcm_lfloat.lo pcm_ladspa.lo pcm_direct.lo pcm_dmix.lo \
+ pcm_lfloat.lo pcm_direct.lo pcm_dmix.lo \
pcm_dsnoop.lo pcm_dshare.lo pcm_asym.lo pcm_iec958.lo \
pcm_softvol.lo pcm_symbols.lo pcm_ioplug.lo pcm_extplug.lo
libpcm_la_OBJECTS = $(am_libpcm_la_OBJECTS)
@@ -209,7 +209,6 @@
@AMDEP_TRUE@ ./$(DEPDIR)/pcm_hooks.Plo ./$(DEPDIR)/pcm_hw.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/pcm_iec958.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/pcm_ioplug.Plo \
-@AMDEP_TRUE@ ./$(DEPDIR)/pcm_ladspa.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/pcm_lfloat.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/pcm_linear.Plo \
@AMDEP_TRUE@ ./$(DEPDIR)/pcm_meter.Plo ./$(DEPDIR)/pcm_misc.Plo \
@@ -277,7 +276,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcm_hw.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcm_iec958.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcm_ioplug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcm_ladspa.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcm_lfloat.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcm_linear.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcm_meter.Plo@am__quote@
diff -urN alsa-lib-1.0.10/src/pcm/pcm.c alsa-lib-1.0.10.new/src/pcm/pcm.c
--- alsa-lib-1.0.10/src/pcm/pcm.c 2005-09-29 21:11:50.000000000 +0200
+++ alsa-lib-1.0.10.new/src/pcm/pcm.c 2006-10-09 16:20:34.000000000 +0200
@@ -1937,7 +1937,7 @@
}
static char *build_in_pcms[] = {
- "adpcm", "alaw", "copy", "dmix", "file", "hooks", "hw", "ladspa", "lfloat",
+ "adpcm", "alaw", "copy", "dmix", "file", "hooks", "hw", "lfloat",
"linear", "meter", "mulaw", "multi", "null", "plug", "rate", "route", "share",
"shm", "dsnoop", "dshare", "asym", "iec958", "softvol", NULL
};
diff -urN alsa-lib-1.0.10/src/pcm/pcm_symbols.c alsa-lib-1.0.10.new/src/pcm/pcm_symbols.c
--- alsa-lib-1.0.10/src/pcm/pcm_symbols.c 2005-01-03 19:19:23.000000000 +0100
+++ alsa-lib-1.0.10.new/src/pcm/pcm_symbols.c 2006-10-09 16:20:15.000000000 +0200
@@ -39,7 +39,6 @@
extern const char *_snd_module_pcm_share;
extern const char *_snd_module_pcm_shm;
extern const char *_snd_module_pcm_lfloat;
-extern const char *_snd_module_pcm_ladspa;
extern const char *_snd_module_pcm_dmix;
extern const char *_snd_module_pcm_dsnoop;
extern const char *_snd_module_pcm_dshare;
@@ -65,7 +64,6 @@
&_snd_module_pcm_share,
&_snd_module_pcm_shm,
&_snd_module_pcm_lfloat,
- &_snd_module_pcm_ladspa,
&_snd_module_pcm_dmix,
&_snd_module_pcm_dsnoop,
&_snd_module_pcm_dshare,
diff -urN alsa-lib-1.0.10/src/userfile.c alsa-lib-1.0.10.new/src/userfile.c
--- alsa-lib-1.0.10/src/userfile.c 2005-05-24 16:14:29.000000000 +0200
+++ alsa-lib-1.0.10.new/src/userfile.c 2006-10-09 16:21:42.000000000 +0200
@@ -1,58 +1,31 @@
-/*
- * Get full filename
- * Copyright (c) 2003 by Jaroslav Kysela <perex@suse.cz>
- *
- * This 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.
- *
- * This program 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 this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+/* This is a mockup of alsalib's userfile.c without its functionality but
+ * the same interface.
*
+ * Maybe someone, someday wants to FIXME.
*/
#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
#include <errno.h>
-#include <wordexp.h>
-#include <assert.h>
-/**
- * \brief Get the full file name
- * \param file The file name string to parse
- * \param result The pointer to store the resultant file name
- * \return 0 if successful, or a negative error code
- *
- * Parses the given file name with POSIX-Shell-like expansion and
- * stores the first matchine one. The returned string is strdup'ed.
- */
int snd_user_file(const char *file, char **result)
{
- wordexp_t we;
- int err;
-
- assert(file && result);
- err = wordexp(file, &we, WRDE_NOCMD);
- switch (err) {
- case WRDE_NOSPACE:
- return -ENOMEM;
- case 0:
- if (we.we_wordc == 1)
- break;
- /* fall thru */
- default:
- wordfree(&we);
- return -EINVAL;
+ static int warned;
+ if(getenv("BROKEN_USERFILE_SILENT") == NULL) {
+ if(getenv("BROKEN_USERFILE_DEBUG") == NULL) {
+ if(warned == 0)
+ fprintf(stderr, "WARNING: this snd_user_file implementation won't behave as expected.\n"
+ " set BROKEN_USERFILE_DEBUG to see all problems, or\n"
+ " set BROKEN_USERFILE_SILENT to disable all warnings.\n");
+ warned = 1;
+ } else {
+ fprintf(stderr, "WARNING(snd_user_file): '%s' has not been expanded\n", file);
+ }
}
- *result = strdup(we.we_wordv[0]);
+
+ *result = strdup(file);
if (*result == NULL)
return -ENOMEM;
- wordfree(&we);
return 0;
}

View File

@ -0,0 +1,11 @@
--- alsa-lib-1.0.10/include/alsa-symbols.h.orig 2006-03-01 21:59:33.500097817 +0100
+++ alsa-lib-1.0.10/include/alsa-symbols.h 2006-03-01 22:00:22.323650362 +0100
@@ -57,7 +57,7 @@
__asm__ (".set " #name "," #real); \
__asm__ (".set ." #name ",." #real)
#else
-#ifdef __alpha__
+#if defined(__alpha__) || defined(__mips__) || defined(__arm__)
#define use_default_symbol_version(real, name, version) \
__asm__ (".weak " #name); \
__asm__ (#name " = " #real)