123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- #!/bin/bash
- # Slackware build script for beav
- # Written by B. Watson (urchlay@slackware.uk)
- # 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!
- cd $(dirname $0) ; CWD=$(pwd)
- PRGNAM=beav
- VERSION=${VERSION:-1.40_18}
- BUILD=${BUILD:-1}
- TAG=${TAG:-_SBo}
- PKGTYPE=${PKGTYPE:-tgz}
- if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
- fi
- if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
- exit 0
- fi
- 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
|