#!/bin/sh # Slackware build script for plan9port # Copyright (c) 2008, Antonio Hernández Blas # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # 1.- Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=plan9port VERSION=20091211 ARCH=${ARCH:-i586} # There's no use of cflags. BUILD=${BUILD:-1} TAG=${TAG:-_SBo} CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} set -e rm -rf $PKG mkdir -p $TMP $PKG/opt $OUTPUT cd $TMP tar xvf $CWD/$PRGNAM-$VERSION.tgz 2>/dev/null || true # 4 harmless errors cd plan9 chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; # All plan9 programs are going to be installed in "/opt/plan9" # The default prefix for plan9 is "/usr/local/plan9" and some files (that are # listed in $TMP/plan9/lib/moveplan9.files) are going to end up with that # prefix hardcoded. There's a script that resolves this problem, and the # compilation runs it by default, but we'll have to edit it because it uses # the current build directory as the path. I've tried passing /opt/plan9 # as the value of PLAN9, hoping the script would pick it up and do the # right thing, but no dice, so we'll kludge it. --rworkman sed -i 's:^new=`cleanname $PLAN9`$:new=`cleanname /opt/plan9`:' \ lib/moveplan9.sh ./INSTALL cd $TMP mv plan9 $PKG/opt find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true # man(1) from plan9port dislikes man pages compressed :) # To setup some environment variables: install -D -m 0755 $CWD/profile.d/$PRGNAM.sh $PKG/etc/profile.d/$PRGNAM.sh install -m 0755 $CWD/profile.d/$PRGNAM.csh $PKG/etc/profile.d/$PRGNAM.csh mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cd $PKG/opt/plan9 mv CHANGES install.txt LICENSE README TODO $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild # Add the window manager 'rio' to xwmconfig's list. install -D -m 0755 $CWD/xinitrc.rio $PKG/etc/X11/xinit/xinitrc.rio 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}