summaryrefslogtreecommitdiffstats
path: root/electricsheep
diff options
context:
space:
mode:
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
commitbce1353ce295f68aa8dd847e269ad432ba1f2fe2 (patch)
tree28b99a328520709630a4dc46258a9311c532bef1 /electricsheep
parentb50f9c938646234c6cff73df4d863da267287fe2 (diff)
downloadasb-bce1353ce295f68aa8dd847e269ad432ba1f2fe2.tar.gz
asb-bce1353ce295f68aa8dd847e269ad432ba1f2fe2.tar.xz
Update to SVN snapshot
Diffstat (limited to 'electricsheep')
-rwxr-xr-xelectricsheep/build/electricsheep.SlackBuild186
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