summaryrefslogtreecommitdiff
path: root/libre/calibre-libre
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-02-18 01:56:34 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-02-18 01:56:34 +0000
commit8185891e28635bdb83fdf4ba4391030912dae596 (patch)
tree66a946535bdd228514750233b2cc99dd1866ff64 /libre/calibre-libre
parent60a11f87366fdfbd114cdc91ff813518858e5f8d (diff)
Tue Feb 18 01:56:27 UTC 2014
Diffstat (limited to 'libre/calibre-libre')
-rw-r--r--libre/calibre-libre/PKGBUILD20
-rw-r--r--libre/calibre-libre/calibre-mount-helper28
-rw-r--r--libre/calibre-libre/calibre.install12
-rw-r--r--libre/calibre-libre/desktop_integration.patch120
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')