emacsPackages.treemacs: replace python3 program (#364623)
[NixPkgs.git] / pkgs / tools / inputmethods / fcitx5 / fcitx5-configtool.nix
blob618eb1587fda613336be0ca4139b0531dfa1fa42
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   extra-cmake-modules,
7   pkg-config,
8   fcitx5,
9   fcitx5-qt,
10   qtbase,
11   qtsvg,
12   qtwayland,
13   qtdeclarative,
14   qtx11extras ? null,
15   kitemviews,
16   kwidgetsaddons,
17   qtquickcontrols2 ? null,
18   kcoreaddons,
19   kdeclarative,
20   kirigami ? null,
21   kirigami2 ? null,
22   isocodes,
23   xkeyboardconfig,
24   libxkbfile,
25   libplasma ? null,
26   plasma-framework ? null,
27   wrapQtAppsHook,
28   kcmSupport ? true,
31 stdenv.mkDerivation rec {
32   pname = "fcitx5-configtool";
33   version = "5.1.7";
35   src = fetchFromGitHub {
36     owner = "fcitx";
37     repo = pname;
38     rev = version;
39     hash = "sha256-6Slh1uZglRNBLQ1ziKf2xaP+NK6Abug/6TZcYy2HFPQ=";
40   };
42   cmakeFlags = [
43     (lib.cmakeBool "KDE_INSTALL_USE_QT_SYS_PATHS" true)
44     (lib.cmakeBool "ENABLE_KCM" kcmSupport)
45     (lib.cmakeBool "USE_QT6" (lib.versions.major qtbase.version == "6"))
46   ];
48   nativeBuildInputs = [
49     cmake
50     extra-cmake-modules
51     pkg-config
52     wrapQtAppsHook
53   ];
55   buildInputs =
56     [
57       fcitx5
58       fcitx5-qt
59       qtbase
60       qtsvg
61       qtwayland
62       kitemviews
63       kwidgetsaddons
64       isocodes
65       xkeyboardconfig
66       libxkbfile
67     ]
68     ++ lib.optionals (lib.versions.major qtbase.version == "5") [
69       qtx11extras
70     ]
71     ++ lib.optionals kcmSupport (
72       [
73         qtdeclarative
74         kcoreaddons
75         kdeclarative
76       ]
77       ++ lib.optionals (lib.versions.major qtbase.version == "5") [
78         qtquickcontrols2
79         plasma-framework
80         kirigami2
81       ]
82       ++ lib.optionals (lib.versions.major qtbase.version == "6") [
83         libplasma
84         kirigami
85       ]
86     );
88   meta = with lib; {
89     description = "Configuration Tool for Fcitx5";
90     homepage = "https://github.com/fcitx/fcitx5-configtool";
91     license = licenses.gpl2Plus;
92     maintainers = with maintainers; [ poscat ];
93     platforms = platforms.linux;
94     mainProgram = "fcitx5-config-qt";
95   };