#!/bin/bash # jove.SlackBuild # by Stuart Winter for the Slackware porting Project. # Heavily based on the original Slackware build script. # 09-Jun-2004 # Record toolchain & other info for the build log: slackbuildinfo # Paths to skeleton port's source & real Slackware source tree: export CWD=$SLACKSOURCE/$PKGSERIES/$PKGNAM export PORTCWD=$PWD # Temporary build locations: export TMPBUILD=$TMP/build-$PKGNAM export PKG=$TMP/package-$PKGNAM mkpkgdirs # Delete & re-create temporary directories then cd into $TMPBUILD # Determine the CFLAGS for the known architectures: case $PORTARCH in arm) export SLKCFLAGS="-O2 -march=armv3 -mtune=xscale" ;; powerpc) export SLKCFLAGS="-O2" ;; sparc) export SLKCFLAGS="-O2" ;; hppa) export SLKCFLAGS="-O2" ;; *) export SLKCFLAGS="-O2" ;; esac # Extract source: tar jxvvf $CWD/${PKGNAM}${VERSION}.tar.bz2 cd $PKGNAM* slackhousekeeping # Apply patches: zcat $CWD/jove.makefile.diff.gz | patch -p1 --verbose --backup # Remove the Intel CFLAGS from that Makefile patch: sed -i 's/^OPTFLAGS.*/OPTFLAGS = '"$SLKCFLAGS/"'' Makefile # Build: make -j4 || failmake # Install bits: mkdir -p $PKG/usr/lib/jove install -m644 doc/teach-jove $PKG/usr/lib/jove install -m644 doc/cmds.doc $PKG/usr/lib/jove install -m644 doc/jove.rc.sun doc/keychart.sun doc/jove.rc.sun-cmd \ doc/keychart.sun-cmd doc/jove.rc.vt100 doc/keychart.vt100 \ doc/jove.rc.wyse doc/keychart.wyse doc/jove.rc.xterm doc/keychart.xterm \ doc/jove.rc.z29 doc/keychart.z29 doc/jove.rc.3022 doc/keychart.3022 \ doc/keychart. doc/XTermresource doc/jove.rc \ $PKG/usr/lib/jove # Install binaries: mkdir -p $PKG/usr/bin install -c -m 755 recover $PKG/usr/lib/jove/recover install -m755 jjove $PKG/usr/bin/jove install -m755 teachjove $PKG/usr/bin ( cd $PKG/usr/bin && ln -sf /usr/lib/jove/recover jove-recover ) # Install man pages: mkdir -p $PKG/usr/man/man1 install -m644 doc/jove.1 $PKG/usr/man/man1 install -m644 doc/teachjove.1 $PKG/usr/man/man1 # Install docs: mkdir -p $PKG/usr/doc/${PKGNAM}${VERSION} cp -a README $CWD/jove.README \ $PKG/usr/doc/${PKGNAM}${VERSION} # If necessary, start the fakeroot server so we can set file/dir ownerships: start_fakeroot # Apply generic Slackware packaging policies: cd $PKG slackstripall # strip all .a archives and all ELFs slackgzpages -i # compress man & info pages and delete usr/info/dir slackslack # chown -R root:root, chmod -R og-w, slackchown, slack644docs slackdesc # install slack-desc and doinst.sh slackmp # run makepkg -l y -c n # Perform any final checks on the package: cd $PKG slackhlinks # search for any hard links