diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix new file mode 100644 index 00000000000..ce157f79253 --- /dev/null +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix @@ -0,0 +1,71 @@ +{ stdenv +, fetchurl +, fetchFromGitHub +, cmake +, extra-cmake-modules +, fcitx5 +, gobject-introspection +, gtk2 +, gtk3 +, pcre +, libuuid +, libselinux +, libsepol +, libthai +, libdatrie +, libXdmcp +, libxkbcommon +, epoxy +, dbus +, at-spi2-core +, libXtst +, withGTK2 ? false +}: + +stdenv.mkDerivation rec { + pname = "fcitx5-gtk"; + version = "5.0.1"; + + src = fetchFromGitHub { + owner = "fcitx"; + repo = "fcitx5-gtk"; + rev = version; + sha256 = "rkusIqMRQMTjcpJR335as1xUQrzD9dLVB/wrLstPXPY="; + }; + + cmakeFlags = [ + "-DGOBJECT_INTROSPECTION_GIRDIR=share/gir-1.0" + "-DGOBJECT_INTROSPECTION_TYPELIBDIR=lib/girepository-1.0" + ] ++ stdenv.lib.optional (! withGTK2) "-DENABLE_GTK2_IM_MODULE=off"; + + buildInputs = [ + gtk3 + gobject-introspection + fcitx5 + pcre + libuuid + libselinux + libsepol + libthai + libdatrie + libXdmcp + libxkbcommon + epoxy + dbus + at-spi2-core + libXtst + ] ++ stdenv.lib.optional withGTK2 gtk2; + + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + + meta = with stdenv.lib; { + description = "Fcitx5 gtk im module and glib based dbus client library"; + homepage = "https://github.com/fcitx/fcitx5-gtk"; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ poscat ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e066edc52dd..79220de9818 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3934,6 +3934,8 @@ in fcitx5 = libsForQt5.callPackage ../tools/inputmethods/fcitx5 { }; + fcitx5-gtk = callPackage ../tools/inputmethods/fcitx5/fcitx5-gtk.nix { }; + fcppt = callPackage ../development/libraries/fcppt { }; fcrackzip = callPackage ../tools/security/fcrackzip { };