diff options
-rwxr-xr-x | fbreader/build/fbreader.SlackBuild | 95 |
1 files changed, 66 insertions, 29 deletions
diff --git a/fbreader/build/fbreader.SlackBuild b/fbreader/build/fbreader.SlackBuild index a61c0e1a..50d6d2cf 100755 --- a/fbreader/build/fbreader.SlackBuild +++ b/fbreader/build/fbreader.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh # $Id$ -# Copyright 2011 Eric Hameleers, Eindhoven, NL +# Copyright 2011, 2014 Eric Hameleers, Eindhoven, NL # All rights reserved. # # Permission to use, copy, modify, and distribute this software for @@ -34,6 +34,8 @@ # * Initial build. # 0.12.10-2: 13/nov/2011 by Eric Hameleers <alien@slackware.com> # * Add MimeType handler for common ebook formats. +# 0.99.4-1: 09/feb/2014 by Eric Hameleers <alien@slackware.com> +# * Beta version of new development. # # Run 'sh fbreader.SlackBuild' to build a Slackware package. # The package (.tgz) and .txt file as well as build logs are created in /tmp . @@ -41,16 +43,14 @@ # # ----------------------------------------------------------------------------- -# Set initial variables: - PRGNAM=fbreader -VERSION=${VERSION:-0.12.10} -BUILD=${BUILD:-2} +VERSION=${VERSION:-0.99.4} +BUILD=${BUILD:-1} TAG=${TAG:-alien} -DOCS="CHANGES* README* fbreader/LICENSE fbreader/VERSION" +DOCS="ChangeLog README* fbreader/LICENSE fbreader/VERSION" -# We build the Qt4 interface, but you could choose the GTK2 version too: +# We build the Qt4 interface, the GTK2 version is not supported at the moment: #UITYPE=gtk UITYPE=${UITYPE:-qt4} @@ -63,19 +63,22 @@ PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tgz" -SRCURL="http://fbreader.org/${PRGNAM}-sources-${VERSION}.tgz" +SRCURL="http://fbreader.org/files/desktop/${PRGNAM}-sources-${VERSION}.tgz" ## ## --- with a little luck, you won't have to edit below this point --- ## ## # Automatically determine the architecture we're building on: +MARCH=$( uname -m ) if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i486 ;; - arm*) export ARCH=arm ;; + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + armv6hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; + *) export ARCH=$MARCH ;; esac fi @@ -86,11 +89,22 @@ case "$ARCH" in x86_64) SLKCFLAGS="-O2 -fPIC" SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" ;; + armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; + armv6hl) SLKCFLAGS="-O2 -march=armv6 -mfpu=vfp -mfloat-abi=hard" + SLKLDFLAGS=""; LIBDIRSUFFIX="" + ;; *) SLKCFLAGS="-O2" SLKLDFLAGS=""; LIBDIRSUFFIX="" ;; esac +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + # Exit the script on errors: set -e trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR @@ -108,7 +122,7 @@ mkdir -p $TMP/tmp-$PRGNAM # location to build the source mkdir -p $PKG # place for the package to be built rm -rf $PKG/* # always erase old package's contents rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build -rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log +rm -rf $OUTPUT/{configure,make,install,error,makepkg,patch}-$PRGNAM.log # remove old log files # Source file availability: @@ -147,11 +161,7 @@ echo "Extracting the source archive(s) for $PRGNAM..." tar -xvf ${SOURCE} cd ${PRGNAM}-${VERSION} -# Fix compilation with gcc 4.5.x: -cat $SRCDIR/fbreader.gcc45.patch | patch -p1 --verbose \ - 2>&1 | tee $OUTPUT/patch-${PRGNAM}.log - -# Do not name 'mozilla' specifically: +# Slackware does not have 'sensible-browser': cat $SRCDIR/fbreader.defaults.patch | patch -p0 --verbose \ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log @@ -171,19 +181,50 @@ export LDFLAGS="$SLKLDFLAGS" export CXXFLAGS="$SLKCFLAGS" export CFLAGS="$SLKCFLAGS" -make \ +touch $OUTPUT/make-${PRGNAM}.log +make -C zlibrary/core \ + INSTALLDIR=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ + TARGET_ARCH="desktop" UI_TYPE=dummy \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log +make -C zlibrary/text \ + INSTALLDIR=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ + TARGET_ARCH="desktop" UI_TYPE=dummy \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log +make -C zlibrary/ui \ INSTALLDIR=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ TARGET_ARCH="desktop" UI_TYPE=${UITYPE} \ - 2>&1 | tee $OUTPUT/make-${PRGNAM}.log -make DESTDIR=$PKG install \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log +make -C fbreader \ + INSTALLDIR=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ + TARGET_ARCH="desktop" UI_TYPE=dummy \ + 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log + +touch $OUTPUT/install-${PRGNAM}.log +make -C zlibrary/core \ + DESTDIR=$PKG do_install \ + INSTALLDIR=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ + TARGET_ARCH="desktop" UI_TYPE=dummy \ + 2>&1 | tee -a $OUTPUT/install-${PRGNAM}.log +make -C zlibrary/text \ + DESTDIR=$PKG do_install \ + INSTALLDIR=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ + TARGET_ARCH="desktop" UI_TYPE=dummy \ + 2>&1 | tee -a $OUTPUT/install-${PRGNAM}.log +make -C zlibrary/ui \ + DESTDIR=$PKG do_install \ INSTALLDIR=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ TARGET_ARCH="desktop" UI_TYPE=${UITYPE} \ - 2>&1 | tee $OUTPUT/install-${PRGNAM}.log + 2>&1 | tee -a $OUTPUT/install-${PRGNAM}.log +make -C fbreader \ + DESTDIR=$PKG do_install \ + INSTALLDIR=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} \ + TARGET_ARCH="desktop" UI_TYPE=dummy \ + 2>&1 | tee -a $OUTPUT/install-${PRGNAM}.log # Add some MimeTypes to the .desktop file so that filemanagers recognize it: if ! grep -q "^MimeType=" $PKG/usr/share/applications/FBReader.desktop then -cat <<EOT >> $PKG/usr/share/applications/FBReader.desktop + cat <<EOT >> $PKG/usr/share/applications/FBReader.desktop MimeType=text/html;application/ereader;application/oebps-package+xml;image/vnd.djvu;application/x-sony-bbeb;text/rtf;application/pdf;application/x-cbz;application/x-mobipocket-ebook;application/x-cbr;text/fb2+xml;application/vnd.oasis.opendocument.text;application/epub+zip;text/plain;application/xhtml+xml; EOT fi @@ -230,9 +271,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ # Add a package description: mkdir -p $PKG/install cat $SRCDIR/slack-desc > $PKG/install/slack-desc -if [ -f $SRCDIR/slack-required ]; then - cat $SRCDIR/slack-required > $PKG/install/slack-required -fi +cat $SRCDIR/slack-required > $PKG/install/slack-required # Build the package: cd $PKG @@ -241,9 +280,7 @@ cd $OUTPUT md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5 cd - cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt -if [ -f $PKG/install/slack-required ]; then - cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep -fi +cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep # Restore the original umask: umask ${_UMASK_} |