summaryrefslogtreecommitdiff
path: root/gnu/packages/ibus.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ibus.scm')
-rw-r--r--gnu/packages/ibus.scm120
1 files changed, 116 insertions, 4 deletions
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 1abe70a1ab..38db959d94 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -24,6 +24,10 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
@@ -34,14 +38,15 @@
(define-public ibus
(package
(name "ibus")
- (version "1.5.5")
+ (version "1.5.11")
(source (origin
(method url-fetch)
- (uri (string-append "https://ibus.googlecode.com/files/ibus-"
- version ".tar.gz"))
+ (uri (string-append "https://github.com/ibus/ibus/"
+ "releases/download/"
+ version "/ibus-" version ".tar.gz"))
(sha256
(base32
- "1v4a9xv2k26g6ggk4282ynfvh68j2r5hg1cdpvnryfa8c2pkdaq2"))))
+ "1g26llizd26h9sfz4xdq8krhz19hn08pirvfbkk3g89ri8lmm6a9"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; tests fail because there's no connection to dbus
@@ -49,6 +54,9 @@
(list "CC=gcc"
(string-append "pyoverridesdir="
(assoc-ref %outputs "out")
+ "/lib/python2.7/site-packages/gi/overrides/")
+ (string-append "py2overridesdir="
+ (assoc-ref %outputs "out")
"/lib/python2.7/site-packages/gi/overrides/"))
#:phases
(alist-cons-before
@@ -83,6 +91,10 @@
`(("glib" ,glib "bin") ; for glib-genmarshal
("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
("pkg-config" ,pkg-config)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "IBUS_COMPONENT_PATH")
+ (files '("share/ibus/component")))))
(synopsis "Input method framework")
(description
"IBus is an input framework providing a full-featured and user-friendly
@@ -90,3 +102,103 @@ input method user interface. It comes with multilingual input support. It
may also simplify input method development.")
(home-page "http://ibus.googlecode.com/")
(license lgpl2.1+)))
+
+(define-public ibus-libpinyin
+ (package
+ (name "ibus-libpinyin")
+ (version "1.7.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/libpinyin/"
+ "ibus-libpinyin/archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "080ixx5lih9lr78b061y67dqmiyc7ij87jl1sa26hhs1dr28ihka"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'autogen
+ (lambda _ (and (zero? (system* "intltoolize"))
+ (zero? (system* "autoreconf" "-vif")))))
+ (add-after 'wrap-program 'wrap-with-additional-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make sure 'ibus-setup-libpinyin' runs with the correct
+ ;; PYTHONPATH and GI_TYPELIB_PATH.
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/libexec/ibus-setup-libpinyin")
+ `("PYTHONPATH" ":" prefix
+ (,(getenv "PYTHONPATH")
+ ,(string-append (assoc-ref inputs "ibus")
+ "/lib/girepository-1.0")))
+ `("GI_TYPELIB_PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "ibus")
+ "/lib/girepository-1.0"))))
+ #t))))))
+ (inputs
+ `(("ibus" ,ibus)
+ ("libpinyin" ,libpinyin)
+ ("bdb" ,bdb)
+ ("sqlite" ,sqlite)
+ ("python" ,python-2)
+ ("pyxdg" ,python2-pyxdg)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (synopsis "Chinese Pinyin and ZhuYin input methods for IBus")
+ (description
+ "This package includes a Chinese Pinyin input method and a Chinese
+ZhuYin (Bopomofo) input method based on libpinyin for IBus.")
+ (home-page "https://github.com/libpinyin/ibus-libpinyin")
+ (license gpl2+)))
+
+(define-public libpinyin
+ (package
+ (name "libpinyin")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/libpinyin/libpinyin/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04didxd39vlry6nqy7xqynwc68ndajnhw334wahfmp7zjbbscs7p"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'autogen
+ (lambda _ (zero? (system* "autoreconf" "-vif"))))
+ (add-after 'unpack 'unpack-model
+ (lambda* (#:key inputs #:allow-other-keys)
+ (zero? (system* "tar" "-xvf"
+ (assoc-ref inputs "model")
+ "-C" "data")))))))
+ (inputs
+ `(("glib" ,glib)
+ ("bdb" ,bdb)
+ ("model"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/libpinyin/"
+ "models/model10.text.tar.gz"))
+ (sha256
+ (base32
+ "0g489wqcfklxphhxpkh8i4qf9y8scmnmdbfrzdbrgf3rignbwyiw"))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (synopsis "Library to handle Chinese Pinyin")
+ (description
+ "The libpinyin C++ library provides algorithms needed for sentence-based
+Chinese pinyin input methods.")
+ (home-page "https://github.com/libpinyin/libpinyin")
+ (license gpl2+)))