#!/bin/bash # Slackware build script for midori. # Copyright 2008 Andrew Brouwers # Copyright 2009-2011 Pierre Cazenave # Copyright 2012 Roberto Neri, Palermo, Italy # # All rights reserved. # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script 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. P1=${1:-1} PRGNAM=midori VERSION=${VERSION:-0.4.6} BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:" -j4 "} # The TAG is a unique identifier for all your Slackware packages. # Use your initials as the value for TAG for instance. TAG=${TAG:-_yup} # This covers most filenames you'd want as documentation. Change if needed. DOCS="ABOUT* AUTHORS BUGS ChangeLog* COPYING CREDITS FAQ GPL* HACKING \ LICENSE MAINTAINERS NEWS README* TODO" # Where do we look for sources? SRCDIR=$(cd $(dirname $0); pwd) # If you want automatic download to work, supply a URL for 'SRCURL' below: SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.bz2" SRCURL="http://archive.xfce.org/src/apps/midori/0.4/midori-0.4.6.tar.bz2" if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} DOCS="AUTHORS COPYING ChangeLog EXPAT HACKING INSTALL README TODO TRANSLATE" if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi set -eu # 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 [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi if ! [ "x${SRCURL}" == "x" ]; then 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." mv -f "${SOURCE}" "${SOURCE}".FAIL exit 1 fi else echo "File '$(basename ${SOURCE})' not available... aborting the build." exit 1 fi fi if [ "$P1" == "--download" ]; then echo "Download complete." exit 0 fi # --- PACKAGE BUILDING --- echo "++" echo "|| $PRGNAM-$VERSION" echo "++" # Explode the package framework: if [ -f $SRCDIR/_$PRGNAM.tar.gz ]; then cd $PKG explodepkg $SRCDIR/_$PRGNAM.tar.gz cd - fi rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 cd $PRGNAM-$VERSION 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 {} \; export CCFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" ./waf configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --docdir=/usr/doc/$PRGNAM-$VERSION \ --sysconfdir=/etc \ --localstatedir=/var \ --datarootdir=/usr/share/ \ --mandir=/usr/man \ --enable-unique \ --enable-addons ./waf build ./waf install --destdir=$PKG # Don't clobber existing configs mv $PKG/etc/xdg/midori/search $PKG/etc/xdg/midori/search.new mv $PKG/etc/xdg/midori/extensions/adblock/config $PKG/etc/xdg/midori/extensions/adblock/config.new cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild cd $PKG/usr/doc ln -s $PRGNAM-$VERSION $PRGNAM cd - mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}