#!/bin/bash # # djvulibre.SlackBuild # code: Vicious (michal@scxd.info); improvements: Zielony (e-pl@o2.pl) set -e # PACKAGE GENERAL INFO [EDIT] PKGNAME=djvulibre VERSION=3.5.20.5 BUILD=1X ARCH=i686 URL=http://switch.dl.sourceforge.net/sourceforge/djvu/djvulibre-`echo $VERSION | perl -pe 's/(.+)\.(.+?)$/$1-$2/'`.tar.gz CWD=`pwd` TMP=/tmp/$PKGNAME if [ -e $TMP/$PKGNAME-$VERSION/'Makefile' ]; then cd $TMP/$PKGNAME-$VERSION make else if [ ! -d $TMP/$PKGNAME-$VERSION ]; then rm -rf $TMP/package mkdir -p $TMP/package/install # PACKAGE DESCRIPTION [EDIT] cat << SLACKDESC | fmt -w $(( 80 - `echo $PKGNAME | wc -c` - 3 )) | perl -pe "s/^/$PKGNAME: /" > $TMP/package/install/slack-desc DjVuLibre (DjVu format library and viewer) DjVu is a web-centric format and software platform for distributing documents and images. DjVu can advantageously replace PDF, PS, TIFF, JPEG, and GIF for distributing scanned documents, digital documents, or high-resolution pictures. DjVu content downloads faster, displays and renders faster, looks nicer on a screen, and consume less client resources than competing formats. DjVu images display instantly and can be smoothly zoomed and panned with no lengthy re-rendering. DjVu is used by hundreds of academic, commercial, governmental, and non-commercial web sites around the world. Package prepared by Zielony (e-pl@o2.pl) SLACKDESC cd $TMP # step 1: DOWNLOAD SOURCE PKGFNAME=`ls -t | grep -i $PKGNAME*.t*z* | head -1` if [ -z $PKGFNAME ]; then ( wget -c $URL -P $TMP -O $PKGNAME-$VERSION.${URL//*.} ) # step 2: UNPACK SOURCE AND COMPILE PKGFNAME=`ls -t | grep -i $PKGNAME*.t*z* | head -1` fi EXTENSION=`echo ${PKGFNAME//*.}` if [ $EXTENSION = "bz2" ]; then tar jxvf $PKGFNAME -C $TMP else tar xvfz $PKGFNAME -C $TMP fi DIRNAME=`tar tf $PKGFNAME | head -1` echo $DIRNAME | grep '/' && DIRNAME=${DIRNAME%${DIRNAME#*/}} if [ $DIRNAME != $PKGNAME-$VERSION/ ]; then mv $DIRNAME $PKGNAME-$VERSION; fi chown root:root $TMP -R fi cd $TMP/$PKGNAME-$VERSION if [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" elif [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i386" ]; then SLKCFLAGS="-O2 -march=i386 -mcpu=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" fi if [ -s 'configure' ]; then CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./configure \ --prefix=/usr \ --disable-debug \ --with-x \ --mandir=/usr/man \ --sysconfdir=/etc \ --program-prefix="" \ --program-suffix="" \ $ARCH-slackware-linux fi make fi make install DESTDIR=$TMP/package find $TMP/package/usr/lib -name '*.so*' -exec chmod 755 \{} \; rm -rf $TMP/package/usr/man/{cs,de,fr,ja} rm -rf $TMP/package/usr/lib/mozilla mv -f $TMP/package/usr/lib/netscape $TMP/package/usr/lib/mozilla mkdir -p $TMP/package/usr/share/{applications,pixmaps} $TMP/package/usr/share/mime/packages mv -f $TMP/package/usr/share/djvu/djview3/desktop/djvulibre-djview3.desktop \ $TMP/package/usr/share/applications mv -f $TMP/package/usr/share/djvu/djview3/desktop/hi32-djview3.png \ $TMP/package/usr/share/pixmaps/djvulibre-djview3.png rm -rf $TMP/package/usr/share/djvu/djview3/desktop mv -f $TMP/package/usr/share/djvu/osi/desktop/djvulibre-mime.xml \ $TMP/package/usr/share/mime/packages for i in $TMP/package/usr/share/djvu/osi/desktop/*.png; do SI=`echo $i | perl -pe 's/^.+?hi([0-9]+).+?$/$1/'` mkdir -p $TMP/package/usr/share/icons/hicolor/"$SI"x"$SI"/mimetypes mv -f $i $TMP/package/usr/share/icons/hicolor/"$SI"x"$SI"/mimetypes/image-vnd.djvu.png done rm -rf $TMP/package/usr/share/djvu/osi/desktop echo -e "#/bin/bash\n\nupdate-mime-database /usr/share/mime\n" > $TMP/package/install/doinst.sh # step 3: STRIP BINARIES & GZIP MANUALS ( cd $TMP/package find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) ( gzip $TMP/package/usr/man/man?/* ) # step 4: CREATE PACKAGE & CLEAN TMP cd $TMP/package if [ `ls | wc -m` -le 8 ]; then echo "Brak plików pakietu!" else ( requiredbuilder -y -s $TMP/package/install $TMP/package ) makepkg -l y -c n $CWD/$PKGNAME-$VERSION-$ARCH-$BUILD.tgz rm -rf $TMP fi