[PATCH: gnu: calibre: Clean up 'wrap phase]

  • Done
  • quality assurance status badge
Details
2 participants
  • Mathieu Othacehe
  • Prafulla Giri
Owner
unassigned
Submitted by
Prafulla Giri
Severity
normal
P
P
Prafulla Giri wrote on 15 Sep 2020 13:47
(address . guix-patches@gnu.org)
CAFw+=j2N4wiwKA1pK2Y_zYPX+cBEjKRNwptivnJ0jBGyVTORmA@mail.gmail.com
Esteemed maintainers,

This commit cleans up the changes made by
fd3eac4dd774597d493e6d8aae7b1c2653070bc7 (which worked-around the issue of
repeated (wrap-program) calls creating wrappers of wrappers --- i.e.
..calibre-real-real-s --- by creating a manual 'wrap phase that did the
work of the standard 'wrap phase and also the runtime dependency resolution
of QtWebEngineProcess), based on the suggestion of the author of the commit

For more information, please consult the discussions in

Thank you
Attachment: file
From 6c89037f8d8221eb447c3cf225e70559a5ba4cbb Mon Sep 17 00:00:00 2001
From: Prafulla Giri <pratheblackdiamond@gmail.com>
Date: Tue, 15 Sep 2020 17:13:36 +0545
Subject: [PATCH] gnu: calibre: Clean up 'wrap phase.

Based on the suggestion of the author, this commit cleans up the
changes introduced by fd3eac4dd774597d493e6d8aae7b1c2653070bc7

For more information, see: https://issues.guix.gnu.org/43249

* gnu/packages/e-book.scm (calibre):
[arguments]: Remove the manual 'wrap phase replacement and add a
'wrap-program phase after standard 'wrap phase to make the runtime
dependency QtWebEngineProcess available to the binaries.
---
gnu/packages/ebook.scm | 46 +++++++++++++++++++++---------------------
1 file changed, 23 insertions(+), 23 deletions(-)

Toggle diff (66 lines)
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index b7c78b6a64..a18b953654 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -245,29 +245,7 @@
"--path-to-mathjax" (string-append
(assoc-ref inputs "js-mathjax")
"/share/javascript/mathjax"))
- (invoke "python2" "setup.py" "rapydscript")))
- (replace 'wrap
- ;; Here we wrap PYTHONPATH exactly as it would be in
- ;; python-build-system, plus the addition of
- ;; QTWEBENGINEPROCESS_PATH, fixing a bug where Calibre would not
- ;; find Qtwebengine.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (python (assoc-ref inputs "python"))
- (site-packages
- (cons (string-append out "/lib/python"
- (python-version python)
- "/site-packages")
- (search-path-as-string->list (getenv "PYTHONPATH"))))
- (qtwebengineprocess
- (string-append (assoc-ref inputs "qtwebengine")
- "/lib/qt5/libexec/QtWebEngineProcess")))
- (for-each (lambda (program)
- (wrap-program program
- `("QTWEBENGINEPROCESS_PATH" = (,qtwebengineprocess))
- `("PYTHONPATH" prefix ,site-packages)))
- (find-files bin ".")))
+ (invoke "python2" "setup.py" "rapydscript")
#t))
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
@@ -285,6 +263,28 @@
"/share/fonts/truetype")))
(delete-file-recursively font-dest)
(symlink font-src font-dest))
+ #t))
+ ;; Make run-time dependencies available to the binaries
+ (add-after 'wrap 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (qtwebengine (assoc-ref inputs "qtwebengine")))
+ (with-directory-excursion (string-append out "/bin")
+ (for-each
+ (lambda (binary)
+ (wrap-program binary
+ ;; Make QtWebEngineProcess available
+ `("QTWEBENGINEPROCESS_PATH" ":" =
+ ,(list (string-append
+ qtwebengine
+ "/lib/qt5/libexec/QtWebEngineProcess")))))
+ ;; wrap all the binaries shipping with the package, except
+ ;; for the wrappings created during the 'wrap standard phase.
+ ;; This extends existing .calibre-real wrappers rather than
+ ;; create ..calibre-real-real-s.
+ ;; For more information see: https://issues.guix.gnu.org/43249
+ (find-files "." (lambda (file stat)
+ (not (wrapper? file)))))))
#t)))))
(home-page "https://calibre-ebook.com/")
(synopsis "E-book library management software")
--
2.28.0
M
M
Mathieu Othacehe wrote on 18 Sep 2020 15:22
(name . Prafulla Giri)(address . pratheblackdiamond@gmail.com)(address . 43419-done@debbugs.gnu.org)
87bli3z0br.fsf@gnu.org
Hello,

Toggle quote (6 lines)
> This commit cleans up the changes made by fd3eac4dd774597d493e6d8aae7b1c2653070bc7 (which worked-around the issue of repeated (wrap-program) calls creating wrappers of
> wrappers --- i.e. ..calibre-real-real-s --- by creating a manual 'wrap phase that did the work of the standard 'wrap phase and also the runtime dependency resolution of
> QtWebEngineProcess), based on the suggestion of the author of the commit himself (https://issues.guix.gnu.org/43249#14).
>
> For more information, please consult the discussions in https://issues.guix.gnu.org/43249

This seems indeed nicer, pushed!

Thanks,

Mathieu
--
Closed
P
P
Prafulla Giri wrote on 18 Sep 2020 15:24
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 43419-done@debbugs.gnu.org)
CAFw+=j1aLdiMH+_dGorQBYEtYfGU3Th_MLrD1rheZ+e0TDqGtQ@mail.gmail.com
Thank you very much, once again, Mr. Othacehe. (:

On Fri, Sep 18, 2020 at 7:07 PM Mathieu Othacehe <othacehe@gnu.org> wrote:

Toggle quote (23 lines)
>
> Hello,
>
> > This commit cleans up the changes made by
> fd3eac4dd774597d493e6d8aae7b1c2653070bc7 (which worked-around the issue of
> repeated (wrap-program) calls creating wrappers of
> > wrappers --- i.e. ..calibre-real-real-s --- by creating a manual 'wrap
> phase that did the work of the standard 'wrap phase and also the runtime
> dependency resolution of
> > QtWebEngineProcess), based on the suggestion of the author of the commit
> himself (https://issues.guix.gnu.org/43249#14).
> >
> > For more information, please consult the discussions in
> https://issues.guix.gnu.org/43249
>
> This seems indeed nicer, pushed!
>
> Thanks,
>
> Mathieu
> --
> https://othacehe.org
>
Attachment: file
Closed
?