Subject: bug#38148: [PATCH 1/5] gnu: python-pyqt: Substitute the full path of <qprinter.h>

From: Mike Rosset <[email-masked]>
Date: Tue, 14 Jan 2020 03:04:59 -0800

* gnu/packages/qt.scm (python-pyqt)[phases]: When building
  python-pyqtwebengine qprinter.h can not be found.  This substitutes the full
  path of qprinter.h in the qprinter sip specification file.
---
 gnu/packages/qt.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 514577678e..9f289aa6df 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1947,6 +1947,17 @@ module provides support functions to the automatically generated code.")
                   ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
+         ;; When building python-pyqtwebengine <qprinter.h> can not be
+         ;; included. Here we substitute the full path to the header in the
+         ;; store.
+         (add-before 'configure 'substitute-source
+           (lambda* (#:key inputs  #:allow-other-keys)
+             (let* ((qtbase (assoc-ref inputs "qtbase"))
+                    (qtprinter.h (string-append "\"" qtbase "/include/qt5/QtPrintSupport/qprinter.h\"")))
+               (substitute* "sip/QtPrintSupport/qprinter.sip"
+                 (("<qprinter.h>")
+                  qtprinter.h))
+               #t)))
          (replace 'configure
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
-- 
2.24.1