0

Compare commits

...

10 Commits

Author SHA1 Message Date
eleksir
8965577b4d docker: bump 24.0.7 -> 26.1.2 2024-07-06 23:05:53 +03:00
eleksir
84355fddd9 docker-cli: bump 24.0.7 -> 26.1.2 2024-07-06 23:05:53 +03:00
eleksir
391817c375 containerd: bump 1.7.8 -> 1.7.16 2024-07-06 23:05:53 +03:00
eleksir
1660b461a5 runc: bump 1.1.10 -> 1.1.12 2024-07-06 23:05:53 +03:00
eleksir
738eec20be speexdsp: add 1.2.1 2024-07-06 23:05:53 +03:00
eleksir
b2f1ef3da1 speex: add 1.2.1 2024-07-06 23:05:53 +03:00
eleksir
0f9b36b691 pulseaudio: add 17.0 2024-07-06 23:05:53 +03:00
eleksir
b939a91294 alsa-utils: add 1.2.11 2024-07-06 23:05:53 +03:00
eleksir
826eeeb93d alsa-plugins: add 1.2.7.1 2024-07-06 23:05:53 +03:00
eleksir
84b176efe2 alsa-lib: add 1.2.11 2024-07-06 23:05:53 +03:00
43 changed files with 1711 additions and 20 deletions

159
alsa-lib/alsa-lib.SlackBuild Executable file
View File

@@ -0,0 +1,159 @@
#!/bin/bash
# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2018, 2019, 2020, 2021 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-lib
VERSION=${VERSION:-$(echo alsa-lib-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
# 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
TMP=${TMP:-/tmp}
PKG=$TMP/package-alsa-lib
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
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
cd alsa-lib-$VERSION || exit 1
# Fix file missing in 1.1.6:
if [ ! -r src/conf/smixer.conf ]; then
cp -a $CWD/smixer.conf src/conf
fi
# Untar the configuration files. We'll install them later.
( mkdir ucm-and-topology-configs
cd ucm-and-topology-configs
for file in $CWD/alsa-*conf*tar.lz ; do
tar xvf $file
mv $(basename $file | cut -f 1-3 -d -)-*/* .
rmdir $(basename $file | cut -f 1-3 -d -)-*
mv README.md README-$(echo $(basename $file) | cut -f 1-3 -d -)
done
)
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 \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--enable-mixer-modules \
--enable-topology \
--enable-ucm \
--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
mkdir $PKG/etc
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
# Install ucm and topology configs:
( cd ucm-and-topology-configs ; tar cf - . ) | ( cd $PKG/usr/share/alsa ; tar xf -)
# TODO?
# ( cd src/pcm/ext
# make jack
# make jack-install )
mkdir -p $PKG/usr/doc/alsa-lib-$VERSION
cp -a \
INSTALL MEMORY-LEAK NOTES TODO \
$PKG/usr/doc/alsa-lib-$VERSION
cp -a COPYING $PKG/usr/doc/alsa-lib-$VERSION/COPYING.lib
cp -a aserver/COPYING $PKG/usr/doc/alsa-lib-$VERSION/COPYING.aserver
# 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-lib-$VERSION-$ARCH-$BUILD$TAG.txz

1
alsa-lib/alsa-lib.url Normal file
View File

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

View File

@@ -0,0 +1 @@
# ALSA system-wide config file

View File

@@ -0,0 +1,4 @@
# ALSA system-wide config file
# By default, redirect to PulseAudio:
pcm.default pulse
ctl.default pulse

14
alsa-lib/doinst.sh Normal file
View File

@@ -0,0 +1,14 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/asound.conf.new

19
alsa-lib/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-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: (libasound) which is used by audio applications.
alsa-lib:
alsa-lib: For more information, see http://alsa-project.org
alsa-lib:
alsa-lib:
alsa-lib:
alsa-lib:

13
alsa-lib/smixer.conf Normal file
View File

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

View File

@@ -0,0 +1,115 @@
#!/bin/bash
# Copyright 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-plugins
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$MARCH ;;
esac
fi
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
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 $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -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 -DHAVE_STDINT_H -DUSE_LIBSPEEX" \
CXXFLAGS="$SLKCFLAGS -DHAVE_STDINT_H -DUSE_LIBSPEEX" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--with-speex=lib \
--enable-maemo-plugin \
--mandir=/usr/man \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install-strip DESTDIR=$PKG || exit 1
# Remove symlink that's breaking audio:
rm -f $PKG/etc/alsa/conf.d/98-maemo.conf
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
doc/*.txt doc/README* \
$PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.txz

19
alsa-plugins/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 ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
alsa-plugins: alsa-plugins (Advanced Linux Sound Architecture Plugins)
alsa-plugins:
alsa-plugins: The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
alsa-plugins: functionality to the Linux operating system.
alsa-plugins: This package includes plugins for ALSA.
alsa-plugins:
alsa-plugins: Website: http://www.alsa-project.org
alsa-plugins:
alsa-plugins:
alsa-plugins:
alsa-plugins:

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

View File

@@ -26,8 +26,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=containerd
VERSION=${VERSION:-1.7.8}
GITHASH=${GITHASH:-8e4b0bd}
VERSION=${VERSION:-1.7.16}
GITHASH=${GITHASH:-8303183}
BUILD=${BUILD:-1}
TAG=${TAG:-_EXs}

View File

@@ -1,10 +1,10 @@
PRGNAM="containerd"
VERSION="1.7.8"
VERSION="1.7.16"
HOMEPAGE="https://containerd.io/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://github.com/containerd/containerd/archive/v1.7.8/containerd-1.7.8.tar.gz"
MD5SUM_x86_64="8fdec29052484dd4e11186014dab9f46"
DOWNLOAD_x86_64="https://github.com/containerd/containerd/archive/v1.7.16/containerd-1.7.16.tar.gz"
MD5SUM_x86_64=""
BUILDREQUIRES="google-go-lang"
REQUIRES="runc"
MAINTAINER="Sergei Fedosoff"

View File

@@ -25,8 +25,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=docker-cli
VERSION=${VERSION:-24.0.7}
GITHASH=${GITHASH:-afdd53b}
VERSION=${VERSION:-26.1.2}
GITHASH=${GITHASH:-211e74b}
BUILD=${BUILD:-1}
TAG=${TAG:-_EXs}

View File

@@ -1,10 +1,10 @@
PRGNAM="docker-cli"
VERSION="24.0.7"
VERSION="26.1.2"
HOMEPAGE="https://www.docker.com/products/container-runtime"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://github.com/docker/cli/archive/v24.0.7/cli-24.0.7.tar.gz"
MD5SUM_x86_64="953bf757e181dec46ee4ac815553f2a6"
DOWNLOAD_x86_64="https://github.com/docker/cli/archive/v26.1.2/cli-26.1.2.tar.gz"
MD5SUM_x86_64="64f33ed93d8ccaa8901497cbf6eadd9c"
BUILDREQUIRES="google-go-lang"
REQUIRES="docker"
MAINTAINER="Sergei Fedosoff"

View File

@@ -26,9 +26,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=docker
VERSION=${VERSION:-24.0.7}
VERSION=${VERSION:-26.1.2}
# short hash!
GITHASH=${GITHASH:-311b9ff}
GITHASH=${GITHASH:-ef1912d}
BUILD=${BUILD:-1}
TAG=${TAG:-_EXs}

View File

@@ -1,10 +1,10 @@
PRGNAM="docker"
VERSION="24.0.7"
VERSION="26.1.2"
HOMEPAGE="https://www.docker.com/products/container-runtime"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://github.com/moby/moby/archive/v24.0.7/moby-24.0.7.tar.gz"
MD5SUM_x86_64="059ed51462797354f39e630d3d2257ef"
DOWNLOAD_x86_64="https://github.com/moby/moby/archive/v26.1.2/moby-26.1.2.tar.gz"
MD5SUM_x86_64="bce03db33b26c6e92788e1afe4daba38"
REQUIRES="containerd docker-cli tini"
BUILDREQUIRES="google-go-lang"
MAINTAINER="Sergei Fedosoff"

View File

@@ -0,0 +1,79 @@
From 1cb5647f76dc8cd7bacbce2a64fac9e6c2dc3b16 Mon Sep 17 00:00:00 2001
From: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
Date: Tue, 28 Apr 2015 14:32:43 +0300
Subject: [PATCH] client-conf: Add allow-autospawn-for-root
Usually autospawning for root is a bad idea, since it can easily
interfere with other users' PulseAudio instances, but in embedded
environments where only root exists, autospawning is fine.
Upstream-Status: Submitted [http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/23549]
Signed-off-by: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
---
man/pulse-client.conf.5.xml.in | 9 +++++++++
src/pulse/client-conf.c | 1 +
src/pulse/client-conf.h | 1 +
src/pulse/client.conf.in | 1 +
src/pulse/context.c | 2 +-
5 files changed, 13 insertions(+), 1 deletion(-)
--- ./man/pulse-client.conf.5.xml.in.orig 2016-05-10 07:28:04.000000000 -0500
+++ ./man/pulse-client.conf.5.xml.in 2016-06-22 13:39:30.494696654 -0500
@@ -82,6 +82,15 @@
</option>
<option>
+ <p><opt>allow-autospawn-for-root=</opt> Allow autospawning also for root.
+ Takes a boolean value, defaults to <opt>no</opt>. If the <opt>autospawn
+ </opt> option is disabled, this option has no effect. Autospawning for
+ root is disabled by default, because running PulseAudio as root will
+ interfere with regular users' PulseAudio instances. This option should be
+ enabled only in environments where there are no regular users at all.</p>
+ </option>
+
+ <option>
<p><opt>daemon-binary=</opt> Path to the PulseAudio daemon to
run when autospawning. Defaults to a path configured at compile
time.</p>
--- ./src/pulse/client.conf.in.orig 2016-05-03 01:17:39.000000000 -0500
+++ ./src/pulse/client.conf.in 2016-06-22 13:39:30.527696657 -0500
@@ -23,6 +23,7 @@
; default-dbus-server =
; autospawn = yes
+; allow-autospawn-for-root = no
; daemon-binary = @PA_BINARY@
; extra-arguments = --log-target=syslog
--- ./src/pulse/client-conf.c.orig 2016-05-10 07:28:04.000000000 -0500
+++ ./src/pulse/client-conf.c 2016-06-22 13:39:30.505696655 -0500
@@ -138,6 +138,7 @@
{ "default-server", pa_config_parse_string, &c->default_server, NULL },
{ "default-dbus-server", pa_config_parse_string, &c->default_dbus_server, NULL },
{ "autospawn", pa_config_parse_bool, &c->autospawn, NULL },
+ { "allow-autospawn-for-root", pa_config_parse_bool, &c->allow_autospawn_for_root, NULL },
{ "cookie-file", pa_config_parse_string, &c->cookie_file_from_client_conf, NULL },
{ "disable-shm", pa_config_parse_bool, &c->disable_shm, NULL },
{ "enable-shm", pa_config_parse_not_bool, &c->disable_shm, NULL },
--- ./src/pulse/context.c.orig 2016-06-01 05:50:54.000000000 -0500
+++ ./src/pulse/context.c 2016-06-22 13:39:30.536696657 -0500
@@ -1027,7 +1027,7 @@
if (!(flags & PA_CONTEXT_NOAUTOSPAWN) && c->conf->autospawn) {
#ifdef HAVE_GETUID
- if (getuid() == 0)
+ if (!c->conf->allow_autospawn_for_root && getuid() == 0)
pa_log_debug("Not doing autospawn since we are root.");
else {
c->do_autospawn = true;
--- ./src/pulse/client-conf.h.orig 2016-06-22 13:39:30.517696656 -0500
+++ ./src/pulse/client-conf.h 2016-06-22 13:40:11.754699631 -0500
@@ -38,6 +38,7 @@
char *cookie_file_from_application;
char *cookie_file_from_client_conf;
bool autospawn, disable_shm, disable_memfd, auto_connect_localhost, auto_connect_display;
+ bool allow_autospawn_for_root;
size_t shm_size;
} pa_client_conf;

View File

@@ -0,0 +1,27 @@
--- ./man/pulse-client.conf.5.xml.in.orig 2016-01-06 15:33:09.797022947 -0600
+++ ./man/pulse-client.conf.5.xml.in 2016-01-06 15:35:34.902019857 -0600
@@ -73,10 +73,7 @@
<option>
<p><opt>allow-autospawn-for-root=</opt> Allow autospawning also for root.
Takes a boolean value, defaults to <opt>no</opt>. If the <opt>autospawn
- </opt> option is disabled, this option has no effect. Autospawning for
- root is disabled by default, because running PulseAudio as root will
- interfere with regular users' PulseAudio instances. This option should be
- enabled only in environments where there are no regular users at all.</p>
+ </opt> option is disabled, this option has no effect.</p>
</option>
<option>
--- ./src/pulse/client.conf.in.orig 2016-01-06 15:33:09.800022947 -0600
+++ ./src/pulse/client.conf.in 2016-01-06 15:39:33.502014775 -0600
@@ -22,8 +22,8 @@
; default-server =
; default-dbus-server =
-; autospawn = yes
-; allow-autospawn-for-root = no
+autospawn = yes
+allow-autospawn-for-root = yes
; daemon-binary = @PA_BINARY@
; extra-arguments = --log-target=syslog

View File

@@ -0,0 +1,14 @@
--- ./src/daemon/main.c.orig 2015-10-30 07:16:48.000000000 -0500
+++ ./src/daemon/main.c 2016-01-07 15:05:42.131126245 -0600
@@ -647,10 +647,8 @@
}
#ifdef HAVE_GETUID
- if (getuid() == 0 && !conf->system_instance)
- pa_log_warn(_("This program is not intended to be run as root (unless --system is specified)."));
#ifndef HAVE_DBUS /* A similar, only a notice worthy check was done earlier, if D-Bus is enabled. */
- else if (getuid() != 0 && conf->system_instance) {
+ if (getuid() != 0 && conf->system_instance) {
pa_log(_("Root privileges required."));
goto finish;
}

View File

@@ -0,0 +1,91 @@
--- ./shell-completion/bash/pactl.orig 2022-05-28 10:18:37.000000000 -0500
+++ ./shell-completion/bash/pactl 2022-06-02 13:55:52.301595146 -0500
@@ -1,39 +1,45 @@
#!/bin/bash
__cards () {
+ (pactl list cards short 2> /dev/null) |\
while IFS=$'\t' read idx name _; do
printf "%s %s\n" "$idx" "$name"
- done < <(pactl list cards short 2> /dev/null)
+ done
}
__sinks () {
+ (pactl list sinks short 2> /dev/null) |\
while IFS=$'\t' read _ name _ _ _; do
printf "%s\n" "$name"
- done < <(pactl list sinks short 2> /dev/null)
+ done
}
__sinks_idx () {
+ (pactl list sinks short 2> /dev/null) |\
while IFS=$'\t' read idx _ _ _ _; do
printf "%s\n" "$idx"
- done < <(pactl list sinks short 2> /dev/null)
+ done
}
__sources () {
+ (pactl list sources short 2> /dev/null) |\
while IFS=$'\t' read _ name _ _ _; do
printf "%s\n" "$name"
- done < <(pactl list sources short 2> /dev/null)
+ done
}
__sink_inputs () {
+ (pactl list sink-inputs short 2> /dev/null) |\
while IFS=$'\t' read idx _ _ _ _; do
printf "%s\n" "$idx"
- done < <(pactl list sink-inputs short 2> /dev/null)
+ done
}
__source_outputs () {
+ (pactl list source-outputs short 2> /dev/null) |\
while IFS=$'\t' read idx _ _ _ _; do
printf "%s\n" "$idx"
- done < <(pactl list source-outputs short 2> /dev/null)
+ done
}
__ports () {
@@ -77,28 +83,32 @@
}
__all_modules () {
+ (pulseaudio --dump-modules 2> /dev/null) |\
while read name; do
name=${name%% *}
printf "%s\n" "$name"
- done < <(pulseaudio --dump-modules 2> /dev/null)
+ done
}
__loaded_modules () {
+ (pactl list modules short 2> /dev/null) |\
while IFS=$'\t' read idx name _; do
printf "%s %s\n" "$idx" "$name"
- done < <(pactl list modules short 2> /dev/null)
+ done
}
__resample_methods () {
+ (pulseaudio --dump-resample-methods 2> /dev/null) |\
while read name; do
printf "%s\n" "$name"
- done < <(pulseaudio --dump-resample-methods 2> /dev/null)
+ done
}
_pacat_file_formats () {
+ (pacat --list-file-formats 2> /dev/null) |\
while IFS=$'\t' read name _; do
printf "%s\n" "$name"
- done < <(pacat --list-file-formats 2> /dev/null)
+ done
}
in_array() {

44
pulseaudio/doinst.sh Normal file
View File

@@ -0,0 +1,44 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
preserve_perms() {
NEW="$1"
OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
if [ -e ${OLD} ]; then
cp -a ${OLD} ${NEW}.incoming
cat ${NEW} > ${NEW}.incoming
mv ${NEW}.incoming ${NEW}
fi
config ${NEW}
}
config etc/pulse/client.conf.new
config etc/pulse/daemon.conf.new
config etc/pulse/default.pa.new
config etc/pulse/system.pa.new
config etc/xdg/autostart/pulseaudio.desktop.new
preserve_perms etc/rc.d/rc.pulseaudio.new
# Make sure the pulse user is in the audio group:
chroot . /usr/sbin/usermod -a -G audio pulse 1> /dev/null 2> /dev/null
# Make sure the root user is in the audio group:
chroot . /usr/sbin/usermod -a -G audio root 1> /dev/null 2> /dev/null
# Recompile glib schemas:
if [ -e usr/share/glib-2.0/schemas ]; then
if [ -x /usr/bin/glib-compile-schemas ]; then
/usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
fi
fi

View File

@@ -0,0 +1,64 @@
From ed3d4f0837f670e5e5afb1afa5bcfc8ff05d3407 Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Fri, 1 Dec 2023 13:28:05 +0300
Subject: [PATCH] alsa-ucm: Replace port device UCM context assertion with an
error
The pa_alsa_ucm_set_port() function is passed both a mapping context and
a device port, and both of these refer to their respective UCM device.
While switching over to having one port per mapping per UCM device, I
expected both of these to be the same device struct, so added an assert
checking so.
This assertion gets triggered when we have multiple UCM verbs declaring
the same UCM device name. The root cause here is that the ports' UCM
device references are set once while creating the ports for the card, so
they happen to be those of a specific verb and may not match those from
a different UCM verb's profiles' mappings.
Solving the root cause necessitates a larger refactor. What we actually
assume here is that name of the UCM device is same for both the port and
the UCM context, which ends up always true in practice. For now, replace
the assert with a check and error.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/802>
---
src/modules/alsa/alsa-ucm.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c
index 7f5136249..018c01739 100644
--- a/src/modules/alsa/alsa-ucm.c
+++ b/src/modules/alsa/alsa-ucm.c
@@ -1581,6 +1581,7 @@ int pa_alsa_ucm_set_port(pa_alsa_ucm_mapping_context *context, pa_device_port *p
pa_alsa_ucm_config *ucm;
pa_alsa_ucm_device *dev;
pa_alsa_ucm_port_data *data;
+ const char *dev_name, *ucm_dev_name;
pa_assert(context && context->ucm);
@@ -1588,8 +1589,17 @@ int pa_alsa_ucm_set_port(pa_alsa_ucm_mapping_context *context, pa_device_port *p
pa_assert(ucm->ucm_mgr);
data = PA_DEVICE_PORT_DATA(port);
- dev = context->ucm_device;
- pa_assert(dev == data->device);
+ dev = data->device;
+ pa_assert(dev);
+
+ if (context->ucm_device) {
+ dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
+ ucm_dev_name = pa_proplist_gets(context->ucm_device->proplist, PA_ALSA_PROP_UCM_NAME);
+ if (!pa_streq(dev_name, ucm_dev_name)) {
+ pa_log_error("Failed to set port %s with wrong UCM context: %s", dev_name, ucm_dev_name);
+ return -1;
+ }
+ }
return ucm_device_enable(ucm, dev);
}
--
GitLab

View File

@@ -0,0 +1,95 @@
From f5cacd94abcc47003bd88ad7ca1450de649ffb15 Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Thu, 30 Nov 2023 20:17:22 +0300
Subject: [PATCH] alsa-ucm: Check UCM verb before working with device status
Some versions of the ALSA libraries run into a segmentation fault when
we query a UCM device/modifier status without first setting a UCM verb.
It's not a reasonable thing to do anyway, so check for this case and
return an error. Also do the check in other helpers.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/801>
---
src/modules/alsa/alsa-ucm.c | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c
index bb9438f79..7f5136249 100644
--- a/src/modules/alsa/alsa-ucm.c
+++ b/src/modules/alsa/alsa-ucm.c
@@ -624,6 +624,11 @@ static long ucm_device_status(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev)
char *devstatus;
long status = 0;
+ if (!ucm->active_verb) {
+ pa_log_error("Failed to get status for UCM device %s: no UCM verb set", dev_name);
+ return -1;
+ }
+
devstatus = pa_sprintf_malloc("_devstatus/%s", dev_name);
if (snd_use_case_geti(ucm->ucm_mgr, devstatus, &status) < 0) {
pa_log_debug("Failed to get status for UCM device %s", dev_name);
@@ -637,6 +642,11 @@ static long ucm_device_status(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev)
static int ucm_device_disable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev) {
const char *dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
+ if (!ucm->active_verb) {
+ pa_log_error("Failed to disable UCM device %s: no UCM verb set", dev_name);
+ return -1;
+ }
+
/* If any of dev's conflicting devices is enabled, trying to disable
* dev gives an error despite the fact that it's already disabled.
* Check that dev is enabled to avoid this error. */
@@ -657,6 +667,11 @@ static int ucm_device_disable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev)
static int ucm_device_enable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *dev) {
const char *dev_name = pa_proplist_gets(dev->proplist, PA_ALSA_PROP_UCM_NAME);
+ if (!ucm->active_verb) {
+ pa_log_error("Failed to enable UCM device %s: no UCM verb set", dev_name);
+ return -1;
+ }
+
/* We don't need to enable devices that are already enabled */
if (ucm_device_status(ucm, dev) > 0) {
pa_log_debug("UCM device %s is already enabled", dev_name);
@@ -707,6 +722,11 @@ static long ucm_modifier_status(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *m
char *modstatus;
long status = 0;
+ if (!ucm->active_verb) {
+ pa_log_error("Failed to get status for UCM modifier %s: no UCM verb set", mod_name);
+ return -1;
+ }
+
modstatus = pa_sprintf_malloc("_modstatus/%s", mod_name);
if (snd_use_case_geti(ucm->ucm_mgr, modstatus, &status) < 0) {
pa_log_debug("Failed to get status for UCM modifier %s", mod_name);
@@ -720,6 +740,11 @@ static long ucm_modifier_status(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *m
static int ucm_modifier_disable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *mod) {
const char *mod_name = pa_proplist_gets(mod->proplist, PA_ALSA_PROP_UCM_NAME);
+ if (!ucm->active_verb) {
+ pa_log_error("Failed to disable UCM modifier %s: no UCM verb set", mod_name);
+ return -1;
+ }
+
/* We don't need to disable modifiers that are already disabled */
if (ucm_modifier_status(ucm, mod) == 0) {
pa_log_debug("UCM modifier %s is already disabled", mod_name);
@@ -738,6 +763,11 @@ static int ucm_modifier_disable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *m
static int ucm_modifier_enable(pa_alsa_ucm_config *ucm, pa_alsa_ucm_modifier *mod) {
const char *mod_name = pa_proplist_gets(mod->proplist, PA_ALSA_PROP_UCM_NAME);
+ if (!ucm->active_verb) {
+ pa_log_error("Failed to disable UCM modifier %s: no UCM verb set", mod_name);
+ return -1;
+ }
+
/* We don't need to enable modifiers that are already enabled */
if (ucm_modifier_status(ucm, mod) > 0) {
pa_log_debug("UCM modifier %s is already enabled", mod_name);
--
GitLab

View File

@@ -0,0 +1,10 @@
--- ./src/daemon/meson.build.orig 2021-07-27 15:02:27.738868200 -0500
+++ ./src/daemon/meson.build 2021-08-09 13:15:24.344941127 -0500
@@ -38,6 +38,7 @@
if x11_dep.found()
conf = configuration_data()
conf.set('PACTL_BINARY', join_paths(bindir, 'pactl'))
+ conf.set('PA_BINARY', join_paths(bindir, 'pulseaudio'))
configure_file(
input : 'start-pulseaudio-x11.in',

View File

@@ -0,0 +1,13 @@
diff -up pulseaudio-6.0/src/daemon/start-pulseaudio-x11.in.autostart pulseaudio-6.0/src/daemon/start-pulseaudio-x11.in
--- pulseaudio-6.0/src/daemon/start-pulseaudio-x11.in.autostart 2015-02-12 08:10:35.000000000 -0600
+++ pulseaudio-6.0/src/daemon/start-pulseaudio-x11.in 2015-06-22 11:24:13.561614127 -0500
@@ -17,6 +17,9 @@
set -e
+# probe to test if autospawn works, else resort to starting manually
+@PACTL_BINARY@ info > /dev/null 2>&1 || @PA_BINARY@ --start "$@"
+
if [ x"$DISPLAY" != x ] ; then
@PACTL_BINARY@ load-module module-x11-publish "display=$DISPLAY" > /dev/null

164
pulseaudio/pulseaudio.SlackBuild Executable file
View File

@@ -0,0 +1,164 @@
#!/bin/bash
# Slackware build script for pulseaudio
# Copyright 2015 Christoph Willing Brisbane, Australia
# Copyright 2016, 2018, 2020, 2024 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=pulseaudio
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-4}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) 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
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -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 {} \+
cat $CWD/030_posix-completion.diff | patch -p0 --verbose || exit 1
# https://bugzilla.redhat.com/show_bug.cgi?id=1234710
cat $CWD/0001-client-conf-Add-allow-autospawn-for-root.patch | patch -p1 --verbose || exit 1
cat $CWD/0002-allow-autospawn-for-root-default.diff | patch -p1 --verbose || exit 1
# Do not log a warning every time root uses PulseAudio:
cat $CWD/0003-no-root-warn.diff | patch -p1 --verbose || exit 1
sed -i -e '/@PA_BINARY@/ imkdir -p \$HOME/.config/pulse' src/daemon/start-pulseaudio-x11.in
echo "X-MATE-Autostart-Phase=Initialization" >> src/daemon/pulseaudio.desktop.in
# If autospawn isn't working, start-pulseaudio-x11 should start it manually:
cat $CWD/pulseaudio-autostart.patch | patch -p1 --verbose || exit 1
# When built by meson, this patch also required to fix the above issue:
cat $CWD/pulseaudio-autostart-meson.build.patch | patch -p1 --verbose || exit 1
# Fix 17.0 regressions:
cat $CWD/ed3d4f0837f670e5e5afb1afa5bcfc8ff05d3407.patch | patch -p1 --verbose || exit 1
cat $CWD/f5cacd94abcc47003bd88ad7ca1450de649ffb15.patch | patch -p1 --verbose || exit 1
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
mkdir meson-build
cd meson-build
meson setup \
--prefix=/usr \
--libdir=lib${LIBDIRSUFFIX} \
--libexecdir=/usr/libexec \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--includedir=/usr/include \
--datadir=/usr/share \
--mandir=/usr/man \
--sysconfdir=/etc \
--localstatedir=/var \
--buildtype=release \
-Dorc=enabled \
-Dgsettings=enabled \
-Dhal-compat=false \
-Dsystem_user="pulse" \
-Dsystem_group="pulse" \
-Daccess_group="audio" \
-Dbashcompletiondir="/usr/share/bash-completion/completions" \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
DESTDIR=$PKG $NINJA install || exit 1
cd ..
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Move dbus configs to system location:
mkdir -p $PKG/usr/share/dbus-1/system.d/
mv $PKG/etc/dbus-1/system.d/* $PKG/usr/share/dbus-1/system.d/
rmdir --parents $PKG/etc/dbus-1/system.d/
# Move config files to .new:
for f in $( find $PKG/etc/pulse/ -type f ) ; do mv $f $f.new ; done
mv $PKG/etc/xdg/autostart/pulseaudio.desktop $PKG/etc/xdg/autostart/pulseaudio.desktop.new
# Add an init script for system wide mode. You shouldn't use this, but we'll
# still let you if you really want.
mkdir -p $PKG/etc/rc.d
cp $CWD/rc.pulseaudio $PKG/etc/rc.d/rc.pulseaudio.new
chmod 644 $PKG/etc/rc.d/rc.pulseaudio.new
chown root:root $PKG/etc/rc.d/rc.pulseaudio.new
# Compress and link manpages:
find $PKG/usr/man -type f -exec gzip -9 {} \+
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
# Install documentation:
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
COPYING* *GPL LICENSE README* \
$PKG/usr/doc/$PKGNAM-$VERSION
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/$PKGNAM-$VERSION-$ARCH-$BUILD.txz

View File

@@ -0,0 +1 @@
http://freedesktop.org/software/pulseaudio/releases/

48
pulseaudio/rc.pulseaudio Normal file
View File

@@ -0,0 +1,48 @@
#!/bin/sh
#
# Start/stop/restart PulseAudio in system mode.
# In this mode, a single system instance of PulseAudio will be shared by
# multiple local users.
#
# Please note: this is not generally the best way to use PulseAudio!
# Normally pulseaudio will start automatically as-needed with an instance
# per audio user. Unless you really need to use system mode you should leave
# this script non-executable.
#
# For more information, see:
# http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide
pulse_start() {
if [ -x /usr/bin/pulseaudio ]; then
echo "Starting system PulseAudio daemon: /usr/bin/pulseaudio --system --disallow-module-loading &"
rm -rf /var/lib/pulse
# Any errors/warnings will go to the log files:
/usr/bin/pulseaudio --system --disallow-module-loading 1> /dev/null 2> /dev/null &
fi
}
pulse_stop() {
echo "Stopping PulseAudio: /bin/killall pulseaudio"
/bin/killall pulseaudio 2> /dev/null
}
pulse_restart() {
pulse_stop
sleep 1
pulse_start
}
case "$1" in
'start')
pulse_start
;;
'stop')
pulse_stop
;;
'restart')
pulse_restart
;;
*)
echo "usage $0 start|stop|restart"
esac

19
pulseaudio/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 ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
pulseaudio: pulseaudio (PulseAudio sound server)
pulseaudio:
pulseaudio: Pulseaudio is a networked low-latency sound server intended to be an
pulseaudio: improved replacement for the Enlightened Sound Daemon (EsounD).
pulseaudio:
pulseaudio: Homepage: http://www.pulseaudio.org
pulseaudio:
pulseaudio:
pulseaudio:
pulseaudio:
pulseaudio:

View File

@@ -26,8 +26,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=runc
VERSION=${VERSION:-1.1.10}
PRGVER=${PRGVER:-1.1.10}
VERSION=${VERSION:-1.1.12}
PRGVER=${PRGVER:-1.1.12}
BUILD=${BUILD:-1}
TAG=${TAG:-_EXs}

View File

@@ -1,10 +1,10 @@
PRGNAM="runc"
VERSION="1.1.10"
VERSION="1.1.12"
HOMEPAGE="https://github.com/opencontainers/runc"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://github.com/opencontainers/runc/archive/v1.1.10/runc-1.1.10.tar.gz"
MD5SUM_x86_64="1a3c4081ad29cfaf8544edc70be81e0c"
DOWNLOAD_x86_64="https://github.com/opencontainers/runc/archive/v1.1.12/runc-1.1.12.tar.gz"
MD5SUM_x86_64="e77fb3f6d3070da60f58688bde3e7583"
BUILDREQUIRES="google-go-lang libseccomp"
REQUIRES="libseccomp"
MAINTAINER="Sergei Fedosoff"

19
speex/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 ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
speex: speex (low-bitrate voice audio codec)
speex:
speex: Speex is a patent-free, Open Source/Free Software voice codec. Unlike
speex: other codecs like MP3 and Ogg Vorbis, Speex is designed to compress
speex: voice at bitrates in the 2-45 kbps range. Possible applications
speex: include VoIP, internet audio streaming, archiving of speech data
speex: (e.g. voice mail), and audio books. It is meant to be complementary
speex: to the Ogg Vorbis codec.
speex:
speex: Homepage: https://www.speex.org/
speex:

157
speex/speex.SlackBuild Executable file
View File

@@ -0,0 +1,157 @@
#!/bin/bash
# Copyright 2017, 2018, 2022 Patrick J. Volkerding, Sebeka, Minnesota, 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=speex
SRCNAM=speex-Speex
VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | rev | cut -f 3- -d -)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
export ARCH
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-$(echo $VERSION | tr '-' '_')-$ARCH-$BUILD.txz"
exit 0
fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
cd $SRCNAM-$VERSION || exit 1
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 {} \+
# Configure:
if [ ! -r configure ]; then
if [ -x ./autogen.sh ]; then
NOCONFIGURE=1 ./autogen.sh
else
autoreconf -vif
fi
fi
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--infodir=/usr/info \
--docdir=/usr/doc/${PKGNAM}-$VERSION \
--disable-static \
--enable-binaries \
--build=$ARCH-slackware-linux || exit 1
# Build and install:
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
# Don't ship .la files:
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
# Strip binaries:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
AUTHORS COPYING* ChangeLog NEWS* README* TODO \
$PKG/usr/doc/${PKGNAM}-$VERSION
# Compress and link manpages, if any:
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 | grep -v '\.gz$') ; do
ln -s $( readlink $eachpage ).gz $eachpage.gz
rm $eachpage
done
gzip -9 *.?
)
done
)
fi
# 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/${PKGNAM}-$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
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$(echo $VERSION | tr '-' '_')-$ARCH-$BUILD.txz

1
speex/speex.url Normal file
View File

@@ -0,0 +1 @@
https://github.com/xiph/speex

19
speexdsp/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 ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
speexdsp: speexdsp (DSP library)
speexdsp:
speexdsp: SpeexDSP is a patent-free, Open Source/Free Software DSP library.
speexdsp:
speexdsp: Homepage: http://www.speex.org/
speexdsp:
speexdsp:
speexdsp:
speexdsp:
speexdsp:
speexdsp:

119
speexdsp/speexdsp.SlackBuild Executable file
View File

@@ -0,0 +1,119 @@
#!/bin/bash
# Copyright 2015, 2018, 2019, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "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 COPYRIGHT
# OWNER OR CONTRIBUTORS 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=speexdsp
SRCNAM=speexdsp-SpeexDSP
VERSION=${VERSION:-$(echo $SRCNAM-*.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-$PKGNAM
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$MARCH ;;
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"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
cd $SRCNAM-$VERSION || exit 1
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -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 {} \+
if [ ! -r configure ]; then
if [ -x ./autogen.sh ]; then
NOCONFIGURE=1 ./autogen.sh
else
autoreconf -vif
fi
fi
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--enable-static=no \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
cp -a \
COPYING* README* TODO \
$PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz

1
speexdsp/speexdsp.url Normal file
View File

@@ -0,0 +1 @@
https://github.com/xiph/speexdsp