summaryrefslogtreecommitdiff
path: root/pkg/alsa-lib
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-12-11 16:04:20 -0800
committerMichael Forney <mforney@mforney.org>2016-12-13 23:10:30 -0800
commit293f5a93b77d92fd65db7f3d0df654f102e46cfb (patch)
tree6ecd1170e3dd793862dd852814dc1b4cd5e44260 /pkg/alsa-lib
parent9a506a6834df01a26795cea222b410f206efa9fa (diff)
Move to flat package hierarchy
Note to self: never try to move submodules again To migrate your existing submodules (more or less): set -x set -e mkdir .git/modules/pkg for old in */*/src ; do new="pkg/${old#*/}" if ! [ -f "$old/.git" ] || [ "${old%%/*}" = pkg ] ; then continue fi git -C ".git/modules/$old" config core.worktree "../../../../../$new" rmdir "$new" mv "$old" "$new" sed -e "s,$old,$new," "$new/.git" > "$new/.git.tmp" mv "$new/.git.tmp" "$new/.git" mkdir ".git/modules/${new%/src}" mv ".git/modules/$old" ".git/modules/$new" rm "${old%/src}"/*.ninja mv "${old%/src}"/*.tar.{gz,xz,bz2} "${new%/src}/" rmdir "${old%/src}" || true done sed -e 's,^\[submodule "[^/]*/,[submodule "pkg/,' .git/config > .git/config.tmp mv .git/config.tmp .git/config
Diffstat (limited to 'pkg/alsa-lib')
-rw-r--r--pkg/alsa-lib/alsa/asoundlib.h63
-rw-r--r--pkg/alsa-lib/alsa/version.h15
-rw-r--r--pkg/alsa-lib/config.h71
-rw-r--r--pkg/alsa-lib/ctl_symbols_list.c2
-rw-r--r--pkg/alsa-lib/gen.rc144
-rw-r--r--pkg/alsa-lib/patch/0001-Fix-poll.h-includes.patch178
-rw-r--r--pkg/alsa-lib/patch/0002-Add-include-alsa-symlink.patch21
-rw-r--r--pkg/alsa-lib/patch/0003-pcm_plug-Clear-plugins-on-all-error-conditions.patch31
-rw-r--r--pkg/alsa-lib/pcm_symbols_list.c25
-rw-r--r--pkg/alsa-lib/rev1
m---------pkg/alsa-lib/src0
11 files changed, 551 insertions, 0 deletions
diff --git a/pkg/alsa-lib/alsa/asoundlib.h b/pkg/alsa-lib/alsa/asoundlib.h
new file mode 100644
index 00000000..1c2560f2
--- /dev/null
+++ b/pkg/alsa-lib/alsa/asoundlib.h
@@ -0,0 +1,63 @@
+/**
+ * \file include/asoundlib.h
+ * \brief Application interface library for the ALSA driver
+ * \author Jaroslav Kysela <perex@perex.cz>
+ * \author Abramo Bagnara <abramo@alsa-project.org>
+ * \author Takashi Iwai <tiwai@suse.de>
+ * \date 1998-2001
+ *
+ * Application interface library for the ALSA driver
+ */
+/*
+ * 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
+ *
+ */
+
+#ifndef __ASOUNDLIB_H
+#define __ASOUNDLIB_H
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <string.h>
+#include <fcntl.h>
+#include <assert.h>
+#include <poll.h>
+#include <errno.h>
+#include <stdarg.h>
+#include <endian.h>
+
+#ifndef __GNUC__
+#define __inline__ inline
+#endif
+
+#include <alsa/asoundef.h>
+#include <alsa/version.h>
+#include <alsa/global.h>
+#include <alsa/input.h>
+#include <alsa/output.h>
+#include <alsa/error.h>
+#include <alsa/conf.h>
+#include <alsa/pcm.h>
+#include <alsa/timer.h>
+#include <alsa/control.h>
+#include <alsa/mixer.h>
+#include <alsa/seq_event.h>
+#include <alsa/seq.h>
+#include <alsa/seqmid.h>
+#include <alsa/seq_midi_event.h>
+
+#endif /* __ASOUNDLIB_H */
diff --git a/pkg/alsa-lib/alsa/version.h b/pkg/alsa-lib/alsa/version.h
new file mode 100644
index 00000000..d7c11cbc
--- /dev/null
+++ b/pkg/alsa-lib/alsa/version.h
@@ -0,0 +1,15 @@
+/*
+ * version.h
+ */
+
+#define SND_LIB_MAJOR 1 /**< major number of library version */
+#define SND_LIB_MINOR 1 /**< minor number of library version */
+#define SND_LIB_SUBMINOR 1 /**< subminor number of library version */
+#define SND_LIB_EXTRAVER 1000000 /**< extra version number, used mainly for betas */
+/** library version */
+#define SND_LIB_VERSION ((SND_LIB_MAJOR<<16)|\
+ (SND_LIB_MINOR<<8)|\
+ SND_LIB_SUBMINOR)
+/** library version (string) */
+#define SND_LIB_VERSION_STR "1.1.1"
+
diff --git a/pkg/alsa-lib/config.h b/pkg/alsa-lib/config.h
new file mode 100644
index 00000000..82f9e706
--- /dev/null
+++ b/pkg/alsa-lib/config.h
@@ -0,0 +1,71 @@
+#include <config-posix.h>
+
+#define ALOAD_DEVICE_DIRECTORY "/dev/"
+#define ALSA_CONFIG_DIR "/share/alsa"
+/* #undef ALSA_DEBUG_ASSERT */
+#define ALSA_DEVICE_DIRECTORY "/dev/snd/"
+#define ALSA_PKGCONF_DIR "/lib/pkgconfig"
+#define ALSA_PLUGIN_DIR "/lib/alsa-lib"
+/* #undef BUILD_HWDEP */
+#define BUILD_MIXER "1"
+#define BUILD_PCM "1"
+#define BUILD_PCM_PLUGIN_ADPCM 1
+#define BUILD_PCM_PLUGIN_ALAW 1
+#define BUILD_PCM_PLUGIN_LFLOAT 1
+#define BUILD_PCM_PLUGIN_MMAP_EMUL 1
+#define BUILD_PCM_PLUGIN_MULAW 1
+#define BUILD_PCM_PLUGIN_RATE 1
+#define BUILD_PCM_PLUGIN_ROUTE 1
+/* #undef BUILD_RAWMIDI */
+#define BUILD_SEQ "1"
+#define BUILD_TOPOLOGY "1"
+#define BUILD_UCM "1"
+#define HAVE_ENDIAN_H 1
+/* #undef HAVE_LIBDL */
+#define HAVE_LIBPTHREAD 1
+/* #undef HAVE_LIBRESMGR */
+#define HAVE_LIBRT 1
+#define HAVE_MEMORY_H 1
+/* #undef HAVE_SOFT_FLOAT */
+/* #undef HAVE_SYS_ENDIAN_H */
+#define HAVE___THREAD 1
+#define LT_OBJDIR ".libs/"
+/* #undef NDEBUG */
+#define PACKAGE "alsa-lib"
+#define PACKAGE_BUGREPORT ""
+#define PACKAGE_NAME "alsa-lib"
+#define PACKAGE_STRING "alsa-lib 1.1.2"
+#define PACKAGE_TARNAME "alsa-lib"
+#define PACKAGE_URL ""
+#define PACKAGE_VERSION "1.1.2"
+#define SND_MAX_CARDS 32
+#define SUPPORT_ALOAD "1"
+/* #undef SUPPORT_RESMGR */
+#define THREAD_SAFE_API "1"
+#define TIME_WITH_SYS_TIME 1
+#define TMPDIR "/tmp"
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+#define VERSION "1.1.2"
+#define VERSIONED_SYMBOLS /**/
+/* #undef _MINIX */
+/* #undef _POSIX_1_SOURCE */
+/* #undef _POSIX_SOURCE */
+#define __SYMBOL_PREFIX ""
+/* #undef const */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
diff --git a/pkg/alsa-lib/ctl_symbols_list.c b/pkg/alsa-lib/ctl_symbols_list.c
new file mode 100644
index 00000000..6731168b
--- /dev/null
+++ b/pkg/alsa-lib/ctl_symbols_list.c
@@ -0,0 +1,2 @@
+&_snd_module_control_shm,
+&_snd_module_control_ext,
diff --git a/pkg/alsa-lib/gen.rc b/pkg/alsa-lib/gen.rc
new file mode 100644
index 00000000..88157433
--- /dev/null
+++ b/pkg/alsa-lib/gen.rc
@@ -0,0 +1,144 @@
+cflags\
+ -I include\
+ -I '$dir' \
+ -I '$dir'/alsa\
+ -I '$srcdir'/include
+
+hdrs=(\
+ asoundef.h\
+ global.h input.h output.h error.h\
+ conf.h control.h\
+ pcm.h pcm_old.h timer.h\
+ pcm_plugin.h\
+ pcm_rate.h\
+ pcm_external.h pcm_extplug.h\
+ pcm_ioplug.h\
+ mixer.h mixer_abst.h\
+ seq_event.h seq.h seqmid.h seq_midi_event.h\
+)
+for(hdr in $hdrs)
+ build '$outdir'/include/alsa/$hdr copy '$srcdir'/include/$hdr
+for(hdr in asoundlib.h version.h)
+ build '$outdir'/include/alsa/$hdr copy '$dir'/alsa/$hdr
+phony headers '$outdir'/include/alsa/^($hdrs asoundlib.h version.h)
+
+lib libasound.a src/^(\
+ conf.c confmisc.c input.c output.c async.c error.c dlmisc.c socket.c shmarea.c userfile.c names.c\
+ control/^(\
+ cards.c tlv.c namehint.c hcontrol.c\
+ control.c control_hw.c setup.c ctlparse.c\
+ control_symbols.c\
+ control_shm.c\
+ control_ext.c\
+ )\
+ mixer/^(bag.c mixer.c simple.c simple_none.c)\
+ pcm/^(\
+ mask.c interval.c\
+ pcm.c pcm_params.c pcm_simple.c\
+ pcm_hw.c pcm_misc.c pcm_mmap.c pcm_symbols.c\
+ pcm_generic.c pcm_plugin.c\
+ pcm_copy.c\
+ pcm_linear.c\
+ pcm_route.c\
+ pcm_mulaw.c\
+ pcm_alaw.c\
+ pcm_adpcm.c\
+ pcm_rate.c pcm_rate_linear.c\
+ pcm_plug.c\
+ pcm_multi.c\
+ pcm_shm.c\
+ pcm_file.c\
+ pcm_null.c\
+ pcm_empty.c\
+ pcm_share.c\
+ pcm_meter.c\
+ pcm_hooks.c\
+ pcm_lfloat.c\
+ pcm_dmix.c\
+ pcm_dshare.c\
+ pcm_dsnoop.c\
+ pcm_direct.c\
+ pcm_asym.c\
+ pcm_iec958.c\
+ pcm_softvol.c\
+ pcm_extplug.c\
+ pcm_ioplug.c\
+ pcm_mmap_emul.c\
+ )\
+ timer/^(\
+ timer.c timer_hw.c timer_query.c timer_query_hw.c\
+ timer_symbols.c\
+ )\
+)
+
+conf=(\
+ alsa.conf\
+ cards/^(\
+ aliases.conf\
+ AACI.conf\
+ ATIIXP.conf\
+ ATIIXP-SPDMA.conf\
+ ATIIXP-MODEM.conf\
+ AU8810.conf\
+ AU8820.conf\
+ AU8830.conf\
+ Audigy.conf\
+ Audigy2.conf\
+ Aureon51.conf\
+ Aureon71.conf\
+ CA0106.conf\
+ CMI8338.conf\
+ CMI8338-SWIEC.conf\
+ CMI8738-MC6.conf\
+ CMI8738-MC8.conf\
+ CMI8788.conf\
+ CS46xx.conf\
+ Echo_Echo3G.conf\
+ EMU10K1.conf\
+ EMU10K1X.conf\
+ ENS1370.conf\
+ ENS1371.conf\
+ ES1968.conf\
+ FM801.conf\
+ FWSpeakers.conf\
+ FireWave.conf\
+ GUS.conf\
+ HDA-Intel.conf\
+ ICE1712.conf\
+ ICE1724.conf\
+ ICH.conf\
+ ICH4.conf\
+ ICH-MODEM.conf\
+ Loopback.conf\
+ Maestro3.conf\
+ NFORCE.conf\
+ PC-Speaker.conf\
+ PMac.conf\
+ PMacToonie.conf\
+ PS3.conf\
+ RME9636.conf\
+ RME9652.conf\
+ SI7018.conf\
+ SB-XFi.conf\
+ TRID4DWAVENX.conf\
+ USB-Audio.conf\
+ YMF744.conf\
+ VIA686A.conf\
+ VIA8233.conf\
+ VIA8233A.conf\
+ VIA8237.conf\
+ VX222.conf\
+ VXPocket.conf\
+ VXPocket440.conf\
+ )\
+ pcm/^(\
+ default.conf front.conf rear.conf center_lfe.conf side.conf\
+ surround21.conf surround40.conf surround41.conf\
+ surround50.conf surround51.conf\
+ surround71.conf iec958.conf hdmi.conf modem.conf\
+ dmix.conf dsnoop.conf\
+ dpl.conf\
+ )\
+) for(f in $conf) file share/alsa/$f '$srcdir'/src/conf/$f 644
+
+fetch git
diff --git a/pkg/alsa-lib/patch/0001-Fix-poll.h-includes.patch b/pkg/alsa-lib/patch/0001-Fix-poll.h-includes.patch
new file mode 100644
index 00000000..b4dc2291
--- /dev/null
+++ b/pkg/alsa-lib/patch/0001-Fix-poll.h-includes.patch
@@ -0,0 +1,178 @@
+From 005c1bcf8cd87091af1106b85fb6cd39cac819ab Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Fri, 1 Jul 2016 20:08:30 -0700
+Subject: [PATCH] Fix poll.h includes
+
+---
+ aserver/aserver.c | 2 +-
+ include/asoundlib-head.h | 2 +-
+ include/local.h | 2 +-
+ src/control/control.c | 2 +-
+ src/control/control_shm.c | 2 +-
+ src/pcm/pcm.c | 2 +-
+ src/pcm/pcm_direct.c | 2 +-
+ src/pcm/pcm_mmap.c | 2 +-
+ src/pcm/pcm_share.c | 2 +-
+ src/pcm/pcm_shm.c | 2 +-
+ src/seq/seq.c | 2 +-
+ src/shmarea.c | 2 +-
+ 12 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/aserver/aserver.c b/aserver/aserver.c
+index ac20706..46f731a 100644
+--- a/aserver/aserver.c
++++ b/aserver/aserver.c
+@@ -20,7 +20,7 @@
+
+ #include <sys/shm.h>
+ #include <sys/socket.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/un.h>
+ #include <sys/uio.h>
+ #include <stdio.h>
+diff --git a/include/asoundlib-head.h b/include/asoundlib-head.h
+index 1ec611e..21e32c6 100644
+--- a/include/asoundlib-head.h
++++ b/include/asoundlib-head.h
+@@ -35,6 +35,6 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <assert.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <errno.h>
+ #include <stdarg.h>
+diff --git a/include/local.h b/include/local.h
+index 317f2e3..6a43a47 100644
+--- a/include/local.h
++++ b/include/local.h
+@@ -47,7 +47,7 @@
+ #error Header defining endianness not defined
+ #endif
+ #include <stdarg.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/types.h>
+ #include <errno.h>
+ #if defined(__linux__)
+diff --git a/src/control/control.c b/src/control/control.c
+index 6c00b8e..fd0c303 100644
+--- a/src/control/control.c
++++ b/src/control/control.c
+@@ -90,7 +90,7 @@ I/O operations.
+ #include <string.h>
+ #include <fcntl.h>
+ #include <signal.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <stdbool.h>
+ #include "control_local.h"
+
+diff --git a/src/control/control_shm.c b/src/control/control_shm.c
+index bd07d4a..9a2e268 100644
+--- a/src/control/control_shm.c
++++ b/src/control/control_shm.c
+@@ -27,7 +27,7 @@
+ #include <fcntl.h>
+ #include <sys/shm.h>
+ #include <sys/socket.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/un.h>
+ #include <sys/uio.h>
+ #include <sys/mman.h>
+diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
+index f832399..e9d502a 100644
+--- a/src/pcm/pcm.c
++++ b/src/pcm/pcm.c
+@@ -650,7 +650,7 @@ playback devices.
+ #include <stdarg.h>
+ #include <signal.h>
+ #include <ctype.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/mman.h>
+ #include <limits.h>
+ #include "pcm_local.h"
+diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c
+index c3925cc..18f1dd5 100644
+--- a/src/pcm/pcm_direct.c
++++ b/src/pcm/pcm_direct.c
+@@ -30,7 +30,7 @@
+ #include <grp.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/shm.h>
+ #include <sys/sem.h>
+ #include <sys/wait.h>
+diff --git a/src/pcm/pcm_mmap.c b/src/pcm/pcm_mmap.c
+index 1948289..4cf220a 100644
+--- a/src/pcm/pcm_mmap.c
++++ b/src/pcm/pcm_mmap.c
+@@ -22,7 +22,7 @@
+ #include <stdio.h>
+ #include <malloc.h>
+ #include <string.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/mman.h>
+ #ifdef HAVE_SYS_SHM_H
+ #include <sys/shm.h>
+diff --git a/src/pcm/pcm_share.c b/src/pcm/pcm_share.c
+index 5d8aaf2..21a57fc 100644
+--- a/src/pcm/pcm_share.c
++++ b/src/pcm/pcm_share.c
+@@ -34,7 +34,7 @@
+ #include <signal.h>
+ #include <math.h>
+ #include <sys/socket.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <pthread.h>
+ #include "pcm_local.h"
+
+diff --git a/src/pcm/pcm_shm.c b/src/pcm/pcm_shm.c
+index a815ac6..4ee958c 100644
+--- a/src/pcm/pcm_shm.c
++++ b/src/pcm/pcm_shm.c
+@@ -36,7 +36,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/shm.h>
+ #include <sys/socket.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/un.h>
+ #include <sys/mman.h>
+ #include <netinet/in.h>
+diff --git a/src/seq/seq.c b/src/seq/seq.c
+index 9279830..d2027cb 100644
+--- a/src/seq/seq.c
++++ b/src/seq/seq.c
+@@ -777,7 +777,7 @@ void event_filter(snd_seq_t *seq, snd_seq_event_t *ev)
+
+ */
+
+-#include <sys/poll.h>
++#include <poll.h>
+ #include "seq_local.h"
+
+ /****************************************************************************
+diff --git a/src/shmarea.c b/src/shmarea.c
+index 9843aa8..eaa71f0 100644
+--- a/src/shmarea.c
++++ b/src/shmarea.c
+@@ -27,7 +27,7 @@
+ #include <malloc.h>
+ #include <string.h>
+ #include <errno.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/mman.h>
+ #include <sys/shm.h>
+ #include "list.h"
+--
+2.9.2
+
diff --git a/pkg/alsa-lib/patch/0002-Add-include-alsa-symlink.patch b/pkg/alsa-lib/patch/0002-Add-include-alsa-symlink.patch
new file mode 100644
index 00000000..915378df
--- /dev/null
+++ b/pkg/alsa-lib/patch/0002-Add-include-alsa-symlink.patch
@@ -0,0 +1,21 @@
+From e834c59dad7123ffe0fc1d27d4ee4be08f95e328 Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Fri, 1 Jul 2016 20:09:02 -0700
+Subject: [PATCH] Add include/alsa symlink
+
+---
+ include/alsa | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 120000 include/alsa
+
+diff --git a/include/alsa b/include/alsa
+new file mode 120000
+index 0000000..945c9b4
+--- /dev/null
++++ b/include/alsa
+@@ -0,0 +1 @@
++.
+\ No newline at end of file
+--
+2.9.0
+
diff --git a/pkg/alsa-lib/patch/0003-pcm_plug-Clear-plugins-on-all-error-conditions.patch b/pkg/alsa-lib/patch/0003-pcm_plug-Clear-plugins-on-all-error-conditions.patch
new file mode 100644
index 00000000..158c53c4
--- /dev/null
+++ b/pkg/alsa-lib/patch/0003-pcm_plug-Clear-plugins-on-all-error-conditions.patch
@@ -0,0 +1,31 @@
+From 1b7b58ebe989053af06a7ee800ff6f20899aab8d Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Tue, 18 Oct 2016 20:14:35 -0700
+Subject: [PATCH] pcm_plug: Clear plugins on all error conditions
+
+Otherwise, they will linger after the error is returned (but pcm->setup == 0).
+Then, if the caller tries to clean up and call snd_pcm_close(), the assertion
+plug->gen.slave == plug->req_slave will fail.
+---
+ src/pcm/pcm_plug.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/pcm/pcm_plug.c b/src/pcm/pcm_plug.c
+index 5639b9e..266707b 100644
+--- a/src/pcm/pcm_plug.c
++++ b/src/pcm/pcm_plug.c
+@@ -652,8 +652,10 @@ static int snd_pcm_plug_insert_plugins(snd_pcm_t *pcm,
+ (plug->ttable && !plug->ttable_ok)) {
+ snd_pcm_t *new;
+ int err;
+- if (k >= sizeof(funcs)/sizeof(*funcs))
++ if (k >= sizeof(funcs)/sizeof(*funcs)) {
++ snd_pcm_plug_clear(pcm);
+ return -EINVAL;
++ }
+ err = funcs[k](pcm, &new, client, &p);
+ if (err < 0) {
+ snd_pcm_plug_clear(pcm);
+--
+2.10.1
+
diff --git a/pkg/alsa-lib/pcm_symbols_list.c b/pkg/alsa-lib/pcm_symbols_list.c
new file mode 100644
index 00000000..53b07bb5
--- /dev/null
+++ b/pkg/alsa-lib/pcm_symbols_list.c
@@ -0,0 +1,25 @@
+&_snd_module_pcm_copy,
+&_snd_module_pcm_linear,
+&_snd_module_pcm_route,
+&_snd_module_pcm_mulaw,
+&_snd_module_pcm_alaw,
+&_snd_module_pcm_adpcm,
+&_snd_module_pcm_rate,
+&_snd_module_pcm_plug,
+&_snd_module_pcm_multi,
+&_snd_module_pcm_shm,
+&_snd_module_pcm_file,
+&_snd_module_pcm_null,
+&_snd_module_pcm_empty,
+&_snd_module_pcm_share,
+&_snd_module_pcm_hooks,
+&_snd_module_pcm_lfloat,
+&_snd_module_pcm_dmix,
+&_snd_module_pcm_dshare,
+&_snd_module_pcm_dsnoop,
+&_snd_module_pcm_asym,
+&_snd_module_pcm_iec958,
+&_snd_module_pcm_softvol,
+&_snd_module_pcm_extplug,
+&_snd_module_pcm_ioplug,
+&_snd_module_pcm_mmap_emul,
diff --git a/pkg/alsa-lib/rev b/pkg/alsa-lib/rev
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/pkg/alsa-lib/rev
@@ -0,0 +1 @@
+2
diff --git a/pkg/alsa-lib/src b/pkg/alsa-lib/src
new file mode 160000
+Subproject 1bf144013cffdeb41a5df3a11a8eb2596c5ea2b