lol
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 extra-cmake-modules,
7 fcitx5,
8 gobject-introspection,
9 glib,
10 gtk2,
11 gtk3,
12 gtk4,
13 fmt,
14 pcre,
15 libuuid,
16 libselinux,
17 libsepol,
18 libthai,
19 libdatrie,
20 libXdmcp,
21 libxkbcommon,
22 libepoxy,
23 dbus,
24 at-spi2-core,
25 libXtst,
26 withGTK2 ? false,
27}:
28
29stdenv.mkDerivation rec {
30 pname = "fcitx5-gtk";
31 version = "5.1.3";
32
33 src = fetchFromGitHub {
34 owner = "fcitx";
35 repo = pname;
36 rev = version;
37 hash = "sha256-qckaD2VDlXyaXe52PTjYfKIJbsIBRgD5s3b9Oc6l/64=";
38 };
39
40 outputs = [
41 "out"
42 "dev"
43 ];
44
45 cmakeFlags = [
46 "-DGOBJECT_INTROSPECTION_GIRDIR=share/gir-1.0"
47 "-DGOBJECT_INTROSPECTION_TYPELIBDIR=lib/girepository-1.0"
48 ] ++ lib.optional (!withGTK2) "-DENABLE_GTK2_IM_MODULE=off";
49
50 buildInputs = [
51 glib
52 gtk3
53 gtk4
54 fmt
55 fcitx5
56 pcre
57 libuuid
58 libselinux
59 libsepol
60 libthai
61 libdatrie
62 libXdmcp
63 libxkbcommon
64 libepoxy
65 dbus
66 at-spi2-core
67 libXtst
68 ] ++ lib.optional withGTK2 gtk2;
69
70 nativeBuildInputs = [
71 cmake
72 extra-cmake-modules
73 gobject-introspection
74 ];
75
76 meta = with lib; {
77 description = "Fcitx5 gtk im module and glib based dbus client library";
78 homepage = "https://github.com/fcitx/fcitx5-gtk";
79 license = licenses.lgpl21Plus;
80 maintainers = with maintainers; [ poscat ];
81 platforms = platforms.linux;
82 };
83}