From 44560ae20a191fc615fedb28c9c1e07853c377b9 Mon Sep 17 00:00:00 2001 From: Larry Hajali Date: Thu, 13 May 2010 00:39:02 +0200 Subject: office/calibre: Updated for version 0.5.14 --- office/calibre/README | 33 +++++------ office/calibre/calibre.SlackBuild | 71 +++++++++++++---------- office/calibre/calibre.info | 8 ++- office/calibre/desktop/calibre-links.txt | 8 +++ office/calibre/patches/fix-libraries.diff | 37 ------------ office/calibre/patches/fix-manpages.diff | 6 +- office/calibre/patches/fix-postinstall.diff | 46 --------------- office/calibre/patches/post-install-removal.patch | 44 ++++++++++++++ office/calibre/patches/tagging-form.patch | 12 ++++ office/calibre/slack-desc | 9 +-- 10 files changed, 132 insertions(+), 142 deletions(-) create mode 100644 office/calibre/desktop/calibre-links.txt delete mode 100644 office/calibre/patches/fix-libraries.diff delete mode 100644 office/calibre/patches/fix-postinstall.diff create mode 100644 office/calibre/patches/post-install-removal.patch create mode 100644 office/calibre/patches/tagging-form.patch (limited to 'office') diff --git a/office/calibre/README b/office/calibre/README index ee4a238005..9c62b5874e 100644 --- a/office/calibre/README +++ b/office/calibre/README @@ -1,22 +1,19 @@ -Calibre is an e-book library manager. It can view, convert and catalog -e-books in most of the major e-book formats. It can also talk to e-book -reader devices. It can go out to the internet and fetch metadata for your -books. It can download newspapers and convert them into e-books for -convenient reading. It is cross platform, running on Linux, Windows -and OS X. +Calibre is meant to be a complete e-library solution. It includes library +management, format conversion, news feeds to ebook conversion as well as +e-book reader sync features. -Requires: pysetuptools, lxml, python-dateutil, pil, BeautifulSoup, -ClientForm, mechanize, dnspython, qt4, sip, and pyqt4. +Calibre is primarily an ebook cataloging program. It manages your ebook +collection for you. It is designed around the concept of the logical book, +i.e. a single entry in the database that may correspond to ebooks in several +formats. It also supports conversion from a dozen different ebook formats to +LRF and EPUB. A graphical interface to the conversion software can be +accessed easily by just clicking the "Convert E-books" button. -Optional: unrar and openjpeg. - -Warning: It is best to uninstall calibre first before upgrading to a new -version. +This requires pysetuptools, lxml, python-dateutil, BeautifulSoup, ClientForm, +mechanize, dnspython, and podofo. -Warning: This package conflicts with pyPdf, CherryPy and cssutils, as it -provides its own copy of these programs. +Optional: unrar and openjpeg. -Note: The ebook viewer functionality doesn't work with Qt 4.5.0 and -pyqt4 4.4.4. However, it does work with Qt 4.4.3 and pyqt4 4.4.4. As an -alternative, FBReader is a good choice to view downloaded content on the -desktop. +Note: This package conflicts with pyPdf, cssutils, and CherryPy, as it +provides these packages (available at slackbuilds.org). Calibre also +provides odfpy and django-tagging (not available at slackbuilds.org). diff --git a/office/calibre/calibre.SlackBuild b/office/calibre/calibre.SlackBuild index d285cf116b..8f5e9c5be2 100644 --- a/office/calibre/calibre.SlackBuild +++ b/office/calibre/calibre.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=calibre -VERSION=${VERSION:-0.5.8} +VERSION=${VERSION:-0.5.14} ARCH=${ARCH:-i486} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -33,6 +33,14 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} +if [ "$ARCH" = "i486" ]; then + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +fi + set -e rm -rf $PKG @@ -48,14 +56,12 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# pyqtdistutils.py points to qmake rather then qmake-qt4. -sed -i 's|qmake|qmake-qt4|g' pyqtdistutils.py -# Correct the location of the libraries. -patch -p1 < $CWD/patches/fix-libraries.diff -# Remove desktop integration and post-install step. We'll do that later. -patch -p1 < $CWD/patches/fix-postinstall.diff -# Fix the man pages. +# 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 @@ -66,9 +72,9 @@ cd build ln -s lib\.* lib cd - -DESTDIR="${PKG}" \ -PYTHONPATH="${TMP}/${PRGNAM}-${VERSION}/build/lib" \ -python "${TMP}/${PRGNAM}-${VERSION}"/src/${PRGNAM}/linux.py \ +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 \ @@ -84,35 +90,38 @@ convert icons/viewer.ico $PRGNAM-viewer.png xargs strip --strip-unneeded 2> /dev/null ) -# Fix the man pages +# Fix the man pages. for i in $PKG/usr/man/man1/*.bz2 ; do bzip2 -d $i ; done gzip -9 $PKG/usr/man/man?/*.? -PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') -sed -i 's|self.view.setProperty|#self.view.setProperty|' \ - $PKG/usr/lib/python${PYTHON_VERSION}/site-packages/calibre/gui2/viewer/main_ui.py - -# Install the necessary desktop items. -install -D -m 0644 $CWD/desktop/$PRGNAM-gui.desktop \ - $PKG/usr/share/applications/$PRGNAM-gui.desktop -install -D -m 0644 $PRGNAM-gui.png \ - $PKG/usr/share/pixmaps/$PRGNAM-gui.png -install -D -m 0644 $CWD/desktop/$PRGNAM-lrfviewer.desktop \ - $PKG/usr/share/applications/$PRGNAM-lrfviewer.desktop -install -D -m 0644 $PRGNAM-viewer.png \ - $PKG/usr/share/pixmaps/$PRGNAM-viewer.png -install -D -m 0644 $CWD/desktop/$PRGNAM-mimetypes \ - $PKG/usr/share/mime/packages/$PRGNAM-mimetypes - # Put the udev rules file in the right place mkdir -p $PKG/lib mv $PKG/etc/udev $PKG/lib -# Rename the bash-completion file to be more consistent with others +# 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 -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-mimetypes \ + $PKG/usr/share/mime/packages/$PRGNAM-mimetypes + mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE todo $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + LICENSE todo \ + $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install @@ -120,4 +129,4 @@ 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.tgz +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/office/calibre/calibre.info b/office/calibre/calibre.info index 99e2813eea..250e6fe1c6 100644 --- a/office/calibre/calibre.info +++ b/office/calibre/calibre.info @@ -1,8 +1,10 @@ PRGNAM="calibre" -VERSION="0.5.8" +VERSION="0.5.14" HOMEPAGE="http://calibre.kovidgoyal.net/" -DOWNLOAD="http://pypi.python.org/packages/source/c/calibre/calibre-0.5.8.tar.gz" -MD5SUM="88744fbaa92913206508e1bcde5d5398" +DOWNLOAD="http://pypi.python.org/packages/source/c/calibre/calibre-0.5.14.tar.gz" +MD5SUM="e4c97257c0824342ecd607866c08ddaa" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" MAINTAINER="Larry Hajali" EMAIL="larryhaja[at]gmail[dot]com" APPROVED="rworkman" diff --git a/office/calibre/desktop/calibre-links.txt b/office/calibre/desktop/calibre-links.txt new file mode 100644 index 0000000000..32f7193460 --- /dev/null +++ b/office/calibre/desktop/calibre-links.txt @@ -0,0 +1,8 @@ +/usr/share/hal/fdi/policy/20thirdparty/10-calibre.fdi +/usr/share/mime/packages/calibre-mimetypes +/usr/share/gnome/apps/calibre-lrfviewer.desktop +/usr/share/gnome/apps/calibre-gui.desktop +/usr/share/icons/hicolor/128x128/apps/calibre-gui.png +/usr/share/icons/hicolor/128x128/apps/calibre-viewer.png +/usr/share/applnk/calibre-lrfviewer.desktop +/usr/share/applnk/calibre-gui.desktop \ No newline at end of file diff --git a/office/calibre/patches/fix-libraries.diff b/office/calibre/patches/fix-libraries.diff deleted file mode 100644 index 33006a70c7..0000000000 --- a/office/calibre/patches/fix-libraries.diff +++ /dev/null @@ -1,37 +0,0 @@ -diff -Naur calibre-0.5.6.orig/installer/linux/freeze.py calibre-0.5.6/installer/linux/freeze.py ---- calibre-0.5.6.orig/installer/linux/freeze.py 2009-04-02 22:51:20.000000000 +0000 -+++ calibre-0.5.6/installer/linux/freeze.py 2009-04-08 03:30:37.000000000 +0000 -@@ -31,17 +31,17 @@ - '/usr/lib/libsqlite3.so.0', - '/usr/lib/libsqlite3.so.0', - '/usr/lib/libmng.so.1', -- '/lib/libz.so.1', -+ '/usr/lib/libz.so.1', - '/lib/libbz2.so.1', - '/lib/libbz2.so.1', -- '/usr/lib/libpoppler.so.4', -+ '/usr/lib/libpoppler.so.3', - '/usr/lib/libxml2.so.2', - '/usr/lib/libdbus-1.so.3', -- '/usr/lib/libopenjpeg.so.2', -+ '/usr/lib/libopenjpeg.so.1.3', - '/usr/lib/libxslt.so.1', - '/usr/lib/libxslt.so.1', - '/usr/lib/libgthread-2.0.so.0', -- '/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/libstdc++.so.6', -+ '/usr/lib/libstdc++.so.6', - '/usr/lib/libpng12.so.0', - '/usr/lib/libexslt.so.0', - '/usr/lib/libMagickWand.so', -diff -Naur calibre-0.5.6.orig/src/calibre/libwand.py calibre-0.5.6/src/calibre/libwand.py ---- calibre-0.5.6.orig/src/calibre/libwand.py 2009-04-09 04:13:27.000000000 +0000 -+++ calibre-0.5.6/src/calibre/libwand.py 2009-04-14 17:04:11.000000000 +0000 -@@ -7,7 +7,7 @@ - class WandException(Exception): - pass - --_lib_name = 'CORE_RL_wand_.dll' if iswindows else 'libWand.dylib' if isosx else 'libWand.so' -+_lib_name = 'CORE_RL_wand_.dll' if iswindows else 'libWand.dylib' if isosx else 'libMagickWand.so' - if iswindows and hasattr(sys, 'frozen'): - im_dir = os.path.join(os.path.dirname(sys.executable), 'ImageMagick') - os.putenv('PATH', im_dir + ';' + os.environ['PATH']) diff --git a/office/calibre/patches/fix-manpages.diff b/office/calibre/patches/fix-manpages.diff index 55e7ff8582..50129c6c92 100644 --- a/office/calibre/patches/fix-manpages.diff +++ b/office/calibre/patches/fix-manpages.diff @@ -1,6 +1,6 @@ -diff -Naur calibre-0.5.6.orig/src/calibre/linux.py calibre-0.5.6/src/calibre/linux.py ---- calibre-0.5.6.orig/src/calibre/linux.py 2009-04-09 04:13:27.000000000 +0000 -+++ calibre-0.5.6/src/calibre/linux.py 2009-04-13 22:17:10.000000000 +0000 +diff -Naur calibre-0.5.12.orig/src/calibre/linux.py calibre-0.5.12/src/calibre/linux.py +--- calibre-0.5.12.orig/src/calibre/linux.py 2009-05-15 21:05:52.000000000 +0000 ++++ calibre-0.5.12/src/calibre/linux.py 2009-05-16 04:09:44.000000000 +0000 @@ -417,7 +417,7 @@ def install_man_pages(fatal_errors, use_destdir=False): from calibre.utils.help2man import create_man_page diff --git a/office/calibre/patches/fix-postinstall.diff b/office/calibre/patches/fix-postinstall.diff deleted file mode 100644 index 676cd38406..0000000000 --- a/office/calibre/patches/fix-postinstall.diff +++ /dev/null @@ -1,46 +0,0 @@ -diff -Naur calibre-0.5.6.orig/setup.py calibre-0.5.6/setup.py ---- calibre-0.5.6.orig/setup.py 2009-04-09 04:13:27.000000000 +0000 -+++ calibre-0.5.6/setup.py 2009-04-13 22:14:41.000000000 +0000 -@@ -55,8 +55,6 @@ - upload_to_pypi, stage3, stage2, stage1, upload, \ - upload_rss - -- entry_points['console_scripts'].append( -- 'calibre_postinstall = calibre.linux:post_install') - ext_modules = [ - Extension('calibre.plugins.lzx', - sources=['src/calibre/utils/lzx/lzxmodule.c', ---- calibre-0.5.6.orig/setup.py 2009-04-09 04:13:27.000000000 +0000 -+++ calibre-0.5.6/setup.py 2009-04-13 22:14:41.000000000 +0000 -@@ -179,6 +179,4 @@ - - if 'develop' in ' '.join(sys.argv) and islinux: - subprocess.check_call('calibre_postinstall --do-not-reload-udev-hal', shell=True) -- if 'install' in sys.argv and islinux: -- subprocess.check_call('calibre_postinstall', shell=True) - -diff -Naur calibre-0.5.6.orig/src/calibre/linux.py calibre-0.5.6/src/calibre/linux.py ---- calibre-0.5.6.orig/src/calibre/linux.py 2009-04-09 04:13:27.000000000 +0000 -+++ calibre-0.5.6/src/calibre/linux.py 2009-04-13 22:17:10.000000000 +0000 -@@ -444,7 +444,6 @@ - global use_destdir - use_destdir = opts.destdir - manifest = [] -- setup_desktop_integration(opts.fatal_errors) - if opts.no_root or os.geteuid() == 0: - manifest += install_man_pages(opts.fatal_errors, use_destdir) - manifest += setup_udev_rules(opts.group_file, not opts.dont_reload, opts.fatal_errors) -@@ -462,13 +461,6 @@ - if opts.save_manifest_to: - open(opts.save_manifest_to, 'wb').write('\n'.join(manifest)+'\n') - -- from calibre.utils.config import config_dir -- if os.path.exists(config_dir): -- os.chdir(config_dir) -- for f in os.listdir('.'): -- if os.stat(f).st_uid == 0: -- os.unlink(f) -- - def binary_install(): - manifest = os.path.join(getattr(sys, 'frozen_path'), 'manifest') - exes = [x.strip() for x in open(manifest).readlines()] diff --git a/office/calibre/patches/post-install-removal.patch b/office/calibre/patches/post-install-removal.patch new file mode 100644 index 0000000000..6a47e957a0 --- /dev/null +++ b/office/calibre/patches/post-install-removal.patch @@ -0,0 +1,44 @@ +diff -Naur calibre-0.5.14.orig/setup.py calibre-0.5.14/setup.py +--- calibre-0.5.14.orig/setup.py 2009-05-29 17:25:45.000000000 +0000 ++++ calibre-0.5.14/setup.py 2009-06-27 03:26:58.000000000 +0000 +@@ -55,8 +55,6 @@ + upload_to_pypi, stage3, stage2, stage1, upload, \ + upload_rss + +- entry_points['console_scripts'].append( +- 'calibre_postinstall = calibre.linux:post_install') + optional = [] + + +@@ -198,6 +196,4 @@ + + if 'develop' in ' '.join(sys.argv) and islinux: + subprocess.check_call('calibre_postinstall --do-not-reload-udev-hal', shell=True) +- if 'install' in sys.argv and islinux: +- subprocess.check_call('calibre_postinstall', shell=True) + +diff -Naur calibre-0.5.14.orig/src/calibre/linux.py calibre-0.5.14/src/calibre/linux.py +--- calibre-0.5.14.orig/src/calibre/linux.py 2009-05-29 17:25:45.000000000 +0000 ++++ calibre-0.5.14/src/calibre/linux.py 2009-06-27 03:26:23.000000000 +0000 +@@ -444,7 +444,6 @@ + global use_destdir + use_destdir = opts.destdir + manifest = [] +- setup_desktop_integration(opts.fatal_errors) + if opts.no_root or os.geteuid() == 0: + manifest += install_man_pages(opts.fatal_errors, use_destdir) + manifest += setup_udev_rules(opts.group_file, not opts.dont_reload, opts.fatal_errors) +@@ -462,13 +461,6 @@ + if opts.save_manifest_to: + open(opts.save_manifest_to, 'wb').write('\n'.join(manifest)+'\n') + +- from calibre.utils.config import config_dir +- if os.path.exists(config_dir): +- os.chdir(config_dir) +- for f in os.listdir('.'): +- if os.stat(f).st_uid == 0: +- os.unlink(f) +- + def binary_install(): + manifest = os.path.join(getattr(sys, 'frozen_path'), 'manifest') + exes = [x.strip() for x in open(manifest).readlines()] diff --git a/office/calibre/patches/tagging-form.patch b/office/calibre/patches/tagging-form.patch new file mode 100644 index 0000000000..d1d76e2ff0 --- /dev/null +++ b/office/calibre/patches/tagging-form.patch @@ -0,0 +1,12 @@ +diff -Naur calibre-0.5.14.orig/src/tagging/forms.py calibre-0.5.14/src/tagging/forms.py +--- calibre-0.5.14.orig/src/tagging/forms.py 2009-05-29 17:25:45.000000000 +0000 ++++ calibre-0.5.14/src/tagging/forms.py 2009-07-01 22:58:17.000000000 +0000 +@@ -16,7 +16,7 @@ + value = self.cleaned_data['name'] + tag_names = parse_tag_input(value) + if len(tag_names) > 1: +- raise ValidationError(_('Multiple tags were given.')) ++ raise forms.ValidationError(_('Multiple tags were given.')) + elif len(tag_names[0]) > settings.MAX_TAG_LENGTH: + raise forms.ValidationError( + _('A tag may be no more than %s characters long.') % diff --git a/office/calibre/slack-desc b/office/calibre/slack-desc index 0e16f8ebd7..38e00b1a0f 100644 --- a/office/calibre/slack-desc +++ b/office/calibre/slack-desc @@ -6,13 +6,14 @@ # leave one space after the ':'. |-----handy-ruler------------------------------------------------------| -calibre: calibre (e-book management software) -calibre: -calibre: calibre is a one stop solution to all your e-book needs. It is free, +calibre: Calibre (Ebook library manager) +calibre: +calibre: Calibre is a one stop solution to all your e-book needs. It is free, calibre: open source and cross-platform in design and works well on Linux, calibre: OS X and Windows. calibre is meant to be a complete e-library calibre: solution and thus includes library management, format conversion, calibre: news feeds to ebook conversion, as well as e-book reader sync calibre: features and an integrated e-book viewer. -calibre: +calibre: calibre: Homepage: http://calibre.kovidgoyal.net/ +calibre: -- cgit v1.2.3