From 730ac1fa5bef1ab3ecf8469a5b5913f0274dce8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Thu, 4 Sep 2014 23:47:34 -0300 Subject: mcomix: remove libre suffix and add complex pkgrel --- libre/mcomix-libre/PKGBUILD | 67 ------ libre/mcomix-libre/libre.patch | 421 -------------------------------------- libre/mcomix-libre/mcomix.install | 31 --- libre/mcomix-libre/zoom.patch | 17 -- libre/mcomix/PKGBUILD | 65 ++++++ libre/mcomix/libre.patch | 421 ++++++++++++++++++++++++++++++++++++++ libre/mcomix/mcomix.install | 31 +++ libre/mcomix/zoom.patch | 17 ++ 8 files changed, 534 insertions(+), 536 deletions(-) delete mode 100644 libre/mcomix-libre/PKGBUILD delete mode 100644 libre/mcomix-libre/libre.patch delete mode 100644 libre/mcomix-libre/mcomix.install delete mode 100644 libre/mcomix-libre/zoom.patch create mode 100644 libre/mcomix/PKGBUILD create mode 100644 libre/mcomix/libre.patch create mode 100644 libre/mcomix/mcomix.install create mode 100644 libre/mcomix/zoom.patch (limited to 'libre') diff --git a/libre/mcomix-libre/PKGBUILD b/libre/mcomix-libre/PKGBUILD deleted file mode 100644 index c512a26cd..000000000 --- a/libre/mcomix-libre/PKGBUILD +++ /dev/null @@ -1,67 +0,0 @@ -# $Id: PKGBUILD 106934 2014-03-10 18:30:38Z schuay $ -# Maintainer (Arch): schuay -# Contributor (Arch): Ray Powell -# Maintainer: André Silva - -_pkgname=mcomix -pkgname=mcomix-libre -pkgver=1.00 -pkgrel=6.2 -pkgdesc="A user-friendly, customizable image viewer specifically designed to handle comic books, without nonfree unrar support" -arch=('any') -url="http://sourceforge.net/projects/mcomix/" -license=('GPL') -depends=('pygtk' 'python2-pillow' 'xdg-utils' 'python2' \ - 'desktop-file-utils' 'hicolor-icon-theme' 'python2-setuptools') -makedepends=('gettext' 'intltool') -conflicts=('mcomix' 'comix') -replaces=('mcomix' 'comix') -provides=("mcomix=${pkgver}") -install='mcomix.install' -source=("http://downloads.sourceforge.net/project/mcomix/MComix-${pkgver}/mcomix-${pkgver}.tar.bz2" - 'zoom.patch' - 'libre.patch') - -prepare() { - cd ${srcdir}/${_pkgname}-${pkgver} - - # Remove nonfree unRAR support - rm -v mcomix/archive/rar{,file}.py - rm -v mime/icons/*/application-x-cbr.png - patch -Np1 -i ${srcdir}/libre.patch -} - -build() { - cd ${srcdir}/${_pkgname}-${pkgver} - - # https://www.archlinux.org/todo/replace-pil-with-pillow/ - sed -i 's/import Image/from PIL import Image/' mime/comicthumb - - # python2 fix - for file in $(grep -Rl "/usr/bin/env python" .); - do - sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file - done - - # Fix zoom in, zoom out keyboard shortcuts: - # https://sourceforge.net/p/mcomix/bugs/62/ - patch -Np1 < ${srcdir}/zoom.patch -} - -package() { - cd ${srcdir}/${_pkgname}-${pkgver} - - export PYTHONPATH=${pkgdir}/usr/lib/python2.7/site-packages/ - mkdir -p $PYTHONPATH - - python2 setup.py install --prefix=/usr --optimize=1 \ - --single-version-externally-managed --root=${pkgdir} - - install -Dm755 mime/comicthumb ${pkgdir}/usr/bin/comicthumb - install -Dm644 mime/comicthumb.1.gz ${pkgdir}/usr/share/man/man1/comicthumb.1.gz - install -Dm644 mime/comicbook.schemas ${pkgdir}/usr/share/gconf/schemas/mcomix.schemas -} - -md5sums=('3a916dd9da17043ab59ccd17e26eb932' - 'c80705bf6f132bfba20dcb84b79c9cb7' - 'cbb3730d3bed153b88208163e83d60e2') diff --git a/libre/mcomix-libre/libre.patch b/libre/mcomix-libre/libre.patch deleted file mode 100644 index e3f12f703..000000000 --- a/libre/mcomix-libre/libre.patch +++ /dev/null @@ -1,421 +0,0 @@ -diff --git a/mcomix/about_dialog.py b/mcomix/about_dialog.py -index 9f956d5..10ff0be 100644 ---- a/mcomix/about_dialog.py -+++ b/mcomix/about_dialog.py -@@ -27,7 +27,7 @@ class _AboutDialog(gtk.AboutDialog): - comment = \ - _('%s is an image viewer specifically designed to handle comic books.') % \ - constants.APPNAME + u' ' + \ -- _('It reads ZIP, RAR and tar archives, as well as plain image files.') -+ _('It reads ZIP and tar archives, as well as plain image files.') - self.set_comments(comment) - - license = \ -diff --git a/mcomix/archive_extractor.py b/mcomix/archive_extractor.py -index afed5c7..bc969bf 100644 ---- a/mcomix/archive_extractor.py -+++ b/mcomix/archive_extractor.py -@@ -12,8 +12,8 @@ class Extractor: - - """Extractor is a threaded class for extracting different archive formats. - -- The Extractor can be loaded with paths to archives (currently ZIP, tar, -- or RAR archives) and a path to a destination directory. Once an archive -+ The Extractor can be loaded with paths to archives (currently ZIP or tar -+ archives) and a path to a destination directory. Once an archive - has been set it is possible to filter out the files to be extracted and - set the order in which they should be extracted. The extraction can - then be started in a new thread in which files are extracted one by one, -diff --git a/mcomix/archive_tools.py b/mcomix/archive_tools.py -index 66c3f14..151a904 100644 ---- a/mcomix/archive_tools.py -+++ b/mcomix/archive_tools.py -@@ -8,7 +8,6 @@ import tarfile - from mcomix import constants - from mcomix import log - from mcomix.archive import zip --from mcomix.archive import rar - from mcomix.archive import tar - from mcomix.archive import sevenzip - from mcomix.archive import lha -@@ -16,9 +15,6 @@ from mcomix.archive import lha - def szip_available(): - return sevenzip.SevenZipArchive.is_available() - --def rar_available(): -- return rar.RarArchive.is_available() or szip_available() -- - def lha_available(): - return lha.LhaArchive.is_available() or szip_available() - -@@ -31,9 +27,6 @@ def get_supported_archive_regex(): - if szip_available(): - formats.extend(constants.SZIP_FORMATS[1]) - -- if rar_available(): -- formats.extend(constants.RAR_FORMATS[1]) -- - if lha_available(): - formats.extend(constants.LHA_FORMATS[1]) - -@@ -71,10 +64,7 @@ def archive_mime_type(path): - else: - return constants.TAR - -- if magic == 'Rar!': -- return constants.RAR -- -- elif magic == '7z\xBC\xAF': -+ if magic == '7z\xBC\xAF': - return constants.SEVENZIP - - elif magic[2:] == '-l': -@@ -124,11 +114,6 @@ def get_archive_handler(path): - return zip.ZipArchive(path) - elif mime in (constants.TAR, constants.GZIP, constants.BZIP2): - return tar.TarArchive(path) -- elif mime == constants.RAR and rar.RarArchive.is_available(): -- return rar.RarArchive(path) -- elif mime == constants.RAR and sevenzip.SevenZipArchive.is_available(): -- log.info('Using Sevenzip for RAR archives.') -- return sevenzip.SevenZipArchive(path) - elif mime == constants.SEVENZIP and sevenzip.SevenZipArchive.is_available(): - return sevenzip.SevenZipArchive(path) - elif mime == constants.LHA and lha.LhaArchive.is_available(): -diff --git a/mcomix/constants.py b/mcomix/constants.py -index fad3b78..3c225c5 100644 ---- a/mcomix/constants.py -+++ b/mcomix/constants.py -@@ -28,7 +28,7 @@ FILEINFO_PICKLE_PATH = os.path.join(DATA_DIR, 'file.pickle') - PREFERENCE_PICKLE_PATH = os.path.join(CONFIG_DIR, 'preferences.pickle') - - ZOOM_MODE_BEST, ZOOM_MODE_WIDTH, ZOOM_MODE_HEIGHT, ZOOM_MODE_MANUAL, ZOOM_MODE_SIZE = range(5) --ZIP, RAR, TAR, GZIP, BZIP2, PDF, SEVENZIP, LHA = range(8) -+ZIP, TAR, GZIP, BZIP2, PDF, SEVENZIP, LHA = range(7) - NORMAL_CURSOR, GRAB_CURSOR, WAIT_CURSOR, NO_CURSOR = range(4) - LIBRARY_DRAG_EXTERNAL_ID, LIBRARY_DRAG_BOOK_ID, LIBRARY_DRAG_COLLECTION_ID = range(3) - AUTOROTATE_NEVER, AUTOROTATE_WIDTH_90, AUTOROTATE_WIDTH_270, \ -@@ -57,9 +57,6 @@ SUPPORTED_IMAGE_REGEX = re.compile(r'\.(jpg|jpeg|png|gif|tif|tiff|bmp|ppm|pgm|pb - ZIP_FORMATS = ( - ('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/x-cbz'), - ('*.zip', '*.cbz')) --RAR_FORMATS = ( -- ('application/x-rar', 'application/x-cbr'), -- ('*.rar', '*.cbr')) - TAR_FORMATS = ( - ('application/x-tar', 'application/x-gzip', 'application/x-bzip2', 'application/x-cbt'), - ('*.tar', '*.gz', '*.bz2', '*.bzip2', '*.cbt')) -diff --git a/mcomix/file_chooser_base_dialog.py b/mcomix/file_chooser_base_dialog.py -index 4d2a34e..c518842 100644 ---- a/mcomix/file_chooser_base_dialog.py -+++ b/mcomix/file_chooser_base_dialog.py -@@ -88,9 +88,6 @@ class _BaseFileChooserDialog(gtk.Dialog): - # extractor availability. - mimetypes = constants.ZIP_FORMATS[0] + constants.TAR_FORMATS[0] - patterns = constants.ZIP_FORMATS[1] + constants.TAR_FORMATS[1] -- if archive_tools.rar_available(): -- mimetypes += constants.RAR_FORMATS[0] -- patterns += constants.RAR_FORMATS[1] - if archive_tools.szip_available(): - mimetypes += constants.SZIP_FORMATS[0] - patterns += constants.SZIP_FORMATS[1] -@@ -107,10 +104,6 @@ class _BaseFileChooserDialog(gtk.Dialog): - self.add_filter(_('Tar archives'), - *constants.TAR_FORMATS) - -- if archive_tools.rar_available(): -- self.add_filter(_('RAR archives'), -- *constants.RAR_FORMATS) -- - if archive_tools.szip_available(): - self.add_filter(_('7z archives'), - *constants.SZIP_FORMATS) -diff --git a/mcomix/messages/mcomix.pot b/mcomix/messages/mcomix.pot -index 54ece85..482c051 100644 ---- a/mcomix/messages/mcomix.pot -+++ b/mcomix/messages/mcomix.pot -@@ -24,7 +24,7 @@ msgid "%s is an image viewer specifically designed to handle comic books." - msgstr "" - - #: mcomix/about_dialog.py:30 --msgid "It reads ZIP, RAR and tar archives, as well as plain image files." -+msgid "It reads ZIP and tar archives, as well as plain image files." - msgstr "" - - #: mcomix/about_dialog.py:34 -@@ -241,10 +241,6 @@ msgstr "" - msgid "Tar archives" - msgstr "" - --#: mcomix/file_chooser_base_dialog.py:111 --msgid "RAR archives" --msgstr "" -- - #: mcomix/file_chooser_base_dialog.py:115 - msgid "7z archives" - msgstr "" -@@ -1345,10 +1341,6 @@ msgstr "" - msgid "Bzip2 compressed tar archive" - msgstr "" - --#: mcomix/strings.py:13 --msgid "RAR archive" --msgstr "" -- - #: mcomix/strings.py:14 - msgid "7z archive" - msgstr "" -diff --git a/mcomix/process.py b/mcomix/process.py -index 4ba60c6..c37699d 100644 ---- a/mcomix/process.py -+++ b/mcomix/process.py -@@ -10,10 +10,7 @@ from mcomix import i18n - class Process: - - """The subprocess and popen2 modules in Python are broken (see issue -- #1336). The problem (i.e. complete crash) they can cause happen fairly -- often (once is too often) in MComix when calling "rar" or "unrar" to -- extract specific files from archives. We roll our own very simple -- process spawning module here instead. -+ #1336). We roll our own very simple process spawning module here instead. - """ - # TODO: I can no longer reproduce the issue. Check if this version of - # process.py still solves it. -diff --git a/mcomix/recent.py b/mcomix/recent.py -index 3d4613d..3f5c511 100644 ---- a/mcomix/recent.py -+++ b/mcomix/recent.py -@@ -30,8 +30,7 @@ class RecentFilesMenu(gtk.RecentChooserMenu): - rfilter.add_pixbuf_formats() - - mimetypes, patterns = itertools.izip(constants.ZIP_FORMATS, -- constants.RAR_FORMATS, constants.TAR_FORMATS, -- constants.SZIP_FORMATS) -+ constants.TAR_FORMATS, constants.SZIP_FORMATS) - - for mimetype in itertools.chain.from_iterable(mimetypes): - rfilter.add_mime_type(mimetype) -diff --git a/mcomix/strings.py b/mcomix/strings.py -index c5ca21f..cc69236 100644 ---- a/mcomix/strings.py -+++ b/mcomix/strings.py -@@ -3,14 +3,13 @@ - This file should only be imported after gettext has been correctly initialized - and installed in the global namespace. """ - --from mcomix.constants import ZIP, TAR, GZIP, BZIP2, RAR, SEVENZIP, LHA -+from mcomix.constants import ZIP, TAR, GZIP, BZIP2, SEVENZIP, LHA - - ARCHIVE_DESCRIPTIONS = { - ZIP: _('ZIP archive'), - TAR: _('Tar archive'), - GZIP: _('Gzip compressed tar archive'), - BZIP2: _('Bzip2 compressed tar archive'), -- RAR: _('RAR archive'), - SEVENZIP: _('7z archive'), - LHA: _('LHA archive') - } -diff --git a/mcomix.egg-info/SOURCES.txt b/mcomix.egg-info/SOURCES.txt -index 62de3ad..85a65df 100644 ---- a/mcomix.egg-info/SOURCES.txt -+++ b/mcomix.egg-info/SOURCES.txt -@@ -77,8 +77,6 @@ mcomix.egg-info/top_level.txt - mcomix/archive/__init__.py - mcomix/archive/archive_base.py - mcomix/archive/lha.py --mcomix/archive/rar.py --mcomix/archive/rarfile.py - mcomix/archive/sevenzip.py - mcomix/archive/tar.py - mcomix/archive/zip.py -@@ -183,18 +181,13 @@ mime/comicthumb.1.gz - mime/mcomix.desktop - mime/mcomix.thumbnailer - mime/mcomix.xml --mime/icons/16x16/application-x-cbr.png - mime/icons/16x16/application-x-cbt.png - mime/icons/16x16/application-x-cbz.png --mime/icons/22x22/application-x-cbr.png - mime/icons/22x22/application-x-cbt.png - mime/icons/22x22/application-x-cbz.png --mime/icons/24x24/application-x-cbr.png - mime/icons/24x24/application-x-cbt.png - mime/icons/24x24/application-x-cbz.png --mime/icons/32x32/application-x-cbr.png - mime/icons/32x32/application-x-cbt.png - mime/icons/32x32/application-x-cbz.png --mime/icons/48x48/application-x-cbr.png - mime/icons/48x48/application-x-cbt.png --mime/icons/48x48/application-x-cbz.png -\ No newline at end of file -+mime/icons/48x48/application-x-cbz.png -diff --git a/mime/comicbook.schemas b/mime/comicbook.schemas -index cdc4a4a..21b6214 100644 ---- a/mime/comicbook.schemas -+++ b/mime/comicbook.schemas -@@ -1,28 +1,6 @@ - - - -- /schemas/desktop/gnome/thumbnailers/application@x-cbr/enable -- /desktop/gnome/thumbnailers/application@x-cbr/enable -- comicthumb -- bool -- true -- -- -- -- -- -- -- /schemas/desktop/gnome/thumbnailers/application@x-cbr/command -- /desktop/gnome/thumbnailers/application@x-cbr/command -- comicthumb -- string -- comicthumb %i %o %s -- -- -- -- -- -- - /schemas/desktop/gnome/thumbnailers/application@x-cbz/enable - /desktop/gnome/thumbnailers/application@x-cbz/enable - comicthumb -diff --git a/mime/comicthumb b/mime/comicthumb -index 5728e2a..d77a4a1 100755 ---- a/mime/comicthumb -+++ b/mime/comicthumb -@@ -7,7 +7,7 @@ comicthumb is dependent on the Python Imaging Library (PIL). - comicthumb was originally written by Christoph Wolk, this version was - re-written from scratch for Comix 4 by Pontus Ekberg. - --Supported formats: ZIP, RAR and tar (.cbz, .cbr, .cbt) -+Supported formats: ZIP and tar (.cbz, .cbt) - - Usage: comicthumb INFILE OUTFILE [SIZE] - """ -@@ -28,16 +28,13 @@ except ImportError: - print __doc__ - sys.exit(1) - --ZIP, RAR, TAR, GZIP, BZIP2 = range(5) -+ZIP, TAR, GZIP, BZIP2 = range(5) - - - class Process: - - """The subprocess and popen2 modules in Python are broken (see issue -- #1336). The problem (i.e. complete crash) they can cause happen fairly -- often (once is too often) in Comix when calling "rar" or "unrar" to -- extract specific files from archives. We roll our own very simple -- process spawning module here instead. -+ #1336). We roll our own very simple process spawning module here instead. - """ - # TODO: I can no longer reproduce the issue. Check if this version of - # process.py still solves it. -@@ -94,19 +91,6 @@ class Extractor: - elif self._type in [TAR, GZIP, BZIP2]: - self._tfile = tarfile.open(src, 'r') - self._files = self._tfile.getnames() -- elif self._type == RAR: -- self._rar = None -- for command in ('unrar', 'rar'): -- if Process([command]).spawn() is not None: -- self._rar = command -- if self._rar == None: -- print '! Could not find the "rar" or "unrar" executable.' -- sys.exit(1) -- proc = Process([self._rar, 'vb', src]) -- fobj = proc.spawn() -- self._files = fobj.readlines() -- proc.wait() -- self._files = [name.rstrip('\n') for name in self._files] - - def get_files(self): - """Return a list of the files in the archive.""" -@@ -121,11 +105,6 @@ class Extractor: - return cStringIO.StringIO(self._zfile.read(chosen)) - elif self._type in [TAR, GZIP, BZIP2]: - return cStringIO.StringIO(self._tfile.extractfile(chosen).read()) -- elif self._type == RAR: -- proc = Process([self._rar, 'p', '-inul', '-p-', '--', -- self._src, chosen]) -- fobj = proc.spawn() -- return cStringIO.StringIO(fobj.read()) - - - def archive_mime_type(path): -@@ -145,8 +124,6 @@ def archive_mime_type(path): - if magic.startswith('\037\213'): - return GZIP - return TAR -- if magic == 'Rar!': -- return RAR - except Exception: - print '! Error while reading', path - return None -diff --git a/mime/mcomix.desktop b/mime/mcomix.desktop -index ee6d8b9..19ec7cd 100644 ---- a/mime/mcomix.desktop -+++ b/mime/mcomix.desktop -@@ -19,4 +19,4 @@ Terminal=false - Type=Application - StartupNotify=true - Categories=Graphics;Viewer; --MimeType=application/x-cbz;application/x-cbr;application/x-cbt;image/jpeg;image/png;image/gif;image/tiff;image/bmp;image/x-icon;image/x-xpixmap;image/x-xbitmap;application/x-zip;application/zip;application/x-rar;application/x-tar;application/x-gzip;application/x-bzip2;image/svg+xml;image/svg;image/svg-xml;image/vnd.adobe.svg+xml;text/xml-svg;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-pcx;image/x-cmu-raster;image/x-sun-raster;image/x-tga;application/x-7z-compressed;application/x-cb7;application/x-lzh;application/x-lha;application/x-lzh-compressed; -+MimeType=application/x-cbz;application/x-cbt;image/jpeg;image/png;image/gif;image/tiff;image/bmp;image/x-icon;image/x-xpixmap;image/x-xbitmap;application/x-zip;application/zip;application/x-tar;application/x-gzip;application/x-bzip2;image/svg+xml;image/svg;image/svg-xml;image/vnd.adobe.svg+xml;text/xml-svg;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-pcx;image/x-cmu-raster;image/x-sun-raster;image/x-tga;application/x-7z-compressed;application/x-cb7;application/x-lzh;application/x-lha;application/x-lzh-compressed; -diff --git a/mime/mcomix.thumbnailer b/mime/mcomix.thumbnailer -index 4dcfc67..667dc8b 100644 ---- a/mime/mcomix.thumbnailer -+++ b/mime/mcomix.thumbnailer -@@ -1,4 +1,4 @@ - [Thumbnailer Entry] - TryExec=comicthumb - Exec=comicthumb %u %o %s --MimeType=application/x-cbr;application/x-cbz;application/x-cbt; -+MimeType=application/x-cbz;application/x-cbt; -diff --git a/mime/mcomix.xml b/mime/mcomix.xml -index 765c254..b13e2da 100644 ---- a/mime/mcomix.xml -+++ b/mime/mcomix.xml -@@ -5,11 +5,6 @@ - Comic Book Archive (Zip compressed) - - -- -- -- Comic Book Archive (RAR compressed) -- -- - - - -diff --git a/setup.py b/setup.py -index 9eb7782..9979111 100755 ---- a/setup.py -+++ b/setup.py -@@ -78,23 +78,18 @@ setuptools.setup( - ('share/icons/hicolor/48x48/apps', ['mcomix/images/48x48/mcomix.png']), - ('share/icons/hicolor/16x16/mimetypes', - ['mime/icons/16x16/application-x-cbz.png', -- 'mime/icons/16x16/application-x-cbr.png', - 'mime/icons/16x16/application-x-cbt.png']), - ('share/icons/hicolor/22x22/mimetypes', - ['mime/icons/22x22/application-x-cbz.png', -- 'mime/icons/22x22/application-x-cbr.png', - 'mime/icons/22x22/application-x-cbt.png']), - ('share/icons/hicolor/24x24/mimetypes', - ['mime/icons/24x24/application-x-cbz.png', -- 'mime/icons/24x24/application-x-cbr.png', - 'mime/icons/24x24/application-x-cbt.png']), - ('share/icons/hicolor/32x32/mimetypes', - ['mime/icons/32x32/application-x-cbz.png', -- 'mime/icons/32x32/application-x-cbr.png', - 'mime/icons/32x32/application-x-cbt.png']), - ('share/icons/hicolor/48x48/mimetypes', - ['mime/icons/48x48/application-x-cbz.png', -- 'mime/icons/48x48/application-x-cbr.png', - 'mime/icons/48x48/application-x-cbt.png'])], - - # Package metadata diff --git a/libre/mcomix-libre/mcomix.install b/libre/mcomix-libre/mcomix.install deleted file mode 100644 index 82047a202..000000000 --- a/libre/mcomix-libre/mcomix.install +++ /dev/null @@ -1,31 +0,0 @@ -pkgname=mcomix - -post_install() { - if [ -f usr/sbin/gconfpkg ]; then - usr/sbin/gconfpkg --install ${pkgname} &> /dev/null - fi - xdg-icon-resource forceupdate --theme hicolor &> /dev/null - update-desktop-database -q - update-mime-database usr/share/mime &> /dev/null -} - -pre_upgrade() { - pre_remove $1 -} - -post_upgrade() { - echo 'In case of any issues with zoom keybindings, delete ~/.config/mcomix/keybindings.conf.' - post_install $1 -} - -pre_remove() { - if [ -f usr/sbin/gconfpkg ]; then - usr/sbin/gconfpkg --uninstall ${pkgname} &> /dev/null - fi -} - -post_remove() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null - update-desktop-database -q - update-mime-database usr/share/mime &> /dev/null -} diff --git a/libre/mcomix-libre/zoom.patch b/libre/mcomix-libre/zoom.patch deleted file mode 100644 index 26dc3ba6f..000000000 --- a/libre/mcomix-libre/zoom.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/mcomix-1.00/mcomix/event.py b/mcomix-1.00-mod/mcomix/event.py -index bc8cf79..bf80ec2 100644 ---- a/mcomix/event.py -+++ b/mcomix/event.py -@@ -117,8 +117,11 @@ class EventHandler: - - # Zooming commands for manual zoom mode - manager.register('zoom in', -- ['equal'], -+ ['plus', 'KP_Add', 'equal'], - self._window.actiongroup.get_action('zoom_in').activate) -+ manager.register('zoom out', -+ ['minus', 'KP_Subtract'], -+ self._window.actiongroup.get_action('zoom_out').activate) - # Zoom out is already defined as GTK menu hotkey - manager.register('zoom original', - ['KP_0'], diff --git a/libre/mcomix/PKGBUILD b/libre/mcomix/PKGBUILD new file mode 100644 index 000000000..3727242e8 --- /dev/null +++ b/libre/mcomix/PKGBUILD @@ -0,0 +1,65 @@ +# $Id: PKGBUILD 106934 2014-03-10 18:30:38Z schuay $ +# Maintainer (Arch): schuay +# Contributor (Arch): Ray Powell +# Maintainer: André Silva + +pkgname=mcomix +pkgver=1.00 +pkgrel=6.parabola1 +pkgdesc="A user-friendly, customizable image viewer specifically designed to handle comic books, without nonfree unrar support" +arch=('any') +url="http://sourceforge.net/projects/mcomix/" +license=('GPL') +depends=('pygtk' 'python2-pillow' 'xdg-utils' 'python2' \ + 'desktop-file-utils' 'hicolor-icon-theme' 'python2-setuptools') +makedepends=('gettext' 'intltool') +conflicts=('comix' 'mcomix-libre') +replaces=('comix' 'mcomix-libre') +install='mcomix.install' +source=("http://downloads.sourceforge.net/project/mcomix/MComix-${pkgver}/mcomix-${pkgver}.tar.bz2" + 'zoom.patch' + 'libre.patch') + +prepare() { + cd ${srcdir}/${pkgname}-${pkgver} + + # Remove nonfree unRAR support + rm -v mcomix/archive/rar{,file}.py + rm -v mime/icons/*/application-x-cbr.png + patch -Np1 -i ${srcdir}/libre.patch +} + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # https://www.archlinux.org/todo/replace-pil-with-pillow/ + sed -i 's/import Image/from PIL import Image/' mime/comicthumb + + # python2 fix + for file in $(grep -Rl "/usr/bin/env python" .); + do + sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file + done + + # Fix zoom in, zoom out keyboard shortcuts: + # https://sourceforge.net/p/mcomix/bugs/62/ + patch -Np1 < ${srcdir}/zoom.patch +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + export PYTHONPATH=${pkgdir}/usr/lib/python2.7/site-packages/ + mkdir -p $PYTHONPATH + + python2 setup.py install --prefix=/usr --optimize=1 \ + --single-version-externally-managed --root=${pkgdir} + + install -Dm755 mime/comicthumb ${pkgdir}/usr/bin/comicthumb + install -Dm644 mime/comicthumb.1.gz ${pkgdir}/usr/share/man/man1/comicthumb.1.gz + install -Dm644 mime/comicbook.schemas ${pkgdir}/usr/share/gconf/schemas/mcomix.schemas +} + +md5sums=('3a916dd9da17043ab59ccd17e26eb932' + 'c80705bf6f132bfba20dcb84b79c9cb7' + 'cbb3730d3bed153b88208163e83d60e2') diff --git a/libre/mcomix/libre.patch b/libre/mcomix/libre.patch new file mode 100644 index 000000000..e3f12f703 --- /dev/null +++ b/libre/mcomix/libre.patch @@ -0,0 +1,421 @@ +diff --git a/mcomix/about_dialog.py b/mcomix/about_dialog.py +index 9f956d5..10ff0be 100644 +--- a/mcomix/about_dialog.py ++++ b/mcomix/about_dialog.py +@@ -27,7 +27,7 @@ class _AboutDialog(gtk.AboutDialog): + comment = \ + _('%s is an image viewer specifically designed to handle comic books.') % \ + constants.APPNAME + u' ' + \ +- _('It reads ZIP, RAR and tar archives, as well as plain image files.') ++ _('It reads ZIP and tar archives, as well as plain image files.') + self.set_comments(comment) + + license = \ +diff --git a/mcomix/archive_extractor.py b/mcomix/archive_extractor.py +index afed5c7..bc969bf 100644 +--- a/mcomix/archive_extractor.py ++++ b/mcomix/archive_extractor.py +@@ -12,8 +12,8 @@ class Extractor: + + """Extractor is a threaded class for extracting different archive formats. + +- The Extractor can be loaded with paths to archives (currently ZIP, tar, +- or RAR archives) and a path to a destination directory. Once an archive ++ The Extractor can be loaded with paths to archives (currently ZIP or tar ++ archives) and a path to a destination directory. Once an archive + has been set it is possible to filter out the files to be extracted and + set the order in which they should be extracted. The extraction can + then be started in a new thread in which files are extracted one by one, +diff --git a/mcomix/archive_tools.py b/mcomix/archive_tools.py +index 66c3f14..151a904 100644 +--- a/mcomix/archive_tools.py ++++ b/mcomix/archive_tools.py +@@ -8,7 +8,6 @@ import tarfile + from mcomix import constants + from mcomix import log + from mcomix.archive import zip +-from mcomix.archive import rar + from mcomix.archive import tar + from mcomix.archive import sevenzip + from mcomix.archive import lha +@@ -16,9 +15,6 @@ from mcomix.archive import lha + def szip_available(): + return sevenzip.SevenZipArchive.is_available() + +-def rar_available(): +- return rar.RarArchive.is_available() or szip_available() +- + def lha_available(): + return lha.LhaArchive.is_available() or szip_available() + +@@ -31,9 +27,6 @@ def get_supported_archive_regex(): + if szip_available(): + formats.extend(constants.SZIP_FORMATS[1]) + +- if rar_available(): +- formats.extend(constants.RAR_FORMATS[1]) +- + if lha_available(): + formats.extend(constants.LHA_FORMATS[1]) + +@@ -71,10 +64,7 @@ def archive_mime_type(path): + else: + return constants.TAR + +- if magic == 'Rar!': +- return constants.RAR +- +- elif magic == '7z\xBC\xAF': ++ if magic == '7z\xBC\xAF': + return constants.SEVENZIP + + elif magic[2:] == '-l': +@@ -124,11 +114,6 @@ def get_archive_handler(path): + return zip.ZipArchive(path) + elif mime in (constants.TAR, constants.GZIP, constants.BZIP2): + return tar.TarArchive(path) +- elif mime == constants.RAR and rar.RarArchive.is_available(): +- return rar.RarArchive(path) +- elif mime == constants.RAR and sevenzip.SevenZipArchive.is_available(): +- log.info('Using Sevenzip for RAR archives.') +- return sevenzip.SevenZipArchive(path) + elif mime == constants.SEVENZIP and sevenzip.SevenZipArchive.is_available(): + return sevenzip.SevenZipArchive(path) + elif mime == constants.LHA and lha.LhaArchive.is_available(): +diff --git a/mcomix/constants.py b/mcomix/constants.py +index fad3b78..3c225c5 100644 +--- a/mcomix/constants.py ++++ b/mcomix/constants.py +@@ -28,7 +28,7 @@ FILEINFO_PICKLE_PATH = os.path.join(DATA_DIR, 'file.pickle') + PREFERENCE_PICKLE_PATH = os.path.join(CONFIG_DIR, 'preferences.pickle') + + ZOOM_MODE_BEST, ZOOM_MODE_WIDTH, ZOOM_MODE_HEIGHT, ZOOM_MODE_MANUAL, ZOOM_MODE_SIZE = range(5) +-ZIP, RAR, TAR, GZIP, BZIP2, PDF, SEVENZIP, LHA = range(8) ++ZIP, TAR, GZIP, BZIP2, PDF, SEVENZIP, LHA = range(7) + NORMAL_CURSOR, GRAB_CURSOR, WAIT_CURSOR, NO_CURSOR = range(4) + LIBRARY_DRAG_EXTERNAL_ID, LIBRARY_DRAG_BOOK_ID, LIBRARY_DRAG_COLLECTION_ID = range(3) + AUTOROTATE_NEVER, AUTOROTATE_WIDTH_90, AUTOROTATE_WIDTH_270, \ +@@ -57,9 +57,6 @@ SUPPORTED_IMAGE_REGEX = re.compile(r'\.(jpg|jpeg|png|gif|tif|tiff|bmp|ppm|pgm|pb + ZIP_FORMATS = ( + ('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/x-cbz'), + ('*.zip', '*.cbz')) +-RAR_FORMATS = ( +- ('application/x-rar', 'application/x-cbr'), +- ('*.rar', '*.cbr')) + TAR_FORMATS = ( + ('application/x-tar', 'application/x-gzip', 'application/x-bzip2', 'application/x-cbt'), + ('*.tar', '*.gz', '*.bz2', '*.bzip2', '*.cbt')) +diff --git a/mcomix/file_chooser_base_dialog.py b/mcomix/file_chooser_base_dialog.py +index 4d2a34e..c518842 100644 +--- a/mcomix/file_chooser_base_dialog.py ++++ b/mcomix/file_chooser_base_dialog.py +@@ -88,9 +88,6 @@ class _BaseFileChooserDialog(gtk.Dialog): + # extractor availability. + mimetypes = constants.ZIP_FORMATS[0] + constants.TAR_FORMATS[0] + patterns = constants.ZIP_FORMATS[1] + constants.TAR_FORMATS[1] +- if archive_tools.rar_available(): +- mimetypes += constants.RAR_FORMATS[0] +- patterns += constants.RAR_FORMATS[1] + if archive_tools.szip_available(): + mimetypes += constants.SZIP_FORMATS[0] + patterns += constants.SZIP_FORMATS[1] +@@ -107,10 +104,6 @@ class _BaseFileChooserDialog(gtk.Dialog): + self.add_filter(_('Tar archives'), + *constants.TAR_FORMATS) + +- if archive_tools.rar_available(): +- self.add_filter(_('RAR archives'), +- *constants.RAR_FORMATS) +- + if archive_tools.szip_available(): + self.add_filter(_('7z archives'), + *constants.SZIP_FORMATS) +diff --git a/mcomix/messages/mcomix.pot b/mcomix/messages/mcomix.pot +index 54ece85..482c051 100644 +--- a/mcomix/messages/mcomix.pot ++++ b/mcomix/messages/mcomix.pot +@@ -24,7 +24,7 @@ msgid "%s is an image viewer specifically designed to handle comic books." + msgstr "" + + #: mcomix/about_dialog.py:30 +-msgid "It reads ZIP, RAR and tar archives, as well as plain image files." ++msgid "It reads ZIP and tar archives, as well as plain image files." + msgstr "" + + #: mcomix/about_dialog.py:34 +@@ -241,10 +241,6 @@ msgstr "" + msgid "Tar archives" + msgstr "" + +-#: mcomix/file_chooser_base_dialog.py:111 +-msgid "RAR archives" +-msgstr "" +- + #: mcomix/file_chooser_base_dialog.py:115 + msgid "7z archives" + msgstr "" +@@ -1345,10 +1341,6 @@ msgstr "" + msgid "Bzip2 compressed tar archive" + msgstr "" + +-#: mcomix/strings.py:13 +-msgid "RAR archive" +-msgstr "" +- + #: mcomix/strings.py:14 + msgid "7z archive" + msgstr "" +diff --git a/mcomix/process.py b/mcomix/process.py +index 4ba60c6..c37699d 100644 +--- a/mcomix/process.py ++++ b/mcomix/process.py +@@ -10,10 +10,7 @@ from mcomix import i18n + class Process: + + """The subprocess and popen2 modules in Python are broken (see issue +- #1336). The problem (i.e. complete crash) they can cause happen fairly +- often (once is too often) in MComix when calling "rar" or "unrar" to +- extract specific files from archives. We roll our own very simple +- process spawning module here instead. ++ #1336). We roll our own very simple process spawning module here instead. + """ + # TODO: I can no longer reproduce the issue. Check if this version of + # process.py still solves it. +diff --git a/mcomix/recent.py b/mcomix/recent.py +index 3d4613d..3f5c511 100644 +--- a/mcomix/recent.py ++++ b/mcomix/recent.py +@@ -30,8 +30,7 @@ class RecentFilesMenu(gtk.RecentChooserMenu): + rfilter.add_pixbuf_formats() + + mimetypes, patterns = itertools.izip(constants.ZIP_FORMATS, +- constants.RAR_FORMATS, constants.TAR_FORMATS, +- constants.SZIP_FORMATS) ++ constants.TAR_FORMATS, constants.SZIP_FORMATS) + + for mimetype in itertools.chain.from_iterable(mimetypes): + rfilter.add_mime_type(mimetype) +diff --git a/mcomix/strings.py b/mcomix/strings.py +index c5ca21f..cc69236 100644 +--- a/mcomix/strings.py ++++ b/mcomix/strings.py +@@ -3,14 +3,13 @@ + This file should only be imported after gettext has been correctly initialized + and installed in the global namespace. """ + +-from mcomix.constants import ZIP, TAR, GZIP, BZIP2, RAR, SEVENZIP, LHA ++from mcomix.constants import ZIP, TAR, GZIP, BZIP2, SEVENZIP, LHA + + ARCHIVE_DESCRIPTIONS = { + ZIP: _('ZIP archive'), + TAR: _('Tar archive'), + GZIP: _('Gzip compressed tar archive'), + BZIP2: _('Bzip2 compressed tar archive'), +- RAR: _('RAR archive'), + SEVENZIP: _('7z archive'), + LHA: _('LHA archive') + } +diff --git a/mcomix.egg-info/SOURCES.txt b/mcomix.egg-info/SOURCES.txt +index 62de3ad..85a65df 100644 +--- a/mcomix.egg-info/SOURCES.txt ++++ b/mcomix.egg-info/SOURCES.txt +@@ -77,8 +77,6 @@ mcomix.egg-info/top_level.txt + mcomix/archive/__init__.py + mcomix/archive/archive_base.py + mcomix/archive/lha.py +-mcomix/archive/rar.py +-mcomix/archive/rarfile.py + mcomix/archive/sevenzip.py + mcomix/archive/tar.py + mcomix/archive/zip.py +@@ -183,18 +181,13 @@ mime/comicthumb.1.gz + mime/mcomix.desktop + mime/mcomix.thumbnailer + mime/mcomix.xml +-mime/icons/16x16/application-x-cbr.png + mime/icons/16x16/application-x-cbt.png + mime/icons/16x16/application-x-cbz.png +-mime/icons/22x22/application-x-cbr.png + mime/icons/22x22/application-x-cbt.png + mime/icons/22x22/application-x-cbz.png +-mime/icons/24x24/application-x-cbr.png + mime/icons/24x24/application-x-cbt.png + mime/icons/24x24/application-x-cbz.png +-mime/icons/32x32/application-x-cbr.png + mime/icons/32x32/application-x-cbt.png + mime/icons/32x32/application-x-cbz.png +-mime/icons/48x48/application-x-cbr.png + mime/icons/48x48/application-x-cbt.png +-mime/icons/48x48/application-x-cbz.png +\ No newline at end of file ++mime/icons/48x48/application-x-cbz.png +diff --git a/mime/comicbook.schemas b/mime/comicbook.schemas +index cdc4a4a..21b6214 100644 +--- a/mime/comicbook.schemas ++++ b/mime/comicbook.schemas +@@ -1,28 +1,6 @@ + + + +- /schemas/desktop/gnome/thumbnailers/application@x-cbr/enable +- /desktop/gnome/thumbnailers/application@x-cbr/enable +- comicthumb +- bool +- true +- +- +- +- +- +- +- /schemas/desktop/gnome/thumbnailers/application@x-cbr/command +- /desktop/gnome/thumbnailers/application@x-cbr/command +- comicthumb +- string +- comicthumb %i %o %s +- +- +- +- +- +- + /schemas/desktop/gnome/thumbnailers/application@x-cbz/enable + /desktop/gnome/thumbnailers/application@x-cbz/enable + comicthumb +diff --git a/mime/comicthumb b/mime/comicthumb +index 5728e2a..d77a4a1 100755 +--- a/mime/comicthumb ++++ b/mime/comicthumb +@@ -7,7 +7,7 @@ comicthumb is dependent on the Python Imaging Library (PIL). + comicthumb was originally written by Christoph Wolk, this version was + re-written from scratch for Comix 4 by Pontus Ekberg. + +-Supported formats: ZIP, RAR and tar (.cbz, .cbr, .cbt) ++Supported formats: ZIP and tar (.cbz, .cbt) + + Usage: comicthumb INFILE OUTFILE [SIZE] + """ +@@ -28,16 +28,13 @@ except ImportError: + print __doc__ + sys.exit(1) + +-ZIP, RAR, TAR, GZIP, BZIP2 = range(5) ++ZIP, TAR, GZIP, BZIP2 = range(5) + + + class Process: + + """The subprocess and popen2 modules in Python are broken (see issue +- #1336). The problem (i.e. complete crash) they can cause happen fairly +- often (once is too often) in Comix when calling "rar" or "unrar" to +- extract specific files from archives. We roll our own very simple +- process spawning module here instead. ++ #1336). We roll our own very simple process spawning module here instead. + """ + # TODO: I can no longer reproduce the issue. Check if this version of + # process.py still solves it. +@@ -94,19 +91,6 @@ class Extractor: + elif self._type in [TAR, GZIP, BZIP2]: + self._tfile = tarfile.open(src, 'r') + self._files = self._tfile.getnames() +- elif self._type == RAR: +- self._rar = None +- for command in ('unrar', 'rar'): +- if Process([command]).spawn() is not None: +- self._rar = command +- if self._rar == None: +- print '! Could not find the "rar" or "unrar" executable.' +- sys.exit(1) +- proc = Process([self._rar, 'vb', src]) +- fobj = proc.spawn() +- self._files = fobj.readlines() +- proc.wait() +- self._files = [name.rstrip('\n') for name in self._files] + + def get_files(self): + """Return a list of the files in the archive.""" +@@ -121,11 +105,6 @@ class Extractor: + return cStringIO.StringIO(self._zfile.read(chosen)) + elif self._type in [TAR, GZIP, BZIP2]: + return cStringIO.StringIO(self._tfile.extractfile(chosen).read()) +- elif self._type == RAR: +- proc = Process([self._rar, 'p', '-inul', '-p-', '--', +- self._src, chosen]) +- fobj = proc.spawn() +- return cStringIO.StringIO(fobj.read()) + + + def archive_mime_type(path): +@@ -145,8 +124,6 @@ def archive_mime_type(path): + if magic.startswith('\037\213'): + return GZIP + return TAR +- if magic == 'Rar!': +- return RAR + except Exception: + print '! Error while reading', path + return None +diff --git a/mime/mcomix.desktop b/mime/mcomix.desktop +index ee6d8b9..19ec7cd 100644 +--- a/mime/mcomix.desktop ++++ b/mime/mcomix.desktop +@@ -19,4 +19,4 @@ Terminal=false + Type=Application + StartupNotify=true + Categories=Graphics;Viewer; +-MimeType=application/x-cbz;application/x-cbr;application/x-cbt;image/jpeg;image/png;image/gif;image/tiff;image/bmp;image/x-icon;image/x-xpixmap;image/x-xbitmap;application/x-zip;application/zip;application/x-rar;application/x-tar;application/x-gzip;application/x-bzip2;image/svg+xml;image/svg;image/svg-xml;image/vnd.adobe.svg+xml;text/xml-svg;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-pcx;image/x-cmu-raster;image/x-sun-raster;image/x-tga;application/x-7z-compressed;application/x-cb7;application/x-lzh;application/x-lha;application/x-lzh-compressed; ++MimeType=application/x-cbz;application/x-cbt;image/jpeg;image/png;image/gif;image/tiff;image/bmp;image/x-icon;image/x-xpixmap;image/x-xbitmap;application/x-zip;application/zip;application/x-tar;application/x-gzip;application/x-bzip2;image/svg+xml;image/svg;image/svg-xml;image/vnd.adobe.svg+xml;text/xml-svg;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-pcx;image/x-cmu-raster;image/x-sun-raster;image/x-tga;application/x-7z-compressed;application/x-cb7;application/x-lzh;application/x-lha;application/x-lzh-compressed; +diff --git a/mime/mcomix.thumbnailer b/mime/mcomix.thumbnailer +index 4dcfc67..667dc8b 100644 +--- a/mime/mcomix.thumbnailer ++++ b/mime/mcomix.thumbnailer +@@ -1,4 +1,4 @@ + [Thumbnailer Entry] + TryExec=comicthumb + Exec=comicthumb %u %o %s +-MimeType=application/x-cbr;application/x-cbz;application/x-cbt; ++MimeType=application/x-cbz;application/x-cbt; +diff --git a/mime/mcomix.xml b/mime/mcomix.xml +index 765c254..b13e2da 100644 +--- a/mime/mcomix.xml ++++ b/mime/mcomix.xml +@@ -5,11 +5,6 @@ + Comic Book Archive (Zip compressed) + + +- +- +- Comic Book Archive (RAR compressed) +- +- + + + +diff --git a/setup.py b/setup.py +index 9eb7782..9979111 100755 +--- a/setup.py ++++ b/setup.py +@@ -78,23 +78,18 @@ setuptools.setup( + ('share/icons/hicolor/48x48/apps', ['mcomix/images/48x48/mcomix.png']), + ('share/icons/hicolor/16x16/mimetypes', + ['mime/icons/16x16/application-x-cbz.png', +- 'mime/icons/16x16/application-x-cbr.png', + 'mime/icons/16x16/application-x-cbt.png']), + ('share/icons/hicolor/22x22/mimetypes', + ['mime/icons/22x22/application-x-cbz.png', +- 'mime/icons/22x22/application-x-cbr.png', + 'mime/icons/22x22/application-x-cbt.png']), + ('share/icons/hicolor/24x24/mimetypes', + ['mime/icons/24x24/application-x-cbz.png', +- 'mime/icons/24x24/application-x-cbr.png', + 'mime/icons/24x24/application-x-cbt.png']), + ('share/icons/hicolor/32x32/mimetypes', + ['mime/icons/32x32/application-x-cbz.png', +- 'mime/icons/32x32/application-x-cbr.png', + 'mime/icons/32x32/application-x-cbt.png']), + ('share/icons/hicolor/48x48/mimetypes', + ['mime/icons/48x48/application-x-cbz.png', +- 'mime/icons/48x48/application-x-cbr.png', + 'mime/icons/48x48/application-x-cbt.png'])], + + # Package metadata diff --git a/libre/mcomix/mcomix.install b/libre/mcomix/mcomix.install new file mode 100644 index 000000000..82047a202 --- /dev/null +++ b/libre/mcomix/mcomix.install @@ -0,0 +1,31 @@ +pkgname=mcomix + +post_install() { + if [ -f usr/sbin/gconfpkg ]; then + usr/sbin/gconfpkg --install ${pkgname} &> /dev/null + fi + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + echo 'In case of any issues with zoom keybindings, delete ~/.config/mcomix/keybindings.conf.' + post_install $1 +} + +pre_remove() { + if [ -f usr/sbin/gconfpkg ]; then + usr/sbin/gconfpkg --uninstall ${pkgname} &> /dev/null + fi +} + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null +} diff --git a/libre/mcomix/zoom.patch b/libre/mcomix/zoom.patch new file mode 100644 index 000000000..26dc3ba6f --- /dev/null +++ b/libre/mcomix/zoom.patch @@ -0,0 +1,17 @@ +diff --git a/mcomix-1.00/mcomix/event.py b/mcomix-1.00-mod/mcomix/event.py +index bc8cf79..bf80ec2 100644 +--- a/mcomix/event.py ++++ b/mcomix/event.py +@@ -117,8 +117,11 @@ class EventHandler: + + # Zooming commands for manual zoom mode + manager.register('zoom in', +- ['equal'], ++ ['plus', 'KP_Add', 'equal'], + self._window.actiongroup.get_action('zoom_in').activate) ++ manager.register('zoom out', ++ ['minus', 'KP_Subtract'], ++ self._window.actiongroup.get_action('zoom_out').activate) + # Zoom out is already defined as GTK menu hotkey + manager.register('zoom original', + ['KP_0'], -- cgit v1.2.3-2-g168b