guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/22: gnu: python-pyqt: Fix build for new python-sip.


From: guix-commits
Subject: 05/22: gnu: python-pyqt: Fix build for new python-sip.
Date: Mon, 29 Mar 2021 18:59:54 -0400 (EDT)

lfam pushed a commit to branch wip-update-calibre
in repository guix.

commit cce19cd9c958504812115bdedf01d14c30a8914c
Author: Brendan Tildesley <mail@brendan.scot>
AuthorDate: Mon Feb 22 22:20:40 2021 +1100

    gnu: python-pyqt: Fix build for new python-sip.
    
    * gnu/packages/qt.scm (python-pyqt)
    [source]: Remove pyqt-public-sip.patch. PyQt uses python-pyqt5-sip
    now. This patch is still used by python2-pyqt so we don't delete it 
completely.
    [inputs]: Add python-pyqt-builder, python-pyqt5-sip
    [arguments]: Add phase to link PyQt5-sip module.
---
 gnu/packages/qt.scm | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index d604a9c..c51e643 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1903,12 +1903,11 @@ module provides support functions to the automatically 
generated code.")
                    (string-append "https://www.riverbankcomputing.com/static/";
                                   "Downloads/PyQt5/" version "/PyQt5-"
                                   version ".tar.gz")))
-        (file-name (string-append "PyQt5-"version ".tar.gz"))
+        (file-name (string-append "PyQt5-" version ".tar.gz"))
         (sha256
          (base32
           "1z74295i69cha52llsqffzhb5zz7qnbjc64h8qg21l91jgf0harp"))
-       (patches (search-patches "pyqt-configure.patch"
-                                "pyqt-public-sip.patch"))))
+        (patches (search-patches "pyqt-configure.patch"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("qtbase" ,qtbase))) ; for qmake
@@ -1916,6 +1915,8 @@ module provides support functions to the automatically 
generated code.")
      `(("python-sip" ,python-sip)))
     (inputs
      `(("python" ,python-wrapper)
+       ("python-pyqt-builder" ,python-pyqt-builder)
+       ("python-pyqt5-sip" ,python-pyqt5-sip)
        ("qtbase" ,qtbase)
        ("qtconnectivity" ,qtconnectivity)
        ("qtdeclarative" ,qtdeclarative)
@@ -1973,7 +1974,19 @@ module provides support functions to the automatically 
generated code.")
                        ; installed into the python package's
                        ; site-package directory, which is read-only.
                        "--stubsdir" stubs
-                       "--sipdir" sip)))))))
+                       "--sipdir" sip))))
+         ;; Linking here means the sip module can be found without
+         ;; python-pyqt5-sip needing to be added as an input.
+         (add-after 'install 'pyqt5-sip
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (pyqt5-sip  (assoc-ref inputs "python-pyqt5-sip"))
+                    (python (assoc-ref inputs "python"))
+                    (site (string-append "/lib/python"
+                                         (python-version python)
+                                         "/site-packages/PyQt5/"))
+                    (.so (first (find-files (string-append pyqt5-sip site) 
"sip.*"))))
+               (symlink .so (string-append out site (basename .so)))))))))
     (home-page "https://www.riverbankcomputing.com/software/pyqt/intro";)
     (synopsis "Python bindings for Qt")
     (description



reply via email to

[Prev in Thread] Current Thread [Next in Thread]