From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 4NZ4ERFWz18mOgAA0tVLHw (envelope-from ) for ; Tue, 08 Dec 2020 10:31:45 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id CIBRDRFWz1+tZAAA1q6Kng (envelope-from ) for ; Tue, 08 Dec 2020 10:31:45 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 147489403E8 for ; Tue, 8 Dec 2020 10:31:43 +0000 (UTC) Received: from localhost ([::1]:50512 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmaHT-000738-1Q for larch@yhetil.org; Tue, 08 Dec 2020 05:31:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58596) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmaGs-00071h-IG for guix-patches@gnu.org; Tue, 08 Dec 2020 05:31:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:45082) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kmaGs-0007A4-BB for guix-patches@gnu.org; Tue, 08 Dec 2020 05:31:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kmaGs-0000uY-7Q for guix-patches@gnu.org; Tue, 08 Dec 2020 05:31:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#44920] [PATCH]: Add fcitx5. Resent-From: Zhu Zihao Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 08 Dec 2020 10:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44920 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Cc: 44920@debbugs.gnu.org Received: via spool by 44920-submit@debbugs.gnu.org id=B44920.16074234483482 (code B ref 44920); Tue, 08 Dec 2020 10:31:02 +0000 Received: (at 44920) by debbugs.gnu.org; 8 Dec 2020 10:30:48 +0000 Received: from localhost ([127.0.0.1]:56628 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kmaGa-0000u1-Nf for submit@debbugs.gnu.org; Tue, 08 Dec 2020 05:30:48 -0500 Received: from mail-m971.mail.163.com ([123.126.97.1]:58608) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kmaGU-0000tc-Af for 44920@debbugs.gnu.org; Tue, 08 Dec 2020 05:30:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-ID:MIME-Version; bh=HCXlX QbQU7QiMelVpbQlaN8+jJq37GEZwObTST0Rzak=; b=Co63sTCWdZ4S6wNV++Vvn Ip682J3SOwk+9EpK3fxY0Pa6KE0hYkYU8P0rwC6uOtL/KqIXU7R86Q/rX8Sp9ErL a7unFjv7s0e3TDAtr21TxZKpzNIbXgzLl1kKdL3hCzmKt4Ni+ojmOMmD0DCia60t 5YbcYRaBE5+/Hd8jBLJi1k= Received: from asus-laptop (unknown [112.93.142.78]) by smtp1 (Coremail) with SMTP id GdxpCgAnVr7CVc9fMUDrAA--.28S2; Tue, 08 Dec 2020 18:30:29 +0800 (CST) References: <86360uujbf.fsf@163.com> <87zh2v5y40.fsf@riseup.net> <86eek499my.fsf@163.com> <6f3f5dce.29ab.17638b4bb4c.Coremail.all_but_last@163.com> User-agent: mu4e 1.4.13; emacs 27.1 From: Zhu Zihao In-reply-to: Date: Tue, 08 Dec 2020 18:30:26 +0800 Message-ID: <86sg8gegjh.fsf@163.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-CM-TRANSID: GdxpCgAnVr7CVc9fMUDrAA--.28S2 X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73 VFW2AGmfu7bjvjm3AaLaJ3UbIYCTnIWIevJa73UjIFyTuYvjxUe-B_DUUUU X-Originating-IP: [112.93.142.78] X-CM-SenderInfo: pdoosuxxwbztlvw6il2tof0z/xtbB8Qb0r12MYKYrnwAAsP X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -3.30 Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=163.com header.s=s110527 header.b=Co63sTCW; dmarc=fail reason="SPF not aligned (relaxed)" header.from=163.com (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 147489403E8 X-Spam-Score: -3.30 X-Migadu-Scanner: ns3122888.ip-94-23-21.eu X-TUID: qecYGfAmtHDo --=-=-= Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" --==-=-= Content-Type: text/plain Thanks to upstream maintainer, Fcitx5 now allow us to install addon in separated prefix without many hacks. (Though some are still needed) --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFJBAEBCAAzFiEE7NCVzXX6efyusptG1SOVn+xGFqYFAl/PVcIVHGFsbF9idXRf bGFzdEAxNjMuY29tAAoJENUjlZ/sRhamiJIIAK8owfgNMOiOd1Ijsemy4MrQQ89E WLHQZ8dN50SckapkvGsFtu6JpRmtdN1kqeJ2ZbKV6+5upqCKAmpmqKNnBeu6KRfL A12vXzOp9CeQdu5rJDix7wchTkpI7q66THKA0zsDykV4q2jfq40vk+EbcKPUSEHm cO16ZvENEQNdev3WG6e/OKlZQRP2mLXWxlWCGGQYc77fzI/1wy5vcvEVSORHS75u wHpLBDNmDAz4tJCaIqaXTgXFn1gNTt1Q+CdCY3i4ccszbDOsfGVILNQOSclphqEu CimxmLHxuWBVp9xcVDqiUkDbo72noF+3aN6HTX2tUObhiQKntkpP7TjVTXo= =w2px -----END PGP SIGNATURE----- --==-=-=-- --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-gnu-packages-fcitx5.patch Content-Transfer-Encoding: quoted-printable >From ff65eaa03b3dca992dc53e10c139a2601ccf9a53 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 7 Dec 2020 22:29:58 +0800 Subject: [PATCH 01/10] gnu: Add (gnu packages fcitx5). * gnu/packages/fcitx5.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Reference to new file. --- gnu/local.mk | 1 + gnu/packages/fcitx5.scm | 50 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 gnu/packages/fcitx5.scm diff --git a/gnu/local.mk b/gnu/local.mk index 5277403196..e37f2dac70 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -204,6 +204,7 @@ GNU_SYSTEM_MODULES =3D \ %D%/packages/erlang.scm \ %D%/packages/fabric-management.scm \ %D%/packages/fcitx.scm \ + %D%/packages/fcitx5.scm \ %D%/packages/figlet.scm \ %D%/packages/file.scm \ %D%/packages/file-systems.scm \ diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm new file mode 100644 index 0000000000..8c1fa49322 --- /dev/null +++ b/gnu/packages/fcitx5.scm @@ -0,0 +1,50 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2020 Zhu Zihao +;;; +;;; 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 . + +(define-module (gnu packages fcitx5) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages boost) + #:use-module (gnu packages curl) + #:use-module (gnu packages datastructures) + #:use-module (gnu packages enchant) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gcc) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages iso-codes) + #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages libevent) + #:use-module (gnu packages linux) + #:use-module (gnu packages lua) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) + #:use-module (gnu packages python) + #:use-module (gnu packages qt) + #:use-module (gnu packages textutils) + #:use-module (gnu packages unicode) + #:use-module (gnu packages web) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) --=20 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0002-gnu-Add-xcb-imdkit.patch >From f18d90b7b9a57a6855be72c8daccba7f98f08c4b Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 7 Dec 2020 22:32:29 +0800 Subject: [PATCH 02/10] gnu: Add xcb-imdkit. * gnu/packages/fcitx5.scm(xcb-imdkit): New variable. --- gnu/packages/fcitx5.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index 8c1fa49322..edfd6aca2b 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -48,3 +48,37 @@ #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) + +(define-public xcb-imdkit + (package + (name "xcb-imdkit") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.fcitx-im.org/fcitx5/xcb-imdkit/xcb-imdkit-" + version ".tar.xz")) + (sha256 + (base32 "1qgbbp8y8ci7haz99vgbrgpjsbrwwyjianyhdvxcirnbm5bybvmz")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled uthash. + (delete-file-recursively "uthash") + #t)))) + (build-system cmake-build-system) + (inputs + `(("uthash" ,uthash) + ("libxcb" ,libxcb) + ("xcb-util" ,xcb-util) + ("xcb-util-keysyms" ,xcb-util-keysyms))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/fcitx/xcb-imdkit") + (synopsis "Input method development support for XCB.") + (description "Xcb-imdkit is an implementation of xim protocol in XCB, +comparing with the implementation of IMDkit with Xlib, and xim inside Xlib, +it has less memory foot print, better performance, and safer on malformed +client.") + (license license:lgpl2.1))) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0003-gnu-Add-fcitx5.patch >From 00d62c64b453f4053f9c31e37a5ee079233dedd1 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 7 Dec 2020 22:38:35 +0800 Subject: [PATCH 03/10] gnu: Add fcitx5. * gnu/packages/fcitx5.scm(fcitx5): New variable. --- gnu/packages/fcitx5.scm | 59 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index edfd6aca2b..b65d90f588 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -82,3 +82,62 @@ comparing with the implementation of IMDkit with Xlib, and xim inside Xlib, it has less memory foot print, better performance, and safer on malformed client.") (license license:lgpl2.1))) + +(define-public fcitx5 + (package + (name "fcitx5") + (version "5.0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-" + version "_dict.tar.xz")) + (sha256 + (base32 "06zkb33m2rnhg385iy79n3r4svz5jbav74di61xqa3lhbv7534s3")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DCLDR_DIR=" + (assoc-ref %build-inputs "unicode-cldr-common") + "/share/unicode/cldr")))) + (inputs + `(("cairo" ,cairo) + ("cairo-xcb" ,cairo-xcb) + ("dbus" ,dbus) + ("enchant" ,enchant) + ("expat" ,expat) + ("fmt" ,fmt) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gettext" ,gettext-minimal) + ("glib" ,glib) + ("iso-codes" ,iso-codes) + ("json-c" ,json-c) + ("libevent" ,libevent) + ("libpthread-stubs" ,libpthread-stubs) + ("libuuid" ,util-linux "lib") + ("libx11" ,libx11) + ("libxcb" ,libxcb) + ("libxfixes" ,libxfixes) + ("libxinerama" ,libxinerama) + ("libxkbcommon" ,libxkbcommon) + ("libxkbfile" ,libxkbfile) + ("pango" ,pango) + ("unicode-cldr-common" ,unicode-cldr-common) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols) + ("xcb-imdkit" ,xcb-imdkit) + ("xcb-util" ,xcb-util) + ("xcb-util-keysyms" ,xcb-util-keysyms) + ("xcb-util-wm" ,xcb-util-wm) + ("xkeyboard-config" ,xkeyboard-config))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (native-search-paths + (list (search-path-specification + (variable "FCITX_ADDON_DIRS") + (files '("lib/fcitx5"))))) + (home-page "https://github.com/fcitx/fcitx5") + (synopsis "Input method framework") + (description "Fcitx 5 is a generic input method framework.") + (license license:lgpl2.1+))) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0004-gnu-Add-fcitx5-lua.patch >From c457b386b591b42c7fee42feba60d1d11a7e173f Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 7 Dec 2020 22:39:29 +0800 Subject: [PATCH 04/10] gnu: Add fcitx5-lua. * gnu/packages/fcitx5.scm(fcitx5-lua): New variable. --- gnu/packages/fcitx5.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index b65d90f588..7fa35a372a 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -141,3 +141,27 @@ client.") (synopsis "Input method framework") (description "Fcitx 5 is a generic input method framework.") (license license:lgpl2.1+))) + +(define-public fcitx5-lua + (package + (name "fcitx5-lua") + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-" + version ".tar.xz")) + (sha256 + (base32 "177mj56j8yrl79hvk7bbrifvm137np23pwalv83ibgk4l51z92hf")))) + (build-system cmake-build-system) + (inputs + `(("fcitx5" ,fcitx5) + ("lua" ,lua) + ("gettext" ,gettext-minimal) + ("libpthread-stubs" ,libpthread-stubs))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (home-page "https://github.com/fcitx/fcitx5-lua") + (synopsis "Lua support for Fcitx 5") + (description "Fcitx5-lua allows writing Fcitx5 extension in Lua.") + (license license:lgpl2.1+))) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0005-gnu-Add-libime.patch >From 5d9940529b0ae06403ff7f5a2a176d5d14f1f44c Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 7 Dec 2020 22:40:41 +0800 Subject: [PATCH 05/10] gnu: Add libime. * gnu/packages/fcitx5.scm(libime): New variable. --- gnu/packages/fcitx5.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index 7fa35a372a..cfcb454fa9 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -165,3 +165,28 @@ client.") (synopsis "Lua support for Fcitx 5") (description "Fcitx5-lua allows writing Fcitx5 extension in Lua.") (license license:lgpl2.1+))) + +(define-public libime + (package + (name "libime") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-" + version "_dict.tar.xz")) + (sha256 + (base32 "006pncby7p6h3rnicckzjwi6jzsrqiqbj6p9bpic80lanlllgw31")))) + (build-system cmake-build-system) + (inputs + `(("fcitx5" ,fcitx5) + ("boost" ,boost))) + (native-inputs + `(("gcc" ,gcc-9) ;for #include and ld support + ("extra-cmake-modules" ,extra-cmake-modules) + ("python" ,python))) ;needed to run test + (home-page "https://github.com/fcitx/libime") + (synopsis "Library for implementing generic input method") + (description "Libime is a library for implmenting various input methods +editors.") + (license license:lgpl2.1+))) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0006-gnu-Add-fcitx5-qt.patch >From 3b2066d8e5e84020401d762a9584a77b55bb6304 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 7 Dec 2020 22:42:43 +0800 Subject: [PATCH 06/10] gnu: Add fcitx5-qt. * gnu/packages/fcitx5.scm(fcitx5-qt): New variable. --- gnu/packages/fcitx5.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index cfcb454fa9..2ca1e8d8e5 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -190,3 +190,38 @@ client.") (description "Libime is a library for implmenting various input methods editors.") (license license:lgpl2.1+))) + +(define-public fcitx5-qt + (package + (name "fcitx5-qt") + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.fcitx-im.org/fcitx5" + "/fcitx5-qt/fcitx5-qt-" + version ".tar.xz")) + (sha256 + (base32 "0ilhb4yw9k3m1c4fidnv3nd5dgm9xxds11dgdys6gswjjnmcgqqm")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DCMAKE_INSTALL_QT5PLUGINDIR=" + %output "/lib/qt5/plugins") + "-DENABLE_QT4=Off"))) + (inputs + `(("fcitx5" ,fcitx5) + ("libxcb" ,libxcb) + ("libxkbcommon" ,libxkbcommon) + ("qtbase" ,qtbase) + ("gettext" ,gettext-minimal))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (home-page "https://github.com/fcitx/fcitx5-qt") + (synopsis "Qt library and IM module for Fcitx 5") + (description "Fcitx5-qt provides Qt library for development and IM module +for Qt based application.") + (license (list license:lgpl2.1+ + ;; Files under qt4(Fcitx5Qt4DBusAddons), qt5/dbusaddons + ;; and qt5/platforminputcontext. + license:bsd-3)))) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0007-gnu-Add-fcitx5-gtk.patch >From 61abe1f5eb7bb3bd4e80199fb8225be200a223e7 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 7 Dec 2020 22:43:47 +0800 Subject: [PATCH 07/10] gnu: Add fcitx5-gtk. * gnu/packages/fcitx5.scm(fcitx5-gtk): New variable. --- gnu/packages/fcitx5.scm | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index 2ca1e8d8e5..13f4cd12ad 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -191,6 +191,55 @@ client.") editors.") (license license:lgpl2.1+))) +(define-public fcitx5-gtk + (package + (name "fcitx5-gtk") + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.fcitx-im.org/fcitx5" + "/fcitx5-gtk/fcitx5-gtk-" + version ".tar.xz")) + (sha256 + (base32 "0h53liraqc5nz4nyi3ixdfdw3zzkdcsiff7j25acc3gmaa5gyij7")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;No test + #:configure-flags + (list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR=" + %output "/share/gir-1.0") + (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR=" + %output "/lib/girepository-1.0")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-install-prefix + (lambda* (#:key outputs #:allow-other-keys) + (let ((gtk3 (assoc-ref outputs "gtk3"))) + + (substitute* "gtk3/CMakeLists.txt" + (("\\$\\{CMAKE_INSTALL_LIBDIR\\}") + (string-append gtk3 "/lib"))))))))) + (inputs + `(("fcitx5" ,fcitx5) + ("libxkbcommon" ,libxkbcommon) + ("gobject-introspection" ,gobject-introspection) + ("gtk2" ,gtk+-2) + ("gtk3" ,gtk+) + ("glib" ,glib) + ("libx11" ,libx11) + ("gettext" ,gettext-minimal))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config) + ("glib" ,glib "bin"))) ;for glib-genmarshal + (outputs '("out" "gtk3")) + (home-page "https://github.com/fcitx/fcitx5-gtk") + (synopsis "Glib based D-Bus client and GTK IM module for Fcitx 5") + (description "Fcitx5-gtk provides a Glib based D-Bus client and IM module +for GTK+2/GTK+3 application.") + (license license:lgpl2.1+))) + (define-public fcitx5-qt (package (name "fcitx5-qt") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0008-gnu-Add-fcitx5-chinese-addons.patch >From f3d583ef9b349f1f848ac76d9d15ba30ec3c87b1 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Sat, 28 Nov 2020 13:25:37 +0800 Subject: [PATCH 08/10] gnu: Add fcitx5-chinese-addons. * gnu/packages/fcitx5.scm(fcitx5-chinese-addons): New variable. --- gnu/packages/fcitx5.scm | 61 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index 13f4cd12ad..47386ea6a3 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -274,3 +274,64 @@ for Qt based application.") ;; Files under qt4(Fcitx5Qt4DBusAddons), qt5/dbusaddons ;; and qt5/platforminputcontext. license:bsd-3)))) + +(define-public fcitx5-chinese-addons + (package + (name "fcitx5-chinese-addons") + (version "5.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.fcitx-im.org/fcitx5" + "/fcitx5-chinese-addons/fcitx5-chinese-addons-" + version "_dict.tar.xz")) + (sha256 + (base32 "0mf91gzwzhfci0jn6g3l516xjw8r4v40ginnbl70h1zx6vr24rfp")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'split-outputs + ;; Build with GUI supports requires Qt and increase package closure + ;; by 800M on x86_64, so place it under another output. + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "gui/pinyindictmanager/CMakeLists.txt" + (("\\$\\{CMAKE_INSTALL_LIBDIR\\}" _) + (string-append (assoc-ref outputs "gui") "/lib")))))))) + (inputs + `(("fcitx5" ,fcitx5) + ("fcitx5-lua" ,fcitx5-lua) + ("boost" ,boost) + ("libime",libime) + ("curl" ,curl) + ("gettext" ,gettext-minimal) + ("fmt" ,fmt) + ("libpthread-stubs" ,libpthread-stubs) + ("opencc" ,opencc) + ("qtbase" ,qtbase) + ("fcitx5-qt" ,fcitx5-qt) + ("qtwebkit" ,qtwebkit))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (outputs '("out" "gui")) + (home-page "https://github.com/fcitx/fcitx5-chinese-addons") + (synopsis "Chinese related addons for Fcitx 5") + (description "Fcitx5-chinese-addons provides Chinese related addons, +including input methods previous bundled inside Fcitx 4: + +@itemize +@item Bingchan +@item Cangjie +@item Erbi +@item Pinyin +@item Shuangpin +@item Wanfeng +@item Wubi +@item Wubi Pinyin +@item Ziranma +@end itemize\n") + (license (list license:lgpl2.1+ + license:gpl2+ + ;; im/pinyin/emoji.txt + license:unicode)))) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0009-gnu-Add-fcitx5-configtool.patch >From 4ab7096a696c2fd0b0d6a43af89e2208dfbf1810 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 7 Dec 2020 22:46:03 +0800 Subject: [PATCH 09/10] gnu: Add fcitx5-configtool. * gnu/packages/fcitx5.scm(fcitx5-configtool): New variable. --- gnu/packages/fcitx5.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index 47386ea6a3..19d0f55a7c 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -335,3 +335,42 @@ including input methods previous bundled inside Fcitx 4: license:gpl2+ ;; im/pinyin/emoji.txt license:unicode)))) + +(define-public fcitx5-configtool + (package + (name "fcitx5-configtool") + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://download.fcitx-im.org/fcitx5" + "/fcitx5-configtool/fcitx5-configtool-" version ".tar.xz")) + (sha256 + (base32 "0mrqhzvab41hkvhkz7vkb8d2mv5bgx4aqp9jpz4kf3kskwm1q14b")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + ;; KDE is currently not working on Guix, KCM supports doesn't make sense. + '("-DENABLE_KCM=Off"))) + (inputs + `(("fcitx5" ,fcitx5) + ("fcitx5-qt" ,fcitx5-qt) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) + ("kitemviews" ,kitemviews) + ("kwidgetsaddons" ,kwidgetsaddons) + ("libx11" ,libx11) + ("xkeyboard-config" ,xkeyboard-config) + ("libxkbfile" ,libxkbfile) + ("gettext" ,gettext-minimal) + ("iso-codes" ,iso-codes))) + (native-inputs + `(("gcc" ,gcc-9) + ("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/fcitx/fcitx5-configtool") + (synopsis "Graphical configuration tool for Fcitx 5") + (description "Fcitx5-configtool is a graphical configuration tool +to manage different input methods in Fcitx 5.") + (license license:gpl2+))) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0010-gnu-Add-fcitx5-material-color-theme.patch >From d5089c5300a905bd50c1d58c0d0ec71334632945 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 7 Dec 2020 22:45:06 +0800 Subject: [PATCH 10/10] gnu: Add fcitx5-material-color-theme. * gnu/packages/fcitx5.scm(fcitx5-material-color-theme): New variable. --- gnu/packages/fcitx5.scm | 70 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index 19d0f55a7c..0a6a2c45e5 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -374,3 +374,73 @@ including input methods previous bundled inside Fcitx 4: (description "Fcitx5-configtool is a graphical configuration tool to manage different input methods in Fcitx 5.") (license license:gpl2+))) + +(define-public fcitx5-material-color-theme + (package + (name "fcitx5-material-color-theme") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hosxy/Fcitx5-Material-Color") + (commit version))) + (sha256 + (base32 "1mgc722521jmfx0xc3ibmiycd3q2w7xg2956xcpc07kz90gcdjaa")))) + (build-system copy-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (use-modules (srfi srfi-26)) + + (let* ((out (assoc-ref outputs "out")) + (assets-dir (string-append + out "/share/fcitx5-material-color-theme")) + (themes-prefix (string-append out "/share/fcitx5/themes"))) + + (define (install-theme-variant variant target) + (let ((dir (string-append themes-prefix "/" target)) + (png (string-append "panel-" variant ".png")) + (conf (string-append "theme-" variant ".conf"))) + (format #t "install: Installing color variant \"~a\" to ~a~%" + variant dir) + (substitute* conf + (("^Name=.*") + (string-append "Name=" target "\n"))) + (mkdir-p dir) + (install-file png dir) + (copy-file conf (string-append dir "/theme.conf")) + (symlink (string-append assets-dir "/arrow.png") + (string-append dir "/arrow.png")))) + + (mkdir-p assets-dir) + (install-file "arrow.png" assets-dir) + (for-each + (lambda (x) + (install-theme-variant + x (string-append "Material-Color-" (string-capitalize x)))) + '("black" "blue" "brown" "indigo" + "orange" "pink" "red" "teal")) + + (install-theme-variant + "deepPurple" "Material-Color-DeepPurple") + #t)))))) + (home-page "https://github.com/hosxy/Fcitx5-Material-Color") + (synopsis "Material Design for Fcitx 5") + (description "Fcitx5-material-color-theme is a Material Design theme +for Fcitx 5 with following color variants: + +@itemize +@item Black +@item Blue +@item Brown +@item Indigo +@item Orange +@item Pink +@item Red +@item teal +@item DeepPurple +@end itemize\n") + (license license:asl2.0))) -- 2.29.2 --=-=-= Content-Type: text/plain -- Retrieve my PGP public key: https://meta.sr.ht/~citreu.pgp Zihao --=-=-=--