gnu: mcomix: Update to 2.0.1.

* gnu/packages/image-viewers.scm (mcomix): Update to 2.0.1.
[source]: Use sourceforge once again.
[inputs]: Add ‘python’.
[arguments]: Convert to a list of G-Expressions.
<#:tests?>: Drop.
<#:phases>: Rename ‘configure’ to ‘patch-sources’.  Also fix an assertion
error in "mcomix/image_tools.py".
No longer replace ‘build’ or ‘install’.  Add ‘install-data’ phase after
‘install’.  Use (this-package-input) to refer to the python input.
This commit is contained in:
Liliana Marie Prikler 2022-03-25 21:37:01 +01:00
parent fc9ac2ac64
commit 8358ad36c6
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -662,91 +662,51 @@ (define-public luminance-hdr
;; 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))
(arguments
(list
#: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)
(copy-recursively
"mcomix/images"
(string-append (assoc-ref outputs "out")
"/lib/python"
#$(version-major+minor
(package-version (this-package-input "python")))
"/site-packages/mcomix/images")))))))
(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