summaryrefslogtreecommitdiff
path: root/development/beav/beav.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/beav/beav.SlackBuild')
-rw-r--r--development/beav/beav.SlackBuild118
1 files changed, 118 insertions, 0 deletions
diff --git a/development/beav/beav.SlackBuild b/development/beav/beav.SlackBuild
new file mode 100644
index 0000000000..8982fed283
--- /dev/null
+++ b/development/beav/beav.SlackBuild
@@ -0,0 +1,118 @@
+#!/bin/sh
+
+# Slackware build script for beav
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# This is a seriously old piece of software. The timestamps inside
+# the tarball all read 'Nov 30 1994' so it's almost 24 years old (old
+# enough to buy beer, even in the US). I'm adding it to SBo mainly for
+# old-timers to use, people who are used to using beav on other distros
+# or OSes.
+
+# At this point, the original maintainer and homepage for beav are long
+# gone, so I'm considering the Debian page for it as the 'official'
+# source. VERSION matches the Debian patchlevel, e.g. 1.40-18 => 1.40_18.
+# Also included a compile fix patch based on one from AUR, plus my own
+# patch to add the arrow keys to the default keybindings.
+
+# Entertaining piece of trivia for you: the Debian maintainer of beav
+# is none other than Sam Hocevar, who also invented the WTFPL license
+# that's used for this script and most of my other SBo builds. Hi, Sam!
+
+PRGNAM=beav
+VERSION=${VERSION:-1.40_18}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+MAINVER="$( echo $VERSION | cut -d_ -f1 )"
+TARVER="$( echo $MAINVER | sed 's/\.//g' )"
+PATCHVER="$( echo $VERSION | cut -d_ -f2 )"
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$TARVER
+tar xvf $CWD/${PRGNAM}_$MAINVER.orig.tar.gz
+cd $PRGNAM-$TARVER
+chown -R root:root .
+chmod 644 *
+
+# apply Debian's patches
+zcat $CWD/${PRGNAM}_$MAINVER-$PATCHVER.diff.gz | patch -p1
+
+# compile fix patch is basically this from AUR:
+# https://aur.archlinux.org/cgit/aur.git/tree/beav_on_archlinux.patch?h=beav
+# but with SLKCFLAGS support in the Makefile, and redone as a -p1 patch.
+patch -p1 < $CWD/compilefixes.diff
+
+# Arrow key support:
+
+# FFS, arrow keys have been standard on damn near all keyboards for
+# 40+ years now, even creaky old dinosaurs like me use them. beav only
+# supports them if you go thru the laborious process of defining them
+# in your .beavrc.
+
+# This patch adds them to the default keybind list (without affecting
+# the original ^B ^F ^N ^P bindings, so they still work).
+
+# Bindings tested & working with:
+# linux console, xterm, rxvt, urxvt, xfce4-terminal, konsole.
+
+# Might not work on some oddball terminal, but in that case, the user
+# can define their weird arrow key combos in .beavrc as usual. Patch was
+# sent to the Debian maintainer (Sam Hocevar) on 20180807.
+patch -p1 < $CWD/arrow_keys.diff
+
+# fix Debianized doc dir reference
+sed -i \
+ 's:/usr/share/doc[^ ]*:/usr/doc/'$PRGNAM-$VERSION/$PRGNAM$TARVER.txt: \
+ $PRGNAM.1
+
+# can't use CFLAGS for this...
+make SLKCFLAGS="$SLKCFLAGS"
+
+install -D -s -m0755 -oroot -groot $PRGNAM $PKG/usr/bin/$PRGNAM
+mkdir -p $PKG/usr/man/man1
+gzip -9c $PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a read.me $PRGNAM$TARVER.txt debian/changelog $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
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}