mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
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:
parent
fc9ac2ac64
commit
8358ad36c6
1 changed files with 41 additions and 81 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue