From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Liliana Marie Prikler <liliana.prikler@gmail.com>
Cc: 54558@debbugs.gnu.org, batalie@riseup.net
Subject: bug#54558: mcomix refuses to run, missing GTK libraries
Date: Fri, 25 Mar 2022 22:57:26 -0400 [thread overview]
Message-ID: <87czi9xvxl.fsf_-_@gmail.com> (raw)
In-Reply-To: <b6bf7216de0379f91eb75157efe870c186fd712d.camel@gmail.com> (Liliana Marie Prikler's message of "Fri, 25 Mar 2022 21:37:01 +0100")
Hi Liliana,
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> * 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.
> ---
> gnu/packages/image-viewers.scm | 123 +++++++++++----------------------
> 1 file changed, 42 insertions(+), 81 deletions(-)
>
> diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
> index 6ab6cf3307..1c325cd8a7 100644
> --- a/gnu/packages/image-viewers.scm
> +++ b/gnu/packages/image-viewers.scm
> @@ -662,91 +662,52 @@ (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)
> + (let ((p7zip (assoc-ref inputs "p7zip")))
> + ;; insert absolute path to 7z executable
I know it's in the original, but since while we're revamping the
package, let's make this comment a proper complete sentence.
> + (substitute* "mcomix/archive/sevenzip_external.py"
> + (("_7z_executable = -1")
> + (string-append "_7z_executable = u'" p7zip "/bin/7z'")))
I'd use something like:
(format #f "_7z_executable = ~s"
(search-input-file inputs "bin/7z"))
For the replacement. That unicode string (u"something") is
obsolete/unnecessary (all strings are unicode in Python 3).
> + (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+)))
I haven't tried it, but LGTM with my above comments addressed.
Thank you!
Maxim
next prev parent reply other threads:[~2022-03-26 2:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-24 20:08 bug#54558: mcomix refuses to run, missing GTK libraries Natalie
2022-03-25 20:37 ` bug#54558: [PATCH 1/2] gnu: mcomix: Update to 2.0.1 Liliana Marie Prikler
2022-03-26 2:57 ` Maxim Cournoyer [this message]
2022-03-26 8:01 ` bug#54558: mcomix refuses to run, missing GTK libraries Liliana Marie Prikler
2022-03-25 22:45 ` bug#54558: [PATCH 2/2] gnu: mcomix: Wrap missing paths Liliana Marie Prikler
2022-03-27 2:26 ` bug#54558: Mcomix 2.0.1 do not install locale data Feng Shu
2022-03-27 9:39 ` Feng Shu
2022-03-27 9:52 ` Feng Shu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87czi9xvxl.fsf_-_@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=54558@debbugs.gnu.org \
--cc=batalie@riseup.net \
--cc=liliana.prikler@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.