ps3-disc-dumper: 3.2.3 -> 4.2.5, .NET 6 -> 9 (#361506)
[NixPkgs.git] / pkgs / development / libraries / qtstyleplugin-kvantum / default.nix
blob20b8ea9b43db1fae1369e4cd22e315204963da0e
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   fetchpatch,
6   cmake,
7   qmake,
8   qtbase,
9   qtsvg,
10   qtx11extras ? null, # Qt 5 only
11   kwindowsystem,
12   qtwayland,
13   libX11,
14   libXext,
15   qttools,
16   wrapQtAppsHook,
17   gitUpdater,
19   qt6Kvantum ? null,
21 let
22   isQt5 = lib.versionOlder qtbase.version "6";
24 stdenv.mkDerivation (finalAttrs: {
25   pname = "qtstyleplugin-kvantum${lib.optionalString isQt5 "5"}";
26   version = "1.1.3";
28   src = fetchFromGitHub {
29     owner = "tsujan";
30     repo = "Kvantum";
31     rev = "V${finalAttrs.version}";
32     hash = "sha256-x2XsJ26y9y6IF9aY0fmAcvO4zmwLjvE2Lfvzw+GqchM=";
33   };
35   nativeBuildInputs = [
36     cmake
37     qmake
38     qttools
39     wrapQtAppsHook
40   ];
42   buildInputs =
43     [
44       qtbase
45       qtsvg
46       libX11
47       libXext
48     ]
49     ++ lib.optionals isQt5 [ qtx11extras ]
50     ++ lib.optionals (!isQt5) [
51       kwindowsystem
52       qtwayland
53     ];
55   sourceRoot = "${finalAttrs.src.name}/Kvantum";
57   patches = [
58     (fetchpatch {
59       # add xdg dirs support
60       url = "https://github.com/tsujan/Kvantum/commit/01989083f9ee75a013c2654e760efd0a1dea4a68.patch";
61       hash = "sha256-HPx+p4Iek/Me78olty1fA0dUNceK7bwOlTYIcQu8ycc=";
62       stripLen = 1;
63     })
64   ];
66   postPatch = ''
67     substituteInPlace style/CMakeLists.txt \
68       --replace-fail '"''${_Qt6_PLUGIN_INSTALL_DIR}/' "\"$out/$qtPluginPrefix/" \
69       --replace-fail '"''${_Qt5_PLUGIN_INSTALL_DIR}/' "\"$out/$qtPluginPrefix/"
70   '';
72   cmakeFlags = [
73     (lib.cmakeBool "ENABLE_QT5" isQt5)
74   ];
76   postInstall = lib.optionalString isQt5 ''
77     # make default Kvantum themes available for Qt 5 apps
78     mkdir -p "$out/share"
79     ln -s "${qt6Kvantum}/share/Kvantum" "$out/share/Kvantum"
80   '';
82   passthru.updateScript = gitUpdater {
83     rev-prefix = "V";
84   };
86   meta = {
87     description = "SVG-based Qt5 theme engine plus a config tool and extra themes";
88     homepage = "https://github.com/tsujan/Kvantum";
89     license = lib.licenses.gpl3Plus;
90     platforms = lib.platforms.linux;
91     maintainers = with lib.maintainers; [
92       romildo
93       Scrumplex
94     ];
95   };