audio/mhwaveedit: Build enhancements.

Signed-off-by: B. Watson <yalhcru@gmail.com>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2021-11-27 15:01:36 -05:00 committed by Willy Sudiarto Raharjo
parent 53158b1cad
commit ce43731bd0
No known key found for this signature in database
GPG key ID: 3F617144D7238786
3 changed files with 61 additions and 23 deletions

View file

@ -4,17 +4,31 @@ mhWaveEdit is a graphical program for editing, playing, and recording
sound files. It is lightweight, portable, user-friendly, and handles
large files very well.
The program itself has only simple editing features such as cut'n'paste
and volume adjustment, but it can also use Ladspa effect plugins
The program itself has only simple editing features such as cut &
paste and volume adjustment, but it can also use Ladspa effect plugins
and the effects provided by the SoX application. It can also support
additional file formats besides wav through libsndfile and mp3/ogg
import and export through lame and oggenc/oggdec.
import and export through lame and oggenc/oggdec. It can import (but
not save) other file types via mplayer, such as .webm or .m4a, or the
soundtracks to video files.
lame, jack[*], and portaudio are optional dependencies.
lame is an optional runtime dependency.
[*] If jack support is included, this package uses POSIX filesystem
capabilities to execute with elevated privileges
(required for realtime audio processing). This may
be considered a security/stability risk. Please read
http://www.slackbuilds.org/caps/ for more information. To disable
capabilities, pass SETCAP=no to the script.
jack is an optional (autodetected) build-time dependency.
Build options (environment):
OSS=yes - if you need OSS audio support (disabled by default).
PULSE=no - do not include PulseAudio support (included by default).
JACK=no - do not include jack support (autodetected by default).
ALSA and SDL-1.2 audio support are always included. EsounD and aRts
are autodetected, but currently neither is included in Slackware
or SBo.
If jack support is included, this package uses POSIX filesystem
capabilities to execute with elevated privileges (required
for realtime audio processing). This may be considered a
security/stability risk. Please read http://www.slackbuilds.org/caps/
for more information. To disable capabilities, pass SETCAP=no to the
script.

View file

@ -1,12 +1,18 @@
#!/bin/bash
# Slackware build script for mhwaveedit
# Written by Felix Krueger
# Originally written by Felix Krueger
# Now maintained by B. Watson <yalhcru@gmail.com>. Original script
# had no license. Modified version licensed under the WTFPL. See
# http://www.wtfpl.net/txt/copying/ for details.
# 20211127 bkw: BUILD=2
# - portaudio support was broken, explicitly disable it and remove
# from README.
# - add JACK=no in case someone needs it.
# - dynamic slack-desc.
# 20181022 bkw:
# - Take over maintenance.
# - Update for v1.4.24. Incompatible changes, can't build old version.
@ -19,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=mhwaveedit
VERSION=${VERSION:-1.4.24}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -31,9 +37,6 @@ if [ -z "$ARCH" ]; then
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 "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@ -73,17 +76,28 @@ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
patch -p0 < $CWD/intbox.diff
# 20181023 bkw: environment variables to control the build options.
MIXER="${MIXER:-xterm -e alsamixer}"
PULSE="${PULSE:-yes}"
OSS="${OSS:-no}"
JACK="${JACK:-yes}"
[ "$PULSE" = "no" ] && EXTRAOPTS="$EXTRAOPTS --without-pulse"
[ "$OSS" = "no" ] && EXTRAOPTS="$EXTRAOPTS --without-oss"
[ "$PULSE" = "no" ] && EXTRAOPTS+=" --without-pulse"
[ "$OSS" = "no" ] && EXTRAOPTS+=" --without-oss"
[ "$JACK" = "no" ] && EXTRAOPTS+=" --without-jack"
# 20211127 bkw: this just sets the default; it can be changed in the
# preferences.
MIXER="${MIXER:-xterm -e alsamixer}"
# 20211127 bkw: add --without-portaudio. Our portaudio lacks the
# Pa_Timestamp type, so the configure script would disable it anyway.
# Not sure if that means our portaudio is too new or too old, not
# all that interested anyway.
CFLAGS="$SLKCFLAGS" \
./configure \
--with-default-mixerapp="$MIXER" \
$EXTRAOPTS \
--without-portaudio \
--with-default-ladspa-path=/usr/lib$LIBDIRSUFFIX/ladspa \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@ -110,11 +124,16 @@ cp -a AUTHORS COPYING ChangeLog NEWS README TODO $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
J=no; P=no; O=no
objdump -p $PKG/usr/bin/$PRGNAM | grep -q 'NEEDED.*libpulse' && P=yes
strings $PKG/usr/bin/$PRGNAM | grep -q /dev/dsp && O=yes
# realtime audio stuff only if JACK support included.
if ldd $PKG/usr/bin/$PRGNAM | grep -q libjack; then
if objdump -p $PKG/usr/bin/$PRGNAM | grep -q 'NEEDED.*libjack'; then
J=yes
if [ "${SETCAP:-yes}" = "yes" ]; then
cat $CWD/setcap.sh >> $PKG/install/doinst.sh
chown root:audio $PKG/usr/bin/$PRGNAM
@ -122,5 +141,10 @@ if ldd $PKG/usr/bin/$PRGNAM | grep -q libjack; then
fi
fi
sed -e "s,@J@,$J," \
-e "s,@P@,$P," \
-e "s,@O@,$O," \
$CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE

View file

@ -12,8 +12,8 @@ mhwaveedit: mhWaveEdit is a graphical program for editing, playing and
mhwaveedit: recording sound files. It is lightweight, portable, user-friendly
mhwaveedit: and handles large files very well.
mhwaveedit:
mhwaveedit: This package built with:
mhwaveedit: JACK=@J@ PulseAudio=@P@ OSS=@O@
mhwaveedit:
mhwaveedit: Homepage: https://github.com/magnush/mhwaveedit
mhwaveedit:
mhwaveedit:
mhwaveedit:
mhwaveedit: