aboutsummaryrefslogtreecommitdiff
path: root/office/calibre/calibre.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'office/calibre/calibre.SlackBuild')
-rw-r--r--office/calibre/calibre.SlackBuild95
1 files changed, 44 insertions, 51 deletions
diff --git a/office/calibre/calibre.SlackBuild b/office/calibre/calibre.SlackBuild
index c9638bb892b6b..7dd5825e252a5 100644
--- a/office/calibre/calibre.SlackBuild
+++ b/office/calibre/calibre.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for calibre
-# Copyright 2009 Larry Hajali <larryhaja[at]gmail[dot]com>
+# Copyright 2009-2010 Larry Hajali <larryhaja[at]gmail[dot]com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,16 +23,14 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=calibre
-VERSION=${VERSION:-0.5.14}
+VERSION=0.7.2
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
@@ -43,10 +41,13 @@ PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
@@ -58,9 +59,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
+rm -rf $PRGNAM
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
+cd $PRGNAM
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -69,66 +70,58 @@ find . \
-exec chmod 644 {} \;
# Fix man pages.
-patch -p1 < $CWD/patches/fix-manpages.diff
-# Remove desktop integration and post isntall step. We'll do that later.
-patch -p1 < $CWD/patches/post-install-removal.patch
-# Fix a validation error in django-tagging python module.
-patch -p1 < $CWD/patches/tagging-form.patch
-
-python setup.py install --root=$PKG
-
-# This shouldn't be necessary but calibre has a post install desktop integration
-# step that leaves unwanted files on the system if calibre is later removed.
-# So we'll provide the necessary paths for calibre to use in order to package it.
-cd build
- ln -s lib\.* lib
-cd -
-
-DESTDIR=$PKG \
-PYTHONPATH="$TMP/$PRGNAM-$VERSION/build/lib" \
-python $TMP/$PRGNAM-$VERSION/src/$PRGNAM/linux.py \
- --use-destdir \
- --do-not-reload-udev-hal \
- --group-file=/etc/group \
- --dont-check-root
-
-convert icons/library.ico $PRGNAM-gui.png
-convert icons/viewer.ico $PRGNAM-viewer.png
+patch -p1 < $CWD/patches/fix-manpages.patch
+# Remove desktop integration. We'll do that later.
+patch -p1 < $CWD/patches/remove-desktop-integration.patch
+# Fix calibre module location.
+patch -p1 < $CWD/patches/calibre-module-fix.patch
+# Fix version info.
+sed -i "s|0.7.1|$VERSION|" src/calibre/{constants.py,translations/calibre.pot}
+
+CFLAGS="$SLKCFLAGS" python setup.py build
+
+# We have to fake out CALIBRE_CONFIG_DIRECTORY if there is a current
+# calibre installation while the install process takes place. :(
+mkdir -p $PWD/tmp/config
+
+CALIBRE_CONFIG_DIRECTORY="$PWD/tmp/config" \
+python setup.py install \
+ --root=$PKG \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sharedir=/usr/share \
+ --bindir=/usr/bin \
+ --staging-libdir=$PKG/usr/lib${LIBDIRSUFFIX} \
+ --staging-bindir=$PKG/usr/bin \
+ --staging-sharedir=$PKG/usr/share
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-# Fix the man pages.
-for i in $PKG/usr/man/man1/*.bz2 ; do bzip2 -d $i ; done
-gzip -9 $PKG/usr/man/man?/*.?
+# Fix the man pages
+for i in $PKG/usr/man/man?/*.bz2 ; do bzip2 -d $i ; done
+find $PKG/usr/man -type f -exec gzip -9 {} \;
-# Put the udev rules file in the right place
-mkdir -p $PKG/lib
-mv $PKG/etc/udev $PKG/lib
+# Fix permissions on calibre's bash completion.
+chmod 0755 $PKG/etc/bash_completion.d/$PRGNAM
-# Make the bash completion into a more standard form.
-mv $PKG/etc/bash_completion.d/calibre $PKG/etc/bash_completion.d/calibre.sh
-
-# Fix a bug in the ebook-viewer for Qt 4.5.x incompatibility.
-PYVER=$(python -c 'import sys; print sys.version[:3]')
-sed -i 's|self.view.setProperty|#self.view.setProperty|' \
- $PKG/usr/lib${LIBDIRSUFFIX}/python${PYVER}/site-packages/calibre/gui2/viewer/main_ui.py
-
-# Install the necessary desktop items
+# Install the necessary desktop items.
install -D -m 644 $CWD/desktop/$PRGNAM-gui.desktop \
$PKG/usr/share/applications/$PRGNAM-gui.desktop
install -D -m 644 $CWD/desktop/$PRGNAM-lrfviewer.desktop \
$PKG/usr/share/applications/$PRGNAM-lrfviewer.desktop
-install -D -m 644 $PRGNAM-gui.png \
- $PKG/usr/share/icons/hicolor/128x128/apps/$PRGNAM-gui.png
-install -D -m 644 $PRGNAM-viewer.png \
- $PKG/usr/share/icons/hicolor/128x128/apps/$PRGNAM-viewer.png
+install -D -m 644 $CWD/desktop/$PRGNAM-gui.png \
+ $PKG/usr/share/pixmaps/$PRGNAM-gui.png
+install -D -m 644 $CWD/desktop/$PRGNAM-viewer.png \
+ $PKG/usr/share/pixmaps/$PRGNAM-viewer.png
+install -D -m 644 $CWD/desktop/$PRGNAM-ebook-viewer.desktop \
+ $PKG/usr/share/applications/$PRGNAM-ebook-viewer.desktop
install -D -m 644 $CWD/desktop/$PRGNAM-mimetypes \
$PKG/usr/share/mime/packages/$PRGNAM-mimetypes
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- LICENSE todo \
+ LICENSE* Changelog.yaml COPYRIGHT README \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild