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.SlackBuild36
1 files changed, 32 insertions, 4 deletions
diff --git a/audio/ff8dls/ff8dls.SlackBuild b/audio/ff8dls/ff8dls.SlackBuild
index fb69f15dff..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,6 +21,7 @@ VERSION=${VERSION:-1.39}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
+ARCH=noarch
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
@@ -28,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
@@ -43,7 +64,14 @@ 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 /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+