[bug#73549,4/4] gnu: Add ibus-chewing.

Message ID 98bd768ded54e32edd29fe2d325db12dc4363d73.1727596132.git.efraim@flashner.co.il
State New
Headers
Series Update libchewing and add fcitx5 and ibus packages |

Commit Message

Efraim Flashner Sept. 29, 2024, 7:55 a.m. UTC
  * gnu/packages/ibus.scm (ibus-chewing): New variable.

Co-authored-by: Charles <charles@charje.net>.
Change-Id: I37c1ac836e5afd3101378d206e5c2056293cc182
---
 gnu/packages/ibus.scm | 52 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)
  

Comments

jgart Oct. 20, 2024, 6:13 a.m. UTC | #1
LGTM, pushed.
  

Patch

diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 2f4211c385b..0dfce29ea36 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -2,7 +2,7 @@ 
 ;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
-;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2024 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2019, 2020, 2021 Peng Mei Yu <pengmeiyu@riseup.net>
 ;;; Copyright © 2020 kanichos <kanichos@yandex.ru>
@@ -13,6 +13,7 @@ 
 ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
 ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2024 Charles <charles@charje.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -61,6 +62,7 @@  (define-module (gnu packages ibus)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages iso-codes)
+  #:use-module (gnu packages language)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages logging)
   #:use-module (gnu packages perl)
@@ -380,6 +382,54 @@  (define-public libpinyin
     (home-page "https://github.com/libpinyin/libpinyin")
     (license gpl2+)))
 
+(define-public ibus-chewing
+  (package
+    (name "ibus-chewing")
+    (version "2.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/chewing/ibus-chewing")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0fgscxb8nhli4g8d3yy0wxzbk9bcyj6bvmqrzbddkvgikmanj36b"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      ;; Settings schema 'org.freedesktop.IBus.Chewing' is not installed
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'prepare-for-tests
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                ;; IBus requires write access to the HOME directory.
+                (setenv "HOME" (getcwd))
+                ;; MESA: error: ZINK: failed to choose pdev
+                (setenv "GALLIUM_DRIVER" "llvmpipe")
+                (system "Xvfb :1 &")
+                (setenv "DISPLAY" ":1")))))))
+    (inputs
+     (list glib
+           gtk
+           ibus
+           libadwaita
+           libchewing))
+    (native-inputs
+     (list dbus
+           gettext-minimal
+           gobject-introspection
+           `(,glib "bin")
+           pkg-config
+           xorg-server-for-tests))
+    (home-page "https://chewing.im/")
+    (synopsis "Chewing engine for IBus")
+    (description "IBus-Chewing is an IBus front-end of Chewing, an intelligent
+Chinese input method for Zhuyin (BoPoMoFo) users.")
+    (license gpl2)))
+
 (define-public ibus-anthy
   (package
     (name "ibus-anthy")