#!/bin/bash # elvis.SlackBuild # by Stuart Winter for the Slackware porting Project. # Heavily based on the original Slackware build script. # 31-May-2004 # Paths to skeleton port's source & real Slackware source tree: export CWD=$SLACKSOURCE/a/elvis export PORTCWD=$PWD # Package meta-data: export PACKAGE=elvis export PKGSERIES=a export ARCH=${ARCH:=$PORTARCH} export VERSION=${VERSION:=2.2} export BUILD=${BUILD:=1} # Temporary build locations: export TMPBUILD=$TMP/build-$PACKAGE export PKG=$TMP/package-$PACKAGE mkpkgdirs # Delete and re-create temporary directories # Determine the CFLAGS for the known architectures: case $PORTARCH in armv3) ARCH_CFLAGS="-march=armv3 -mtune=xscale" ;; powerpc) ARCH_CFLAGS="" ;; sparc) ARCH_CFLAGS="" ;; *) ARCH_CFLAGS="" ;; esac # Untar source: tar xjvf $CWD/$PACKAGE-$VERSION*.tar.bz2 cd $PACKAGE-$VERSION* # House keeping: slackhousekeeping # Package framework: mkdir -p $PKG/usr/{bin,man/man1,share/$PACKAGE-$VERSION} ./configure \ --without-x \ --without-gnome \ --bindir=$PKG/usr/bin \ --datadir=$PKG/usr/share/elvis-$VERSION \ --docdir=$PKG/usr/share/elvis-$VERSION/doc \ --verbose || failconfig make || failmake make install # Now we make the real binaries: make clean ./configure \ --without-x \ --without-gnome \ --bindir=/usr/bin \ --datadir=/usr/share/elvis-$VERSION \ --docdir=/usr/share/elvis-$VERSION/doc \ --verbose make || failmake # And install them: install -m755 elvtags ref elvis $PKG/usr/bin # Turn off color highlighting by default. I can't imagine editing files # like that all day... (this coming from the inventor of /etc/(DIR|LS)_COLORS ;-) cp -a $CWD/elvis.clr* $PKG/usr/share/elvis-$VERSION chown root.root $PKG/usr/share/elvis-$VERSION/elvis.clr* # Install the man pages: ( cd doc install -m644 ctags.man $PKG/usr/man/man1/elvtags.1 install -m644 elvfmt.man $PKG/usr/man/man1/elvfmt.1 install -m644 elvis.man $PKG/usr/man/man1/elvis.1 install -m644 ref.man $PKG/usr/man/man1/ref.1 ) # Install docs: cp -a BUGS COPYING INSTALL README.html \ $PKG/usr/share/$PACKAGE-$VERSION # If this is actually useful for anything, fill me in on what it's for: rm -f $PKG/usr/share/elvis-$VERSION/tags rm -f $PKG/usr/share/elvis-$VERSION/doc/*.man rm -f $PKG/usr/share/elvis-$VERSION/doc/printdoc.bat cd lib # Add /usr/bin/ex and /usr/bin/vi symlinks. ( cd $PKG/usr/bin ; ln -sf elvis ex ; ln -sf elvis vi ) mkdir $PKG/usr/doc ( cd $PKG/usr/doc ; ln -sf /usr/share/elvis-$VERSION . ) # Enter the package's root: cd $PKG # Slackware policies: slackstripall # strip all .a archives and all ELFs slackgzpages -i # compress man & info pages and delete usr/info/dir slackslack # set all files to root.root, chmod -R og-w, slackchown, slack644docs slackdesc # install slack-desc and doinst.sh # Build the package: if [ $PORTARCH = armv3 ]; then . $PORTCWD/arm/pkger else makepkg -l y -c n $PKGSTORE/$PKGSERIES/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz fi # Perform any final checks on the package: cd $PKG slackhlinks # search for any hard links