1{
2 stdenv,
3 fetchpatch,
4 mkKdeDerivation,
5 qtsvg,
6 qttools,
7 qtdeclarative,
8 qt5compat,
9 qqc2-desktop-style,
10}:
11# Kirigami has a runtime dependency on qqc2-desktop-style,
12# which has a build time dependency on Kirigami.
13# So, build qqc2-desktop-style against unwrapped Kirigami,
14# and replace all the other Kirigami with a wrapper that
15# propagates both Kirigami and qqc2-desktop-style.
16# This is a hack, but what can you do.
17let
18 unwrapped = mkKdeDerivation {
19 pname = "kirigami";
20
21 extraNativeBuildInputs = [
22 qtsvg
23 qttools
24 ];
25 extraBuildInputs = [ qtdeclarative ];
26 extraPropagatedBuildInputs = [ qt5compat ];
27 };
28in
29stdenv.mkDerivation {
30 pname = "kirigami-wrapped";
31 inherit (unwrapped) version;
32
33 propagatedBuildInputs = [
34 unwrapped
35 qqc2-desktop-style
36 ];
37
38 dontUnpack = true;
39 dontWrapQtApps = true;
40
41 passthru = {
42 inherit unwrapped;
43 };
44}