summary refs log tree commit diff
path: root/gnu/packages/qt.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-06-27 21:37:50 +0200
committerLudovic Courtès <ludo@gnu.org>2015-07-03 15:28:07 +0200
commit4b0f2ef743b47d8eab492151db3ae0541e808854 (patch)
tree6e9b418c308436f8335641bb35b64de5b1720960 /gnu/packages/qt.scm
parentff1989a5999cbe03659e3ad801abc6d39217be47 (diff)
downloadguix-4b0f2ef743b47d8eab492151db3ae0541e808854.tar.gz
gnu: qt-4: Remove reference from "out" to "doc".
* gnu/packages/qt.scm (qt-4)[arguments]: Remove '-docdir' configure flag.
  Add 'move-doc' phase.
Diffstat (limited to 'gnu/packages/qt.scm')
-rw-r--r--gnu/packages/qt.scm22
1 files changed, 20 insertions, 2 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 0040b5f62e..208e2ba23a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -264,7 +264,9 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                       "./configure"
                       "-verbose"
                       "-prefix" out
-                      "-docdir" (string-append doc "/share/doc/qt-" ,version)
+                      ;; Note: Don't pass '-docdir' since 'qmake' and
+                      ;; libQtCore would record its value, thereby defeating
+                      ;; the whole point of having a separate output.
                       "-datadir" (string-append out "/share/qt-" ,version
                                                 "/data")
                       "-importdir" (string-append out "/lib/qt-4"
@@ -296,7 +298,23 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                       "-no-sse4.1"
                       "-no-sse4.2"
                       "-no-avx"
-                      "-no-neon"))))))))))
+                      "-no-neon")))))
+         (add-after
+          'install 'move-doc
+          (lambda* (#:key outputs #:allow-other-keys)
+            ;; Because of qt4-documentation-path.patch, documentation ends up
+            ;; being installed in OUT.  Move it to the right place.
+            (let* ((out    (assoc-ref outputs "out"))
+                   (doc    (assoc-ref outputs "doc"))
+                   (olddoc (string-append out "/doc"))
+                   (docdir (string-append doc "/share/doc/qt-" ,version)))
+              (mkdir-p (dirname docdir))
+
+              ;; Note: We can't use 'rename-file' here because OUT and DOC are
+              ;; different "devices" due to bind-mounts.
+              (copy-recursively olddoc docdir)
+              (delete-file-recursively olddoc)
+              #t))))))))
 
 (define-public python-sip
   (package