From ce43731bd052e7cde780610f96182034e03b685d Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sat, 27 Nov 2021 15:01:36 -0500 Subject: [PATCH] audio/mhwaveedit: Build enhancements. Signed-off-by: B. Watson Signed-off-by: Willy Sudiarto Raharjo --- audio/mhwaveedit/README | 34 ++++++++++++++------ audio/mhwaveedit/mhwaveedit.SlackBuild | 44 ++++++++++++++++++++------ audio/mhwaveedit/slack-desc | 6 ++-- 3 files changed, 61 insertions(+), 23 deletions(-) diff --git a/audio/mhwaveedit/README b/audio/mhwaveedit/README index 8dfc8d8bb7..5e2b55fb66 100644 --- a/audio/mhwaveedit/README +++ b/audio/mhwaveedit/README @@ -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. diff --git a/audio/mhwaveedit/mhwaveedit.SlackBuild b/audio/mhwaveedit/mhwaveedit.SlackBuild index 03d26c483b..fdace487fe 100644 --- a/audio/mhwaveedit/mhwaveedit.SlackBuild +++ b/audio/mhwaveedit/mhwaveedit.SlackBuild @@ -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 . 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 diff --git a/audio/mhwaveedit/slack-desc b/audio/mhwaveedit/slack-desc index 8261ecb63f..fb8685a0e7 100644 --- a/audio/mhwaveedit/slack-desc +++ b/audio/mhwaveedit/slack-desc @@ -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: