Date: Sunday, September 15, 2013 @ 12:07:40 Author: jelle Revision: 97196
archrelease: copy trunk to community-staging-i686, community-staging-x86_64 Added: calibre/repos/community-staging-i686/ calibre/repos/community-staging-i686/PKGBUILD (from rev 97195, calibre/trunk/PKGBUILD) calibre/repos/community-staging-i686/calibre-mount-helper (from rev 97195, calibre/trunk/calibre-mount-helper) calibre/repos/community-staging-i686/calibre.install (from rev 97195, calibre/trunk/calibre.install) calibre/repos/community-staging-i686/desktop_integration.patch (from rev 97195, calibre/trunk/desktop_integration.patch) calibre/repos/community-staging-x86_64/ calibre/repos/community-staging-x86_64/PKGBUILD (from rev 97195, calibre/trunk/PKGBUILD) calibre/repos/community-staging-x86_64/calibre-mount-helper (from rev 97195, calibre/trunk/calibre-mount-helper) calibre/repos/community-staging-x86_64/calibre.install (from rev 97195, calibre/trunk/calibre.install) calibre/repos/community-staging-x86_64/desktop_integration.patch (from rev 97195, calibre/trunk/desktop_integration.patch) ----------------------------------------------------+ community-staging-i686/PKGBUILD | 89 +++++++++++++++ community-staging-i686/calibre-mount-helper | 28 ++++ community-staging-i686/calibre.install | 12 ++ community-staging-i686/desktop_integration.patch | 109 +++++++++++++++++++ community-staging-x86_64/PKGBUILD | 89 +++++++++++++++ community-staging-x86_64/calibre-mount-helper | 28 ++++ community-staging-x86_64/calibre.install | 12 ++ community-staging-x86_64/desktop_integration.patch | 109 +++++++++++++++++++ 8 files changed, 476 insertions(+) Copied: calibre/repos/community-staging-i686/PKGBUILD (from rev 97195, calibre/trunk/PKGBUILD) =================================================================== --- community-staging-i686/PKGBUILD (rev 0) +++ community-staging-i686/PKGBUILD 2013-09-15 10:07:40 UTC (rev 97196) @@ -0,0 +1,89 @@ +# $Id$ +# Maintainer: jelle van der Waa <je...@vdwaa.nl> +# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com> +# Contributor: Giovanni Scafora <giova...@archlinux.org> +# Contributor: Petrov Roman <nwhis...@gmail.com> +# Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com> +# Contributor: Larry Hajali <larryh...@gmail.com> + +pkgname=calibre +pkgver=1.3.0 +pkgrel=2 +pkgdesc="Ebook management application" +arch=('i686' 'x86_64') +url="http://calibre-ebook.com/" +license=('GPL3') +depends=('python2-six' 'python2-dateutil' 'python2-cssutils' 'python2-cherrypy' + 'python2-mechanize' 'podofo' 'libwmf' 'python2-beautifulsoup3' + 'imagemagick' 'poppler-qt' 'chmlib' 'python2-lxml' 'libusbx' + 'python2-pillow' 'shared-mime-info' 'python2-dnspython' + 'libunrar' 'python2-pyqt4' 'python2-psutil' 'icu' 'libmtp' + 'python2-netifaces' 'python2-cssselect' 'python2-apsw') +makedepends=('python2-pycountry' 'qt4-private-headers') +optdepends=('ipython2: to use calibre-debug') +install=calibre.install +source=("http://sourceforge.net/projects/calibre/files/${pkgver}/calibre-${pkgver}.tar.xz" + 'desktop_integration.patch' + 'calibre-mount-helper') +md5sums=('38597e9ddb7b24a162f8e3bb6df18fc4' + '8353d1878c5a498b3e49eddef473605f' + '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 + + # 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' \ + $(find . -regex ".*.py\|.*.recipe") +} + +build() { + cd "${srcdir}/${pkgname}" + + LANG='en_US.UTF-8' python2 setup.py build + # LANG='en_US.UTF-8' python2 setup.py resources + + # Don't build translations since building them is broken badly +#LANG='en_US.UTF-8' python2 setup.py translations +} + +package() { + cd "${srcdir}/${pkgname}" + + patch -Np1 -i "${srcdir}/desktop_integration.patch" + + # More on desktop integration (e.g. enforce arch defaults) + sed -i -e "/self.create_uninstaller()/,/os.rmdir(config_dir)/d" \ + -e "s|self.opts.staging_sharedir, 'man/man1'|self.opts.staging_root, 'usr/share/man/man1'|" \ + -e "s|manpath, prog+'.1'+__appname__+'.bz2'|manpath, prog+'.1'+'.bz2'|" \ + -e "s|old_udev = '/etc|old_udev = '${pkgdir}/etc|" \ + -e "s/^Name=calibre/Name=Calibre/g" src/calibre/linux.py + + # Fix the environment module location + sed -i -e "s|(prefix=.*)|(prefix='$pkgdir/usr')|g" setup/install.py + + install -d "${pkgdir}/usr/lib/python2.7/site-packages" + install -d "${pkgdir}/usr/share/zsh/site-functions" + LANG='en_US.UTF-8' python2 setup.py install --root="${pkgdir}" --prefix=/usr \ + --staging-bindir="${pkgdir}/usr/bin" \ + --staging-libdir="${pkgdir}/usr/lib" \ + --staging-sharedir="${pkgdir}/usr/share" + + find "${pkgdir}" -type d -empty -delete + + # See http://lwn.net/SubscriberLink/465311/7c299471a5399167/ + rm -rf "${pkgdir}/usr/bin/calibre-mount-helper" + install -m 755 "${srcdir}/calibre-mount-helper" "${pkgdir}/usr/bin" + + # Compiling bytecode FS33392 + python2 -m compileall "${pkgdir}/usr/lib/calibre/" + + # Compiling optimized bytecode FS33392 + python2 -O -m compileall "${pkgdir}/usr/lib/calibre/" +} Copied: calibre/repos/community-staging-i686/calibre-mount-helper (from rev 97195, calibre/trunk/calibre-mount-helper) =================================================================== --- community-staging-i686/calibre-mount-helper (rev 0) +++ community-staging-i686/calibre-mount-helper 2013-09-15 10:07:40 UTC (rev 97196) @@ -0,0 +1,28 @@ +#!/bin/sh -e +# Replacement for upstream mount helper using udisks/eject +# (C) 2010 Martin Pitt <mp...@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 + Copied: calibre/repos/community-staging-i686/calibre.install (from rev 97195, calibre/trunk/calibre.install) =================================================================== --- community-staging-i686/calibre.install (rev 0) +++ community-staging-i686/calibre.install 2013-09-15 10:07:40 UTC (rev 97196) @@ -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 +} Copied: calibre/repos/community-staging-i686/desktop_integration.patch (from rev 97195, calibre/trunk/desktop_integration.patch) =================================================================== --- community-staging-i686/desktop_integration.patch (rev 0) +++ community-staging-i686/desktop_integration.patch 2013-09-15 10:07:40 UTC (rev 97196) @@ -0,0 +1,109 @@ +--- a/src/calibre/linux.py 2013-03-01 05:49:28.000000000 +0100 ++++ b/src/calibre/linux.py 2013-03-03 14:53:05.000000000 +0100 +@@ -447,19 +447,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)) + for args, kwargs in self.warnings: +@@ -508,7 +495,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: +@@ -651,63 +638,39 @@ + + 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')) ++ 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')) + + 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)) + +- 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.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() +- des = ('calibre-gui.desktop', 'calibre-lrfviewer.desktop', +- 'calibre-ebook-viewer.desktop') +- for x in des: +- cmd = ['xdg-desktop-menu', 'install', '--noupdate', './'+x] +- cc(' '.join(cmd), shell=True) +- self.menu_resources.append(x) +- 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') +- cc('xdg-mime install ./calibre-mimetypes.xml', shell=True) + except Exception: + if self.opts.fatal_errors: + raise Copied: calibre/repos/community-staging-x86_64/PKGBUILD (from rev 97195, calibre/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2013-09-15 10:07:40 UTC (rev 97196) @@ -0,0 +1,89 @@ +# $Id$ +# Maintainer: jelle van der Waa <je...@vdwaa.nl> +# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com> +# Contributor: Giovanni Scafora <giova...@archlinux.org> +# Contributor: Petrov Roman <nwhis...@gmail.com> +# Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com> +# Contributor: Larry Hajali <larryh...@gmail.com> + +pkgname=calibre +pkgver=1.3.0 +pkgrel=2 +pkgdesc="Ebook management application" +arch=('i686' 'x86_64') +url="http://calibre-ebook.com/" +license=('GPL3') +depends=('python2-six' 'python2-dateutil' 'python2-cssutils' 'python2-cherrypy' + 'python2-mechanize' 'podofo' 'libwmf' 'python2-beautifulsoup3' + 'imagemagick' 'poppler-qt' 'chmlib' 'python2-lxml' 'libusbx' + 'python2-pillow' 'shared-mime-info' 'python2-dnspython' + 'libunrar' 'python2-pyqt4' 'python2-psutil' 'icu' 'libmtp' + 'python2-netifaces' 'python2-cssselect' 'python2-apsw') +makedepends=('python2-pycountry' 'qt4-private-headers') +optdepends=('ipython2: to use calibre-debug') +install=calibre.install +source=("http://sourceforge.net/projects/calibre/files/${pkgver}/calibre-${pkgver}.tar.xz" + 'desktop_integration.patch' + 'calibre-mount-helper') +md5sums=('38597e9ddb7b24a162f8e3bb6df18fc4' + '8353d1878c5a498b3e49eddef473605f' + '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 + + # 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' \ + $(find . -regex ".*.py\|.*.recipe") +} + +build() { + cd "${srcdir}/${pkgname}" + + LANG='en_US.UTF-8' python2 setup.py build + # LANG='en_US.UTF-8' python2 setup.py resources + + # Don't build translations since building them is broken badly +#LANG='en_US.UTF-8' python2 setup.py translations +} + +package() { + cd "${srcdir}/${pkgname}" + + patch -Np1 -i "${srcdir}/desktop_integration.patch" + + # More on desktop integration (e.g. enforce arch defaults) + sed -i -e "/self.create_uninstaller()/,/os.rmdir(config_dir)/d" \ + -e "s|self.opts.staging_sharedir, 'man/man1'|self.opts.staging_root, 'usr/share/man/man1'|" \ + -e "s|manpath, prog+'.1'+__appname__+'.bz2'|manpath, prog+'.1'+'.bz2'|" \ + -e "s|old_udev = '/etc|old_udev = '${pkgdir}/etc|" \ + -e "s/^Name=calibre/Name=Calibre/g" src/calibre/linux.py + + # Fix the environment module location + sed -i -e "s|(prefix=.*)|(prefix='$pkgdir/usr')|g" setup/install.py + + install -d "${pkgdir}/usr/lib/python2.7/site-packages" + install -d "${pkgdir}/usr/share/zsh/site-functions" + LANG='en_US.UTF-8' python2 setup.py install --root="${pkgdir}" --prefix=/usr \ + --staging-bindir="${pkgdir}/usr/bin" \ + --staging-libdir="${pkgdir}/usr/lib" \ + --staging-sharedir="${pkgdir}/usr/share" + + find "${pkgdir}" -type d -empty -delete + + # See http://lwn.net/SubscriberLink/465311/7c299471a5399167/ + rm -rf "${pkgdir}/usr/bin/calibre-mount-helper" + install -m 755 "${srcdir}/calibre-mount-helper" "${pkgdir}/usr/bin" + + # Compiling bytecode FS33392 + python2 -m compileall "${pkgdir}/usr/lib/calibre/" + + # Compiling optimized bytecode FS33392 + python2 -O -m compileall "${pkgdir}/usr/lib/calibre/" +} Copied: calibre/repos/community-staging-x86_64/calibre-mount-helper (from rev 97195, calibre/trunk/calibre-mount-helper) =================================================================== --- community-staging-x86_64/calibre-mount-helper (rev 0) +++ community-staging-x86_64/calibre-mount-helper 2013-09-15 10:07:40 UTC (rev 97196) @@ -0,0 +1,28 @@ +#!/bin/sh -e +# Replacement for upstream mount helper using udisks/eject +# (C) 2010 Martin Pitt <mp...@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 + Copied: calibre/repos/community-staging-x86_64/calibre.install (from rev 97195, calibre/trunk/calibre.install) =================================================================== --- community-staging-x86_64/calibre.install (rev 0) +++ community-staging-x86_64/calibre.install 2013-09-15 10:07:40 UTC (rev 97196) @@ -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 +} Copied: calibre/repos/community-staging-x86_64/desktop_integration.patch (from rev 97195, calibre/trunk/desktop_integration.patch) =================================================================== --- community-staging-x86_64/desktop_integration.patch (rev 0) +++ community-staging-x86_64/desktop_integration.patch 2013-09-15 10:07:40 UTC (rev 97196) @@ -0,0 +1,109 @@ +--- a/src/calibre/linux.py 2013-03-01 05:49:28.000000000 +0100 ++++ b/src/calibre/linux.py 2013-03-03 14:53:05.000000000 +0100 +@@ -447,19 +447,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)) + for args, kwargs in self.warnings: +@@ -508,7 +495,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: +@@ -651,63 +638,39 @@ + + 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')) ++ 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')) + + 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)) + +- 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.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() +- des = ('calibre-gui.desktop', 'calibre-lrfviewer.desktop', +- 'calibre-ebook-viewer.desktop') +- for x in des: +- cmd = ['xdg-desktop-menu', 'install', '--noupdate', './'+x] +- cc(' '.join(cmd), shell=True) +- self.menu_resources.append(x) +- 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') +- cc('xdg-mime install ./calibre-mimetypes.xml', shell=True) + except Exception: + if self.opts.fatal_errors: + raise