0

alsa-utils: add 1.2.11

This commit is contained in:
eleksir
2024-07-06 22:56:24 +03:00
parent 826eeeb93d
commit b939a91294
7 changed files with 361 additions and 0 deletions

144
alsa-utils/alsa-utils.SlackBuild Executable file
View File

@@ -0,0 +1,144 @@
#!/bin/bash
# Copyright 2008, 2009, 2010, 2011, 2015, 2018 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.
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=alsa-utils
VERSION=${VERSION:-$(echo alsa-utils-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
TMP=${TMP:-/tmp}
PKG=$TMP/package-alsa-utils
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i586 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
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.txz"
exit 0
fi
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
elif [ "$ARCH" = "arm" ]; then
SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "armel" ]; then
SLKCFLAGS="-O2 -march=armv4t"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf alsa-utils-$VERSION
tar xvf $CWD/alsa-utils-$VERSION.tar.?z || exit 1
cd alsa-utils-$VERSION || exit 1
# Better off just disabling alsaconf...
#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 \
--disable-alsaconf \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
mkdir -p $PKG/etc/rc.d
cat $CWD/rc.alsa > $PKG/etc/rc.d/rc.alsa.new
chmod 0644 $PKG/etc/rc.d/rc.alsa.new
cat $CWD/rc.alsa-oss > $PKG/etc/rc.d/rc.alsa-oss.new
chmod 0644 $PKG/etc/rc.d/rc.alsa-oss.new
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 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
# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
if [ -r ChangeLog ]; then
DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
touch -r ChangeLog $DOCSDIR/ChangeLog
fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/alsa-utils-$VERSION-$ARCH-$BUILD.txz

View File

@@ -0,0 +1,59 @@
--- ./alsaconf/alsaconf.in.orig 2010-04-16 06:11:06.000000000 -0500
+++ ./alsaconf/alsaconf.in 2010-05-29 21:08:39.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
@@ -302,10 +304,12 @@
else
if [ "$distribution" = "gentoo" ]; then
cfgfile="/etc/modules.d/alsa"
+elif [ "$distribution" = "slackware" ]; then
+ cfgfile="/etc/modprobe.d/sound.conf"
elif [ "$kernel" = "new" ]; then
cfgfile="/etc/modprobe.conf"
if [ -d /etc/modprobe.d ]; then
- cfgout="/etc/modprobe.d/50-sound.conf"
+ cfgout="/etc/modprobe.d/sound.conf"
cfgoldout="/etc/modprobe.d/sound"
if [ ! -f $cfgout ]; then
modver=$(modprobe -V | sed -e's/^module-init-tools version //')
--- ./alsaconf/alsaconf.8.orig 2010-04-16 06:11:06.000000000 -0500
+++ ./alsaconf/alsaconf.8 2010-05-29 21:07:51.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>.

View File

@@ -0,0 +1 @@
ftp://ftp.alsa-project.org/pub

27
alsa-utils/doinst.sh Normal file
View File

@@ -0,0 +1,27 @@
if [ -r etc/asound.state -a ! -r var/lib/alsa/asound.state -a ! -L etc/asound.state ]; then
mv etc/asound.state var/lib/alsa
fi
# Better a dangling symlink than for nobody to know where this went:
rm -f etc/asound.state
( cd etc && ln -sf ../var/lib/alsa/asound.state . )
# Duplicate permissions from any existing rc scripts:
if [ -e etc/rc.d/rc.alsa ]; then
if [ -x etc/rc.d/rc.alsa ]; then
chmod 755 etc/rc.d/rc.alsa.new
else
chmod 644 etc/rc.d/rc.alsa.new
fi
fi
if [ -e etc/rc.d/rc.alsa-oss ]; then
if [ -x etc/rc.d/rc.alsa-oss ]; then
chmod 755 etc/rc.d/rc.alsa-oss.new
else
chmod 644 etc/rc.d/rc.alsa-oss.new
fi
fi
# Move the scripts into place:
mv etc/rc.d/rc.alsa.new etc/rc.d/rc.alsa
mv etc/rc.d/rc.alsa-oss.new etc/rc.d/rc.alsa-oss

87
alsa-utils/rc.alsa Normal file
View File

@@ -0,0 +1,87 @@
#!/bin/sh
# Load the mixer settings and OSS compatibility (if enabled) for ALSA.
# (the Advanced Linux Sound Architecture)
# A function to load the ALSA mixer settings:
load_alsa_mixer() {
if [ -r /var/lib/alsa/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 /var/lib/alsa/no.asound.state
if [ ! -r /var/lib/alsa/no.asound.state ]; then
echo "Setting default ALSA mixer settings."
# set default mixer volumes for ALSA
# Taken from the alsaconf 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
}
# If udev or something else has loaded the ALSA modules, then
# simply load the mixer settings and make sure the OSS compat
# modules are loaded (if enabled):
if [ -d /proc/asound ]; then
if [ -x /etc/rc.d/rc.alsa-oss ]; then
sh /etc/rc.d/rc.alsa-oss
fi
load_alsa_mixer
else
# If there are ALSA modules defined in /etc/modprobe.d/*, 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 enabled):
if [ -d /proc/asound ]; then
if [ -x /etc/rc.d/rc.alsa-oss ]; then
sh /etc/rc.d/rc.alsa-oss
fi
load_alsa_mixer
fi
fi

24
alsa-utils/rc.alsa-oss Normal file
View File

@@ -0,0 +1,24 @@
#!/bin/sh
# Load the ALSA OSS kernel modules to support OSS applications.
# To use this, set this script as executable (chmod 755 rc.alsa-oss)
# and it will be run from the main rc.alsa script. Unless you know
# that something requires OSS support, it is better to leave this
# script disabled. Some applications will try OSS first even though
# they also support ALSA, and will block other applications from
# using audio I/O.
#
# Many programs that use OSS can be run using the aoss wrapper and
# will then use ALSA in a non-blocking way (and will not require
# loading these kernel modules). Consider trying that before enabling
# these modules. (See "man aoss")
if modprobe -c | tr _ - | grep -wq snd-pcm-oss ; then
if ! cat /proc/modules | tr _ - | grep -wq snd-pcm-oss ; then
echo "Loading OSS compatibility modules for ALSA."
# Use -b to enable blacklisting these modules:
modprobe -q -b snd-pcm-oss
modprobe -q -b snd-seq-oss
modprobe -q -b snd-mixer-oss
fi
fi

19
alsa-utils/slack-desc Normal file
View File

@@ -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