diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-04-28 16:24:46 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-04-28 16:24:46 +0200 |
commit | 284fa7264963acc5d114ef5d54c347126b1654ba (patch) | |
tree | 3e5360fcc81b6d0dce76a65aca60cf8528f2931f /gnu/packages/image-viewers.scm | |
parent | 12c9da35389dfba86ae0d863132a6b2c4374205a (diff) | |
parent | 882cacc1bb5be0df334dd7ce55b385a3a1678728 (diff) | |
download | guix-patches-284fa7264963acc5d114ef5d54c347126b1654ba.tar guix-patches-284fa7264963acc5d114ef5d54c347126b1654ba.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/image-viewers.scm')
-rw-r--r-- | gnu/packages/image-viewers.scm | 142 |
1 files changed, 61 insertions, 81 deletions
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 6ab6cf3307..7e3154be91 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -662,91 +662,71 @@ imaging. It supports several HDR and LDR image formats, and it can: ;; CBR and RAR are currently unsupported, due to non-free dependencies. (define-public mcomix - ;; Official mcomix hasn't been updated since 2016, it's broken with - ;; python-pillow 6+ and only supports Python 2. We use fork instead. - (let ((commit "fea55a7a9369569eefed72209eed830409c4af98")) - (package - (name "mcomix") - (version (git-version "1.2.1" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/multiSnow/mcomix3") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "05zl0dkjwbdcm2zlk4nz9w33amlqj8pbf32a8ymshc2356fqhhi5")))) - (build-system python-build-system) - (inputs - (list p7zip python-pillow python-pygobject python-pycairo)) - (arguments - `(#:tests? #f ; FIXME: How do we run tests? - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda* (#:key inputs #:allow-other-keys) - (let ((p7zip (assoc-ref inputs "p7zip"))) - ;; insert absolute path to 7z executable - (substitute* "mcomix/mcomix/archive/sevenzip_external.py" - (("_7z_executable = -1") - (string-append "_7z_executable = u'" p7zip "/bin/7z'")))) - #t)) - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (pyver ,(version-major+minor (package-version python))) - (lib (string-append out "/lib/python" pyver))) - (invoke (which "python") "installer.py" "--srcdir=mcomix" - (string-append "--target=" lib)) - (rename-file (string-append lib "/mcomix") - (string-append lib "/site-packages")) - #t))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (share (string-append out "/share")) - (bin (string-append out "/bin")) - (pyver ,(version-major+minor (package-version python))) - (lib (string-append out "/lib/python" pyver "/site-packages"))) - (mkdir-p bin) - (rename-file (string-append lib "/mcomixstarter.py") - (string-append bin "/mcomix")) - (rename-file (string-append lib "/comicthumb.py") - (string-append bin "/comicthumb")) - (install-file "mime/mcomix.desktop" - (string-append share "/applications")) - (install-file "mime/mcomix.appdata.xml" - (string-append share "/metainfo")) - (install-file "mime/mcomix.xml" - (string-append share "/mime/packages")) - (install-file "mime/comicthumb.thumbnailer" - (string-append share "/thumbnailers")) - (install-file "man/mcomix.1" (string-append share "/man/man1")) - (install-file "man/comicthumb.1" (string-append share "/man/man1")) - (for-each - (lambda (size) - (install-file - (format #f "mcomix/mcomix/images/~sx~s/mcomix.png" size size) - (format #f "~a/icons/hicolor/~sx~s/apps/" share size size)) - (for-each - (lambda (ext) - (install-file - (format #f "mime/icons/~sx~s/application-x-~a.png" size size ext) - (format #f "~a/icons/hicolor/~sx~s/mimetypes/" - share size size))) - '("cb7" "cbr" "cbt" "cbz"))) - '(16 22 24 32 48)) - #t)))))) - (home-page "https://sourceforge.net/p/mcomix/wiki/Home/") - (synopsis "Image viewer for comics") - (description "MComix is a customizable image viewer that specializes as + (package + (name "mcomix") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/mcomix/MComix-" version "/" + "mcomix-" version ".tar.gz")) + (sha256 + (base32 + "187ca815vxb2in1ryvfiaf1zapi0bc9jxdac3c1bky0kr6x7xyap")))) + (build-system python-build-system) + (inputs + (list p7zip python python-pillow python-pygobject python-pycairo gtk+)) + (arguments + (list + #:imported-modules `(,@%python-build-system-modules + (guix build glib-or-gtk-build-system)) + #:modules '((guix build python-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "mcomix/archive/sevenzip_external.py" + ;; Ensure that 7z is found by hardcoding its absolute path. + (("_7z_executable = -1") + (format #f "_7z_executable = ~s" + (search-input-file inputs "/bin/7z")))) + (substitute* "mcomix/image_tools.py" + (("assert name not in supported_formats_gdk") + "if name in supported_formats_gdk: continue")))) + (add-after 'install 'install-data + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion "mcomix" + (for-each + (lambda (subdir) + (copy-recursively + subdir + (string-append + (assoc-ref outputs "out") + "/lib/python" + #$(version-major+minor + (package-version (this-package-input "python"))) + "/site-packages/mcomix/" subdir))) + '("images" "messages"))))) + (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) + (add-after 'wrap 'gi-wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (for-each + (lambda (prog) + (wrap-program prog + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))) + (list (string-append bin "/mcomix"))))))))) + (home-page "https://sourceforge.net/p/mcomix/wiki/Home/") + (synopsis "Image viewer for comics") + (description "MComix is a customizable image viewer that specializes as a comic and manga reader. It supports a variety of container formats including CBZ, CB7, CBT, LHA. For PDF support, install the @emph{mupdf} package.") - (license license:gpl2+)))) + (license license:gpl2+))) (define-public qview (package |