summary refs log tree commit diff
diff options
context:
space:
mode:
authorZhu Zihao <all_but_last@163.com>2020-12-07 22:43:47 +0800
committer宋文武 <iyzsong@member.fsf.org>2020-12-08 20:31:47 +0800
commitd4aca38b50d75cff9bd065a855e7368a51843db4 (patch)
tree4c863a80a0dfe036adabcd931666bb4b9614c049
parent4394d3721a25eb103bff24404e90e1a6c7049166 (diff)
downloadguix-d4aca38b50d75cff9bd065a855e7368a51843db4.tar.gz
gnu: Add fcitx5-gtk.
* gnu/packages/fcitx5.scm (fcitx5-gtk): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
-rw-r--r--gnu/packages/fcitx5.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
index ee479156b9..bdebe579a9 100644
--- a/gnu/packages/fcitx5.scm
+++ b/gnu/packages/fcitx5.scm
@@ -208,6 +208,57 @@ client.")
 editors.")
     (license license:lgpl2.1+)))
 
+(define-public fcitx5-gtk
+  (package
+    (name "fcitx5-gtk")
+    (version "5.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://download.fcitx-im.org/fcitx5"
+                           "/fcitx5-gtk/fcitx5-gtk-"
+                           version ".tar.xz"))
+       (sha256
+        (base32 "0h53liraqc5nz4nyi3ixdfdw3zzkdcsiff7j25acc3gmaa5gyij7"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ;No test
+       #:configure-flags
+       (list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR="
+                            %output "/share/gir-1.0")
+             (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR="
+                            %output "/lib/girepository-1.0"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-install-prefix
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (gtk2 (assoc-ref outputs "gtk2")))
+               ;; Install GTK+ 2 input method module to its own output.
+               (substitute* "gtk2/CMakeLists.txt"
+                 (("\\$\\{CMAKE_INSTALL_LIBDIR\\}")
+                  (string-append gtk2 "/lib")))))))))
+    (inputs
+     `(("fcitx5" ,fcitx5)
+       ("libxkbcommon" ,libxkbcommon)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk2" ,gtk+-2)
+       ("gtk3" ,gtk+)
+       ("glib" ,glib)
+       ("libx11" ,libx11)
+       ("gettext" ,gettext-minimal)))
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)
+       ("glib" ,glib "bin")))           ;for glib-genmarshal
+    ;; TODO: Add "lib" output to reduce the closure size of "gtk2".
+    (outputs '("out" "gtk2"))
+    (home-page "https://github.com/fcitx/fcitx5-gtk")
+    (synopsis "Glib based D-Bus client and GTK IM module for Fcitx 5")
+    (description "Fcitx5-gtk provides a Glib based D-Bus client and IM module
+for GTK+2/GTK+3 application.")
+    (license license:lgpl2.1+)))
+
 (define-public fcitx5-qt
   (package
     (name "fcitx5-qt")