Subject: [PATCH 1/2] gnu: Add python-poppler-qt5.
From: Ricardo Wurmus <[email-masked]>
To: [email-masked]
Cc: Ricardo Wurmus <[email-masked]>
Date: Sun, 9 Apr 2017 22:47:52 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/pdf.scm (python-poppler-qt5): New variable.
---
 gnu/packages/pdf.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 7f3dccc8b..0882d3b94 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -184,6 +184,53 @@
 Poppler PDF rendering library.")
     (license license:lgpl2.1+)))
 
+(define-public python-poppler-qt5
+  (package
+    (name "python-poppler-qt5")
+    (version "0.24.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "python-poppler-qt5" version))
+        (sha256
+         (base32
+          "0l69llw1fzwz8y90q0qp9q5pifbrqjjbwii7di54dwghw5fc6w1r"))))
+    (build-system python-build-system)
+    (arguments
+     `(;; There are no tests.  The check phase just causes a rebuild.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'build
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "setup.py"
+               ;; This check always fails, so disable it.
+               (("if not check_qtxml\\(\\)")
+                "if True")
+               ;; Enable C++11, which is needed because of Qt5.
+               (("\\*\\*ext_args" line)
+                (string-append "extra_compile_args=['-std=gnu++11'], " line)))
+             ;; We need to pass an extra flag here.  This cannot be in
+             ;; configure-flags because it should not be passed for the
+             ;; installation phase.
+             ((@@ (guix build python-build-system) call-setuppy)
+              "build_ext" (list (string-append "--pyqt-sip-dir="
+                                               (assoc-ref inputs "python-pyqt")
+                                               "/share/sip")) #t))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("python-sip" ,python-sip)
+       ("python-pyqt" ,python-pyqt)
+       ("poppler-qt5" ,poppler-qt5)
+       ("qtbase" ,qtbase)))
+    (home-page "https://pypi.python.org/pypi/python-poppler-qt5")
+    (synopsis "Python bindings for Poppler-Qt5")
+    (description
+     "This package provides Python bindings for the Qt5 interface of the
+Poppler PDF rendering library.")
+    (license license:lgpl2.1+)))
+
 (define-public libharu
   (package
    (name "libharu")
-- 
2.12.2