summaryrefslogtreecommitdiffstats
path: root/source/l/alsa-lib
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/alsa-lib')
-rwxr-xr-xsource/l/alsa-lib/alsa-lib.SlackBuild47
-rw-r--r--source/l/alsa-lib/alsa-lib.fdba9e1bad8f769a6137e565471f0227f23a3132.diff102
-rw-r--r--source/l/alsa-lib/asound.conf.alsa1
-rw-r--r--source/l/alsa-lib/asound.conf.pulse (renamed from source/l/alsa-lib/asound.conf)0
-rw-r--r--source/l/alsa-lib/slack-desc8
-rw-r--r--source/l/alsa-lib/smixer.conf13
6 files changed, 55 insertions, 116 deletions
diff --git a/source/l/alsa-lib/alsa-lib.SlackBuild b/source/l/alsa-lib/alsa-lib.SlackBuild
index 1a94182f2..44a216e04 100755
--- a/source/l/alsa-lib/alsa-lib.SlackBuild
+++ b/source/l/alsa-lib/alsa-lib.SlackBuild
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,9 +20,11 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
-VERSION=${VERSION:-$(echo alsa-lib-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+PKGNAM=alsa-lib
+VERSION=${VERSION:-$(echo alsa-lib-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -36,7 +38,6 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-alsa-lib
@@ -54,15 +55,31 @@ else
LIBDIRSUFFIX=""
fi
+# If this package is being built for ALSA (no PulseAudio), use the _alsa $TAG:
+if [ ! -r /usr/lib${LIBDIRSUFFIX}/pkgconfig/libpulse.pc ]; then
+ TAG="_alsa"
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.txz"
+ exit 0
+fi
+
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf alsa-lib-$VERSION
-tar xvf $CWD/alsa-lib-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/alsa-lib-$VERSION.tar.?z || exit 1
cd alsa-lib-$VERSION || exit 1
-zcat $CWD/alsa-lib.fdba9e1bad8f769a6137e565471f0227f23a3132.diff.gz | patch -p1 --verbose || exit 1
+# Fix file missing in 1.1.6:
+if [ ! -r src/conf/smixer.conf ]; then
+ cp -a $CWD/smixer.conf src/conf
+fi
chown -R root:root .
find . \
@@ -74,17 +91,27 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-mixer-modules \
+ --enable-mixer-pymods \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || exit 1
make install DESTDIR=$PKG || exit 1
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-# Redirect to PulseAudio:
mkdir $PKG/etc
-cp -a $CWD/asound.conf $PKG/etc/asound.conf.new
+if [ "$TAG" = "_alsa" ]; then
+ # Ship an empty asound.conf for ALSA-only system:
+ cp -a $CWD/asound.conf.alsa $PKG/etc/asound.conf.new
+else
+ # Redirect to PulseAudio:
+ cp -a $CWD/asound.conf.pulse $PKG/etc/asound.conf.new
+fi
chmod 644 $PKG/etc/asound.conf.new
chown root:root $PKG/etc/asound.conf.new
@@ -113,5 +140,5 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $TMP/alsa-lib-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/alsa-lib-$VERSION-$ARCH-$BUILD$TAG.txz
diff --git a/source/l/alsa-lib/alsa-lib.fdba9e1bad8f769a6137e565471f0227f23a3132.diff b/source/l/alsa-lib/alsa-lib.fdba9e1bad8f769a6137e565471f0227f23a3132.diff
deleted file mode 100644
index b5aad2bbb..000000000
--- a/source/l/alsa-lib/alsa-lib.fdba9e1bad8f769a6137e565471f0227f23a3132.diff
+++ /dev/null
@@ -1,102 +0,0 @@
-From: Takashi Iwai <tiwai@suse.de>
-Date: Thu, 14 Apr 2016 15:33:03 +0000 (+0200)
-Subject: pcm: Fallback open as the first instance for dmix & co
-X-Git-Url: http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff_plain;h=fdba9e1bad8f769a6137e565471f0227f23a3132;hp=e57b521c61f0df14b660ce6ba8c5009a63f5b115
-
-pcm: Fallback open as the first instance for dmix & co
-
-dmix and other PCM plugins tries to open a secondary stream with
-O_APPEND flag when the shmem was already attached by another.
-However, when another streams have been already closed after the
-shmem check, this open may return the error EBADFD, since the kernel
-accepts O_APPEND only for the secondary streams.
-
-This patch adds a workaround for such a case. It just retries opening
-the stream as the first instance (i.e. without O_APPEND flag).
-This is basically safe behavior (the kernel takes care of races), even
-we may do this even unconditionally. But it's bad from the
-performance POV, so we do it only when really needed.
-
-Reported-by: Lars Lindqvist <lars.lindqvist@yandex.ru>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
----
-
-diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c
-index b26a5c7..007d356 100644
---- a/src/pcm/pcm_dmix.c
-+++ b/src/pcm/pcm_dmix.c
-@@ -1020,6 +1020,7 @@ int snd_pcm_dmix_open(snd_pcm_t **pcmp, const char *name,
- dmix->max_periods = opts->max_periods;
- dmix->sync_ptr = snd_pcm_dmix_sync_ptr;
-
-+ retry:
- if (first_instance) {
- /* recursion is already checked in
- snd_pcm_direct_get_slave_ipc_offset() */
-@@ -1076,6 +1077,13 @@ int snd_pcm_dmix_open(snd_pcm_t **pcmp, const char *name,
- SND_PCM_APPEND,
- NULL);
- if (ret < 0) {
-+ /* all other streams have been closed;
-+ * retry as the first instance
-+ */
-+ if (ret == -EBADFD) {
-+ first_instance = 1;
-+ goto retry;
-+ }
- SNDERR("unable to open slave");
- goto _err;
- }
-diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c
-index 58e47bb..adb3587 100644
---- a/src/pcm/pcm_dshare.c
-+++ b/src/pcm/pcm_dshare.c
-@@ -690,6 +690,7 @@ int snd_pcm_dshare_open(snd_pcm_t **pcmp, const char *name,
- break;
- }
-
-+ retry:
- first_instance = ret = snd_pcm_direct_shm_create_or_connect(dshare);
- if (ret < 0) {
- SNDERR("unable to create IPC shm instance");
-@@ -758,6 +759,13 @@ int snd_pcm_dshare_open(snd_pcm_t **pcmp, const char *name,
- SND_PCM_APPEND,
- NULL);
- if (ret < 0) {
-+ /* all other streams have been closed;
-+ * retry as the first instance
-+ */
-+ if (ret == -EBADFD) {
-+ first_instance = 1;
-+ goto retry;
-+ }
- SNDERR("unable to open slave");
- goto _err;
- }
-diff --git a/src/pcm/pcm_dsnoop.c b/src/pcm/pcm_dsnoop.c
-index 576c35b..8ff0ba5 100644
---- a/src/pcm/pcm_dsnoop.c
-+++ b/src/pcm/pcm_dsnoop.c
-@@ -583,6 +583,7 @@ int snd_pcm_dsnoop_open(snd_pcm_t **pcmp, const char *name,
- break;
- }
-
-+ retry:
- first_instance = ret = snd_pcm_direct_shm_create_or_connect(dsnoop);
- if (ret < 0) {
- SNDERR("unable to create IPC shm instance");
-@@ -651,6 +652,13 @@ int snd_pcm_dsnoop_open(snd_pcm_t **pcmp, const char *name,
- SND_PCM_APPEND,
- NULL);
- if (ret < 0) {
-+ /* all other streams have been closed;
-+ * retry as the first instance
-+ */
-+ if (ret == -EBADFD) {
-+ first_instance = 1;
-+ goto retry;
-+ }
- SNDERR("unable to open slave");
- goto _err;
- }
-
diff --git a/source/l/alsa-lib/asound.conf.alsa b/source/l/alsa-lib/asound.conf.alsa
new file mode 100644
index 000000000..4d81f4306
--- /dev/null
+++ b/source/l/alsa-lib/asound.conf.alsa
@@ -0,0 +1 @@
+# ALSA system-wide config file
diff --git a/source/l/alsa-lib/asound.conf b/source/l/alsa-lib/asound.conf.pulse
index d8c8c317d..d8c8c317d 100644
--- a/source/l/alsa-lib/asound.conf
+++ b/source/l/alsa-lib/asound.conf.pulse
diff --git a/source/l/alsa-lib/slack-desc b/source/l/alsa-lib/slack-desc
index 11afb8366..07ec7cfac 100644
--- a/source/l/alsa-lib/slack-desc
+++ b/source/l/alsa-lib/slack-desc
@@ -1,15 +1,15 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
-# the right side marks the last column you can put a character in. You must make
-# exactly 11 lines for the formatting to be correct. It's also customary to
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
alsa-lib: alsa-lib (Advanced Linux Sound Architecture library)
alsa-lib:
alsa-lib: The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
-alsa-lib: functionality to the Linux operating system. This is the ALSA library
+alsa-lib: functionality to the Linux operating system. This is the ALSA library
alsa-lib: (libasound) which is used by audio applications.
alsa-lib:
alsa-lib: For more information, see http://alsa-project.org
diff --git a/source/l/alsa-lib/smixer.conf b/source/l/alsa-lib/smixer.conf
new file mode 100644
index 000000000..f215661ec
--- /dev/null
+++ b/source/l/alsa-lib/smixer.conf
@@ -0,0 +1,13 @@
+_full smixer-python.so
+usb {
+ searchl "USB"
+ lib smixer-usb.so
+}
+ac97 {
+ searchl "AC97a:"
+ lib smixer-ac97.so
+}
+hda {
+ searchl "HDA:"
+ lib smixer-hda.so
+}