From 55593beaba8328c16e3b1fa81197f4173fc17691 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Fri, 28 Jul 2023 21:51:57 +0900 Subject: gnu: ibus: Wrap ibus-daemon with GUIX_PYTHONPATH and GI_TYPELIB_PATH. * gnu/packages/ibus.scm (ibus)[arguments]: Wrap 'ibus-daemon' in the same way as 'ibus-setup'. --- gnu/packages/ibus.scm | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'gnu/packages/ibus.scm') diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index b156e2ab58..1182b6ba69 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -243,13 +243,20 @@ may also simplify input method development.") #~(modify-phases #$phases (replace 'wrap-with-additional-paths (lambda* (#:key outputs #:allow-other-keys) - ;; Make sure 'ibus-setup' runs with the correct - ;; GUIX_PYTHONPATH and GI_TYPELIB_PATH. - (wrap-program (search-input-file outputs "bin/ibus-setup") - `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) - `("GI_TYPELIB_PATH" ":" prefix - (,(getenv "GI_TYPELIB_PATH") - ,(string-append #$output "/lib/girepository-1.0")))))))))) + ;; Make sure 'ibus-setup' and 'ibus-daemon' runs with the + ;; correct GUIX_PYTHONPATH and GI_TYPELIB_PATH. Wrap + ;; 'ibus-daemon' is needed because engines spawned by + ;; the daemon need access to those libraries. + (for-each + (lambda (prog) + (wrap-program prog + `("GUIX_PYTHONPATH" ":" prefix + (,(getenv "GUIX_PYTHONPATH"))) + `("GI_TYPELIB_PATH" ":" prefix + (,(getenv "GI_TYPELIB_PATH") + ,(string-append #$output "/lib/girepository-1.0"))))) + (list (search-input-file outputs "bin/ibus-setup") + (search-input-file outputs "bin/ibus-daemon"))))))))) (inputs (modify-inputs (package-inputs ibus-minimal) (prepend gtk pango -- cgit v1.2.3 From 4eeb35595b05d7a3c83de1f901b3edffcafe9df5 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Fri, 28 Jul 2023 21:51:58 +0900 Subject: gnu: Add ibus-table. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/ibus-table-paths.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/ibus.scm (ibus-table): New variable. Co-authored-by: 宋文武 --- gnu/local.mk | 1 + gnu/packages/ibus.scm | 44 +++++++++++++++++++++++++++++ gnu/packages/patches/ibus-table-paths.patch | 38 +++++++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 gnu/packages/patches/ibus-table-paths.patch (limited to 'gnu/packages/ibus.scm') diff --git a/gnu/local.mk b/gnu/local.mk index c603c15d6c..77707127a7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -899,6 +899,7 @@ dist_patch_DATA = \ %D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ %D%/packages/patches/ibus-anthy-fix-tests.patch \ + %D%/packages/patches/ibus-table-paths.patch \ %D%/packages/patches/anki-mpv-args.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 1182b6ba69..4d99ef39f6 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -906,6 +906,50 @@ hanja dictionary and small hangul character classification.") "ibus-hangul is a Korean input method engine for IBus.") (license gpl2+))) +(define-public ibus-table + (package + (name "ibus-table") + (version "1.17.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/mike-fabian/ibus-table/releases/download/" + version "/ibus-table-" version ".tar.gz")) + (sha256 + (base32 "063ba4fwk04lh0naj8z9r9x15ikckp94pd3f8xn40z3lnwsjx2sj")) + (patches (search-patches "ibus-table-paths.patch")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda _ + (substitute* "engine/tabcreatedb.py" + (("/usr/share/ibus-table") + (string-append #$output "/share/ibus-table"))) + (substitute* "engine/ibus_table_location.py" + (("/usr/share/ibus-table") + (string-append #$output "/share/ibus-table")) + (("/usr/libexec") + (string-append #$output "/libexec"))))) + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" (getcwd))))))) ; tests write to $HOME + (native-inputs (list (list glib "bin") pkg-config)) + (inputs (list glib gtk+ ibus python python-pygobject)) + (native-search-paths + (list (search-path-specification + (variable "IBUS_TABLE_LOCATION") + (files '("share/ibus-table")) + (separator #f)))) + (home-page "https://mike-fabian.github.io/ibus-table") + (synopsis "Table based input framework for IBus") + (description + "@code{ibus-table} is a framework for table based input methods using +IBus.") + (license lgpl2.1+))) + (define-public ibus-speech-to-text (package (name "ibus-speech-to-text") diff --git a/gnu/packages/patches/ibus-table-paths.patch b/gnu/packages/patches/ibus-table-paths.patch new file mode 100644 index 0000000000..bc0c5e78e1 --- /dev/null +++ b/gnu/packages/patches/ibus-table-paths.patch @@ -0,0 +1,38 @@ +diff --git a/engine/ibus-engine-table.in b/engine/ibus-engine-table.in +index e79d62a6cad4..675007204abd 100644 +--- a/engine/ibus-engine-table.in ++++ b/engine/ibus-engine-table.in +@@ -24,8 +24,6 @@ prefix=@prefix@ + exec_prefix=@prefix@ + datarootdir=@datarootdir@ + datadir=@datadir@ +-export IBUS_TABLE_LOCATION=@datarootdir@/ibus-table +-export IBUS_TABLE_LIB_LOCATION=@libexecdir@ + + # Set this variable to something > 0 to get more debug output. + # (Debug output may show up in the log file and/or in the lookup table): +diff --git a/engine/ibus-table-createdb.in b/engine/ibus-table-createdb.in +index 91eb28b7cbe5..187dddf2c952 100644 +--- a/engine/ibus-table-createdb.in ++++ b/engine/ibus-table-createdb.in +@@ -24,6 +24,4 @@ exec_prefix=@exec_prefix@ + bindir=@bindir@ + datarootdir=@datarootdir@ + datadir=@datadir@ +-export IBUS_TABLE_DATA_DIR=@datarootdir@ +-export IBUS_TABLE_BIN_PATH=@bindir@ + exec @PYTHON@ @datarootdir@/ibus-table/engine/tabcreatedb.py $@ +diff --git a/setup/ibus-setup-table.in b/setup/ibus-setup-table.in +index 7f7405c37296..ae6f96921c56 100644 +--- a/setup/ibus-setup-table.in ++++ b/setup/ibus-setup-table.in +@@ -22,9 +22,6 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + datarootdir=@datarootdir@ +-export IBUS_PREFIX=@prefix@ +-export IBUS_DATAROOTDIR=@datarootdir@ +-export IBUS_LOCALEDIR=@localedir@ + cd @prefix@/share/ibus-table/setup/ + exec @PYTHON@ main.py $@ + -- cgit v1.2.3 From 782cf09b84bc72514e89d783460ea98bc353bf6a Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Fri, 28 Jul 2023 21:51:59 +0900 Subject: gnu: Add ibus-table-others. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ibus.scm (ibus-table-others): New variable. Signed-off-by: 宋文武 --- gnu/packages/ibus.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'gnu/packages/ibus.scm') diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 4d99ef39f6..c3310ec2a3 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -950,6 +950,55 @@ hanja dictionary and small hangul character classification.") IBus.") (license lgpl2.1+))) +(define-public ibus-table-others + (package + (name "ibus-table-others") + (version "1.3.16") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/moebiuscurve/ibus-table-others/releases/" + "download/" version "/ibus-table-others-" version ".tar.gz")) + (sha256 + (base32 "0vllwrjlgcvdjhs7nrg45hfvnivnfhrc05r6rhw8m0c41layl9jg")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'pre-build + (lambda _ + (setenv "HOME" (getcwd))))))) ; db written in $HOME + (native-inputs (list pkg-config python)) + (inputs (list ibus ibus-table)) + (home-page "https://github.com/moebiuscurve/ibus-table-others") + (synopsis "Various table-based input methods for IBus") + (description + "@code{ibus-table-others} provides the following input methods on +IBus-Table on IBus framework: + +@itemize +@item CNS11643 +@item Compose +@item Emoji +@item IPA-X-SAMPA +@item LaTex +@item Mathwriter +@item Mongol bichig +@item RussianTraditional +@item Telex +@item Thai +@item Translit +@item Ua-Translit +@item Viqr +@item VNI +@item Yawerty +@end itemize") + ;; GPL-3.0-or-later: vni, ipa-x-sampa, telex + ;; WTFPL: mongol_bichig + ;; LGPL-2.1-or-later: others + (license (list lgpl2.1+ gpl3+ wtfpl2)))) + (define-public ibus-speech-to-text (package (name "ibus-speech-to-text") -- cgit v1.2.3