X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/b3cc0dce089917b1935218296f868ab6eedff5ed..e35383a76f0a1d1ba01f4b355d8df4ac341216b3:/gnu/packages/fcitx.scm diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm index dd8eead7fb..80bfbd8c84 100644 --- a/gnu/packages/fcitx.scm +++ b/gnu/packages/fcitx.scm @@ -1,5 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Zhu Zihao ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,32 +19,150 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages fcitx) - #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module ((guix licenses) #:select (gpl2+ bsd-3)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system qt) + #:use-module (gnu packages check) #:use-module (gnu packages documentation) #:use-module (gnu packages enchant) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages iso-codes) + #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages man) + #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages web) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) + +(define-public fcitx-qt5 + (package + (name "fcitx-qt5") + (version "1.2.6") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/fcitx/fcitx-qt5.git") + (commit version))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "13sanrir696fv7s44b7q453s5qi4r7ag0r3iyggyzk8xyf6rw8fk")))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ; No target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-install-dir + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "quickphrase-editor/CMakeLists.txt" + (("\\$\\{FCITX4_ADDON_INSTALL_DIR\\}") + (string-append + (assoc-ref outputs "out") + "/lib/fcitx"))) + (substitute* "platforminputcontext/CMakeLists.txt" + (("\\$\\{CMAKE_INSTALL_QTPLUGINDIR\\}") + (string-append + (assoc-ref outputs "out") + "/lib/qt5/plugins"))) + #t))))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (inputs + `(("fcitx" ,fcitx) + ("libintl" ,intltool) + ("libxkbcommon" ,libxkbcommon))) + (propagated-inputs + `(("qtbase" ,qtbase))) + (synopsis "Fcitx Qt5 Input Context") + (description "This package provides a Qt5 frontend for fcitx.") + (home-page "https://github.com/fcitx/fcitx-qt5/") + (license + (list + ;; Plugin + bsd-3 + ;; Others + gpl2+)))) + +(define-public presage + (package + (name "presage") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/presage/presage/" + version "/presage-" version ".tar.gz")) + (sha256 + (base32 "0rm3b3zaf6bd7hia0lr1wyvi1rrvxkn7hg05r5r1saj0a3ingmay")))) + (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) + (arguments + `(#:configure-flags + (list + "CFLAGS=-Wno-narrowing" + "CXXFLAGS=-Wno-narrowing") + #:phases + (modify-phases %standard-phases + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share/presage")) + (rename-file + (string-append out "/share/presage/html") + (string-append doc "/share/presage/html")) + #t)))))) + (native-inputs + `(("dot" ,graphviz) + ("doxygen" ,doxygen) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gtk+:bin" ,gtk+ "bin") + ("help2man" ,help2man) + ("pkg-config" ,pkg-config) + ("python-wrapper" ,python-wrapper))) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("libx11" ,libx11) + ("sqlite" ,sqlite) + ("tinyxml" ,tinyxml))) + (synopsis "Intelligent Predictive Text Entry System") + (description "Presage generates predictions by modelling natural language as +a combination of redundant information sources. It computes probabilities for +words which are most likely to be entered next by merging predictions generated +by the different predictive algorithms.") + (home-page "https://presage.sourceforge.io/") + (license gpl2+))) (define-public fcitx (package (name "fcitx") - (version "4.2.8.6") + (version "4.2.9.8") (source (origin (method url-fetch) (uri (string-append "http://download.fcitx-im.org/fcitx/" - name "-" version "_dict.tar.xz")) + "fcitx-" version "_dict.tar.xz")) (sha256 (base32 - "15ymd42kg920ri0f8fymq3i68g8k1kgpmdlnk9jf5fvnz6g4w0wi")))) + "1iik80l7g8yk9iwsls6nl9whwgm0sj8i7s6s0bz4c5anl35iaddw")))) (build-system cmake-build-system) (outputs '("out" "gtk2" "gtk3")) (arguments @@ -65,23 +185,65 @@ "-DENABLE_QT_IM_MODULE=OFF"))) (native-inputs `(("doxygen" ,doxygen) - ("glib:bin" ,glib "bin") ; for glib-genmarshal + ("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) + ("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 "http://fcitx-im.org") + (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+)))