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 sound files. It is lightweight, portable, user-friendly, and handles
large files very well. large files very well.
The program itself has only simple editing features such as cut'n'paste The program itself has only simple editing features such as cut &
and volume adjustment, but it can also use Ladspa effect plugins paste and volume adjustment, but it can also use Ladspa effect plugins
and the effects provided by the SoX application. It can also support and the effects provided by the SoX application. It can also support
additional file formats besides wav through libsndfile and mp3/ogg 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 jack is an optional (autodetected) build-time dependency.
capabilities to execute with elevated privileges
(required for realtime audio processing). This may Build options (environment):
be considered a security/stability risk. Please read
http://www.slackbuilds.org/caps/ for more information. To disable OSS=yes - if you need OSS audio support (disabled by default).
capabilities, pass SETCAP=no to the script. 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 #!/bin/bash
# Slackware build script for mhwaveedit # Slackware build script for mhwaveedit
# Written by Felix Krueger # Originally written by Felix Krueger
# Now maintained by B. Watson <yalhcru@gmail.com>. Original script # Now maintained by B. Watson <yalhcru@gmail.com>. Original script
# had no license. Modified version licensed under the WTFPL. See # had no license. Modified version licensed under the WTFPL. See
# http://www.wtfpl.net/txt/copying/ for details. # 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: # 20181022 bkw:
# - Take over maintenance. # - Take over maintenance.
# - Update for v1.4.24. Incompatible changes, can't build old version. # - Update for v1.4.24. Incompatible changes, can't build old version.
@ -19,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=mhwaveedit PRGNAM=mhwaveedit
VERSION=${VERSION:-1.4.24} VERSION=${VERSION:-1.4.24}
BUILD=${BUILD:-1} BUILD=${BUILD:-2}
TAG=${TAG:-_SBo} TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz} PKGTYPE=${PKGTYPE:-tgz}
@ -31,9 +37,6 @@ if [ -z "$ARCH" ]; then
esac esac
fi 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 if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0 exit 0
@ -73,17 +76,28 @@ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
patch -p0 < $CWD/intbox.diff patch -p0 < $CWD/intbox.diff
# 20181023 bkw: environment variables to control the build options. # 20181023 bkw: environment variables to control the build options.
MIXER="${MIXER:-xterm -e alsamixer}"
PULSE="${PULSE:-yes}" PULSE="${PULSE:-yes}"
OSS="${OSS:-no}" OSS="${OSS:-no}"
JACK="${JACK:-yes}"
[ "$PULSE" = "no" ] && EXTRAOPTS="$EXTRAOPTS --without-pulse" [ "$PULSE" = "no" ] && EXTRAOPTS+=" --without-pulse"
[ "$OSS" = "no" ] && EXTRAOPTS="$EXTRAOPTS --without-oss" [ "$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" \ CFLAGS="$SLKCFLAGS" \
./configure \ ./configure \
--with-default-mixerapp="$MIXER" \ --with-default-mixerapp="$MIXER" \
$EXTRAOPTS \ $EXTRAOPTS \
--without-portaudio \
--with-default-ladspa-path=/usr/lib$LIBDIRSUFFIX/ladspa \ --with-default-ladspa-path=/usr/lib$LIBDIRSUFFIX/ladspa \
--prefix=/usr \ --prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \ --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 cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh 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. # 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 if [ "${SETCAP:-yes}" = "yes" ]; then
cat $CWD/setcap.sh >> $PKG/install/doinst.sh cat $CWD/setcap.sh >> $PKG/install/doinst.sh
chown root:audio $PKG/usr/bin/$PRGNAM chown root:audio $PKG/usr/bin/$PRGNAM
@ -122,5 +141,10 @@ if ldd $PKG/usr/bin/$PRGNAM | grep -q libjack; then
fi fi
fi fi
sed -e "s,@J@,$J," \
-e "s,@P@,$P," \
-e "s,@O@,$O," \
$CWD/slack-desc > $PKG/install/slack-desc
cd $PKG cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE /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: recording sound files. It is lightweight, portable, user-friendly
mhwaveedit: and handles large files very well. mhwaveedit: and handles large files very well.
mhwaveedit: mhwaveedit:
mhwaveedit: This package built with:
mhwaveedit: JACK=@J@ PulseAudio=@P@ OSS=@O@
mhwaveedit:
mhwaveedit: Homepage: https://github.com/magnush/mhwaveedit mhwaveedit: Homepage: https://github.com/magnush/mhwaveedit
mhwaveedit: mhwaveedit:
mhwaveedit:
mhwaveedit:
mhwaveedit: