summaryrefslogtreecommitdiff
path: root/audio/lmms/lmms.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'audio/lmms/lmms.SlackBuild')
-rw-r--r--audio/lmms/lmms.SlackBuild48
1 files changed, 41 insertions, 7 deletions
diff --git a/audio/lmms/lmms.SlackBuild b/audio/lmms/lmms.SlackBuild
index 521fc88259..c895d0c74a 100644
--- a/audio/lmms/lmms.SlackBuild
+++ b/audio/lmms/lmms.SlackBuild
@@ -4,14 +4,19 @@
# Written by Zbigniew Baniewski, <Zbigniew [dot] Baniewski [at] gmail [dot] com>
+# 20200415 bkw: modified by SlackBuilds.org
+
PRGNAM=lmms
-VERSION=${VERSION:-1.1.90}
+VERSION=${VERSION:-1.2.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+# 20200415 bkw: rpmalloc version
+LIBVER=${LIBVER:-20190202_d9b5ee0}
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -22,8 +27,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -44,13 +49,29 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
+
+# 20200415 bkw: upstream didn't bother to include rpmalloc in their
+# release tarball. The lmms build system is set up to expect rpmalloc
+# source, not a library in e.g. /usr/lib64, so we can't just make a
+# rpmalloc build and make it a depencency of lmms. Furthermore, we can't
+# just use an autogenerated github tarball, as it doesn't contain the
+# CMakeLists.txt required by lmms. The rpmalloc source here came from
+# the rpmalloc submodule from a git clone of lmms.
+cd src/3rdparty
+ rm -rf rpmalloc
+ tar xvf $CWD/rpmalloc-$LIBVER.tar.?z
+ # mv rpmalloc-$LIBVER rpmalloc # only need for rpmalloc releases
+cd -
+
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 \
+ -o -perm 511 \) -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+# 20200415 bkw: warning: if we don't set BASHCOMP_PKG_PATH, the
+# completions get installed to /usr (ignores DESTDIR)!
mkdir build
cd build
cmake \
@@ -58,6 +79,7 @@ cd build
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -Wno-error" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DBASHCOMP_PKG_PATH=$PKG/usr/share/bash-completion/completions \
..
make VERBOSE=1
make install DESTDIR=$PKG
@@ -73,12 +95,24 @@ 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
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a doc/AUTHORS INSTALL.txt README.md LICENSE.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a doc/AUTHORS README.md LICENSE.txt $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
+# 20200415 bkw: if we built with jack, do the realtime thing.
+if ldd $PKG/usr/bin/$PRGNAM | grep -q libjack; then
+ if [ "${SETCAP:-yes}" = "yes" ]; then
+ echo "[ -x /sbin/setcap ] && " \
+ "/sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/$PRGNAM" \
+ >> $PKG/install/doinst.sh
+ # Only allow execution by audio group
+ chown root:audio $PKG/usr/bin/$PRGNAM
+ chmod 0750 $PKG/usr/bin/$PRGNAM
+ fi
+fi
+
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}