>From 80a75361b8c47e80495a068c810a5f5ff0a845b0 Mon Sep 17 00:00:00 2001 From: Meiyo Peng Date: Mon, 29 Oct 2018 11:46:03 +0800 Subject: [PATCH 6/6] gnu: Add ibus-rime. * gnu/packages/ibus.scm (ibus-rime): New variable. --- gnu/packages/ibus.scm | 59 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 870d28562..0a07b5190 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -34,6 +34,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages boost) + #:use-module (gnu packages cmake) #:use-module (gnu packages databases) #:use-module (gnu packages datastructures) #:use-module (gnu packages freedesktop) @@ -586,3 +587,61 @@ traditional Chinese output.") (description "@dfn{rime-data} provides the schema data of Rime Input Method Engine.") (license lgpl3+))) + +(define-public ibus-rime + (package + (name "ibus-rime") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/rime/" name + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0mfbz0vwky7n4wvxrwabnn1i9n9adnql0dd1rx57w1anaslr5amj")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags (list (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Define RIME_DATA_DIR. It's required but not used by the code. + (substitute* "Makefile" + (("cmake") + (string-append "cmake -DRIME_DATA_DIR=" + (assoc-ref inputs "rime-data") + "/share/rime-data"))) + (substitute* "rime_config.h" + (("#define IBUS_RIME_INSTALL_PREFIX .*") + (string-append "#define IBUS_RIME_INSTALL_PREFIX \"" + (assoc-ref outputs "out") + "\"\n"))) + ;; rime_config.h defines the actual data directory. + (substitute* "rime_config.h" + (("#define IBUS_RIME_SHARED_DATA_DIR .*") + (string-append "#define IBUS_RIME_SHARED_DATA_DIR \"" + (assoc-ref inputs "rime-data") + "/share/rime-data\"\n"))) + #t)) + (delete 'configure)))) + (inputs + `(("gdk-pixbuf" ,gdk-pixbuf) + ("glib" ,glib) + ("ibus" ,ibus) + ("libnotify" ,libnotify) + ("librime" ,librime) + ("rime-data" ,rime-data))) + (native-inputs + `(("cmake" ,cmake) + ("pkg-config" ,pkg-config))) + (home-page "https://rime.im/") + (synopsis "Rime Input Method Engine for IBus") + (description "@dfn{Rime} Input Method Engine is a lightweight, extensible +input method engine supporting various input schemas including glyph-based +input methods, romanization-based input methods as well as those for Chinese +dialects. It has the ability to compose phrases and sentences intelligently +and provide very accurate traditional Chinese output.") + (license gpl3+))) -- 2.19.1