From 2456153adc3422153b95c154df02da80a2ce8e95 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Tue, 18 Jul 2017 16:39:11 +0200
Subject: gnu: Add python-pyqt+qscintilla.

* gnu/packages/qt.scm (python-pyqt+qscintilla): New variable.
---
 gnu/packages/qt.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

(limited to 'gnu/packages')

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index b0fc7432cb..3e3588a505 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -30,6 +30,7 @@
   #:use-module (guix build utils)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system trivial)
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (gnu packages)
@@ -1455,6 +1456,30 @@ indicators, code completion and call tips.
 
 This package provides the Python bindings.")))
 
+;; PyQt only looks for modules in its own directory.  It ignores environment
+;; variables such as PYTHONPATH, so we need to build a union package to make
+;; it work.
+(define-public python-pyqt+qscintilla
+  (package (inherit python-pyqt)
+    (name "python-pyqt+qscintilla")
+    (source #f)
+    (build-system trivial-build-system)
+    (arguments
+     '(#:modules ((guix build union))
+       #:builder (begin
+                   (use-modules (ice-9 match)
+                                (guix build union))
+                   (match %build-inputs
+                     (((names . directories) ...)
+                      (union-build (assoc-ref %outputs "out")
+                                   directories))))))
+    (inputs
+     `(("python-pyqt" ,python-pyqt)
+       ("python-qscintilla" ,python-qscintilla)))
+    (synopsis "Union of PyQt and the Qscintilla extension")
+    (description
+     "This package contains the union of PyQt and the Qscintilla extension.")))
+
 (define-public qtkeychain
   (package
     (name "qtkeychain")
-- 
cgit v1.2.3