aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2023-06-25 05:02:07 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2023-07-08 16:41:56 +0700
commit03e5d2e29bbe046a549728df2dbd3bc3579c9a91 (patch)
tree86c2c68fe74ad7fcf1ee87c51ec3a3e7e6179547
parent21763cff837d09529076042f59d95d20ac96b1a2 (diff)
audio/ff8dls: Remove unrar dep (use bsdtar instead).
Signed-off-by: B. Watson <urchlay@slackware.uk> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--audio/ff8dls/README4
-rw-r--r--audio/ff8dls/ff8dls.SlackBuild31
-rw-r--r--audio/ff8dls/ff8dls.info2
3 files changed, 35 insertions, 2 deletions
diff --git a/audio/ff8dls/README b/audio/ff8dls/README
index ee595d107d2e..f79b8eb3f207 100644
--- a/audio/ff8dls/README
+++ b/audio/ff8dls/README
@@ -11,3 +11,7 @@ To use with zdoom, gzdoom, or skulltag, set the MIDI device
to FMOD from the in-game Options menu, and set the variable
snd_midipatchset=/usr/share/sounds/dls/ff8.dls in the game console or
the config file.
+
+For Slackware 15.0, this requires an updated libarchive package, at
+least version 3.6.0. You can update libarchive with slackpkg, if you
+haven't already kept up with the latest updates.
diff --git a/audio/ff8dls/ff8dls.SlackBuild b/audio/ff8dls/ff8dls.SlackBuild
index 059e78203156..afacafbc329a 100644
--- a/audio/ff8dls/ff8dls.SlackBuild
+++ b/audio/ff8dls/ff8dls.SlackBuild
@@ -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
@@ -35,6 +38,25 @@ 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
@@ -42,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 {} \+
diff --git a/audio/ff8dls/ff8dls.info b/audio/ff8dls/ff8dls.info
index 8bb44a76aca1..51dca4404c30 100644
--- a/audio/ff8dls/ff8dls.info
+++ b/audio/ff8dls/ff8dls.info
@@ -5,6 +5,6 @@ DOWNLOAD="https://slackware.uk/~urchlay/src/ff8dls_v139.zip"
MD5SUM="85a9bffa1469b5c9ffde764858d21a30"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="unrar"
+REQUIRES=""
MAINTAINER="B. Watson"
EMAIL="urchlay@slackware.uk"