summaryrefslogtreecommitdiffstats
path: root/source/ap/alsa-utils
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/alsa-utils')
-rwxr-xr-xsource/ap/alsa-utils/alsa-utils.SlackBuild106
-rw-r--r--source/ap/alsa-utils/alsa-utils.alsaconf.diff54
-rw-r--r--source/ap/alsa-utils/rc.alsa93
-rw-r--r--source/ap/alsa-utils/slack-desc19
4 files changed, 272 insertions, 0 deletions
diff --git a/source/ap/alsa-utils/alsa-utils.SlackBuild b/source/ap/alsa-utils/alsa-utils.SlackBuild
new file mode 100755
index 000000000..c918ba526
--- /dev/null
+++ b/source/ap/alsa-utils/alsa-utils.SlackBuild
@@ -0,0 +1,106 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS 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.
+
+
+VERSION=1.0.18
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-2}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-alsa-utils
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf alsa-utils-$VERSION
+tar xvf $CWD/alsa-utils-$VERSION.tar.bz2 || exit 1
+cd alsa-utils-$VERSION || exit 1
+zcat $CWD/alsa-utils.alsaconf.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+mkdir -p $PKG/etc/rc.d
+zcat $CWD/rc.alsa.gz > $PKG/etc/rc.d/rc.alsa
+chmod 755 $PKG/etc/rc.d/rc.alsa
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/alsa-utils-$VERSION
+cp -a \
+ COPYING ChangeLog INSTALL TODO \
+ seq/aconnect/README.aconnect \
+ seq/aseqnet/README.aseqnet \
+ $PKG/usr/doc/alsa-utils-$VERSION
+cp -a alsamixer/README $PKG/usr/doc/alsa-utils-$VERSION/README.alsamixer
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/alsa-utils-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/ap/alsa-utils/alsa-utils.alsaconf.diff b/source/ap/alsa-utils/alsa-utils.alsaconf.diff
new file mode 100644
index 000000000..c20bf72e7
--- /dev/null
+++ b/source/ap/alsa-utils/alsa-utils.alsaconf.diff
@@ -0,0 +1,54 @@
+--- ./alsaconf/alsaconf.in.orig 2007-05-31 03:07:21.000000000 -0500
++++ ./alsaconf/alsaconf.in 2007-06-05 19:01:03.000000000 -0500
+@@ -50,7 +50,9 @@
+ }
+
+ # Check for GNU/Linux distributions
+-if [ -f /etc/SuSE-release ]; then
++if [ -f /etc/slackware-version ]; then
++ distribution="slackware"
++elif [ -f /etc/SuSE-release ]; then
+ distribution="suse"
+ suse_version=$(grep 'VERSION = ' /etc/SuSE-release | sed -e s/'VERSION = '//)
+ elif [ -f /etc/UnitedLinux-release ]; then
+@@ -490,6 +492,8 @@
+
+ if [ "$distribution" = "debian" ]; then
+ rcalsasound=/etc/init.d/alsa
++elif [ -x /etc/rc.d/rc.alsa ]; then
++ rcalsasound=/etc/rc.d/rc.alsa
+ elif [ -x /etc/init.d/alsasound ]; then
+ rcalsasound=/etc/init.d/alsasound
+ elif [ -x /usr/sbin/rcalsasound ]; then
+--- ./alsaconf/alsaconf.8.orig 2007-05-31 03:07:21.000000000 -0500
++++ ./alsaconf/alsaconf.8 2007-06-05 19:01:03.000000000 -0500
+@@ -16,8 +16,6 @@
+ This manual page documents briefly the
+ .B alsaconf
+ command.
+-This manual page was written for the Debian distribution because the
+-original program does not have a manual page.
+ .PP
+ \fBAlsaconf\fP is a simple shell script which tries to detect the sound cards
+ on your system and writes a suitable configuration file for ALSA. It will try
+@@ -74,13 +72,6 @@
+ Set the uid for the ALSA devices (default = 0).
+ This option is obsolete in the recent ALSA version.
+
+-.SH DEBIAN SPECIFIC
+-In Debian, the default gid of the device files is 29 (corresponding to the
+-audio group) and the default device mode is 0660.
+-
+-For the ALSA base package, see also
+-.I /usr/share/doc/alsa\-base/
+-
+ .SH SEE ALSO
+ \fB
+ alsamixer(1),
+@@ -98,5 +89,4 @@
+ Bernd Kaindl <bk@suse.de> and
+ Jan Ondrej (SAL) <ondrejj@salstar.sk>
+
+-This manual page was written by Jordi Mallach <jordi@debian.org>,
+-for the Debian system (but may be used by others).
++This manual page was written by Jordi Mallach <jordi@debian.org>.
diff --git a/source/ap/alsa-utils/rc.alsa b/source/ap/alsa-utils/rc.alsa
new file mode 100644
index 000000000..9e3cae304
--- /dev/null
+++ b/source/ap/alsa-utils/rc.alsa
@@ -0,0 +1,93 @@
+#!/bin/sh
+# Load the mixer settings and OSS compatibility for ALSA.
+# (the Advanced Linux Sound Architecture)
+
+# A function to load the ALSA mixer settings:
+load_alsa_mixer() {
+ if [ -r /etc/asound.state ]; then
+ echo "Loading ALSA mixer settings: /usr/sbin/alsactl restore"
+ /usr/sbin/alsactl restore
+ else
+ # It's possible a user might not want to set a default sound state.
+ # In that case, do this: touch /etc/no.asound.state
+ if [ ! -r /etc/no.asound.state ]; then
+ echo "Setting default ALSA mixer settings."
+ # set default mixer volumes for ALSA
+ # Taken from the alsaconfig script.
+ amixer -s -q <<EOF
+set Master 75% unmute
+set Master -12dB
+set 'Master Mono' 75% unmute
+set 'Master Mono' -12dB
+set Front 75% unmute
+set Front -12dB
+set PCM 90% unmute
+set PCM 0dB
+mixer Synth 90% unmute
+mixer Synth 0dB
+mixer CD 90% unmute
+mixer CD 0dB
+# mute mic
+set Mic 0% mute
+# ESS 1969 chipset has 2 PCM channels
+set PCM,1 90% unmute
+set PCM,1 0dB
+# Trident/YMFPCI/emu10k1
+set Wave 100% unmute
+set Music 100% unmute
+set AC97 100% unmute
+# CS4237B chipset:
+set 'Master Digital' 75% unmute
+# Envy24 chips with analog outs
+set DAC 90% unmute
+set DAC -12dB
+set DAC,0 90% unmute
+set DAC,0 -12dB
+set DAC,1 90% unmute
+set DAC,1 -12dB
+# some notebooks use headphone instead of master
+set Headphone 75% unmute
+set Headphone -12dB
+set Playback 100% unmute
+# turn off digital switches
+set "SB Live Analog/Digital Output Jack" off
+set "Audigy Analog/Digital Output Jack" off
+EOF
+ echo "Storing default ALSA mixer settings: /usr/sbin/alsactl store"
+ /usr/sbin/alsactl store
+ fi
+ fi
+}
+
+# A function to load the ALSA OSS compat modules:
+load_alsa_oss_modules() {
+ if ! cat /proc/modules | tr _ - | grep -wq snd-pcm-oss ; then
+ echo "Loading OSS compatibility modules for ALSA."
+ modprobe snd-pcm-oss
+ modprobe snd-seq-oss
+ modprobe snd-mixer-oss
+ fi
+}
+
+# If hotplug or something else has loaded the ALSA modules, then
+# simply load the mixer settings and make sure the OSS compat
+# modules are loaded:
+if [ -d /proc/asound ]; then
+ load_alsa_oss_modules
+ load_alsa_mixer
+else
+ # If there are ALSA modules defined in /etc/modprobe.conf, but
+ # ALSA is not yet loaded, then load the modules now:
+ DRIVERS=$(modprobe -c | grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | tr -s "[[:blank:]]" " " | cut -d " " -f 3)
+ if [ ! "$DRIVERS" = "" ]; then
+ echo "Loading ALSA kernel modules."
+ for module in $DRIVERS; do
+ modprobe $module
+ done
+ fi
+ # If ALSA is now up, then load the mixer settings and OSS modules:
+ if [ -d /proc/asound ]; then
+ load_alsa_oss_modules
+ load_alsa_mixer
+ fi
+fi
diff --git a/source/ap/alsa-utils/slack-desc b/source/ap/alsa-utils/slack-desc
new file mode 100644
index 000000000..06ca73c09
--- /dev/null
+++ b/source/ap/alsa-utils/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# 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
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+alsa-utils: alsa-utils (Advanced Linux Sound Architecture utilities)
+alsa-utils:
+alsa-utils: The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
+alsa-utils: functionality to the Linux operating system. This package contains
+alsa-utils: command line audio utilities for use with ALSA:
+alsa-utils: alsactl (manage soundcard settings)
+alsa-utils: arecord/aplay (capture and play audio)
+alsa-utils: amixer (adjust mixer settings from the command line)
+alsa-utils: alsamixer (an ncurses-based console mixer)
+alsa-utils:
+alsa-utils: For more information, see http://alsa-project.org