diff options
Diffstat (limited to 'libre/calibre-libre')
-rw-r--r-- | libre/calibre-libre/PKGBUILD | 20 | ||||
-rw-r--r-- | libre/calibre-libre/calibre-mount-helper | 28 | ||||
-rw-r--r-- | libre/calibre-libre/calibre.install | 12 | ||||
-rw-r--r-- | libre/calibre-libre/desktop_integration.patch | 120 |
4 files changed, 170 insertions, 10 deletions
diff --git a/libre/calibre-libre/PKGBUILD b/libre/calibre-libre/PKGBUILD index 6c4cf6beb..e09fe35d0 100644 --- a/libre/calibre-libre/PKGBUILD +++ b/libre/calibre-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 104707 2014-01-24 17:26:20Z jelle $ +# $Id: PKGBUILD 105710 2014-02-14 09:37:19Z jelle $ # Maintainer: jelle van der Waa <jelle@vdwaa.nl> # Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com> # Contributor: Giovanni Scafora <giovanni@archlinux.org> @@ -9,7 +9,7 @@ _pkgname=calibre pkgname=calibre-libre -pkgver=1.21.0 +pkgver=1.24.0 pkgrel=1 pkgdesc="Ebook management application, with unar support" arch=('i686' 'x86_64' 'mips64el') @@ -30,18 +30,18 @@ install=calibre.install source=("http://download.calibre-ebook.com/${pkgver}/calibre-${pkgver}.tar.xz" 'desktop_integration.patch' 'calibre-mount-helper') -md5sums=('f8588ca195354692d172d9fa3fd67dea' - '95ca4eb3afa7c737c8371708a23bdad9' +md5sums=('2acb11d541bc8101ab550bfe80c79348' + '8e1855ce1ae254c34d12ddbc358b7a36' '675cd87d41342119827ef706055491e7') prepare(){ -cd "${srcdir}/${_pkgname}" -#rm -rf src/{cherrypy,pyPdf} -rm -rf src/cherrypy -rm -rf resources/${pkgname}-portable.* -sed -i -e "s/ldflags = shlex.split(ldflags)/ldflags = shlex.split(ldflags) + ['-fPIC']/" setup/extensions.py + cd "${srcdir}/${_pkgname}" + #rm -rf src/{cherrypy,pyPdf} + rm -rf src/cherrypy + rm -rf resources/${pkgname}-portable.* + sed -i -e "s/ldflags = shlex.split(ldflags)/ldflags = shlex.split(ldflags) + ['-fPIC']/" setup/extensions.py -# Fix for calibre-0.8.58 + # Fix for calibre-0.8.58 sed -i -e "s:#!usr:#!/usr:g" src/calibre/ebooks/markdown/extensions/meta.py sed -i -e 's:\(#!/usr/bin/env[ ]\+python$\|#![ ]/usr/bin/env[ ]\+python$\|#!/usr/bin/python$\):\12:g' \ diff --git a/libre/calibre-libre/calibre-mount-helper b/libre/calibre-libre/calibre-mount-helper new file mode 100644 index 000000000..00cac4270 --- /dev/null +++ b/libre/calibre-libre/calibre-mount-helper @@ -0,0 +1,28 @@ +#!/bin/sh -e +# Replacement for upstream mount helper using udisks/eject +# (C) 2010 Martin Pitt <mpitt@debian.org> + +ACTION="$1" +DEV="$2" + +case "$ACTION" in + mount) + udisks --mount "$DEV" + + # check if mount worked. If not, fail + # udisks does return 0 even if mount failed + mount | grep -q "$DEV" || exit 0 + ;; + + eject) + eject "$DEV" + ;; + + cleanup) + ;; + + *) + echo "unknown action" >&2 + exit 1 +esac + diff --git a/libre/calibre-libre/calibre.install b/libre/calibre-libre/calibre.install new file mode 100644 index 000000000..6210bd0ab --- /dev/null +++ b/libre/calibre-libre/calibre.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre/calibre-libre/desktop_integration.patch b/libre/calibre-libre/desktop_integration.patch new file mode 100644 index 000000000..da3c7a52e --- /dev/null +++ b/libre/calibre-libre/desktop_integration.patch @@ -0,0 +1,120 @@ +diff -aur calibre/src/calibre/linux.py calibre.new/src/calibre/linux.py +--- calibre/src/calibre/linux.py 2014-02-07 04:19:59.000000000 +0100 ++++ calibre.new/src/calibre/linux.py 2014-02-08 13:07:09.925693077 +0100 +@@ -451,18 +451,6 @@ + self.setup_completion() + if islinux or isbsd: + self.setup_desktop_integration() +- self.create_uninstaller() +- +- from calibre.utils.config import config_dir +- if os.path.exists(config_dir): +- os.chdir(config_dir) +- if islinux or isbsd: +- for f in os.listdir('.'): +- if os.stat(f).st_uid == 0: +- import shutil +- shutil.rmtree(f) if os.path.isdir(f) else os.unlink(f) +- if os.stat(config_dir).st_uid == 0: +- os.rmdir(config_dir) + + if warn is None and self.warnings: + self.info('There were %d warnings'%len(self.warnings)) +@@ -513,7 +501,7 @@ + if isnetbsd: + f = os.path.join(self.opts.staging_root, 'share/bash_completion.d/calibre') + else: +- f = os.path.join(self.opts.staging_etc, 'bash_completion.d/calibre') ++ f = os.path.join(self.opts.staging_root, 'usr/share/bash-completion/completions/calibre') + if not os.path.exists(os.path.dirname(f)): + os.makedirs(os.path.dirname(f)) + if zsh.dest: +@@ -657,56 +645,37 @@ + + with TemporaryDirectory() as tdir, CurrentDir(tdir), \ + PreserveMIMEDefaults(): +- render_img('mimetypes/lrf.png', 'calibre-lrf.png') +- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True) +- self.icon_resources.append(('mimetypes', 'application-lrf', '128')) +- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True) +- self.icon_resources.append(('mimetypes', 'application-lrs', +- '128')) +- render_img('mimetypes/mobi.png', 'calibre-mobi.png') +- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-mobi.png application-x-mobipocket-ebook', shell=True) +- self.icon_resources.append(('mimetypes', 'application-x-mobipocket-ebook', '128')) +- render_img('mimetypes/tpz.png', 'calibre-tpz.png') +- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-tpz.png application-x-topaz-ebook', shell=True) +- self.icon_resources.append(('mimetypes', 'application-x-topaz-ebook', '128')) +- render_img('mimetypes/azw2.png', 'calibre-azw2.png') +- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-azw2.png application-x-kindle-application', shell=True) +- self.icon_resources.append(('mimetypes', 'application-x-kindle-application', '128')) +- render_img('mimetypes/azw3.png', 'calibre-azw3.png') +- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-azw3.png application-x-mobi8-ebook', shell=True) +- self.icon_resources.append(('mimetypes', 'application-x-mobi8-ebook', '128')) +- render_img('lt.png', 'calibre-gui.png', width=256, height=256) +- cc('xdg-icon-resource install --noupdate --size 256 calibre-gui.png calibre-gui', shell=True) +- self.icon_resources.append(('apps', 'calibre-gui', '128')) +- render_img('viewer.png', 'calibre-viewer.png') +- cc('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True) +- self.icon_resources.append(('apps', 'calibre-viewer', '128')) +- render_img('tweak.png', 'calibre-ebook-edit.png') +- cc('xdg-icon-resource install --size 128 calibre-ebook-edit.png calibre-ebook-edit', shell=True) +- self.icon_resources.append(('apps', 'calibre-ebook-edit', '128')) ++ dir = os.path.join(self.opts.staging_sharedir,'../pixmaps') ++ os.mkdir(dir) ++ render_img('mimetypes/lrf.png', os.path.join(dir,'calibre-lrf.png')) ++ render_img('lt.png', os.path.join(dir, 'calibre-gui.png')) ++ render_img('viewer.png', os.path.join(dir, 'calibre-viewer.png')) ++ render_img('tweak.png', os.path.join(dir, 'calibre-ebook-edit.png')) + + mimetypes = set([]) + for x in all_input_formats(): + mt = guess_type('dummy.'+x)[0] +- if mt and 'chemical' not in mt and 'ctc-posml' not in mt: ++ if mt and 'chemical' not in mt and 'text' not in mt and 'pdf' not in mt and 'xhtml' not in mt: + mimetypes.add(mt) + + def write_mimetypes(f): + f.write('MimeType=%s;\n'%';'.join(mimetypes)) + + from calibre.ebooks.oeb.polish.main import SUPPORTED +- f = open('calibre-lrfviewer.desktop', 'wb') ++ dir = os.path.join(self.opts.staging_sharedir,'../applications') ++ os.mkdir(dir) ++ f = open(os.path.join(dir, 'calibre-lrfviewer.desktop'), 'wb') + f.write(VIEWER) + f.close() +- f = open('calibre-ebook-viewer.desktop', 'wb') ++ f = open(os.path.join(dir, 'calibre-ebook-viewer.desktop'), 'wb') + f.write(EVIEWER) + write_mimetypes(f) +- f = open('calibre-ebook-edit.desktop', 'wb') ++ f = open(os.path.join(dir, 'calibre-ebook-edit.desktop'), 'wb') + f.write(ETWEAK) + mt = [guess_type('a.' + x.lower())[0] for x in SUPPORTED] + f.write('MimeType=%s;\n'%';'.join(mt)) + f.close() +- f = open('calibre-gui.desktop', 'wb') ++ f = open(os.path.join(dir, 'calibre-gui.desktop'), 'wb') + f.write(GUI) + write_mimetypes(f) + f.close() +@@ -725,15 +694,9 @@ + translators = dict(get_all_translators()) + + APPDATA = get_appdata() +- for x in des: +- cmd = ['xdg-desktop-menu', 'install', '--noupdate', './'+x] +- cc(' '.join(cmd), shell=True) +- self.menu_resources.append(x) +- ak = x.partition('.')[0] +- if ak in APPDATA and os.access(appdata, os.W_OK): +- write_appdata(ak, APPDATA[ak], appdata, translators) +- cc(['xdg-desktop-menu', 'forceupdate']) +- f = open('calibre-mimetypes.xml', 'wb') ++ dir = os.path.join(self.opts.staging_sharedir,'../mime/packages/') ++ os.makedirs(dir) ++ f = open(os.path.join(dir, 'calibre.xml'), 'wb') + f.write(MIME) + f.close() + self.mime_resources.append('calibre-mimetypes.xml') |