kdePackages.kirigami: hack to propagate qqc2-desktop-style

This commit is contained in:
K900 2024-07-16 16:40:14 +03:00
parent 35b8cc9adf
commit 8f07f00e8f
2 changed files with 29 additions and 6 deletions

View File

@ -1,14 +1,34 @@
{
stdenv,
mkKdeDerivation,
qtsvg,
qttools,
qtdeclarative,
qt5compat,
qqc2-desktop-style,
}:
mkKdeDerivation {
# Kirigami has a runtime dependency on qqc2-desktop-style,
# which has a build time dependency on Kirigami.
# So, build qqc2-desktop-style against unwrapped Kirigami,
# and replace all the other Kirigami with a wrapper that
# propagates both Kirigami and qqc2-desktop-style.
# This is a hack, but what can you do.
let
unwrapped = mkKdeDerivation {
pname = "kirigami";
extraNativeBuildInputs = [qtsvg qttools];
extraBuildInputs = [qtdeclarative];
extraPropagatedBuildInputs = [qt5compat];
};
in stdenv.mkDerivation {
pname = "kirigami-wrapped";
inherit (unwrapped) version;
propagatedBuildInputs = [ unwrapped qqc2-desktop-style ];
dontUnpack = true;
dontWrapQtApps = true;
passthru = { inherit unwrapped; };
}

View File

@ -2,10 +2,13 @@
mkKdeDerivation,
qtdeclarative,
qttools,
kirigami,
}:
mkKdeDerivation {
pname = "qqc2-desktop-style";
extraNativeBuildInputs = [qttools];
extraBuildInputs = [qtdeclarative];
extraBuildInputs = [qtdeclarative kirigami.unwrapped];
excludeDependencies = ["kirigami"];
}