From 085831010cc389888facb9f30fb10c5faff18ec9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 10 Nov 2022 12:40:38 -0500 Subject: [PATCH] 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. --- gnu/packages/qt.scm | 17 +++++++++++++++-- 1 file 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 @@ (define-public qttools (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