summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-10 12:40:38 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-24 14:55:57 -0500
commit085831010cc389888facb9f30fb10c5faff18ec9 (patch)
tree7f5a101a97889c18f9bad1b3c621d7ca5bef257b
parentd1dc2c47fef2102a479f797244e542af6eaf9865 (diff)
downloadguix-085831010cc389888facb9f30fb10c5faff18ec9.tar.gz
gnu: qttools: Add clang-15 as input.
* gnu/packages/qt.scm (qttools) [inputs]: Add clang-15, so that the qdoc
command can be built.
[phases] {sanity-check}: New phase, to guard against a problem that proved
difficult to isolate.
-rw-r--r--gnu/packages/qt.scm17
1 files changed, 15 insertions, 2 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 009626d6d9..2e44a6256a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1866,9 +1866,22 @@ that helps in Qt development.")))
      (list
       ;; The build system attempts to fetch online resources and fails when
       ;; building the test suite.
-      #:configure-flags #~(list "-DQT_BUILD_TESTS=OFF")))
+      #:configure-flags #~(list "-DQT_BUILD_TESTS=OFF")
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'install 'sanity-check
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       ;; This validation exists to validate that the dynamic
+                       ;; library for Clang works as intended; there was
+                       ;; originally problems due to left-overs patching the
+                       ;; value of BUILD_SHARED_LIBS in CLANG-FROM-LLVM that
+                       ;; would cause the following error: "CommandLine Error:
+                       ;; Option 'filter' registered more than once!"
+                       (invoke/quiet (search-input-file outputs "bin/qdoc")
+                                     "--help"))))))
     (native-inputs (list perl qtdeclarative vulkan-headers))
-    (inputs (list libxkbcommon mesa qtbase))
+    ;; Use clang-15, which is built using as a single shared library, which is
+    ;; what the build system of qttools expects.
+    (inputs (list clang-15 libxkbcommon mesa qtbase))
     (home-page (package-home-page qtbase))
     (synopsis "Qt Tools and Designer modules")
     (description "The Qt Tools module provides a set of applications to browse