Subject: [bug#46536] Fix build of materialdecoration.

From: Raghav Gururajan <[email-masked]>
Date: Mon, 15 Feb 2021 11:35:09 -0500

From 6d5fdf31616eb31aca756cb8ceb81e644677fb3c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <[email-masked]>
Date: Mon, 15 Feb 2021 10:03:09 -0500
Subject: [PATCH 1/2] gnu: cmake-shared: Update to 1.1.0-32.

* gnu/packages/cmake.scm (cmake-shared) [git-version]: Update to 1.1.0-32.
[arguments]<#:phases>['remove-3rdparty]: New phase.
---
 gnu/packages/cmake.scm | 56 ++++++++++++++++++++++++------------------
 1 file changed, 32 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index ab74650066..66f1c3ccdc 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -55,31 +55,39 @@
   #:use-module (srfi srfi-1))
 
 (define-public cmake-shared
-  (package
-    (name "cmake-shared")
-    (version "1.1.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri
-        (git-reference
-         (url "https://github.com/lirios/cmake-shared.git")
-         (commit
-          (string-append "v" version))))
-       (file-name
-        (git-file-name name version))
-       (sha256
-        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:tests? #f))                    ; No target
-    (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
-    (synopsis "Shared CMake functions and macros")
-    (description "CMake-Shared are shared functions and macros for projects
+  (let ((commit "8122f2b96c8da38ea41b653cf69958e75fe2129d")
+        (revision "32"))
+    (package
+      (name "cmake-shared")
+      (version
+       (git-version "1.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/lirios/cmake-shared.git")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "05avwzqcnliwx9h7qi1kl0iz4smqmxc4vkavyjbmlc6h2b97i58g"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'remove-3rdparty
+             (lambda _
+               (delete-file-recursively "3rdparty")
+               #t)))))
+      (native-inputs
+       `(("extra-cmake-modules" ,extra-cmake-modules)))
+      (synopsis "Shared CMake functions and macros")
+      (description "CMake-Shared are shared functions and macros for projects
 using the CMake build system.")
-    (home-page "https://github.com/lirios/cmake-shared/")
-    (license license:bsd-3)))
+      (home-page "https://github.com/lirios/cmake-shared/")
+      (license license:bsd-3))))
 
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
-- 
2.30.0

From 06382a8cac4a8320e636f1ce5c4af0d3e98419df Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <[email-masked]>
Date: Mon, 15 Feb 2021 11:19:32 -0500
Subject: [PATCH 2/2] gnu: materialdecoration: Update to 1.1.0-9.

* gnu/packages/qt.scm (materialdecoration) [git-version]: Update to 1.1.0-9.
[arguments]<#:configure-flags>[-DCMAKE_CXX_FLAGS]: New flag.
<#:phases>['remove-3rdparty]: New phase.
[inputs]: Add libxkbcommon.
---
 gnu/packages/qt.scm | 72 ++++++++++++++++++++++++++++-----------------
 1 file changed, 45 insertions(+), 27 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 4fbb157600..f8b6beaf9b 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -161,34 +161,52 @@ window managers, that don't provide Qt integration by themselves.")
     (license license:bsd-2)))
 
 (define-public materialdecoration
-  (package
-    (name "materialdecoration")
-    (version "1.1.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri
-        (git-reference
-         (url "https://github.com/lirios/materialdecoration.git")
-         (commit "2079487116c6c794af3a15452342a69293039b46")))
-       (file-name
-        (git-file-name name version))
-       (sha256
-        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
-    (build-system qt-build-system)
-    (native-inputs
-     `(("cmake-shared" ,cmake-shared)
-       ("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)))
-    (inputs
-     `(("qtbase" ,qtbase)
-       ("qtwayland" ,qtwayland)
-       ("wayland" ,wayland)))
-    (synopsis "Material Decoration for Qt")
-    (description "MaterialDecoration is a client-side decoration for Qt
+  (let ((commit "6a5de23f2e5162fbee39d16f938473ff970a2ec0")
+        (revision "9"))
+    (package
+      (name "materialdecoration")
+      (version
+       (git-version "1.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/lirios/materialdecoration.git")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "1zdrcb39fhhmn76w8anv1dnspz26pdl6izmj1mlm02aza4y8ffp4"))))
+      (build-system qt-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:configure-flags
+         (list
+          (string-append "-DCMAKE_CXX_FLAGS=-I"
+                         (assoc-ref %build-inputs "qtbase")
+                         "/include/qt5/QtXkbCommonSupport/"
+                         ,(package-version qtbase)))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'remove-3rdparty
+             (lambda _
+               (delete-file-recursively "cmake/3rdparty")
+               #t)))))
+      (native-inputs
+       `(("cmake-shared" ,cmake-shared)
+         ("extra-cmake-modules" ,extra-cmake-modules)
+         ("pkg-config" ,pkg-config)))
+      (inputs
+       `(("qtbase" ,qtbase)
+         ("qtwayland" ,qtwayland)
+         ("wayland" ,wayland)
+         ("xkbcommon" ,libxkbcommon)))
+      (synopsis "Material Decoration for Qt")
+      (description "MaterialDecoration is a client-side decoration for Qt
 applications on Wayland.")
-    (home-page "https://github.com/lirios/materialdecoration")
-    (license license:lgpl3+)))
+      (home-page "https://github.com/lirios/materialdecoration")
+      (license license:lgpl3+))))
 
 (define-public grantlee
   (package
-- 
2.30.0