From 6c89037f8d8221eb447c3cf225e70559a5ba4cbb Mon Sep 17 00:00:00 2001 From: Prafulla Giri 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(-) 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