diff options
author | Eric Hameleers <alien@slackware.com> | 2009-01-27 23:16:59 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2009-01-27 23:16:59 +0000 |
commit | bce1353ce295f68aa8dd847e269ad432ba1f2fe2 (patch) | |
tree | 28b99a328520709630a4dc46258a9311c532bef1 /electricsheep | |
parent | b50f9c938646234c6cff73df4d863da267287fe2 (diff) | |
download | asb-bce1353ce295f68aa8dd847e269ad432ba1f2fe2.tar.gz asb-bce1353ce295f68aa8dd847e269ad432ba1f2fe2.tar.xz |
Update to SVN snapshot
Diffstat (limited to 'electricsheep')
-rwxr-xr-x | electricsheep/build/electricsheep.SlackBuild | 186 |
1 files changed, 124 insertions, 62 deletions
diff --git a/electricsheep/build/electricsheep.SlackBuild b/electricsheep/build/electricsheep.SlackBuild index f9885ab6..5e76f8e8 100755 --- a/electricsheep/build/electricsheep.SlackBuild +++ b/electricsheep/build/electricsheep.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh # $Id$ -# Copyright (c) 2008, 2009 Eric Hameleers, Eindhoven, Netherlands +# Copyright (c) 2008, 2009 Eric Hameleers, Eindhoven, The Netherlands # All rights reserved. # # Permission to use, copy, modify, and distribute this software for @@ -34,8 +34,11 @@ # * Initial build. # 2.6.8-2: 07/jan/2009 by Eric Hameleers <alien@slackware.com> # * KDE4 support and cleaner install borrowed from archlinux. +# 2.6.9b7-1: 27/jan/2009 by Eric Hameleers <alien@slackware.com> +# * Update to the new beta release, because that actually +# downloads new sheep. # -# Run 'sh electricsheep.SlackBuild --cleanup' to build a Slackware package. +# Run 'sh electricsheep.SlackBuild' to build a Slackware package. # The package (.tgz) and .txt file as well as build logs are created in /tmp . # Install it using 'installpkg'. # @@ -44,12 +47,13 @@ # Set initial variables: PRGNAM=electricsheep -VERSION=${VERSION:-2.6.8} +VERSION=${VERSION:-20090128} ARCH=${ARCH:-i486} -BUILD=${BUILD:-2} -NUMJOBS=${NUMJOBS:" -j4 "} +BUILD=${BUILD:-1} DOCS="COPYING README" +DOCS_FLAM3="COPYING* README*" +DOCS_FFMPEG="COPYING* CREDITS Changelog MAINTAINERS README" # Where do we look for sources? SRCDIR=$(cd $(dirname $0); pwd) @@ -60,8 +64,39 @@ PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz" -SRCURL="http://electricsheep.org/${PRGNAM}-${VERSION}.tar.gz" +#SRCURL="http://electricsheep.org/${PRGNAM}-${VERSION}.tar.gz" +SRCURL="" +# Use the src_checkout() function if no downloadable tarball exists. +# This function checks out sources from SVN/CVS and creates a tarball of them. +src_checkout() { + # Param #1 : index in the SOURCE[] array. + # Param #2 : full path to where SOURCE[$1] tarball should be created. + # Determine the tarball extension: + PEXT=$(echo "${2}" | sed -r -e 's/.*[^.].(tar.gz|tar.bz2|tgz).*/\1/') + if [ "$PEXT" == "${2}" ]; then # we did not find a allowed extension + echo "Archive can only have extension '.tar.gz' '.tar.bz2' or '.tgz'" + exit 1 + else + [ "$PEXT" = "tar.bz2" ] && TARCOMP="j" || TARCOMP="z" + fi + case ${1} in + 0) # electricsheep-$VERSION + REV="{${VERSION}}" + mkdir electricsheep-${VERSION} \ + && cd electricsheep-${VERSION} \ + && svn checkout --revision $REV http://electricsheep.svn.sourceforge.net/svnroot/electricsheep/trunk/client client \ + && svn checkout --revision $REV http://flam3.svn.sourceforge.net/svnroot/flam3/trunk/src flam3 \ + && find . -type d -name '.svn' -depth | xargs rm -rf \ + && chown -R root:root . \ + && ( cd ..; tar -${TARCOMP}cf ${2} electricsheep-${VERSION} ) + cd .. + rm -rf electricsheep-${VERSION} + ;; + *) # do nothing + ;; + esac +} ## ## --- with a little luck, you won't have to edit below this point --- ## ## @@ -102,19 +137,24 @@ rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log # Source file availability: if ! [ -f ${SOURCE} ]; then + echo "Source '$(basename ${SOURCE})' not available yet..." + # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT + [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename ${SOURCE})" if ! [ "x${SRCURL}" == "x" ]; then - # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT - [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)" - echo "Source '$(basename ${SOURCE})' not available yet..." echo "Will download file to $(dirname $SOURCE)" wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then - echo "Downloading '$(basename ${SOURCE})' failed... aborting the build." + echo "Downloading '$(basename ${SOURCE})' failed.. aborting the build." mv -f "${SOURCE}" "${SOURCE}".FAIL exit 1 fi else - echo "File '$(basename ${SOURCE})' not available... aborting the build." + # Try if we have a SVN/CVS download routine for ${SOURCE} + echo "Will checkout sources to $(dirname $SOURCE)" + src_checkout 0 "${SOURCE}" 2>&1 > $OUTPUT/checkout-$(basename ${SOURCE}).log + fi + if [ ! -f "${SOURCE}" -o ! -s "${SOURCE}" ]; then + echo "File '$(basename ${SOURCE})' not available.. aborting the build." exit 1 fi fi @@ -134,66 +174,85 @@ cd $TMP/tmp-$PRGNAM echo "Extracting the source archive(s) for $PRGNAM..." tar -xvf ${SOURCE} cd ${PRGNAM}-${VERSION} -# Do not install outside of $PKG: -sed -i -e \ - 's/$(INSTALL) -d $(pkgdatadir)/$(INSTALL) -d $(DESTDIR)$(pkgdatadir)/' \ - Makefile.in chown -R root:root . chmod -R u+w,go+r-w,a-s . echo Building ... -LDFLAGS="$SLKLDFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -CFLAGS="$SLKCFLAGS" \ -./configure --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --localstatedir=/var \ - --mandir=/usr/man \ - --sysconfdir=/etc \ - --program-prefix= \ - --program-suffix= \ - --build=$ARCH-slackware-linux \ - 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log -make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log - -install -d ${PKG}/usr/share/xscreensaver/config -make DESTDIR=$PKG SCREENSAVER_DATADIR=${PKG}/usr/share/xscreensaver/config \ - install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log - -# No static libraries: -find $PKG/usr/lib${LIBDIRSUFFIX} -name "*.a" -exec rm -f {} \; - -# We don't want these header files either: -rm -rf $PKG/usr/include/mpeg2dec - -# Add the KDE4 .desktop file: -install -D -m644 ${SRCDIR}/electricsheep.desktop \ - ${PKG}/usr/share/kde4/services/ScreenSavers/electricsheep.desktop - -# Add xscreensaver module: -mkdir -p $PKG/usr/share/xscreensaver/config -install -m644 electricsheep.xml \ - $PKG/usr/share/xscreensaver/config/electricsheep.xml - -# Add icons: -mkdir -p $PKG/usr/share/electricsheep -cp -a electricsheep-{smile,frown}.png $PKG/usr/share/electricsheep/ - -# Add the man page: -mkdir -p $PKG/usr/man/man1 -gzip -9c electricsheep.man > $PKG/usr/man/man1/electricsheep.1.gz +# First the client: +cd client + LDFLAGS="$SLKLDFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + CFLAGS="$SLKCFLAGS" \ + ./configure --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --build=$ARCH-slackware-linux \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log + make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log + + # Install all the needed stuff to the package dir + # Use installwatch if available, to produce a logfile of the installation + # process that is more easily readable: + if $(which installwatch > /dev/null 2>&1); then + installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install + else + make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log + fi +cd .. +# Then the flam3 (fractal flames) renderer: +cd flam3 + LDFLAGS="$SLKLDFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + CFLAGS="$SLKCFLAGS" \ + ./configure --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --build=$ARCH-slackware-linux \ + 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log + make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log + + # Install all the needed stuff to the package dir + # Use installwatch if available, to produce a logfile of the installation + # process that is more easily readable: + if $(which installwatch > /dev/null 2>&1); then + installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install + else + make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log + fi +cd .. # Add documentation: -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true -cat $SRCDIR/$(basename $0) | sed \ - -e "/^VERSION=/s/:-.*}/:-$VERSION}/" \ - -e "/^ARCH=/s/:-.*}/:-$ARCH}/" \ - -e "/^BUILD=/s/:-.*}/:-$BUILD}/" \ - > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/{flam3,ffmpeg} +( cd client + cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION +) +( cd client/ffmpeg + cp -a $DOCS_FFMPEG $PKG/usr/doc/$PRGNAM-$VERSION/ffmpeg +) +( cd flam3 + cp -a $DOCS_FLAM3 $PKG/usr/doc/$PRGNAM-$VERSION/flam3 +) +cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION find $PKG/usr/doc -type f -exec chmod 644 {} \; +cd client + # Add xscreensaver module: + mkdir -p $PKG/usr/share/xscreensaver/config + install -m644 electricsheep.xml \ + $PKG/usr/share/xscreensaver/config/electricsheep.xml + + # Add icons: + mkdir -p $PKG/usr/share/electricsheep + cp -a electricsheep-{smile,frown}.png $PKG/usr/share/electricsheep/ +cd .. + +# Compress the man page(s) +if [ -d $PKG/usr/man ]; then + find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \; + for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +fi + # Strip binaries: find $PKG | xargs file | grep -e "executable" -e "shared object" \ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null @@ -201,6 +260,9 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \ # Add a package description: mkdir -p $PKG/install cat $SRCDIR/slack-desc > $PKG/install/slack-desc +if [ -f $SRCDIR/doinst.sh ]; then + cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh +fi # Build the package: cd $PKG |