projects/guix·blob python-team · refs

733 lines · 25.5 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2020, 2022 Zhu Zihao <[email protected]>
3;;; Copyright © 2021 Tobias Geerinckx-Rice <[email protected]>
4;;; Copyright © 2022 Dominic Martinez <[email protected]>
5;;; Copyright © 2022 dan <[email protected]>
6;;; Copyright © 2024 Zheng Junjie <[email protected]>
7;;; Copyright © 2024 Charles <[email protected]>
8;;; Copyright © 2025 VnPower <[email protected]>
9;;;
10;;; This file is part of GNU Guix.
11;;;
12;;; GNU Guix is free software; you can redistribute it and/or modify it
13;;; under the terms of the GNU General Public License as published by
14;;; the Free Software Foundation; either version 3 of the License, or (at
15;;; your option) any later version.
16;;;
17;;; GNU Guix is distributed in the hope that it will be useful, but
18;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;;; GNU General Public License for more details.
21;;;
22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24
25(define-module (gnu packages fcitx5)
26 #:use-module (guix packages)
27 #:use-module (guix download)
28 #:use-module (guix gexp)
29 #:use-module (guix git-download)
30 #:use-module (guix build-system cmake)
31 #:use-module (guix build-system copy)
32 #:use-module (guix build-system qt)
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (gnu packages anthy)
35 #:use-module (gnu packages boost)
36 #:use-module (gnu packages compression)
37 #:use-module (gnu packages cpp)
38 #:use-module (gnu packages curl)
39 #:use-module (gnu packages datastructures)
40 #:use-module (gnu packages dictionaries)
41 #:use-module (gnu packages enchant)
42 #:use-module (gnu packages freedesktop)
43 #:use-module (gnu packages gettext)
44 #:use-module (gnu packages glib)
45 #:use-module (gnu packages gtk)
46 #:use-module (gnu packages ibus)
47 #:use-module (gnu packages iso-codes)
48 #:use-module (gnu packages kde-frameworks)
49 #:use-module (gnu packages kde-plasma)
50 #:use-module (gnu packages language)
51 #:use-module (gnu packages libevent)
52 #:use-module (gnu packages linux)
53 #:use-module (gnu packages lua)
54 #:use-module (gnu packages pkg-config)
55 #:use-module (gnu packages pretty-print)
56 #:use-module (gnu packages python)
57 #:use-module (gnu packages qt)
58 #:use-module (gnu packages textutils)
59 #:use-module (gnu packages unicode)
60 #:use-module (gnu packages web)
61 #:use-module (gnu packages xdisorg)
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages xorg))
64
65(define-public xcb-imdkit
66 (package
67 (name "xcb-imdkit")
68 (version "1.0.9")
69 (source
70 (origin
71 (method url-fetch)
72 (uri (string-append
73 "https://download.fcitx-im.org/fcitx5/xcb-imdkit/xcb-imdkit-"
74 version ".tar.zst"))
75 (sha256
76 (base32 "010i5nxac4i0d8jyzdk6kpp7fzvqkab3nvnx7mfnalsdxyn3na3l"))
77 (modules '((guix build utils)))
78 (snippet
79 '(begin
80 ;; Remove bundled uthash.
81 (delete-file-recursively "uthash")
82 #t))))
83 (build-system cmake-build-system)
84 (inputs
85 (list uthash libxcb xcb-util xcb-util-keysyms))
86 (native-inputs
87 (list extra-cmake-modules pkg-config))
88 (home-page "https://github.com/fcitx/xcb-imdkit")
89 (synopsis "Input method development support for XCB")
90 (description "Xcb-imdkit is an implementation of xim protocol in XCB,
91comparing with the implementation of IMDkit with Xlib, and xim inside Xlib, it
92has less memory foot print, better performance, and safer on malformed
93client.")
94 (license license:lgpl2.1)))
95
96(define-public fcitx5
97 (package
98 (name "fcitx5")
99 (version "5.1.21")
100 (source
101 (origin
102 (method url-fetch)
103 (uri (string-append
104 "https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-"
105 version "_dict.tar.zst"))
106 (sha256
107 (base32 "0rgp5va3msxfx7yqp4fn3v0h6nc9knxs46g3v94ppi8i9zpd0j3q"))
108 (snippet
109 #~(begin
110 (use-modules (guix build utils))
111 (delete-file-recursively "third_party")))))
112 (arguments
113 (list #:configure-flags #~(list "-DUSE_SYSTEMD=OFF"
114 "-DUSE_SYSTEM_YOGA=ON")))
115 (build-system cmake-build-system)
116 (inputs
117 (list cairo
118 cairo-xcb
119 dbus
120 enchant
121 expat
122 fmt
123 gdk-pixbuf
124 gettext-minimal
125 glib
126 iso-codes/pinned
127 libevent
128 libuv
129 libxcb
130 libxkbcommon
131 libxkbfile
132 nlohmann-json
133 pango
134 plasma-wayland-protocols
135 `(,util-linux "lib") ;For libuuid.
136 wayland
137 wayland-protocols
138 xcb-imdkit
139 xcb-util
140 xcb-util-keysyms
141 xcb-util-wm
142 xkeyboard-config
143 yoga))
144 (native-inputs
145 (list extra-cmake-modules
146 zstd
147 pkg-config))
148 (native-search-paths
149 (list (search-path-specification
150 (variable "FCITX_ADDON_DIRS")
151 (files '("lib/fcitx5")))
152 (search-path-specification
153 (variable "GUIX_GTK2_IM_MODULE_FILE")
154 (file-type 'regular)
155 (separator #f)
156 (files '("lib/gtk-2.0/2.10.0/immodules-gtk2.cache")))
157 (search-path-specification
158 (variable "GUIX_GTK3_IM_MODULE_FILE")
159 (file-type 'regular)
160 (separator #f)
161 (files '("lib/gtk-3.0/3.0.0/immodules-gtk3.cache")))))
162 (home-page "https://github.com/fcitx/fcitx5")
163 (synopsis "Input method framework")
164 (description "Fcitx 5 is a generic input method framework.")
165 (license license:lgpl2.1+)))
166
167(define-public fcitx5-lua
168 (package
169 (name "fcitx5-lua")
170 (version "5.0.17")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append
175 "https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-"
176 version ".tar.zst"))
177 (sha256
178 (base32 "0lkbzkiic4lbk6mab9nl7zdxmwa51vmiwliiwz8zq26d80pmic9k"))))
179 (build-system cmake-build-system)
180 (arguments
181 (list
182 #:configure-flags
183 #~(list "-DUSE_DLOPEN=OFF")))
184 (inputs
185 (list fcitx5 lua gettext-minimal))
186 (native-inputs
187 (list extra-cmake-modules pkg-config))
188 (home-page "https://github.com/fcitx/fcitx5-lua")
189 (synopsis "Lua support for Fcitx 5")
190 (description "Fcitx5-lua allows writing Fcitx5 extension in Lua.")
191 (license license:lgpl2.1+)))
192
193(define-public libime
194 (package
195 (name "libime")
196 (version "1.1.15")
197 (source
198 (origin
199 (method url-fetch)
200 (uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-"
201 version "_dict.tar.zst"))
202 (sha256
203 (base32 "06f21bgf2dwqrz9zy6r8f21lnhnhb9fwmfjln0v1j6v10ssjw245"))))
204 (build-system cmake-build-system)
205 (inputs
206 (list fcitx5 boost (list zstd "lib")))
207 (native-inputs
208 (list extra-cmake-modules pkg-config))
209 (home-page "https://github.com/fcitx/libime")
210 (synopsis "Library for implementing generic input methods")
211 (description "Libime is a library for implementing various input method
212editors.")
213 (license license:lgpl2.1+)))
214
215(define-public fcitx5-gtk
216 (package
217 (name "fcitx5-gtk")
218 (version "5.1.7")
219 (source
220 (origin
221 (method url-fetch)
222 (uri (string-append "https://download.fcitx-im.org/fcitx5"
223 "/fcitx5-gtk/fcitx5-gtk-"
224 version ".tar.zst"))
225 (sha256
226 (base32 "0hic2wq1azz2zwkpiqa5c2mfqmx2zxhq9i4nx13g1l4653ksm9dx"))))
227 (build-system cmake-build-system)
228 (arguments
229 (list
230 #:tests? #f ;No test
231 #:configure-flags
232 #~(list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR="
233 #$output "/share/gir-1.0")
234 (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR="
235 #$output "/lib/girepository-1.0")
236 "-DENABLE_GTK4_IM_MODULE=OFF")
237 #:phases
238 #~(modify-phases %standard-phases
239 (add-before 'configure 'patch-install-prefix
240 (lambda _
241 ;; Take care of different versions of GTK because this package
242 ;; provides IM module for GTK application to use input method.
243 (define (split-immodule gtk-version output)
244 (substitute* (string-append gtk-version "/CMakeLists.txt")
245 (("\\$\\{CMAKE_INSTALL_LIBDIR\\}")
246 (string-append output "/lib"))))
247
248 (let ((gtk2 #$output:gtk2)
249 (gtk3 #$output:gtk3))
250 (for-each split-immodule
251 '("gtk2" "gtk3")
252 (list gtk2 gtk3))))))))
253 (inputs
254 (list fcitx5
255 fmt
256 libx11
257 libxkbcommon
258 gettext-minimal
259 gobject-introspection
260 gtk+-2
261 gtk+
262 glib))
263 (native-inputs
264 (list extra-cmake-modules pkg-config
265 `(,glib "bin"))) ;for glib-genmarshal
266 (outputs '("out" "gtk2" "gtk3"))
267 (home-page "https://github.com/fcitx/fcitx5-gtk")
268 (synopsis "GLib-based D-Bus client and GTK IM module for Fcitx 5")
269 (description "Fcitx5-gtk provides the following functionality in the
270corresponding output:
271
272@table @code
273@item out
274GLib-based D-Bus client of Fcitx5.
275@item gtk2
276IM module for GTK+2 applications.
277@item gtk3
278IM module for GTK+3 applications.
279@end table")
280 (license license:lgpl2.1+)))
281
282;; XXX: This package is separated from fcitx5-gtk for following reasons.
283;; 1. GTK4 has a lot more dependencies, some of which maybe unavailable on
284;; platforms other than x86_64. See <https://issues.guix.gnu.org/53648>.
285;; 2. GTK4 now propagates [email protected], it will conflict with GTK3 and GTK2
286;; (propagates [email protected]) if they're all in the inputs of same package.
287;; See <https://issues.guix.gnu.org/54261>.
288(define-public fcitx5-gtk4
289 (package
290 (inherit fcitx5-gtk)
291 (name "fcitx5-gtk4")
292 (arguments
293 (list
294 #:tests? #f ;No test
295 #:configure-flags
296 #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
297 #$(this-package-input "fcitx5-gtk")
298 "/include/Fcitx5/GClient"
299 " -I" #$(this-package-input "glib")
300 "/include/gio-unix-2.0")
301 "-DENABLE_GTK2_IM_MODULE=OFF"
302 "-DENABLE_GTK3_IM_MODULE=OFF")
303 #:phases
304 #~(modify-phases %standard-phases
305 (add-before 'configure 'fix-fcitxtheme-path
306 (lambda _
307 (substitute* "gtk4/gtk4inputwindow.cpp"
308 (("<gtk3/fcitxtheme.h>")
309 "\"fcitxtheme.h\""))))
310 (add-before 'configure 'fix-gclient
311 (lambda* (#:key inputs #:allow-other-keys)
312 (define gclient
313 (search-input-file inputs "lib/libFcitx5GClient.so"))
314 ;; Force cmake search libFcitx5GClient.so in library search
315 ;; path instead of compiling again.
316 (substitute* "gtk4/CMakeLists.txt"
317 (("Fcitx5::GClient")
318 gclient))))
319 (add-before 'build 'enter-gtk4-subdirectory
320 (lambda _
321 (chdir "gtk4")))
322 (add-after 'install 'leave-gtk4-subdirectory
323 (lambda _
324 (chdir ".."))))))
325 (inputs
326 (modify-inputs inputs
327 (delete "gtk+")
328 (prepend fcitx5-gtk gtk)))
329 (native-search-paths
330 (list (search-path-specification
331 (variable "GUIX_GTK4_PATH")
332 (files '("lib/gtk-4.0")))))
333 (outputs '("out"))
334 (synopsis "GTK4 IM module for Fcitx 5")
335 (description "Fcitx5-gtk4 provides IM module for GTK4 applications.")))
336
337(define-public fcitx5-qt
338 (package
339 (name "fcitx5-qt")
340 (version "5.1.14")
341 (source
342 (origin
343 (method url-fetch)
344 (uri (string-append "https://download.fcitx-im.org/fcitx5"
345 "/fcitx5-qt/fcitx5-qt-"
346 version ".tar.zst"))
347 (sha256
348 (base32 "0j1k0fm9hlkaicdp4kj2mfnw9h95q9x5lx8jwhbbwjkkhj3rh17h"))))
349 (build-system cmake-build-system)
350 (arguments
351 (list #:configure-flags
352 #~(list (string-append "-DCMAKE_INSTALL_QT5PLUGINDIR="
353 #$output "/lib/qt5/plugins")
354 (string-append "-DCMAKE_INSTALL_QT6PLUGINDIR="
355 #$output "/lib/qt6/plugins")
356 "-DENABLE_QT4=Off"
357 "-DENABLE_QT6=ON")))
358 (inputs (list fcitx5
359 libxcb
360 libxkbcommon
361 qtbase-5
362 qtbase
363 qtwayland
364 wayland
365 gettext-minimal))
366 (native-inputs (list extra-cmake-modules))
367 (home-page "https://github.com/fcitx/fcitx5-qt")
368 (synopsis "Qt library and IM module for Fcitx 5")
369 (description "Fcitx5-qt provides Qt library for development and IM module
370for Qt based application.")
371 (license (list license:lgpl2.1+
372 ;; Files under qt4(Fcitx5Qt4DBusAddons), qt5/dbusaddons
373 ;; and qt5/platforminputcontext.
374 license:bsd-3))))
375
376(define-public fcitx5-anthy
377 (package
378 (name "fcitx5-anthy")
379 (version "5.1.10")
380 (source
381 (origin
382 (method url-fetch)
383 (uri (string-append "https://download.fcitx-im.org/fcitx5"
384 "/fcitx5-anthy/fcitx5-anthy-"
385 version ".tar.zst"))
386 (sha256
387 (base32 "11h7b687xj2k1hp7dqj6wh5y6i55cm8m5pqbi5vbflgg0cy5v1mp"))))
388 (build-system cmake-build-system)
389 (arguments
390 `(#:tests? #f)) ;; no tests
391 (inputs (list fcitx5 anthy gettext-minimal fmt))
392 (native-inputs
393 (list extra-cmake-modules pkg-config))
394 (home-page "https://github.com/fcitx/fcitx5-anthy")
395 (synopsis "Anthy Japanese language input for Fcitx 5")
396 (description "Fcitx5-Anthy provides Japanese input support to Fcitx5 using
397the Anthy input method.")
398 (license license:gpl2+)))
399
400(define-public fcitx5-skk
401 (package
402 (name "fcitx5-skk")
403 (version "5.1.10")
404 (source
405 (origin
406 (method git-fetch)
407 (uri (git-reference
408 (url "https://github.com/fcitx/fcitx5-skk")
409 (commit version)))
410 (file-name (git-file-name name version))
411 (sha256
412 (base32 "1fjiyx6dyiqxlypr1k4024lnc077xsnx4qwrwx9hj3yjdni5f2p0"))))
413 (build-system cmake-build-system)
414 (arguments
415 (list #:tests? #f ; no tests
416 #:configure-flags
417 #~(list (string-append "-DSKK_PATH="
418 #$(this-package-input "skk-jisyo")
419 "/share/skk"))))
420 (native-inputs
421 (list extra-cmake-modules gobject-introspection
422 pkg-config gettext-minimal))
423 (inputs
424 (list libskk
425 fcitx5
426 fcitx5-qt
427 qtbase
428 skk-jisyo))
429 (home-page "https://github.com/fcitx/fcitx5-skk")
430 (synopsis "Input method engine for Fcitx5, which uses libskk as its backend")
431 (description
432 "fcitx5-skk is an input method engine for Fcitx5, which uses libskk as its
433backend.")
434 (license license:gpl3+)))
435
436(define-public fcitx5-unikey
437 (package
438 (name "fcitx5-unikey")
439 (version "5.1.11")
440 (source (origin
441 (method git-fetch)
442 (uri (git-reference
443 (url "https://github.com/fcitx/fcitx5-unikey")
444 (commit version)))
445 (sha256
446 (base32 "0hyy8b9ndh29fa8416ni2r5jrhkhig23d3vg6crgywz8wnnrjhbs"))
447 (file-name (git-file-name name version))))
448 (build-system qt-build-system)
449 (arguments
450 (list #:qtbase qtbase))
451 (inputs
452 (list gettext-minimal
453 fcitx5
454 fcitx5-qt))
455 (native-inputs
456 (list extra-cmake-modules
457 pkg-config))
458 (home-page "https://github.com/fcitx/fcitx5-unikey")
459 (synopsis "Unikey (Vietnamese Input Method) engine support for Fcitx5")
460 (description "This provides Unikey input method support for Fcitx5.")
461 (license license:gpl2+)))
462
463(define-public fcitx5-chewing
464 (package
465 (name "fcitx5-chewing")
466 (version "5.1.12")
467 (source (origin
468 (method git-fetch)
469 (uri (git-reference
470 (url "https://github.com/fcitx/fcitx5-chewing")
471 (commit version)))
472 (sha256
473 (base32 "027f6xfarbgy80vqhpfkk0risji5l72kyl3wkb8q7hpmfj99l42q"))
474 (file-name (git-file-name name version))))
475 (build-system cmake-build-system)
476 (arguments
477 (list #:phases
478 #~(modify-phases %standard-phases
479 (add-before 'check 'pre-check
480 (lambda _ (setenv "HOME" (getcwd)))))))
481 (inputs (list libchewing))
482 (native-inputs
483 (list extra-cmake-modules
484 pkg-config
485 gettext-minimal
486 fcitx5))
487 (home-page "https://github.com/fcitx/fcitx5-chewing")
488 (synopsis "Chewing wrapper for Fcitx")
489 (description "This provides libchewing input method support for fcitx5.")
490 (license license:gpl2+)))
491
492(define-public fcitx5-chinese-addons
493 (package
494 (name "fcitx5-chinese-addons")
495 (version "5.1.13")
496 (source
497 (origin
498 (method url-fetch)
499 (uri (string-append "https://download.fcitx-im.org/fcitx5"
500 "/fcitx5-chinese-addons/fcitx5-chinese-addons-"
501 version "_dict.tar.zst"))
502 (sha256
503 (base32 "1s379aq9215fnxf4l6iqj5gh1bw0g81h9bxvibl8l9rhjbpv8a98"))))
504 (build-system cmake-build-system)
505 (arguments
506 (list #:configure-flags
507 #~(list "-DUSE_WEBKIT=off")
508 #:phases
509 #~(modify-phases %standard-phases
510 (add-before 'configure 'split-outputs
511 ;; Build with GUI supports requires Qt and increase package
512 ;; closure by 800M on x86_64, so place it under another output.
513 (lambda _
514 (substitute* "gui/pinyindictmanager/CMakeLists.txt"
515 (("\\$\\{CMAKE_INSTALL_LIBDIR\\}" _)
516 (string-append #$output:gui "/lib"))))))))
517 (inputs
518 (list boost
519 curl
520 fcitx5
521 fcitx5-lua
522 fcitx5-qt
523 fmt
524 gettext-minimal
525 libime
526 opencc
527 qtbase
528 qtwebengine))
529 (native-inputs
530 (list extra-cmake-modules pkg-config))
531 (outputs '("out" "gui"))
532 (home-page "https://github.com/fcitx/fcitx5-chinese-addons")
533 (synopsis "Chinese related addons for Fcitx 5")
534 (description "Fcitx5-chinese-addons provides Chinese related addons,
535including input methods previous bundled inside Fcitx 4:
536
537@itemize
538@item Bingchan
539@item Cangjie
540@item Erbi
541@item Pinyin
542@item Shuangpin
543@item Wanfeng
544@item Wubi
545@item Wubi Pinyin
546@item Ziranma
547@end itemize\n")
548 (license (list license:lgpl2.1+
549 license:gpl2+
550 ;; im/pinyin/emoji.txt
551 license:unicode))))
552
553(define-public fcitx5-configtool
554 (package
555 (name "fcitx5-configtool")
556 (version "5.1.14")
557 (source
558 (origin
559 (method url-fetch)
560 (uri (string-append
561 "https://download.fcitx-im.org/fcitx5"
562 "/fcitx5-configtool/fcitx5-configtool-" version ".tar.zst"))
563 (sha256
564 (base32 "0k8jyv7axlksdswpy0n3pllvkg5qcaljh1zb37fykqx05sx4cbaw"))))
565 (build-system qt-build-system)
566 (arguments
567 (list #:qtbase qtbase
568 #:tests? #f
569 #:configure-flags #~(list "-DUSE_QT6=ON")))
570 (inputs
571 (list fcitx5
572 fcitx5-qt
573 qtdeclarative
574 ksvg
575 kcmutils
576 ki18n
577 kpackage
578 kdeclarative
579 kiconthemes
580 kcoreaddons
581 libplasma
582 kitemviews
583 kwidgetsaddons
584 kwindowsystem
585 kirigami
586 libxkbcommon
587 libx11
588 qtwayland
589 xkeyboard-config
590 libxkbfile
591 gettext-minimal
592 iso-codes/pinned))
593 (native-inputs
594 (list extra-cmake-modules pkg-config))
595 (home-page "https://github.com/fcitx/fcitx5-configtool")
596 (synopsis "Graphical configuration tool for Fcitx 5")
597 (description "Fcitx5-configtool is a graphical configuration tool
598to manage different input methods in Fcitx 5.")
599 (license license:gpl2+)))
600
601(define-public fcitx5-material-color-theme
602 (package
603 (name "fcitx5-material-color-theme")
604 (version "0.2.1")
605 (source
606 (origin
607 (method git-fetch)
608 (uri (git-reference
609 (url "https://github.com/hosxy/Fcitx5-Material-Color")
610 (commit version)))
611 (file-name (git-file-name name version))
612 (sha256
613 (base32 "0drdypjf1njl7flkb5d581vchwlp4gaqyws3cp0v874wkwh4gllb"))))
614 (build-system copy-build-system)
615 (arguments
616 `(#:phases
617 (modify-phases %standard-phases
618 (replace 'install
619 (lambda* (#:key outputs #:allow-other-keys)
620 (use-modules (srfi srfi-26))
621
622 (let* ((out (assoc-ref outputs "out"))
623 (assets-dir (string-append
624 out "/share/fcitx5-material-color-theme"))
625 (themes-prefix (string-append out "/share/fcitx5/themes")))
626
627 (define (install-theme-variant variant target)
628 (let ((dir (string-append themes-prefix "/" target))
629 (conf (string-append "theme-" variant ".conf")))
630 (format #t "install: Installing color variant \"~a\" to ~a~%"
631 variant dir)
632 (substitute* conf
633 (("^Name=.*")
634 (string-append "Name=" target "\n")))
635 (mkdir-p dir)
636 (copy-file conf (string-append dir "/theme.conf"))
637 (symlink (string-append assets-dir "/arrow.png")
638 (string-append dir "/arrow.png"))
639 (symlink (string-append assets-dir "/radio.png")
640 (string-append dir "/radio.png"))))
641
642 (mkdir-p assets-dir)
643 (install-file "arrow.png" assets-dir)
644 (install-file "radio.png" assets-dir)
645 (for-each
646 (lambda (x)
647 (install-theme-variant
648 x (string-append "Material-Color-" (string-capitalize x))))
649 '("black" "blue" "brown" "indigo"
650 "orange" "pink" "red" "teal"))
651
652 (install-theme-variant
653 "deepPurple" "Material-Color-DeepPurple")
654 (install-theme-variant
655 "sakuraPink" "Material-Color-SakuraPink")))))))
656 (home-page "https://github.com/hosxy/Fcitx5-Material-Color")
657 (synopsis "Material Design for Fcitx 5")
658 (description "Fcitx5-material-color-theme is a Material Design theme
659for Fcitx 5 with following color variants:
660
661@itemize
662@item Black
663@item Blue
664@item Brown
665@item Indigo
666@item Orange
667@item Pink
668@item Red
669@item teal
670@item DeepPurple
671@end itemize\n")
672 (license license:asl2.0)))
673
674(define-public fcitx5-rime
675 (package
676 (name "fcitx5-rime")
677 (version "5.1.14")
678 (source (origin
679 (method url-fetch)
680 (uri (string-append "https://download.fcitx-im.org/fcitx5"
681 "/fcitx5-rime/fcitx5-rime-" version
682 ".tar.zst"))
683 (sha256
684 (base32
685 "0qldn0mvpx5pns0xracc44fyhpsxq2q4xdvddvd7qkhxpqgq2y3l"))))
686 (build-system cmake-build-system)
687 (arguments
688 '(#:tests? #f ;no tests
689 #:configure-flags (list (string-append "-DRIME_DATA_DIR="
690 (assoc-ref %build-inputs
691 "rime-data")
692 "/share/rime-data"))
693 #:phases (modify-phases %standard-phases
694 (add-after 'unpack 'patch-source
695 (lambda _
696 (substitute* "data/CMakeLists.txt"
697 (("DESTINATION....RIME_DATA_DIR..")
698 "DESTINATION \"${CMAKE_INSTALL_DATADIR}/rime-data\""))
699 #t)))))
700 (inputs (list fcitx5 librime rime-data))
701 (native-inputs (list gettext-minimal extra-cmake-modules pkg-config))
702 (home-page "https://github.com/fcitx/fcitx5-rime")
703 (synopsis "Rime Input Method Engine for Fcitx 5")
704 (description
705 "@dfn{fcitx5-rime} provides the Rime input method engine for fcitx5.
706Rime is a lightweight, extensible input method engine supporting various input
707schemas including glyph-based input methods, romanization-based input methods
708as well as those for Chinese dialects. It has the ability to compose phrases
709and sentences intelligently and provide very accurate traditional Chinese
710output.")
711 (license license:lgpl2.1+)))
712
713(define-public fcitx5-hangul
714 (package
715 (name "fcitx5-hangul")
716 (version "5.1.10")
717 (source
718 (origin
719 (method git-fetch)
720 (uri (git-reference
721 (url "https://github.com/fcitx/fcitx5-hangul")
722 (commit version)))
723 (file-name (git-file-name name version))
724 (sha256
725 (base32 "0cd2a0ymm5r0wn1qmj946hd95bgs1gj29r6y3sav9555shkm7q35"))))
726 (build-system cmake-build-system)
727 (native-inputs (list extra-cmake-modules pkg-config gettext-minimal))
728 (inputs (list fcitx5 libhangul))
729 (home-page "https://github.com/fcitx/fcitx5-hangul")
730 (synopsis "Hangul support for Fcitx5")
731 (description
732 "This package provides the Hangul (Korean) input method engine for Fcitx5.")
733 (license license:lgpl2.1+)))