summaryrefslogtreecommitdiffstats
path: root/audio/ff8dls/ff8dls.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'audio/ff8dls/ff8dls.SlackBuild')
-rw-r--r--audio/ff8dls/ff8dls.SlackBuild46
1 files changed, 34 insertions, 12 deletions
diff --git a/audio/ff8dls/ff8dls.SlackBuild b/audio/ff8dls/ff8dls.SlackBuild
index fe27cac81f..afacafbc32 100644
--- a/audio/ff8dls/ff8dls.SlackBuild
+++ b/audio/ff8dls/ff8dls.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for ff8dls
-# Written by B. Watson (yalhcru@gmail.com)
+# Written by B. Watson (urchlay@slackware.uk)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
@@ -11,6 +11,9 @@
# is called "General MIDI DLS SoundFont", from CodeWeavers, and it's
# missing too many samples to be worth using.
+# 20230625 bkw: get rid of unrar dependency, use bsdtar instead.
+# not incrementing BUILD, since the package doesn't change.
+
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=ff8dls
@@ -18,10 +21,8 @@ VERSION=${VERSION:-1.39}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
+ARCH=noarch
-# 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
@@ -31,14 +32,31 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-ARCH=noarch
-
set -e
ZIPVER=$( echo $VERSION | sed 's/\.//g' )
ZIPFILE=${PRGNAM}_v${ZIPVER}.zip
DLSFILE=ff8.dls
+# 20230625 bkw: Now that Slackware has libarchive 3.6.1, we
+# no longer need unrar as a dependency.
+if ! pkg-config --exists 'libarchive >= 3.6.0'; then
+ cat <<EOF
+
+****************************************************
+Your libarchive is too old. Update with:
+
+# slackpkg update ; slackpkg upgrade libarchive
+
+...or better yet:
+
+# slackpkg update ; slackpkg upgrade-all
+****************************************************
+
+EOF
+ exit 1
+fi
+
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
@@ -46,13 +64,17 @@ rm -rf $PRGNAM-$VERSION
mkdir -p $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
unzip -LL $CWD/$ZIPFILE $PRGNAM.exe readme.txt
-unrar x -cl $PRGNAM.exe
+
+# bsdtar doesn't support self-extracting rar exes, but we can
+# help it out a little, by skipping to the "Rar!" header. Found
+# the offset with "grep -aob 'Rar!' ff8dls.exe" (it shows
+# 47104, which is 1024 * 46, or 2048 * 23).
+dd if=$PRGNAM.exe bs=2K skip=23 2>/dev/null | bsdtar xvf -
+mv FF8.dls ff8.dls
+
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 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
# By analogy with fluid-soundfont's /usr/share/sounds/sf2...
mkdir -p $PKG/usr/share/sounds/dls