aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/fcitx.scm
blob: e699d7d59d323dd08dc2a486d5bd2293e421729b (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages fcitx)
  #:use-module ((guix licenses) #:select (gpl2+))
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system cmake)
  #:use-module (gnu packages documentation)
  #:use-module (gnu packages enchant)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages icu4c)
  #:use-module (gnu packages iso-codes)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages web)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages xorg))

(define-public fcitx
  (package
    (name "fcitx")
    (version "4.2.9.7")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://download.fcitx-im.org/fcitx/"
                                  "fcitx-" version "_dict.tar.xz"))
              (sha256
               (base32
                "13vg7yzfq0vj2r8zdf9ly3n243nwwggkhd5qv3z6yqdyj0m3ncyg"))))
    (build-system cmake-build-system)
    (outputs '("out" "gtk2" "gtk3"))
    (arguments
     `(#:configure-flags
       (list "-DENABLE_TEST=ON"
             (string-append "-DXKB_RULES_XML_FILE="
                            (assoc-ref %build-inputs "xkeyboard-config")
                            "/share/X11/xkb/rules/evdev.xml")
             "-DENABLE_GTK2_IM_MODULE=ON"
             "-DENABLE_GTK3_IM_MODULE=ON"
             (string-append "-DGTK2_IM_MODULEDIR="
                            (assoc-ref %outputs "gtk2")
                            "/lib/gtk-2.0/2.10.0/immodules")
             (string-append "-DGTK3_IM_MODULEDIR="
                            (assoc-ref %outputs "gtk3")
                            "/lib/gtk-3.0/3.0.0/immodules")
             ;; XXX: Enable GObject Introspection and Qt4 support.
             "-DENABLE_GIR=OFF"
             "-DENABLE_QT=OFF"
             "-DENABLE_QT_IM_MODULE=OFF")))
    (native-inputs
     `(("doxygen"    ,doxygen)
       ("extra-cmake-modules"
        ;; XXX: We can't simply #:use-module due to a cycle somewhere.
        ,(module-ref
          (resolve-interface '(gnu packages kde-frameworks))
          'extra-cmake-modules))
       ("glib:bin"   ,glib "bin")       ; for glib-genmarshal
       ("pkg-config" ,pkg-config)))
    (inputs
     `(("dbus"             ,dbus)
       ("enchant"          ,enchant-1.6)
       ("gettext"          ,gettext-minimal)
       ("gtk2"             ,gtk+-2)
       ("gtk3"             ,gtk+)
       ("icu4c"            ,icu4c)
       ("iso-codes"        ,iso-codes)
       ("json-c"           ,json-c)
       ("libxkbfile"       ,libxkbfile)
       ("libxml2"          ,libxml2)
       ("xkeyboard-config" ,xkeyboard-config)))
    (home-page "https://fcitx-im.org")
    (synopsis "Input method framework")
    (description
     "Fcitx is an input method framework with extension support.  It has
Pinyin, Quwei and some table-based (Wubi, Cangjie, Erbi, etc.) input methods
built-in.")
    (license gpl2+)))

(define-public fcitx-configtool
  (package
   (name "fcitx-configtool")
   (version "0.4.10")
   (source (origin
            (method url-fetch)
            (uri (string-append "https://download.fcitx-im.org/fcitx-configtool/"
                                "fcitx-configtool-" version ".tar.xz"))
            (sha256
             (base32
              "1yyi9jhkwn49lx9a47k1zbvwgazv4y4z72gnqgzdpgdzfrlrgi5w"))))
   (build-system cmake-build-system)
   (arguments
    `(#:configure-flags
      (list "-DENABLE_GTK2=ON"
            "-DENABLE_GTK3=ON")
      #:tests? #f)) ; No tests.
   (native-inputs
    `(("glib:bin"   ,glib "bin")
      ("pkg-config" ,pkg-config)))
   (inputs
    `(("fcitx"      ,fcitx)
      ("dbus-glib"  ,dbus-glib)
      ("gettext"    ,gettext-minimal)
      ("gtk2"       ,gtk+-2)
      ("gtk3"       ,gtk+)
      ("iso-codes"  ,iso-codes)))
   (home-page "https://fcitx-im.org/wiki/Configtool")
   (synopsis "Graphic Fcitx configuration tool")
   (description
    "Fcitx is an input method framework with extension support.  It has
Pinyin, Quwei and some table-based (Wubi, Cangjie, Erbi, etc.) input methods
built-in.  This package provides GTK version of the graphic configuration
tool of Fcitx.")
   (license gpl2+)))
class='msg-tooltip'>* gnu/packages/hurd.scm (gnumach-headers): Remove configure flags where we say the builder is running x86. * gnu/packages/cross-base.scm (cross-gnumach-headers): Work around limitation of build system, by manually changing the target host_cpu without relying on --host, because we don't have a working cross-compiler yet. Josselin Poiret 2023-06-17gnu: Use target-hurd?, system-hurd? instead of hurd-target?, hurd-system?....* gnu/packages/hurd.scm (hurd-target?): Remove. (hurd-system?): Move to... * guix/utils.scm (system-hurd?): ...here. * gnu/packages/*: Update all users, removing (gnu packages hurd) include where now unused. Janneke Nieuwenhuizen 2023-03-30gnu: mig/32-bit: Remove....* gnu/packages/hurd.scm (mig/32-bit): Remove unneeded variant. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret 2023-03-30gnu: hurd: Update DDE and use libdde_linux26....* gnu/packages/hurd.scm (dde-sources): Update. (hurd): Build libdde_linux26 and install it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret 2023-03-30gnu: gnumach, hurd-headers, hurd: Switch to using cross-mig....* gnu/packages/hurd.scm (gnumach, hurd-headers, hurd): Switch to cross-mig when cross-building. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret 2023-03-30gnu: hurd: Remove useless glibc/hurd-headers input....* gnu/packages/hurd.scm (hurd): Do it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret 2023-03-30gnu: hurd: Update to 3ff7053....* gnu/packages/hurd.scm (hurd-headers): Do it. Also backport some patches to make it build, and remove older patches. Also stop pretending we're on i586-pc-gnu. (hurd): Remove unneeded patches. * gnu/packages/patches/hurd-add-without-rump-configure-option.patch: * gnu/packages/patches/hurd-fix-types-of-read-write-and-readables-methods-2.patch: * gnu/packages/patches/hurd-fix-types-of-read-write-and-readables-methods.patch: New files. * gnu/packages/patches/hurd-cross.patch: * gnu/packages/patches/hurd-xattr.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Register and unregister them. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret 2023-03-30gnu: gnumach: Update to 1.8+git20220827....* gnu/packages/hurd.scm (gnumach-headers): Do it. * gnu/packages/patches/gnumach-add-missing-const_mach_port_name_array_t-type.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret 2023-03-30gnu: mig: Update to 1.8+git20220827....* gnu/packages/hurd.scm (mig): Do it. * gnu/packages/patches/mig-cpu.h-generation.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret 2023-03-04gnu: cross-base: Inherit arguments from 'mig'....That way, 'xmig' inherits the 'avoid-perl-dependency' build phase. * gnu/packages/hurd.scm (mig)[arguments]: In 'avoid-perl-dependency', use 'find-files' to locate the "mig" executable(s). * gnu/packages/cross-base.scm (cross-kernel-headers*)[xmig]: Use 'substitute-keyword-arguments'. Ludovic Courtès 2023-03-04gnu: mig: Remove dependency on Perl....* gnu/packages/hurd.scm (mig)[inputs]: Remove PERL. [arguments]: Remove 'patch-non-shebang-references' phase and add 'avoid-perl-dependency' phase. Ludovic Courtès 2023-03-04gnu: mig: Use gexps....* gnu/packages/hurd.scm (mig)[arguments]: Use gexps. Ludovic Courtès