GNU bug report logs - #45721
Telegram Desktop

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Raghav Gururajan <rg@HIDDEN>; dated Fri, 8 Jan 2021 00:21:01 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 20 Jan 2021 12:30:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 20 07:30:20 2021
Received: from localhost ([127.0.0.1]:53127 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l2Ccj-0007T5-Vg
	for submit <at> debbugs.gnu.org; Wed, 20 Jan 2021 07:30:20 -0500
Received: from relay3-d.mail.gandi.net ([217.70.183.195]:39243)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l2Ccf-0007IE-66
 for 45721 <at> debbugs.gnu.org; Wed, 20 Jan 2021 07:30:08 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 693E86000E;
 Wed, 20 Jan 2021 12:29:57 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v18)
Message-ID: <fabb85ec-d833-4eba-a6ee-9f6151b8df52@HIDDEN>
Date: Wed, 20 Jan 2021 07:29:55 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------F2D93DB5CB58F2C389C5E6F2"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From e40b4a6aaf9b323be7b0c7b88361fa2b62d037f2 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Sun, 17 Jan 2021
 09:30:22 -0500 Subject: [PATCH 13/18] gnu: Add telegram-d [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.195 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.195 listed in wl.mailspike.net]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 1.9 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
Cc: Leo Prikler <leo.prikler@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.9 (/)

This is a multi-part message in MIME format.
--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-telegram-desktop.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-telegram-desktop.patch"

From e40b4a6aaf9b323be7b0c7b88361fa2b62d037f2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 17 Jan 2021 09:30:22 -0500
Subject: [PATCH 13/18] gnu: Add telegram-desktop.

* gnu/packages/telegram.scm (telegram-desktop): New variable.
---
 gnu/packages/telegram.scm | 393 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 392 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 0fd47f4f5d..9183914694 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -18,20 +18,42 @@
 
 (define-module (gnu packages telegram)
   #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
   #:use-module (gnu packages assembly)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix git-download)
-  #:use-module (guix build-system cmake))
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
 
 (define-public tg-owt
   (let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
@@ -141,3 +163,372 @@ for its use in telegram desktop client.")
         license:gpl3
         ;; LibSRTP, LibVPx, UsrSCTP and Others
         license:bsd-3)))))
+
+(define-public telegram-desktop
+  (package
+    (name "telegram-desktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))
+       (modules '((guix build utils)
+                  (ice-9 ftw)
+                  (srfi srfi-1)))
+       (snippet
+        `(begin
+           (let ((keep
+                  '( ;; Custom forks which are incompatible with the ones in Guix.
+                    "libtgvoip" "rlottie"
+                    ;; Not available in Guix.
+                    "SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
+             (with-directory-excursion "Telegram/ThirdParty"
+               (for-each delete-file-recursively
+                         (lset-difference string=?
+                                          (scandir ".")
+                                          (cons* "." ".." keep))))
+             #t)))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       ;; Client applications must provide their own API-ID and API-HASH,
+       ;; see also <https://core.telegram.org/api/obtaining_api_id>.
+       ;; In case, that the credentials below fail to work, contact
+       ;;   Raghav Gururajan <rg@HIDDEN>
+       (list
+        "-DTDESKTOP_API_ID=2791056"
+        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2"
+        "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'copy-inputs
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((to (string-append (getenv "TEMP") "/source"))
+                    (cmake-helpers (assoc-ref inputs "cmake-helpers-for-telegram-desktop"))
+                    (codegen (assoc-ref inputs "codegen"))
+                    (lib-base (assoc-ref inputs "lib-base-for-telegram-desktop"))
+                    (lib-crl (assoc-ref inputs "lib-crl-for-telegram-desktop"))
+                    (lib-lottie (assoc-ref inputs "lib-lottie-for-telegram-desktop"))
+                    (lib-qr (assoc-ref inputs "lib-qr-for-telegram-desktop"))
+                    (lib-rlottie (assoc-ref inputs "lib-rlottie-for-telegram-desktop"))
+                    (lib-rpl (assoc-ref inputs "lib-rpl-for-telegram-desktop"))
+                    (lib-spellcheck (assoc-ref inputs "lib-spellcheck-for-telegram-desktop"))
+                    (lib-storage (assoc-ref inputs "lib-storage-for-telegram-desktop"))
+                    (lib-tl (assoc-ref inputs "lib-tl-for-telegram-desktop"))
+                    (lib-ui (assoc-ref inputs "lib-ui-for-telegram-desktop"))
+                    (lib-webrtc (assoc-ref inputs "lib-webrtc-for-telegram-desktop"))
+                    (libtgvoip (assoc-ref inputs "libtgvoip-for-telegram-desktop"))
+                    (rlottie (assoc-ref inputs "rlottie-for-telegram-desktop"))
+                    (tgcalls (assoc-ref inputs "tgcalls-for-telegram-desktop")))
+               (copy-recursively
+                cmake-helpers
+                (string-append to "/cmake"))
+               (copy-recursively
+                codegen
+                (string-append to "/Telegram/codegen"))
+               (copy-recursively
+                lib-base
+                (string-append to "/Telegram/lib_base"))
+               (copy-recursively
+                lib-crl
+                (string-append to "/Telegram/lib_crl"))
+               (copy-recursively
+                lib-lottie
+                (string-append to "/Telegram/lib_lottie"))
+               (copy-recursively
+                lib-qr
+                (string-append to "/Telegram/lib_qr"))
+               (copy-recursively
+                lib-rlottie
+                (string-append to "/Telegram/lib_rlottie"))
+               (copy-recursively
+                lib-rpl
+                (string-append to "/Telegram/lib_rpl"))
+               (copy-recursively
+                lib-spellcheck
+                (string-append to "/Telegram/lib_spellcheck"))
+               (copy-recursively
+                lib-storage
+                (string-append to "/Telegram/lib_storage"))
+               (copy-recursively
+                lib-tl
+                (string-append to "/Telegram/lib_tl"))
+               (copy-recursively
+                lib-ui
+                (string-append to "/Telegram/lib_ui"))
+               (copy-recursively
+                lib-webrtc
+                (string-append to "/Telegram/lib_webrtc"))
+               (copy-recursively
+                libtgvoip
+                (string-append to "/Telegram/ThirdParty/libtgvoip"))
+               (copy-recursively
+                rlottie
+                (string-append to "/Telegram/ThirdParty/rlottie"))
+               (copy-recursively
+                tgcalls
+                (string-append to "/Telegram/ThirdParty/tgcalls")))
+             #t))
+         (add-after 'copy-inputs 'make-writable
+           (lambda _
+             (for-each make-file-writable (find-files "."))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess") "all"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-helpers-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/cmake_helpers.git")
+             (commit "a81345a28d407fb5acd5267ec6afa1864f4e8d5b")))
+           (file-name
+            (git-file-name "cmake-helpers-for-telegram-desktop" version))
+           (sha256
+            (base32 "0s5hxip68dmkaspjq6j30wx1r5v4prnrjza79hdbznz6i57a2248"))))
+       ("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("c++-gsl" ,c++-gsl)
+       ("catch" ,catch-framework2)
+       ("codegen"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/codegen.git")
+             (commit "127968de8129e8ccfa6ac50721c70415a5a087c3")))
+           (file-name
+            (git-file-name "codegen" version))
+           (sha256
+            (base32 "036hzjrsk134ky62192nra43rsln5kh5gz20q1920s922661zky2"))))
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("lib-base-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_base.git")
+             (commit "81df0d0b7842be2b6c88f93dfa136b8efea4c9ad")))
+           (file-name
+            (git-file-name "lib-base-for-telegram-desktop" version))
+           (sha256
+            (base32 "0ikddprjnjvg0ic8jr2886xq0f18syp587q6z2kci9xmdnvjl217"))))
+       ("lib-crl-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_crl.git")
+             (commit "16150bf71d79382738114b913f137ec1a1a7630c")))
+           (file-name
+            (git-file-name "lib-crl-for-telegram-desktop" version))
+           (sha256
+            (base32 "0qhagdr26aqb9w7wnchcmk1j7ln28x3wbkkkm06b8h0mybksbj7q"))))
+       ("lib-lottie-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_lottie.git")
+             (commit "fb40f379d82ffa1fc7506e9a8dddcf48847715ae")))
+           (file-name
+            (git-file-name "lib-lottie-for-telegram-desktop" version))
+           (sha256
+            (base32 "1vq0mqxcrrv7akcqk9cl4mm61zw6dcfmy8adl0pcp49kynm64saw"))))
+       ("lib-qr-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_qr.git")
+             (commit "92ce41a690a463eb462089a4eb1e51e019308018")))
+           (file-name
+            (git-file-name "lib-qr-for-telegram-desktop" version))
+           (sha256
+            (base32 "182939nv7xs9b3bgah3gl5y9hx5r59mabd2jw3z6717vc96qi2pj"))))
+       ("lib-rlottie-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_rlottie.git")
+             (commit "0671bf70547381effcf442ec9618e04502a8adbc")))
+           (file-name
+            (git-file-name "lib-rlottie-for-telegram-desktop" version))
+           (sha256
+            (base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
+       ("lib-rpl-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_rpl.git")
+             (commit "e1b96399d9031c4ef0354631e6bb375029d29d9f")))
+           (file-name
+            (git-file-name "lib-rpl-for-telegram-desktop" version))
+           (sha256
+            (base32 "1wvqazljd2kq1fxlj250jhjrig529499bym9p81dx33kh1l9dgss"))))
+       ("lib-spellcheck-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_spellcheck.git")
+             (commit "1b540b38ed78e9a3cba93e9ba4ce4525ab692277")))
+           (file-name
+            (git-file-name "lib-spellcheck-for-telegram-desktop" version))
+           (sha256
+            (base32 "0a7042h5zrdvgs7v153ral2dh1zj84di5yjcmgcry5k4s1im9di7"))))
+       ("lib-storage-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_storage.git")
+             (commit "cbe51722b73cfa9ff27bd59294b08aa5ee33c936")))
+           (file-name
+            (git-file-name "lib-storage-for-telegram-desktop" version))
+           (sha256
+            (base32 "045l5xsyagyz17gbhmmvl2miss4nb92p0dmza7yfs9pkg9gs0f87"))))
+       ("lib-tl-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_tl.git")
+             (commit "404c83d77e5edb8a39f8e9f56a6340960fe5070e")))
+           (file-name
+            (git-file-name "lib-tl-for-telegram-desktop" version))
+           (sha256
+            (base32 "1k34nkvvcjqw5q81n1qmklid60cvzjk4lmn9qjimk437m6wbii7f"))))
+       ("lib-ui-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_ui.git")
+             (commit "1e2799245cf2720a329ecb5cf5644fded669cce6")))
+           (file-name
+            (git-file-name "lib-ui-for-telegram-desktop" version))
+           (sha256
+            (base32 "0kd4njcvic2700f00qn25vn3b80vsd2flsm3pi2synnldkiy8lcw"))))
+       ("lib-webrtc-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_webrtc.git")
+             (commit "4bc51d6f6d5740159fdb51cb1593e80ce149ed4e")))
+           (file-name
+            (git-file-name "lib-webrtc-for-telegram-desktop" version))
+           (sha256
+            (base32 "06hpyq4qglrj3cb1xg8ghlmzm9ra8f5n6vm7hcy67n2wk8sy4cal"))))
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libtgvoip-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/telegramdesktop/libtgvoip.git")
+             (commit "37d98e984fd6fa389262307db826d52ab86c8241")))
+           (file-name
+            (git-file-name "libtgvoip-for-telegram-desktop" version))
+           (sha256
+            (base32 "13dzvyq8p20nlhjihv18aj6y97czk07qdl0k6v81vp6mbwcldg7h"))))
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtimageformats" ,qtimageformats)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ("rlottie-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/rlottie.git")
+             (commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")))
+           (file-name
+            (git-file-name "rlottie-for-telegram-desktop" version))
+           (sha256
+            (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c"))))
+       ("tg-owt" ,tg-owt)
+       ("tgcalls-for-telegram-desktop"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/TelegramMessenger/tgcalls.git")
+             (commit "178983f72312ca8bd422bc73810fd63f1a89bd9d")))
+           (file-name
+            (git-file-name "tgcalls-for-telegram-desktop" version))
+           (sha256
+            (base32 "1xad65c9m6mj6zdj08flafvh8xjkd7xi9r1agcyc64y69lr427d0"))))
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("dconf" ,dconf)))
+    (synopsis "Telegram Desktop")
+    (description "Telegram desktop is the official desktop version of the
+Telegram instant messager.")
+    (home-page "https://desktop.telegram.org/")
+    (license
+     (list
+      ;; ThirdParty
+      license:lgpl2.1+
+      ;; Others
+      license:gpl3+))))
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg-owt.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg-owt.patch"

From 4a40f77ba85953b65ea590e86b4d4b9fb7f312c2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 12/18] gnu: Add tg-owt.

* gnu/packages/telegram.scm: New module.
(tg-owt): New variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>

fixup tg-owt
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 143 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 144 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index c8a578549d..c1347120bb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..0fd47f4f5d
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,143 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages assembly)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake))
+
+(define-public tg-owt
+  (let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
+        (revision "1"))
+    (package
+      (name "tg-owt")
+      (version
+       (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/desktop-app/tg_owt.git")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "06gcrlym6vqqw7zlds9lpwyg37d5m81d87h16aps19v0v9gzan0l"))
+         (modules '((guix build utils)
+                    (ice-9 ftw)
+                    (srfi srfi-1)))
+         (snippet
+          `(begin
+             (let ((keep
+                    '( ;; Custom forks which are incompatible with the ones in Guix.
+                      "abseil-cpp" "libsrtp" "openh264" "rnnoise"
+                      ;; Not available in Guix.
+                      "pffft" "usrsctp"
+                      ;; Has cmake support files for libvpx input.
+                      "libvpx")))
+               (with-directory-excursion "src/third_party"
+                 (for-each delete-file-recursively
+                           (lset-difference string=?
+                                            (scandir ".")
+                                            (cons* "." ".." keep))))
+               #t)))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:configure-flags
+         (list
+          "-DCMAKE_C_FLAGS=-fPIC"
+          "-DCMAKE_CXX_FLAGS=-fPIC")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'copy-inputs
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((libvpx-from (assoc-ref inputs "libvpx"))
+                      (libyuv-from (assoc-ref inputs "libyuv"))
+                      (libvpx-to (string-append (getcwd)
+                                                "/src/third_party/libvpx/source/libvpx"))
+                      (libyuv-to (string-append (getcwd)
+                                                "/src/third_party/libyuv")))
+                 (copy-recursively libvpx-from libvpx-to)
+                 (copy-recursively libyuv-from libyuv-to))
+               #t)))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("python" ,python-wrapper)
+         ("yasm" ,yasm)))
+      (inputs
+       `(("alsa" ,alsa-lib)
+         ("ffmpeg" ,ffmpeg)
+         ("libjpeg" ,libjpeg-turbo)
+         ("libvpx"
+          ,(origin
+             (method git-fetch)
+             (uri
+              (git-reference
+               (url "https://chromium.googlesource.com/webm/libvpx")
+               (commit "5b63f0f821e94f8072eb483014cfc33b05978bb9")))
+             (file-name
+              (git-file-name "libvpx-for-tg-owt" version))
+             (sha256
+              (base32 "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))
+         ("libyuv"
+          ,(origin
+             (method git-fetch)
+             (uri
+              (git-reference
+               (url "https://chromium.googlesource.com/libyuv/libyuv")
+               (commit "ad890067f661dc747a975bc55ba3767fe30d4452")))
+             (file-name
+              (git-file-name "libyuv-for-tg-owt" version))
+             (sha256
+              (base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
+         ("openssl" ,openssl)
+         ("opus" ,opus)
+         ("protobuf" ,protobuf)
+         ("pulseaudio" ,pulseaudio)))
+      (synopsis "WebRTC support for Telegram-Desktop")
+      (description "Tg_owt is a custom WebRTC fork by Telegram project,
+for its use in telegram desktop client.")
+      (home-page "https://github.com/desktop-app/tg_owt")
+      (license
+       (list
+        ;; Abseil-CPP
+        license:asl2.0
+        ;; LibYuv
+        (license:non-copyleft "file:///src/third_party/libyuv/LICENSE")
+        ;; OpenH264
+        license:bsd-2
+        ;; PFFFT
+        (license:non-copyleft "file:///src/third_party/pffft/LICENSE")
+        ;; RnNoise
+        license:gpl3
+        ;; LibSRTP, LibVPx, UsrSCTP and Others
+        license:bsd-3)))))
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From 9c6905c0a107542ebc4a08cb7b8349d9c81bd557 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/18] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/qt.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 60e4f43c6a..a0409b0060 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,61 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5
+settings (such as icons, themes, and fonts) in desktop environments or
+window managers, that don't provide Qt integration by themselves.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From 48258c2c1bc21623985e208f0c943991d27d9f15 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/18] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 0d75b9237e..afb8be076f 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From 46f4660f5b23da77bffb620f00e943418af6bb65 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/18] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 2514af5a84..0d75b9237e 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,45 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is an extension of the Standard Template Library that
+makes its iterators and algorithms more powerful by making them composable.
+Unlike other range-like solutions which, seek to do away with iterators, in
+range-v3 ranges are an abstration layer on top of iterators.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Elements of Programming
+      (license:x11-style "file:///LICENSE.txt")
+      ;; SGI STL
+      license:sgifreeb2.0
+      ;;; LibC++ (dual-licensed)
+      license:expat
+      license:ncsa
+      ;; Others
+      license:boost1.0))))
+
 (define-public c++-gsl
   (package
     (name "c++-gsl")
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 3e49d1c88f0b768648e6bd1a59f7396211f6126b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/18] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..60e4f43c6a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is a client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From 846051b9ac972e45b6a3c7e91824cca7d0c1d0ab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/18] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From b619c1bef5d21b4d9297da0d964e028b1e2558f8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/18] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/language.scm | 138 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 221848f2b5..67b519aa56 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,138 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Lightweight input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework.  This package provides a fork of the original nimf project, that
+focusses especially on Korean input (Hangul, Hanja, ...).")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From ff1d90c02ee57a9a74a92e7a496eddbaaa0235bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/18] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..221848f2b5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,88 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* "configure"
+               (("gnu17")
+                "gnu11")
+               (("gnu++17")
+                "gnu++11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From 224a511e7cb2d136512784ed4352ba4f03a39133 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/18] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From 092da0e19bfe7618ff294d0a60027f8ea48eb76b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/18] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From c842b20ffa2dc4f925fd192b01dff982d41a3a96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/18] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..93cea7a24d 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-c-gsl.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-c-gsl.patch"

From c2f89a5b71e3fdffbcd291e74057bc9df86aa1d4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/18] gnu: Add c++-gsl.

* gnu/packages/cpp.scm (c++-gsl): New variable.
* gnu/packages/patches/c++-gsl-find-system-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/local.mk                                  |  1 +
 gnu/packages/cpp.scm                          | 29 ++++++
 .../patches/c++-gsl-find-system-gtest.patch   | 96 +++++++++++++++++++
 3 files changed, 126 insertions(+)
 create mode 100644 gnu/packages/patches/c++-gsl-find-system-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index eb28104add..c8a578549d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -914,6 +914,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/cursynth-wave-rand.patch			\
   %D%/packages/patches/cvs-CVE-2017-12836.patch		\
   %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch		\
+  %D%/packages/patches/c++-gsl-find-system-gtest.patch		\
   %D%/packages/patches/date-output-pkg-config-files.patch	\
   %D%/packages/patches/datefudge-gettimeofday.patch		\
   %D%/packages/patches/dbacl-include-locale.h.patch		\
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..2514af5a84 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,35 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public c++-gsl
+  (package
+    (name "c++-gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches
+         "c++-gsl-find-system-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "c++-gsl contains functions and types that are suggested for
+use by the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/c++-gsl-find-system-gtest.patch b/gnu/packages/patches/c++-gsl-find-system-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/c++-gsl-find-system-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------F2D93DB5CB58F2C389C5E6F2--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 20 Jan 2021 11:07:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 20 06:07:42 2021
Received: from localhost ([127.0.0.1]:53052 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l2BKw-0005Ak-23
	for submit <at> debbugs.gnu.org; Wed, 20 Jan 2021 06:07:42 -0500
Received: from mailrelay.tugraz.at ([129.27.2.202]:26802)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leo.prikler@HIDDEN>) id 1l2BKu-0005Aa-40
 for 45721 <at> debbugs.gnu.org; Wed, 20 Jan 2021 06:07:41 -0500
Received: from nijino.local (217-149-173-242.nat.highway.telekom.at
 [217.149.173.242])
 by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4DLN6064F9z3wHK;
 Wed, 20 Jan 2021 12:07:36 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at;
 s=mailrelay; t=1611140857;
 bh=IFZNe8Wrtstafqt/1Y8dWhGtnlM+awd1UR9x1qvdx2s=;
 h=Subject:From:To:Date:In-Reply-To:References;
 b=ZDyRadFTZZsHVxFxnLl+GtaJvjTh3OTQBN9p3CML8n/+C1eOi5BddLOZHFmQ9K3FR
 FIYFfiMpdRPyJH87gViH7kL+7VHnI7AUbga3YWIa8U8VWJoIWi+js2MXOKs/a71xdi
 GgvqyzkzUBIZt94wdNoPdt7HWLP6ZOTRPTmiiWRI=
Message-ID: <7b5dc366822e27c8e7ab064694426070614bc3e6.camel@HIDDEN>
Subject: Re: Telegram Desktop (v17)
From: Leo Prikler <leo.prikler@HIDDEN>
To: Raghav Gururajan <rg@HIDDEN>, 45721 <at> debbugs.gnu.org
Date: Wed, 20 Jan 2021 12:07:36 +0100
In-Reply-To: <e94f884e-e9d5-9e18-d5fc-dfec72145b67@HIDDEN>
References: <e94f884e-e9d5-9e18-d5fc-dfec72145b67@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw
X-Spam-Scanner: SpamAssassin 3.003001 
X-Spam-Score-relay: -1.9
X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi Raghav,

Am Mittwoch, den 20.01.2021, 05:41 -0500 schrieb Raghav Gururajan:
> +       ;; Client applications must provide their own API-ID and API-
> HASH,
> +       ;; see also <https://core.telegram.org/api/obtaining_api_id>;
> .
> +       ;; In case, that the credentials below fail to work, contact
> +       ;;   Raghav Gururajan <rg@HIDDEN>
> +       (list
> +        "-DTDESKTOP_API_ID=2791056"
> +        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
You're sadly missing the packaged font thing, that pineapples
mentioned.  Try this:
>        #:configure-flags
>        (list
>         ;; Client applications must provide their own API-ID and API-
> HASH,
>         ;; see also <https://core.telegram.org/api/obtaining_api_id>;
> .
>         ;; In case, that the credentials below fail to work, contact
>         ;;   Raghav Gururajan <rg@HIDDEN>
>         "-DTDESKTOP_API_ID=2791056"
>         "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2"
>         ;; Use bundled fonts as fallback.
>         "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF")

> +         (add-after 'unpack 'copy-inputs
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((to (string-append (getenv "TEMP") "/source"))
Should (getcwd) or "source" not suffice as to?

> +       ("lib_base"
> +        ,(origin
> +           (method git-fetch)
> +           (uri
> +            (git-reference
> +             (url "https://github.com/desktop-app/lib_base.git")
> +             (commit "81df0d0b7842be2b6c88f93dfa136b8efea4c9ad")))
> +           (file-name
> +            (git-file-name "lib_base" version))
> +           (sha256
> +            (base32
> "0ikddprjnjvg0ic8jr2886xq0f18syp587q6z2kci9xmdnvjl217"))))
> +       [...]
Use the naming-scheme "<package>-for-telegram-desktop" and similarly
(git-file-name "<package>-for-telegram-desktop" version).  Substitute
underlines with hyphens in the input and file names.
> +       ("libtgvoip" [...])
> +       ("rlottie" [...])
> +       ("tgcalls" [...])
Likewise.

Also strip the "Signed-Off-By" line from commits, that you've amended
since, so as to not inadvertently confuse anyone.  For this patch set,
that's just 0013.

Regards,
Leo





Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 20 Jan 2021 10:41:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 20 05:41:37 2021
Received: from localhost ([127.0.0.1]:53009 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l2AvW-0004Xg-9y
	for submit <at> debbugs.gnu.org; Wed, 20 Jan 2021 05:41:37 -0500
Received: from relay4-d.mail.gandi.net ([217.70.183.196]:46539)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l2AvQ-0004XP-M4
 for 45721 <at> debbugs.gnu.org; Wed, 20 Jan 2021 05:41:24 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 046FAE001D;
 Wed, 20 Jan 2021 10:41:12 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v17)
Message-ID: <e94f884e-e9d5-9e18-d5fc-dfec72145b67@HIDDEN>
Date: Wed, 20 Jan 2021 05:41:11 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------1FABFB443CB593EE995D982D"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From ded388c7c654f4fe4475d2ce2ae330722fc1bc87 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Sun, 17 Jan 2021
 09:30:22 -0500 Subject: [PATCH 13/18] gnu: Add telegram-d [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.196 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.196 listed in wl.mailspike.net]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
Cc: Leo Prikler <leo.prikler@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------1FABFB443CB593EE995D982D
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-telegram-desktop.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-telegram-desktop.patch"

From ded388c7c654f4fe4475d2ce2ae330722fc1bc87 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 17 Jan 2021 09:30:22 -0500
Subject: [PATCH 13/18] gnu: Add telegram-desktop.

* gnu/packages/telegram.scm (telegram-desktop): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/telegram.scm | 392 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 391 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 0fd47f4f5d..1d4e819a44 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -18,20 +18,42 @@
 
 (define-module (gnu packages telegram)
   #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
   #:use-module (gnu packages assembly)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix git-download)
-  #:use-module (guix build-system cmake))
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
 
 (define-public tg-owt
   (let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
@@ -141,3 +163,371 @@ for its use in telegram desktop client.")
         license:gpl3
         ;; LibSRTP, LibVPx, UsrSCTP and Others
         license:bsd-3)))))
+
+(define-public telegram-desktop
+  (package
+    (name "telegram-desktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))
+       (modules '((guix build utils)
+                  (ice-9 ftw)
+                  (srfi srfi-1)))
+       (snippet
+        `(begin
+           (let ((keep
+                  '( ;; Custom forks which are incompatible with the ones in Guix.
+                    "libtgvoip" "rlottie"
+                    ;; Not available in Guix.
+                    "SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
+             (with-directory-excursion "Telegram/ThirdParty"
+               (for-each delete-file-recursively
+                         (lset-difference string=?
+                                          (scandir ".")
+                                          (cons* "." ".." keep))))
+             #t)))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       ;; Client applications must provide their own API-ID and API-HASH,
+       ;; see also <https://core.telegram.org/api/obtaining_api_id>.
+       ;; In case, that the credentials below fail to work, contact
+       ;;   Raghav Gururajan <rg@HIDDEN>
+       (list
+        "-DTDESKTOP_API_ID=2791056"
+        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'copy-inputs
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((to (string-append (getenv "TEMP") "/source"))
+                    (cmake_helpers (assoc-ref inputs "cmake_helpers"))
+                    (codegen (assoc-ref inputs "codegen"))
+                    (lib_base (assoc-ref inputs "lib_base"))
+                    (lib_crl (assoc-ref inputs "lib_crl"))
+                    (lib_lottie (assoc-ref inputs "lib_lottie"))
+                    (lib_qr (assoc-ref inputs "lib_qr"))
+                    (lib_rlottie (assoc-ref inputs "lib_rlottie"))
+                    (lib_rpl (assoc-ref inputs "lib_rpl"))
+                    (lib_spellcheck (assoc-ref inputs "lib_spellcheck"))
+                    (lib_storage (assoc-ref inputs "lib_storage"))
+                    (lib_tl (assoc-ref inputs "lib_tl"))
+                    (lib_ui (assoc-ref inputs "lib_ui"))
+                    (lib_webrtc (assoc-ref inputs "lib_webrtc"))
+                    (libtgvoip (assoc-ref inputs "libtgvoip"))
+                    (rlottie (assoc-ref inputs "rlottie"))
+                    (tgcalls (assoc-ref inputs "tgcalls")))
+               (copy-recursively
+                cmake_helpers
+                (string-append to "/cmake"))
+               (copy-recursively
+                codegen
+                (string-append to "/Telegram/codegen"))
+               (copy-recursively
+                lib_base
+                (string-append to "/Telegram/lib_base"))
+               (copy-recursively
+                lib_crl
+                (string-append to "/Telegram/lib_crl"))
+               (copy-recursively
+                lib_lottie
+                (string-append to "/Telegram/lib_lottie"))
+               (copy-recursively
+                lib_qr
+                (string-append to "/Telegram/lib_qr"))
+               (copy-recursively
+                lib_rlottie
+                (string-append to "/Telegram/lib_rlottie"))
+               (copy-recursively
+                lib_rpl
+                (string-append to "/Telegram/lib_rpl"))
+               (copy-recursively
+                lib_spellcheck
+                (string-append to "/Telegram/lib_spellcheck"))
+               (copy-recursively
+                lib_storage
+                (string-append to "/Telegram/lib_storage"))
+               (copy-recursively
+                lib_tl
+                (string-append to "/Telegram/lib_tl"))
+               (copy-recursively
+                lib_ui
+                (string-append to "/Telegram/lib_ui"))
+               (copy-recursively
+                lib_webrtc
+                (string-append to "/Telegram/lib_webrtc"))
+               (copy-recursively
+                libtgvoip
+                (string-append to "/Telegram/ThirdParty/libtgvoip"))
+               (copy-recursively
+                rlottie
+                (string-append to "/Telegram/ThirdParty/rlottie"))
+               (copy-recursively
+                tgcalls
+                (string-append to "/Telegram/ThirdParty/tgcalls")))
+             #t))
+         (add-after 'copy-inputs 'make-writable
+           (lambda _
+             (for-each make-file-writable (find-files "."))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess") "all"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake_helpers"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/cmake_helpers.git")
+             (commit "a81345a28d407fb5acd5267ec6afa1864f4e8d5b")))
+           (file-name
+            (git-file-name "cmake_helpers" version))
+           (sha256
+            (base32 "0s5hxip68dmkaspjq6j30wx1r5v4prnrjza79hdbznz6i57a2248"))))
+       ("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("c++-gsl" ,c++-gsl)
+       ("catch" ,catch-framework2)
+       ("codegen"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/codegen.git")
+             (commit "127968de8129e8ccfa6ac50721c70415a5a087c3")))
+           (file-name
+            (git-file-name "codegen" version))
+           (sha256
+            (base32 "036hzjrsk134ky62192nra43rsln5kh5gz20q1920s922661zky2"))))
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("lib_base"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_base.git")
+             (commit "81df0d0b7842be2b6c88f93dfa136b8efea4c9ad")))
+           (file-name
+            (git-file-name "lib_base" version))
+           (sha256
+            (base32 "0ikddprjnjvg0ic8jr2886xq0f18syp587q6z2kci9xmdnvjl217"))))
+       ("lib_crl"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_crl.git")
+             (commit "16150bf71d79382738114b913f137ec1a1a7630c")))
+           (file-name
+            (git-file-name "lib_crl" version))
+           (sha256
+            (base32 "0qhagdr26aqb9w7wnchcmk1j7ln28x3wbkkkm06b8h0mybksbj7q"))))
+       ("lib_lottie"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_lottie.git")
+             (commit "fb40f379d82ffa1fc7506e9a8dddcf48847715ae")))
+           (file-name
+            (git-file-name "lib_lottie" version))
+           (sha256
+            (base32 "1vq0mqxcrrv7akcqk9cl4mm61zw6dcfmy8adl0pcp49kynm64saw"))))
+       ("lib_qr"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_qr.git")
+             (commit "92ce41a690a463eb462089a4eb1e51e019308018")))
+           (file-name
+            (git-file-name "lib_qr" version))
+           (sha256
+            (base32 "182939nv7xs9b3bgah3gl5y9hx5r59mabd2jw3z6717vc96qi2pj"))))
+       ("lib_rlottie"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_rlottie.git")
+             (commit "0671bf70547381effcf442ec9618e04502a8adbc")))
+           (file-name
+            (git-file-name "lib_rlottie" version))
+           (sha256
+            (base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
+       ("lib_rpl"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_rpl.git")
+             (commit "e1b96399d9031c4ef0354631e6bb375029d29d9f")))
+           (file-name
+            (git-file-name "lib_rpl" version))
+           (sha256
+            (base32 "1wvqazljd2kq1fxlj250jhjrig529499bym9p81dx33kh1l9dgss"))))
+       ("lib_spellcheck"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_spellcheck.git")
+             (commit "1b540b38ed78e9a3cba93e9ba4ce4525ab692277")))
+           (file-name
+            (git-file-name "lib_spellcheck" version))
+           (sha256
+            (base32 "0a7042h5zrdvgs7v153ral2dh1zj84di5yjcmgcry5k4s1im9di7"))))
+       ("lib_storage"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_storage.git")
+             (commit "cbe51722b73cfa9ff27bd59294b08aa5ee33c936")))
+           (file-name
+            (git-file-name "lib_storage" version))
+           (sha256
+            (base32 "045l5xsyagyz17gbhmmvl2miss4nb92p0dmza7yfs9pkg9gs0f87"))))
+       ("lib_tl"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_tl.git")
+             (commit "404c83d77e5edb8a39f8e9f56a6340960fe5070e")))
+           (file-name
+            (git-file-name "lib_tl" version))
+           (sha256
+            (base32 "1k34nkvvcjqw5q81n1qmklid60cvzjk4lmn9qjimk437m6wbii7f"))))
+       ("lib_ui"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_ui.git")
+             (commit "1e2799245cf2720a329ecb5cf5644fded669cce6")))
+           (file-name
+            (git-file-name "lib_ui" version))
+           (sha256
+            (base32 "0kd4njcvic2700f00qn25vn3b80vsd2flsm3pi2synnldkiy8lcw"))))
+       ("lib_webrtc"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_webrtc.git")
+             (commit "4bc51d6f6d5740159fdb51cb1593e80ce149ed4e")))
+           (file-name
+            (git-file-name "lib_webrtc" version))
+           (sha256
+            (base32 "06hpyq4qglrj3cb1xg8ghlmzm9ra8f5n6vm7hcy67n2wk8sy4cal"))))
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libtgvoip"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/telegramdesktop/libtgvoip.git")
+             (commit "37d98e984fd6fa389262307db826d52ab86c8241")))
+           (file-name
+            (git-file-name "libtgvoip" version))
+           (sha256
+            (base32 "13dzvyq8p20nlhjihv18aj6y97czk07qdl0k6v81vp6mbwcldg7h"))))
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtimageformats" ,qtimageformats)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ("rlottie"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/rlottie.git")
+             (commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")))
+           (file-name
+            (git-file-name "rlottie" version))
+           (sha256
+            (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c"))))
+       ("tg-owt" ,tg-owt)
+       ("tgcalls"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/TelegramMessenger/tgcalls.git")
+             (commit "178983f72312ca8bd422bc73810fd63f1a89bd9d")))
+           (file-name
+            (git-file-name "tgcalls" version))
+           (sha256
+            (base32 "1xad65c9m6mj6zdj08flafvh8xjkd7xi9r1agcyc64y69lr427d0"))))
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("dconf" ,dconf)))
+    (synopsis "Telegram Desktop")
+    (description "Telegram desktop is the official desktop version of the
+Telegram instant messager.")
+    (home-page "https://desktop.telegram.org/")
+    (license
+     (list
+      ;; ThirdParty
+      license:lgpl2.1+
+      ;; Others
+      license:gpl3+))))
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg-owt.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg-owt.patch"

From 4a40f77ba85953b65ea590e86b4d4b9fb7f312c2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 12/18] gnu: Add tg-owt.

* gnu/packages/telegram.scm: New module.
(tg-owt): New variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>

fixup tg-owt
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 143 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 144 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index c8a578549d..c1347120bb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..0fd47f4f5d
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,143 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages assembly)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake))
+
+(define-public tg-owt
+  (let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
+        (revision "1"))
+    (package
+      (name "tg-owt")
+      (version
+       (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/desktop-app/tg_owt.git")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "06gcrlym6vqqw7zlds9lpwyg37d5m81d87h16aps19v0v9gzan0l"))
+         (modules '((guix build utils)
+                    (ice-9 ftw)
+                    (srfi srfi-1)))
+         (snippet
+          `(begin
+             (let ((keep
+                    '( ;; Custom forks which are incompatible with the ones in Guix.
+                      "abseil-cpp" "libsrtp" "openh264" "rnnoise"
+                      ;; Not available in Guix.
+                      "pffft" "usrsctp"
+                      ;; Has cmake support files for libvpx input.
+                      "libvpx")))
+               (with-directory-excursion "src/third_party"
+                 (for-each delete-file-recursively
+                           (lset-difference string=?
+                                            (scandir ".")
+                                            (cons* "." ".." keep))))
+               #t)))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:configure-flags
+         (list
+          "-DCMAKE_C_FLAGS=-fPIC"
+          "-DCMAKE_CXX_FLAGS=-fPIC")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'copy-inputs
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((libvpx-from (assoc-ref inputs "libvpx"))
+                      (libyuv-from (assoc-ref inputs "libyuv"))
+                      (libvpx-to (string-append (getcwd)
+                                                "/src/third_party/libvpx/source/libvpx"))
+                      (libyuv-to (string-append (getcwd)
+                                                "/src/third_party/libyuv")))
+                 (copy-recursively libvpx-from libvpx-to)
+                 (copy-recursively libyuv-from libyuv-to))
+               #t)))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("python" ,python-wrapper)
+         ("yasm" ,yasm)))
+      (inputs
+       `(("alsa" ,alsa-lib)
+         ("ffmpeg" ,ffmpeg)
+         ("libjpeg" ,libjpeg-turbo)
+         ("libvpx"
+          ,(origin
+             (method git-fetch)
+             (uri
+              (git-reference
+               (url "https://chromium.googlesource.com/webm/libvpx")
+               (commit "5b63f0f821e94f8072eb483014cfc33b05978bb9")))
+             (file-name
+              (git-file-name "libvpx-for-tg-owt" version))
+             (sha256
+              (base32 "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))
+         ("libyuv"
+          ,(origin
+             (method git-fetch)
+             (uri
+              (git-reference
+               (url "https://chromium.googlesource.com/libyuv/libyuv")
+               (commit "ad890067f661dc747a975bc55ba3767fe30d4452")))
+             (file-name
+              (git-file-name "libyuv-for-tg-owt" version))
+             (sha256
+              (base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
+         ("openssl" ,openssl)
+         ("opus" ,opus)
+         ("protobuf" ,protobuf)
+         ("pulseaudio" ,pulseaudio)))
+      (synopsis "WebRTC support for Telegram-Desktop")
+      (description "Tg_owt is a custom WebRTC fork by Telegram project,
+for its use in telegram desktop client.")
+      (home-page "https://github.com/desktop-app/tg_owt")
+      (license
+       (list
+        ;; Abseil-CPP
+        license:asl2.0
+        ;; LibYuv
+        (license:non-copyleft "file:///src/third_party/libyuv/LICENSE")
+        ;; OpenH264
+        license:bsd-2
+        ;; PFFFT
+        (license:non-copyleft "file:///src/third_party/pffft/LICENSE")
+        ;; RnNoise
+        license:gpl3
+        ;; LibSRTP, LibVPx, UsrSCTP and Others
+        license:bsd-3)))))
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From 9c6905c0a107542ebc4a08cb7b8349d9c81bd557 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/18] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/qt.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 60e4f43c6a..a0409b0060 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,61 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5
+settings (such as icons, themes, and fonts) in desktop environments or
+window managers, that don't provide Qt integration by themselves.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From 48258c2c1bc21623985e208f0c943991d27d9f15 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/18] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 0d75b9237e..afb8be076f 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From 46f4660f5b23da77bffb620f00e943418af6bb65 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/18] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 2514af5a84..0d75b9237e 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,45 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is an extension of the Standard Template Library that
+makes its iterators and algorithms more powerful by making them composable.
+Unlike other range-like solutions which, seek to do away with iterators, in
+range-v3 ranges are an abstration layer on top of iterators.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Elements of Programming
+      (license:x11-style "file:///LICENSE.txt")
+      ;; SGI STL
+      license:sgifreeb2.0
+      ;;; LibC++ (dual-licensed)
+      license:expat
+      license:ncsa
+      ;; Others
+      license:boost1.0))))
+
 (define-public c++-gsl
   (package
     (name "c++-gsl")
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 3e49d1c88f0b768648e6bd1a59f7396211f6126b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/18] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..60e4f43c6a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is a client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From 846051b9ac972e45b6a3c7e91824cca7d0c1d0ab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/18] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From b619c1bef5d21b4d9297da0d964e028b1e2558f8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/18] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/language.scm | 138 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 221848f2b5..67b519aa56 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,138 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Lightweight input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework.  This package provides a fork of the original nimf project, that
+focusses especially on Korean input (Hangul, Hanja, ...).")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From ff1d90c02ee57a9a74a92e7a496eddbaaa0235bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/18] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..221848f2b5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,88 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* "configure"
+               (("gnu17")
+                "gnu11")
+               (("gnu++17")
+                "gnu++11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From 224a511e7cb2d136512784ed4352ba4f03a39133 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/18] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From 092da0e19bfe7618ff294d0a60027f8ea48eb76b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/18] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From c842b20ffa2dc4f925fd192b01dff982d41a3a96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/18] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..93cea7a24d 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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
-- 
2.30.0


--------------1FABFB443CB593EE995D982D
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-c-gsl.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-c-gsl.patch"

From c2f89a5b71e3fdffbcd291e74057bc9df86aa1d4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/18] gnu: Add c++-gsl.

* gnu/packages/cpp.scm (c++-gsl): New variable.
* gnu/packages/patches/c++-gsl-find-system-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Leo Prikler <leo.prikler@HIDDEN>
---
 gnu/local.mk                                  |  1 +
 gnu/packages/cpp.scm                          | 29 ++++++
 .../patches/c++-gsl-find-system-gtest.patch   | 96 +++++++++++++++++++
 3 files changed, 126 insertions(+)
 create mode 100644 gnu/packages/patches/c++-gsl-find-system-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index eb28104add..c8a578549d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -914,6 +914,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/cursynth-wave-rand.patch			\
   %D%/packages/patches/cvs-CVE-2017-12836.patch		\
   %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch		\
+  %D%/packages/patches/c++-gsl-find-system-gtest.patch		\
   %D%/packages/patches/date-output-pkg-config-files.patch	\
   %D%/packages/patches/datefudge-gettimeofday.patch		\
   %D%/packages/patches/dbacl-include-locale.h.patch		\
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..2514af5a84 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,35 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public c++-gsl
+  (package
+    (name "c++-gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches
+         "c++-gsl-find-system-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "c++-gsl contains functions and types that are suggested for
+use by the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/c++-gsl-find-system-gtest.patch b/gnu/packages/patches/c++-gsl-find-system-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/c++-gsl-find-system-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------1FABFB443CB593EE995D982D--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 19 Jan 2021 10:12:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 19 05:12:19 2021
Received: from localhost ([127.0.0.1]:49517 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l1nzc-0000og-Ep
	for submit <at> debbugs.gnu.org; Tue, 19 Jan 2021 05:12:19 -0500
Received: from mailrelay.tugraz.at ([129.27.2.202]:45839)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leo.prikler@HIDDEN>) id 1l1nzW-0000oH-UT
 for 45721 <at> debbugs.gnu.org; Tue, 19 Jan 2021 05:12:07 -0500
Received: from nijino.local (217-149-173-242.nat.highway.telekom.at
 [217.149.173.242])
 by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4DKkwF0PBTz1LBRt;
 Tue, 19 Jan 2021 11:11:56 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4DKkwF0PBTz1LBRt
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at;
 s=mailrelay; t=1611051117;
 bh=Ec9+LOOhNRDMt8LWHkm6opWzX9Zc1CzzynsUOLVyxBw=;
 h=Subject:From:To:Date:In-Reply-To:References:From;
 b=ScOkudeW7zip+cGNHgdfyqKAwDJn92tOQqa/Cs29IuCPWN+sZEJKWGXn3EPYqe6tH
 hLMSCz9VggjRP4flrUhgPq2Gj64kgVvkGVpCnxRDHD8jV0GiPVHH26amxO0XbvNOQu
 yF2fFviuFVrefmwJeMVrevj243jGmFdknmfgXUE0=
Message-ID: <c24455fe6aaecdf522e03cd4bc57efc9b08fc1e5.camel@HIDDEN>
Subject: [PATCH v16] Add Telegram Desktop.
From: Leo Prikler <leo.prikler@HIDDEN>
To: Raghav Gururajan <rg@HIDDEN>, 45721 <at> debbugs.gnu.org
Date: Tue, 19 Jan 2021 11:11:55 +0100
In-Reply-To: <5b7bbe10360a9a6bec44c99ac66b0e075f3ed924.camel@HIDDEN>
References: <ae71c9c2-cdb8-0f13-b212-0a0c8fc4369b@HIDDEN>
 <67f3a995fb657c86efd2ecdc403b24cb2d441524.camel@HIDDEN>
 <3107c0b8-134f-c86f-f066-372f4f5806de@HIDDEN>
 <5b7bbe10360a9a6bec44c99ac66b0e075f3ed924.camel@HIDDEN>
Content-Type: multipart/mixed; boundary="=-MOjjF1BjzPBRy1qnzcWX"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw
X-Spam-Scanner: SpamAssassin 3.003001 
X-Spam-Score-relay: -1.9
X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116
X-Spam-Score: -0.3 (/)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)


--=-MOjjF1BjzPBRy1qnzcWX
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Thanks to pineapples in IRC for figuring out what was missing for Emoji
support and verifying, that it launches in Wayland.  This will
hopefully be the last patch set for Telegram Desktop before it can be
upstreamed.

Regards,
Leo

--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0001-gnu-Add-c-gsl.patch"
Content-Type: text/x-patch; name="0001-gnu-Add-c-gsl.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAyOTc2MjZmMTAyNjM3ZWVlZGEyYWFkZmY4ZDg0YmFlNGQyZTdkNmI2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU2F0LCAyIEphbiAyMDIxIDE4OjQ4OjAzIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwMS8xM10gZ251OiBBZGQgYysrLWdzbC4KCiogZ251L3BhY2thZ2VzL2NwcC5zY20gKGMrKy1n
c2wpOiBOZXcgdmFyaWFibGUuCiogZ251L3BhY2thZ2VzL3BhdGNoZXMvYysrLWdzbC1maW5kLXN5
c3RlbS1ndGVzdC5wYXRjaDogTmV3IGZpbGUuCiogZ251L2xvY2FsLm1rIChkaXN0X3BhdGNoX0RB
VEEpOiBBZGQgaXQuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVvLnByaWtsZXJAc3R1
ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L2xvY2FsLm1rICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDEgKwogZ251L3BhY2thZ2VzL2NwcC5zY20gICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgMjkgKysrKysrCiAuLi4vcGF0Y2hlcy9jKystZ3NsLWZpbmQtc3lzdGVtLWd0ZXN0
LnBhdGNoICAgfCA5NiArKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEyNiBp
bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvYysr
LWdzbC1maW5kLXN5c3RlbS1ndGVzdC5wYXRjaAoKZGlmZiAtLWdpdCBhL2dudS9sb2NhbC5tayBi
L2dudS9sb2NhbC5tawppbmRleCA2ZjY2MDIxYzc4Li5mNzlmOTgxYTEyIDEwMDY0NAotLS0gYS9n
bnUvbG9jYWwubWsKKysrIGIvZ251L2xvY2FsLm1rCkBAIC05MTQsNiArOTE0LDcgQEAgZGlzdF9w
YXRjaF9EQVRBID0JCQkJCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2N1cnN5bnRoLXdhdmUt
cmFuZC5wYXRjaAkJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvY3ZzLUNWRS0yMDE3LTEyODM2
LnBhdGNoCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2N5cnVzLXNhc2wtYWMtdHJ5LXJ1bi1m
aXgucGF0Y2gJCVwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvYysrLWdzbC1maW5kLXN5c3RlbS1n
dGVzdC5wYXRjaAkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9kYXRlLW91dHB1dC1wa2ctY29u
ZmlnLWZpbGVzLnBhdGNoCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvZGF0ZWZ1ZGdlLWdldHRp
bWVvZmRheS5wYXRjaAkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9kYmFjbC1pbmNsdWRlLWxv
Y2FsZS5oLnBhdGNoCQlcCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvY3BwLnNjbSBiL2dudS9w
YWNrYWdlcy9jcHAuc2NtCmluZGV4IDQ1ZDNmYWVhZmIuLjI1MTRhZjVhODQgMTAwNjQ0Ci0tLSBh
L2dudS9wYWNrYWdlcy9jcHAuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9jcHAuc2NtCkBAIC02Myw2
ICs2MywzNSBAQAogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0bHMpCiAgICM6dXNlLW1v
ZHVsZSAoZ251IHBhY2thZ2VzIHdlYikpCiAKKyhkZWZpbmUtcHVibGljIGMrKy1nc2wKKyAgKHBh
Y2thZ2UKKyAgICAobmFtZSAiYysrLWdzbCIpCisgICAgKHZlcnNpb24gIjMuMS4wIikKKyAgICAo
c291cmNlCisgICAgIChvcmlnaW4KKyAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAo
dXJpCisgICAgICAgIChnaXQtcmVmZXJlbmNlCisgICAgICAgICAodXJsICJodHRwczovL2dpdGh1
Yi5jb20vbWljcm9zb2Z0L0dTTC5naXQiKQorICAgICAgICAgKGNvbW1pdAorICAgICAgICAgIChz
dHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQorICAgICAgIChmaWxlLW5hbWUKKyAgICAgICAg
KGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAgICAocGF0Y2hlcworICAgICAgICAo
c2VhcmNoLXBhdGNoZXMKKyAgICAgICAgICJjKystZ3NsLWZpbmQtc3lzdGVtLWd0ZXN0LnBhdGNo
IikpCisgICAgICAgKHNoYTI1NgorICAgICAgICAoYmFzZTMyICIwZ2J2cjQ4ZjAzODMwZzMxNTRi
amh3OTJiOGdnbWc2d3doNXh5YjhucHBrOXY2dzc1MmwwIikpKSkKKyAgICAoYnVpbGQtc3lzdGVt
IGNtYWtlLWJ1aWxkLXN5c3RlbSkKKyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiZ29vZ2xl
dGVzdCIgLGdvb2dsZXRlc3QpCisgICAgICAgKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykpKQor
ICAgIChzeW5vcHNpcyAiR3VpZGVsaW5lcyBTdXBwb3J0IExpYnJhcnkiKQorICAgIChkZXNjcmlw
dGlvbiAiYysrLWdzbCBjb250YWlucyBmdW5jdGlvbnMgYW5kIHR5cGVzIHRoYXQgYXJlIHN1Z2dl
c3RlZCBmb3IKK3VzZSBieSB0aGUgQysrIENvcmUgR3VpZGVsaW5lcyBtYWludGFpbmVkIGJ5IHRo
ZSBTdGFuZGFyZCBDKysgRm91bmRhdGlvbi4iKQorICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0
aHViLmNvbS9taWNyb3NvZnQvR1NMLyIpCisgICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQor
CiAoZGVmaW5lLXB1YmxpYyBsaWJ6ZW4KICAgKHBhY2thZ2UKICAgICAobmFtZSAibGliemVuIikK
ZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9wYXRjaGVzL2MrKy1nc2wtZmluZC1zeXN0ZW0tZ3Rl
c3QucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9jKystZ3NsLWZpbmQtc3lzdGVtLWd0ZXN0
LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjJkZWY2NTAyOTIK
LS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9jKystZ3NsLWZpbmQtc3lz
dGVtLWd0ZXN0LnBhdGNoCkBAIC0wLDAgKzEsOTYgQEAKK0Zyb20gZjVjZjAxMDgzYmFmN2U4ZGM4
MzE4ZGIzNjQ4YmM2MDk4ZGMzMmQ2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE5p
Y2hvbGFzIEd1cmlldiA8Z3VyaWV2LW5zQHlhLnJ1PgorRGF0ZTogU2F0LCAxOCBBcHIgMjAyMCAx
MzozMDoxNyArMDMwMAorU3ViamVjdDogW1BBVENIXSBTZWFyY2ggZm9yIEdvb2dsZVRlc3Qgdmlh
IHBrZy1jb25maWcgZmlyc3QKKworLS0tCisgdGVzdHMvQ01ha2VMaXN0cy50eHQgfCA1NSArKysr
KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2Vk
LCAzMCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3Rz
L0NNYWtlTGlzdHMudHh0IGIvdGVzdHMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDAyMTkzMTk3Li41
M2Q0NzVjMiAxMDA2NDQKKy0tLSBhL3Rlc3RzL0NNYWtlTGlzdHMudHh0CisrKysgYi90ZXN0cy9D
TWFrZUxpc3RzLnR4dAorQEAgLTEsMzYgKzEsNDEgQEAKKyBjbWFrZV9taW5pbXVtX3JlcXVpcmVk
KFZFUlNJT04gMy4wLjIpCisgCisgcHJvamVjdChHU0xUZXN0cyBDWFgpCisraW5jbHVkZShGaW5k
UGtnQ29uZmlnKQorIAorICMgd2lsbCBtYWtlIHZpc3VhbCBzdHVkaW8gZ2VuZXJhdGVkIHByb2pl
Y3QgZ3JvdXAgZmlsZXMKKyBzZXRfcHJvcGVydHkoR0xPQkFMIFBST1BFUlRZIFVTRV9GT0xERVJT
IE9OKQorIAorLWNvbmZpZ3VyZV9maWxlKENNYWtlTGlzdHMudHh0LmluIGdvb2dsZXRlc3QtZG93
bmxvYWQvQ01ha2VMaXN0cy50eHQpCistZXhlY3V0ZV9wcm9jZXNzKAorLSAgICBDT01NQU5EICR7
Q01BS0VfQ09NTUFORH0gLUcgIiR7Q01BS0VfR0VORVJBVE9SfSIgLgorLSAgICBSRVNVTFRfVkFS
SUFCTEUgcmVzdWx0CistICAgIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9CSU5B
UllfRElSfS9nb29nbGV0ZXN0LWRvd25sb2FkCistKQorLWlmKHJlc3VsdCkKKy0gICAgbWVzc2Fn
ZShGQVRBTF9FUlJPUiAiQ01ha2Ugc3RlcCBmb3IgZ29vZ2xldGVzdCBmYWlsZWQ6ICR7cmVzdWx0
fSIpCistZW5kaWYoKQorK3BrZ19zZWFyY2hfbW9kdWxlKEdUZXN0TWFpbiBndGVzdF9tYWluKQor
K2lmIChOT1QgR1Rlc3RNYWluX0ZPVU5EKQorKyAgICBjb25maWd1cmVfZmlsZShDTWFrZUxpc3Rz
LnR4dC5pbiBnb29nbGV0ZXN0LWRvd25sb2FkL0NNYWtlTGlzdHMudHh0KQorKyAgICBleGVjdXRl
X3Byb2Nlc3MoCisrICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUcgIiR7Q01BS0Vf
R0VORVJBVE9SfSIgLgorKyAgICAgICAgUkVTVUxUX1ZBUklBQkxFIHJlc3VsdAorKyAgICAgICAg
V09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dvb2dsZXRlc3Qt
ZG93bmxvYWQKKysgICAgKQorKyAgICBpZihyZXN1bHQpCisrICAgICAgICBtZXNzYWdlKEZBVEFM
X0VSUk9SICJDTWFrZSBzdGVwIGZvciBnb29nbGV0ZXN0IGZhaWxlZDogJHtyZXN1bHR9IikKKysg
ICAgZW5kaWYoKQorIAorLWV4ZWN1dGVfcHJvY2VzcygKKy0gICAgQ09NTUFORCAke0NNQUtFX0NP
TU1BTkR9IC0tYnVpbGQgLgorLSAgICBSRVNVTFRfVkFSSUFCTEUgcmVzdWx0CistICAgIFdPUktJ
TkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LWRvd25s
b2FkCistKQorLWlmKHJlc3VsdCkKKy0gICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiQ01ha2Ugc3Rl
cCBmb3IgZ29vZ2xldGVzdCBmYWlsZWQ6ICR7cmVzdWx0fSIpCistZW5kaWYoKQorKyAgICBleGVj
dXRlX3Byb2Nlc3MoCisrICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLS1idWlsZCAu
CisrICAgICAgICBSRVNVTFRfVkFSSUFCTEUgcmVzdWx0CisrICAgICAgICBXT1JLSU5HX0RJUkVD
VE9SWSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ29vZ2xldGVzdC1kb3dubG9hZAorKyAg
ICApCisrICAgIGlmKHJlc3VsdCkKKysgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkNNYWtl
IHN0ZXAgZm9yIGdvb2dsZXRlc3QgZmFpbGVkOiAke3Jlc3VsdH0iKQorKyAgICBlbmRpZigpCisg
Cistc2V0KGd0ZXN0X2ZvcmNlX3NoYXJlZF9jcnQgT04gQ0FDSEUgQk9PTCAiIiBGT1JDRSkKKysg
ICAgc2V0KGd0ZXN0X2ZvcmNlX3NoYXJlZF9jcnQgT04gQ0FDSEUgQk9PTCAiIiBGT1JDRSkKKysg
ICAgc2V0KEdUZXN0TWFpbl9MSUJSQVJJRVMgZ3Rlc3RfbWFpbikKKyAKKy1hZGRfc3ViZGlyZWN0
b3J5KAorLSAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ29vZ2xldGVzdC1zcmMKKy0g
ICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dvb2dsZXRlc3QtYnVpbGQKKy0gICAgRVhD
TFVERV9GUk9NX0FMTAorLSkKKysgICAgYWRkX3N1YmRpcmVjdG9yeSgKKysgICAgICAgICR7Q01B
S0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LXNyYworKyAgICAgICAgJHtDTUFLRV9D
VVJSRU5UX0JJTkFSWV9ESVJ9L2dvb2dsZXRlc3QtYnVpbGQKKysgICAgICAgIEVYQ0xVREVfRlJP
TV9BTEwKKysgICAgKQorK2VuZGlmKCkKKyAKKyBpZiAoTVNWQyBBTkQgKEdTTF9DWFhfU1RBTkRB
UkQgRVFVQUwgMTcpKQorICAgICBzZXQoR1NMX0NQTFVTUExVU19PUFQgLVpjOl9fY3BsdXNwbHVz
IC1wZXJtaXNzaXZlLSkKK0BAIC0xNDksNyArMTU0LDcgQEAgZnVuY3Rpb24oYWRkX2dzbF90ZXN0
IG5hbWUpCisgICAgIHRhcmdldF9saW5rX2xpYnJhcmllcygke25hbWV9CisgICAgICAgICBHU0wK
KyAgICAgICAgIGdzbF90ZXN0c19jb25maWcKKy0gICAgICAgIGd0ZXN0X21haW4KKysgICAgICAg
ICR7R1Rlc3RNYWluX0xJQlJBUklFU30KKyAgICAgKQorICAgICBhZGRfdGVzdCgKKyAgICAgICAg
ICR7bmFtZX0KK0BAIC0yNTQsNyArMjU5LDcgQEAgZnVuY3Rpb24oYWRkX2dzbF90ZXN0X25vZXhj
ZXB0IG5hbWUpCisgICAgIHRhcmdldF9saW5rX2xpYnJhcmllcygke25hbWV9CisgICAgICAgICBH
U0wKKyAgICAgICAgIGdzbF90ZXN0c19jb25maWdfbm9leGNlcHQKKy0gICAgICAgIGd0ZXN0X21h
aW4KKysgICAgICAgICR7R1Rlc3RNYWluX0xJQlJBUklFU30KKyAgICAgKQorICAgICBhZGRfdGVz
dCgKKyAgICAgICAke25hbWV9Ci0tIAoyLjMwLjAKCg==


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0002-gnu-Add-fcitx-qt5.patch"
Content-Type: text/x-patch; name="0002-gnu-Add-fcitx-qt5.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSBkY2FjYTZkNTM0YTZkMWE3ZWNhNzExNzhlMmM4OWYyNjVkYjBhODMyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU2F0LCAyIEphbiAyMDIxIDIyOjIzOjUxIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwMi8xM10gZ251OiBBZGQgZmNpdHgtcXQ1LgoKKiBnbnUvcGFja2FnZXMvZmNpdHguc2NtIChm
Y2l0eC1xdDUpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVv
LnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2ZjaXR4LnNjbSB8
IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNo
YW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ251
L3BhY2thZ2VzL2ZjaXR4LnNjbSBiL2dudS9wYWNrYWdlcy9mY2l0eC5zY20KaW5kZXggZDUyZWRm
MTc1MC4uOTNjZWE3YTI0ZCAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2ZjaXR4LnNjbQorKysg
Yi9nbnUvcGFja2FnZXMvZmNpdHguc2NtCkBAIC0xOSwxMSArMTksMTMgQEAKIDs7OyBhbG9uZyB3
aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+
LgogCiAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGZjaXR4KQotICAjOnVzZS1tb2R1bGUg
KChndWl4IGxpY2Vuc2VzKSAjOnNlbGVjdCAoZ3BsMispKQorICAjOnVzZS1tb2R1bGUgKChndWl4
IGxpY2Vuc2VzKSAjOnNlbGVjdCAoZ3BsMisgYnNkLTMpKQogICAjOnVzZS1tb2R1bGUgKGd1aXgg
cGFja2FnZXMpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBkb3dubG9hZCkKKyAgIzp1c2UtbW9kdWxl
IChndWl4IGdpdC1kb3dubG9hZCkKICAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBj
bWFrZSkKICAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBnbGliLW9yLWd0aykKKyAg
Izp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBxdCkKICAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMgY2hlY2spCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGRvY3VtZW50YXRp
b24pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGVuY2hhbnQpCkBAIC0zMywxNCArMzUs
NjkgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3RrKQogICAjOnVzZS1tb2R1bGUg
KGdudSBwYWNrYWdlcyBpY3U0YykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaXNvLWNv
ZGVzKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBrZGUtZnJhbWV3b3JrcykKICAgIzp1
c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbWFuKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl
cyBuY3Vyc2VzKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwa2ctY29uZmlnKQogICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBweXRob24pCisgICM6dXNlLW1vZHVsZSAoZ251IHBh
Y2thZ2VzIHF0KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBzcWxpdGUpCiAgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIHdlYikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
eG1sKQotICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4b3JnKSkKKyAgIzp1c2UtbW9kdWxl
IChnbnUgcGFja2FnZXMgeG9yZykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeGRpc29y
ZykpCisKKyhkZWZpbmUtcHVibGljIGZjaXR4LXF0NQorICAocGFja2FnZQorICAgIChuYW1lICJm
Y2l0eC1xdDUiKQorICAgICh2ZXJzaW9uICIxLjIuNSIpCisgICAgKHNvdXJjZQorICAgICAob3Jp
Z2luCisgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgKHVyaQorICAgICAgICAoZ2l0
LXJlZmVyZW5jZQorICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2ZjaXR4L2ZjaXR4
LXF0NS5naXQiKQorICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCisgICAgICAgKGZpbGUtbmFt
ZQorICAgICAgICAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQorICAgICAgIChzaGEyNTYK
KyAgICAgICAgKGJhc2UzMiAiMWQ1NmJwMTFqcDg1YjJyNHN5dzFjbGZnNHZxeHFmaDdneWdwd3o4
d2s1c3htZm1tZHE4MyIpKSkpCisgICAgKGJ1aWxkLXN5c3RlbSBxdC1idWlsZC1zeXN0ZW0pCisg
ICAgKGFyZ3VtZW50cworICAgICBgKCM6dGVzdHM/ICNmICAgICAgICAgICAgICAgICAgICAgIDsg
Tm8gdGFyZ2V0CisgICAgICAgIzpwaGFzZXMKKyAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRh
cmQtcGhhc2VzCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ3BhdGNoLWluc3RhbGwtZGly
CisgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykK
KyAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInF1aWNrcGhyYXNlLWVkaXRvci9DTWFrZUxpc3Rz
LnR4dCIKKyAgICAgICAgICAgICAgICgoIlxcJFxce0ZDSVRYNF9BRERPTl9JTlNUQUxMX0RJUlxc
fSIpCisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgKGFz
c29jLXJlZiBvdXRwdXRzICJvdXQiKQorICAgICAgICAgICAgICAgICAiL2xpYi9mY2l0eCIpKSkK
KyAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInBsYXRmb3JtaW5wdXRjb250ZXh0L0NNYWtlTGlz
dHMudHh0IgorICAgICAgICAgICAgICAgKCgiXFwkXFx7Q01BS0VfSU5TVEFMTF9RVFBMVUdJTkRJ
UlxcfSIpCisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAg
KGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKQorICAgICAgICAgICAgICAgICAiL2xpYi9xdDUvcGx1
Z2lucyIpKSkKKyAgICAgICAgICAgICAjdCkpKSkpCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAg
YCgoImV4dHJhLWNtYWtlLW1vZHVsZXMiICxleHRyYS1jbWFrZS1tb2R1bGVzKQorICAgICAgICgi
cGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKKyAgICAoaW5wdXRzCisgICAgIGAoKCJmY2l0eCIg
LGZjaXR4KQorICAgICAgICgibGliaW50bCIgLGludGx0b29sKQorICAgICAgICgibGlieGtiY29t
bW9uIiAsbGlieGtiY29tbW9uKSkpCisgICAgKHByb3BhZ2F0ZWQtaW5wdXRzCisgICAgIGAoKCJx
dGJhc2UiICxxdGJhc2UpKSkKKyAgICAoc3lub3BzaXMgIkZjaXR4IFF0NSBJbnB1dCBDb250ZXh0
IikKKyAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBhIFF0NSBmcm9udGVu
ZCBmb3IgZmNpdHguIikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vZmNpdHgv
ZmNpdHgtcXQ1LyIpCisgICAgKGxpY2Vuc2UKKyAgICAgKGxpc3QKKyAgICAgIDs7IFBsdWdpbgor
ICAgICAgYnNkLTMKKyAgICAgIDs7IE90aGVycworICAgICAgZ3BsMispKSkpCiAKIChkZWZpbmUt
cHVibGljIHByZXNhZ2UKICAgKHBhY2thZ2UKLS0gCjIuMzAuMAoK


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment;
	filename*0=0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pat;
	filename*1=ch
Content-Type: text/x-patch;
	name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch";
	charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSA1MjE3YzZmMTY0ODc3Yzc1ZWJlZjZmYjdjN2RlMTA4YjNjMTRjNzRmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU2F0LCAyIEphbiAyMDIxIDIzOjUxOjUxIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwMy8xM10gZ251OiBsaWJhcHBpbmRpY2F0b3I6IFByb3BhZ2F0ZSBzb21lIGlucHV0cyBhcyBw
ZXIgLnBjCiBmaWxlLgoKKiBnbnUvcGFja2FnZXMvZnJlZWRlc2t0b3Auc2NtIChsaWJhcHBpbmRp
Y2F0b3IpIFtpbnB1dHNdOiBNb3ZlIGd0aysKYW5kIGxpYmRidXNtZW51IHRvIC4uLgpbcHJvcGFn
YXRlZC1pbnB1dHNdOiAuLi4gaGVyZS4KClNpZ25lZC1vZmYtYnk6IExlbyBQcmlrbGVyIDxsZW8u
cHJpa2xlckBzdHVkZW50LnR1Z3Jhei5hdD4KLS0tCiBnbnUvcGFja2FnZXMvZnJlZWRlc2t0b3Au
c2NtIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvZnJlZWRlc2t0b3Auc2NtIGIvZ251L3Bh
Y2thZ2VzL2ZyZWVkZXNrdG9wLnNjbQppbmRleCBlZjM1MzQ5ZWMyLi42ZGQzNzAwNWFlIDEwMDY0
NAotLS0gYS9nbnUvcGFja2FnZXMvZnJlZWRlc2t0b3Auc2NtCisrKyBiL2dudS9wYWNrYWdlcy9m
cmVlZGVza3RvcC5zY20KQEAgLTIwMjEsMTQgKzIwMjEsMTUgQEAgdXNlZnVsIHdpdGggc3lzdGVt
IGludGVncmF0aW9uLiIpCiAgICAgICAgKCJ4dmZiIiAseG9yZy1zZXJ2ZXItZm9yLXRlc3RzKSkp
CiAgICAgKGlucHV0cwogICAgICBgKCgiZGJ1cy1nbGliIiAsZGJ1cy1nbGliKQotICAgICAgICgi
Z3RrKyIgLGd0ayspCi0gICAgICAgKCJsaWJkYnVzbWVudSIgLGxpYmRidXNtZW51KQogICAgICAg
ICgibGliaW5kaWNhdG9yIiAsbGliaW5kaWNhdG9yKQogICAgICAgICgicHl0aG9uQDIiICxweXRo
b24tMikKICAgICAgICAoInB5dGhvbjItcHlndGsiICxweXRob24yLXB5Z3RrKQogICAgICAgICgi
cHl0aG9uMi1weWdvYmplY3QtMiIgLHB5dGhvbjItcHlnb2JqZWN0LTIpCiAgICAgICAgOzsgKCJt
b25vIiAsbW9ubykgOyByZXF1aXJlcyBub24tcGFja2FnZWQgZ2FwaQogICAgICAgICgidmFsYSIg
LHZhbGEpKSkKKyAgICAocHJvcGFnYXRlZC1pbnB1dHMKKyAgICAgYCgoImd0aysiICxndGsrKQor
ICAgICAgICgibGliZGJ1c21lbnUiICxsaWJkYnVzbWVudSkpKQogICAgIChhcmd1bWVudHMKICAg
ICAgOzsgRklYTUU6IGRvIG5vdCBoYXJkY29kZSBndGsgdmVyc2lvbgogICAgICBgKCM6Y29uZmln
dXJlLWZsYWdzICcoIi0td2l0aC1ndGs9MyIpCi0tIAoyLjMwLjAKCg==


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0004-gnu-Add-libchewing.patch"
Content-Type: text/x-patch; name="0004-gnu-Add-libchewing.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSBkMmQ3YTcyOThkZmUxZGVjYTFhYTNiM2I2ZWU4MWFlOTFhYTg3Y2Q0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVGh1LCAxNCBKYW4gMjAyMSAwMDo1Mzo0MCAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMDQvMTNdIGdudTogQWRkIGxpYmNoZXdpbmcuCgoqIGdudS9wYWNrYWdlcy9sYW5ndWFnZS5z
Y20gKGxpYmNoZXdpbmcpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xl
ciA8bGVvLnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2xhbmd1
YWdlLnNjbSB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBm
aWxlIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMv
bGFuZ3VhZ2Uuc2NtIGIvZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbQppbmRleCAzZjE3NDY1MDM5
Li42MjFiYzdmNmU1IDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvbGFuZ3VhZ2Uuc2NtCisrKyBi
L2dudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20KQEAgLTMxLDEyICszMSwxNCBAQAogICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyBsaW51eCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
bGx2bSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbWFuKQorICAjOnVzZS1tb2R1bGUg
KGdudSBwYWNrYWdlcyBuY3Vyc2VzKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBvY3Ip
CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBlcmwpCiAgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzIHBrZy1jb25maWcpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB1bHNl
YXVkaW8pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbikKICAgIzp1c2UtbW9k
dWxlIChnbnUgcGFja2FnZXMgcGVybC1jaGVjaykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn
ZXMgc3FsaXRlKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBzd2lnKQogICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyB0ZXhpbmZvKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl
cyB3ZWIpCkBAIC01Myw2ICs1NSw2NSBAQAogICAjOnVzZS1tb2R1bGUgKGd1aXggZ2l0LWRvd25s
b2FkKQogICAjOnVzZS1tb2R1bGUgKGd1aXggdXRpbHMpKQogCisoZGVmaW5lLXB1YmxpYyBsaWJj
aGV3aW5nCisgIChwYWNrYWdlCisgICAgKG5hbWUgImxpYmNoZXdpbmciKQorICAgICh2ZXJzaW9u
ICIwLjUuMSIpCisgICAgKHNvdXJjZQorICAgICAob3JpZ2luCisgICAgICAgKG1ldGhvZCBnaXQt
ZmV0Y2gpCisgICAgICAgKHVyaQorICAgICAgICAoZ2l0LXJlZmVyZW5jZQorICAgICAgICAgKHVy
bCAiaHR0cHM6Ly9naXRodWIuY29tL2NoZXdpbmcvbGliY2hld2luZy5naXQiKQorICAgICAgICAg
KGNvbW1pdAorICAgICAgICAgIChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQorICAgICAg
IChmaWxlLW5hbWUKKyAgICAgICAgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAg
ICAoc2hhMjU2CisgICAgICAgIChiYXNlMzIgIjA0ZDA5dzZ4ZGQwOHY2bGFqOXk0cW1xc2lqdzVp
Mmp2c2hjaWxoaDR2ZzZjZm5mZ2wybXkiKSkpKQorICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxk
LXN5c3RlbSkKKyAgICAoYXJndW1lbnRzCisgICAgIGAoIzpwaGFzZXMKKyAgICAgICAobW9kaWZ5
LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2Rp
c2FibGUtZmFpbGluZy10ZXN0cworICAgICAgICAgICAobGFtYmRhIF8KKyAgICAgICAgICAgICAo
c3Vic3RpdHV0ZSogInRlc3QvTWFrZWZpbGUuYW0iCisgICAgICAgICAgICAgICAoKCIJdGVzdC1i
b3BvbW9mbyAiKQorICAgICAgICAgICAgICAgICIiKQorICAgICAgICAgICAgICAgKCgiCXRlc3Qt
Y29uZmlnICIpCisgICAgICAgICAgICAgICAgIiIpCisgICAgICAgICAgICAgICAoKCIJdGVzdC1y
ZXNldCAiKQorICAgICAgICAgICAgICAgICIiKQorICAgICAgICAgICAgICAgKCgiCXRlc3Qtc3lt
Ym9sICIpCisgICAgICAgICAgICAgICAgIiIpCisgICAgICAgICAgICAgICAoKCIJdGVzdC1rZXli
b2FyZGxlc3MgIikKKyAgICAgICAgICAgICAgICAiIikKKyAgICAgICAgICAgICAgICgoIgl0ZXN0
LXNwZWNpYWwtc3ltYm9sICIpCisgICAgICAgICAgICAgICAgIiIpCisgICAgICAgICAgICAgICAo
KCIJdGVzdC1rZXlib2FyZCAiKQorICAgICAgICAgICAgICAgICIiKQorICAgICAgICAgICAgICAg
KCgiCXRlc3QtcmVncmVzc2lvbiAiKQorICAgICAgICAgICAgICAgICIiKQorICAgICAgICAgICAg
ICAgKCgiCXRlc3QtdXNlcnBocmFzZSAiKQorICAgICAgICAgICAgICAgICIiKSkKKyAgICAgICAg
ICAgICAjdCkpKSkpCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAgYCgoImF1dG9jb25mIiAsYXV0
b2NvbmYpCisgICAgICAgKCJhdXRvbWFrZSIgLGF1dG9tYWtlKQorICAgICAgICgibGlidG9vbCIg
LGxpYnRvb2wpCisgICAgICAgKCJwZXJsIiAscGVybCkKKyAgICAgICAoInBrZy1jb25maWciICxw
a2ctY29uZmlnKQorICAgICAgICgicHl0aG9uIiAscHl0aG9uLXdyYXBwZXIpCisgICAgICAgKCJ0
ZXhpbmZvIiAsdGV4aW5mbykpKQorICAgIChpbnB1dHMKKyAgICAgYCgoIm5jdXJzZXMiICxuY3Vy
c2VzKQorICAgICAgICgic3FsaXRlIiAsc3FsaXRlKSkpCisgICAgKHN5bm9wc2lzICJDaGluZXNl
IHBob25ldGljIGlucHV0IG1ldGhvZCIpCisgICAgKGRlc2NyaXB0aW9uICJDaGV3aW5nIGlzIGFu
IGludGVsbGlnZW50IHBob25ldGljIChaaHV5aW4vQm9wb21vZm8pIGlucHV0CittZXRob2QsIG9u
ZSBvZiB0aGUgbW9zdCBwb3B1bGFyIGNob2ljZXMgZm9yIFRyYWRpdGlvbmFsIENoaW5lc2UgdXNl
cnMuIikKKyAgICAoaG9tZS1wYWdlICJodHRwOi8vY2hld2luZy5pbS8iKQorICAgIChsaWNlbnNl
IGxncGwyLjErKSkpCisKIChkZWZpbmUtcHVibGljIGxpYmxvdWlzCiAgIChwYWNrYWdlCiAgICAg
KG5hbWUgImxpYmxvdWlzIikKLS0gCjIuMzAuMAoK


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0005-gnu-Add-hime.patch"
Content-Type: text/x-patch; name="0005-gnu-Add-hime.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSBjYmVlYzIzYjA3ZDRlNTQ0YWE0NDU5MDMxOWMzM2I5M2YyYTEwMzUwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVGh1LCAxNCBKYW4gMjAyMSAwMTowMjowOCAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMDUvMTNdIGdudTogQWRkIGhpbWUuCgoqIGdudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20gKGhp
bWUpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVvLnByaWts
ZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbSB8IDc4
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQs
IDc3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9nbnUvcGFja2Fn
ZXMvbGFuZ3VhZ2Uuc2NtIGIvZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbQppbmRleCA2MjFiYzdm
NmU1Li4yMjE4NDhmMmI1IDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvbGFuZ3VhZ2Uuc2NtCisr
KyBiL2dudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20KQEAgLTIzLDggKzIzLDExIEBACiAKIChkZWZp
bmUtbW9kdWxlIChnbnUgcGFja2FnZXMgbGFuZ3VhZ2UpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBh
Y2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBhbnRoeSkKICAgIzp1c2UtbW9k
dWxlIChnbnUgcGFja2FnZXMgYXV0b3Rvb2xzKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl
cyBhdWRpbykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZnJlZWRlc2t0b3ApCisgICM6
dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdldHRleHQpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBh
Y2thZ2VzIGdsaWIpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGd0aykKICAgIzp1c2Ut
bW9kdWxlIChnbnUgcGFja2FnZXMgamF2YSkKQEAgLTM4LDYgKzQxLDcgQEAKICAgIzp1c2UtbW9k
dWxlIChnbnUgcGFja2FnZXMgcHVsc2VhdWRpbykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn
ZXMgcHl0aG9uKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwZXJsLWNoZWNrKQorICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBxdCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn
ZXMgc3FsaXRlKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBzd2lnKQogICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyB0ZXhpbmZvKQpAQCAtNDUsMTYgKzQ5LDg4IEBACiAgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIHhtbCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
eG9yZykKICAgIzp1c2UtbW9kdWxlIChndWl4IHBhY2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGd1
aXggYnVpbGQtc3lzdGVtIGNtYWtlKQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVt
IGdsaWItb3ItZ3RrKQogICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdudSkKICAg
Izp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBwZXJsKQogICAjOnVzZS1tb2R1bGUgKGd1
aXggYnVpbGQtc3lzdGVtIHB5dGhvbikKKyAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3Rl
bSBxdCkKICAgIzp1c2UtbW9kdWxlICgoZ3VpeCBsaWNlbnNlcykKICAgICAgICAgICAgICAgICAj
OnNlbGVjdAotICAgICAgICAgICAgICAgIChic2QtMyBncGwyIGdwbDIrIGdwbDMgZ3BsMysgbGdw
bDIuMSBsZ3BsMi4xKyBsZ3BsMysgcGVybC1saWNlbnNlIHpwbDIuMSkpCisgICAgICAgICAgICAg
ICAgKGJzZC0zIGdwbDIgZ3BsMisgZ3BsMyBncGwzKyBsZ3BsMi4xIGxncGwyLjErIGxncGwzKyBw
ZXJsLWxpY2Vuc2UgenBsMi4xIGZkbDEuMispKQogICAjOnVzZS1tb2R1bGUgKGd1aXggZG93bmxv
YWQpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBnaXQtZG93bmxvYWQpCiAgICM6dXNlLW1vZHVsZSAo
Z3VpeCB1dGlscykpCiAKKyhkZWZpbmUtcHVibGljIGhpbWUKKyAgKHBhY2thZ2UKKyAgICAobmFt
ZSAiaGltZSIpCisgICAgKHZlcnNpb24gIjAuOS4xMSIpCisgICAgKHNvdXJjZQorICAgICAob3Jp
Z2luCisgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgKHVyaQorICAgICAgICAoZ2l0
LXJlZmVyZW5jZQorICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2hpbWUtaW1lL2hp
bWUuZ2l0IikKKyAgICAgICAgIChjb21taXQKKyAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAidiIg
dmVyc2lvbikpKSkKKyAgICAgICAoZmlsZS1uYW1lCisgICAgICAgIChnaXQtZmlsZS1uYW1lIG5h
bWUgdmVyc2lvbikpCisgICAgICAgKHNoYTI1NgorICAgICAgICAoYmFzZTMyICIxd24waWNpNzh4
NXFoNmh2djUwYmY3NmxkN2RzNDJoenpsNGw1cXozNGhwOHd5dnJ3YWt3IikpKSkKKyAgICAoYnVp
bGQtc3lzdGVtIGdsaWItb3ItZ3RrLWJ1aWxkLXN5c3RlbSkKKyAgICAoYXJndW1lbnRzCisgICAg
IGAoIzp0ZXN0cz8gI2YgICAgICAgICAgICAgICAgICAgICAgOyBObyB0YXJnZXQKKyAgICAgICAj
OmltcG9ydGVkLW1vZHVsZXMKKyAgICAgICAoLEAlZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtLW1v
ZHVsZXMKKyAgICAgICAgKGd1aXggYnVpbGQgY21ha2UtYnVpbGQtc3lzdGVtKQorICAgICAgICAo
Z3VpeCBidWlsZCBxdC1idWlsZC1zeXN0ZW0pKQorICAgICAgICM6bW9kdWxlcworICAgICAgICgo
Z3VpeCBidWlsZCBnbGliLW9yLWd0ay1idWlsZC1zeXN0ZW0pCisgICAgICAgICgoZ3VpeCBidWls
ZCBxdC1idWlsZC1zeXN0ZW0pCisgICAgICAgICAjOnByZWZpeCBxdDopCisgICAgICAgIChndWl4
IGJ1aWxkIHV0aWxzKSkKKyAgICAgICAjOmNvbmZpZ3VyZS1mbGFncworICAgICAgIChsaXN0Cisg
ICAgICAgIDs7IEZJWE1FCisgICAgICAgIDs7IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhH
dGtTdGF0dXNJY29u4oCZCisgICAgICAgICItLWRpc2FibGUtc3lzdGVtLXRyYXkiKQorICAgICAg
ICM6cGhhc2VzCisgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcworICAgICAg
ICAgKGFkZC1hZnRlciAndW5wYWNrICdwYXRjaC1zdGQKKyAgICAgICAgICAgKGxhbWJkYSBfCisg
ICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJjb25maWd1cmUiCisgICAgICAgICAgICAgICAoKCJn
bnUxNyIpCisgICAgICAgICAgICAgICAgImdudTExIikKKyAgICAgICAgICAgICAgICgoImdudSsr
MTciKQorICAgICAgICAgICAgICAgICJnbnUrKzExIikpCisgICAgICAgICAgICAgI3QpKQorICAg
ICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbCAncXQtd3JhcAorICAgICAgICAgICAoYXNzb2MtcmVm
IHF0OiVzdGFuZGFyZC1waGFzZXMgJ3F0LXdyYXApKSkpKQorICAgIChuYXRpdmUtaW5wdXRzCisg
ICAgIGAoKCJnZXR0ZXh0IiAsZ2V0dGV4dC1taW5pbWFsKQorICAgICAgICgicGtnLWNvbmZpZyIg
LHBrZy1jb25maWcpCisgICAgICAgKCJ3aGVyZWlzIiAsdXRpbC1saW51eCkpKQorICAgIChpbnB1
dHMKKyAgICAgYCgoImFudGh5IiAsYW50aHkpCisgICAgICAgKCJhcHBpbmRpY2F0b3IiICxsaWJh
cHBpbmRpY2F0b3IpCisgICAgICAgKCJjaGV3aW5nIiAsbGliY2hld2luZykKKyAgICAgICAoImd0
aysiICxndGsrKQorICAgICAgICgicXRiYXNlIiAscXRiYXNlKQorICAgICAgICgieHRzdCIgLGxp
Ynh0c3QpKSkKKyAgICAoc3lub3BzaXMgIkhJTUUgSW5wdXQgTWV0aG9kIEVkaXRvciIpCisgICAg
KGRlc2NyaXB0aW9uICJIaW1lIGlzIGFuIGV4dHJlbWVseSBlYXN5LXRvLXVzZSBpbnB1dCBtZXRo
b2QgZnJhbWV3b3JrLiAgSXQKK2lzIGxpZ2h0d2VpZ2h0LCBzdGFibGUsIHBvd2VyZnVsIGFuZCBz
dXBwb3J0cyBtYW55IGNvbW1vbmx5IHVzZWQgaW5wdXQgbWV0aG9kcywKK2luY2x1ZGluZyBDYW5n
amllLCBaaHV5aW4sIERheWksIFJhbmtlZCwgU2hyaW1wLCBHcmVlaywgQW50aHksIEtvcmVhbiwg
TGF0aW4sCitSYW5kb20gQ2FnZSBGaWdodGluZyBCaXJkcywgQ29vbCBNdXNpYyBldGMuIikKKyAg
ICAoaG9tZS1wYWdlICJodHRwOi8vaGltZS1pbWUuZ2l0aHViLmlvLyIpCisgICAgKGxpY2Vuc2UK
KyAgICAgKGxpc3QKKyAgICAgIGdwbDIrCisgICAgICBsZ3BsMi4xKworICAgICAgOzsgRG9jdW1l
bnRhdGlvbgorICAgICAgZmRsMS4yKykpKSkKKwogKGRlZmluZS1wdWJsaWMgbGliY2hld2luZwog
ICAocGFja2FnZQogICAgIChuYW1lICJsaWJjaGV3aW5nIikKLS0gCjIuMzAuMAoK


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0006-gnu-Add-nimf.patch"
Content-Type: text/x-patch; name="0006-gnu-Add-nimf.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSBjMmNiNzM1YzEwNGQ2NTY2N2FmM2Y5YzJjYWNkYzdmOTg4MDYwNmU4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVGh1LCAxNCBKYW4gMjAyMSAwMTowNzoxNiAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMDYvMTNdIGdudTogQWRkIG5pbWYuCgoqIGdudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20gKG5p
bWYpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVvLnByaWts
ZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbSB8IDEz
OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQs
IDEzOCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNj
bSBiL2dudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20KaW5kZXggMjIxODQ4ZjJiNS4uNjdiNTE5YWE1
NiAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbQorKysgYi9nbnUvcGFja2Fn
ZXMvbGFuZ3VhZ2Uuc2NtCkBAIC0yNiwxMCArMjYsMTUgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMgYW50aHkpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGF1dG90b29scykK
ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYXVkaW8pCisgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzIGJhc2UpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGRvY2Jvb2spCisg
ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGVtYWNzKQogICAjOnVzZS1tb2R1bGUgKGdudSBw
YWNrYWdlcyBmcmVlZGVza3RvcCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2V0dGV4
dCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2xpYikKKyAgIzp1c2UtbW9kdWxlIChn
bnUgcGFja2FnZXMgZ25vbWUpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGd0aykKKyAg
Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaWJ1cykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFj
a2FnZXMgamF2YSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbGludXgpCiAgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIGxsdm0pCkBAIC00Nyw2ICs1Miw3IEBACiAgICM6dXNlLW1v
ZHVsZSAoZ251IHBhY2thZ2VzIHRleGluZm8pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2Vz
IHdlYikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeG1sKQorICAjOnVzZS1tb2R1bGUg
KGdudSBwYWNrYWdlcyB4ZGlzb3JnKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4b3Jn
KQogICAjOnVzZS1tb2R1bGUgKGd1aXggcGFja2FnZXMpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBi
dWlsZC1zeXN0ZW0gY21ha2UpCkBAIC02Miw2ICs2OCwxMzggQEAKICAgIzp1c2UtbW9kdWxlIChn
dWl4IGdpdC1kb3dubG9hZCkKICAgIzp1c2UtbW9kdWxlIChndWl4IHV0aWxzKSkKIAorKGRlZmlu
ZS1wdWJsaWMgbmltZgorICAocGFja2FnZQorICAgIChuYW1lICJuaW1mIikKKyAgICAodmVyc2lv
biAiMS4yIikKKyAgICAoc291cmNlCisgICAgIChvcmlnaW4KKyAgICAgICAobWV0aG9kIGdpdC1m
ZXRjaCkKKyAgICAgICAodXJpCisgICAgICAgIChnaXQtcmVmZXJlbmNlCisgICAgICAgICAodXJs
ICJodHRwczovL2dpdGh1Yi5jb20vaGFtb25pa3IvbmltZi5naXQiKQorICAgICAgICAgKGNvbW1p
dAorICAgICAgICAgIChzdHJpbmctYXBwZW5kICJuaW1mLSIgdmVyc2lvbikpKSkKKyAgICAgICAo
ZmlsZS1uYW1lCisgICAgICAgIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCisgICAgICAg
KHNoYTI1NgorICAgICAgICAoYmFzZTMyICIwMXFpN2ZsbWFxcm4yZmswM3NhNDJyMGNha3M5ZDhs
c3Y4OHMwYmd4YWhoeHdrMXg3NmdjIikpKSkKKyAgICAoYnVpbGQtc3lzdGVtIGdsaWItb3ItZ3Rr
LWJ1aWxkLXN5c3RlbSkKKyAgICAob3V0cHV0cyAnKCJvdXQiICJkb2MiKSkKKyAgICAoYXJndW1l
bnRzCisgICAgIGAoIzppbXBvcnRlZC1tb2R1bGVzCisgICAgICAgKCxAJWdsaWItb3ItZ3RrLWJ1
aWxkLXN5c3RlbS1tb2R1bGVzCisgICAgICAgIChndWl4IGJ1aWxkIGNtYWtlLWJ1aWxkLXN5c3Rl
bSkKKyAgICAgICAgKGd1aXggYnVpbGQgcXQtYnVpbGQtc3lzdGVtKSkKKyAgICAgICAjOm1vZHVs
ZXMKKyAgICAgICAoKGd1aXggYnVpbGQgZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtKQorICAgICAg
ICAoKGd1aXggYnVpbGQgcXQtYnVpbGQtc3lzdGVtKQorICAgICAgICAgIzpwcmVmaXggcXQ6KQor
ICAgICAgICAoZ3VpeCBidWlsZCB1dGlscykpCisgICAgICAgIzpjb25maWd1cmUtZmxhZ3MKKyAg
ICAgICAobGlzdAorICAgICAgICAiLS13aXRoLWltLWNvbmZpZy1kYXRhIgorICAgICAgICAiLS13
aXRoLWltc2V0dGluZ3MtZGF0YSIKKyAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0td2l0aC1odG1s
LWRpcj0iCisgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgJW91dHB1dHMgImRvYyIp
CisgICAgICAgICAgICAgICAgICAgICAgICIvc2hhcmUvZ3RrLWRvYy9odG1sIikpCisgICAgICAg
IzpwaGFzZXMKKyAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCisgICAgICAg
ICAoYWRkLWFmdGVyICd1bnBhY2sgJ3BhdGNoLWZsYWdzCisgICAgICAgICAgIChsYW1iZGEqICgj
OmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgIChzdWJzdGl0dXRl
KiAiY29uZmlndXJlLmFjIgorICAgICAgICAgICAgICAgKCgiLVdlcnJvciIpCisgICAgICAgICAg
ICAgICAgIi1Xbm8tZXJyb3IiKSkKKyAgICAgICAgICAgICAjdCkpCisgICAgICAgICAoYWRkLWFm
dGVyICdwYXRjaC1mbGFncyAncGF0Y2gtZG9jYm9vay14bWwKKyAgICAgICAgICAgKGxhbWJkYSog
KCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgKHdpdGgtZGly
ZWN0b3J5LWV4Y3Vyc2lvbiAiZG9jcyIKKyAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAibmlt
Zi1kb2NzLnhtbCIKKyAgICAgICAgICAgICAgICAgKCgiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9y
Zy9kb2Nib29rL3htbC80LjMvIikKKyAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIChh
c3NvYy1yZWYgaW5wdXRzICJkb2Nib29rLXhtbC00LjMiKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi94bWwvZHRkL2RvY2Jvb2svIikpKSkKKyAgICAgICAgICAgICAjdCkpCisg
ICAgICAgICAoYWRkLWFmdGVyICdwYXRjaC1kb2Nib29rLXhtbCAncGF0Y2gtcGF0aHMKKyAgICAg
ICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykK
KyAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImNvbmZpZ3VyZS5hYyIKKyAgICAgICAgICAgICAg
ICgoIi91c3Ivc2hhcmUvYW50aHkvYW50aHkuZGljIikKKyAgICAgICAgICAgICAgICAoc3RyaW5n
LWFwcGVuZCAoYXNzb2MtcmVmIGlucHV0cyAiYW50aHkiKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICIvc2hhcmUvYW50aHkvYW50aHkuZGljIikpKQorICAgICAgICAgICAgIChzdWJz
dGl0dXRlKiAiY29uZmlndXJlLmFjIgorICAgICAgICAgICAgICAgKCgiL3Vzci9iaW46XFwkR1RL
M19MSUJESVIvbGliZ3RrLTMtMCIpCisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgKGFz
c29jLXJlZiBpbnB1dHMgImd0ays6YmluIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiL2JpbjokR1RLM19MSUJESVIvbGliZ3RrLTMtMCIpKQorICAgICAgICAgICAgICAgKCgiL3Vz
ci9iaW46XFwkR1RLMl9MSUJESVIvbGliZ3RrMi4wLTAiKQorICAgICAgICAgICAgICAgIChzdHJp
bmctYXBwZW5kIChhc3NvYy1yZWYgaW5wdXRzICJndGsrLTI6YmluIikKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiL2JpbjokR1RLMl9MSUJESVIvbGliZ3RrMi4wLTAiKSkpCisgICAg
ICAgICAgICAgKHN1YnN0aXR1dGUqICJtb2R1bGVzL2NsaWVudHMvZ3RrL01ha2VmaWxlLmFtIgor
ICAgICAgICAgICAgICAgKCgiXFwkXFwoR1RLM19MSUJESVJcXCkiKQorICAgICAgICAgICAgICAg
IChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiL2xpYiIpKQorICAgICAgICAgICAgICAgKCgiXFwkXFwoR1RLMl9M
SUJESVJcXCkiKQorICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0
cHV0cyAib3V0IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xpYiIpKSkKKyAg
ICAgICAgICAgICAoc3Vic3RpdHV0ZSogIm1vZHVsZXMvY2xpZW50cy9xdDQvTWFrZWZpbGUuYW0i
CisgICAgICAgICAgICAgICAoKCJcXCRcXChRVDRfTElCX0RJUlxcKSIpCisgICAgICAgICAgICAg
ICAgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICIvbGliIikpKQorICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAi
bW9kdWxlcy9jbGllbnRzL3F0NS9NYWtlZmlsZS5hbSIKKyAgICAgICAgICAgICAgICgoIlxcJFxc
KFFUNV9JTV9NT0RVTEVfRElSXFwpIikKKyAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAo
YXNzb2MtcmVmIG91dHB1dHMgIm91dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii9saWIvcXQ1L3BsdWdpbnMvaW5wdXRtZXRob2RzIikpKQorICAgICAgICAgICAgIChzdWJzdGl0
dXRlKiAnKCJiaW4vbmltZi1zZXR0aW5ncy9NYWtlZmlsZS5hbSIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZGF0YS9hcHBhcm1vci1hYnN0cmFjdGlvbnMvTWFrZWZpbGUuYW0iCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImRhdGEvTWFrZWZpbGUuYW0iICJkYXRhL2ltLWNvbmZp
Zy9NYWtlZmlsZS5hbSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YS9pbXNldHRp
bmdzL01ha2VmaWxlLmFtIikKKyAgICAgICAgICAgICAgICgoIi9ldGMiKQorICAgICAgICAgICAg
ICAgIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiL2V0YyIpKQorICAgICAgICAgICAgICAgKCgiL3Vzci9zaGFy
ZSIpCisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRzICJv
dXQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvc2hhcmUiKSkpCisgICAgICAg
ICAgICAgI3QpKQorICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbCAncXQtd3JhcAorICAgICAg
ICAgICAoYXNzb2MtcmVmIHF0OiVzdGFuZGFyZC1waGFzZXMgJ3F0LXdyYXApKSkpKQorICAgIChu
YXRpdmUtaW5wdXRzCisgICAgIGAoKCJhdXRvY29uZiIgLGF1dG9jb25mKQorICAgICAgICgiYXV0
b21ha2UiICxhdXRvbWFrZSkKKyAgICAgICAoImRvY2Jvb2steG1sLTQuMyIgLGRvY2Jvb2steG1s
LTQuMykKKyAgICAgICAoImdldHRleHQiICxnZXR0ZXh0LW1pbmltYWwpCisgICAgICAgKCJnb2Jq
ZWN0LWludHJvc3BlY3Rpb24iICxnb2JqZWN0LWludHJvc3BlY3Rpb24pCisgICAgICAgKCJndGsr
LTI6YmluIiAsZ3RrKy0yICJiaW4iKQorICAgICAgICgiZ3RrKzpiaW4iICxndGsrICJiaW4iKQor
ICAgICAgICgiZ3RrLWRvYyIgLGd0ay1kb2MpCisgICAgICAgKCJpbnRsdG9vbCIgLGludGx0b29s
KQorICAgICAgICgibGlidG9vbCIgLGxpYnRvb2wpCisgICAgICAgKCJwZXJsIiAscGVybCkKKyAg
ICAgICAoInBrZy1jb25maWciICxwa2ctY29uZmlnKQorICAgICAgICgid2hpY2giICx3aGljaCkp
KQorICAgIChpbnB1dHMKKyAgICAgYCgoImFudGh5IiAsYW50aHkpCisgICAgICAgKCJhcHBpbmRp
Y2F0b3IiICxsaWJhcHBpbmRpY2F0b3IpCisgICAgICAgKCJndGsrLTIiICxndGsrLTIpCisgICAg
ICAgKCJndGsrIiAsZ3RrKykKKyAgICAgICAoImhhbmd1bCIgLGxpYmhhbmd1bCkKKyAgICAgICAo
Im0xN24tZGIiICxtMTduLWRiKQorICAgICAgICgibTE3bi1saWIiICxtMTduLWxpYikKKyAgICAg
ICAoInF0LTQiICxxdC00KQorICAgICAgICgicXRiYXNlIiAscXRiYXNlKQorICAgICAgICgicmlt
ZSIgLGxpYnJpbWUpCisgICAgICAgKCJyc3ZnIiAsbGlicnN2ZykKKyAgICAgICAoIndheWxhbmQi
ICx3YXlsYW5kKQorICAgICAgICgid2F5bGFuZC1wcm90b2NvbHMiICx3YXlsYW5kLXByb3RvY29s
cykKKyAgICAgICAoIngxMSIgLGxpYngxMSkKKyAgICAgICAoInhrYmNvbW1vbiIgLGxpYnhrYmNv
bW1vbikKKyAgICAgICAoInhrbGF2aWVyIiAsbGlieGtsYXZpZXIpKSkKKyAgICAocHJvcGFnYXRl
ZC1pbnB1dHMKKyAgICAgYCgoImdsaWIiICxnbGliKSkpCisgICAgKHN5bm9wc2lzICJMaWdodHdl
aWdodCBpbnB1dCBtZXRob2QgZnJhbWV3b3JrIikKKyAgICAoZGVzY3JpcHRpb24gIk5pbWYgaXMg
YSBsaWdodHdlaWdodCwgZmFzdCBhbmQgZXh0ZW5zaWJsZSBpbnB1dCBtZXRob2QKK2ZyYW1ld29y
ay4gIFRoaXMgcGFja2FnZSBwcm92aWRlcyBhIGZvcmsgb2YgdGhlIG9yaWdpbmFsIG5pbWYgcHJv
amVjdCwgdGhhdAorZm9jdXNzZXMgZXNwZWNpYWxseSBvbiBLb3JlYW4gaW5wdXQgKEhhbmd1bCwg
SGFuamEsIC4uLikuIikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vaGFtb25p
a3IvbmltZi8iKQorICAgIChsaWNlbnNlIGxncGwzKykpKQorCiAoZGVmaW5lLXB1YmxpYyBoaW1l
CiAgIChwYWNrYWdlCiAgICAgKG5hbWUgImhpbWUiKQotLSAKMi4zMC4wCgo=


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0007-gnu-Add-cmake-shared.patch"
Content-Type: text/x-patch; name="0007-gnu-Add-cmake-shared.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSA4MWNmMGMzYTcyZjI0NTE4MTQ5MDA1ODhiODI3ZjZmNTEwNGFmYjdiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU3VuLCAzIEphbiAyMDIxIDE5OjAzOjAwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwNy8xM10gZ251OiBBZGQgY21ha2Utc2hhcmVkLgoKKiBnbnUvcGFja2FnZXMvY21ha2Uuc2Nt
IChjbWFrZS1zaGFyZWQpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xl
ciA8bGVvLnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2NtYWtl
LnNjbSB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwg
MjkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9jbWFrZS5zY20gYi9n
bnUvcGFja2FnZXMvY21ha2Uuc2NtCmluZGV4IDU2YjMyNzkyZmUuLmFiNzQ2NTAwNjYgMTAwNjQ0
Ci0tLSBhL2dudS9wYWNrYWdlcy9jbWFrZS5zY20KKysrIGIvZ251L3BhY2thZ2VzL2NtYWtlLnNj
bQpAQCAtMzEsNiArMzEsNyBAQAogICAjOnVzZS1tb2R1bGUgKChndWl4IGxpY2Vuc2VzKSAjOnBy
ZWZpeCBsaWNlbnNlOikKICAgIzp1c2UtbW9kdWxlIChndWl4IHBhY2thZ2VzKQogICAjOnVzZS1t
b2R1bGUgKGd1aXggZG93bmxvYWQpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBnaXQtZG93bmxvYWQp
CiAgICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKICAgIzp1c2UtbW9kdWxlIChndWl4IGRlcHJl
Y2F0aW9uKQogICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdudSkKQEAgLTQzLDYg
KzQ0LDcgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY3VybCkKICAgIzp1c2UtbW9k
dWxlIChnbnUgcGFja2FnZXMgZmlsZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaHVy
ZCkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMga2RlLWZyYW1ld29ya3MpCiAgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpYmV2ZW50KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr
YWdlcyBuY3Vyc2VzKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBzZXJpYWxpemF0aW9u
KQpAQCAtNTIsNiArNTQsMzMgQEAKICAgIzp1c2UtbW9kdWxlIChpY2UtOSBtYXRjaCkKICAgIzp1
c2UtbW9kdWxlIChzcmZpIHNyZmktMSkpCiAKKyhkZWZpbmUtcHVibGljIGNtYWtlLXNoYXJlZAor
ICAocGFja2FnZQorICAgIChuYW1lICJjbWFrZS1zaGFyZWQiKQorICAgICh2ZXJzaW9uICIxLjEu
MCIpCisgICAgKHNvdXJjZQorICAgICAob3JpZ2luCisgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gp
CisgICAgICAgKHVyaQorICAgICAgICAoZ2l0LXJlZmVyZW5jZQorICAgICAgICAgKHVybCAiaHR0
cHM6Ly9naXRodWIuY29tL2xpcmlvcy9jbWFrZS1zaGFyZWQuZ2l0IikKKyAgICAgICAgIChjb21t
aXQKKyAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAidiIgdmVyc2lvbikpKSkKKyAgICAgICAoZmls
ZS1uYW1lCisgICAgICAgIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCisgICAgICAgKHNo
YTI1NgorICAgICAgICAoYmFzZTMyICIxc3JkM2ptbGFsZjBzemd5cDg4eW1oYm53ZHM0cWl5d21m
OGxxMXBpZjlnOGlyampoZHJ5IikpKSkKKyAgICAoYnVpbGQtc3lzdGVtIGNtYWtlLWJ1aWxkLXN5
c3RlbSkKKyAgICAoYXJndW1lbnRzCisgICAgIGAoIzp0ZXN0cz8gI2YpKSAgICAgICAgICAgICAg
ICAgICAgOyBObyB0YXJnZXQKKyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiZXh0cmEtY21h
a2UtbW9kdWxlcyIgLGV4dHJhLWNtYWtlLW1vZHVsZXMpKSkKKyAgICAoc3lub3BzaXMgIlNoYXJl
ZCBDTWFrZSBmdW5jdGlvbnMgYW5kIG1hY3JvcyIpCisgICAgKGRlc2NyaXB0aW9uICJDTWFrZS1T
aGFyZWQgYXJlIHNoYXJlZCBmdW5jdGlvbnMgYW5kIG1hY3JvcyBmb3IgcHJvamVjdHMKK3VzaW5n
IHRoZSBDTWFrZSBidWlsZCBzeXN0ZW0uIikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1
Yi5jb20vbGlyaW9zL2NtYWtlLXNoYXJlZC8iKQorICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTMp
KSkKKwogOzs7IEJ1aWxkIHBoYXNlcyBzaGFyZWQgYmV0d2VlbiAnY21ha2UtYm9vdHN0cmFwJyBh
bmQgdGhlIGxhdGVyIHZhcmlhbnRzCiA7OzsgdGhhdCB1c2UgY21ha2UtYnVpbGQtc3lzdGVtLgog
KGRlZmluZSAlY29tbW9uLWJ1aWxkLXBoYXNlcwotLSAKMi4zMC4wCgo=


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0008-gnu-Add-materialdecoration.patch"
Content-Type: text/x-patch; name="0008-gnu-Add-materialdecoration.patch";
	charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSBhYTAwMWZiM2MyMjU5YzgxMDA2NDg0ODZkNDQyNzI3MTFlMWIwYjA1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU3VuLCAzIEphbiAyMDIxIDE5OjA4OjQzIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwOC8xM10gZ251OiBBZGQgbWF0ZXJpYWxkZWNvcmF0aW9uLgoKKiBnbnUvcGFja2FnZXMvcXQu
c2NtIChtYXRlcmlhbGRlY29yYXRpb24pOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBM
ZW8gUHJpa2xlciA8bGVvLnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2th
Z2VzL3F0LnNjbSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUg
Y2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9xdC5z
Y20gYi9nbnUvcGFja2FnZXMvcXQuc2NtCmluZGV4IDc5ZDQxYjNlNzMuLjYwZTRmNDNjNmEgMTAw
NjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9xdC5zY20KKysrIGIvZ251L3BhY2thZ2VzL3F0LnNjbQpA
QCAtNDUsNiArNDUsNyBAQAogICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdudSkK
ICAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSB0cml2aWFsKQogICAjOnVzZS1tb2R1
bGUgKGd1aXggYnVpbGQtc3lzdGVtIHB5dGhvbikKKyAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxk
LXN5c3RlbSBxdCkKICAgIzp1c2UtbW9kdWxlIChndWl4IHBhY2thZ2VzKQogICAjOnVzZS1tb2R1
bGUgKGd1aXggZGVwcmVjYXRpb24pCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKQEAgLTcy
LDYgKzczLDcgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3RrKQogICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyBpY3U0YykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
aW1hZ2UpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGtkZS1mcmFtZXdvcmtzKQogICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBsaWJldmVudCkKICAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMgbGludXgpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxsdm0pCkBAIC0x
MDMsNiArMTA1LDM2IEBACiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHhtbCkKICAgIzp1
c2UtbW9kdWxlIChzcmZpIHNyZmktMSkpCiAKKyhkZWZpbmUtcHVibGljIG1hdGVyaWFsZGVjb3Jh
dGlvbgorICAocGFja2FnZQorICAgIChuYW1lICJtYXRlcmlhbGRlY29yYXRpb24iKQorICAgICh2
ZXJzaW9uICIxLjEuMCIpCisgICAgKHNvdXJjZQorICAgICAob3JpZ2luCisgICAgICAgKG1ldGhv
ZCBnaXQtZmV0Y2gpCisgICAgICAgKHVyaQorICAgICAgICAoZ2l0LXJlZmVyZW5jZQorICAgICAg
ICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2xpcmlvcy9tYXRlcmlhbGRlY29yYXRpb24uZ2l0
IikKKyAgICAgICAgIChjb21taXQgIjIwNzk0ODcxMTZjNmM3OTRhZjNhMTU0NTIzNDJhNjkyOTMw
MzliNDYiKSkpCisgICAgICAgKGZpbGUtbmFtZQorICAgICAgICAoZ2l0LWZpbGUtbmFtZSBuYW1l
IHZlcnNpb24pKQorICAgICAgIChzaGEyNTYKKyAgICAgICAgKGJhc2UzMiAiMXBjem14Ym1uc2dq
OXMxZzZhcDU1cXEycTRjY2liY25oc3c5YjZjbDVyemdjNDhpenkwNiIpKSkpCisgICAgKGJ1aWxk
LXN5c3RlbSBxdC1idWlsZC1zeXN0ZW0pCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAgYCgoImNt
YWtlLXNoYXJlZCIgLGNtYWtlLXNoYXJlZCkKKyAgICAgICAoImV4dHJhLWNtYWtlLW1vZHVsZXMi
ICxleHRyYS1jbWFrZS1tb2R1bGVzKQorICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcp
KSkKKyAgICAoaW5wdXRzCisgICAgIGAoKCJxdGJhc2UiICxxdGJhc2UpCisgICAgICAgKCJxdHdh
eWxhbmQiICxxdHdheWxhbmQpCisgICAgICAgKCJ3YXlsYW5kIiAsd2F5bGFuZCkpKQorICAgIChz
eW5vcHNpcyAiTWF0ZXJpYWwgRGVjb3JhdGlvbiBmb3IgUXQiKQorICAgIChkZXNjcmlwdGlvbiAi
TWF0ZXJpYWxEZWNvcmF0aW9uIGlzIGEgY2xpZW50LXNpZGUgZGVjb3JhdGlvbiBmb3IgUXQKK2Fw
cGxpY2F0aW9ucyBvbiBXYXlsYW5kLiIpCisgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIu
Y29tL2xpcmlvcy9tYXRlcmlhbGRlY29yYXRpb24iKQorICAgIChsaWNlbnNlIGxpY2Vuc2U6bGdw
bDMrKSkpCisKIChkZWZpbmUtcHVibGljIGdyYW50bGVlCiAgIChwYWNrYWdlCiAgICAgKG5hbWUg
ImdyYW50bGVlIikKLS0gCjIuMzAuMAoK


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0009-gnu-Add-range-v3.patch"
Content-Type: text/x-patch; name="0009-gnu-Add-range-v3.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSA3Zjk3MTFjYjRiOTgwODQzZGM2ZDc4NWRiYzM0MmQ3M2Q5MDBiMTQwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogTW9uLCA0IEphbiAyMDIxIDIzOjU5OjE3IC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwOS8xM10gZ251OiBBZGQgcmFuZ2UtdjMuCgoqIGdudS9wYWNrYWdlcy9jcHAuc2NtIChyYW5n
ZS12Myk6IE5ldyB2YXJpYWJsZS4KClNpZ25lZC1vZmYtYnk6IExlbyBQcmlrbGVyIDxsZW8ucHJp
a2xlckBzdHVkZW50LnR1Z3Jhei5hdD4KLS0tCiBnbnUvcGFja2FnZXMvY3BwLnNjbSB8IDQwICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0
MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2NwcC5zY20gYi9nbnUv
cGFja2FnZXMvY3BwLnNjbQppbmRleCAyNTE0YWY1YTg0Li4wZDc1YjkyMzdlIDEwMDY0NAotLS0g
YS9nbnUvcGFja2FnZXMvY3BwLnNjbQorKysgYi9nbnUvcGFja2FnZXMvY3BwLnNjbQpAQCAtNDks
NiArNDksNyBAQAogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjb21wcmVzc2lvbikKICAg
Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY3J5cHRvKQogICAjOnVzZS1tb2R1bGUgKGdudSBw
YWNrYWdlcyBjdXJsKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBkb2N1bWVudGF0aW9u
KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnY2MpCiAgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzIGxpYmV2ZW50KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBsaWJ1bndp
bmQpCkBAIC02Myw2ICs2NCw0NSBAQAogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0bHMp
CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHdlYikpCiAKKyhkZWZpbmUtcHVibGljIHJh
bmdlLXYzCisgIChwYWNrYWdlCisgICAgKG5hbWUgInJhbmdlLXYzIikKKyAgICAodmVyc2lvbiAi
MC4xMS4wIikKKyAgICAoc291cmNlCisgICAgIChvcmlnaW4KKyAgICAgICAobWV0aG9kIGdpdC1m
ZXRjaCkKKyAgICAgICAodXJpCisgICAgICAgIChnaXQtcmVmZXJlbmNlCisgICAgICAgICAodXJs
ICJodHRwczovL2dpdGh1Yi5jb20vZXJpY25pZWJsZXIvcmFuZ2UtdjMuZ2l0IikKKyAgICAgICAg
IChjb21taXQgdmVyc2lvbikpKQorICAgICAgIChmaWxlLW5hbWUKKyAgICAgICAgKGdpdC1maWxl
LW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAgICAoc2hhMjU2CisgICAgICAgIChiYXNlMzIgIjE4
MjMwYmc0cnE5cG1tNWY4ZjY1ajQ0NGpwcTU2cmxkNGZobXBoYW04cTN2cjFjMWJkamgiKSkpKQor
ICAgIChidWlsZC1zeXN0ZW0gY21ha2UtYnVpbGQtc3lzdGVtKQorICAgIChuYXRpdmUtaW5wdXRz
CisgICAgIGAoKCJkb3h5Z2VuIiAsZG94eWdlbikKKyAgICAgICAoInBlcmwiICxwZXJsKSkpCisg
ICAgKGlucHV0cworICAgICBgKCgiYm9vc3QiICxib29zdCkpKQorICAgIChzeW5vcHNpcyAiUmFu
Z2UgbGlicmFyeSBmb3IgQysrMTQvMTcvMjAiKQorICAgIChkZXNjcmlwdGlvbiAiUmFuZ2UtdjMg
aXMgYW4gZXh0ZW5zaW9uIG9mIHRoZSBTdGFuZGFyZCBUZW1wbGF0ZSBMaWJyYXJ5IHRoYXQKK21h
a2VzIGl0cyBpdGVyYXRvcnMgYW5kIGFsZ29yaXRobXMgbW9yZSBwb3dlcmZ1bCBieSBtYWtpbmcg
dGhlbSBjb21wb3NhYmxlLgorVW5saWtlIG90aGVyIHJhbmdlLWxpa2Ugc29sdXRpb25zIHdoaWNo
LCBzZWVrIHRvIGRvIGF3YXkgd2l0aCBpdGVyYXRvcnMsIGluCityYW5nZS12MyByYW5nZXMgYXJl
IGFuIGFic3RyYXRpb24gbGF5ZXIgb24gdG9wIG9mIGl0ZXJhdG9ycy4iKQorICAgIChob21lLXBh
Z2UgImh0dHBzOi8vZ2l0aHViLmNvbS9lcmljbmllYmxlci9yYW5nZS12My8iKQorICAgIChsaWNl
bnNlCisgICAgIChsaXN0CisgICAgICA7OyBFbGVtZW50cyBvZiBQcm9ncmFtbWluZworICAgICAg
KGxpY2Vuc2U6eDExLXN0eWxlICJmaWxlOi8vL0xJQ0VOU0UudHh0IikKKyAgICAgIDs7IFNHSSBT
VEwKKyAgICAgIGxpY2Vuc2U6c2dpZnJlZWIyLjAKKyAgICAgIDs7OyBMaWJDKysgKGR1YWwtbGlj
ZW5zZWQpCisgICAgICBsaWNlbnNlOmV4cGF0CisgICAgICBsaWNlbnNlOm5jc2EKKyAgICAgIDs7
IE90aGVycworICAgICAgbGljZW5zZTpib29zdDEuMCkpKSkKKwogKGRlZmluZS1wdWJsaWMgYysr
LWdzbAogICAocGFja2FnZQogICAgIChuYW1lICJjKystZ3NsIikKLS0gCjIuMzAuMAoK


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0010-gnu-Add-rlottie.patch"
Content-Type: text/x-patch; name="0010-gnu-Add-rlottie.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSBlMWM0YTY1YjhkNzI5M2ZhYjVmNjNlMDhmNDQ2NmU2Mjk2NTkyNjE1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVHVlLCA1IEphbiAyMDIxIDAwOjUyOjM3IC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAxMC8xM10gZ251OiBBZGQgcmxvdHRpZS4KCiogZ251L3BhY2thZ2VzL2NwcC5zY20gKHJsb3R0
aWUpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVvLnByaWts
ZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2NwcC5zY20gfCAzMyArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNlcnRp
b25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2NwcC5zY20gYi9nbnUvcGFja2FnZXMv
Y3BwLnNjbQppbmRleCAwZDc1YjkyMzdlLi5hZmI4YmUwNzZmIDEwMDY0NAotLS0gYS9nbnUvcGFj
a2FnZXMvY3BwLnNjbQorKysgYi9nbnUvcGFja2FnZXMvY3BwLnNjbQpAQCAtMzksMTIgKzM5LDE0
IEBACiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBnaXQtZG93bmxvYWQpCiAgICM6dXNlLW1vZHVsZSAo
Z3VpeCBidWlsZC1zeXN0ZW0gY21ha2UpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0
ZW0gZ251KQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIG1lc29uKQogICAjOnVz
ZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIHB5dGhvbikKICAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGF1dG90b29scykKICAgIzp1
c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYm9vc3QpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th
Z2VzIGMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNoZWNrKQorICAjOnVzZS1tb2R1
bGUgKGdudSBwYWNrYWdlcyBjbWFrZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY29k
ZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY29tcHJlc3Npb24pCiAgICM6dXNlLW1v
ZHVsZSAoZ251IHBhY2thZ2VzIGNyeXB0bykKQEAgLTY0LDYgKzY2LDM3IEBACiAgICM6dXNlLW1v
ZHVsZSAoZ251IHBhY2thZ2VzIHRscykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgd2Vi
KSkKIAorKGRlZmluZS1wdWJsaWMgcmxvdHRpZQorICAocGFja2FnZQorICAgIChuYW1lICJybG90
dGllIikKKyAgICAodmVyc2lvbiAiMC4yIikKKyAgICAoc291cmNlCisgICAgIChvcmlnaW4KKyAg
ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAodXJpCisgICAgICAgIChnaXQtcmVmZXJl
bmNlCisgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vU2Ftc3VuZy9ybG90dGllLmdp
dCIpCisgICAgICAgICAoY29tbWl0CisgICAgICAgICAgKHN0cmluZy1hcHBlbmQgInYiIHZlcnNp
b24pKSkpCisgICAgICAgKGZpbGUtbmFtZQorICAgICAgICAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZl
cnNpb24pKQorICAgICAgIChzaGEyNTYKKyAgICAgICAgKGJhc2UzMiAiMTBieHIxemY5d3hsNTVk
NGN3MmowMnI2c2dxbG43bWJ4cGxoaGZ2aHcwejkyZmk0MGtyMyIpKSkpCisgICAgKGJ1aWxkLXN5
c3RlbSBtZXNvbi1idWlsZC1zeXN0ZW0pCisgICAgKGFyZ3VtZW50cworICAgICBgKCM6Y29uZmln
dXJlLWZsYWdzCisgICAgICAgKGxpc3QKKyAgICAgICAgIi1EbG9nPXRydWUiCisgICAgICAgICIt
RHRlc3Q9dHJ1ZSIpKSkKKyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiZ29vZ2xldGVzdCIg
LGdvb2dsZXRlc3QpCisgICAgICAgKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykpKQorICAgIChz
eW5vcHNpcyAiTG90dGllIEFuaW1hdGlvbiBMaWJyYXJ5IikKKyAgICAoZGVzY3JpcHRpb24gIlJs
b3R0aWUgaXMgYSBwbGF0Zm9ybSBpbmRlcGVuZGVudCBzdGFuZGFsb25lIGMrKyBsaWJyYXJ5IGZv
cgorcmVuZGVyaW5nIHZlY3RvciBiYXNlZCBhbmltYXRpb25zIGFuZCBhcnQgaW4gcmVhbHRpbWUu
IikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vU2Ftc3VuZy9ybG90dGllLyIp
CisgICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQorCiAoZGVmaW5lLXB1YmxpYyByYW5nZS12
MwogICAocGFja2FnZQogICAgIChuYW1lICJyYW5nZS12MyIpCi0tIAoyLjMwLjAKCg==


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0011-gnu-Add-qt5ct.patch"
Content-Type: text/x-patch; name="0011-gnu-Add-qt5ct.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSA0MjkyYWQ0ODNmOTM3YmMzZGU0ODMxMmY2ZjRmODA1ZTZmYWM2ZjYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVHVlLCA1IEphbiAyMDIxIDE3OjUwOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAxMS8xM10gZ251OiBBZGQgcXQ1Y3QuCgoqIGdudS9wYWNrYWdlcy9xdC5zY20gKHF0NWN0KTog
TmV3IHZhcmlhYmxlLgoKU2lnbmVkLW9mZi1ieTogTGVvIFByaWtsZXIgPGxlby5wcmlrbGVyQHN0
dWRlbnQudHVncmF6LmF0PgotLS0KIGdudS9wYWNrYWdlcy9xdC5zY20gfCA1NSArKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1NSBp
bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3F0LnNjbSBiL2dudS9wYWNr
YWdlcy9xdC5zY20KaW5kZXggNjBlNGY0M2M2YS4uYTA0MDliMDA2MCAxMDA2NDQKLS0tIGEvZ251
L3BhY2thZ2VzL3F0LnNjbQorKysgYi9nbnUvcGFja2FnZXMvcXQuc2NtCkBAIC0xMDUsNiArMTA1
LDYxIEBACiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHhtbCkKICAgIzp1c2UtbW9kdWxl
IChzcmZpIHNyZmktMSkpCiAKKyhkZWZpbmUtcHVibGljIHF0NWN0CisgIChwYWNrYWdlCisgICAg
KG5hbWUgInF0NWN0IikKKyAgICAodmVyc2lvbiAiMS4xIikKKyAgICAoc291cmNlCisgICAgIChv
cmlnaW4KKyAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKKyAgICAgICAodXJpCisgICAgICAgIChz
dHJpbmctYXBwZW5kICJtaXJyb3I6Ly9zb3VyY2Vmb3JnZS9xdDVjdC9xdDVjdC0iIHZlcnNpb24g
Ii50YXIuYnoyIikpCisgICAgICAgKHNoYTI1NgorICAgICAgICAoYmFzZTMyICIxbG54NHdxazg3
bGJyNmxxYzY0dzVnNXBwamp2NzVrcTJyMHEwYno5Z2Zwcnl6ZHc4eHhnIikpKSkKKyAgICAoYnVp
bGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCisgICAgKGFyZ3VtZW50cworICAgICBgKCM6dGVz
dHM/ICNmICAgICAgICAgICAgICAgICAgICAgIDsgTm8gdGFyZ2V0CisgICAgICAgIzppbXBvcnRl
ZC1tb2R1bGVzCisgICAgICAgKCxAJWdudS1idWlsZC1zeXN0ZW0tbW9kdWxlcworICAgICAgICAo
Z3VpeCBidWlsZCBjbWFrZS1idWlsZC1zeXN0ZW0pCisgICAgICAgIChndWl4IGJ1aWxkIHF0LWJ1
aWxkLXN5c3RlbSkpCisgICAgICAgIzptb2R1bGVzCisgICAgICAgKChndWl4IGJ1aWxkIGdudS1i
dWlsZC1zeXN0ZW0pCisgICAgICAgICgoZ3VpeCBidWlsZCBxdC1idWlsZC1zeXN0ZW0pCisgICAg
ICAgICAjOnByZWZpeCBxdDopCisgICAgICAgIChndWl4IGJ1aWxkIHV0aWxzKSkKKyAgICAgICAj
OnBoYXNlcworICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKKyAgICAgICAg
IChhZGQtYWZ0ZXIgJ3VucGFjayAncGF0Y2gKKyAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlu
cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJxdDVj
dC5wcm8iCisgICAgICAgICAgICAgICAoKCJcXCRcXCRcXFtRVF9JTlNUQUxMX0JJTlNcXF0vbHJl
bGVhc2UiKQorICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgaW5wdXRz
ICJxdHRvb2xzIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2Jpbi9scmVsZWFz
ZSIpKSkKKyAgICAgICAgICAgICAjdCkpCisgICAgICAgICAocmVwbGFjZSAnY29uZmlndXJlCisg
ICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAg
ICAgICAgICAgICAobGV0KiAoKG91dCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpKSkKKyAgICAg
ICAgICAgICAgIChpbnZva2UgInFtYWtlIgorICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5n
LWFwcGVuZCAiUFJFRklYPSIgb3V0KQorICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFw
cGVuZCAiQklORElSPSIgb3V0ICIvYmluIikKKyAgICAgICAgICAgICAgICAgICAgICAgKHN0cmlu
Zy1hcHBlbmQgIkRBVEFESVI9IiBvdXQgIi9zaGFyZSIpCisgICAgICAgICAgICAgICAgICAgICAg
IChzdHJpbmctYXBwZW5kICJQTFVHSU5ESVI9IiBvdXQgIi9saWIvcXQ1L3BsdWdpbnMiKSkpCisg
ICAgICAgICAgICAgI3QpKQorICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbCAncXQtd3JhcAor
ICAgICAgICAgICAoYXNzb2MtcmVmIHF0OiVzdGFuZGFyZC1waGFzZXMgJ3F0LXdyYXApKSkpKQor
ICAgIChuYXRpdmUtaW5wdXRzCisgICAgIGAoKCJxdHRvb2xzIiAscXR0b29scykpKQorICAgIChp
bnB1dHMKKyAgICAgYCgoInF0YmFzZSIgLHF0YmFzZSkKKyAgICAgICAoInF0c3ZnIiAscXRzdmcp
KSkKKyAgICAoc3lub3BzaXMgIlF0NSBDb25maWd1cmF0aW9uIFRvb2wiKQorICAgIChkZXNjcmlw
dGlvbiAiUXQ1Q1QgaXMgYSBwcm9ncmFtIHRoYXQgYWxsb3dzIHVzZXJzIHRvIGNvbmZpZ3VyZSBR
dDUKK3NldHRpbmdzIChzdWNoIGFzIGljb25zLCB0aGVtZXMsIGFuZCBmb250cykgaW4gZGVza3Rv
cCBlbnZpcm9ubWVudHMgb3IKK3dpbmRvdyBtYW5hZ2VycywgdGhhdCBkb24ndCBwcm92aWRlIFF0
IGludGVncmF0aW9uIGJ5IHRoZW1zZWx2ZXMuIikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL3F0
NWN0LnNvdXJjZWZvcmdlLmlvLyIpCisgICAgKGxpY2Vuc2UgbGljZW5zZTpic2QtMikpKQorCiAo
ZGVmaW5lLXB1YmxpYyBtYXRlcmlhbGRlY29yYXRpb24KICAgKHBhY2thZ2UKICAgICAobmFtZSAi
bWF0ZXJpYWxkZWNvcmF0aW9uIikKLS0gCjIuMzAuMAoK


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0012-gnu-Add-tg-owt.patch"
Content-Type: text/x-patch; name="0012-gnu-Add-tg-owt.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAxZDg1YzNiYjVlZmFjYTNmOWFlZWE4OTZlMmU5MWMyMmM1ZmI4NWM4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVGh1LCA3IEphbiAyMDIxIDE5OjQxOjQyIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAxMi8xM10gZ251OiBBZGQgdGctb3d0LgoKKiBnbnUvcGFja2FnZXMvdGVsZWdyYW0uc2NtOiBO
ZXcgbW9kdWxlLgoodGctb3d0KTogTmV3IHZhcmlhYmxlLgoqIGdudS9sb2NhbC5tayAoR05VX1NZ
U1RFTV9NT0RVTEVTKTogQWRkIGl0LgoKU2lnbmVkLW9mZi1ieTogTGVvIFByaWtsZXIgPGxlby5w
cmlrbGVyQHN0dWRlbnQudHVncmF6LmF0PgoKZml4dXAgdGctb3d0Ci0tLQogZ251L2xvY2FsLm1r
ICAgICAgICAgICAgICB8ICAgMSArCiBnbnUvcGFja2FnZXMvdGVsZWdyYW0uc2NtIHwgMTQzICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE0
NCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3RlbGVncmFt
LnNjbQoKZGlmZiAtLWdpdCBhL2dudS9sb2NhbC5tayBiL2dudS9sb2NhbC5tawppbmRleCBmNzlm
OTgxYTEyLi5jZTZmZDg0MGE4IDEwMDY0NAotLS0gYS9nbnUvbG9jYWwubWsKKysrIGIvZ251L2xv
Y2FsLm1rCkBAIC01MzQsNiArNTM0LDcgQEAgR05VX1NZU1RFTV9NT0RVTEVTID0JCQkJXAogICAl
RCUvcGFja2FnZXMvdGFzay1tYW5hZ2VtZW50LnNjbQkJXAogICAlRCUvcGFja2FnZXMvdGJiLnNj
bQkJCQlcCiAgICVEJS9wYWNrYWdlcy90Y2wuc2NtCQkJCVwKKyAgJUQlL3BhY2thZ2VzL3RlbGVn
cmFtLnNjbSAgICAgICAgICAgICAgICAgXAogICAlRCUvcGFja2FnZXMvdGVsZXBob255LnNjbQkJ
CVwKICAgJUQlL3BhY2thZ2VzL3Rlcm1pbmFscy5zY20JCQlcCiAgICVEJS9wYWNrYWdlcy90ZXJy
YWZvcm0uc2NtCQkJXApkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3RlbGVncmFtLnNjbSBiL2du
dS9wYWNrYWdlcy90ZWxlZ3JhbS5zY20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMC4uMGZkNDdmNGY1ZAotLS0gL2Rldi9udWxsCisrKyBiL2dudS9wYWNrYWdlcy90ZWxlZ3Jh
bS5zY20KQEAgLTAsMCArMSwxNDMgQEAKKzs7OyBHTlUgR3VpeCAtLS0gRnVuY3Rpb25hbCBwYWNr
YWdlIG1hbmFnZW1lbnQgZm9yIEdOVQorOzs7IENvcHlyaWdodCDCqSAyMDIxIFJhZ2hhdiBHdXJ1
cmFqYW4gPHJnQHJhZ2hhdmd1cnVyYWphbi5uYW1lPgorOzs7Cis7OzsgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgR05VIEd1aXguCis7OzsKKzs7OyBHTlUgR3VpeCBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Cis7OzsgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7OyB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQKKzs7OyB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCis7OzsKKzs7
OyBHTlUgR3VpeCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLCBidXQKKzs7OyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCis7OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorOzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCis7OzsKKzs7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorOzs7IGFsb25nIHdpdGggR05V
IEd1aXguICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyhk
ZWZpbmUtbW9kdWxlIChnbnUgcGFja2FnZXMgdGVsZWdyYW0pCisgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBhc3NlbWJseSkKKyAgIzp1
c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaW1hZ2UpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th
Z2VzIGxpbnV4KQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwa2ctY29uZmlnKQorICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwcm90b2J1ZikKKyAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMgcHVsc2VhdWRpbykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcHl0aG9u
KQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0bHMpCisgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzIHZpZGVvKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4aXBoKQorICAj
OnVzZS1tb2R1bGUgKChndWl4IGxpY2Vuc2VzKSAjOnByZWZpeCBsaWNlbnNlOikKKyAgIzp1c2Ut
bW9kdWxlIChndWl4IHBhY2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGd1aXggZ2l0LWRvd25sb2Fk
KQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGNtYWtlKSkKKworKGRlZmluZS1w
dWJsaWMgdGctb3d0CisgIChsZXQgKChjb21taXQgImZhODZmY2MwMGMyMTg4MTNkNjFhMjcyYTU2
ZmVhYjU1Yzc2YTFhYjkiKQorICAgICAgICAocmV2aXNpb24gIjEiKSkKKyAgICAocGFja2FnZQor
ICAgICAgKG5hbWUgInRnLW93dCIpCisgICAgICAodmVyc2lvbgorICAgICAgIChnaXQtdmVyc2lv
biAiMCIgcmV2aXNpb24gY29tbWl0KSkKKyAgICAgIChzb3VyY2UKKyAgICAgICAob3JpZ2luCisg
ICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAgICh1cmkKKyAgICAgICAgICAoZ2l0
LXJlZmVyZW5jZQorICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vZGVza3RvcC1h
cHAvdGdfb3d0LmdpdCIpCisgICAgICAgICAgIChjb21taXQgY29tbWl0KSkpCisgICAgICAgICAo
ZmlsZS1uYW1lCisgICAgICAgICAgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAg
ICAgIChzaGEyNTYKKyAgICAgICAgICAoYmFzZTMyICIwNmdjcmx5bTZ2cXF3N3psZHM5bHB3eWcz
N2Q1bTgxZDg3aDE2YXBzMTl2MHY5Z3phbjBsIikpCisgICAgICAgICAobW9kdWxlcyAnKChndWl4
IGJ1aWxkIHV0aWxzKQorICAgICAgICAgICAgICAgICAgICAoaWNlLTkgZnR3KQorICAgICAgICAg
ICAgICAgICAgICAoc3JmaSBzcmZpLTEpKSkKKyAgICAgICAgIChzbmlwcGV0CisgICAgICAgICAg
YChiZWdpbgorICAgICAgICAgICAgIChsZXQgKChrZWVwCisgICAgICAgICAgICAgICAgICAgICco
IDs7IEN1c3RvbSBmb3JrcyB3aGljaCBhcmUgaW5jb21wYXRpYmxlIHdpdGggdGhlIG9uZXMgaW4g
R3VpeC4KKyAgICAgICAgICAgICAgICAgICAgICAiYWJzZWlsLWNwcCIgImxpYnNydHAiICJvcGVu
aDI2NCIgInJubm9pc2UiCisgICAgICAgICAgICAgICAgICAgICAgOzsgTm90IGF2YWlsYWJsZSBp
biBHdWl4LgorICAgICAgICAgICAgICAgICAgICAgICJwZmZmdCIgInVzcnNjdHAiCisgICAgICAg
ICAgICAgICAgICAgICAgOzsgSGFzIGNtYWtlIHN1cHBvcnQgZmlsZXMgZm9yIGxpYnZweCBpbnB1
dC4KKyAgICAgICAgICAgICAgICAgICAgICAibGlidnB4IikpKQorICAgICAgICAgICAgICAgKHdp
dGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbiAic3JjL3RoaXJkX3BhcnR5IgorICAgICAgICAgICAgICAg
ICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChsc2V0LWRpZmZlcmVuY2Ugc3RyaW5nPT8KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKHNjYW5kaXIgIi4iKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoY29ucyogIi4iICIuLiIga2VlcCkpKSkKKyAgICAgICAg
ICAgICAgICN0KSkpKSkKKyAgICAgIChidWlsZC1zeXN0ZW0gY21ha2UtYnVpbGQtc3lzdGVtKQor
ICAgICAgKGFyZ3VtZW50cworICAgICAgIGAoIzp0ZXN0cz8gI2YgICAgICAgICAgICAgICAgICAg
IDsgTm8gdGFyZ2V0CisgICAgICAgICAjOmNvbmZpZ3VyZS1mbGFncworICAgICAgICAgKGxpc3QK
KyAgICAgICAgICAiLURDTUFLRV9DX0ZMQUdTPS1mUElDIgorICAgICAgICAgICItRENNQUtFX0NY
WF9GTEFHUz0tZlBJQyIpCisgICAgICAgICAjOnBoYXNlcworICAgICAgICAgKG1vZGlmeS1waGFz
ZXMgJXN0YW5kYXJkLXBoYXNlcworICAgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NvcHkt
aW5wdXRzCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyBvdXRwdXRzICM6YWxs
b3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAgIChsZXQqICgobGlidnB4LWZyb20gKGFzc29j
LXJlZiBpbnB1dHMgImxpYnZweCIpKQorICAgICAgICAgICAgICAgICAgICAgIChsaWJ5dXYtZnJv
bSAoYXNzb2MtcmVmIGlucHV0cyAibGlieXV2IikpCisgICAgICAgICAgICAgICAgICAgICAgKGxp
YnZweC10byAoc3RyaW5nLWFwcGVuZCAoZ2V0Y3dkKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIi9zcmMvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgiKSkKKyAgICAgICAgICAgICAgICAgICAgICAobGlieXV2LXRvIChzdHJpbmctYXBwZW5k
IChnZXRjd2QpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiL3NyYy90aGlyZF9wYXJ0eS9saWJ5dXYiKSkpCisgICAgICAgICAgICAgICAgIChjb3B5LXJl
Y3Vyc2l2ZWx5IGxpYnZweC1mcm9tIGxpYnZweC10bykKKyAgICAgICAgICAgICAgICAgKGNvcHkt
cmVjdXJzaXZlbHkgbGlieXV2LWZyb20gbGlieXV2LXRvKSkKKyAgICAgICAgICAgICAgICN0KSkp
KSkKKyAgICAgIChuYXRpdmUtaW5wdXRzCisgICAgICAgYCgoInBrZy1jb25maWciICxwa2ctY29u
ZmlnKQorICAgICAgICAgKCJweXRob24iICxweXRob24td3JhcHBlcikKKyAgICAgICAgICgieWFz
bSIgLHlhc20pKSkKKyAgICAgIChpbnB1dHMKKyAgICAgICBgKCgiYWxzYSIgLGFsc2EtbGliKQor
ICAgICAgICAgKCJmZm1wZWciICxmZm1wZWcpCisgICAgICAgICAoImxpYmpwZWciICxsaWJqcGVn
LXR1cmJvKQorICAgICAgICAgKCJsaWJ2cHgiCisgICAgICAgICAgLChvcmlnaW4KKyAgICAgICAg
ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAgICAgICAodXJpCisgICAgICAgICAgICAg
IChnaXQtcmVmZXJlbmNlCisgICAgICAgICAgICAgICAodXJsICJodHRwczovL2Nocm9taXVtLmdv
b2dsZXNvdXJjZS5jb20vd2VibS9saWJ2cHgiKQorICAgICAgICAgICAgICAgKGNvbW1pdCAiNWI2
M2YwZjgyMWU5NGY4MDcyZWI0ODMwMTRjZmMzM2IwNTk3OGJiOSIpKSkKKyAgICAgICAgICAgICAo
ZmlsZS1uYW1lCisgICAgICAgICAgICAgIChnaXQtZmlsZS1uYW1lICJsaWJ2cHgtZm9yLXRnLW93
dCIgdmVyc2lvbikpCisgICAgICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAgICAoYmFzZTMy
ICIxcHN2eGFkZGlobHcxazVuMGFueGlmM3FsaTZ6eXcyc2EyeXduNm1rYjhzaXg5bXlycDY4Iikp
KSkKKyAgICAgICAgICgibGlieXV2IgorICAgICAgICAgICwob3JpZ2luCisgICAgICAgICAgICAg
KG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgICAgICAgKHVyaQorICAgICAgICAgICAgICAoZ2l0
LXJlZmVyZW5jZQorICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVz
b3VyY2UuY29tL2xpYnl1di9saWJ5dXYiKQorICAgICAgICAgICAgICAgKGNvbW1pdCAiYWQ4OTAw
NjdmNjYxZGM3NDdhOTc1YmM1NWJhMzc2N2ZlMzBkNDQ1MiIpKSkKKyAgICAgICAgICAgICAoZmls
ZS1uYW1lCisgICAgICAgICAgICAgIChnaXQtZmlsZS1uYW1lICJsaWJ5dXYtZm9yLXRnLW93dCIg
dmVyc2lvbikpCisgICAgICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAgICAoYmFzZTMyICIw
MWtubms0aDI0N3JxNTM2MDk3bjluM3MzYnJ4bGJieTNudjNwcGRnc3FmZGEzazE1OWxsIikpKSkK
KyAgICAgICAgICgib3BlbnNzbCIgLG9wZW5zc2wpCisgICAgICAgICAoIm9wdXMiICxvcHVzKQor
ICAgICAgICAgKCJwcm90b2J1ZiIgLHByb3RvYnVmKQorICAgICAgICAgKCJwdWxzZWF1ZGlvIiAs
cHVsc2VhdWRpbykpKQorICAgICAgKHN5bm9wc2lzICJXZWJSVEMgc3VwcG9ydCBmb3IgVGVsZWdy
YW0tRGVza3RvcCIpCisgICAgICAoZGVzY3JpcHRpb24gIlRnX293dCBpcyBhIGN1c3RvbSBXZWJS
VEMgZm9yayBieSBUZWxlZ3JhbSBwcm9qZWN0LAorZm9yIGl0cyB1c2UgaW4gdGVsZWdyYW0gZGVz
a3RvcCBjbGllbnQuIikKKyAgICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9kZXNr
dG9wLWFwcC90Z19vd3QiKQorICAgICAgKGxpY2Vuc2UKKyAgICAgICAobGlzdAorICAgICAgICA7
OyBBYnNlaWwtQ1BQCisgICAgICAgIGxpY2Vuc2U6YXNsMi4wCisgICAgICAgIDs7IExpYll1dgor
ICAgICAgICAobGljZW5zZTpub24tY29weWxlZnQgImZpbGU6Ly8vc3JjL3RoaXJkX3BhcnR5L2xp
Ynl1di9MSUNFTlNFIikKKyAgICAgICAgOzsgT3BlbkgyNjQKKyAgICAgICAgbGljZW5zZTpic2Qt
MgorICAgICAgICA7OyBQRkZGVAorICAgICAgICAobGljZW5zZTpub24tY29weWxlZnQgImZpbGU6
Ly8vc3JjL3RoaXJkX3BhcnR5L3BmZmZ0L0xJQ0VOU0UiKQorICAgICAgICA7OyBSbk5vaXNlCisg
ICAgICAgIGxpY2Vuc2U6Z3BsMworICAgICAgICA7OyBMaWJTUlRQLCBMaWJWUHgsIFVzclNDVFAg
YW5kIE90aGVycworICAgICAgICBsaWNlbnNlOmJzZC0zKSkpKSkKLS0gCjIuMzAuMAoK


--=-MOjjF1BjzPBRy1qnzcWX
Content-Disposition: attachment; filename="0013-gnu-Add-telegram-desktop.patch"
Content-Type: text/x-patch; name="0013-gnu-Add-telegram-desktop.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAwNTAwMzU0MjdmZGJkNGZhMmI0ZjAyZDNiNzY0MGJkYThkMmM2YzJiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU3VuLCAxNyBKYW4gMjAyMSAwOTozMDoyMiAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMTMvMTNdIGdudTogQWRkIHRlbGVncmFtLWRlc2t0b3AuCgoqIGdudS9wYWNrYWdlcy90ZWxl
Z3JhbS5zY20gKHRlbGVncmFtLWRlc2t0b3ApOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5
OiBMZW8gUHJpa2xlciA8bGVvLnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3Bh
Y2thZ2VzL3RlbGVncmFtLnNjbSB8IDE1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDE1MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p
CgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3RlbGVncmFtLnNjbSBiL2dudS9wYWNrYWdlcy90
ZWxlZ3JhbS5zY20KaW5kZXggMGZkNDdmNGY1ZC4uN2Q3NDhjYmNhZSAxMDA2NDQKLS0tIGEvZ251
L3BhY2thZ2VzL3RlbGVncmFtLnNjbQorKysgYi9nbnUvcGFja2FnZXMvdGVsZWdyYW0uc2NtCkBA
IC0xOCwyMCArMTgsNDIgQEAKIAogKGRlZmluZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0ZWxlZ3Jh
bSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMpCisgICM6dXNlLW1vZHVsZSAoZ251IHBh
Y2thZ2VzIGFpZGMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGFzc2VtYmx5KQorICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBhdWRpbykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFj
a2FnZXMgYmFzZSkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY2hlY2spCisgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIGNtYWtlKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl
cyBjb21wcmVzc2lvbikKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY3BwKQorICAjOnVz
ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBkaWdlc3QpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th
Z2VzIGZjaXR4KQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmY2l0eDUpCisgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIGdjYykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
Z2xpYikKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ25vbWUpCisgICM6dXNlLW1vZHVs
ZSAoZ251IHBhY2thZ2VzIGd0aykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaW1hZ2Up
CisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGtkZS1mcmFtZXdvcmtzKQorICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyBsYW5ndWFnZSkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn
ZXMgbGlicmVvZmZpY2UpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpbnV4KQorICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBseHF0KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr
YWdlcyBwa2ctY29uZmlnKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwcm90b2J1ZikK
ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcHVsc2VhdWRpbykKICAgIzp1c2UtbW9kdWxl
IChnbnUgcGFja2FnZXMgcHl0aG9uKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBxdCkK
ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdGxzKQogICAjOnVzZS1tb2R1bGUgKGdudSBw
YWNrYWdlcyB2aWRlbykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeGlwaCkKKyAgIzp1
c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeG9yZykKICAgIzp1c2UtbW9kdWxlICgoZ3VpeCBsaWNl
bnNlcykgIzpwcmVmaXggbGljZW5zZTopCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBwYWNrYWdlcykK
ICAgIzp1c2UtbW9kdWxlIChndWl4IGdpdC1kb3dubG9hZCkKLSAgIzp1c2UtbW9kdWxlIChndWl4
IGJ1aWxkLXN5c3RlbSBjbWFrZSkpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0g
Y21ha2UpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gZ2xpYi1vci1ndGspCisg
ICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gcXQpKQogCiAoZGVmaW5lLXB1YmxpYyB0
Zy1vd3QKICAgKGxldCAoKGNvbW1pdCAiZmE4NmZjYzAwYzIxODgxM2Q2MWEyNzJhNTZmZWFiNTVj
NzZhMWFiOSIpCkBAIC0xNDEsMyArMTYzLDEzMCBAQCBmb3IgaXRzIHVzZSBpbiB0ZWxlZ3JhbSBk
ZXNrdG9wIGNsaWVudC4iKQogICAgICAgICBsaWNlbnNlOmdwbDMKICAgICAgICAgOzsgTGliU1JU
UCwgTGliVlB4LCBVc3JTQ1RQIGFuZCBPdGhlcnMKICAgICAgICAgbGljZW5zZTpic2QtMykpKSkp
CisKKyhkZWZpbmUtcHVibGljIHRlbGVncmFtLWRlc2t0b3AKKyAgKHBhY2thZ2UKKyAgICAobmFt
ZSAidGVsZWdyYW0tZGVza3RvcCIpCisgICAgKHZlcnNpb24gIjIuNS4xIikKKyAgICAoc291cmNl
CisgICAgIChvcmlnaW4KKyAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAodXJpCisg
ICAgICAgIChnaXQtcmVmZXJlbmNlCisgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20v
dGVsZWdyYW1kZXNrdG9wL3RkZXNrdG9wLmdpdCIpCisgICAgICAgICAoY29tbWl0CisgICAgICAg
ICAgKHN0cmluZy1hcHBlbmQgInYiIHZlcnNpb24pKQorICAgICAgICAgKHJlY3Vyc2l2ZT8gI3Qp
KSkKKyAgICAgICAoZmlsZS1uYW1lCisgICAgICAgIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lv
bikpCisgICAgICAgKHNoYTI1NgorICAgICAgICAoYmFzZTMyICIxcXc5dmFhNDgyZGJ6OTdtendq
em15M2Z3NzJzNWJrM2h5YWN5ejk4bXM2NTJ4Z2xkNmpzIikpCisgICAgICAgKG1vZHVsZXMgJygo
Z3VpeCBidWlsZCB1dGlscykKKyAgICAgICAgICAgICAgICAgIChpY2UtOSBmdHcpCisgICAgICAg
ICAgICAgICAgICAoc3JmaSBzcmZpLTEpKSkKKyAgICAgICAoc25pcHBldAorICAgICAgICBgKGJl
Z2luCisgICAgICAgICAgIChsZXQgKChrZWVwCisgICAgICAgICAgICAgICAgICAnKCA7OyBDdXN0
b20gZm9ya3Mgd2hpY2ggYXJlIGluY29tcGF0aWJsZSB3aXRoIHRoZSBvbmVzIGluIEd1aXguCisg
ICAgICAgICAgICAgICAgICAgICJsaWJ0Z3ZvaXAiICJybG90dGllIgorICAgICAgICAgICAgICAg
ICAgICA7OyBOb3QgYXZhaWxhYmxlIGluIEd1aXguCisgICAgICAgICAgICAgICAgICAgICJTUE1l
ZGlhS2V5VGFwIiAic3RhdHVzbm90aWZpZXJpdGVtIiAidGdjYWxscyIpKSkKKyAgICAgICAgICAg
ICAod2l0aC1kaXJlY3RvcnktZXhjdXJzaW9uICJUZWxlZ3JhbS9UaGlyZFBhcnR5IgorICAgICAg
ICAgICAgICAgKGZvci1lYWNoIGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5CisgICAgICAgICAgICAg
ICAgICAgICAgICAgKGxzZXQtZGlmZmVyZW5jZSBzdHJpbmc9PworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKHNjYW5kaXIgIi4iKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMqICIuIiAiLi4iIGtlZXApKSkpCisgICAgICAg
ICAgICAgI3QpKSkpKQorICAgIChidWlsZC1zeXN0ZW0gcXQtYnVpbGQtc3lzdGVtKQorICAgIChh
cmd1bWVudHMKKyAgICAgYCgjOnRlc3RzPyAjZiAgICAgICAgICAgICAgICAgICAgICA7IE5vIHRh
cmdldAorICAgICAgICM6aW1wb3J0ZWQtbW9kdWxlcworICAgICAgICgsQCVxdC1idWlsZC1zeXN0
ZW0tbW9kdWxlcworICAgICAgICAoZ3VpeCBidWlsZCBnbGliLW9yLWd0ay1idWlsZC1zeXN0ZW0p
KQorICAgICAgICM6bW9kdWxlcworICAgICAgICgoZ3VpeCBidWlsZCBxdC1idWlsZC1zeXN0ZW0p
CisgICAgICAgICgoZ3VpeCBidWlsZCBnbGliLW9yLWd0ay1idWlsZC1zeXN0ZW0pCisgICAgICAg
ICAjOnByZWZpeCBnbGliLW9yLWd0azopCisgICAgICAgIChndWl4IGJ1aWxkIHV0aWxzKSkKKyAg
ICAgICAjOmNvbmZpZ3VyZS1mbGFncworICAgICAgIDs7IENsaWVudCBhcHBsaWNhdGlvbnMgbXVz
dCBwcm92aWRlIHRoZWlyIG93biBBUEktSUQgYW5kIEFQSS1IQVNILAorICAgICAgIDs7IHNlZSBh
bHNvIDxodHRwczovL2NvcmUudGVsZWdyYW0ub3JnL2FwaS9vYnRhaW5pbmdfYXBpX2lkPi4KKyAg
ICAgICA7OyBJbiBjYXNlLCB0aGF0IHRoZSBjcmVkZW50aWFscyBiZWxvdyBmYWlsIHRvIHdvcmss
IGNvbnRhY3QKKyAgICAgICA7OyAgIFJhZ2hhdiBHdXJ1cmFqYW4gPHJnQHJhZ2hhdmd1cnVyYWph
bi5uYW1lPgorICAgICAgIChsaXN0CisgICAgICAgICItRFRERVNLVE9QX0FQSV9JRD0yNzkxMDU2
IgorICAgICAgICAiLURUREVTS1RPUF9BUElfSEFTSD01ODJkNmQwYjQ0ZjdhMmRlOTQ5ZTk5Mjcx
ZmQ4YjNmMiIpCisgICAgICAgIzpwaGFzZXMKKyAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRh
cmQtcGhhc2VzCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ21ha2Utd3JpdGFibGUKKyAg
ICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgKGZvci1lYWNoIG1ha2UtZmlsZS13cml0
YWJsZSAoZmluZC1maWxlcyAiLiIpKQorICAgICAgICAgICAgICN0KSkKKyAgICAgICAgIChhZGQt
YmVmb3JlICdjb25maWd1cmUgJ3BhdGNoLWN4eC1mbGFncworICAgICAgICAgICAobGFtYmRhIF8K
KyAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImNtYWtlL29wdGlvbnNfbGludXguY21ha2UiCisg
ICAgICAgICAgICAgICAoKCJjbGFzcy1tZW1hY2Nlc3MiKSAiYWxsIikpCisgICAgICAgICAgICAg
I3QpKQorICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbCAnZ2xpYi1vci1ndGstY29tcGlsZS1z
Y2hlbWFzCisgICAgICAgICAgIChhc3NvYy1yZWYgZ2xpYi1vci1ndGs6JXN0YW5kYXJkLXBoYXNl
cyAnZ2xpYi1vci1ndGstY29tcGlsZS1zY2hlbWFzKSkKKyAgICAgICAgIChhZGQtYWZ0ZXIgJ2ds
aWItb3ItZ3RrLWNvbXBpbGUtc2NoZW1hcyAnZ2xpYi1vci1ndGstd3JhcAorICAgICAgICAgICAo
YXNzb2MtcmVmIGdsaWItb3ItZ3RrOiVzdGFuZGFyZC1waGFzZXMgJ2dsaWItb3ItZ3RrLXdyYXAp
KSkpKQorICAgIChuYXRpdmUtaW5wdXRzCisgICAgIGAoKCJjbWFrZS1zaGFyZWQiICxjbWFrZS1z
aGFyZWQpCisgICAgICAgKCJleHRyYS1jbWFrZS1tb2R1bGVzIiAsZXh0cmEtY21ha2UtbW9kdWxl
cykKKyAgICAgICAoImdjYyIgLGdjYy05KQorICAgICAgICgiZ2xpYjpiaW4iICxnbGliICJiaW4i
KQorICAgICAgICgiZ29iamVjdC1pbnRyb3NwZWN0aW9uIiAsZ29iamVjdC1pbnRyb3NwZWN0aW9u
KQorICAgICAgICgiZ3RrKzpiaW4iICxndGsrICJiaW4iKQorICAgICAgICgicGtnLWNvbmZpZyIg
LHBrZy1jb25maWcpCisgICAgICAgKCJweXRob24iICxweXRob24td3JhcHBlcikKKyAgICAgICAo
InF0dG9vbHMiICxxdHRvb2xzKSkpCisgICAgKGlucHV0cworICAgICBgKCgiYWxzYSIgLGFsc2Et
bGliKQorICAgICAgICgiYysrLWdzbCIgLGMrKy1nc2wpCisgICAgICAgKCJjYXRjaCIgLGNhdGNo
LWZyYW1ld29yazIpCisgICAgICAgKCJleHBlY3RlZCIgLGxpYmV4cGVjdGVkKQorICAgICAgICgi
ZmNpdHgtcXQ1IiAsZmNpdHgtcXQ1KQorICAgICAgICgiZmNpdHg1LXF0IiAsZmNpdHg1LXF0KQor
ICAgICAgICgiZmZtcGVnIiAsZmZtcGVnKQorICAgICAgICgiZ2xpYiIgLGdsaWIpCisgICAgICAg
KCJndGsrIiAsZ3RrKykKKyAgICAgICAoImhpbWUiICxoaW1lKQorICAgICAgICgiaHVuc3BlbGwi
ICxodW5zcGVsbCkKKyAgICAgICAoImljb252IiAsbGliaWNvbnYpCisgICAgICAgKCJsaWJkYnVz
bWVudS1xdCIgLGxpYmRidXNtZW51LXF0KQorICAgICAgICgibGlianBlZyIgLGxpYmpwZWctdHVy
Ym8pCisgICAgICAgOzsgKCJsaWJ0Z3ZvaXAiICxsaWJ0Z3ZvaXApCisgICAgICAgKCJsejQiICxs
ejQpCisgICAgICAgKCJtYXRlcmlhbGRlY29yYXRpb24iICxtYXRlcmlhbGRlY29yYXRpb24pCisg
ICAgICAgKCJtaW5pemlwIiAsbWluaXppcCkKKyAgICAgICAoIm5pbWYiICxuaW1mKQorICAgICAg
ICgib3BlbmFsIiAsb3BlbmFsKQorICAgICAgICgib3BlbnNzbCIgLG9wZW5zc2wpCisgICAgICAg
KCJvcHVzIiAsb3B1cykKKyAgICAgICAoInB1bHNlYXVkaW8iICxwdWxzZWF1ZGlvKQorICAgICAg
ICgicXJjb2RlZ2VuIiAscXJjb2RlZ2VuLWNwcCkKKyAgICAgICAoInF0IiAscXRiYXNlKQorICAg
ICAgICgicXQ1Y3QiICxxdDVjdCkKKyAgICAgICAoInF0aW1hZ2Vmb3JtYXRzIiAscXRpbWFnZWZv
cm1hdHMpCisgICAgICAgKCJxdHdheWxhbmQiICxxdHdheWxhbmQpCisgICAgICAgKCJyYW5nZS12
MyIgLHJhbmdlLXYzKQorICAgICAgIDs7ICgicmxvdHRpZSIgLHJsb3R0aWUpCisgICAgICAgKCJ0
Zy1vd3QiICx0Zy1vd3QpCisgICAgICAgKCJ4MTEiICxsaWJ4MTEpCisgICAgICAgKCJ4Y2IiICxs
aWJ4Y2IpCisgICAgICAgKCJ4Y2Ita2V5c3ltcyIgLHhjYi11dGlsLWtleXN5bXMpCisgICAgICAg
KCJ4eGhhc2giICx4eGhhc2gpCisgICAgICAgKCJ6bGliIiAsemxpYikpKQorICAgIChwcm9wYWdh
dGVkLWlucHV0cworICAgICBgKCgiZGNvbmYiICxkY29uZikpKQorICAgIChzeW5vcHNpcyAiVGVs
ZWdyYW0gRGVza3RvcCIpCisgICAgKGRlc2NyaXB0aW9uICJUZWxlZ3JhbSBkZXNrdG9wIGlzIHRo
ZSBvZmZpY2lhbCBkZXNrdG9wIHZlcnNpb24gb2YgdGhlCitUZWxlZ3JhbSBpbnN0YW50IG1lc3Nh
Z2VyLiIpCisgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9kZXNrdG9wLnRlbGVncmFtLm9yZy8iKQor
ICAgIChsaWNlbnNlCisgICAgIChsaXN0CisgICAgICA7OyBUaGlyZFBhcnR5CisgICAgICBsaWNl
bnNlOmxncGwyLjErCisgICAgICA7OyBPdGhlcnMKKyAgICAgIGxpY2Vuc2U6Z3BsMyspKSkpCi0t
IAoyLjMwLjAKCg==


--=-MOjjF1BjzPBRy1qnzcWX--





Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 21:59:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 17 16:59:25 2021
Received: from localhost ([127.0.0.1]:45828 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l1G4z-0000Bi-DH
	for submit <at> debbugs.gnu.org; Sun, 17 Jan 2021 16:59:25 -0500
Received: from relay9-d.mail.gandi.net ([217.70.183.199]:60173)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l1G4x-0000BR-C7
 for 45721 <at> debbugs.gnu.org; Sun, 17 Jan 2021 16:59:24 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id F2FD5FF805;
 Sun, 17 Jan 2021 21:59:16 +0000 (UTC)
Subject: Re: [PATCH v15] Add Telegram Desktop.
To: Leo Prikler <leo.prikler@HIDDEN>, 45721 <at> debbugs.gnu.org
References: <ae71c9c2-cdb8-0f13-b212-0a0c8fc4369b@HIDDEN>
 <67f3a995fb657c86efd2ecdc403b24cb2d441524.camel@HIDDEN>
 <3107c0b8-134f-c86f-f066-372f4f5806de@HIDDEN>
 <5b7bbe10360a9a6bec44c99ac66b0e075f3ed924.camel@HIDDEN>
From: Raghav Gururajan <rg@HIDDEN>
Message-ID: <b5665c0d-59f6-75e9-8b4e-a7be3181ba37@HIDDEN>
Date: Sun, 17 Jan 2021 16:59:15 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
In-Reply-To: <5b7bbe10360a9a6bec44c99ac66b0e075f3ed924.camel@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: -1.0 (-)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.0 (--)

Hi Leo!

> this was supposed to be a short set of mostly cosmetic changes before
> pushing your patch, but alas, I discovered, that gsl actually conflicts
> with an existing package.  I've verified, that Telegram still runs with
> the changes I've made and I don't think I have anything else to add,
> but someone else should look over these patches once again to make sure
> that I didn't overlook anything.

Thank you!

Regards,
RG.




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 19:09:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 17 14:09:03 2021
Received: from localhost ([127.0.0.1]:45682 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l1DPw-0002LG-SX
	for submit <at> debbugs.gnu.org; Sun, 17 Jan 2021 14:09:03 -0500
Received: from mailrelay.tugraz.at ([129.27.2.202]:46480)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leo.prikler@HIDDEN>) id 1l1DPr-0002L2-GX
 for 45721 <at> debbugs.gnu.org; Sun, 17 Jan 2021 14:08:51 -0500
Received: from nijino.local (217-149-173-242.nat.highway.telekom.at
 [217.149.173.242])
 by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4DJkwV4vDjz1LBRt;
 Sun, 17 Jan 2021 20:08:42 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4DJkwV4vDjz1LBRt
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at;
 s=mailrelay; t=1610910522;
 bh=KodkOcWd8C8EP8iaBIGpYiZtHQIoplic15E8eOQIMQk=;
 h=Subject:From:To:Date:In-Reply-To:References:From;
 b=Yp8nOMgUg8r5tf/wDUHR3QaAnMwseG9aICca3o8R1JIBmv4fxWKW7HhL3YKjKeJSi
 26zxngdBk7GIBHWr4xbdHWDPtMxI9nZN2sqRYCsmPj7pfw4b8I4YR4ArljEIeMGPEd
 PzFQKfbcUWR02PDN2EJibrtAaI0vRfc9gJ8C3ruQ=
Message-ID: <5b7bbe10360a9a6bec44c99ac66b0e075f3ed924.camel@HIDDEN>
Subject: [PATCH v15] Add Telegram Desktop.
From: Leo Prikler <leo.prikler@HIDDEN>
To: Raghav Gururajan <rg@HIDDEN>, 45721 <at> debbugs.gnu.org
Date: Sun, 17 Jan 2021 20:08:41 +0100
In-Reply-To: <3107c0b8-134f-c86f-f066-372f4f5806de@HIDDEN>
References: <ae71c9c2-cdb8-0f13-b212-0a0c8fc4369b@HIDDEN>
 <67f3a995fb657c86efd2ecdc403b24cb2d441524.camel@HIDDEN>
 <3107c0b8-134f-c86f-f066-372f4f5806de@HIDDEN>
Content-Type: multipart/mixed; boundary="=-04CbqkhxGqhokXZgdKLU"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw
X-Spam-Scanner: SpamAssassin 3.003001 
X-Spam-Score-relay: -1.9
X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116
X-Spam-Score: -0.4 (/)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)


--=-04CbqkhxGqhokXZgdKLU
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Hi Raghav and everyone else listening on this topic,

this was supposed to be a short set of mostly cosmetic changes before
pushing your patch, but alas, I discovered, that gsl actually conflicts
with an existing package.  I've verified, that Telegram still runs with
the changes I've made and I don't think I have anything else to add,
but someone else should look over these patches once again to make sure
that I didn't overlook anything.

Also there's the question as to whether Telegram Desktop actually runs
under QtWayland.  If someone would be willing to check, that'd be very
nice.

Regards,
Leo



--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0001-gnu-Add-c-gsl.patch"
Content-Type: text/x-patch; name="0001-gnu-Add-c-gsl.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSA4ZTYwMGE3NzdlOTZkODg3Yjg3MTQ4MWZjZjZjMDU0ODVlNGE3MmYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU2F0LCAyIEphbiAyMDIxIDE4OjQ4OjAzIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwMS8xM10gZ251OiBBZGQgYysrLWdzbC4KCiogZ251L3BhY2thZ2VzL2NwcC5zY20gKGMrKy1n
c2wpOiBOZXcgdmFyaWFibGUuCiogZ251L3BhY2thZ2VzL3BhdGNoZXMvYysrLWdzbC1maW5kLXN5
c3RlbS1ndGVzdC5wYXRjaDogTmV3IGZpbGUuCiogZ251L2xvY2FsLm1rIChkaXN0X3BhdGNoX0RB
VEEpOiBBZGQgaXQuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVvLnByaWtsZXJAc3R1
ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L2xvY2FsLm1rICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDEgKwogZ251L3BhY2thZ2VzL2NwcC5zY20gICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgMjkgKysrKysrCiAuLi4vcGF0Y2hlcy9jKystZ3NsLWZpbmQtc3lzdGVtLWd0ZXN0
LnBhdGNoICAgfCA5NiArKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEyNiBp
bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvYysr
LWdzbC1maW5kLXN5c3RlbS1ndGVzdC5wYXRjaAoKZGlmZiAtLWdpdCBhL2dudS9sb2NhbC5tayBi
L2dudS9sb2NhbC5tawppbmRleCA3N2YxZDRhMDk2Li5lNGEyZDcyODEyIDEwMDY0NAotLS0gYS9n
bnUvbG9jYWwubWsKKysrIGIvZ251L2xvY2FsLm1rCkBAIC05MTQsNiArOTE0LDcgQEAgZGlzdF9w
YXRjaF9EQVRBID0JCQkJCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2N1cnN5bnRoLXdhdmUt
cmFuZC5wYXRjaAkJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvY3ZzLUNWRS0yMDE3LTEyODM2
LnBhdGNoCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2N5cnVzLXNhc2wtYWMtdHJ5LXJ1bi1m
aXgucGF0Y2gJCVwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvYysrLWdzbC1maW5kLXN5c3RlbS1n
dGVzdC5wYXRjaAkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9kYXRlLW91dHB1dC1wa2ctY29u
ZmlnLWZpbGVzLnBhdGNoCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvZGF0ZWZ1ZGdlLWdldHRp
bWVvZmRheS5wYXRjaAkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9kYmFjbC1pbmNsdWRlLWxv
Y2FsZS5oLnBhdGNoCQlcCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvY3BwLnNjbSBiL2dudS9w
YWNrYWdlcy9jcHAuc2NtCmluZGV4IDQ1ZDNmYWVhZmIuLjI1MTRhZjVhODQgMTAwNjQ0Ci0tLSBh
L2dudS9wYWNrYWdlcy9jcHAuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9jcHAuc2NtCkBAIC02Myw2
ICs2MywzNSBAQAogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0bHMpCiAgICM6dXNlLW1v
ZHVsZSAoZ251IHBhY2thZ2VzIHdlYikpCiAKKyhkZWZpbmUtcHVibGljIGMrKy1nc2wKKyAgKHBh
Y2thZ2UKKyAgICAobmFtZSAiYysrLWdzbCIpCisgICAgKHZlcnNpb24gIjMuMS4wIikKKyAgICAo
c291cmNlCisgICAgIChvcmlnaW4KKyAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAo
dXJpCisgICAgICAgIChnaXQtcmVmZXJlbmNlCisgICAgICAgICAodXJsICJodHRwczovL2dpdGh1
Yi5jb20vbWljcm9zb2Z0L0dTTC5naXQiKQorICAgICAgICAgKGNvbW1pdAorICAgICAgICAgIChz
dHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQorICAgICAgIChmaWxlLW5hbWUKKyAgICAgICAg
KGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAgICAocGF0Y2hlcworICAgICAgICAo
c2VhcmNoLXBhdGNoZXMKKyAgICAgICAgICJjKystZ3NsLWZpbmQtc3lzdGVtLWd0ZXN0LnBhdGNo
IikpCisgICAgICAgKHNoYTI1NgorICAgICAgICAoYmFzZTMyICIwZ2J2cjQ4ZjAzODMwZzMxNTRi
amh3OTJiOGdnbWc2d3doNXh5YjhucHBrOXY2dzc1MmwwIikpKSkKKyAgICAoYnVpbGQtc3lzdGVt
IGNtYWtlLWJ1aWxkLXN5c3RlbSkKKyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiZ29vZ2xl
dGVzdCIgLGdvb2dsZXRlc3QpCisgICAgICAgKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykpKQor
ICAgIChzeW5vcHNpcyAiR3VpZGVsaW5lcyBTdXBwb3J0IExpYnJhcnkiKQorICAgIChkZXNjcmlw
dGlvbiAiYysrLWdzbCBjb250YWlucyBmdW5jdGlvbnMgYW5kIHR5cGVzIHRoYXQgYXJlIHN1Z2dl
c3RlZCBmb3IKK3VzZSBieSB0aGUgQysrIENvcmUgR3VpZGVsaW5lcyBtYWludGFpbmVkIGJ5IHRo
ZSBTdGFuZGFyZCBDKysgRm91bmRhdGlvbi4iKQorICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0
aHViLmNvbS9taWNyb3NvZnQvR1NMLyIpCisgICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQor
CiAoZGVmaW5lLXB1YmxpYyBsaWJ6ZW4KICAgKHBhY2thZ2UKICAgICAobmFtZSAibGliemVuIikK
ZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9wYXRjaGVzL2MrKy1nc2wtZmluZC1zeXN0ZW0tZ3Rl
c3QucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9jKystZ3NsLWZpbmQtc3lzdGVtLWd0ZXN0
LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjJkZWY2NTAyOTIK
LS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9jKystZ3NsLWZpbmQtc3lz
dGVtLWd0ZXN0LnBhdGNoCkBAIC0wLDAgKzEsOTYgQEAKK0Zyb20gZjVjZjAxMDgzYmFmN2U4ZGM4
MzE4ZGIzNjQ4YmM2MDk4ZGMzMmQ2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE5p
Y2hvbGFzIEd1cmlldiA8Z3VyaWV2LW5zQHlhLnJ1PgorRGF0ZTogU2F0LCAxOCBBcHIgMjAyMCAx
MzozMDoxNyArMDMwMAorU3ViamVjdDogW1BBVENIXSBTZWFyY2ggZm9yIEdvb2dsZVRlc3Qgdmlh
IHBrZy1jb25maWcgZmlyc3QKKworLS0tCisgdGVzdHMvQ01ha2VMaXN0cy50eHQgfCA1NSArKysr
KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2Vk
LCAzMCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3Rz
L0NNYWtlTGlzdHMudHh0IGIvdGVzdHMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDAyMTkzMTk3Li41
M2Q0NzVjMiAxMDA2NDQKKy0tLSBhL3Rlc3RzL0NNYWtlTGlzdHMudHh0CisrKysgYi90ZXN0cy9D
TWFrZUxpc3RzLnR4dAorQEAgLTEsMzYgKzEsNDEgQEAKKyBjbWFrZV9taW5pbXVtX3JlcXVpcmVk
KFZFUlNJT04gMy4wLjIpCisgCisgcHJvamVjdChHU0xUZXN0cyBDWFgpCisraW5jbHVkZShGaW5k
UGtnQ29uZmlnKQorIAorICMgd2lsbCBtYWtlIHZpc3VhbCBzdHVkaW8gZ2VuZXJhdGVkIHByb2pl
Y3QgZ3JvdXAgZmlsZXMKKyBzZXRfcHJvcGVydHkoR0xPQkFMIFBST1BFUlRZIFVTRV9GT0xERVJT
IE9OKQorIAorLWNvbmZpZ3VyZV9maWxlKENNYWtlTGlzdHMudHh0LmluIGdvb2dsZXRlc3QtZG93
bmxvYWQvQ01ha2VMaXN0cy50eHQpCistZXhlY3V0ZV9wcm9jZXNzKAorLSAgICBDT01NQU5EICR7
Q01BS0VfQ09NTUFORH0gLUcgIiR7Q01BS0VfR0VORVJBVE9SfSIgLgorLSAgICBSRVNVTFRfVkFS
SUFCTEUgcmVzdWx0CistICAgIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9CSU5B
UllfRElSfS9nb29nbGV0ZXN0LWRvd25sb2FkCistKQorLWlmKHJlc3VsdCkKKy0gICAgbWVzc2Fn
ZShGQVRBTF9FUlJPUiAiQ01ha2Ugc3RlcCBmb3IgZ29vZ2xldGVzdCBmYWlsZWQ6ICR7cmVzdWx0
fSIpCistZW5kaWYoKQorK3BrZ19zZWFyY2hfbW9kdWxlKEdUZXN0TWFpbiBndGVzdF9tYWluKQor
K2lmIChOT1QgR1Rlc3RNYWluX0ZPVU5EKQorKyAgICBjb25maWd1cmVfZmlsZShDTWFrZUxpc3Rz
LnR4dC5pbiBnb29nbGV0ZXN0LWRvd25sb2FkL0NNYWtlTGlzdHMudHh0KQorKyAgICBleGVjdXRl
X3Byb2Nlc3MoCisrICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUcgIiR7Q01BS0Vf
R0VORVJBVE9SfSIgLgorKyAgICAgICAgUkVTVUxUX1ZBUklBQkxFIHJlc3VsdAorKyAgICAgICAg
V09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dvb2dsZXRlc3Qt
ZG93bmxvYWQKKysgICAgKQorKyAgICBpZihyZXN1bHQpCisrICAgICAgICBtZXNzYWdlKEZBVEFM
X0VSUk9SICJDTWFrZSBzdGVwIGZvciBnb29nbGV0ZXN0IGZhaWxlZDogJHtyZXN1bHR9IikKKysg
ICAgZW5kaWYoKQorIAorLWV4ZWN1dGVfcHJvY2VzcygKKy0gICAgQ09NTUFORCAke0NNQUtFX0NP
TU1BTkR9IC0tYnVpbGQgLgorLSAgICBSRVNVTFRfVkFSSUFCTEUgcmVzdWx0CistICAgIFdPUktJ
TkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LWRvd25s
b2FkCistKQorLWlmKHJlc3VsdCkKKy0gICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiQ01ha2Ugc3Rl
cCBmb3IgZ29vZ2xldGVzdCBmYWlsZWQ6ICR7cmVzdWx0fSIpCistZW5kaWYoKQorKyAgICBleGVj
dXRlX3Byb2Nlc3MoCisrICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLS1idWlsZCAu
CisrICAgICAgICBSRVNVTFRfVkFSSUFCTEUgcmVzdWx0CisrICAgICAgICBXT1JLSU5HX0RJUkVD
VE9SWSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ29vZ2xldGVzdC1kb3dubG9hZAorKyAg
ICApCisrICAgIGlmKHJlc3VsdCkKKysgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkNNYWtl
IHN0ZXAgZm9yIGdvb2dsZXRlc3QgZmFpbGVkOiAke3Jlc3VsdH0iKQorKyAgICBlbmRpZigpCisg
Cistc2V0KGd0ZXN0X2ZvcmNlX3NoYXJlZF9jcnQgT04gQ0FDSEUgQk9PTCAiIiBGT1JDRSkKKysg
ICAgc2V0KGd0ZXN0X2ZvcmNlX3NoYXJlZF9jcnQgT04gQ0FDSEUgQk9PTCAiIiBGT1JDRSkKKysg
ICAgc2V0KEdUZXN0TWFpbl9MSUJSQVJJRVMgZ3Rlc3RfbWFpbikKKyAKKy1hZGRfc3ViZGlyZWN0
b3J5KAorLSAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ29vZ2xldGVzdC1zcmMKKy0g
ICAgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2dvb2dsZXRlc3QtYnVpbGQKKy0gICAgRVhD
TFVERV9GUk9NX0FMTAorLSkKKysgICAgYWRkX3N1YmRpcmVjdG9yeSgKKysgICAgICAgICR7Q01B
S0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LXNyYworKyAgICAgICAgJHtDTUFLRV9D
VVJSRU5UX0JJTkFSWV9ESVJ9L2dvb2dsZXRlc3QtYnVpbGQKKysgICAgICAgIEVYQ0xVREVfRlJP
TV9BTEwKKysgICAgKQorK2VuZGlmKCkKKyAKKyBpZiAoTVNWQyBBTkQgKEdTTF9DWFhfU1RBTkRB
UkQgRVFVQUwgMTcpKQorICAgICBzZXQoR1NMX0NQTFVTUExVU19PUFQgLVpjOl9fY3BsdXNwbHVz
IC1wZXJtaXNzaXZlLSkKK0BAIC0xNDksNyArMTU0LDcgQEAgZnVuY3Rpb24oYWRkX2dzbF90ZXN0
IG5hbWUpCisgICAgIHRhcmdldF9saW5rX2xpYnJhcmllcygke25hbWV9CisgICAgICAgICBHU0wK
KyAgICAgICAgIGdzbF90ZXN0c19jb25maWcKKy0gICAgICAgIGd0ZXN0X21haW4KKysgICAgICAg
ICR7R1Rlc3RNYWluX0xJQlJBUklFU30KKyAgICAgKQorICAgICBhZGRfdGVzdCgKKyAgICAgICAg
ICR7bmFtZX0KK0BAIC0yNTQsNyArMjU5LDcgQEAgZnVuY3Rpb24oYWRkX2dzbF90ZXN0X25vZXhj
ZXB0IG5hbWUpCisgICAgIHRhcmdldF9saW5rX2xpYnJhcmllcygke25hbWV9CisgICAgICAgICBH
U0wKKyAgICAgICAgIGdzbF90ZXN0c19jb25maWdfbm9leGNlcHQKKy0gICAgICAgIGd0ZXN0X21h
aW4KKysgICAgICAgICR7R1Rlc3RNYWluX0xJQlJBUklFU30KKyAgICAgKQorICAgICBhZGRfdGVz
dCgKKyAgICAgICAke25hbWV9Ci0tIAoyLjMwLjAKCg==


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0002-gnu-Add-fcitx-qt5.patch"
Content-Type: text/x-patch; name="0002-gnu-Add-fcitx-qt5.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSA4YTQ4MzA1YzU3NzAzNDgwODU3NTk0NTdlM2ExNjIxMzQyODY4NmNiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU2F0LCAyIEphbiAyMDIxIDIyOjIzOjUxIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwMi8xM10gZ251OiBBZGQgZmNpdHgtcXQ1LgoKKiBnbnUvcGFja2FnZXMvZmNpdHguc2NtIChm
Y2l0eC1xdDUpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVv
LnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2ZjaXR4LnNjbSB8
IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNo
YW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ251
L3BhY2thZ2VzL2ZjaXR4LnNjbSBiL2dudS9wYWNrYWdlcy9mY2l0eC5zY20KaW5kZXggZDUyZWRm
MTc1MC4uOTNjZWE3YTI0ZCAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2ZjaXR4LnNjbQorKysg
Yi9nbnUvcGFja2FnZXMvZmNpdHguc2NtCkBAIC0xOSwxMSArMTksMTMgQEAKIDs7OyBhbG9uZyB3
aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+
LgogCiAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGZjaXR4KQotICAjOnVzZS1tb2R1bGUg
KChndWl4IGxpY2Vuc2VzKSAjOnNlbGVjdCAoZ3BsMispKQorICAjOnVzZS1tb2R1bGUgKChndWl4
IGxpY2Vuc2VzKSAjOnNlbGVjdCAoZ3BsMisgYnNkLTMpKQogICAjOnVzZS1tb2R1bGUgKGd1aXgg
cGFja2FnZXMpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBkb3dubG9hZCkKKyAgIzp1c2UtbW9kdWxl
IChndWl4IGdpdC1kb3dubG9hZCkKICAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBj
bWFrZSkKICAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBnbGliLW9yLWd0aykKKyAg
Izp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBxdCkKICAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMgY2hlY2spCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGRvY3VtZW50YXRp
b24pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGVuY2hhbnQpCkBAIC0zMywxNCArMzUs
NjkgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3RrKQogICAjOnVzZS1tb2R1bGUg
KGdudSBwYWNrYWdlcyBpY3U0YykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaXNvLWNv
ZGVzKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBrZGUtZnJhbWV3b3JrcykKICAgIzp1
c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbWFuKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl
cyBuY3Vyc2VzKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwa2ctY29uZmlnKQogICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBweXRob24pCisgICM6dXNlLW1vZHVsZSAoZ251IHBh
Y2thZ2VzIHF0KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBzcWxpdGUpCiAgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIHdlYikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
eG1sKQotICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4b3JnKSkKKyAgIzp1c2UtbW9kdWxl
IChnbnUgcGFja2FnZXMgeG9yZykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeGRpc29y
ZykpCisKKyhkZWZpbmUtcHVibGljIGZjaXR4LXF0NQorICAocGFja2FnZQorICAgIChuYW1lICJm
Y2l0eC1xdDUiKQorICAgICh2ZXJzaW9uICIxLjIuNSIpCisgICAgKHNvdXJjZQorICAgICAob3Jp
Z2luCisgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgKHVyaQorICAgICAgICAoZ2l0
LXJlZmVyZW5jZQorICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2ZjaXR4L2ZjaXR4
LXF0NS5naXQiKQorICAgICAgICAgKGNvbW1pdCB2ZXJzaW9uKSkpCisgICAgICAgKGZpbGUtbmFt
ZQorICAgICAgICAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQorICAgICAgIChzaGEyNTYK
KyAgICAgICAgKGJhc2UzMiAiMWQ1NmJwMTFqcDg1YjJyNHN5dzFjbGZnNHZxeHFmaDdneWdwd3o4
d2s1c3htZm1tZHE4MyIpKSkpCisgICAgKGJ1aWxkLXN5c3RlbSBxdC1idWlsZC1zeXN0ZW0pCisg
ICAgKGFyZ3VtZW50cworICAgICBgKCM6dGVzdHM/ICNmICAgICAgICAgICAgICAgICAgICAgIDsg
Tm8gdGFyZ2V0CisgICAgICAgIzpwaGFzZXMKKyAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRh
cmQtcGhhc2VzCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ3BhdGNoLWluc3RhbGwtZGly
CisgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykK
KyAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInF1aWNrcGhyYXNlLWVkaXRvci9DTWFrZUxpc3Rz
LnR4dCIKKyAgICAgICAgICAgICAgICgoIlxcJFxce0ZDSVRYNF9BRERPTl9JTlNUQUxMX0RJUlxc
fSIpCisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgKGFz
c29jLXJlZiBvdXRwdXRzICJvdXQiKQorICAgICAgICAgICAgICAgICAiL2xpYi9mY2l0eCIpKSkK
KyAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInBsYXRmb3JtaW5wdXRjb250ZXh0L0NNYWtlTGlz
dHMudHh0IgorICAgICAgICAgICAgICAgKCgiXFwkXFx7Q01BS0VfSU5TVEFMTF9RVFBMVUdJTkRJ
UlxcfSIpCisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAg
KGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKQorICAgICAgICAgICAgICAgICAiL2xpYi9xdDUvcGx1
Z2lucyIpKSkKKyAgICAgICAgICAgICAjdCkpKSkpCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAg
YCgoImV4dHJhLWNtYWtlLW1vZHVsZXMiICxleHRyYS1jbWFrZS1tb2R1bGVzKQorICAgICAgICgi
cGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKKyAgICAoaW5wdXRzCisgICAgIGAoKCJmY2l0eCIg
LGZjaXR4KQorICAgICAgICgibGliaW50bCIgLGludGx0b29sKQorICAgICAgICgibGlieGtiY29t
bW9uIiAsbGlieGtiY29tbW9uKSkpCisgICAgKHByb3BhZ2F0ZWQtaW5wdXRzCisgICAgIGAoKCJx
dGJhc2UiICxxdGJhc2UpKSkKKyAgICAoc3lub3BzaXMgIkZjaXR4IFF0NSBJbnB1dCBDb250ZXh0
IikKKyAgICAoZGVzY3JpcHRpb24gIlRoaXMgcGFja2FnZSBwcm92aWRlcyBhIFF0NSBmcm9udGVu
ZCBmb3IgZmNpdHguIikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vZmNpdHgv
ZmNpdHgtcXQ1LyIpCisgICAgKGxpY2Vuc2UKKyAgICAgKGxpc3QKKyAgICAgIDs7IFBsdWdpbgor
ICAgICAgYnNkLTMKKyAgICAgIDs7IE90aGVycworICAgICAgZ3BsMispKSkpCiAKIChkZWZpbmUt
cHVibGljIHByZXNhZ2UKICAgKHBhY2thZ2UKLS0gCjIuMzAuMAoK


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment;
	filename*0=0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pat;
	filename*1=ch
Content-Type: text/x-patch;
	name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch";
	charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSA5YjU0YjUzYjE4MWQ5YzdmYzlmMDEyZmMzZTQ0ZDlhMTM5Mzk0YmE1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU2F0LCAyIEphbiAyMDIxIDIzOjUxOjUxIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwMy8xM10gZ251OiBsaWJhcHBpbmRpY2F0b3I6IFByb3BhZ2F0ZSBzb21lIGlucHV0cyBhcyBw
ZXIgLnBjCiBmaWxlLgoKKiBnbnUvcGFja2FnZXMvZnJlZWRlc2t0b3Auc2NtIChsaWJhcHBpbmRp
Y2F0b3IpIFtpbnB1dHNdOiBNb3ZlIGd0aysKYW5kIGxpYmRidXNtZW51IHRvIC4uLgpbcHJvcGFn
YXRlZC1pbnB1dHNdOiAuLi4gaGVyZS4KClNpZ25lZC1vZmYtYnk6IExlbyBQcmlrbGVyIDxsZW8u
cHJpa2xlckBzdHVkZW50LnR1Z3Jhei5hdD4KLS0tCiBnbnUvcGFja2FnZXMvZnJlZWRlc2t0b3Au
c2NtIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvZnJlZWRlc2t0b3Auc2NtIGIvZ251L3Bh
Y2thZ2VzL2ZyZWVkZXNrdG9wLnNjbQppbmRleCBlZjM1MzQ5ZWMyLi42ZGQzNzAwNWFlIDEwMDY0
NAotLS0gYS9nbnUvcGFja2FnZXMvZnJlZWRlc2t0b3Auc2NtCisrKyBiL2dudS9wYWNrYWdlcy9m
cmVlZGVza3RvcC5zY20KQEAgLTIwMjEsMTQgKzIwMjEsMTUgQEAgdXNlZnVsIHdpdGggc3lzdGVt
IGludGVncmF0aW9uLiIpCiAgICAgICAgKCJ4dmZiIiAseG9yZy1zZXJ2ZXItZm9yLXRlc3RzKSkp
CiAgICAgKGlucHV0cwogICAgICBgKCgiZGJ1cy1nbGliIiAsZGJ1cy1nbGliKQotICAgICAgICgi
Z3RrKyIgLGd0ayspCi0gICAgICAgKCJsaWJkYnVzbWVudSIgLGxpYmRidXNtZW51KQogICAgICAg
ICgibGliaW5kaWNhdG9yIiAsbGliaW5kaWNhdG9yKQogICAgICAgICgicHl0aG9uQDIiICxweXRo
b24tMikKICAgICAgICAoInB5dGhvbjItcHlndGsiICxweXRob24yLXB5Z3RrKQogICAgICAgICgi
cHl0aG9uMi1weWdvYmplY3QtMiIgLHB5dGhvbjItcHlnb2JqZWN0LTIpCiAgICAgICAgOzsgKCJt
b25vIiAsbW9ubykgOyByZXF1aXJlcyBub24tcGFja2FnZWQgZ2FwaQogICAgICAgICgidmFsYSIg
LHZhbGEpKSkKKyAgICAocHJvcGFnYXRlZC1pbnB1dHMKKyAgICAgYCgoImd0aysiICxndGsrKQor
ICAgICAgICgibGliZGJ1c21lbnUiICxsaWJkYnVzbWVudSkpKQogICAgIChhcmd1bWVudHMKICAg
ICAgOzsgRklYTUU6IGRvIG5vdCBoYXJkY29kZSBndGsgdmVyc2lvbgogICAgICBgKCM6Y29uZmln
dXJlLWZsYWdzICcoIi0td2l0aC1ndGs9MyIpCi0tIAoyLjMwLjAKCg==


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0004-gnu-Add-libchewing.patch"
Content-Type: text/x-patch; name="0004-gnu-Add-libchewing.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSBlOTAwN2Y0MGIxZWE3ZTg1MmE1Y2NkZTAzZTZiMzljZTVjZTYxNWE1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVGh1LCAxNCBKYW4gMjAyMSAwMDo1Mzo0MCAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMDQvMTNdIGdudTogQWRkIGxpYmNoZXdpbmcuCgoqIGdudS9wYWNrYWdlcy9sYW5ndWFnZS5z
Y20gKGxpYmNoZXdpbmcpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xl
ciA8bGVvLnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2xhbmd1
YWdlLnNjbSB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBm
aWxlIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMv
bGFuZ3VhZ2Uuc2NtIGIvZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbQppbmRleCAzZjE3NDY1MDM5
Li42MjFiYzdmNmU1IDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvbGFuZ3VhZ2Uuc2NtCisrKyBi
L2dudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20KQEAgLTMxLDEyICszMSwxNCBAQAogICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyBsaW51eCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
bGx2bSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbWFuKQorICAjOnVzZS1tb2R1bGUg
KGdudSBwYWNrYWdlcyBuY3Vyc2VzKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBvY3Ip
CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBlcmwpCiAgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzIHBrZy1jb25maWcpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB1bHNl
YXVkaW8pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbikKICAgIzp1c2UtbW9k
dWxlIChnbnUgcGFja2FnZXMgcGVybC1jaGVjaykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn
ZXMgc3FsaXRlKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBzd2lnKQogICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyB0ZXhpbmZvKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl
cyB3ZWIpCkBAIC01Myw2ICs1NSw2NSBAQAogICAjOnVzZS1tb2R1bGUgKGd1aXggZ2l0LWRvd25s
b2FkKQogICAjOnVzZS1tb2R1bGUgKGd1aXggdXRpbHMpKQogCisoZGVmaW5lLXB1YmxpYyBsaWJj
aGV3aW5nCisgIChwYWNrYWdlCisgICAgKG5hbWUgImxpYmNoZXdpbmciKQorICAgICh2ZXJzaW9u
ICIwLjUuMSIpCisgICAgKHNvdXJjZQorICAgICAob3JpZ2luCisgICAgICAgKG1ldGhvZCBnaXQt
ZmV0Y2gpCisgICAgICAgKHVyaQorICAgICAgICAoZ2l0LXJlZmVyZW5jZQorICAgICAgICAgKHVy
bCAiaHR0cHM6Ly9naXRodWIuY29tL2NoZXdpbmcvbGliY2hld2luZy5naXQiKQorICAgICAgICAg
KGNvbW1pdAorICAgICAgICAgIChzdHJpbmctYXBwZW5kICJ2IiB2ZXJzaW9uKSkpKQorICAgICAg
IChmaWxlLW5hbWUKKyAgICAgICAgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAg
ICAoc2hhMjU2CisgICAgICAgIChiYXNlMzIgIjA0ZDA5dzZ4ZGQwOHY2bGFqOXk0cW1xc2lqdzVp
Mmp2c2hjaWxoaDR2ZzZjZm5mZ2wybXkiKSkpKQorICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxk
LXN5c3RlbSkKKyAgICAoYXJndW1lbnRzCisgICAgIGAoIzpwaGFzZXMKKyAgICAgICAobW9kaWZ5
LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2Rp
c2FibGUtZmFpbGluZy10ZXN0cworICAgICAgICAgICAobGFtYmRhIF8KKyAgICAgICAgICAgICAo
c3Vic3RpdHV0ZSogInRlc3QvTWFrZWZpbGUuYW0iCisgICAgICAgICAgICAgICAoKCIJdGVzdC1i
b3BvbW9mbyAiKQorICAgICAgICAgICAgICAgICIiKQorICAgICAgICAgICAgICAgKCgiCXRlc3Qt
Y29uZmlnICIpCisgICAgICAgICAgICAgICAgIiIpCisgICAgICAgICAgICAgICAoKCIJdGVzdC1y
ZXNldCAiKQorICAgICAgICAgICAgICAgICIiKQorICAgICAgICAgICAgICAgKCgiCXRlc3Qtc3lt
Ym9sICIpCisgICAgICAgICAgICAgICAgIiIpCisgICAgICAgICAgICAgICAoKCIJdGVzdC1rZXli
b2FyZGxlc3MgIikKKyAgICAgICAgICAgICAgICAiIikKKyAgICAgICAgICAgICAgICgoIgl0ZXN0
LXNwZWNpYWwtc3ltYm9sICIpCisgICAgICAgICAgICAgICAgIiIpCisgICAgICAgICAgICAgICAo
KCIJdGVzdC1rZXlib2FyZCAiKQorICAgICAgICAgICAgICAgICIiKQorICAgICAgICAgICAgICAg
KCgiCXRlc3QtcmVncmVzc2lvbiAiKQorICAgICAgICAgICAgICAgICIiKQorICAgICAgICAgICAg
ICAgKCgiCXRlc3QtdXNlcnBocmFzZSAiKQorICAgICAgICAgICAgICAgICIiKSkKKyAgICAgICAg
ICAgICAjdCkpKSkpCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAgYCgoImF1dG9jb25mIiAsYXV0
b2NvbmYpCisgICAgICAgKCJhdXRvbWFrZSIgLGF1dG9tYWtlKQorICAgICAgICgibGlidG9vbCIg
LGxpYnRvb2wpCisgICAgICAgKCJwZXJsIiAscGVybCkKKyAgICAgICAoInBrZy1jb25maWciICxw
a2ctY29uZmlnKQorICAgICAgICgicHl0aG9uIiAscHl0aG9uLXdyYXBwZXIpCisgICAgICAgKCJ0
ZXhpbmZvIiAsdGV4aW5mbykpKQorICAgIChpbnB1dHMKKyAgICAgYCgoIm5jdXJzZXMiICxuY3Vy
c2VzKQorICAgICAgICgic3FsaXRlIiAsc3FsaXRlKSkpCisgICAgKHN5bm9wc2lzICJDaGluZXNl
IHBob25ldGljIGlucHV0IG1ldGhvZCIpCisgICAgKGRlc2NyaXB0aW9uICJDaGV3aW5nIGlzIGFu
IGludGVsbGlnZW50IHBob25ldGljIChaaHV5aW4vQm9wb21vZm8pIGlucHV0CittZXRob2QsIG9u
ZSBvZiB0aGUgbW9zdCBwb3B1bGFyIGNob2ljZXMgZm9yIFRyYWRpdGlvbmFsIENoaW5lc2UgdXNl
cnMuIikKKyAgICAoaG9tZS1wYWdlICJodHRwOi8vY2hld2luZy5pbS8iKQorICAgIChsaWNlbnNl
IGxncGwyLjErKSkpCisKIChkZWZpbmUtcHVibGljIGxpYmxvdWlzCiAgIChwYWNrYWdlCiAgICAg
KG5hbWUgImxpYmxvdWlzIikKLS0gCjIuMzAuMAoK


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0005-gnu-Add-hime.patch"
Content-Type: text/x-patch; name="0005-gnu-Add-hime.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAwNjc0ODc2OGE3YzJhNDAwZTkxODNiZjI2NWVkYjIyYmMyZjMzOWVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVGh1LCAxNCBKYW4gMjAyMSAwMTowMjowOCAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMDUvMTNdIGdudTogQWRkIGhpbWUuCgoqIGdudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20gKGhp
bWUpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVvLnByaWts
ZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbSB8IDc4
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQs
IDc3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9nbnUvcGFja2Fn
ZXMvbGFuZ3VhZ2Uuc2NtIGIvZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbQppbmRleCA2MjFiYzdm
NmU1Li4yMjE4NDhmMmI1IDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvbGFuZ3VhZ2Uuc2NtCisr
KyBiL2dudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20KQEAgLTIzLDggKzIzLDExIEBACiAKIChkZWZp
bmUtbW9kdWxlIChnbnUgcGFja2FnZXMgbGFuZ3VhZ2UpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBh
Y2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBhbnRoeSkKICAgIzp1c2UtbW9k
dWxlIChnbnUgcGFja2FnZXMgYXV0b3Rvb2xzKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl
cyBhdWRpbykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZnJlZWRlc2t0b3ApCisgICM6
dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdldHRleHQpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBh
Y2thZ2VzIGdsaWIpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGd0aykKICAgIzp1c2Ut
bW9kdWxlIChnbnUgcGFja2FnZXMgamF2YSkKQEAgLTM4LDYgKzQxLDcgQEAKICAgIzp1c2UtbW9k
dWxlIChnbnUgcGFja2FnZXMgcHVsc2VhdWRpbykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn
ZXMgcHl0aG9uKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwZXJsLWNoZWNrKQorICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBxdCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn
ZXMgc3FsaXRlKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBzd2lnKQogICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyB0ZXhpbmZvKQpAQCAtNDUsMTYgKzQ5LDg4IEBACiAgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIHhtbCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
eG9yZykKICAgIzp1c2UtbW9kdWxlIChndWl4IHBhY2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGd1
aXggYnVpbGQtc3lzdGVtIGNtYWtlKQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVt
IGdsaWItb3ItZ3RrKQogICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdudSkKICAg
Izp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBwZXJsKQogICAjOnVzZS1tb2R1bGUgKGd1
aXggYnVpbGQtc3lzdGVtIHB5dGhvbikKKyAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3Rl
bSBxdCkKICAgIzp1c2UtbW9kdWxlICgoZ3VpeCBsaWNlbnNlcykKICAgICAgICAgICAgICAgICAj
OnNlbGVjdAotICAgICAgICAgICAgICAgIChic2QtMyBncGwyIGdwbDIrIGdwbDMgZ3BsMysgbGdw
bDIuMSBsZ3BsMi4xKyBsZ3BsMysgcGVybC1saWNlbnNlIHpwbDIuMSkpCisgICAgICAgICAgICAg
ICAgKGJzZC0zIGdwbDIgZ3BsMisgZ3BsMyBncGwzKyBsZ3BsMi4xIGxncGwyLjErIGxncGwzKyBw
ZXJsLWxpY2Vuc2UgenBsMi4xIGZkbDEuMispKQogICAjOnVzZS1tb2R1bGUgKGd1aXggZG93bmxv
YWQpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBnaXQtZG93bmxvYWQpCiAgICM6dXNlLW1vZHVsZSAo
Z3VpeCB1dGlscykpCiAKKyhkZWZpbmUtcHVibGljIGhpbWUKKyAgKHBhY2thZ2UKKyAgICAobmFt
ZSAiaGltZSIpCisgICAgKHZlcnNpb24gIjAuOS4xMSIpCisgICAgKHNvdXJjZQorICAgICAob3Jp
Z2luCisgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgKHVyaQorICAgICAgICAoZ2l0
LXJlZmVyZW5jZQorICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2hpbWUtaW1lL2hp
bWUuZ2l0IikKKyAgICAgICAgIChjb21taXQKKyAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAidiIg
dmVyc2lvbikpKSkKKyAgICAgICAoZmlsZS1uYW1lCisgICAgICAgIChnaXQtZmlsZS1uYW1lIG5h
bWUgdmVyc2lvbikpCisgICAgICAgKHNoYTI1NgorICAgICAgICAoYmFzZTMyICIxd24waWNpNzh4
NXFoNmh2djUwYmY3NmxkN2RzNDJoenpsNGw1cXozNGhwOHd5dnJ3YWt3IikpKSkKKyAgICAoYnVp
bGQtc3lzdGVtIGdsaWItb3ItZ3RrLWJ1aWxkLXN5c3RlbSkKKyAgICAoYXJndW1lbnRzCisgICAg
IGAoIzp0ZXN0cz8gI2YgICAgICAgICAgICAgICAgICAgICAgOyBObyB0YXJnZXQKKyAgICAgICAj
OmltcG9ydGVkLW1vZHVsZXMKKyAgICAgICAoLEAlZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtLW1v
ZHVsZXMKKyAgICAgICAgKGd1aXggYnVpbGQgY21ha2UtYnVpbGQtc3lzdGVtKQorICAgICAgICAo
Z3VpeCBidWlsZCBxdC1idWlsZC1zeXN0ZW0pKQorICAgICAgICM6bW9kdWxlcworICAgICAgICgo
Z3VpeCBidWlsZCBnbGliLW9yLWd0ay1idWlsZC1zeXN0ZW0pCisgICAgICAgICgoZ3VpeCBidWls
ZCBxdC1idWlsZC1zeXN0ZW0pCisgICAgICAgICAjOnByZWZpeCBxdDopCisgICAgICAgIChndWl4
IGJ1aWxkIHV0aWxzKSkKKyAgICAgICAjOmNvbmZpZ3VyZS1mbGFncworICAgICAgIChsaXN0Cisg
ICAgICAgIDs7IEZJWE1FCisgICAgICAgIDs7IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhH
dGtTdGF0dXNJY29u4oCZCisgICAgICAgICItLWRpc2FibGUtc3lzdGVtLXRyYXkiKQorICAgICAg
ICM6cGhhc2VzCisgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcworICAgICAg
ICAgKGFkZC1hZnRlciAndW5wYWNrICdwYXRjaC1zdGQKKyAgICAgICAgICAgKGxhbWJkYSBfCisg
ICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJjb25maWd1cmUiCisgICAgICAgICAgICAgICAoKCJn
bnUxNyIpCisgICAgICAgICAgICAgICAgImdudTExIikKKyAgICAgICAgICAgICAgICgoImdudSsr
MTciKQorICAgICAgICAgICAgICAgICJnbnUrKzExIikpCisgICAgICAgICAgICAgI3QpKQorICAg
ICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbCAncXQtd3JhcAorICAgICAgICAgICAoYXNzb2MtcmVm
IHF0OiVzdGFuZGFyZC1waGFzZXMgJ3F0LXdyYXApKSkpKQorICAgIChuYXRpdmUtaW5wdXRzCisg
ICAgIGAoKCJnZXR0ZXh0IiAsZ2V0dGV4dC1taW5pbWFsKQorICAgICAgICgicGtnLWNvbmZpZyIg
LHBrZy1jb25maWcpCisgICAgICAgKCJ3aGVyZWlzIiAsdXRpbC1saW51eCkpKQorICAgIChpbnB1
dHMKKyAgICAgYCgoImFudGh5IiAsYW50aHkpCisgICAgICAgKCJhcHBpbmRpY2F0b3IiICxsaWJh
cHBpbmRpY2F0b3IpCisgICAgICAgKCJjaGV3aW5nIiAsbGliY2hld2luZykKKyAgICAgICAoImd0
aysiICxndGsrKQorICAgICAgICgicXRiYXNlIiAscXRiYXNlKQorICAgICAgICgieHRzdCIgLGxp
Ynh0c3QpKSkKKyAgICAoc3lub3BzaXMgIkhJTUUgSW5wdXQgTWV0aG9kIEVkaXRvciIpCisgICAg
KGRlc2NyaXB0aW9uICJIaW1lIGlzIGFuIGV4dHJlbWVseSBlYXN5LXRvLXVzZSBpbnB1dCBtZXRo
b2QgZnJhbWV3b3JrLiAgSXQKK2lzIGxpZ2h0d2VpZ2h0LCBzdGFibGUsIHBvd2VyZnVsIGFuZCBz
dXBwb3J0cyBtYW55IGNvbW1vbmx5IHVzZWQgaW5wdXQgbWV0aG9kcywKK2luY2x1ZGluZyBDYW5n
amllLCBaaHV5aW4sIERheWksIFJhbmtlZCwgU2hyaW1wLCBHcmVlaywgQW50aHksIEtvcmVhbiwg
TGF0aW4sCitSYW5kb20gQ2FnZSBGaWdodGluZyBCaXJkcywgQ29vbCBNdXNpYyBldGMuIikKKyAg
ICAoaG9tZS1wYWdlICJodHRwOi8vaGltZS1pbWUuZ2l0aHViLmlvLyIpCisgICAgKGxpY2Vuc2UK
KyAgICAgKGxpc3QKKyAgICAgIGdwbDIrCisgICAgICBsZ3BsMi4xKworICAgICAgOzsgRG9jdW1l
bnRhdGlvbgorICAgICAgZmRsMS4yKykpKSkKKwogKGRlZmluZS1wdWJsaWMgbGliY2hld2luZwog
ICAocGFja2FnZQogICAgIChuYW1lICJsaWJjaGV3aW5nIikKLS0gCjIuMzAuMAoK


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0006-gnu-Add-nimf.patch"
Content-Type: text/x-patch; name="0006-gnu-Add-nimf.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAwM2I4MTdmNWI5MGQxYzk3YWQzYWQ0ZjU3NmJiMmFlM2E3YjU0Nzg1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVGh1LCAxNCBKYW4gMjAyMSAwMTowNzoxNiAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMDYvMTNdIGdudTogQWRkIG5pbWYuCgoqIGdudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20gKG5p
bWYpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVvLnByaWts
ZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbSB8IDEz
OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQs
IDEzOCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNj
bSBiL2dudS9wYWNrYWdlcy9sYW5ndWFnZS5zY20KaW5kZXggMjIxODQ4ZjJiNS4uNjdiNTE5YWE1
NiAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2xhbmd1YWdlLnNjbQorKysgYi9nbnUvcGFja2Fn
ZXMvbGFuZ3VhZ2Uuc2NtCkBAIC0yNiwxMCArMjYsMTUgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMgYW50aHkpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGF1dG90b29scykK
ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYXVkaW8pCisgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzIGJhc2UpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGRvY2Jvb2spCisg
ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGVtYWNzKQogICAjOnVzZS1tb2R1bGUgKGdudSBw
YWNrYWdlcyBmcmVlZGVza3RvcCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2V0dGV4
dCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2xpYikKKyAgIzp1c2UtbW9kdWxlIChn
bnUgcGFja2FnZXMgZ25vbWUpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGd0aykKKyAg
Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaWJ1cykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFj
a2FnZXMgamF2YSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbGludXgpCiAgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIGxsdm0pCkBAIC00Nyw2ICs1Miw3IEBACiAgICM6dXNlLW1v
ZHVsZSAoZ251IHBhY2thZ2VzIHRleGluZm8pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2Vz
IHdlYikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeG1sKQorICAjOnVzZS1tb2R1bGUg
KGdudSBwYWNrYWdlcyB4ZGlzb3JnKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4b3Jn
KQogICAjOnVzZS1tb2R1bGUgKGd1aXggcGFja2FnZXMpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBi
dWlsZC1zeXN0ZW0gY21ha2UpCkBAIC02Miw2ICs2OCwxMzggQEAKICAgIzp1c2UtbW9kdWxlIChn
dWl4IGdpdC1kb3dubG9hZCkKICAgIzp1c2UtbW9kdWxlIChndWl4IHV0aWxzKSkKIAorKGRlZmlu
ZS1wdWJsaWMgbmltZgorICAocGFja2FnZQorICAgIChuYW1lICJuaW1mIikKKyAgICAodmVyc2lv
biAiMS4yIikKKyAgICAoc291cmNlCisgICAgIChvcmlnaW4KKyAgICAgICAobWV0aG9kIGdpdC1m
ZXRjaCkKKyAgICAgICAodXJpCisgICAgICAgIChnaXQtcmVmZXJlbmNlCisgICAgICAgICAodXJs
ICJodHRwczovL2dpdGh1Yi5jb20vaGFtb25pa3IvbmltZi5naXQiKQorICAgICAgICAgKGNvbW1p
dAorICAgICAgICAgIChzdHJpbmctYXBwZW5kICJuaW1mLSIgdmVyc2lvbikpKSkKKyAgICAgICAo
ZmlsZS1uYW1lCisgICAgICAgIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCisgICAgICAg
KHNoYTI1NgorICAgICAgICAoYmFzZTMyICIwMXFpN2ZsbWFxcm4yZmswM3NhNDJyMGNha3M5ZDhs
c3Y4OHMwYmd4YWhoeHdrMXg3NmdjIikpKSkKKyAgICAoYnVpbGQtc3lzdGVtIGdsaWItb3ItZ3Rr
LWJ1aWxkLXN5c3RlbSkKKyAgICAob3V0cHV0cyAnKCJvdXQiICJkb2MiKSkKKyAgICAoYXJndW1l
bnRzCisgICAgIGAoIzppbXBvcnRlZC1tb2R1bGVzCisgICAgICAgKCxAJWdsaWItb3ItZ3RrLWJ1
aWxkLXN5c3RlbS1tb2R1bGVzCisgICAgICAgIChndWl4IGJ1aWxkIGNtYWtlLWJ1aWxkLXN5c3Rl
bSkKKyAgICAgICAgKGd1aXggYnVpbGQgcXQtYnVpbGQtc3lzdGVtKSkKKyAgICAgICAjOm1vZHVs
ZXMKKyAgICAgICAoKGd1aXggYnVpbGQgZ2xpYi1vci1ndGstYnVpbGQtc3lzdGVtKQorICAgICAg
ICAoKGd1aXggYnVpbGQgcXQtYnVpbGQtc3lzdGVtKQorICAgICAgICAgIzpwcmVmaXggcXQ6KQor
ICAgICAgICAoZ3VpeCBidWlsZCB1dGlscykpCisgICAgICAgIzpjb25maWd1cmUtZmxhZ3MKKyAg
ICAgICAobGlzdAorICAgICAgICAiLS13aXRoLWltLWNvbmZpZy1kYXRhIgorICAgICAgICAiLS13
aXRoLWltc2V0dGluZ3MtZGF0YSIKKyAgICAgICAgKHN0cmluZy1hcHBlbmQgIi0td2l0aC1odG1s
LWRpcj0iCisgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgJW91dHB1dHMgImRvYyIp
CisgICAgICAgICAgICAgICAgICAgICAgICIvc2hhcmUvZ3RrLWRvYy9odG1sIikpCisgICAgICAg
IzpwaGFzZXMKKyAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCisgICAgICAg
ICAoYWRkLWFmdGVyICd1bnBhY2sgJ3BhdGNoLWZsYWdzCisgICAgICAgICAgIChsYW1iZGEqICgj
OmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgIChzdWJzdGl0dXRl
KiAiY29uZmlndXJlLmFjIgorICAgICAgICAgICAgICAgKCgiLVdlcnJvciIpCisgICAgICAgICAg
ICAgICAgIi1Xbm8tZXJyb3IiKSkKKyAgICAgICAgICAgICAjdCkpCisgICAgICAgICAoYWRkLWFm
dGVyICdwYXRjaC1mbGFncyAncGF0Y2gtZG9jYm9vay14bWwKKyAgICAgICAgICAgKGxhbWJkYSog
KCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgKHdpdGgtZGly
ZWN0b3J5LWV4Y3Vyc2lvbiAiZG9jcyIKKyAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAibmlt
Zi1kb2NzLnhtbCIKKyAgICAgICAgICAgICAgICAgKCgiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9y
Zy9kb2Nib29rL3htbC80LjMvIikKKyAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIChh
c3NvYy1yZWYgaW5wdXRzICJkb2Nib29rLXhtbC00LjMiKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi94bWwvZHRkL2RvY2Jvb2svIikpKSkKKyAgICAgICAgICAgICAjdCkpCisg
ICAgICAgICAoYWRkLWFmdGVyICdwYXRjaC1kb2Nib29rLXhtbCAncGF0Y2gtcGF0aHMKKyAgICAg
ICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykK
KyAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImNvbmZpZ3VyZS5hYyIKKyAgICAgICAgICAgICAg
ICgoIi91c3Ivc2hhcmUvYW50aHkvYW50aHkuZGljIikKKyAgICAgICAgICAgICAgICAoc3RyaW5n
LWFwcGVuZCAoYXNzb2MtcmVmIGlucHV0cyAiYW50aHkiKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICIvc2hhcmUvYW50aHkvYW50aHkuZGljIikpKQorICAgICAgICAgICAgIChzdWJz
dGl0dXRlKiAiY29uZmlndXJlLmFjIgorICAgICAgICAgICAgICAgKCgiL3Vzci9iaW46XFwkR1RL
M19MSUJESVIvbGliZ3RrLTMtMCIpCisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgKGFz
c29jLXJlZiBpbnB1dHMgImd0ays6YmluIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiL2JpbjokR1RLM19MSUJESVIvbGliZ3RrLTMtMCIpKQorICAgICAgICAgICAgICAgKCgiL3Vz
ci9iaW46XFwkR1RLMl9MSUJESVIvbGliZ3RrMi4wLTAiKQorICAgICAgICAgICAgICAgIChzdHJp
bmctYXBwZW5kIChhc3NvYy1yZWYgaW5wdXRzICJndGsrLTI6YmluIikKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiL2JpbjokR1RLMl9MSUJESVIvbGliZ3RrMi4wLTAiKSkpCisgICAg
ICAgICAgICAgKHN1YnN0aXR1dGUqICJtb2R1bGVzL2NsaWVudHMvZ3RrL01ha2VmaWxlLmFtIgor
ICAgICAgICAgICAgICAgKCgiXFwkXFwoR1RLM19MSUJESVJcXCkiKQorICAgICAgICAgICAgICAg
IChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiL2xpYiIpKQorICAgICAgICAgICAgICAgKCgiXFwkXFwoR1RLMl9M
SUJESVJcXCkiKQorICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0
cHV0cyAib3V0IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xpYiIpKSkKKyAg
ICAgICAgICAgICAoc3Vic3RpdHV0ZSogIm1vZHVsZXMvY2xpZW50cy9xdDQvTWFrZWZpbGUuYW0i
CisgICAgICAgICAgICAgICAoKCJcXCRcXChRVDRfTElCX0RJUlxcKSIpCisgICAgICAgICAgICAg
ICAgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICIvbGliIikpKQorICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAi
bW9kdWxlcy9jbGllbnRzL3F0NS9NYWtlZmlsZS5hbSIKKyAgICAgICAgICAgICAgICgoIlxcJFxc
KFFUNV9JTV9NT0RVTEVfRElSXFwpIikKKyAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAo
YXNzb2MtcmVmIG91dHB1dHMgIm91dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii9saWIvcXQ1L3BsdWdpbnMvaW5wdXRtZXRob2RzIikpKQorICAgICAgICAgICAgIChzdWJzdGl0
dXRlKiAnKCJiaW4vbmltZi1zZXR0aW5ncy9NYWtlZmlsZS5hbSIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZGF0YS9hcHBhcm1vci1hYnN0cmFjdGlvbnMvTWFrZWZpbGUuYW0iCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImRhdGEvTWFrZWZpbGUuYW0iICJkYXRhL2ltLWNvbmZp
Zy9NYWtlZmlsZS5hbSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YS9pbXNldHRp
bmdzL01ha2VmaWxlLmFtIikKKyAgICAgICAgICAgICAgICgoIi9ldGMiKQorICAgICAgICAgICAg
ICAgIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiL2V0YyIpKQorICAgICAgICAgICAgICAgKCgiL3Vzci9zaGFy
ZSIpCisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRzICJv
dXQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvc2hhcmUiKSkpCisgICAgICAg
ICAgICAgI3QpKQorICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbCAncXQtd3JhcAorICAgICAg
ICAgICAoYXNzb2MtcmVmIHF0OiVzdGFuZGFyZC1waGFzZXMgJ3F0LXdyYXApKSkpKQorICAgIChu
YXRpdmUtaW5wdXRzCisgICAgIGAoKCJhdXRvY29uZiIgLGF1dG9jb25mKQorICAgICAgICgiYXV0
b21ha2UiICxhdXRvbWFrZSkKKyAgICAgICAoImRvY2Jvb2steG1sLTQuMyIgLGRvY2Jvb2steG1s
LTQuMykKKyAgICAgICAoImdldHRleHQiICxnZXR0ZXh0LW1pbmltYWwpCisgICAgICAgKCJnb2Jq
ZWN0LWludHJvc3BlY3Rpb24iICxnb2JqZWN0LWludHJvc3BlY3Rpb24pCisgICAgICAgKCJndGsr
LTI6YmluIiAsZ3RrKy0yICJiaW4iKQorICAgICAgICgiZ3RrKzpiaW4iICxndGsrICJiaW4iKQor
ICAgICAgICgiZ3RrLWRvYyIgLGd0ay1kb2MpCisgICAgICAgKCJpbnRsdG9vbCIgLGludGx0b29s
KQorICAgICAgICgibGlidG9vbCIgLGxpYnRvb2wpCisgICAgICAgKCJwZXJsIiAscGVybCkKKyAg
ICAgICAoInBrZy1jb25maWciICxwa2ctY29uZmlnKQorICAgICAgICgid2hpY2giICx3aGljaCkp
KQorICAgIChpbnB1dHMKKyAgICAgYCgoImFudGh5IiAsYW50aHkpCisgICAgICAgKCJhcHBpbmRp
Y2F0b3IiICxsaWJhcHBpbmRpY2F0b3IpCisgICAgICAgKCJndGsrLTIiICxndGsrLTIpCisgICAg
ICAgKCJndGsrIiAsZ3RrKykKKyAgICAgICAoImhhbmd1bCIgLGxpYmhhbmd1bCkKKyAgICAgICAo
Im0xN24tZGIiICxtMTduLWRiKQorICAgICAgICgibTE3bi1saWIiICxtMTduLWxpYikKKyAgICAg
ICAoInF0LTQiICxxdC00KQorICAgICAgICgicXRiYXNlIiAscXRiYXNlKQorICAgICAgICgicmlt
ZSIgLGxpYnJpbWUpCisgICAgICAgKCJyc3ZnIiAsbGlicnN2ZykKKyAgICAgICAoIndheWxhbmQi
ICx3YXlsYW5kKQorICAgICAgICgid2F5bGFuZC1wcm90b2NvbHMiICx3YXlsYW5kLXByb3RvY29s
cykKKyAgICAgICAoIngxMSIgLGxpYngxMSkKKyAgICAgICAoInhrYmNvbW1vbiIgLGxpYnhrYmNv
bW1vbikKKyAgICAgICAoInhrbGF2aWVyIiAsbGlieGtsYXZpZXIpKSkKKyAgICAocHJvcGFnYXRl
ZC1pbnB1dHMKKyAgICAgYCgoImdsaWIiICxnbGliKSkpCisgICAgKHN5bm9wc2lzICJMaWdodHdl
aWdodCBpbnB1dCBtZXRob2QgZnJhbWV3b3JrIikKKyAgICAoZGVzY3JpcHRpb24gIk5pbWYgaXMg
YSBsaWdodHdlaWdodCwgZmFzdCBhbmQgZXh0ZW5zaWJsZSBpbnB1dCBtZXRob2QKK2ZyYW1ld29y
ay4gIFRoaXMgcGFja2FnZSBwcm92aWRlcyBhIGZvcmsgb2YgdGhlIG9yaWdpbmFsIG5pbWYgcHJv
amVjdCwgdGhhdAorZm9jdXNzZXMgZXNwZWNpYWxseSBvbiBLb3JlYW4gaW5wdXQgKEhhbmd1bCwg
SGFuamEsIC4uLikuIikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vaGFtb25p
a3IvbmltZi8iKQorICAgIChsaWNlbnNlIGxncGwzKykpKQorCiAoZGVmaW5lLXB1YmxpYyBoaW1l
CiAgIChwYWNrYWdlCiAgICAgKG5hbWUgImhpbWUiKQotLSAKMi4zMC4wCgo=


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0007-gnu-Add-cmake-shared.patch"
Content-Type: text/x-patch; name="0007-gnu-Add-cmake-shared.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAwOTg3MGE0OGEyN2Q3ZWFiYjJiMmZkNzYwYzUyOWU0OTFlYjU3OGY4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU3VuLCAzIEphbiAyMDIxIDE5OjAzOjAwIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwNy8xM10gZ251OiBBZGQgY21ha2Utc2hhcmVkLgoKKiBnbnUvcGFja2FnZXMvY21ha2Uuc2Nt
IChjbWFrZS1zaGFyZWQpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xl
ciA8bGVvLnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2NtYWtl
LnNjbSB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwg
MjkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9jbWFrZS5zY20gYi9n
bnUvcGFja2FnZXMvY21ha2Uuc2NtCmluZGV4IDU2YjMyNzkyZmUuLmFiNzQ2NTAwNjYgMTAwNjQ0
Ci0tLSBhL2dudS9wYWNrYWdlcy9jbWFrZS5zY20KKysrIGIvZ251L3BhY2thZ2VzL2NtYWtlLnNj
bQpAQCAtMzEsNiArMzEsNyBAQAogICAjOnVzZS1tb2R1bGUgKChndWl4IGxpY2Vuc2VzKSAjOnBy
ZWZpeCBsaWNlbnNlOikKICAgIzp1c2UtbW9kdWxlIChndWl4IHBhY2thZ2VzKQogICAjOnVzZS1t
b2R1bGUgKGd1aXggZG93bmxvYWQpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBnaXQtZG93bmxvYWQp
CiAgICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKICAgIzp1c2UtbW9kdWxlIChndWl4IGRlcHJl
Y2F0aW9uKQogICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdudSkKQEAgLTQzLDYg
KzQ0LDcgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY3VybCkKICAgIzp1c2UtbW9k
dWxlIChnbnUgcGFja2FnZXMgZmlsZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaHVy
ZCkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMga2RlLWZyYW1ld29ya3MpCiAgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpYmV2ZW50KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr
YWdlcyBuY3Vyc2VzKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBzZXJpYWxpemF0aW9u
KQpAQCAtNTIsNiArNTQsMzMgQEAKICAgIzp1c2UtbW9kdWxlIChpY2UtOSBtYXRjaCkKICAgIzp1
c2UtbW9kdWxlIChzcmZpIHNyZmktMSkpCiAKKyhkZWZpbmUtcHVibGljIGNtYWtlLXNoYXJlZAor
ICAocGFja2FnZQorICAgIChuYW1lICJjbWFrZS1zaGFyZWQiKQorICAgICh2ZXJzaW9uICIxLjEu
MCIpCisgICAgKHNvdXJjZQorICAgICAob3JpZ2luCisgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gp
CisgICAgICAgKHVyaQorICAgICAgICAoZ2l0LXJlZmVyZW5jZQorICAgICAgICAgKHVybCAiaHR0
cHM6Ly9naXRodWIuY29tL2xpcmlvcy9jbWFrZS1zaGFyZWQuZ2l0IikKKyAgICAgICAgIChjb21t
aXQKKyAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAidiIgdmVyc2lvbikpKSkKKyAgICAgICAoZmls
ZS1uYW1lCisgICAgICAgIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCisgICAgICAgKHNo
YTI1NgorICAgICAgICAoYmFzZTMyICIxc3JkM2ptbGFsZjBzemd5cDg4eW1oYm53ZHM0cWl5d21m
OGxxMXBpZjlnOGlyampoZHJ5IikpKSkKKyAgICAoYnVpbGQtc3lzdGVtIGNtYWtlLWJ1aWxkLXN5
c3RlbSkKKyAgICAoYXJndW1lbnRzCisgICAgIGAoIzp0ZXN0cz8gI2YpKSAgICAgICAgICAgICAg
ICAgICAgOyBObyB0YXJnZXQKKyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiZXh0cmEtY21h
a2UtbW9kdWxlcyIgLGV4dHJhLWNtYWtlLW1vZHVsZXMpKSkKKyAgICAoc3lub3BzaXMgIlNoYXJl
ZCBDTWFrZSBmdW5jdGlvbnMgYW5kIG1hY3JvcyIpCisgICAgKGRlc2NyaXB0aW9uICJDTWFrZS1T
aGFyZWQgYXJlIHNoYXJlZCBmdW5jdGlvbnMgYW5kIG1hY3JvcyBmb3IgcHJvamVjdHMKK3VzaW5n
IHRoZSBDTWFrZSBidWlsZCBzeXN0ZW0uIikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1
Yi5jb20vbGlyaW9zL2NtYWtlLXNoYXJlZC8iKQorICAgIChsaWNlbnNlIGxpY2Vuc2U6YnNkLTMp
KSkKKwogOzs7IEJ1aWxkIHBoYXNlcyBzaGFyZWQgYmV0d2VlbiAnY21ha2UtYm9vdHN0cmFwJyBh
bmQgdGhlIGxhdGVyIHZhcmlhbnRzCiA7OzsgdGhhdCB1c2UgY21ha2UtYnVpbGQtc3lzdGVtLgog
KGRlZmluZSAlY29tbW9uLWJ1aWxkLXBoYXNlcwotLSAKMi4zMC4wCgo=


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0008-gnu-Add-materialdecoration.patch"
Content-Type: text/x-patch; name="0008-gnu-Add-materialdecoration.patch";
	charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSBlNDgzZGU1MWE2M2VmMjQ4MDI4YTQxMDBiNDdkYTM5NzQzYjdhNmI0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU3VuLCAzIEphbiAyMDIxIDE5OjA4OjQzIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwOC8xM10gZ251OiBBZGQgbWF0ZXJpYWxkZWNvcmF0aW9uLgoKKiBnbnUvcGFja2FnZXMvcXQu
c2NtIChtYXRlcmlhbGRlY29yYXRpb24pOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBM
ZW8gUHJpa2xlciA8bGVvLnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2th
Z2VzL3F0LnNjbSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUg
Y2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9xdC5z
Y20gYi9nbnUvcGFja2FnZXMvcXQuc2NtCmluZGV4IDc5ZDQxYjNlNzMuLjYwZTRmNDNjNmEgMTAw
NjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9xdC5zY20KKysrIGIvZ251L3BhY2thZ2VzL3F0LnNjbQpA
QCAtNDUsNiArNDUsNyBAQAogICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdudSkK
ICAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSB0cml2aWFsKQogICAjOnVzZS1tb2R1
bGUgKGd1aXggYnVpbGQtc3lzdGVtIHB5dGhvbikKKyAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxk
LXN5c3RlbSBxdCkKICAgIzp1c2UtbW9kdWxlIChndWl4IHBhY2thZ2VzKQogICAjOnVzZS1tb2R1
bGUgKGd1aXggZGVwcmVjYXRpb24pCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKQEAgLTcy
LDYgKzczLDcgQEAKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3RrKQogICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyBpY3U0YykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
aW1hZ2UpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGtkZS1mcmFtZXdvcmtzKQogICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBsaWJldmVudCkKICAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMgbGludXgpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxsdm0pCkBAIC0x
MDMsNiArMTA1LDM2IEBACiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHhtbCkKICAgIzp1
c2UtbW9kdWxlIChzcmZpIHNyZmktMSkpCiAKKyhkZWZpbmUtcHVibGljIG1hdGVyaWFsZGVjb3Jh
dGlvbgorICAocGFja2FnZQorICAgIChuYW1lICJtYXRlcmlhbGRlY29yYXRpb24iKQorICAgICh2
ZXJzaW9uICIxLjEuMCIpCisgICAgKHNvdXJjZQorICAgICAob3JpZ2luCisgICAgICAgKG1ldGhv
ZCBnaXQtZmV0Y2gpCisgICAgICAgKHVyaQorICAgICAgICAoZ2l0LXJlZmVyZW5jZQorICAgICAg
ICAgKHVybCAiaHR0cHM6Ly9naXRodWIuY29tL2xpcmlvcy9tYXRlcmlhbGRlY29yYXRpb24uZ2l0
IikKKyAgICAgICAgIChjb21taXQgIjIwNzk0ODcxMTZjNmM3OTRhZjNhMTU0NTIzNDJhNjkyOTMw
MzliNDYiKSkpCisgICAgICAgKGZpbGUtbmFtZQorICAgICAgICAoZ2l0LWZpbGUtbmFtZSBuYW1l
IHZlcnNpb24pKQorICAgICAgIChzaGEyNTYKKyAgICAgICAgKGJhc2UzMiAiMXBjem14Ym1uc2dq
OXMxZzZhcDU1cXEycTRjY2liY25oc3c5YjZjbDVyemdjNDhpenkwNiIpKSkpCisgICAgKGJ1aWxk
LXN5c3RlbSBxdC1idWlsZC1zeXN0ZW0pCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAgYCgoImNt
YWtlLXNoYXJlZCIgLGNtYWtlLXNoYXJlZCkKKyAgICAgICAoImV4dHJhLWNtYWtlLW1vZHVsZXMi
ICxleHRyYS1jbWFrZS1tb2R1bGVzKQorICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcp
KSkKKyAgICAoaW5wdXRzCisgICAgIGAoKCJxdGJhc2UiICxxdGJhc2UpCisgICAgICAgKCJxdHdh
eWxhbmQiICxxdHdheWxhbmQpCisgICAgICAgKCJ3YXlsYW5kIiAsd2F5bGFuZCkpKQorICAgIChz
eW5vcHNpcyAiTWF0ZXJpYWwgRGVjb3JhdGlvbiBmb3IgUXQiKQorICAgIChkZXNjcmlwdGlvbiAi
TWF0ZXJpYWxEZWNvcmF0aW9uIGlzIGEgY2xpZW50LXNpZGUgZGVjb3JhdGlvbiBmb3IgUXQKK2Fw
cGxpY2F0aW9ucyBvbiBXYXlsYW5kLiIpCisgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIu
Y29tL2xpcmlvcy9tYXRlcmlhbGRlY29yYXRpb24iKQorICAgIChsaWNlbnNlIGxpY2Vuc2U6bGdw
bDMrKSkpCisKIChkZWZpbmUtcHVibGljIGdyYW50bGVlCiAgIChwYWNrYWdlCiAgICAgKG5hbWUg
ImdyYW50bGVlIikKLS0gCjIuMzAuMAoK


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0009-gnu-Add-range-v3.patch"
Content-Type: text/x-patch; name="0009-gnu-Add-range-v3.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAzMzc3NGY2NjY3MTA3ZjcyZGUwNjIxOTFjMzM3OGNiNDg1YjA4ZjZkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogTW9uLCA0IEphbiAyMDIxIDIzOjU5OjE3IC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAwOS8xM10gZ251OiBBZGQgcmFuZ2UtdjMuCgoqIGdudS9wYWNrYWdlcy9jcHAuc2NtIChyYW5n
ZS12Myk6IE5ldyB2YXJpYWJsZS4KClNpZ25lZC1vZmYtYnk6IExlbyBQcmlrbGVyIDxsZW8ucHJp
a2xlckBzdHVkZW50LnR1Z3Jhei5hdD4KLS0tCiBnbnUvcGFja2FnZXMvY3BwLnNjbSB8IDQwICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0
MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2NwcC5zY20gYi9nbnUv
cGFja2FnZXMvY3BwLnNjbQppbmRleCAyNTE0YWY1YTg0Li4wZDc1YjkyMzdlIDEwMDY0NAotLS0g
YS9nbnUvcGFja2FnZXMvY3BwLnNjbQorKysgYi9nbnUvcGFja2FnZXMvY3BwLnNjbQpAQCAtNDks
NiArNDksNyBAQAogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjb21wcmVzc2lvbikKICAg
Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY3J5cHRvKQogICAjOnVzZS1tb2R1bGUgKGdudSBw
YWNrYWdlcyBjdXJsKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBkb2N1bWVudGF0aW9u
KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnY2MpCiAgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzIGxpYmV2ZW50KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBsaWJ1bndp
bmQpCkBAIC02Myw2ICs2NCw0NSBAQAogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0bHMp
CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHdlYikpCiAKKyhkZWZpbmUtcHVibGljIHJh
bmdlLXYzCisgIChwYWNrYWdlCisgICAgKG5hbWUgInJhbmdlLXYzIikKKyAgICAodmVyc2lvbiAi
MC4xMS4wIikKKyAgICAoc291cmNlCisgICAgIChvcmlnaW4KKyAgICAgICAobWV0aG9kIGdpdC1m
ZXRjaCkKKyAgICAgICAodXJpCisgICAgICAgIChnaXQtcmVmZXJlbmNlCisgICAgICAgICAodXJs
ICJodHRwczovL2dpdGh1Yi5jb20vZXJpY25pZWJsZXIvcmFuZ2UtdjMuZ2l0IikKKyAgICAgICAg
IChjb21taXQgdmVyc2lvbikpKQorICAgICAgIChmaWxlLW5hbWUKKyAgICAgICAgKGdpdC1maWxl
LW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAgICAoc2hhMjU2CisgICAgICAgIChiYXNlMzIgIjE4
MjMwYmc0cnE5cG1tNWY4ZjY1ajQ0NGpwcTU2cmxkNGZobXBoYW04cTN2cjFjMWJkamgiKSkpKQor
ICAgIChidWlsZC1zeXN0ZW0gY21ha2UtYnVpbGQtc3lzdGVtKQorICAgIChuYXRpdmUtaW5wdXRz
CisgICAgIGAoKCJkb3h5Z2VuIiAsZG94eWdlbikKKyAgICAgICAoInBlcmwiICxwZXJsKSkpCisg
ICAgKGlucHV0cworICAgICBgKCgiYm9vc3QiICxib29zdCkpKQorICAgIChzeW5vcHNpcyAiUmFu
Z2UgbGlicmFyeSBmb3IgQysrMTQvMTcvMjAiKQorICAgIChkZXNjcmlwdGlvbiAiUmFuZ2UtdjMg
aXMgYW4gZXh0ZW5zaW9uIG9mIHRoZSBTdGFuZGFyZCBUZW1wbGF0ZSBMaWJyYXJ5IHRoYXQKK21h
a2VzIGl0cyBpdGVyYXRvcnMgYW5kIGFsZ29yaXRobXMgbW9yZSBwb3dlcmZ1bCBieSBtYWtpbmcg
dGhlbSBjb21wb3NhYmxlLgorVW5saWtlIG90aGVyIHJhbmdlLWxpa2Ugc29sdXRpb25zIHdoaWNo
LCBzZWVrIHRvIGRvIGF3YXkgd2l0aCBpdGVyYXRvcnMsIGluCityYW5nZS12MyByYW5nZXMgYXJl
IGFuIGFic3RyYXRpb24gbGF5ZXIgb24gdG9wIG9mIGl0ZXJhdG9ycy4iKQorICAgIChob21lLXBh
Z2UgImh0dHBzOi8vZ2l0aHViLmNvbS9lcmljbmllYmxlci9yYW5nZS12My8iKQorICAgIChsaWNl
bnNlCisgICAgIChsaXN0CisgICAgICA7OyBFbGVtZW50cyBvZiBQcm9ncmFtbWluZworICAgICAg
KGxpY2Vuc2U6eDExLXN0eWxlICJmaWxlOi8vL0xJQ0VOU0UudHh0IikKKyAgICAgIDs7IFNHSSBT
VEwKKyAgICAgIGxpY2Vuc2U6c2dpZnJlZWIyLjAKKyAgICAgIDs7OyBMaWJDKysgKGR1YWwtbGlj
ZW5zZWQpCisgICAgICBsaWNlbnNlOmV4cGF0CisgICAgICBsaWNlbnNlOm5jc2EKKyAgICAgIDs7
IE90aGVycworICAgICAgbGljZW5zZTpib29zdDEuMCkpKSkKKwogKGRlZmluZS1wdWJsaWMgYysr
LWdzbAogICAocGFja2FnZQogICAgIChuYW1lICJjKystZ3NsIikKLS0gCjIuMzAuMAoK


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0010-gnu-Add-rlottie.patch"
Content-Type: text/x-patch; name="0010-gnu-Add-rlottie.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSA4MGNlMWFkNTZmYjgzNDg4YTQzMTVmMDA5NGViODViNWNkMmQ1MjM1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVHVlLCA1IEphbiAyMDIxIDAwOjUyOjM3IC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAxMC8xM10gZ251OiBBZGQgcmxvdHRpZS4KCiogZ251L3BhY2thZ2VzL2NwcC5zY20gKHJsb3R0
aWUpOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gUHJpa2xlciA8bGVvLnByaWts
ZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3BhY2thZ2VzL2NwcC5zY20gfCAzMyArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNlcnRp
b25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2NwcC5zY20gYi9nbnUvcGFja2FnZXMv
Y3BwLnNjbQppbmRleCAwZDc1YjkyMzdlLi5hZmI4YmUwNzZmIDEwMDY0NAotLS0gYS9nbnUvcGFj
a2FnZXMvY3BwLnNjbQorKysgYi9nbnUvcGFja2FnZXMvY3BwLnNjbQpAQCAtMzksMTIgKzM5LDE0
IEBACiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBnaXQtZG93bmxvYWQpCiAgICM6dXNlLW1vZHVsZSAo
Z3VpeCBidWlsZC1zeXN0ZW0gY21ha2UpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0
ZW0gZ251KQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIG1lc29uKQogICAjOnVz
ZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIHB5dGhvbikKICAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGF1dG90b29scykKICAgIzp1
c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYm9vc3QpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th
Z2VzIGMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNoZWNrKQorICAjOnVzZS1tb2R1
bGUgKGdudSBwYWNrYWdlcyBjbWFrZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY29k
ZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY29tcHJlc3Npb24pCiAgICM6dXNlLW1v
ZHVsZSAoZ251IHBhY2thZ2VzIGNyeXB0bykKQEAgLTY0LDYgKzY2LDM3IEBACiAgICM6dXNlLW1v
ZHVsZSAoZ251IHBhY2thZ2VzIHRscykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgd2Vi
KSkKIAorKGRlZmluZS1wdWJsaWMgcmxvdHRpZQorICAocGFja2FnZQorICAgIChuYW1lICJybG90
dGllIikKKyAgICAodmVyc2lvbiAiMC4yIikKKyAgICAoc291cmNlCisgICAgIChvcmlnaW4KKyAg
ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAodXJpCisgICAgICAgIChnaXQtcmVmZXJl
bmNlCisgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vU2Ftc3VuZy9ybG90dGllLmdp
dCIpCisgICAgICAgICAoY29tbWl0CisgICAgICAgICAgKHN0cmluZy1hcHBlbmQgInYiIHZlcnNp
b24pKSkpCisgICAgICAgKGZpbGUtbmFtZQorICAgICAgICAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZl
cnNpb24pKQorICAgICAgIChzaGEyNTYKKyAgICAgICAgKGJhc2UzMiAiMTBieHIxemY5d3hsNTVk
NGN3MmowMnI2c2dxbG43bWJ4cGxoaGZ2aHcwejkyZmk0MGtyMyIpKSkpCisgICAgKGJ1aWxkLXN5
c3RlbSBtZXNvbi1idWlsZC1zeXN0ZW0pCisgICAgKGFyZ3VtZW50cworICAgICBgKCM6Y29uZmln
dXJlLWZsYWdzCisgICAgICAgKGxpc3QKKyAgICAgICAgIi1EbG9nPXRydWUiCisgICAgICAgICIt
RHRlc3Q9dHJ1ZSIpKSkKKyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiZ29vZ2xldGVzdCIg
LGdvb2dsZXRlc3QpCisgICAgICAgKCJwa2ctY29uZmlnIiAscGtnLWNvbmZpZykpKQorICAgIChz
eW5vcHNpcyAiTG90dGllIEFuaW1hdGlvbiBMaWJyYXJ5IikKKyAgICAoZGVzY3JpcHRpb24gIlJs
b3R0aWUgaXMgYSBwbGF0Zm9ybSBpbmRlcGVuZGVudCBzdGFuZGFsb25lIGMrKyBsaWJyYXJ5IGZv
cgorcmVuZGVyaW5nIHZlY3RvciBiYXNlZCBhbmltYXRpb25zIGFuZCBhcnQgaW4gcmVhbHRpbWUu
IikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vU2Ftc3VuZy9ybG90dGllLyIp
CisgICAgKGxpY2Vuc2UgbGljZW5zZTpleHBhdCkpKQorCiAoZGVmaW5lLXB1YmxpYyByYW5nZS12
MwogICAocGFja2FnZQogICAgIChuYW1lICJyYW5nZS12MyIpCi0tIAoyLjMwLjAKCg==


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0011-gnu-Add-qt5ct.patch"
Content-Type: text/x-patch; name="0011-gnu-Add-qt5ct.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAwOTZiYTFmZjA2Y2YzOTZjM2M0NmE1NDAyMmI4YzU5ZjZiOGE3NDYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVHVlLCA1IEphbiAyMDIxIDE3OjUwOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAxMS8xM10gZ251OiBBZGQgcXQ1Y3QuCgoqIGdudS9wYWNrYWdlcy9xdC5zY20gKHF0NWN0KTog
TmV3IHZhcmlhYmxlLgoKU2lnbmVkLW9mZi1ieTogTGVvIFByaWtsZXIgPGxlby5wcmlrbGVyQHN0
dWRlbnQudHVncmF6LmF0PgotLS0KIGdudS9wYWNrYWdlcy9xdC5zY20gfCA1NSArKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1NSBp
bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3F0LnNjbSBiL2dudS9wYWNr
YWdlcy9xdC5zY20KaW5kZXggNjBlNGY0M2M2YS4uYTA0MDliMDA2MCAxMDA2NDQKLS0tIGEvZ251
L3BhY2thZ2VzL3F0LnNjbQorKysgYi9nbnUvcGFja2FnZXMvcXQuc2NtCkBAIC0xMDUsNiArMTA1
LDYxIEBACiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHhtbCkKICAgIzp1c2UtbW9kdWxl
IChzcmZpIHNyZmktMSkpCiAKKyhkZWZpbmUtcHVibGljIHF0NWN0CisgIChwYWNrYWdlCisgICAg
KG5hbWUgInF0NWN0IikKKyAgICAodmVyc2lvbiAiMS4xIikKKyAgICAoc291cmNlCisgICAgIChv
cmlnaW4KKyAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKKyAgICAgICAodXJpCisgICAgICAgIChz
dHJpbmctYXBwZW5kICJtaXJyb3I6Ly9zb3VyY2Vmb3JnZS9xdDVjdC9xdDVjdC0iIHZlcnNpb24g
Ii50YXIuYnoyIikpCisgICAgICAgKHNoYTI1NgorICAgICAgICAoYmFzZTMyICIxbG54NHdxazg3
bGJyNmxxYzY0dzVnNXBwamp2NzVrcTJyMHEwYno5Z2Zwcnl6ZHc4eHhnIikpKSkKKyAgICAoYnVp
bGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCisgICAgKGFyZ3VtZW50cworICAgICBgKCM6dGVz
dHM/ICNmICAgICAgICAgICAgICAgICAgICAgIDsgTm8gdGFyZ2V0CisgICAgICAgIzppbXBvcnRl
ZC1tb2R1bGVzCisgICAgICAgKCxAJWdudS1idWlsZC1zeXN0ZW0tbW9kdWxlcworICAgICAgICAo
Z3VpeCBidWlsZCBjbWFrZS1idWlsZC1zeXN0ZW0pCisgICAgICAgIChndWl4IGJ1aWxkIHF0LWJ1
aWxkLXN5c3RlbSkpCisgICAgICAgIzptb2R1bGVzCisgICAgICAgKChndWl4IGJ1aWxkIGdudS1i
dWlsZC1zeXN0ZW0pCisgICAgICAgICgoZ3VpeCBidWlsZCBxdC1idWlsZC1zeXN0ZW0pCisgICAg
ICAgICAjOnByZWZpeCBxdDopCisgICAgICAgIChndWl4IGJ1aWxkIHV0aWxzKSkKKyAgICAgICAj
OnBoYXNlcworICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKKyAgICAgICAg
IChhZGQtYWZ0ZXIgJ3VucGFjayAncGF0Y2gKKyAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlu
cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJxdDVj
dC5wcm8iCisgICAgICAgICAgICAgICAoKCJcXCRcXCRcXFtRVF9JTlNUQUxMX0JJTlNcXF0vbHJl
bGVhc2UiKQorICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgaW5wdXRz
ICJxdHRvb2xzIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2Jpbi9scmVsZWFz
ZSIpKSkKKyAgICAgICAgICAgICAjdCkpCisgICAgICAgICAocmVwbGFjZSAnY29uZmlndXJlCisg
ICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAg
ICAgICAgICAgICAobGV0KiAoKG91dCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpKSkKKyAgICAg
ICAgICAgICAgIChpbnZva2UgInFtYWtlIgorICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5n
LWFwcGVuZCAiUFJFRklYPSIgb3V0KQorICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFw
cGVuZCAiQklORElSPSIgb3V0ICIvYmluIikKKyAgICAgICAgICAgICAgICAgICAgICAgKHN0cmlu
Zy1hcHBlbmQgIkRBVEFESVI9IiBvdXQgIi9zaGFyZSIpCisgICAgICAgICAgICAgICAgICAgICAg
IChzdHJpbmctYXBwZW5kICJQTFVHSU5ESVI9IiBvdXQgIi9saWIvcXQ1L3BsdWdpbnMiKSkpCisg
ICAgICAgICAgICAgI3QpKQorICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbCAncXQtd3JhcAor
ICAgICAgICAgICAoYXNzb2MtcmVmIHF0OiVzdGFuZGFyZC1waGFzZXMgJ3F0LXdyYXApKSkpKQor
ICAgIChuYXRpdmUtaW5wdXRzCisgICAgIGAoKCJxdHRvb2xzIiAscXR0b29scykpKQorICAgIChp
bnB1dHMKKyAgICAgYCgoInF0YmFzZSIgLHF0YmFzZSkKKyAgICAgICAoInF0c3ZnIiAscXRzdmcp
KSkKKyAgICAoc3lub3BzaXMgIlF0NSBDb25maWd1cmF0aW9uIFRvb2wiKQorICAgIChkZXNjcmlw
dGlvbiAiUXQ1Q1QgaXMgYSBwcm9ncmFtIHRoYXQgYWxsb3dzIHVzZXJzIHRvIGNvbmZpZ3VyZSBR
dDUKK3NldHRpbmdzIChzdWNoIGFzIGljb25zLCB0aGVtZXMsIGFuZCBmb250cykgaW4gZGVza3Rv
cCBlbnZpcm9ubWVudHMgb3IKK3dpbmRvdyBtYW5hZ2VycywgdGhhdCBkb24ndCBwcm92aWRlIFF0
IGludGVncmF0aW9uIGJ5IHRoZW1zZWx2ZXMuIikKKyAgICAoaG9tZS1wYWdlICJodHRwczovL3F0
NWN0LnNvdXJjZWZvcmdlLmlvLyIpCisgICAgKGxpY2Vuc2UgbGljZW5zZTpic2QtMikpKQorCiAo
ZGVmaW5lLXB1YmxpYyBtYXRlcmlhbGRlY29yYXRpb24KICAgKHBhY2thZ2UKICAgICAobmFtZSAi
bWF0ZXJpYWxkZWNvcmF0aW9uIikKLS0gCjIuMzAuMAoK


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0012-gnu-Add-tg-owt.patch"
Content-Type: text/x-patch; name="0012-gnu-Add-tg-owt.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSA1YmQwOGMwZGM5ODQyMzExNWM5OGFjM2Y0YjU0MTJhYzE0OWE3MDJiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogVGh1LCA3IEphbiAyMDIxIDE5OjQxOjQyIC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAxMi8xM10gZ251OiBBZGQgdGctb3d0LgoKKiBnbnUvcGFja2FnZXMvdGVsZWdyYW0uc2NtOiBO
ZXcgbW9kdWxlLgoodGctb3d0KTogTmV3IHZhcmlhYmxlLgoqIGdudS9sb2NhbC5tayAoR05VX1NZ
U1RFTV9NT0RVTEVTKTogQWRkIGl0LgoKU2lnbmVkLW9mZi1ieTogTGVvIFByaWtsZXIgPGxlby5w
cmlrbGVyQHN0dWRlbnQudHVncmF6LmF0PgoKZml4dXAgdGctb3d0Ci0tLQogZ251L2xvY2FsLm1r
ICAgICAgICAgICAgICB8ICAgMSArCiBnbnUvcGFja2FnZXMvdGVsZWdyYW0uc2NtIHwgMTQzICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE0
NCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3RlbGVncmFt
LnNjbQoKZGlmZiAtLWdpdCBhL2dudS9sb2NhbC5tayBiL2dudS9sb2NhbC5tawppbmRleCBlNGEy
ZDcyODEyLi43NmUyODAzZTgxIDEwMDY0NAotLS0gYS9nbnUvbG9jYWwubWsKKysrIGIvZ251L2xv
Y2FsLm1rCkBAIC01MzQsNiArNTM0LDcgQEAgR05VX1NZU1RFTV9NT0RVTEVTID0JCQkJXAogICAl
RCUvcGFja2FnZXMvdGFzay1tYW5hZ2VtZW50LnNjbQkJXAogICAlRCUvcGFja2FnZXMvdGJiLnNj
bQkJCQlcCiAgICVEJS9wYWNrYWdlcy90Y2wuc2NtCQkJCVwKKyAgJUQlL3BhY2thZ2VzL3RlbGVn
cmFtLnNjbSAgICAgICAgICAgICAgICAgXAogICAlRCUvcGFja2FnZXMvdGVsZXBob255LnNjbQkJ
CVwKICAgJUQlL3BhY2thZ2VzL3Rlcm1pbmFscy5zY20JCQlcCiAgICVEJS9wYWNrYWdlcy90ZXJy
YWZvcm0uc2NtCQkJXApkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3RlbGVncmFtLnNjbSBiL2du
dS9wYWNrYWdlcy90ZWxlZ3JhbS5zY20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMC4uMGZkNDdmNGY1ZAotLS0gL2Rldi9udWxsCisrKyBiL2dudS9wYWNrYWdlcy90ZWxlZ3Jh
bS5zY20KQEAgLTAsMCArMSwxNDMgQEAKKzs7OyBHTlUgR3VpeCAtLS0gRnVuY3Rpb25hbCBwYWNr
YWdlIG1hbmFnZW1lbnQgZm9yIEdOVQorOzs7IENvcHlyaWdodCDCqSAyMDIxIFJhZ2hhdiBHdXJ1
cmFqYW4gPHJnQHJhZ2hhdmd1cnVyYWphbi5uYW1lPgorOzs7Cis7OzsgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgR05VIEd1aXguCis7OzsKKzs7OyBHTlUgR3VpeCBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Cis7OzsgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7OyB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQKKzs7OyB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCis7OzsKKzs7
OyBHTlUgR3VpeCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLCBidXQKKzs7OyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCis7OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorOzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCis7OzsKKzs7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorOzs7IGFsb25nIHdpdGggR05V
IEd1aXguICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyhk
ZWZpbmUtbW9kdWxlIChnbnUgcGFja2FnZXMgdGVsZWdyYW0pCisgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBhc3NlbWJseSkKKyAgIzp1
c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaW1hZ2UpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th
Z2VzIGxpbnV4KQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwa2ctY29uZmlnKQorICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwcm90b2J1ZikKKyAgIzp1c2UtbW9kdWxlIChnbnUg
cGFja2FnZXMgcHVsc2VhdWRpbykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcHl0aG9u
KQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0bHMpCisgICM6dXNlLW1vZHVsZSAoZ251
IHBhY2thZ2VzIHZpZGVvKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4aXBoKQorICAj
OnVzZS1tb2R1bGUgKChndWl4IGxpY2Vuc2VzKSAjOnByZWZpeCBsaWNlbnNlOikKKyAgIzp1c2Ut
bW9kdWxlIChndWl4IHBhY2thZ2VzKQorICAjOnVzZS1tb2R1bGUgKGd1aXggZ2l0LWRvd25sb2Fk
KQorICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGNtYWtlKSkKKworKGRlZmluZS1w
dWJsaWMgdGctb3d0CisgIChsZXQgKChjb21taXQgImZhODZmY2MwMGMyMTg4MTNkNjFhMjcyYTU2
ZmVhYjU1Yzc2YTFhYjkiKQorICAgICAgICAocmV2aXNpb24gIjEiKSkKKyAgICAocGFja2FnZQor
ICAgICAgKG5hbWUgInRnLW93dCIpCisgICAgICAodmVyc2lvbgorICAgICAgIChnaXQtdmVyc2lv
biAiMCIgcmV2aXNpb24gY29tbWl0KSkKKyAgICAgIChzb3VyY2UKKyAgICAgICAob3JpZ2luCisg
ICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAgICh1cmkKKyAgICAgICAgICAoZ2l0
LXJlZmVyZW5jZQorICAgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20vZGVza3RvcC1h
cHAvdGdfb3d0LmdpdCIpCisgICAgICAgICAgIChjb21taXQgY29tbWl0KSkpCisgICAgICAgICAo
ZmlsZS1uYW1lCisgICAgICAgICAgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAg
ICAgIChzaGEyNTYKKyAgICAgICAgICAoYmFzZTMyICIwNmdjcmx5bTZ2cXF3N3psZHM5bHB3eWcz
N2Q1bTgxZDg3aDE2YXBzMTl2MHY5Z3phbjBsIikpCisgICAgICAgICAobW9kdWxlcyAnKChndWl4
IGJ1aWxkIHV0aWxzKQorICAgICAgICAgICAgICAgICAgICAoaWNlLTkgZnR3KQorICAgICAgICAg
ICAgICAgICAgICAoc3JmaSBzcmZpLTEpKSkKKyAgICAgICAgIChzbmlwcGV0CisgICAgICAgICAg
YChiZWdpbgorICAgICAgICAgICAgIChsZXQgKChrZWVwCisgICAgICAgICAgICAgICAgICAgICco
IDs7IEN1c3RvbSBmb3JrcyB3aGljaCBhcmUgaW5jb21wYXRpYmxlIHdpdGggdGhlIG9uZXMgaW4g
R3VpeC4KKyAgICAgICAgICAgICAgICAgICAgICAiYWJzZWlsLWNwcCIgImxpYnNydHAiICJvcGVu
aDI2NCIgInJubm9pc2UiCisgICAgICAgICAgICAgICAgICAgICAgOzsgTm90IGF2YWlsYWJsZSBp
biBHdWl4LgorICAgICAgICAgICAgICAgICAgICAgICJwZmZmdCIgInVzcnNjdHAiCisgICAgICAg
ICAgICAgICAgICAgICAgOzsgSGFzIGNtYWtlIHN1cHBvcnQgZmlsZXMgZm9yIGxpYnZweCBpbnB1
dC4KKyAgICAgICAgICAgICAgICAgICAgICAibGlidnB4IikpKQorICAgICAgICAgICAgICAgKHdp
dGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbiAic3JjL3RoaXJkX3BhcnR5IgorICAgICAgICAgICAgICAg
ICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChsc2V0LWRpZmZlcmVuY2Ugc3RyaW5nPT8KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKHNjYW5kaXIgIi4iKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoY29ucyogIi4iICIuLiIga2VlcCkpKSkKKyAgICAgICAg
ICAgICAgICN0KSkpKSkKKyAgICAgIChidWlsZC1zeXN0ZW0gY21ha2UtYnVpbGQtc3lzdGVtKQor
ICAgICAgKGFyZ3VtZW50cworICAgICAgIGAoIzp0ZXN0cz8gI2YgICAgICAgICAgICAgICAgICAg
IDsgTm8gdGFyZ2V0CisgICAgICAgICAjOmNvbmZpZ3VyZS1mbGFncworICAgICAgICAgKGxpc3QK
KyAgICAgICAgICAiLURDTUFLRV9DX0ZMQUdTPS1mUElDIgorICAgICAgICAgICItRENNQUtFX0NY
WF9GTEFHUz0tZlBJQyIpCisgICAgICAgICAjOnBoYXNlcworICAgICAgICAgKG1vZGlmeS1waGFz
ZXMgJXN0YW5kYXJkLXBoYXNlcworICAgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NvcHkt
aW5wdXRzCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyBvdXRwdXRzICM6YWxs
b3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAgIChsZXQqICgobGlidnB4LWZyb20gKGFzc29j
LXJlZiBpbnB1dHMgImxpYnZweCIpKQorICAgICAgICAgICAgICAgICAgICAgIChsaWJ5dXYtZnJv
bSAoYXNzb2MtcmVmIGlucHV0cyAibGlieXV2IikpCisgICAgICAgICAgICAgICAgICAgICAgKGxp
YnZweC10byAoc3RyaW5nLWFwcGVuZCAoZ2V0Y3dkKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIi9zcmMvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s
aWJ2cHgiKSkKKyAgICAgICAgICAgICAgICAgICAgICAobGlieXV2LXRvIChzdHJpbmctYXBwZW5k
IChnZXRjd2QpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiL3NyYy90aGlyZF9wYXJ0eS9saWJ5dXYiKSkpCisgICAgICAgICAgICAgICAgIChjb3B5LXJl
Y3Vyc2l2ZWx5IGxpYnZweC1mcm9tIGxpYnZweC10bykKKyAgICAgICAgICAgICAgICAgKGNvcHkt
cmVjdXJzaXZlbHkgbGlieXV2LWZyb20gbGlieXV2LXRvKSkKKyAgICAgICAgICAgICAgICN0KSkp
KSkKKyAgICAgIChuYXRpdmUtaW5wdXRzCisgICAgICAgYCgoInBrZy1jb25maWciICxwa2ctY29u
ZmlnKQorICAgICAgICAgKCJweXRob24iICxweXRob24td3JhcHBlcikKKyAgICAgICAgICgieWFz
bSIgLHlhc20pKSkKKyAgICAgIChpbnB1dHMKKyAgICAgICBgKCgiYWxzYSIgLGFsc2EtbGliKQor
ICAgICAgICAgKCJmZm1wZWciICxmZm1wZWcpCisgICAgICAgICAoImxpYmpwZWciICxsaWJqcGVn
LXR1cmJvKQorICAgICAgICAgKCJsaWJ2cHgiCisgICAgICAgICAgLChvcmlnaW4KKyAgICAgICAg
ICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAgICAgICAodXJpCisgICAgICAgICAgICAg
IChnaXQtcmVmZXJlbmNlCisgICAgICAgICAgICAgICAodXJsICJodHRwczovL2Nocm9taXVtLmdv
b2dsZXNvdXJjZS5jb20vd2VibS9saWJ2cHgiKQorICAgICAgICAgICAgICAgKGNvbW1pdCAiNWI2
M2YwZjgyMWU5NGY4MDcyZWI0ODMwMTRjZmMzM2IwNTk3OGJiOSIpKSkKKyAgICAgICAgICAgICAo
ZmlsZS1uYW1lCisgICAgICAgICAgICAgIChnaXQtZmlsZS1uYW1lICJsaWJ2cHgtZm9yLXRnLW93
dCIgdmVyc2lvbikpCisgICAgICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAgICAoYmFzZTMy
ICIxcHN2eGFkZGlobHcxazVuMGFueGlmM3FsaTZ6eXcyc2EyeXduNm1rYjhzaXg5bXlycDY4Iikp
KSkKKyAgICAgICAgICgibGlieXV2IgorICAgICAgICAgICwob3JpZ2luCisgICAgICAgICAgICAg
KG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgICAgICAgKHVyaQorICAgICAgICAgICAgICAoZ2l0
LXJlZmVyZW5jZQorICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVz
b3VyY2UuY29tL2xpYnl1di9saWJ5dXYiKQorICAgICAgICAgICAgICAgKGNvbW1pdCAiYWQ4OTAw
NjdmNjYxZGM3NDdhOTc1YmM1NWJhMzc2N2ZlMzBkNDQ1MiIpKSkKKyAgICAgICAgICAgICAoZmls
ZS1uYW1lCisgICAgICAgICAgICAgIChnaXQtZmlsZS1uYW1lICJsaWJ5dXYtZm9yLXRnLW93dCIg
dmVyc2lvbikpCisgICAgICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAgICAoYmFzZTMyICIw
MWtubms0aDI0N3JxNTM2MDk3bjluM3MzYnJ4bGJieTNudjNwcGRnc3FmZGEzazE1OWxsIikpKSkK
KyAgICAgICAgICgib3BlbnNzbCIgLG9wZW5zc2wpCisgICAgICAgICAoIm9wdXMiICxvcHVzKQor
ICAgICAgICAgKCJwcm90b2J1ZiIgLHByb3RvYnVmKQorICAgICAgICAgKCJwdWxzZWF1ZGlvIiAs
cHVsc2VhdWRpbykpKQorICAgICAgKHN5bm9wc2lzICJXZWJSVEMgc3VwcG9ydCBmb3IgVGVsZWdy
YW0tRGVza3RvcCIpCisgICAgICAoZGVzY3JpcHRpb24gIlRnX293dCBpcyBhIGN1c3RvbSBXZWJS
VEMgZm9yayBieSBUZWxlZ3JhbSBwcm9qZWN0LAorZm9yIGl0cyB1c2UgaW4gdGVsZWdyYW0gZGVz
a3RvcCBjbGllbnQuIikKKyAgICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9kZXNr
dG9wLWFwcC90Z19vd3QiKQorICAgICAgKGxpY2Vuc2UKKyAgICAgICAobGlzdAorICAgICAgICA7
OyBBYnNlaWwtQ1BQCisgICAgICAgIGxpY2Vuc2U6YXNsMi4wCisgICAgICAgIDs7IExpYll1dgor
ICAgICAgICAobGljZW5zZTpub24tY29weWxlZnQgImZpbGU6Ly8vc3JjL3RoaXJkX3BhcnR5L2xp
Ynl1di9MSUNFTlNFIikKKyAgICAgICAgOzsgT3BlbkgyNjQKKyAgICAgICAgbGljZW5zZTpic2Qt
MgorICAgICAgICA7OyBQRkZGVAorICAgICAgICAobGljZW5zZTpub24tY29weWxlZnQgImZpbGU6
Ly8vc3JjL3RoaXJkX3BhcnR5L3BmZmZ0L0xJQ0VOU0UiKQorICAgICAgICA7OyBSbk5vaXNlCisg
ICAgICAgIGxpY2Vuc2U6Z3BsMworICAgICAgICA7OyBMaWJTUlRQLCBMaWJWUHgsIFVzclNDVFAg
YW5kIE90aGVycworICAgICAgICBsaWNlbnNlOmJzZC0zKSkpKSkKLS0gCjIuMzAuMAoK


--=-04CbqkhxGqhokXZgdKLU
Content-Disposition: attachment; filename="0013-gnu-Add-telegram-desktop.patch"
Content-Type: text/x-patch; name="0013-gnu-Add-telegram-desktop.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbSAzM2I4MTAzZDMxZjRiYmIzNGE1MTMwYTYxNmYyYzNjNmJmNmI3MDZkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWdoYXYgR3VydXJhamFuIDxyZ0ByYWdoYXZndXJ1cmFqYW4u
bmFtZT4KRGF0ZTogU3VuLCAxNyBKYW4gMjAyMSAwOTozMDoyMiAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMTMvMTNdIGdudTogQWRkIHRlbGVncmFtLWRlc2t0b3AuCgoqIGdudS9wYWNrYWdlcy90ZWxl
Z3JhbS5zY20gKHRlbGVncmFtLWRlc2t0b3ApOiBOZXcgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5
OiBMZW8gUHJpa2xlciA8bGVvLnByaWtsZXJAc3R1ZGVudC50dWdyYXouYXQ+Ci0tLQogZ251L3Bh
Y2thZ2VzL3RlbGVncmFtLnNjbSB8IDE2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDE1OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p
CgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3RlbGVncmFtLnNjbSBiL2dudS9wYWNrYWdlcy90
ZWxlZ3JhbS5zY20KaW5kZXggMGZkNDdmNGY1ZC4uYWQ3YmNiMmU2YyAxMDA2NDQKLS0tIGEvZ251
L3BhY2thZ2VzL3RlbGVncmFtLnNjbQorKysgYi9nbnUvcGFja2FnZXMvdGVsZWdyYW0uc2NtCkBA
IC0xOCwyMCArMTgsNDIgQEAKIAogKGRlZmluZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB0ZWxlZ3Jh
bSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMpCisgICM6dXNlLW1vZHVsZSAoZ251IHBh
Y2thZ2VzIGFpZGMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGFzc2VtYmx5KQorICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBhdWRpbykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFj
a2FnZXMgYmFzZSkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY2hlY2spCisgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIGNtYWtlKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl
cyBjb21wcmVzc2lvbikKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY3BwKQorICAjOnVz
ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBkaWdlc3QpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th
Z2VzIGZjaXR4KQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmY2l0eDUpCisgICM6dXNl
LW1vZHVsZSAoZ251IHBhY2thZ2VzIGdjYykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg
Z2xpYikKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ25vbWUpCisgICM6dXNlLW1vZHVs
ZSAoZ251IHBhY2thZ2VzIGd0aykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaW1hZ2Up
CisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGtkZS1mcmFtZXdvcmtzKQorICAjOnVzZS1t
b2R1bGUgKGdudSBwYWNrYWdlcyBsYW5ndWFnZSkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn
ZXMgbGlicmVvZmZpY2UpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpbnV4KQorICAj
OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBseHF0KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr
YWdlcyBwa2ctY29uZmlnKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwcm90b2J1ZikK
ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcHVsc2VhdWRpbykKICAgIzp1c2UtbW9kdWxl
IChnbnUgcGFja2FnZXMgcHl0aG9uKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBxdCkK
ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdGxzKQogICAjOnVzZS1tb2R1bGUgKGdudSBw
YWNrYWdlcyB2aWRlbykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeGlwaCkKKyAgIzp1
c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgeG9yZykKICAgIzp1c2UtbW9kdWxlICgoZ3VpeCBsaWNl
bnNlcykgIzpwcmVmaXggbGljZW5zZTopCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBwYWNrYWdlcykK
ICAgIzp1c2UtbW9kdWxlIChndWl4IGdpdC1kb3dubG9hZCkKLSAgIzp1c2UtbW9kdWxlIChndWl4
IGJ1aWxkLXN5c3RlbSBjbWFrZSkpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0g
Y21ha2UpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gZ2xpYi1vci1ndGspCisg
ICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0gcXQpKQogCiAoZGVmaW5lLXB1YmxpYyB0
Zy1vd3QKICAgKGxldCAoKGNvbW1pdCAiZmE4NmZjYzAwYzIxODgxM2Q2MWEyNzJhNTZmZWFiNTVj
NzZhMWFiOSIpCkBAIC0xNDEsMyArMTYzLDEzOSBAQCBmb3IgaXRzIHVzZSBpbiB0ZWxlZ3JhbSBk
ZXNrdG9wIGNsaWVudC4iKQogICAgICAgICBsaWNlbnNlOmdwbDMKICAgICAgICAgOzsgTGliU1JU
UCwgTGliVlB4LCBVc3JTQ1RQIGFuZCBPdGhlcnMKICAgICAgICAgbGljZW5zZTpic2QtMykpKSkp
CisKKyhkZWZpbmUtcHVibGljIHRlbGVncmFtLWRlc2t0b3AKKyAgKHBhY2thZ2UKKyAgICAobmFt
ZSAidGVsZWdyYW0tZGVza3RvcCIpCisgICAgKHZlcnNpb24gIjIuNS4xIikKKyAgICAoc291cmNl
CisgICAgIChvcmlnaW4KKyAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAodXJpCisg
ICAgICAgIChnaXQtcmVmZXJlbmNlCisgICAgICAgICAodXJsICJodHRwczovL2dpdGh1Yi5jb20v
dGVsZWdyYW1kZXNrdG9wL3RkZXNrdG9wLmdpdCIpCisgICAgICAgICAoY29tbWl0CisgICAgICAg
ICAgKHN0cmluZy1hcHBlbmQgInYiIHZlcnNpb24pKQorICAgICAgICAgKHJlY3Vyc2l2ZT8gI3Qp
KSkKKyAgICAgICAoZmlsZS1uYW1lCisgICAgICAgIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lv
bikpCisgICAgICAgKHNoYTI1NgorICAgICAgICAoYmFzZTMyICIxcXc5dmFhNDgyZGJ6OTdtendq
em15M2Z3NzJzNWJrM2h5YWN5ejk4bXM2NTJ4Z2xkNmpzIikpCisgICAgICAgKG1vZHVsZXMgJygo
Z3VpeCBidWlsZCB1dGlscykKKyAgICAgICAgICAgICAgICAgIChpY2UtOSBmdHcpCisgICAgICAg
ICAgICAgICAgICAoc3JmaSBzcmZpLTEpKSkKKyAgICAgICAoc25pcHBldAorICAgICAgICBgKGJl
Z2luCisgICAgICAgICAgIChsZXQgKChrZWVwCisgICAgICAgICAgICAgICAgICAnKCA7OyBDdXN0
b20gZm9ya3Mgd2hpY2ggYXJlIGluY29tcGF0aWJsZSB3aXRoIHRoZSBvbmVzIGluIEd1aXguCisg
ICAgICAgICAgICAgICAgICAgICJsaWJ0Z3ZvaXAiICJybG90dGllIgorICAgICAgICAgICAgICAg
ICAgICA7OyBOb3QgYXZhaWxhYmxlIGluIEd1aXguCisgICAgICAgICAgICAgICAgICAgICJTUE1l
ZGlhS2V5VGFwIiAic3RhdHVzbm90aWZpZXJpdGVtIiAidGdjYWxscyIpKSkKKyAgICAgICAgICAg
ICAod2l0aC1kaXJlY3RvcnktZXhjdXJzaW9uICJUZWxlZ3JhbS9UaGlyZFBhcnR5IgorICAgICAg
ICAgICAgICAgKGZvci1lYWNoIGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5CisgICAgICAgICAgICAg
ICAgICAgICAgICAgKGxzZXQtZGlmZmVyZW5jZSBzdHJpbmc9PworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKHNjYW5kaXIgIi4iKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMqICIuIiAiLi4iIGtlZXApKSkpCisgICAgICAg
ICAgICAgI3QpKSkpKQorICAgIChidWlsZC1zeXN0ZW0gcXQtYnVpbGQtc3lzdGVtKQorICAgIChh
cmd1bWVudHMKKyAgICAgYCgjOnRlc3RzPyAjZiAgICAgICAgICAgICAgICAgICAgICA7IE5vIHRh
cmdldAorICAgICAgICM6aW1wb3J0ZWQtbW9kdWxlcworICAgICAgICgsQCVxdC1idWlsZC1zeXN0
ZW0tbW9kdWxlcworICAgICAgICAoZ3VpeCBidWlsZCBnbGliLW9yLWd0ay1idWlsZC1zeXN0ZW0p
KQorICAgICAgICM6bW9kdWxlcworICAgICAgICgoZ3VpeCBidWlsZCBxdC1idWlsZC1zeXN0ZW0p
CisgICAgICAgICgoZ3VpeCBidWlsZCBnbGliLW9yLWd0ay1idWlsZC1zeXN0ZW0pCisgICAgICAg
ICAjOnByZWZpeCBnbGliLW9yLWd0azopCisgICAgICAgIChndWl4IGJ1aWxkIHV0aWxzKSkKKyAg
ICAgICAjOmNvbmZpZ3VyZS1mbGFncworICAgICAgIDs7IENsaWVudCBhcHBsaWNhdGlvbnMgbXVz
dCBwcm92aWRlIHRoZWlyIG93biBBUEktSUQgYW5kIEFQSS1IQVNILAorICAgICAgIDs7IHNlZSBh
bHNvIDxodHRwczovL2NvcmUudGVsZWdyYW0ub3JnL2FwaS9vYnRhaW5pbmdfYXBpX2lkPi4KKyAg
ICAgICA7OyBJbiBjYXNlLCB0aGF0IHRoZSBjcmVkZW50aWFscyBiZWxvdyBmYWlsIHRvIHdvcmss
IGNvbnRhY3QKKyAgICAgICA7OyAgIFJhZ2hhdiBHdXJ1cmFqYW4gPHJnQHJhZ2hhdmd1cnVyYWph
bi5uYW1lPgorICAgICAgIChsaXN0CisgICAgICAgICItRFRERVNLVE9QX0FQSV9JRD0yNzkxMDU2
IgorICAgICAgICAiLURUREVTS1RPUF9BUElfSEFTSD01ODJkNmQwYjQ0ZjdhMmRlOTQ5ZTk5Mjcx
ZmQ4YjNmMiIpCisgICAgICAgIzpwaGFzZXMKKyAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRh
cmQtcGhhc2VzCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ21ha2Utd3JpdGFibGUKKyAg
ICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgKGZvci1lYWNoIG1ha2UtZmlsZS13cml0
YWJsZSAoZmluZC1maWxlcyAiLiIpKQorICAgICAgICAgICAgICN0KSkKKyAgICAgICAgIChhZGQt
YWZ0ZXIgJ21ha2Utd3JpdGFibGUgJ2Rpc2FibGUtZW1vamlzCisgICAgICAgICAgIChsYW1iZGEg
XworICAgICAgICAgICAgIDs7IEZJWE1FOiBFbW9qaSBzcHJpdGVzIGRvIG5vdCBnZXQgbG9hZGVk
LCBjYXVzaW5nCisgICAgICAgICAgICAgOzsgdGhlIGFwcGxpY2F0aW9uIHRvIGNyYXNoIHVwb24g
bGF1bmNoLgorICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAiVGVsZWdyYW0vbGliX3VpL3VpL2Vt
b2ppX2NvbmZpZy5jcHAiCisgICAgICAgICAgICAgICAoKCJib29sIF91bnN1cHBvcnRlZCA9IGZh
bHNlIikKKyAgICAgICAgICAgICAgICAiYm9vbCBfdW5zdXBwb3J0ZWQgPSB0cnVlIikKKyAgICAg
ICAgICAgICAgICgoIgkJZ2VuZXJhdGVDYWNoZVxcKFxcKTsiKQorICAgICAgICAgICAgICAgICIv
L2dlbmVyYXRlQ2FjaGUoKTsiKSkKKyAgICAgICAgICAgICAjdCkpCisgICAgICAgICAoYWRkLWJl
Zm9yZSAnY29uZmlndXJlICdwYXRjaC1jeHgtZmxhZ3MKKyAgICAgICAgICAgKGxhbWJkYSBfCisg
ICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJjbWFrZS9vcHRpb25zX2xpbnV4LmNtYWtlIgorICAg
ICAgICAgICAgICAgKCgiY2xhc3MtbWVtYWNjZXNzIikgImFsbCIpKQorICAgICAgICAgICAgICN0
KSkKKyAgICAgICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwgJ2dsaWItb3ItZ3RrLWNvbXBpbGUtc2No
ZW1hcworICAgICAgICAgICAoYXNzb2MtcmVmIGdsaWItb3ItZ3RrOiVzdGFuZGFyZC1waGFzZXMg
J2dsaWItb3ItZ3RrLWNvbXBpbGUtc2NoZW1hcykpCisgICAgICAgICAoYWRkLWFmdGVyICdnbGli
LW9yLWd0ay1jb21waWxlLXNjaGVtYXMgJ2dsaWItb3ItZ3RrLXdyYXAKKyAgICAgICAgICAgKGFz
c29jLXJlZiBnbGliLW9yLWd0azolc3RhbmRhcmQtcGhhc2VzICdnbGliLW9yLWd0ay13cmFwKSkp
KSkKKyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiY21ha2Utc2hhcmVkIiAsY21ha2Utc2hh
cmVkKQorICAgICAgICgiZXh0cmEtY21ha2UtbW9kdWxlcyIgLGV4dHJhLWNtYWtlLW1vZHVsZXMp
CisgICAgICAgKCJnY2MiICxnY2MtOSkKKyAgICAgICAoImdsaWI6YmluIiAsZ2xpYiAiYmluIikK
KyAgICAgICAoImdvYmplY3QtaW50cm9zcGVjdGlvbiIgLGdvYmplY3QtaW50cm9zcGVjdGlvbikK
KyAgICAgICAoImd0ays6YmluIiAsZ3RrKyAiYmluIikKKyAgICAgICAoInBrZy1jb25maWciICxw
a2ctY29uZmlnKQorICAgICAgICgicHl0aG9uIiAscHl0aG9uLXdyYXBwZXIpCisgICAgICAgKCJx
dHRvb2xzIiAscXR0b29scykpKQorICAgIChpbnB1dHMKKyAgICAgYCgoImFsc2EiICxhbHNhLWxp
YikKKyAgICAgICAoImMrKy1nc2wiICxjKystZ3NsKQorICAgICAgICgiY2F0Y2giICxjYXRjaC1m
cmFtZXdvcmsyKQorICAgICAgICgiZXhwZWN0ZWQiICxsaWJleHBlY3RlZCkKKyAgICAgICAoImZj
aXR4LXF0NSIgLGZjaXR4LXF0NSkKKyAgICAgICAoImZjaXR4NS1xdCIgLGZjaXR4NS1xdCkKKyAg
ICAgICAoImZmbXBlZyIgLGZmbXBlZykKKyAgICAgICAoImdsaWIiICxnbGliKQorICAgICAgICgi
Z3RrKyIgLGd0ayspCisgICAgICAgKCJoaW1lIiAsaGltZSkKKyAgICAgICAoImh1bnNwZWxsIiAs
aHVuc3BlbGwpCisgICAgICAgKCJpY29udiIgLGxpYmljb252KQorICAgICAgICgibGliZGJ1c21l
bnUtcXQiICxsaWJkYnVzbWVudS1xdCkKKyAgICAgICAoImxpYmpwZWciICxsaWJqcGVnLXR1cmJv
KQorICAgICAgIDs7ICgibGlidGd2b2lwIiAsbGlidGd2b2lwKQorICAgICAgICgibHo0IiAsbHo0
KQorICAgICAgICgibWF0ZXJpYWxkZWNvcmF0aW9uIiAsbWF0ZXJpYWxkZWNvcmF0aW9uKQorICAg
ICAgICgibWluaXppcCIgLG1pbml6aXApCisgICAgICAgKCJuaW1mIiAsbmltZikKKyAgICAgICAo
Im9wZW5hbCIgLG9wZW5hbCkKKyAgICAgICAoIm9wZW5zc2wiICxvcGVuc3NsKQorICAgICAgICgi
b3B1cyIgLG9wdXMpCisgICAgICAgKCJwdWxzZWF1ZGlvIiAscHVsc2VhdWRpbykKKyAgICAgICAo
InFyY29kZWdlbiIgLHFyY29kZWdlbi1jcHApCisgICAgICAgKCJxdCIgLHF0YmFzZSkKKyAgICAg
ICAoInF0NWN0IiAscXQ1Y3QpCisgICAgICAgKCJxdHdheWxhbmQiICxxdHdheWxhbmQpCisgICAg
ICAgKCJyYW5nZS12MyIgLHJhbmdlLXYzKQorICAgICAgIDs7ICgicmxvdHRpZSIgLHJsb3R0aWUp
CisgICAgICAgKCJ0Zy1vd3QiICx0Zy1vd3QpCisgICAgICAgKCJ4MTEiICxsaWJ4MTEpCisgICAg
ICAgKCJ4Y2IiICxsaWJ4Y2IpCisgICAgICAgKCJ4Y2Ita2V5c3ltcyIgLHhjYi11dGlsLWtleXN5
bXMpCisgICAgICAgKCJ4eGhhc2giICx4eGhhc2gpCisgICAgICAgKCJ6bGliIiAsemxpYikpKQor
ICAgIChwcm9wYWdhdGVkLWlucHV0cworICAgICBgKCgiZGNvbmYiICxkY29uZikpKQorICAgIChz
eW5vcHNpcyAiVGVsZWdyYW0gRGVza3RvcCIpCisgICAgKGRlc2NyaXB0aW9uICJUZWxlZ3JhbSBk
ZXNrdG9wIGlzIHRoZSBvZmZpY2lhbCBkZXNrdG9wIHZlcnNpb24gb2YgdGhlCitUZWxlZ3JhbSBp
bnN0YW50IG1lc3NhZ2VyLiIpCisgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9kZXNrdG9wLnRlbGVn
cmFtLm9yZy8iKQorICAgIChsaWNlbnNlCisgICAgIChsaXN0CisgICAgICA7OyBUaGlyZFBhcnR5
CisgICAgICBsaWNlbnNlOmxncGwyLjErCisgICAgICA7OyBPdGhlcnMKKyAgICAgIGxpY2Vuc2U6
Z3BsMyspKSkpCi0tIAoyLjMwLjAKCg==


--=-04CbqkhxGqhokXZgdKLU--





Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 14:49:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 17 09:49:32 2021
Received: from localhost ([127.0.0.1]:44715 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l19My-0002Fr-2W
	for submit <at> debbugs.gnu.org; Sun, 17 Jan 2021 09:49:32 -0500
Received: from relay3-d.mail.gandi.net ([217.70.183.195]:38947)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l19Mw-0002Fd-Mq
 for 45721 <at> debbugs.gnu.org; Sun, 17 Jan 2021 09:49:31 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 36F4E60008;
 Sun, 17 Jan 2021 14:49:23 +0000 (UTC)
Subject: Re: Telegram Desktop (v13)
To: Leo Prikler <leo.prikler@HIDDEN>, 45721 <at> debbugs.gnu.org
References: <ae71c9c2-cdb8-0f13-b212-0a0c8fc4369b@HIDDEN>
 <67f3a995fb657c86efd2ecdc403b24cb2d441524.camel@HIDDEN>
From: Raghav Gururajan <rg@HIDDEN>
Message-ID: <3107c0b8-134f-c86f-f066-372f4f5806de@HIDDEN>
Date: Sun, 17 Jan 2021 09:49:22 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
In-Reply-To: <67f3a995fb657c86efd2ecdc403b24cb2d441524.camel@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: -1.0 (-)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.0 (--)

Hi Leo!

> You can still use "0" or "0.0.0" for the base version.
Updated in v14.

> I forgot to mention this, but this should be a snippet, perhaps even a
> computed origin.
> Also, as it has been noted in your Nextcloud patch (IIRC), you should
> formulate this in terms of what to keep.
> E.g.
>    '(;; custom forks of existing packages
>      ;; the forks are incompatible with what we have in Guix
>      "abseil-cpp" "libsrtp" "openh264" "rnnoise"
>      ;; XXX: packages currently lacking a description
>      "pffft" "usrsctp")

Updated in v14.

> Should be after unpack (see above), otherwise LGTM.

Updated in v14.

> Use long hashes.  Also, try to make things work with the nearest
> release.  You might also want to package them individually as "libvpx-
> for-telegram-desktop" etc. if everything else fails, see stepmania as
> an example with a custom ffmpeg.

Updated hashes in v14. Regarding individually packaging, its not worth 
the time for this project. The upstream is planning on re-work their 
tdesktop, libtgvoip, tgcalls and tg_owt. So there might be no tg_owt in 
near future.

> As per our discussion in IRC, this should be part of the telegram
> module.

Moved in v14.

Regards,
RG.




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 14:43:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 17 09:43:41 2021
Received: from localhost ([127.0.0.1]:44696 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l19H9-00026F-E6
	for submit <at> debbugs.gnu.org; Sun, 17 Jan 2021 09:43:41 -0500
Received: from relay3-d.mail.gandi.net ([217.70.183.195]:36757)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l19H4-00025x-49
 for 45721 <at> debbugs.gnu.org; Sun, 17 Jan 2021 09:43:30 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id BE41260004
 for <45721 <at> debbugs.gnu.org>; Sun, 17 Jan 2021 14:43:18 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v14)
Message-ID: <188ca0f1-50b0-2808-dfca-6ee634a8261a@HIDDEN>
Date: Sun, 17 Jan 2021 09:43:16 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------A8EE9923077407D8B7E01B59"
Content-Language: en-US
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From 602623047c7d6b0725f5d3422912df215cf487d5 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Sun, 17 Jan 2021
 09:30:22 -0500 Subject: [PATCH 13/15] gnu: Add telegram-d [...] 
 Content analysis details:   (1.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.195 listed in wl.mailspike.net]
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.195 listed in list.dnswl.org]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------A8EE9923077407D8B7E01B59
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-telegram-desktop.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-telegram-desktop.patch"

From 602623047c7d6b0725f5d3422912df215cf487d5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 17 Jan 2021 09:30:22 -0500
Subject: [PATCH 13/15] gnu: Add telegram-desktop.

* gnu/packages/telegram.scm (telegram-desktop): New variable.
---
 gnu/packages/telegram.scm | 164 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 163 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 8e68cd4a11..9759a11873 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -18,20 +18,42 @@
 
 (define-module (gnu packages telegram)
   #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
   #:use-module (gnu packages assembly)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix git-download)
-  #:use-module (guix build-system cmake))
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
 
 (define-public tg_owt
   (let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
@@ -141,3 +163,143 @@ for its use in telegram desktop client.")
         license:gpl3
         ;; LibSRTP, LibVPx, UsrSCTP and Others
         license:bsd-3)))))
+
+(define-public telegram-desktop
+  (package
+    (name "telegram-desktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))
+       (modules '((guix build utils)
+                  (ice-9 ftw)
+                  (srfi srfi-1)))
+       (snippet
+        `(begin
+           (let ((keep
+                  '( ;; Custom forks which are incompatible with the ones in Guix.
+                    "libtgvoip" "rlottie"
+                    ;; Not available in Guix.
+                    "SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
+             (with-directory-excursion "Telegram/ThirdParty"
+               (for-each delete-file-recursively
+                         (lset-difference string=?
+                                          (scandir ".")
+                                          (cons* "." ".." keep))))
+             #t)))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       ;; Unique API-ID and API-HASH must obtained for each client application.
+       ;; Reference: https://core.telegram.org/api/obtaining_api_id
+       ;; The following API-ID and API-HASH are generated from my account.
+       ;; In case of ban/block, contact: rg@HIDDEN
+       (list
+        "-DTDESKTOP_API_ID=2791056"
+        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
+       #:phases
+       (modify-phases %standard-phases
+         ;; Git checkouts are not writable by default,
+         ;; but the package writes to it.
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'disable-emojis
+           (lambda _
+             ;; FIXME: Emojis framework of Qt doesn't get loaded,
+             ;; so causes the application to crash upon launch.
+             (substitute* "Telegram/lib_ui/ui/emoji_config.cpp"
+               (("bool _unsupported = false")
+                "bool _unsupported = true")
+               (("		generateCache\\(\\);")
+                "//generateCache();"))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("dconf" ,dconf)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license
+     (list
+      ;; ThirdParty
+      license:lgpl2.1+
+      ;; Others
+      license:gpl3+))))
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg_owt.patch"

From 5202078ae576963bc5133bf08844b7312f7f16f4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 12/15] gnu: Add tg_owt.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (tg_owt): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 143 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 144 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7d405c2462..747cbb1da7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..8e68cd4a11
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,143 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages assembly)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake))
+
+(define-public tg_owt
+  (let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
+        (revision "1"))
+    (package
+      (name "tg_owt")
+      (version
+       (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/desktop-app/tg_owt.git")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "06gcrlym6vqqw7zlds9lpwyg37d5m81d87h16aps19v0v9gzan0l"))
+         (modules '((guix build utils)
+                    (ice-9 ftw)
+                    (srfi srfi-1)))
+         (snippet
+          `(begin
+             (let ((keep
+                    '( ;; Custom forks which are incompatible with the ones in Guix.
+                      "abseil-cpp" "libsrtp" "openh264" "rnnoise"
+                      ;; Not available in Guix.
+                      "pffft" "usrsctp"
+                      ;; Has cmake support files for libvpx input.
+                      "libvpx")))
+               (with-directory-excursion "src/third_party"
+                 (for-each delete-file-recursively
+                           (lset-difference string=?
+                                            (scandir ".")
+                                            (cons* "." ".." keep))))
+               #t)))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:configure-flags
+         (list
+          "-DCMAKE_C_FLAGS=-fPIC"
+          "-DCMAKE_CXX_FLAGS=-fPIC")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'copy-inputs
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((libvpx-from (assoc-ref inputs "libvpx"))
+                      (libyuv-from (assoc-ref inputs "libyuv"))
+                      (libvpx-to (string-append (getcwd)
+                                                "/src/third_party/libvpx/source/libvpx"))
+                      (libyuv-to (string-append (getcwd)
+                                                "/src/third_party/libyuv")))
+                 (copy-recursively libvpx-from libvpx-to)
+                 (copy-recursively libyuv-from libyuv-to))
+               #t)))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("python" ,python-wrapper)
+         ("yasm" ,yasm)))
+      (inputs
+       `(("alsa" ,alsa-lib)
+         ("ffmpeg" ,ffmpeg)
+         ("libjpeg" ,libjpeg-turbo)
+         ("libvpx"
+          ,(origin
+             (method git-fetch)
+             (uri
+              (git-reference
+               (url "https://chromium.googlesource.com/webm/libvpx")
+               (commit "5b63f0f821e94f8072eb483014cfc33b05978bb9")))
+             (file-name
+              (git-file-name "libvpx" version))
+             (sha256
+              (base32 "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))
+         ("libyuv"
+          ,(origin
+             (method git-fetch)
+             (uri
+              (git-reference
+               (url "https://chromium.googlesource.com/libyuv/libyuv")
+               (commit "ad890067f661dc747a975bc55ba3767fe30d4452")))
+             (file-name
+              (git-file-name "libyuv" version))
+             (sha256
+              (base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
+         ("openssl" ,openssl)
+         ("opus" ,opus)
+         ("protobuf" ,protobuf)
+         ("pulseaudio" ,pulseaudio)))
+      (synopsis "WebRTC support for Telegram-Desktop")
+      (description "Tg_owt is a custom WebRTC fork by Telegram project,
+for its use in telegram desktop client.")
+      (home-page "https://github.com/desktop-app/tg_owt")
+      (license
+       (list
+        ;; Abseil-CPP
+        license:asl2.0
+        ;; LibYuv
+        (license:non-copyleft "file:///src/third_party/libyuv/LICENSE")
+        ;; OpenH264
+        license:bsd-2
+        ;; PFFFT
+        (license:non-copyleft "file:///src/third_party/pffft/LICENSE")
+        ;; RnNoise
+        license:gpl3
+        ;; LibSRTP, LibVPx, UsrSCTP and Others
+        license:bsd-3)))))
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From 5106116af504108fd97986108ed7ebbc1401a29d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/15] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 60e4f43c6a..0ce694bd92 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,60 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From 9f7b138e9d85454e56a63974c52871fca1604df3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/15] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index b71c7e1832..8df15a8c65 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From 4d805e4a839de29b59b983f59e7015f38fd93e56 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/15] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..b71c7e1832 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,45 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is an extension of the Standard Template Library that
+makes its iterators and algorithms more powerful by making them composable.
+Unlike other range-like solutions which, seek to do away with iterators, in
+range-v3 ranges are an abstration layer on top of iterators.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Elements of Programming
+      (license:x11-style "file:///LICENSE.txt")
+      ;; SGI STL
+      license:sgifreeb2.0
+      ;;; LibC++ (dual-licensed)
+      license:expat
+      license:ncsa
+      ;; Others
+      license:boost1.0))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 48edef4bfe7b2adf397725b369e0ad02725482c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/15] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..60e4f43c6a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is a client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From 67de96d5d6f291f199e58a2ef056cd73b6444fd7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/15] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From d1f8f17e93d4c996307f9a9c2abcc1df551570c2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/15] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 138 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 221848f2b5..18373f2c6c 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,138 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Lightweight input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework. This is a fork of original nimf project, with special focus on
+Korean.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From 91f99169ab0cca7d4686b4a3e6863f41f6695d66 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/15] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..221848f2b5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,88 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* "configure"
+               (("gnu17")
+                "gnu11")
+               (("gnu++17")
+                "gnu++11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From b1aefee1089fb16ffd6e25c8102a709651540f83 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/15] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From 331ad0dff904836e8b0827a4884a619697cee01c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/15] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 91386944fcf9663ac1dffbf59544194bce3ede97 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/15] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..a4ad008da9 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From a38babfc295363905b3f0badc623fd4a770a9315 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/15] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index eb28104add..7d405c2462 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------A8EE9923077407D8B7E01B59--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 12:13:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 17 07:13:14 2021
Received: from localhost ([127.0.0.1]:44635 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l16vi-0004vB-85
	for submit <at> debbugs.gnu.org; Sun, 17 Jan 2021 07:13:14 -0500
Received: from mailrelay.tugraz.at ([129.27.2.202]:3075)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leo.prikler@HIDDEN>) id 1l16vf-0004uw-HU
 for 45721 <at> debbugs.gnu.org; Sun, 17 Jan 2021 07:13:13 -0500
Received: from nijino.local (217-149-173-242.nat.highway.telekom.at
 [217.149.173.242])
 by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4DJYhz6zplz3yVj;
 Sun, 17 Jan 2021 13:13:07 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at;
 s=mailrelay; t=1610885588;
 bh=wsWjnOBoUz/gopKRq9yR4hRyq1K9fMyJUOlq/K1zCoQ=;
 h=Subject:From:To:Date:In-Reply-To:References;
 b=Pym7YNQuZPJ/fPSHNMlRa8PcZ47CHTzR1YMkrMq1w7wYEUPvfqD19H6nu2SNeonMg
 1IMW2aRQMSHB6JWXRYmsqyejVHNmuqCoycagd0ry98rjDwydu4ETbxGEnpzt3BaDlN
 p9fBSQfTCr9761wXeHtsAvX+SXLDvSXKjEvJJb2A=
Message-ID: <67f3a995fb657c86efd2ecdc403b24cb2d441524.camel@HIDDEN>
Subject: Re: Telegram Desktop (v13)
From: Leo Prikler <leo.prikler@HIDDEN>
To: Raghav Gururajan <rg@HIDDEN>, 45721 <at> debbugs.gnu.org
Date: Sun, 17 Jan 2021 13:13:07 +0100
In-Reply-To: <ae71c9c2-cdb8-0f13-b212-0a0c8fc4369b@HIDDEN>
References: <ae71c9c2-cdb8-0f13-b212-0a0c8fc4369b@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw
X-Spam-Scanner: SpamAssassin 3.003001 
X-Spam-Score-relay: -1.9
X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi,

Am Samstag, den 16.01.2021, 20:52 -0500 schrieb Raghav Gururajan:
> * gnu/packages/fcitx.scm (fcitx-qt5): New variable.
LGTM.

> +      (version
> +       (git-version "1" revision commit))
You can still use "0" or "0.0.0" for the base version.

> +           (add-after 'unpack 'delete-thirdparty
> +             (lambda _
> +               (with-directory-excursion "src/third_party"
> +                 (for-each delete-file-recursively
> +                           ;; [1] Keep Abseil-CPP, LibSRTP, LibVPx,
> LibYuv,
> +                           ;; OpenH264, PFFFT, RnNoise and UsrSCTP.
> +                           ;; [2] Tg_owt uses custom fork of Abseil-
> CPP,
> +                           ;; LibSRTP, OpenH264 and RnNoise.
> +                           ;; [3] Tg_owt uses specific
> version/commit of LibVPx,
> +                           ;; which is different from one available
> in Guix.
> +                           ;; [4] LibYuv, PFFFT and UsrSCTP aren't
> available.
> +                           (list
> +                            "yasm")))
I forgot to mention this, but this should be a snippet, perhaps even a
computed origin.
Also, as it has been noted in your Nextcloud patch (IIRC), you should
formulate this in terms of what to keep.
E.g. 
  '(;; custom forks of existing packages
    ;; the forks are incompatible with what we have in Guix
    "abseil-cpp" "libsrtp" "openh264" "rnnoise" 
    ;; XXX: packages currently lacking a description
    "pffft" "usrsctp")

> +           (add-after 'delete-thirdparty 'copy-inputs
> +             (lambda* (#:key inputs outputs #:allow-other-keys)
> +               (let* ((libvpx-from (assoc-ref inputs "libvpx"))
> +                      (libyuv-from (assoc-ref inputs "libyuv"))
> +                      (libvpx-to (string-append (getcwd)
> +                                                "/src/third_party/li
> bvpx/source/libvpx"))
> +                      (libyuv-to (string-append (getcwd)
> +                                                "/src/third_party/li
> byuv")))
> +                 (copy-recursively libvpx-from libvpx-to)
> +                 (copy-recursively libyuv-from libyuv-to))
> +               #t)))))
Should be after unpack (see above), otherwise LGTM.

> +         ("libvpx"
> +          ,(origin
> +             (method git-fetch)
> +             (uri
> +              (git-reference
> +               (url "https://chromium.googlesource.com/webm/libvpx")
> +               (commit "5b63f0f")))
> +             (file-name
> +              (git-file-name "libvpx" version))
> +             (sha256
> +              (base32
> "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))
> +         ("libyuv"
> +          ,(origin
> +             (method git-fetch)
> +             (uri
> +              (git-reference
> +               (url "https://chromium.googlesource.com/libyuv/libyuv
> ")
> +               (commit "ad89006")))
> +             (file-name
> +              (git-file-name "libyuv" version))
> +             (sha256
> +              (base32
> "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
Use long hashes.  Also, try to make things work with the nearest
release.  You might also want to package them individually as "libvpx-
for-telegram-desktop" etc. if everything else fails, see stepmania as
an example with a custom ffmpeg.

As per our discussion in IRC, this should be part of the telegram
module.

Regards,
Leo





Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 01:52:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 20:52:48 2021
Received: from localhost ([127.0.0.1]:44400 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0xF8-0006hf-8e
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 20:52:48 -0500
Received: from relay6-d.mail.gandi.net ([217.70.183.198]:44595)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l0xF3-0006hO-F6
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 20:52:36 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id EFE25C0005;
 Sun, 17 Jan 2021 01:52:25 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v13)
Message-ID: <ae71c9c2-cdb8-0f13-b212-0a0c8fc4369b@HIDDEN>
Date: Sat, 16 Jan 2021 20:52:24 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------836788EF7E3A76F61290B36B"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From ddd554a0810908ac14490dc7c381cb49f571baec Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Thu, 7 Jan 2021
 19:41:42 -0500 Subject: [PATCH 13/15] gnu: Add telegram-de [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.198 listed in list.dnswl.org]
 -0.0 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)
 [217.70.183.198 listed in wl.mailspike.net]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
X-Debbugs-Envelope-To: 45721
Cc: Leo Prikler <leo.prikler@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------836788EF7E3A76F61290B36B
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-telegram-desktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-telegram-desktop.patch"

From ddd554a0810908ac14490dc7c381cb49f571baec Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 13/15] gnu: Add telegram-desktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (telegram-desktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 207 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 208 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7d405c2462..747cbb1da7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..7339025d49
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,207 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public telegram-desktop
+  (package
+    (name "telegram-desktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       ;; Unique API-ID and API-HASH must obtained for each client application.
+       ;; Reference: https://core.telegram.org/api/obtaining_api_id
+       ;; The following API-ID and API-HASH are generated from my account.
+       ;; In case of ban/block, contact: rg@HIDDEN
+       (list
+        "-DTDESKTOP_API_ID=2791056"
+        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
+       #:phases
+       (modify-phases %standard-phases
+         ;; Git checkouts are not writable by default,
+         ;; but the package writes to it.
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "Telegram/ThirdParty"
+               ;; [1] Keep SPMediaKeyTap, StatusNotifierItem,
+               ;; LibTgVoIP and rLottie.
+               ;; [2] SPMediaKeyTap and StatusNotifierItem are not available.
+               ;; [3] Telegram-Desktop uses custom fork of LibTgVoIP and rLottie,
+               ;; which are different from the ones available in Guix.
+               (for-each delete-file-recursively
+                         (list
+                          "Catch"
+                          "GSL"
+                          "QR"
+                          "expected"
+                          "fcitx-qt5"
+                          "fcitx5-qt"
+                          "hime"
+                          "hunspell"
+                          "libdbusmenu-qt"
+                          ;; "libtgvoip"
+                          "lz4"
+                          "materialdecoration"
+                          "minizip"
+                          "nimf"
+                          "qt5ct"
+                          "range-v3"
+                          ;; "rlottie"
+                          "xxHash")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'remove-thirdparty 'disable-emojis
+           (lambda _
+             ;; FIXME: Emojis framework of Qt doesn't get loaded,
+             ;; so causes the application to crash upon launch.
+             (substitute* "Telegram/lib_ui/ui/emoji_config.cpp"
+               (("bool _unsupported = false")
+                "bool _unsupported = true")
+               (("		generateCache\\(\\);")
+                "//generateCache();"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("dconf" ,dconf)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license
+     (list
+      ;; ThirdParty
+      license:lgpl2.1+
+      ;; Others
+      license:gpl3+))))
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg_owt.patch"

From e635d7f01155473eef90b5e0ba94c3e64da70909 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 12/15] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 107 +++++++++++++++++++++++++++++++++++++
 1 file changed, 107 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..afc85f8424 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,111 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
+        (revision "1"))
+    (package
+      (name "tg_owt")
+      (version
+       (git-version "1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/desktop-app/tg_owt.git")
+           (commit commit)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "06gcrlym6vqqw7zlds9lpwyg37d5m81d87h16aps19v0v9gzan0l"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:configure-flags
+         (list
+          "-DCMAKE_C_FLAGS=-fPIC"
+          "-DCMAKE_CXX_FLAGS=-fPIC")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'delete-thirdparty
+             (lambda _
+               (with-directory-excursion "src/third_party"
+                 (for-each delete-file-recursively
+                           ;; [1] Keep Abseil-CPP, LibSRTP, LibVPx, LibYuv,
+                           ;; OpenH264, PFFFT, RnNoise and UsrSCTP.
+                           ;; [2] Tg_owt uses custom fork of Abseil-CPP,
+                           ;; LibSRTP, OpenH264 and RnNoise.
+                           ;; [3] Tg_owt uses specific version/commit of LibVPx,
+                           ;; which is different from one available in Guix.
+                           ;; [4] LibYuv, PFFFT and UsrSCTP aren't available.
+                           (list
+                            "yasm")))
+               #t))
+           (add-after 'delete-thirdparty 'copy-inputs
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((libvpx-from (assoc-ref inputs "libvpx"))
+                      (libyuv-from (assoc-ref inputs "libyuv"))
+                      (libvpx-to (string-append (getcwd)
+                                                "/src/third_party/libvpx/source/libvpx"))
+                      (libyuv-to (string-append (getcwd)
+                                                "/src/third_party/libyuv")))
+                 (copy-recursively libvpx-from libvpx-to)
+                 (copy-recursively libyuv-from libyuv-to))
+               #t)))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("python" ,python-wrapper)
+         ("yasm" ,yasm)))
+      (inputs
+       `(("alsa" ,alsa-lib)
+         ("ffmpeg" ,ffmpeg)
+         ("libjpeg" ,libjpeg-turbo)
+         ("libvpx"
+          ,(origin
+             (method git-fetch)
+             (uri
+              (git-reference
+               (url "https://chromium.googlesource.com/webm/libvpx")
+               (commit "5b63f0f")))
+             (file-name
+              (git-file-name "libvpx" version))
+             (sha256
+              (base32 "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))
+         ("libyuv"
+          ,(origin
+             (method git-fetch)
+             (uri
+              (git-reference
+               (url "https://chromium.googlesource.com/libyuv/libyuv")
+               (commit "ad89006")))
+             (file-name
+              (git-file-name "libyuv" version))
+             (sha256
+              (base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
+         ("openssl" ,openssl)
+         ("opus" ,opus)
+         ("protobuf" ,protobuf)
+         ("pulseaudio" ,pulseaudio)))
+      (synopsis "WebRTC support for Telegram-Desktop")
+      (description "Tg_owt is a custom WebRTC fork by Telegram project,
+for its use in telegram desktop client.")
+      (home-page "https://github.com/desktop-app/tg_owt")
+      (license
+       (list
+        ;; Abseil-CPP
+        license:asl2.0
+        ;; LibYuv
+        (license:non-copyleft "file:///src/third_party/libyuv/LICENSE")
+        ;; OpenH264
+        license:bsd-2
+        ;; PFFFT
+        (license:non-copyleft "file:///src/third_party/pffft/LICENSE")
+        ;; RnNoise
+        license:gpl3
+        ;; LibSRTP, LibVPx, UsrSCTP and Others
+        license:bsd-3)))))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From 5106116af504108fd97986108ed7ebbc1401a29d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/15] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 60e4f43c6a..0ce694bd92 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,60 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From 9f7b138e9d85454e56a63974c52871fca1604df3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/15] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index b71c7e1832..8df15a8c65 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From 4d805e4a839de29b59b983f59e7015f38fd93e56 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/15] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..b71c7e1832 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,45 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is an extension of the Standard Template Library that
+makes its iterators and algorithms more powerful by making them composable.
+Unlike other range-like solutions which, seek to do away with iterators, in
+range-v3 ranges are an abstration layer on top of iterators.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Elements of Programming
+      (license:x11-style "file:///LICENSE.txt")
+      ;; SGI STL
+      license:sgifreeb2.0
+      ;;; LibC++ (dual-licensed)
+      license:expat
+      license:ncsa
+      ;; Others
+      license:boost1.0))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 48edef4bfe7b2adf397725b369e0ad02725482c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/15] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..60e4f43c6a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is a client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From 67de96d5d6f291f199e58a2ef056cd73b6444fd7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/15] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From d1f8f17e93d4c996307f9a9c2abcc1df551570c2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/15] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 138 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 221848f2b5..18373f2c6c 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,138 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Lightweight input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework. This is a fork of original nimf project, with special focus on
+Korean.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From 91f99169ab0cca7d4686b4a3e6863f41f6695d66 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/15] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..221848f2b5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,88 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* "configure"
+               (("gnu17")
+                "gnu11")
+               (("gnu++17")
+                "gnu++11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From b1aefee1089fb16ffd6e25c8102a709651540f83 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/15] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From 331ad0dff904836e8b0827a4884a619697cee01c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/15] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 91386944fcf9663ac1dffbf59544194bce3ede97 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/15] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..a4ad008da9 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------836788EF7E3A76F61290B36B
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From a38babfc295363905b3f0badc623fd4a770a9315 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/15] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index eb28104add..7d405c2462 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------836788EF7E3A76F61290B36B--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 01:10:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 20:10:20 2021
Received: from localhost ([127.0.0.1]:44376 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0waB-0005jy-S2
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 20:10:20 -0500
Received: from relay6-d.mail.gandi.net ([217.70.183.198]:58437)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l0waA-0005ji-LA
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 20:10:19 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 97B0CC0004;
 Sun, 17 Jan 2021 01:10:11 +0000 (UTC)
Subject: Re: Telegram Desktop (v9)
To: Leo Prikler <leo.prikler@HIDDEN>, 45721 <at> debbugs.gnu.org
References: <260455952500fcfd067f395a55a7ac78a4f1bd0a.camel@HIDDEN>
 <de617d0e-b1c0-7ca2-0042-91e39e974285@HIDDEN>
 <c7bc81626b926e0aafd969ec272436632c97d503.camel@HIDDEN>
From: Raghav Gururajan <rg@HIDDEN>
Message-ID: <6e44fc3a-2745-801e-620b-c85ee44500e4@HIDDEN>
Date: Sat, 16 Jan 2021 20:10:09 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
In-Reply-To: <c7bc81626b926e0aafd969ec272436632c97d503.camel@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hi Leo!

> Again, you can (define gpl2+ license:gpl2+) at the start of the module,
> so that existing definitions can be kept the same, but your packages
> adhere to the license: style.

Updated in v12, as per discussed in IRC.

> Use full commit hashes please.

Updated in v12.

> Perhaps, but it seems kinda weird, that this package gets special
> treatment in how we accept anything else it might pull in.

There are existing packages in guix that uses recursive. But your 
concern is valid. May be we can update git-fetch in guix to have an 
option for fetching only specific/mentioned sub-modules.

> I don't particularly agree with the way this has been solved in v10.
> Do we really need to keep around custom forks and old versions?  Can we
> not instead patch tg_owt?

The situation is same as with tg_owt. They made custom changes in the 
fork. Like unique foo::bar.

Regards,
RG.




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 01:05:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 20:05:06 2021
Received: from localhost ([127.0.0.1]:44372 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0wUy-0005c5-1a
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 20:05:06 -0500
Received: from relay8-d.mail.gandi.net ([217.70.183.201]:53351)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l0wUt-0005bp-VZ
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 20:04:55 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 5F1991BF203;
 Sun, 17 Jan 2021 01:04:44 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v12)
Message-ID: <96f7b93b-413b-c092-e93a-4f28791ffd2f@HIDDEN>
Date: Sat, 16 Jan 2021 20:04:42 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------E0615635D0AB8E6928282056"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From ee10f0820aaaec66fed39c104b07c3ffffeed916 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Thu, 7 Jan 2021
 19:41:42 -0500 Subject: [PATCH 13/15] gnu: Add telegram-de [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.201 listed in list.dnswl.org]
 -0.0 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)
 [217.70.183.201 listed in wl.mailspike.net]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
X-Debbugs-Envelope-To: 45721
Cc: Leo Prikler <leo.prikler@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------E0615635D0AB8E6928282056
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-telegram-desktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-telegram-desktop.patch"

From ee10f0820aaaec66fed39c104b07c3ffffeed916 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 13/15] gnu: Add telegram-desktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (telegram-desktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 207 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 208 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7d405c2462..747cbb1da7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..7339025d49
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,207 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public telegram-desktop
+  (package
+    (name "telegram-desktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       ;; Unique API-ID and API-HASH must obtained for each client application.
+       ;; Reference: https://core.telegram.org/api/obtaining_api_id
+       ;; The following API-ID and API-HASH are generated from my account.
+       ;; In case of ban/block, contact: rg@HIDDEN
+       (list
+        "-DTDESKTOP_API_ID=2791056"
+        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
+       #:phases
+       (modify-phases %standard-phases
+         ;; Git checkouts are not writable by default,
+         ;; but the package writes to it.
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "Telegram/ThirdParty"
+               ;; [1] Keep SPMediaKeyTap, StatusNotifierItem,
+               ;; LibTgVoIP and rLottie.
+               ;; [2] SPMediaKeyTap and StatusNotifierItem are not available.
+               ;; [3] Telegram-Desktop uses custom fork of LibTgVoIP and rLottie,
+               ;; which are different from the ones available in Guix.
+               (for-each delete-file-recursively
+                         (list
+                          "Catch"
+                          "GSL"
+                          "QR"
+                          "expected"
+                          "fcitx-qt5"
+                          "fcitx5-qt"
+                          "hime"
+                          "hunspell"
+                          "libdbusmenu-qt"
+                          ;; "libtgvoip"
+                          "lz4"
+                          "materialdecoration"
+                          "minizip"
+                          "nimf"
+                          "qt5ct"
+                          "range-v3"
+                          ;; "rlottie"
+                          "xxHash")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'remove-thirdparty 'disable-emojis
+           (lambda _
+             ;; FIXME: Emojis framework of Qt doesn't get loaded,
+             ;; so causes the application to crash upon launch.
+             (substitute* "Telegram/lib_ui/ui/emoji_config.cpp"
+               (("bool _unsupported = false")
+                "bool _unsupported = true")
+               (("		generateCache\\(\\);")
+                "//generateCache();"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("dconf" ,dconf)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license
+     (list
+      ;; ThirdParty
+      license:lgpl2.1+
+      ;; Others
+      license:gpl3+))))
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg_owt.patch"

From b328aa0352e9b4571b7df0364677d0cbfc3b9730 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 12/15] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 77 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..652c06e693 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,81 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (let ((commit "ffc317415d5c8e732005414125099a6a6b52dc3e")
+        (revision "1"))
+    (package
+      (name "tg_owt")
+      (version
+       (git-version "1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/desktop-app/tg_owt.git")
+           (commit commit)
+           (recursive? #t)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "0f7s5jwrs6h9sdvwcv9w35ga018dy76i8wzh3nncsriwi217gc2x"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:configure-flags
+         (list
+          "-DCMAKE_C_FLAGS=-fPIC"
+          "-DCMAKE_CXX_FLAGS=-fPIC")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'delete-thirdparty
+             (lambda _
+               (with-directory-excursion "src/third_party"
+                 (for-each delete-file-recursively
+                           ;; [1] Keep Abseil-CPP, LibSRTP, LibVPx, LibYuv,
+                           ;; OpenH264, PFFFT, RnNoise and UsrSCTP.
+                           ;; [2] Tg_owt uses custom fork of Abseil-CPP,
+                           ;; LibSRTP, OpenH264 and RnNoise.
+                           ;; [3] Tg_owt uses specific version/commit of LibVPx,
+                           ;; which is different from one available in Guix.
+                           ;; [4] LibYuv, PFFFT and UsrSCTP aren't available.
+                           (list
+                            "yasm")))
+               #t)))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("python" ,python-wrapper)
+         ("yasm" ,yasm)))
+      (inputs
+       `(("alsa" ,alsa-lib)
+         ("ffmpeg" ,ffmpeg)
+         ("libjpeg" ,libjpeg-turbo)
+         ;; ("libvpx" ,libvpx)
+         ;; ("libyuv" ,libyuv)
+         ("openssl" ,openssl)
+         ("opus" ,opus)
+         ("protobuf" ,protobuf)
+         ("pulseaudio" ,pulseaudio)))
+      (synopsis "WebRTC support for Telegram-Desktop")
+      (description "Tg_owt is a custom WebRTC fork by Telegram project,
+for its use in telegram desktop client.")
+      (home-page "https://github.com/desktop-app/tg_owt")
+      (license
+       (list
+        ;; Abseil-CPP
+        license:asl2.0
+        ;; LibYuv
+        (license:non-copyleft "file:///src/third_party/libyuv/LICENSE")
+        ;; OpenH264
+        license:bsd-2
+        ;; PFFFT
+        (license:non-copyleft "file:///src/third_party/pffft/LICENSE")
+        ;; RnNoise
+        license:gpl3
+        ;; LibSRTP, LibVPx, UsrSCTP and Others
+        license:bsd-3)))))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From 5106116af504108fd97986108ed7ebbc1401a29d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/15] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 60e4f43c6a..0ce694bd92 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,60 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From 9f7b138e9d85454e56a63974c52871fca1604df3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/15] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index b71c7e1832..8df15a8c65 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From 4d805e4a839de29b59b983f59e7015f38fd93e56 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/15] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..b71c7e1832 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,45 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is an extension of the Standard Template Library that
+makes its iterators and algorithms more powerful by making them composable.
+Unlike other range-like solutions which, seek to do away with iterators, in
+range-v3 ranges are an abstration layer on top of iterators.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Elements of Programming
+      (license:x11-style "file:///LICENSE.txt")
+      ;; SGI STL
+      license:sgifreeb2.0
+      ;;; LibC++ (dual-licensed)
+      license:expat
+      license:ncsa
+      ;; Others
+      license:boost1.0))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 48edef4bfe7b2adf397725b369e0ad02725482c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/15] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..60e4f43c6a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is a client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From 67de96d5d6f291f199e58a2ef056cd73b6444fd7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/15] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From d1f8f17e93d4c996307f9a9c2abcc1df551570c2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/15] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 138 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 221848f2b5..18373f2c6c 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,138 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Lightweight input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework. This is a fork of original nimf project, with special focus on
+Korean.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From 91f99169ab0cca7d4686b4a3e6863f41f6695d66 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/15] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..221848f2b5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,88 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* "configure"
+               (("gnu17")
+                "gnu11")
+               (("gnu++17")
+                "gnu++11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From b1aefee1089fb16ffd6e25c8102a709651540f83 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/15] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From 331ad0dff904836e8b0827a4884a619697cee01c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/15] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 91386944fcf9663ac1dffbf59544194bce3ede97 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/15] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..a4ad008da9 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------E0615635D0AB8E6928282056
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From a38babfc295363905b3f0badc623fd4a770a9315 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/15] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index eb28104add..7d405c2462 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------E0615635D0AB8E6928282056--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 00:36:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 19:36:44 2021
Received: from localhost ([127.0.0.1]:44359 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0w3f-0004yl-VC
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 19:36:44 -0500
Received: from mailrelay.tugraz.at ([129.27.2.202]:18914)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leo.prikler@HIDDEN>) id 1l0w3d-0004yc-BQ
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 19:36:42 -0500
Received: from nijino.local (217-149-173-242.nat.highway.telekom.at
 [217.149.173.242])
 by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4DJGFK6mqCz3xsX;
 Sun, 17 Jan 2021 01:36:37 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at;
 s=mailrelay; t=1610843798;
 bh=TvABs/Zg7KI/PKiFouKPkBILlNjroQc/6YuUVWb26Ho=;
 h=Subject:From:To:Date:In-Reply-To:References;
 b=hxKf5Xwsi0V/VA+2QLluqc8FSCQdmanMMK9wZoIA6gx2xlVg2p3A9iz8LscApvhF7
 RJlxpwrfFY7cbwmukvjXpWPCPa1R32kLb8eZNA4uPsUdp63YwHO0uW2K3Y+VVmgXH/
 j6xa2+jZRbMgEPYelZZ6XIZZQeTJgw0vWrdKlrU8=
Message-ID: <c7bc81626b926e0aafd969ec272436632c97d503.camel@HIDDEN>
Subject: Re: Telegram Desktop (v9)
From: Leo Prikler <leo.prikler@HIDDEN>
To: Raghav Gururajan <rg@HIDDEN>, 45721 <at> debbugs.gnu.org
Date: Sun, 17 Jan 2021 01:36:37 +0100
In-Reply-To: <de617d0e-b1c0-7ca2-0042-91e39e974285@HIDDEN>
References: <260455952500fcfd067f395a55a7ac78a4f1bd0a.camel@HIDDEN>
 <de617d0e-b1c0-7ca2-0042-91e39e974285@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw
X-Spam-Scanner: SpamAssassin 3.003001 
X-Spam-Score-relay: -1.9
X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi Raghav,

Am Samstag, den 16.01.2021, 19:19 -0500 schrieb Raghav Gururajan:
> Hi Leo!
> 
> > congratulations on getting a working Telegram Desktop.  I haven't
> > yet
> > built this version on my own, but I want to comment on the patches
> > a
> > little.
> 
> Thanks! Couldn't have done without your help. :-)
> 
> > LGTM, but there seem to be whitespace issues.  Any idea?
> 
> Those are from the patch file taken from upstream. The pack-def is
> clean.
Nvm then.

> > Personal nitpick, but those should likely be prefixed with license:
> > To keep backwards-compatibility, you can (define gpl2+
> > license:gpl2+)
> > inside the module.
> 
> Hmm. I think we have to make changes to all pack-def in this module.
> As 
> the licenses doesn't use prefix. Can be a separate task.
Again, you can (define gpl2+ license:gpl2+) at the start of the module,
so that existing definitions can be kept the same, but your packages
adhere to the license: style.

> > LGTM.
> 
> Cool!
> 
> > Is there a less broad way of doing this?  E.g. replacing c++-17 by
> > c++-
> > 11?
> 
> Updated in v10.
Yes, okay.

> > In my opinion the synopsis should be "Lightweight input method
> > framework" and the description should mention, that this specific
> > fork
> > has a special focus on Korean.
> 
> Updated in v10.
Already discussed that one in IRC.

> > LGTM, albeit admittedly weird.
> 
> Haha, yeah.
> 
> > It's not "the", just "a".  Usually such projects describe Material
> > Design in some way, but apparently it has come to a point where
> > just
> > throwing around the word "Material" is enough.
> 
> Updated in v10.
Okay.

> > I find the following more useful:
> > [range-v3 is] an extension of the Standard Template Library that
> > makes its iterators and algorithms more powerful by making them
> > composable.  Unlike other range-like solutions which, seek to do
> > away
> > with iterators, in range-v3 ranges are an abstration layer on top
> > of
> > iterators.
> 
> Updated in v10.
Thanks.

> > It appears, that this library carries a few more (free) licenses
> > with
> > it.  Perhaps this needs to be revised?
> 
> Updated in v10.
Seems okay, I also saw you double-checking in IRC.

> > Use a proper version.  Packages, that build directly from git
> > without
> > any tagged versions usually have a preamble of
> >    (let ((commit <hash>)
> >          (revision <number))
> >      (package ...))
> 
> Updated in v10.
Use full commit hashes please.

> > Is there a way of making this checkout non-recursive?  I know
> > you've
> > made that change in accordance to an upstream recommendation, but
> > one
> > ought to look at it a little closer.
> 
> Not sure, but we need the sub-modules any way for build.
Perhaps, but it seems kinda weird, that this package gets special
treatment in how we accept anything else it might pull in.

> > It seems that some of those inputs are also found as third_party/
> > libraries.  Can you remove their respective sources from the
> > package?
> 
> Updated in v10.
I don't particularly agree with the way this has been solved in v10. 
Do we really need to keep around custom forks and old versions?  Can we
not instead patch tg_owt?

> > I really don't like that synopsis and description.  Granted,
> > upstream
> > offers little to work with, but there ought to be a better way of
> > phrasing this.
> 
> Updated in v10.
Yep, that sounds better.

> > By the way, it would appear we already have some WebRTC stuff
> > packaged,
> > but no direct "webrtc" package (which I guess is normal, given that
> > it
> > is a protocol and not an individual piece of software).  How
> > tightly is
> > Telegram coupled to this specific implementation?  Would there be a
> > way
> > of replacing it with something else (kinda like our udev/eudev
> > situation)?
> 
> Nah, telegram made a hard fork. There are some telegram-specific
> classes 
> and objects.
Fair enough.

> > Would there be a way of moving this into another module, e.g. (gnu
> > packages messaging)?
> 
> I first tried there, but the was circular dependency. So moved it to 
> separate module. We can also move telegram-related stuff like tg_owt 
> etc, to this module in the future.
That would make sense in my opinion.

Regards,
Leo





Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 00:30:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 19:30:23 2021
Received: from localhost ([127.0.0.1]:44347 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0vxM-0004pR-Jg
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 19:30:23 -0500
Received: from relay5-d.mail.gandi.net ([217.70.183.197]:37759)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l0vxI-0004o3-3n
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 19:30:11 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id B96541C0004;
 Sun, 17 Jan 2021 00:30:00 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v11)
Message-ID: <a8444e40-3d61-fb25-5329-cd435e7d0470@HIDDEN>
Date: Sat, 16 Jan 2021 19:29:58 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------A2D292E35A449AFF86E94626"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From df13fd20cdf040f0e4e6c7b158973b8cc65fd83a Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Thu, 7 Jan 2021
 19:41:42 -0500 Subject: [PATCH 13/15] gnu: Add telegram-de [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.197 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.197 listed in wl.mailspike.net]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
Cc: Leo Prikler <leo.prikler@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------A2D292E35A449AFF86E94626
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-telegram-desktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-telegram-desktop.patch"

From df13fd20cdf040f0e4e6c7b158973b8cc65fd83a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 13/15] gnu: Add telegram-desktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (telegram-desktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 207 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 208 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7d405c2462..747cbb1da7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..7339025d49
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,207 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public telegram-desktop
+  (package
+    (name "telegram-desktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       ;; Unique API-ID and API-HASH must obtained for each client application.
+       ;; Reference: https://core.telegram.org/api/obtaining_api_id
+       ;; The following API-ID and API-HASH are generated from my account.
+       ;; In case of ban/block, contact: rg@HIDDEN
+       (list
+        "-DTDESKTOP_API_ID=2791056"
+        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
+       #:phases
+       (modify-phases %standard-phases
+         ;; Git checkouts are not writable by default,
+         ;; but the package writes to it.
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "Telegram/ThirdParty"
+               ;; [1] Keep SPMediaKeyTap, StatusNotifierItem,
+               ;; LibTgVoIP and rLottie.
+               ;; [2] SPMediaKeyTap and StatusNotifierItem are not available.
+               ;; [3] Telegram-Desktop uses custom fork of LibTgVoIP and rLottie,
+               ;; which are different from the ones available in Guix.
+               (for-each delete-file-recursively
+                         (list
+                          "Catch"
+                          "GSL"
+                          "QR"
+                          "expected"
+                          "fcitx-qt5"
+                          "fcitx5-qt"
+                          "hime"
+                          "hunspell"
+                          "libdbusmenu-qt"
+                          ;; "libtgvoip"
+                          "lz4"
+                          "materialdecoration"
+                          "minizip"
+                          "nimf"
+                          "qt5ct"
+                          "range-v3"
+                          ;; "rlottie"
+                          "xxHash")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'remove-thirdparty 'disable-emojis
+           (lambda _
+             ;; FIXME: Emojis framework of Qt doesn't get loaded,
+             ;; so causes the application to crash upon launch.
+             (substitute* "Telegram/lib_ui/ui/emoji_config.cpp"
+               (("bool _unsupported = false")
+                "bool _unsupported = true")
+               (("		generateCache\\(\\);")
+                "//generateCache();"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("dconf" ,dconf)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license
+     (list
+      ;; ThirdParty
+      license:lgpl2.1+
+      ;; Others
+      license:gpl3+))))
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg_owt.patch"

From b81159dea877e162b34f92c3f89244d91ef46a3a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 12/15] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 77 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..c4094d75aa 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,81 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (let ((commit "fa86fcc")
+        (revision "1"))
+    (package
+      (name "tg_owt")
+      (version
+       (git-version "1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/desktop-app/tg_owt.git")
+           (commit commit)
+           (recursive? #t)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "0f7s5jwrs6h9sdvwcv9w35ga018dy76i8wzh3nncsriwi217gc2x"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:configure-flags
+         (list
+          "-DCMAKE_C_FLAGS=-fPIC"
+          "-DCMAKE_CXX_FLAGS=-fPIC")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'delete-thirdparty
+             (lambda _
+               (with-directory-excursion "src/third_party"
+                 (for-each delete-file-recursively
+                           ;; [1] Keep Abseil-CPP, LibSRTP, LibVPx, LibYuv,
+                           ;; OpenH264, PFFFT, RnNoise and UsrSCTP.
+                           ;; [2] Tg_owt uses custom fork of Abseil-CPP,
+                           ;; LibSRTP, OpenH264 and RnNoise.
+                           ;; [3] Tg_owt uses specific version/commit of LibVPx,
+                           ;; which is different from one available in Guix.
+                           ;; [4] LibYuv, PFFFT and UsrSCTP aren't available.
+                           (list
+                            "yasm")))
+               #t)))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("python" ,python-wrapper)
+         ("yasm" ,yasm)))
+      (inputs
+       `(("alsa" ,alsa-lib)
+         ("ffmpeg" ,ffmpeg)
+         ("libjpeg" ,libjpeg-turbo)
+         ;; ("libvpx" ,libvpx)
+         ;; ("libyuv" ,libyuv)
+         ("openssl" ,openssl)
+         ("opus" ,opus)
+         ("protobuf" ,protobuf)
+         ("pulseaudio" ,pulseaudio)))
+      (synopsis "WebRTC support for Telegram-Desktop")
+      (description "Tg_owt is a custom WebRTC fork by Telegram project,
+for its use in telegram desktop client.")
+      (home-page "https://github.com/desktop-app/tg_owt")
+      (license
+       (list
+        ;; Abseil-CPP
+        license:asl2.0
+        ;; LibYuv
+        (license:non-copyleft "file:///src/third_party/libyuv/LICENSE")
+        ;; OpenH264
+        license:bsd-2
+        ;; PFFFT
+        (license:non-copyleft "file:///src/third_party/pffft/LICENSE")
+        ;; RnNoise
+        license:gpl3
+        ;; LibSRTP, LibVPx, UsrSCTP and Others
+        license:bsd-3)))))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From f56974102f34a96de27bce09acccac40f1acf254 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/15] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 60e4f43c6a..0ce694bd92 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,60 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From 3a2a5c329587056e56cb2d0df118c0161ce6c789 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/15] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index b71c7e1832..8df15a8c65 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From aeaba0734e8f11b5704c398e247f67b40fe9db0b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/15] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..b71c7e1832 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,45 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is an extension of the Standard Template Library that
+makes its iterators and algorithms more powerful by making them composable.
+Unlike other range-like solutions which, seek to do away with iterators, in
+range-v3 ranges are an abstration layer on top of iterators.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Elements of Programming
+      (license:x11-style "file:///LICENSE.txt")
+      ;; SGI STL
+      license:sgifreeb2.0
+      ;;; LibC++ (dual-licensed)
+      license:expat
+      license:ncsa
+      ;; Others
+      license:boost1.0))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 9af63a33ba7a5489c5889c4137bb2f841a5fd56f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/15] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..60e4f43c6a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is a client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From 32c9c556e5ff3fd5f7616c9e9497645b923dd6b0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/15] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From f2791c7bf5650fa2f33e146b9a355fdadd407144 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/15] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 138 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 221848f2b5..18373f2c6c 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,138 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Lightweight input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework. This is a fork of original nimf project, with special focus on
+Korean.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From fcc44eab5187f9df64f77898595908424a67a92e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/15] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..221848f2b5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,88 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* "configure"
+               (("gnu17")
+                "gnu11")
+               (("gnu++17")
+                "gnu++11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From 5d449632f8e2b0c083074ef91fe2761ac7c34fd0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/15] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From 1f8ab5a01ef6858d757bef06c64b10db4acf146f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/15] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 008e96ef20fecc4147c369549ca0a411786f1b41 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/15] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..18d7d4ee34 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages fcitx)
-  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix licenses)
   #: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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------A2D292E35A449AFF86E94626
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From a38babfc295363905b3f0badc623fd4a770a9315 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/15] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index eb28104add..7d405c2462 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------A2D292E35A449AFF86E94626--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 00:19:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 19:19:13 2021
Received: from localhost ([127.0.0.1]:44337 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0vmi-0004Xx-NQ
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 19:19:13 -0500
Received: from relay3-d.mail.gandi.net ([217.70.183.195]:60389)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l0vmg-0004Xh-6w
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 19:19:11 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id CBBAD60002;
 Sun, 17 Jan 2021 00:19:02 +0000 (UTC)
Subject: Re: Telegram Desktop (v9)
To: Leo Prikler <leo.prikler@HIDDEN>, 45721 <at> debbugs.gnu.org
References: <260455952500fcfd067f395a55a7ac78a4f1bd0a.camel@HIDDEN>
From: Raghav Gururajan <rg@HIDDEN>
Message-ID: <de617d0e-b1c0-7ca2-0042-91e39e974285@HIDDEN>
Date: Sat, 16 Jan 2021 19:19:01 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
In-Reply-To: <260455952500fcfd067f395a55a7ac78a4f1bd0a.camel@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hi Leo!

> congratulations on getting a working Telegram Desktop.  I haven't yet
> built this version on my own, but I want to comment on the patches a
> little.

Thanks! Couldn't have done without your help. :-)

> LGTM, but there seem to be whitespace issues.  Any idea?

Those are from the patch file taken from upstream. The pack-def is clean.

> Personal nitpick, but those should likely be prefixed with license:
> To keep backwards-compatibility, you can (define gpl2+ license:gpl2+)
> inside the module.

Hmm. I think we have to make changes to all pack-def in this module. As 
the licenses doesn't use prefix. Can be a separate task.

> LGTM.

Cool!

> Is there a less broad way of doing this?  E.g. replacing c++-17 by c++-
> 11?

Updated in v10.

> FWIW there seems to also exist an older version over at
> https://gitlab.com/nimf-i18n/nimf
> Would it be worth packaging that?

Hmm, not sure. I can package it later though.

> In my opinion the synopsis should be "Lightweight input method
> framework" and the description should mention, that this specific fork
> has a special focus on Korean.

Updated in v10.

> LGTM, albeit admittedly weird.

Haha, yeah.

> It's not "the", just "a".  Usually such projects describe Material
> Design in some way, but apparently it has come to a point where just
> throwing around the word "Material" is enough.

Updated in v10.

> I find the following more useful:
> [range-v3 is] an extension of the Standard Template Library that
> makes its iterators and algorithms more powerful by making them
> composable.  Unlike other range-like solutions which, seek to do away
> with iterators, in range-v3 ranges are an abstration layer on top of
> iterators.

Updated in v10.

> It appears, that this library carries a few more (free) licenses with
> it.  Perhaps this needs to be revised?

Updated in v10.

> LGTM.

Cool!

> LGTM.

Cool!

> Use a proper version.  Packages, that build directly from git without
> any tagged versions usually have a preamble of
>    (let ((commit <hash>)
>          (revision <number))
>      (package ...))

Updated in v10.

> Is there a way of making this checkout non-recursive?  I know you've
> made that change in accordance to an upstream recommendation, but one
> ought to look at it a little closer.

Not sure, but we need the sub-modules any way for build.

> It seems that some of those inputs are also found as third_party/
> libraries.  Can you remove their respective sources from the package?

Updated in v10.

> I really don't like that synopsis and description.  Granted, upstream
> offers little to work with, but there ought to be a better way of
> phrasing this.

Updated in v10.

> By the way, it would appear we already have some WebRTC stuff packaged,
> but no direct "webrtc" package (which I guess is normal, given that it
> is a protocol and not an individual piece of software).  How tightly is
> Telegram coupled to this specific implementation?  Would there be a way
> of replacing it with something else (kinda like our udev/eudev
> situation)?

Nah, telegram made a hard fork. There are some telegram-specific classes 
and objects.

> Would there be a way of moving this into another module, e.g. (gnu
> packages messaging)?

I first tried there, but the was circular dependency. So moved it to 
separate module. We can also move telegram-related stuff like tg_owt 
etc, to this module in the future.

Thank you so much for reviewing. :-)

Regards,
RG.




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 17 Jan 2021 00:06:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 19:05:59 2021
Received: from localhost ([127.0.0.1]:44309 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0vZh-0004E4-Be
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 19:05:59 -0500
Received: from relay1-d.mail.gandi.net ([217.70.183.193]:52159)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l0vZc-0004Dm-BO
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 19:05:43 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 92C96240002;
 Sun, 17 Jan 2021 00:05:32 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v10)
Message-ID: <7307aa55-65b7-fd7b-fa0f-a33db0776707@HIDDEN>
Date: Sat, 16 Jan 2021 19:05:30 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------B0E8ED74E62C623E66E7ECBD"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From 3c3324e3feb3d1e980d4ebf49efa2dccbc7d9f24 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Thu, 7 Jan 2021
 19:41:42 -0500 Subject: [PATCH 13/15] gnu: Add telegram-de [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.193 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.193 listed in wl.mailspike.net]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
Cc: leo.prikler@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-telegram-desktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-telegram-desktop.patch"

From 3c3324e3feb3d1e980d4ebf49efa2dccbc7d9f24 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 13/15] gnu: Add telegram-desktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (telegram-desktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 207 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 208 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7d405c2462..747cbb1da7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..7339025d49
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,207 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public telegram-desktop
+  (package
+    (name "telegram-desktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       ;; Unique API-ID and API-HASH must obtained for each client application.
+       ;; Reference: https://core.telegram.org/api/obtaining_api_id
+       ;; The following API-ID and API-HASH are generated from my account.
+       ;; In case of ban/block, contact: rg@HIDDEN
+       (list
+        "-DTDESKTOP_API_ID=2791056"
+        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
+       #:phases
+       (modify-phases %standard-phases
+         ;; Git checkouts are not writable by default,
+         ;; but the package writes to it.
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "Telegram/ThirdParty"
+               ;; [1] Keep SPMediaKeyTap, StatusNotifierItem,
+               ;; LibTgVoIP and rLottie.
+               ;; [2] SPMediaKeyTap and StatusNotifierItem are not available.
+               ;; [3] Telegram-Desktop uses custom fork of LibTgVoIP and rLottie,
+               ;; which are different from the ones available in Guix.
+               (for-each delete-file-recursively
+                         (list
+                          "Catch"
+                          "GSL"
+                          "QR"
+                          "expected"
+                          "fcitx-qt5"
+                          "fcitx5-qt"
+                          "hime"
+                          "hunspell"
+                          "libdbusmenu-qt"
+                          ;; "libtgvoip"
+                          "lz4"
+                          "materialdecoration"
+                          "minizip"
+                          "nimf"
+                          "qt5ct"
+                          "range-v3"
+                          ;; "rlottie"
+                          "xxHash")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'remove-thirdparty 'disable-emojis
+           (lambda _
+             ;; FIXME: Emojis framework of Qt doesn't get loaded,
+             ;; so causes the application to crash upon launch.
+             (substitute* "Telegram/lib_ui/ui/emoji_config.cpp"
+               (("bool _unsupported = false")
+                "bool _unsupported = true")
+               (("		generateCache\\(\\);")
+                "//generateCache();"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("dconf" ,dconf)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license
+     (list
+      ;; ThirdParty
+      license:lgpl2.1+
+      ;; Others
+      license:gpl3+))))
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg_owt.patch"

From 342ca4a5123459b7d17e963b11abc035785023cc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 12/15] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 77 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..c4094d75aa 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,81 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (let ((commit "fa86fcc")
+        (revision "1"))
+    (package
+      (name "tg_owt")
+      (version
+       (git-version "1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/desktop-app/tg_owt.git")
+           (commit commit)
+           (recursive? #t)))
+         (file-name
+          (git-file-name name version))
+         (sha256
+          (base32 "0f7s5jwrs6h9sdvwcv9w35ga018dy76i8wzh3nncsriwi217gc2x"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; No target
+         #:configure-flags
+         (list
+          "-DCMAKE_C_FLAGS=-fPIC"
+          "-DCMAKE_CXX_FLAGS=-fPIC")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'delete-thirdparty
+             (lambda _
+               (with-directory-excursion "src/third_party"
+                 (for-each delete-file-recursively
+                           ;; [1] Keep Abseil-CPP, LibSRTP, LibVPx, LibYuv,
+                           ;; OpenH264, PFFFT, RnNoise and UsrSCTP.
+                           ;; [2] Tg_owt uses custom fork of Abseil-CPP,
+                           ;; LibSRTP, OpenH264 and RnNoise.
+                           ;; [3] Tg_owt uses specific version/commit of LibVPx,
+                           ;; which is different from one available in Guix.
+                           ;; [4] LibYuv, PFFFT and UsrSCTP aren't available.
+                           (list
+                            "yasm")))
+               #t)))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("python" ,python-wrapper)
+         ("yasm" ,yasm)))
+      (inputs
+       `(("alsa" ,alsa-lib)
+         ("ffmpeg" ,ffmpeg)
+         ("libjpeg" ,libjpeg-turbo)
+         ;; ("libvpx" ,libvpx)
+         ;; ("libyuv" ,libyuv)
+         ("openssl" ,openssl)
+         ("opus" ,opus)
+         ("protobuf" ,protobuf)
+         ("pulseaudio" ,pulseaudio)))
+      (synopsis "WebRTC support for Telegram-Desktop")
+      (description "Tg_owt is a custom WebRTC fork by Telegram project,
+for its use in telegram desktop client.")
+      (home-page "https://github.com/desktop-app/tg_owt")
+      (license
+       (list
+        ;; Abseil-CPP
+        license:asl2.0
+        ;; LibYuv
+        (license:non-copyleft "file:///src/third_party/libyuv/LICENSE")
+        ;; OpenH264
+        license:bsd-2
+        ;; PFFFT
+        (license:non-copyleft "file:///src/third_party/pffft/LICENSE")
+        ;; RnNoise
+        license:gpl3
+        ;; LibSRTP, LibVPx, UsrSCTP and Others
+        license:bsd-3)))))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From 023b9e9c0c55b56e21bee13fd24c22688d61f900 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/15] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 60e4f43c6a..0ce694bd92 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,60 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From 887cd35ad810ce819091fcd1afc0ea71475b439d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/15] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index b71c7e1832..8df15a8c65 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From 58ee3d478934d16495061849e566126fe670bf51 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/15] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..b71c7e1832 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,45 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is an extension of the Standard Template Library that
+makes its iterators and algorithms more powerful by making them composable.
+Unlike other range-like solutions which, seek to do away with iterators, in
+range-v3 ranges are an abstration layer on top of iterators.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Elements of Programming
+      (license:x11-style "file:///LICENSE.txt")
+      ;; SGI STL
+      license:sgifreeb2.0
+      ;;; LibC++ (dual-licensed)
+      license:expat
+      license:ncsa
+      ;; Others
+      license:boost1.0))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From d91590a291cbe9a130e5ef6349e15949fd22b646 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/15] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..60e4f43c6a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is a client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From e2dee2b004db93dbbec27f5478b3f61fd0b4c5b6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/15] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From 7a7061f67899b870fc64ef842cfa62519267e5a9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/15] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 138 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 221848f2b5..da417417a6 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,138 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Lightweight input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework. This a forked version on original nimf project, which has special
+focus on Korean.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From fcc44eab5187f9df64f77898595908424a67a92e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/15] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..221848f2b5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,88 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* "configure"
+               (("gnu17")
+                "gnu11")
+               (("gnu++17")
+                "gnu++11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From 5d449632f8e2b0c083074ef91fe2761ac7c34fd0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/15] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From 1f8ab5a01ef6858d757bef06c64b10db4acf146f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/15] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 008e96ef20fecc4147c369549ca0a411786f1b41 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/15] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..18d7d4ee34 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages fcitx)
-  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix licenses)
   #: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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From a38babfc295363905b3f0badc623fd4a770a9315 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/15] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index eb28104add..7d405c2462 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------B0E8ED74E62C623E66E7ECBD--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 16 Jan 2021 21:22:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 16:22:47 2021
Received: from localhost ([127.0.0.1]:44142 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0t1y-0000Gf-Oe
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 16:22:47 -0500
Received: from relay7-d.mail.gandi.net ([217.70.183.200]:39533)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l0t1v-0000GP-8j
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 16:22:45 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 18C8420005;
 Sat, 16 Jan 2021 21:22:35 +0000 (UTC)
Subject: Re: [bug#45721] Telegram Desktop (v9)
To: =?UTF-8?Q?Nicol=c3=b2_Balzarotti?= <anothersms@HIDDEN>,
 45721 <at> debbugs.gnu.org
References: <b2339e11-707e-7f7b-9e74-ce4196c8c0f1@HIDDEN>
 <68f6fd1a-bd45-d2cf-e14f-c3a55b43ee85@HIDDEN>
 <87r1mkyf8w.fsf@HIDDEN>
From: Raghav Gururajan <rg@HIDDEN>
Message-ID: <76ad7644-bdd5-527c-86f6-8ae2202b76b7@HIDDEN>
Date: Sat, 16 Jan 2021 16:22:34 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
In-Reply-To: <87r1mkyf8w.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hi Nicolò!

> There's nextcloud inside those telegram-desktop patches

Oops! I must have attached it by mistake.

Regards,
RG.




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 16 Jan 2021 18:04:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 13:04:43 2021
Received: from localhost ([127.0.0.1]:43967 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0pwI-0001eo-Qe
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 13:04:43 -0500
Received: from mailrelay.tugraz.at ([129.27.2.202]:27303)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <leo.prikler@HIDDEN>) id 1l0pwF-0001ec-Ih
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 13:04:42 -0500
Received: from nijino.local (217-149-173-242.nat.highway.telekom.at
 [217.149.173.242])
 by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4DJ5Xz6dmQz3wWT;
 Sat, 16 Jan 2021 19:04:35 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at;
 s=mailrelay; t=1610820276;
 bh=6VRa94G/59Ira0bwflYM5H9DO798cWIK4q6Fr3wzatw=;
 h=Subject:From:To:Cc:Date;
 b=aBm/y5HkLyE6qDPfgUEbsN8cMh44ls8RcW5xWk68huH80Wg8Pn5kftMjdnbrgVsle
 gYUYPVos3B68+05KWgSRkkocWeDZYBypB71PaRZIjm28EzzV6OHI1EW8gLBaWxvFvq
 PyG2sJR7ijO++RPTlRdV0QAJ5fUIFfL2jsBtYrTg=
Message-ID: <260455952500fcfd067f395a55a7ac78a4f1bd0a.camel@HIDDEN>
Subject: Re: Telegram Desktop (v9)
From: Leo Prikler <leo.prikler@HIDDEN>
To: 45721 <at> debbugs.gnu.org
Date: Sat, 16 Jan 2021 19:04:35 +0100
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw
X-Spam-Scanner: SpamAssassin 3.003001 
X-Spam-Score-relay: -1.9
X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 45721
Cc: Raghav Gururajan <rg@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi Raghav,

congratulations on getting a working Telegram Desktop.  I haven't yet
built this version on my own, but I want to comment on the patches a
little.

Am Freitag, den 15.01.2021, 11:08 -0500 schrieb Raghav Gururajan:
> * gnu/packages/cpp.scm (gsl): New variable.
> * gnu/packages/patches/gsl-gtest.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add it.
LGTM, but there seem to be whitespace issues.  Any idea?

>  (define-module (gnu packages fcitx)
> -  #:use-module ((guix licenses) #:select (gpl2+))
> +  #:use-module (guix licenses)
Personal nitpick, but those should likely be prefixed with license:
To keep backwards-compatibility, you can (define gpl2+ license:gpl2+)
inside the module.

> * gnu/packages/language.scm (libchewing): New variable.
LGTM.

> +         (add-after 'unpack 'patch-std
> +           (lambda _
> +             (substitute* '("configure" "Makefile")
> +               (("17")
> +                "11"))
> +             #t))
Is there a less broad way of doing this?  E.g. replacing c++-17 by c++-
11?

> +        (git-reference
> +         (url "https://github.com/hamonikr/nimf.git")
> +         (commit
> +          (string-append "nimf-" version))))
FWIW there seems to also exist an older version over at
https://gitlab.com/nimf-i18n/nimf
Would it be worth packaging that?

> +    (synopsis "Korean input method framework")
> +    (description "Nimf is a lightweight, fast and extensible input
> method
> +framework.")
In my opinion the synopsis should be "Lightweight input method
framework" and the description should mention, that this specific fork
has a special focus on Korean.

> * gnu/packages/cmake.scm (cmake-shared): New variable.
LGTM, albeit admittedly weird.

> +    (synopsis "Material Decoration for Qt")
> +    (description "MaterialDecoration is the client-side decoration
> for Qt
> +applications on Wayland.")
It's not "the", just "a".  Usually such projects describe Material
Design in some way, but apparently it has come to a point where just
throwing around the word "Material" is enough.

> +    (description "Range-v3 is the range library for
> C++14/17/20.  This code was
> +the basis of a formal proposal to add range support to the C++
> standard library.")
I find the following more useful:
> [range-v3 is] an extension of the Standard Template Library that
> makes its iterators and algorithms more powerful by making them
> composable.  Unlike other range-like solutions which, seek to do away
> with iterators, in range-v3 ranges are an abstration layer on top of
> iterators.

> +    (license
> +     (list
> +      ;; Dual-Licensed
> +      license:expat
> +      license:ncsa))))
It appears, that this library carries a few more (free) licenses with
it.  Perhaps this needs to be revised?

> * gnu/packages/cpp.scm (rlottie): New variable.
LGTM.

> * gnu/packages/qt.scm (qt5ct): New variable.
LGTM.

> +(define-public tg_owt
> +  (package
> +    (name "tg_owt")
> +    (version "0.0.0")
Use a proper version.  Packages, that build directly from git without
any tagged versions usually have a preamble of 
  (let ((commit <hash>) 
        (revision <number))
    (package ...))

> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri
> +        (git-reference
> +         (url "https://github.com/desktop-app/tg_owt.git")
> +         (commit "fa86fcc")
> +         (recursive? #t)))
Is there a way of making this checkout non-recursive?  I know you've
made that change in accordance to an upstream recommendation, but one
ought to look at it a little closer. 

> +    (inputs
> +     `(("abseil-cpp" ,abseil-cpp)
> +       ("alsa" ,alsa-lib)
> +       ("ffmpeg" ,ffmpeg)
> +       ("libjpeg" ,libjpeg-turbo)
> +       ("libsrtp" ,libsrtp)
> +       ("libvpx" ,libvpx)
> +       ;; ("libyuv" ,libyuv)
> +       ("openh264" ,openh264)
> +       ("openssl" ,openssl)
> +       ("opus" ,opus)
> +       ("protobuf" ,protobuf)
> +       ("pulseaudio" ,pulseaudio)
> +       ("rnnoise" ,rnnoise)))
It seems that some of those inputs are also found as third_party/
libraries.  Can you remove their respective sources from the package?

> +    (synopsis "WebRTC build for Telegram")
> +    (description "TG_OWT is the packaged build of WebRTC, for its
> use in
> +Telegram-Desktop application.")
I really don't like that synopsis and description.  Granted, upstream
offers little to work with, but there ought to be a better way of
phrasing this.

By the way, it would appear we already have some WebRTC stuff packaged,
but no direct "webrtc" package (which I guess is normal, given that it
is a protocol and not an individual piece of software).  How tightly is
Telegram coupled to this specific implementation?  Would there be a way
of replacing it with something else (kinda like our udev/eudev
situation)?

> * gnu/packages/telegram.scm: New module.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
> * gnu/packages/telegram.scm (tdesktop): New variable.
Would there be a way of moving this into another module, e.g. (gnu
packages messaging)?

Regards,
Leo





Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 16 Jan 2021 17:16:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 12:16:11 2021
Received: from localhost ([127.0.0.1]:43921 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0pBL-0000P8-4R
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 12:16:11 -0500
Received: from mail-wr1-f43.google.com ([209.85.221.43]:39432)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <anothersms@HIDDEN>) id 1l0pBH-0000ON-3L
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 12:16:10 -0500
Received: by mail-wr1-f43.google.com with SMTP id c5so12390532wrp.6
 for <45721 <at> debbugs.gnu.org>; Sat, 16 Jan 2021 09:16:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:subject:in-reply-to:references:date:message-id:mime-version;
 bh=bZWbFmBXduXfIc+hbYBru4kybq0Yzs/B3e1kT/oKR3k=;
 b=O5amJb5rWNYtlkoVUfr19SP5+M/d2R+yEbzfldBKEW4a8vP6TstREJb5XG5OKXufTF
 CFu7ugWaXRujEiKTENqoY8bqliPoL9likThWiVBbT1iR+JyJNkQo3MKXUsy4Md0nteEY
 lZHWgWjFa0H/KQpRmGMadJ9pxHoQkGm/y92vxr9n7Ql5eo+12WJYS0f97CsRhYRFEEKl
 YEb9FdoGh5irtVYFnpVcDc0CQG5QyYthpcMuBywW7G2ZRlTIjy/XE6jMxctHw7Be3qEk
 HnAaNV1PnQcdfVThCZWrhJNQ6AdovWyQAGALB36FTfbA1pfT/6tlmwMWgI2msD4KMvGT
 cubQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:in-reply-to:references:date
 :message-id:mime-version;
 bh=bZWbFmBXduXfIc+hbYBru4kybq0Yzs/B3e1kT/oKR3k=;
 b=EQ8mt4mAFzj31vjyBgBsGEKdF5PMQE4riqMAgPyM/EjjH54C3IOaA1Y2fyuYaKjR1t
 FwoGP44S1TJpeyhlTVpUITR3W40bxVpaGnLVfvhuuIXtqnIDKxQxDyQMcn2VMUGVM3Ls
 DcDH6xysiwfUkDqWXOPhAodUJEycbx9ZDMaDG3xM0SwkUPuUtjZWxd1du7Cimf9le4aY
 mauLlU8QLa7ytEHAfNaFZ/+AyxXKxoQawKL9NtzfX86sshD7xfbRSAUSPmMKRYtXCoIm
 CFV+DEEP0ZjToMxoo6hCzuT21qeagPaQnmMU9tsc+LZ7ZPJt6NjxgkJC5cJIOVnWxklB
 YBAQ==
X-Gm-Message-State: AOAM5314zYQdWKJ3WFR/VDaSJfeVy0wDC3rQa/d/lxIH+dzCcjXs59Dn
 ram8pxVVBtIPLG+3n2TO5EGiLHXtpiI=
X-Google-Smtp-Source: ABdhPJwXDb15Eqyjtz3BlD5zJjASYkA8n8/gQrDfKJ1JfN9lr/CJj/jhhsZa+zVWJB9HEvUQt0oM7w==
X-Received: by 2002:adf:ec86:: with SMTP id z6mr18624657wrn.17.1610817361290; 
 Sat, 16 Jan 2021 09:16:01 -0800 (PST)
Received: from guixSD (host-95-244-15-108.retail.telecomitalia.it.
 [95.244.15.108])
 by smtp.gmail.com with ESMTPSA id b13sm18525513wrt.31.2021.01.16.09.16.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 16 Jan 2021 09:16:00 -0800 (PST)
From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti <anothersms@HIDDEN>
To: Raghav Gururajan <rg@HIDDEN>, 45721 <at> debbugs.gnu.org
Subject: Re: [bug#45721] Telegram Desktop (v9)
In-Reply-To: <68f6fd1a-bd45-d2cf-e14f-c3a55b43ee85@HIDDEN>
References: <b2339e11-707e-7f7b-9e74-ce4196c8c0f1@HIDDEN>
 <68f6fd1a-bd45-d2cf-e14f-c3a55b43ee85@HIDDEN>
Date: Sat, 16 Jan 2021 18:15:59 +0100
Message-ID: <87r1mkyf8w.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

There's nextcloud inside those telegram-desktop patches




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 16 Jan 2021 16:08:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 16 11:08:51 2021
Received: from localhost ([127.0.0.1]:43869 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l0o80-0007EL-IV
	for submit <at> debbugs.gnu.org; Sat, 16 Jan 2021 11:08:51 -0500
Received: from relay7-d.mail.gandi.net ([217.70.183.200]:45061)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l0o7v-0007E4-Cu
 for 45721 <at> debbugs.gnu.org; Sat, 16 Jan 2021 11:08:39 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 3740120002
 for <45721 <at> debbugs.gnu.org>; Sat, 16 Jan 2021 16:08:27 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v9)
Message-ID: <68f6fd1a-bd45-d2cf-e14f-c3a55b43ee85@HIDDEN>
Date: Sat, 16 Jan 2021 11:08:26 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------663F26B096D8582DCBDAD5B9"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From 7ccd4d7c0220507429a67a3ddecd795bf27b28ac Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Fri, 15 Jan 2021
 05:04:31 -0500 Subject: [PATCH 15/15] gnu: Add nextcloud- [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.200 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.200 listed in wl.mailspike.net]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------663F26B096D8582DCBDAD5B9
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0015-gnu-Add-nextcloud-desktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0015-gnu-Add-nextcloud-desktop.patch"

From 7ccd4d7c0220507429a67a3ddecd795bf27b28ac Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Fri, 15 Jan 2021 05:04:31 -0500
Subject: [PATCH 15/15] gnu: Add nextcloud-desktop.

* gnu/packages/nextcloud.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/nextcloud.scm (nextcloud-desktop): New variable.
---
 gnu/local.mk               |   1 +
 gnu/packages/nextcloud.scm | 148 +++++++++++++++++++++++++++++++++++++
 2 files changed, 149 insertions(+)
 create mode 100644 gnu/packages/nextcloud.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 747cbb1da7..9c155fff73 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -398,6 +398,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/netpbm.scm			\
   %D%/packages/nettle.scm			\
   %D%/packages/networking.scm			\
+  %D%/packages/nextcloud.scm              \
   %D%/packages/nfs.scm                          \
   %D%/packages/nickle.scm                       \
   %D%/packages/nicotine.scm                     \
diff --git a/gnu/packages/nextcloud.scm b/gnu/packages/nextcloud.scm
new file mode 100644
index 0000000000..abf33cdc6b
--- /dev/null
+++ b/gnu/packages/nextcloud.scm
@@ -0,0 +1,148 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages nextcloud)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages ruby)
+  #:use-module (gnu packages sphinx)
+  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages tls)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public nextcloud-desktop
+  (package
+    (name "nextcloud-desktop")
+    (version "3.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/nextcloud/desktop")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "022k7b3c30dymrjc1g3ly2cac1c34gkqnvjya6p7w2j3qw2w1dm2"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-DUNIT_TESTING=ON")
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "src/3rdparty"
+               (for-each delete-file-recursively
+                         ;; Keep QProgressIndicator, KMessageWidget
+                         ;; QtLockedFile, Qtokenizer and QtSingleApplication,
+                         ;; as they are not available in Guix.
+                         ;; LibCrashReporter-Qt has it's own bundled 3rdparty stuff.
+                         ;; SQLite is available in Guix.
+                         (list
+                          "libcrashreporter-qt"
+                          "sqlite3")))
+             #t))
+         (add-after 'remove-thirdparty 'patch-plugin-dirs
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Patch install directory for dbus service files.
+             (substitute* "shell_integration/libcloudproviders/CMakeLists.txt"
+               (("PKGCONFIG_GETVAR\\(dbus-1 session_bus_services_dir _install_dir\\)")
+                "set(_install_dir \"${CMAKE_INSTALL_PREFIX}/share/dbus-1/services\")"))
+             ;; Turn-off the use of absolute Qt paths for installation.
+             (substitute* "shell_integration/dolphin/CMakeLists.txt"
+               (("ON CACHE")
+                "OFF CACHE"))
+             #t))
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmocka" ,cmocka)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("glib:bin" ,glib "bin")
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)
+       ("ruby" ,ruby)))
+    (inputs
+     `(("appstream" ,appstream)
+       ("glib" ,glib)
+       ("kconfig" ,kconfig)
+       ("kcoreaddons" ,kcoreaddons)
+       ("kio" ,kio)
+       ("libcloudproviders" ,libcloudproviders)
+       ("openssl" ,openssl)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtkeychain" ,qtkeychain)
+       ("qtquickcontrols2" ,qtquickcontrols2)
+       ("qtsvg" ,qtsvg)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtwebkit" ,qtwebkit)
+       ("sqlite" ,sqlite)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("qtwebengine" ,qtwebengine)))
+    (synopsis "Desktop sync client for Nextcloud")
+    (description "Nextcloud-Desktop is a tool to synchronize files from
+Nextcloud Server with your computer.")
+    (home-page "https://nextcloud.com/install/#install-clients")
+    (license
+     (list
+      ;; QtProgressIndicator
+      license:expat
+      ;; All ThirdParty (except QtProgressIndicator)
+      license:lgpl2.1+
+      ;; Others
+      license:gpl2+))))
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0014-gnu-Add-appstream.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0014-gnu-Add-appstream.patch"

From 2bef6d2701205fd8191c45fe204ab21a9f36a8e0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 23:32:27 -0500
Subject: [PATCH 14/15] gnu: Add appstream.

* gnu/packages/freedesktop.scm (appstream): New variable.
---
 gnu/packages/freedesktop.scm | 96 ++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 6dd37005ae..a65cc9bd90 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -58,8 +58,10 @@
   #:use-module (gnu packages bash)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cryptsetup)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages disk)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
@@ -75,6 +77,7 @@
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages language)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libunwind)
   #:use-module (gnu packages libusb)
@@ -101,6 +104,99 @@
   #:use-module (gnu packages xorg)
   #:use-module (srfi srfi-1))
 
+(define-public appstream
+  (package
+    (name "appstream")
+    (version "0.13.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://www.freedesktop.org/software/"
+                       "appstream/releases/"
+                       "AppStream-" version ".tar.xz"))
+       (sha256
+        (base32 "09l6ixz1w29pi0nb0flz14m4r3f2hpqpp1fq8y66v9xa4c9fczds"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-libstemmer
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("/usr/include")
+                (string-append (assoc-ref inputs "libstemmer")
+                               "/include")))
+             #t))
+         (add-after 'patch-libstemmer 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs/api"
+               (substitute* "appstream-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             (for-each (lambda (file)
+                         (substitute* file
+                           (("http://www.oasis-open.org/docbook/xml/4.5/")
+                            (string-append (assoc-ref inputs "docbook-xml")
+                                           "/xml/dtd/docbook/"))))
+                       (find-files "scripts/desc" "\\.xml$"))
+             #t))
+         (add-after 'patch-docbook-xml 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/test-pool.c"
+               (("	g_test_add_func \\(\"/AppStream/PoolRead\", test_pool_read\\);")
+                "")
+               (("	g_test_add_func \\(\"/AppStream/PoolReadAsync\", test_pool_read_async\\);")
+                "")
+               (("	g_test_add_func \\(\"/AppStream/PoolEmpty\", test_pool_empty\\);")
+                "")
+               (("	g_test_add_func \\(\"/AppStream/Cache\", test_cache\\);")
+                "")
+               (("	g_test_add_func \\(\"/AppStream/Merges\", test_merge_components\\);")
+                ""))
+             #t))
+         (add-after 'disable-failing-tests 'patch-install-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "data/meson.build"
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc")))
+             #t)))))
+    (native-inputs
+     `(("cmake" ,cmake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("docbook-xml" ,docbook-xml)
+       ("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gperf" ,gperf)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("libsoup" ,libsoup)
+       ("libstemmer" ,libstemmer)
+       ("libxml2" ,libxml2)
+       ("libyaml" ,libyaml)
+       ("lmdb" ,lmdb)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Tools and libraries to work with AppStream metadata")
+    (description "AppStream is a cross-distribution effort for enhancing the way
+we interact with the software repositories provided by distributions by
+standardizing software component metadata.  It provides the foundation to build
+software-center applications, by providing metadata necessary for an
+application-centric view on package repositories.  It additionally provides
+specifications for things like an unified software metadata database, screenshot
+services and various other things needed to create user-friendly
+application-centers for distributions.")
+    (home-page "https://www.freedesktop.org/wiki/Distributions/AppStream/")
+    (license license:gpl2+)))
+
 (define-public farstream
   (package
     (name "farstream")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-tdesktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-tdesktop.patch"

From fb2006940bf4c712c30035ed84ddb3212ecbea7c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 13/15] gnu: Add tdesktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (tdesktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 202 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 203 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7d405c2462..747cbb1da7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..52a9469c63
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,202 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public telegram-desktop
+  (package
+    (name "telegram-desktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "-DTDESKTOP_API_ID=2791056"
+        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
+       #:phases
+       (modify-phases %standard-phases
+         ;; Git checkouts are not writable by default,
+         ;; but the package writes to it.
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "Telegram/ThirdParty"
+               ;; Keep SPMediaKeyTap and StatusNotifierItem,
+               ;; as they are not available in Guix.
+               ;; Telegram uses custom fork of LibTgVoIP and rLottie,
+               ;; which are different from the ones available in Guix.
+               (for-each delete-file-recursively
+                         (list
+                          "Catch"
+                          "GSL"
+                          "QR"
+                          "expected"
+                          "fcitx-qt5"
+                          "fcitx5-qt"
+                          "hime"
+                          "hunspell"
+                          "libdbusmenu-qt"
+                          ;; "libtgvoip"
+                          "lz4"
+                          "materialdecoration"
+                          "minizip"
+                          "nimf"
+                          "qt5ct"
+                          "range-v3"
+                          ;; "rlottie"
+                          "xxHash")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'remove-thirdparty 'disable-emojis
+           (lambda _
+             ;; FIXME: Emojis framework of Qt doesn't get loaded,
+             ;; so causes the application to crash upon launch.
+             (substitute* "Telegram/lib_ui/ui/emoji_config.cpp"
+               (("bool _unsupported = false")
+                "bool _unsupported = true")
+               (("		generateCache\\(\\);")
+                "//generateCache();"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("dconf" ,dconf)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license
+     (list
+      ;; ThirdParty
+      license:lgpl2.1+
+      ;; Others
+      license:gpl3+))))
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg_owt.patch"

From 8c87b59a9e6fab78e76791e8b1a6c5bd1d6c9bf9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 12/15] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 49 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..94801020c6 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,53 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (package
+    (name "tg_owt")
+    (version "0.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/desktop-app/tg_owt.git")
+         (commit "fa86fcc")
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0f7s5jwrs6h9sdvwcv9w35ga018dy76i8wzh3nncsriwi217gc2x"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        "-DCMAKE_C_FLAGS=-fPIC"
+        "-DCMAKE_CXX_FLAGS=-fPIC")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("yasm" ,yasm)))
+    (inputs
+     `(("abseil-cpp" ,abseil-cpp)
+       ("alsa" ,alsa-lib)
+       ("ffmpeg" ,ffmpeg)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libsrtp" ,libsrtp)
+       ("libvpx" ,libvpx)
+       ;; ("libyuv" ,libyuv)
+       ("openh264" ,openh264)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("protobuf" ,protobuf)
+       ("pulseaudio" ,pulseaudio)
+       ("rnnoise" ,rnnoise)))
+    (synopsis "WebRTC build for Telegram")
+    (description "TG_OWT is the packaged build of WebRTC, for its use in
+Telegram-Desktop application.")
+    (home-page "https://github.com/desktop-app/tg_owt")
+    (license license:bsd-3)))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From 79656baa13d090eb3cfd8d47fbb6b87a120d96e6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/15] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 773281d291..80275aa138 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,60 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From b90f607185357e01fbb1e529db83acced6b57bd5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/15] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6defefab0c..4295e6cc3d 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From e0b18b18c1d79c35c7b924443a45e25f50cfdd27 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/15] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..6defefab0c 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is the range library for C++14/17/20.  This code was
+the basis of a formal proposal to add range support to the C++ standard library.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Dual-Licensed
+      license:expat
+      license:ncsa))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 2f500e9de89825caaf06505536b138ae1f393e20 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/15] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..773281d291 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is the client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From edcc6f9812bd61e9cb3b98cf545411d619318a46 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/15] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From 28c5984ee45f62a9efc9c4f7edd9f69cbb59a2fb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/15] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 137 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 2ad8b6e2a9..7f7955cf71 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,137 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Korean input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From 9c05941c9dc8d52f02895304942fb76b9c90bea7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/15] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 76 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 75 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..2ad8b6e2a9 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,86 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* '("configure" "Makefile")
+               (("17")
+                "11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From 5d449632f8e2b0c083074ef91fe2761ac7c34fd0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/15] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From 1f8ab5a01ef6858d757bef06c64b10db4acf146f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/15] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 008e96ef20fecc4147c369549ca0a411786f1b41 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/15] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..18d7d4ee34 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages fcitx)
-  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix licenses)
   #: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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From a38babfc295363905b3f0badc623fd4a770a9315 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/15] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index eb28104add..7d405c2462 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------663F26B096D8582DCBDAD5B9--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 14 Jan 2021 10:39:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 14 05:39:03 2021
Received: from localhost ([127.0.0.1]:37282 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l001l-000398-9x
	for submit <at> debbugs.gnu.org; Thu, 14 Jan 2021 05:39:03 -0500
Received: from relay4-d.mail.gandi.net ([217.70.183.196]:36247)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1l001g-00038r-CH
 for 45721 <at> debbugs.gnu.org; Thu, 14 Jan 2021 05:38:52 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 36C76E001A
 for <45721 <at> debbugs.gnu.org>; Thu, 14 Jan 2021 10:38:40 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v8)
Message-ID: <67fbd962-74dc-bcb8-5a97-5a1db6748d11@HIDDEN>
Date: Thu, 14 Jan 2021 05:38:39 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------172B225AC3C51B044AB7195E"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From a38babfc295363905b3f0badc623fd4a770a9315 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Sat, 2 Jan 2021
 18:48:03 -0500 Subject: [PATCH 01/13] gnu: Add GSL. * gnu/packages/cpp.scm
 (gsl): New variable. * gnu/packages/patches/gsl-gtest.patch: New file. *
 gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 +
 gnu/packages/cpp.scm | 28 ++++++++ gnu/pa [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.196 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.196 listed in wl.mailspike.net]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------172B225AC3C51B044AB7195E
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From a38babfc295363905b3f0badc623fd4a770a9315 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/13] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index eb28104add..7d405c2462 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 008e96ef20fecc4147c369549ca0a411786f1b41 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/13] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..18d7d4ee34 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages fcitx)
-  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix licenses)
   #: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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From 1f8ab5a01ef6858d757bef06c64b10db4acf146f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/13] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From 5d449632f8e2b0c083074ef91fe2761ac7c34fd0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/13] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From 9c05941c9dc8d52f02895304942fb76b9c90bea7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/13] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 76 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 75 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..2ad8b6e2a9 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,86 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* '("configure" "Makefile")
+               (("17")
+                "11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From 28c5984ee45f62a9efc9c4f7edd9f69cbb59a2fb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/13] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 137 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 2ad8b6e2a9..7f7955cf71 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,137 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Korean input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From edcc6f9812bd61e9cb3b98cf545411d619318a46 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/13] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 2f500e9de89825caaf06505536b138ae1f393e20 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/13] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..773281d291 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is the client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From e0b18b18c1d79c35c7b924443a45e25f50cfdd27 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/13] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..6defefab0c 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is the range library for C++14/17/20.  This code was
+the basis of a formal proposal to add range support to the C++ standard library.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Dual-Licensed
+      license:expat
+      license:ncsa))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From b90f607185357e01fbb1e529db83acced6b57bd5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/13] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6defefab0c..4295e6cc3d 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From 79656baa13d090eb3cfd8d47fbb6b87a120d96e6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/13] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 773281d291..80275aa138 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,60 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg_owt.patch"

From 8c87b59a9e6fab78e76791e8b1a6c5bd1d6c9bf9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 12/13] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 49 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..94801020c6 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,53 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (package
+    (name "tg_owt")
+    (version "0.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/desktop-app/tg_owt.git")
+         (commit "fa86fcc")
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0f7s5jwrs6h9sdvwcv9w35ga018dy76i8wzh3nncsriwi217gc2x"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        "-DCMAKE_C_FLAGS=-fPIC"
+        "-DCMAKE_CXX_FLAGS=-fPIC")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("yasm" ,yasm)))
+    (inputs
+     `(("abseil-cpp" ,abseil-cpp)
+       ("alsa" ,alsa-lib)
+       ("ffmpeg" ,ffmpeg)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libsrtp" ,libsrtp)
+       ("libvpx" ,libvpx)
+       ;; ("libyuv" ,libyuv)
+       ("openh264" ,openh264)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("protobuf" ,protobuf)
+       ("pulseaudio" ,pulseaudio)
+       ("rnnoise" ,rnnoise)))
+    (synopsis "WebRTC build for Telegram")
+    (description "TG_OWT is the packaged build of WebRTC, for its use in
+Telegram-Desktop application.")
+    (home-page "https://github.com/desktop-app/tg_owt")
+    (license license:bsd-3)))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------172B225AC3C51B044AB7195E
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-tdesktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-tdesktop.patch"

From dde49d6a47321f1a5450641d0ca24ab33c356e32 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 13/13] gnu: Add tdesktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (tdesktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 180 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 181 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 7d405c2462..747cbb1da7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..d497c8051b
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,180 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public tdesktop
+  (package
+    (name "tdesktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "-DTDESKTOP_API_ID=2791056"
+        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "Telegram/ThirdParty"
+               (for-each delete-file-recursively
+                         (list
+                          "Catch"
+                          "GSL"
+                          "QR"
+                          "expected"
+                          "fcitx-qt5"
+                          "fcitx5-qt"
+                          "hime"
+                          "hunspell"
+                          "libdbusmenu-qt"
+                          ;; "libtgvoip"
+                          "lz4"
+                          "materialdecoration"
+                          "minizip"
+                          "nimf"
+                          "qt5ct"
+                          "range-v3"
+                          ;; "rlottie"
+                          "xxHash")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("dconf" ,dconf)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license license:gpl3+)))
-- 
2.30.0


--------------172B225AC3C51B044AB7195E--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 14 Jan 2021 06:42:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 14 01:42:22 2021
Received: from localhost ([127.0.0.1]:37052 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kzwKi-0001US-Pe
	for submit <at> debbugs.gnu.org; Thu, 14 Jan 2021 01:42:22 -0500
Received: from relay2-d.mail.gandi.net ([217.70.183.194]:64375)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1kzwKe-0001U6-LO
 for 45721 <at> debbugs.gnu.org; Thu, 14 Jan 2021 01:42:11 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 3F1FD40006
 for <45721 <at> debbugs.gnu.org>; Thu, 14 Jan 2021 06:42:00 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v7)
Message-ID: <31c2cc13-1ee4-9ec8-77dd-51f4b22bad5c@HIDDEN>
Date: Thu, 14 Jan 2021 01:41:59 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------48C22D0EABE4A3F61F7B3F0F"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Sat, 2 Jan 2021
 18:48:03 -0500 Subject: [PATCH 01/13] gnu: Add GSL. * gnu/packages/cpp.scm
 (gsl): New variable. * gnu/packages/patches/gsl-gtest.patch: New file. *
 gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 +
 gnu/packages/cpp.scm | 28 ++++++++ gnu/pa [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.194 listed in wl.mailspike.net]
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.194 listed in list.dnswl.org]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/13] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1151d4642e..da83bc59d6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 3b1a649be20575a8e13cb8d86992b93fbfed557e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/13] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..18d7d4ee34 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages fcitx)
-  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix licenses)
   #: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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From a1be34b8d76fe0d6855d78cf2997ea0ebea3060c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/13] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-libchewing.patch"

From 6cccdc3561d9bc31e3ad2eb94fecae7b0f8a8cf5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/13] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..621bc7f6e5 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -31,12 +31,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -53,6 +55,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("	test-keyboard ")
+                "")
+               (("	test-regression ")
+                "")
+               (("	test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-hime.patch"

From 2a84104221e632850d3dbb5b829b4fba27b5ab96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/13] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 76 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 75 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 621bc7f6e5..2ad8b6e2a9 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -38,6 +41,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -45,16 +49,86 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* '("configure" "Makefile")
+               (("17")
+                "11"))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-Add-nimf.patch"

From 5031b7c372f6404f2ed99a117c7ee65ab90d6912 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 14 Jan 2021 01:07:16 -0500
Subject: [PATCH 06/13] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 137 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 2ad8b6e2a9..7f7955cf71 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,6 +52,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system cmake)
@@ -62,6 +68,137 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Korean input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From 6dc98c1ceb7139948252cb0e24c1651618b7625a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/13] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 15e44619c1a690972ac245e039d871197cd8eac2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/13] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..773281d291 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is the client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-range-v3.patch"

From b5c043f167246dc79655ad642615b62663709a9c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/13] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..6defefab0c 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is the range library for C++14/17/20.  This code was
+the basis of a formal proposal to add range support to the C++ standard library.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Dual-Licensed
+      license:expat
+      license:ncsa))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-rlottie.patch"

From fe77e5184d37c2bbcaf4e99241ead0ec3f659a2b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/13] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6defefab0c..4295e6cc3d 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-qt5ct.patch"

From 80bae76ef4c05e51698a67eacdf01e0118bc0b17 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/13] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 773281d291..80275aa138 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,60 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%gnu-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build gnu-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-tg_owt.patch"

From c2f24b3ae8d99722797e7c8e447021da0dc5a5ee Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 12/13] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 49 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..94801020c6 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,53 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (package
+    (name "tg_owt")
+    (version "0.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/desktop-app/tg_owt.git")
+         (commit "fa86fcc")
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0f7s5jwrs6h9sdvwcv9w35ga018dy76i8wzh3nncsriwi217gc2x"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        "-DCMAKE_C_FLAGS=-fPIC"
+        "-DCMAKE_CXX_FLAGS=-fPIC")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("yasm" ,yasm)))
+    (inputs
+     `(("abseil-cpp" ,abseil-cpp)
+       ("alsa" ,alsa-lib)
+       ("ffmpeg" ,ffmpeg)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libsrtp" ,libsrtp)
+       ("libvpx" ,libvpx)
+       ;; ("libyuv" ,libyuv)
+       ("openh264" ,openh264)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("protobuf" ,protobuf)
+       ("pulseaudio" ,pulseaudio)
+       ("rnnoise" ,rnnoise)))
+    (synopsis "WebRTC build for Telegram")
+    (description "TG_OWT is the packaged build of WebRTC, for its use in
+Telegram-Desktop application.")
+    (home-page "https://github.com/desktop-app/tg_owt")
+    (license license:bsd-3)))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-tdesktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-tdesktop.patch"

From e20c0648219d1de6b9f414559e08d6f0f328d155 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 13/13] gnu: Add tdesktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (tdesktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 180 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 181 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index da83bc59d6..4c42aeeb63 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..523edac19b
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,180 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public tdesktop
+  (package
+    (name "tdesktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "-DCMAKE_C_FLAGS=-fPIC"
+        "-DCMAKE_CXX_FLAGS=-fPIC"
+        "-DTDESKTOP_API_ID=17349"
+        "-DTDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "Telegram/ThirdParty"
+               (for-each delete-file-recursively
+                         (list
+                          "Catch"
+                          "GSL"
+                          "QR"
+                          "expected"
+                          "fcitx-qt5"
+                          "fcitx5-qt"
+                          "hime"
+                          "hunspell"
+                          "libdbusmenu-qt"
+                          ;; "libtgvoip"
+                          "lz4"
+                          "materialdecoration"
+                          "minizip"
+                          "nimf"
+                          "qt5ct"
+                          "range-v3"
+                          ;; "rlottie"
+                          "xxHash")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license license:gpl3+)))
-- 
2.30.0


--------------48C22D0EABE4A3F61F7B3F0F--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 14 Jan 2021 05:39:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 14 00:39:22 2021
Received: from localhost ([127.0.0.1]:37023 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kzvLm-0007qh-2g
	for submit <at> debbugs.gnu.org; Thu, 14 Jan 2021 00:39:22 -0500
Received: from relay4-d.mail.gandi.net ([217.70.183.196]:51967)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1kzvLg-0007qQ-Ph
 for 45721 <at> debbugs.gnu.org; Thu, 14 Jan 2021 00:39:12 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id CAD18E0004
 for <45721 <at> debbugs.gnu.org>; Thu, 14 Jan 2021 05:39:01 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v6)
Message-ID: <a1905df6-c0c9-7d85-9db2-75596cb0e563@HIDDEN>
Date: Thu, 14 Jan 2021 00:39:00 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------328F9CBCC808427FFEE9B0F0"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Sat, 2 Jan 2021
 18:48:03 -0500 Subject: [PATCH 01/14] gnu: Add GSL. * gnu/packages/cpp.scm
 (gsl): New variable. * gnu/packages/patches/gsl-gtest.patch: New file. *
 gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 +
 gnu/packages/cpp.scm | 28 ++++++++ gnu/pa [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.196 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.196 listed in wl.mailspike.net]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/14] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1151d4642e..da83bc59d6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 3b1a649be20575a8e13cb8d86992b93fbfed557e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/14] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..18d7d4ee34 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages fcitx)
-  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix licenses)
   #: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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From a1be34b8d76fe0d6855d78cf2997ea0ebea3060c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/14] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-hime.patch"

From 47df40611bbd6a8a065913f7b2d058d95a138516 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 15:05:11 -0500
Subject: [PATCH 04/14] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 62 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 61 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..7257a4789e 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -37,6 +40,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -48,11 +52,67 @@
   #:use-module (guix build-system python)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* '("configure" "Makefile")
+               (("17")
+                "11"))
+             #t)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ;; ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-libchewing.patch"

From af6920ba7018f0de2a2a47eb86940edf285ae3f4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 17:16:43 -0500
Subject: [PATCH 05/14] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 7257a4789e..63a087959b 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -34,6 +34,7 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -41,6 +42,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -57,6 +59,65 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                "")
+               (("      test-keyboard ")
+                "")
+               (("      test-regression ")
+                "")
+               (("      test-userphrase ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-hime-Enable-chewing-support.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-hime-Enable-chewing-support.patch"

From 1270803074efc7a0eec9d5d62bea67e4052df6d6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 17:19:21 -0500
Subject: [PATCH 06/14] gnu: hime: Enable chewing support.

* gnu/packages/language.scm (hime) [inputs]: Add libchewing.
---
 gnu/packages/language.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 63a087959b..4567ff2ef4 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -157,7 +157,7 @@ method, one of the most popular choices for Traditional Chinese users.")
     (inputs
      `(("anthy" ,anthy)
        ("appindicator" ,libappindicator)
-       ;; ("chewing" ,libchewing)
+       ("chewing" ,libchewing)
        ("gtk+" ,gtk+)
        ("qtbase" ,qtbase)
        ("xtst" ,libxtst)))
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From 5f25e3852d7b1b428574948c8da3c56d45392d5d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/14] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From f8718bba55e21406415410542142e7cbd98a53de Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/14] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..773281d291 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is the client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-nimf.patch"

From 62d855be68cc821f22eb7d365765643fb3d22d30 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 19:32:18 -0500
Subject: [PATCH 09/14] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 140 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 4567ff2ef4..0e71f38084 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,11 +52,15 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module ((guix licenses)
                 #:select
                 (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
@@ -59,6 +68,137 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:imported-modules
+       (,@%glib-or-gtk-build-system-modules
+        (guix build cmake-build-system)
+        (guix build qt-build-system))
+       #:modules
+       ((guix build glib-or-gtk-build-system)
+        ((guix build qt-build-system)
+         #:prefix qt:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t))
+         (add-after 'install 'qt-wrap
+           (assoc-ref qt:%standard-phases 'qt-wrap)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Korean input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-range-v3.patch"

From d12ff41a265a3549791a177c08e8d15bbaa7ffef Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 10/14] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..6defefab0c 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is the range library for C++14/17/20.  This code was
+the basis of a formal proposal to add range support to the C++ standard library.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Dual-Licensed
+      license:expat
+      license:ncsa))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-rlottie.patch"

From 8ef7e817ded85a5584e33566c61fe0c6958bfa16 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 11/14] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6defefab0c..4295e6cc3d 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-qt5ct.patch"

From 8ef1cf85d9c1f6bd4621a2d5a173a85bf9138464 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 12/14] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 773281d291..cd24f2c319 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,49 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-tg_owt.patch"

From 30d16a3e23d00afaa00e414424ac17bae3646264 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 13/14] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 49 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..94801020c6 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,53 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (package
+    (name "tg_owt")
+    (version "0.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/desktop-app/tg_owt.git")
+         (commit "fa86fcc")
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0f7s5jwrs6h9sdvwcv9w35ga018dy76i8wzh3nncsriwi217gc2x"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        "-DCMAKE_C_FLAGS=-fPIC"
+        "-DCMAKE_CXX_FLAGS=-fPIC")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("yasm" ,yasm)))
+    (inputs
+     `(("abseil-cpp" ,abseil-cpp)
+       ("alsa" ,alsa-lib)
+       ("ffmpeg" ,ffmpeg)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libsrtp" ,libsrtp)
+       ("libvpx" ,libvpx)
+       ;; ("libyuv" ,libyuv)
+       ("openh264" ,openh264)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("protobuf" ,protobuf)
+       ("pulseaudio" ,pulseaudio)
+       ("rnnoise" ,rnnoise)))
+    (synopsis "WebRTC build for Telegram")
+    (description "TG_OWT is the packaged build of WebRTC, for its use in
+Telegram-Desktop application.")
+    (home-page "https://github.com/desktop-app/tg_owt")
+    (license license:bsd-3)))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0
Content-Type: text/x-patch; charset=UTF-8;
 name="0014-gnu-Add-tdesktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0014-gnu-Add-tdesktop.patch"

From f547d6e0ca8e91ce73d39c8e26c535353d4a520e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 14/14] gnu: Add tdesktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (tdesktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 180 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 181 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index da83bc59d6..4c42aeeb63 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..523edac19b
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,180 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public tdesktop
+  (package
+    (name "tdesktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "-DCMAKE_C_FLAGS=-fPIC"
+        "-DCMAKE_CXX_FLAGS=-fPIC"
+        "-DTDESKTOP_API_ID=17349"
+        "-DTDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "Telegram/ThirdParty"
+               (for-each delete-file-recursively
+                         (list
+                          "Catch"
+                          "GSL"
+                          "QR"
+                          "expected"
+                          "fcitx-qt5"
+                          "fcitx5-qt"
+                          "hime"
+                          "hunspell"
+                          "libdbusmenu-qt"
+                          ;; "libtgvoip"
+                          "lz4"
+                          "materialdecoration"
+                          "minizip"
+                          "nimf"
+                          "qt5ct"
+                          "range-v3"
+                          ;; "rlottie"
+                          "xxHash")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license license:gpl3+)))
-- 
2.30.0


--------------328F9CBCC808427FFEE9B0F0--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 13 Jan 2021 22:13:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 13 17:13:55 2021
Received: from localhost ([127.0.0.1]:36723 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kzoOf-0000ch-Nx
	for submit <at> debbugs.gnu.org; Wed, 13 Jan 2021 17:13:55 -0500
Received: from relay9-d.mail.gandi.net ([217.70.183.199]:44857)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1kzoOa-0000cS-U3
 for 45721 <at> debbugs.gnu.org; Wed, 13 Jan 2021 17:13:44 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 1735AFF802
 for <45721 <at> debbugs.gnu.org>; Wed, 13 Jan 2021 22:13:33 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v5)
Message-ID: <571cc77d-fff5-2178-0bc0-f0164601aec8@HIDDEN>
Date: Wed, 13 Jan 2021 17:13:31 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------447DB94431ECD7149CDC6221"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Sat, 2 Jan 2021
 18:48:03 -0500 Subject: [PATCH 01/14] gnu: Add GSL. * gnu/packages/cpp.scm
 (gsl): New variable. * gnu/packages/patches/gsl-gtest.patch: New file. *
 gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 +
 gnu/packages/cpp.scm | 28 ++++++++ gnu/pa [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.199 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.199 listed in wl.mailspike.net]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------447DB94431ECD7149CDC6221
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/14] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1151d4642e..da83bc59d6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 3b1a649be20575a8e13cb8d86992b93fbfed557e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/14] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..18d7d4ee34 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages fcitx)
-  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix licenses)
   #: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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From a1be34b8d76fe0d6855d78cf2997ea0ebea3060c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/14] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-hime.patch"

From 47df40611bbd6a8a065913f7b2d058d95a138516 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 15:05:11 -0500
Subject: [PATCH 04/14] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 62 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 61 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..7257a4789e 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -37,6 +40,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -48,11 +52,67 @@
   #:use-module (guix build-system python)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* '("configure" "Makefile")
+               (("17")
+                "11"))
+             #t)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ;; ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-libchewing.patch"

From c48093f2c55d3036af6de0816bb9f6cbcb211f60 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 17:16:43 -0500
Subject: [PATCH 05/14] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 55 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 7257a4789e..1fefbbf560 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -34,6 +34,7 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -41,6 +42,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -57,6 +59,59 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-hime-Enable-chewing-support.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-hime-Enable-chewing-support.patch"

From 8c8cda3a33177fe2e88bc73f6d1f56a8c560e514 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 17:19:21 -0500
Subject: [PATCH 06/14] gnu: hime: Enable chewing support.

* gnu/packages/language.scm (hime) [inputs]: Add libchewing.
---
 gnu/packages/language.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 1fefbbf560..e50e157370 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -151,7 +151,7 @@ method, one of the most popular choices for Traditional Chinese users.")
     (inputs
      `(("anthy" ,anthy)
        ("appindicator" ,libappindicator)
-       ;; ("chewing" ,libchewing)
+       ("chewing" ,libchewing)
        ("gtk+" ,gtk+)
        ("qtbase" ,qtbase)
        ("xtst" ,libxtst)))
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From b759a5480592278fcb9f112229a5eaca4ef56248 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/14] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 6b348e064818062e9284e7ddcfcc0d9fbf8a83d5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/14] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..773281d291 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is the client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-nimf.patch"

From a43b015b857e38e2d79ae6a5aab20d9d0ea1fd6d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 19:32:18 -0500
Subject: [PATCH 09/14] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 127 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 127 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index e50e157370..1d1fe94690 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,8 +52,10 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
@@ -59,6 +66,126 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Korean input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-range-v3.patch"

From 9a22566adde1ca4fd6be81b5324479f3d4e51f85 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 10/14] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..6defefab0c 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is the range library for C++14/17/20.  This code was
+the basis of a formal proposal to add range support to the C++ standard library.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Dual-Licensed
+      license:expat
+      license:ncsa))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-rlottie.patch"

From ed415d768e68d78f92717159899c071ad0173586 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 11/14] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6defefab0c..4295e6cc3d 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-qt5ct.patch"

From ba1b08dd2128ac9a802039bbcfbeee72849f1bfc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 12/14] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 773281d291..cd24f2c319 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,49 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0013-gnu-Add-tg_owt.patch"

From 0dd76bc7253a9e2f921f2cb4916bd1fd930a2f3f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 13/14] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 49 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..94801020c6 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,53 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (package
+    (name "tg_owt")
+    (version "0.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/desktop-app/tg_owt.git")
+         (commit "fa86fcc")
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0f7s5jwrs6h9sdvwcv9w35ga018dy76i8wzh3nncsriwi217gc2x"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        "-DCMAKE_C_FLAGS=-fPIC"
+        "-DCMAKE_CXX_FLAGS=-fPIC")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("yasm" ,yasm)))
+    (inputs
+     `(("abseil-cpp" ,abseil-cpp)
+       ("alsa" ,alsa-lib)
+       ("ffmpeg" ,ffmpeg)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libsrtp" ,libsrtp)
+       ("libvpx" ,libvpx)
+       ;; ("libyuv" ,libyuv)
+       ("openh264" ,openh264)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("protobuf" ,protobuf)
+       ("pulseaudio" ,pulseaudio)
+       ("rnnoise" ,rnnoise)))
+    (synopsis "WebRTC build for Telegram")
+    (description "TG_OWT is the packaged build of WebRTC, for its use in
+Telegram-Desktop application.")
+    (home-page "https://github.com/desktop-app/tg_owt")
+    (license license:bsd-3)))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------447DB94431ECD7149CDC6221
Content-Type: text/x-patch; charset=UTF-8;
 name="0014-gnu-Add-tdesktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0014-gnu-Add-tdesktop.patch"

From 49046c07a41fbd934238c6874e1613197e888199 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 14/14] gnu: Add tdesktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (tdesktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 180 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 181 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index da83bc59d6..4c42aeeb63 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..523edac19b
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,180 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system qt))
+
+(define-public tdesktop
+  (package
+    (name "tdesktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))
+         (recursive? #t)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1qw9vaa482dbz97mzwjzmy3fw72s5bk3hyacyz98ms652xgld6js"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:imported-modules
+       (,@%qt-build-system-modules
+        (guix build glib-or-gtk-build-system))
+       #:modules
+       ((guix build qt-build-system)
+        ((guix build glib-or-gtk-build-system)
+         #:prefix glib-or-gtk:)
+        (guix build utils))
+       #:configure-flags
+       (list
+        "-DCMAKE_C_FLAGS=-fPIC"
+        "-DCMAKE_CXX_FLAGS=-fPIC"
+        "-DTDESKTOP_API_ID=17349"
+        "-DTDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'remove-thirdparty
+           (lambda _
+             (with-directory-excursion "Telegram/ThirdParty"
+               (for-each delete-file-recursively
+                         (list
+                          "Catch"
+                          "GSL"
+                          "QR"
+                          "expected"
+                          "fcitx-qt5"
+                          "fcitx5-qt"
+                          "hime"
+                          "hunspell"
+                          "libdbusmenu-qt"
+                          ;; "libtgvoip"
+                          "lz4"
+                          "materialdecoration"
+                          "minizip"
+                          "nimf"
+                          "qt5ct"
+                          "range-v3"
+                          ;; "rlottie"
+                          "xxHash")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t))
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ;; ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ;; ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license license:gpl3+)))
-- 
2.30.0


--------------447DB94431ECD7149CDC6221--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 12 Jan 2021 03:27:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 11 22:27:49 2021
Received: from localhost ([127.0.0.1]:58858 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kzALJ-0000wI-7D
	for submit <at> debbugs.gnu.org; Mon, 11 Jan 2021 22:27:49 -0500
Received: from relay5-d.mail.gandi.net ([217.70.183.197]:34817)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1kzALF-0000w1-2g
 for 45721 <at> debbugs.gnu.org; Mon, 11 Jan 2021 22:27:36 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id AF2601C0007
 for <45721 <at> debbugs.gnu.org>; Tue, 12 Jan 2021 03:27:25 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v4)
Message-ID: <43342419-7b33-f300-b20e-e5a7d54a61bb@HIDDEN>
Date: Mon, 11 Jan 2021 22:27:23 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------C035CFF42EE385784849E261"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Sat, 2 Jan 2021
 18:48:03 -0500 Subject: [PATCH 01/21] gnu: Add GSL. * gnu/packages/cpp.scm
 (gsl): New variable. * gnu/packages/patches/gsl-gtest.patch: New file. *
 gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 +
 gnu/packages/cpp.scm | 28 ++++++++ gnu/pa [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.197 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.197 listed in wl.mailspike.net]
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------C035CFF42EE385784849E261
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/21] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gtest.patch | 96 ++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+)
 create mode 100644 gnu/packages/patches/gsl-gtest.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1151d4642e..da83bc59d6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1124,6 +1124,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/grub-setup-root.patch			\
   %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
+  %D%/packages/patches/gsl-gtest.patch                                \
   %D%/packages/patches/gspell-dash-test.patch			\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-skip-oom-test.patch            \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..6a22cf5749 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -63,6 +63,34 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public gsl
+  (package
+    (name "gsl")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/microsoft/GSL.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (patches
+        (search-patches "gsl-gtest.patch"))
+       (sha256
+        (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Guidelines Support Library")
+    (description "GSL contains functions and types that are suggested for use by
+the C++ Core Guidelines maintained by the Standard C++ Foundation.")
+    (home-page "https://github.com/microsoft/GSL/")
+    (license license:expat)))
+
 (define-public libzen
   (package
     (name "libzen")
diff --git a/gnu/packages/patches/gsl-gtest.patch b/gnu/packages/patches/gsl-gtest.patch
new file mode 100644
index 0000000000..2def650292
--- /dev/null
+++ b/gnu/packages/patches/gsl-gtest.patch
@@ -0,0 +1,96 @@
+From f5cf01083baf7e8dc8318db3648bc6098dc32d67 Mon Sep 17 00:00:00 2001
+From: Nicholas Guriev <guriev-ns@HIDDEN>
+Date: Sat, 18 Apr 2020 13:30:17 +0300
+Subject: [PATCH] Search for GoogleTest via pkg-config first
+
+---
+ tests/CMakeLists.txt | 55 ++++++++++++++++++++++++--------------------
+ 1 file changed, 30 insertions(+), 25 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 02193197..53d475c2 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,36 +1,41 @@
+ cmake_minimum_required(VERSION 3.0.2)
+ 
+ project(GSLTests CXX)
++include(FindPkgConfig)
+ 
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+-configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++pkg_search_module(GTestMain gtest_main)
++if (NOT GTestMain_FOUND)
++    configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-execute_process(
+-    COMMAND ${CMAKE_COMMAND} --build .
+-    RESULT_VARIABLE result
+-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
+-)
+-if(result)
+-    message(FATAL_ERROR "CMake step for googletest failed: ${result}")
+-endif()
++    execute_process(
++        COMMAND ${CMAKE_COMMAND} --build .
++        RESULT_VARIABLE result
++        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download
++    )
++    if(result)
++        message(FATAL_ERROR "CMake step for googletest failed: ${result}")
++    endif()
+ 
+-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
++    set(GTestMain_LIBRARIES gtest_main)
+ 
+-add_subdirectory(
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+-    ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
+-    EXCLUDE_FROM_ALL
+-)
++    add_subdirectory(
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
++        ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
++        EXCLUDE_FROM_ALL
++    )
++endif()
+ 
+ if (MSVC AND (GSL_CXX_STANDARD EQUAL 17))
+     set(GSL_CPLUSPLUS_OPT -Zc:__cplusplus -permissive-)
+@@ -149,7 +154,7 @@ function(add_gsl_test name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+         ${name}
+@@ -254,7 +259,7 @@ function(add_gsl_test_noexcept name)
+     target_link_libraries(${name}
+         GSL
+         gsl_tests_config_noexcept
+-        gtest_main
++        ${GTestMain_LIBRARIES}
+     )
+     add_test(
+       ${name}
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-gnu-Add-fcitx-qt5.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-gnu-Add-fcitx-qt5.patch"

From 3b1a649be20575a8e13cb8d86992b93fbfed557e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/21] gnu: Add fcitx-qt5.

* gnu/packages/fcitx.scm (fcitx-qt5): New variable.
---
 gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm
index d52edf1750..18d7d4ee34 100644
--- a/gnu/packages/fcitx.scm
+++ b/gnu/packages/fcitx.scm
@@ -19,11 +19,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages fcitx)
-  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix licenses)
   #: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)
@@ -33,14 +35,69 @@
   #: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.5")
+    (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 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83"))))
+    (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 "Fcitx support for Qt5")
+    (home-page "https://github.com/fcitx/fcitx-qt5/")
+    (license
+     (list
+      ;; Plugin
+      bsd-3
+      ;; Others
+      gpl2+))))
 
 (define-public presage
   (package
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename*0="0003-gnu-libappindicator-Propagate-some-inputs-as-per-.pc.pa";
 filename*1="tch"

From a1be34b8d76fe0d6855d78cf2997ea0ebea3060c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/21] gnu: libappindicator: Propagate some inputs as per .pc
 file.

* gnu/packages/freedesktop.scm (libappindicator) [inputs]: Move gtk+
and libdbusmenu to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ef35349ec2..6dd37005ae 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2021,14 +2021,15 @@ useful with system integration.")
        ("xvfb" ,xorg-server-for-tests)))
     (inputs
      `(("dbus-glib" ,dbus-glib)
-       ("gtk+" ,gtk+)
-       ("libdbusmenu" ,libdbusmenu)
        ("libindicator" ,libindicator)
        ("python@2" ,python-2)
        ("python2-pygtk" ,python2-pygtk)
        ("python2-pygobject-2" ,python2-pygobject-2)
        ;; ("mono" ,mono) ; requires non-packaged gapi
        ("vala" ,vala)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("libdbusmenu" ,libdbusmenu)))
     (arguments
      ;; FIXME: do not hardcode gtk version
      `(#:configure-flags '("--with-gtk=3")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0004-gnu-Add-hime.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0004-gnu-Add-hime.patch"

From 47df40611bbd6a8a065913f7b2d058d95a138516 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 15:05:11 -0500
Subject: [PATCH 04/21] gnu: Add hime.

* gnu/packages/language.scm (hime): New variable.
---
 gnu/packages/language.scm | 62 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 61 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 3f17465039..7257a4789e 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -23,8 +23,11 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -37,6 +40,7 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -48,11 +52,67 @@
   #:use-module (guix build-system python)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public hime
+  (package
+    (name "hime")
+    (version "0.9.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hime-ime/hime.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        ;; FIXME
+        ;; error: unknown type name ‘GtkStatusIcon’
+        "--disable-system-tray")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-std
+           (lambda _
+             (substitute* '("configure" "Makefile")
+               (("17")
+                "11"))
+             #t)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("whereis" ,util-linux)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ;; ("chewing" ,libchewing)
+       ("gtk+" ,gtk+)
+       ("qtbase" ,qtbase)
+       ("xtst" ,libxtst)))
+    (synopsis "HIME Input Method Editor")
+    (description "Hime is an extremely easy-to-use input method framework.  It
+is lightweight, stable, powerful and supports many commonly used input methods,
+including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
+Random Cage Fighting Birds, Cool Music etc.")
+    (home-page "http://hime-ime.github.io/")
+    (license
+     (list
+      gpl2+
+      lgpl2.1+
+      ;; Documentation
+      fdl1.2+))))
+
 (define-public liblouis
   (package
     (name "liblouis")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0005-gnu-Add-libchewing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0005-gnu-Add-libchewing.patch"

From c48093f2c55d3036af6de0816bb9f6cbcb211f60 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 17:16:43 -0500
Subject: [PATCH 05/21] gnu: Add libchewing.

* gnu/packages/language.scm (libchewing): New variable.
---
 gnu/packages/language.scm | 55 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 7257a4789e..1fefbbf560 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -34,6 +34,7 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -41,6 +42,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
@@ -57,6 +59,59 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public libchewing
+  (package
+    (name "libchewing")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/chewing/libchewing.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/Makefile.am"
+               (("	test-bopomofo ")
+                "")
+               (("	test-config ")
+                "")
+               (("	test-reset ")
+                "")
+               (("	test-symbol ")
+                "")
+               (("	test-keyboardless ")
+                "")
+               (("	test-special-symbol ")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("texinfo" ,texinfo)))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)))
+    (synopsis "Chinese phonetic input method")
+    (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
+method, one of the most popular choices for Traditional Chinese users.")
+    (home-page "http://chewing.im/")
+    (license lgpl2.1+)))
+
 (define-public hime
   (package
     (name "hime")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0006-gnu-hime-Enable-chewing-support.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0006-gnu-hime-Enable-chewing-support.patch"

From 8c8cda3a33177fe2e88bc73f6d1f56a8c560e514 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 17:19:21 -0500
Subject: [PATCH 06/21] gnu: hime: Enable chewing support.

* gnu/packages/language.scm (hime) [inputs]: Add libchewing.
---
 gnu/packages/language.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 1fefbbf560..e50e157370 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -151,7 +151,7 @@ method, one of the most popular choices for Traditional Chinese users.")
     (inputs
      `(("anthy" ,anthy)
        ("appindicator" ,libappindicator)
-       ;; ("chewing" ,libchewing)
+       ("chewing" ,libchewing)
        ("gtk+" ,gtk+)
        ("qtbase" ,qtbase)
        ("xtst" ,libxtst)))
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0007-gnu-Add-cmake-shared.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0007-gnu-Add-cmake-shared.patch"

From b759a5480592278fcb9f112229a5eaca4ef56248 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/21] gnu: Add cmake-shared.

* gnu/packages/cmake.scm (cmake-shared): New variable.
---
 gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 56b32792fe..ab74650066 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -31,6 +31,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix deprecation)
   #:use-module (guix build-system gnu)
@@ -43,6 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages file)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages serialization)
@@ -52,6 +54,33 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define-public cmake-shared
+  (package
+    (name "cmake-shared")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/cmake-shared.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1srd3jmlalf0szgyp88ymhbnwds4qiywmf8lq1pif9g8irjjhdry"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; No target
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (synopsis "Shared CMake functions and macros")
+    (description "CMake-Shared are shared functions and macros for projects
+using the CMake build system.")
+    (home-page "https://github.com/lirios/cmake-shared/")
+    (license license:bsd-3)))
+
 ;;; Build phases shared between 'cmake-bootstrap' and the later variants
 ;;; that use cmake-build-system.
 (define %common-build-phases
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0008-gnu-Add-materialdecoration.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0008-gnu-Add-materialdecoration.patch"

From 6b348e064818062e9284e7ddcfcc0d9fbf8a83d5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/21] gnu: Add materialdecoration.

* gnu/packages/qt.scm (materialdecoration): New variable.
---
 gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..773281d291 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -72,6 +73,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -103,6 +105,36 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public materialdecoration
+  (package
+    (name "materialdecoration")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lirios/materialdecoration.git")
+         (commit "2079487116c6c794af3a15452342a69293039b46")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1pczmxbmnsgj9s1g6ap55qq2q4ccibcnhsw9b6cl5rzgc48izy06"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("cmake-shared" ,cmake-shared)
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)))
+    (synopsis "Material Decoration for Qt")
+    (description "MaterialDecoration is the client-side decoration for Qt
+applications on Wayland.")
+    (home-page "https://github.com/lirios/materialdecoration")
+    (license license:lgpl3+)))
+
 (define-public grantlee
   (package
     (name "grantlee")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0009-gnu-Add-nimf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0009-gnu-Add-nimf.patch"

From a43b015b857e38e2d79ae6a5aab20d9d0ea1fd6d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 19:32:18 -0500
Subject: [PATCH 09/21] gnu: Add nimf.

* gnu/packages/language.scm (nimf): New variable.
---
 gnu/packages/language.scm | 127 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 127 insertions(+)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index e50e157370..1d1fe94690 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -26,10 +26,15 @@
   #:use-module (gnu packages anthy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emacs)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -47,8 +52,10 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
@@ -59,6 +66,126 @@
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public nimf
+  (package
+    (name "nimf")
+    (version "1.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/hamonikr/nimf.git")
+         (commit
+          (string-append "nimf-" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--with-im-config-data"
+        "--with-imsettings-data"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-flags
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("-Werror")
+                "-Wno-error"))
+             #t))
+         (add-after 'patch-flags 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "nimf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'patch-docbook-xml 'patch-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/share/anthy/anthy.dic")
+                (string-append (assoc-ref inputs "anthy")
+                               "/share/anthy/anthy.dic")))
+             (substitute* "configure.ac"
+               (("/usr/bin:\\$GTK3_LIBDIR/libgtk-3-0")
+                (string-append (assoc-ref inputs "gtk+:bin")
+                               "/bin:$GTK3_LIBDIR/libgtk-3-0"))
+               (("/usr/bin:\\$GTK2_LIBDIR/libgtk2.0-0")
+                (string-append (assoc-ref inputs "gtk+-2:bin")
+                               "/bin:$GTK2_LIBDIR/libgtk2.0-0")))
+             (substitute* "modules/clients/gtk/Makefile.am"
+               (("\\$\\(GTK3_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib"))
+               (("\\$\\(GTK2_LIBDIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt4/Makefile.am"
+               (("\\$\\(QT4_LIB_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib")))
+             (substitute* "modules/clients/qt5/Makefile.am"
+               (("\\$\\(QT5_IM_MODULE_DIR\\)")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/qt5/plugins/inputmethods")))
+             (substitute* '("bin/nimf-settings/Makefile.am"
+                            "data/apparmor-abstractions/Makefile.am"
+                            "data/Makefile.am" "data/im-config/Makefile.am"
+                            "data/imsettings/Makefile.am")
+               (("/etc")
+                (string-append (assoc-ref outputs "out")
+                               "/etc"))
+               (("/usr/share")
+                (string-append (assoc-ref outputs "out")
+                               "/share")))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+-2:bin" ,gtk+-2 "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (inputs
+     `(("anthy" ,anthy)
+       ("appindicator" ,libappindicator)
+       ("gtk+-2" ,gtk+-2)
+       ("gtk+" ,gtk+)
+       ("hangul" ,libhangul)
+       ("m17n-db" ,m17n-db)
+       ("m17n-lib" ,m17n-lib)
+       ("qt-4" ,qt-4)
+       ("qtbase" ,qtbase)
+       ("rime" ,librime)
+       ("rsvg" ,librsvg)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xklavier" ,libxklavier)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Korean input method framework")
+    (description "Nimf is a lightweight, fast and extensible input method
+framework.")
+    (home-page "https://github.com/hamonikr/nimf/")
+    (license lgpl3+)))
+
 (define-public libchewing
   (package
     (name "libchewing")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0010-gnu-Add-range-v3.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0010-gnu-Add-range-v3.patch"

From 9a22566adde1ca4fd6be81b5324479f3d4e51f85 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 10/21] gnu: Add range-v3.

* gnu/packages/cpp.scm (range-v3): New variable.
---
 gnu/packages/cpp.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6a22cf5749..6defefab0c 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
@@ -63,6 +64,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public range-v3
+  (package
+    (name "range-v3")
+    (version "0.11.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ericniebler/range-v3.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("perl" ,perl)))
+    (inputs
+     `(("boost" ,boost)))
+    (synopsis "Range library for C++14/17/20")
+    (description "Range-v3 is the range library for C++14/17/20.  This code was
+the basis of a formal proposal to add range support to the C++ standard library.")
+    (home-page "https://github.com/ericniebler/range-v3/")
+    (license
+     (list
+      ;; Dual-Licensed
+      license:expat
+      license:ncsa))))
+
 (define-public gsl
   (package
     (name "gsl")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0011-gnu-Add-rlottie.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0011-gnu-Add-rlottie.patch"

From ed415d768e68d78f92717159899c071ad0173586 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 11/21] gnu: Add rlottie.

* gnu/packages/cpp.scm (rlottie): New variable.
---
 gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6defefab0c..4295e6cc3d 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -39,12 +39,14 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -64,6 +66,37 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public rlottie
+  (package
+    (name "rlottie")
+    (version "0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/Samsung/rlottie.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dlog=true"
+        "-Dtest=true")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Lottie Animation Library")
+    (description "Rlottie is a platform independent standalone c++ library for
+rendering vector based animations and art in realtime.")
+    (home-page "https://github.com/Samsung/rlottie/")
+    (license license:expat)))
+
 (define-public range-v3
   (package
     (name "range-v3")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0012-gnu-Add-qt5ct.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0012-gnu-Add-qt5ct.patch"

From ba1b08dd2128ac9a802039bbcfbeee72849f1bfc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 12/21] gnu: Add qt5ct.

* gnu/packages/qt.scm (qt5ct): New variable.
---
 gnu/packages/qt.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 773281d291..cd24f2c319 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -105,6 +105,49 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public qt5ct
+  (package
+    (name "qt5ct")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
+       (sha256
+        (base32 "1lnx4wqk87lbr6lqc64w5g5ppjjv75kq2r0q0bz9gfpryzdw8xxg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qt5ct.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools")
+                               "/bin/lrelease")))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (invoke "qmake"
+                       (string-append "PREFIX=" out)
+                       (string-append "BINDIR=" out "/bin")
+                       (string-append "DATADIR=" out "/share")
+                       (string-append "PLUGINDIR=" out "/lib/qt5/plugins")))
+             #t)))))
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Qt5 Configuration Tool")
+    (description "Qt5CT is a program that allows users to configure Qt5 settings
+(theme, font, icons, etc.) under DE/WM without Qt integration.")
+    (home-page "https://qt5ct.sourceforge.io/")
+    (license license:bsd-2)))
+
 (define-public materialdecoration
   (package
     (name "materialdecoration")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0013-gnu-libtgvoip-Add-support-for-pkg-config.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0013-gnu-libtgvoip-Add-support-for-pkg-config.patch"

From bf946ce55d62753e1e2e6c7716ef3c959d18425a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Wed, 6 Jan 2021 04:39:04 -0500
Subject: [PATCH 13/21] gnu: libtgvoip: Add support for pkg-config.

* gnu/packages/telephony.scm (libtgvoip) [patches]: Add libtgvoip-pkgconfig.patch.
[native-inputs]: Add pkg-config.
* gnu/packages/patches/libtgvoip-pkgconfig.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 .../patches/libtgvoip-pkgconfig.patch         | 61 +++++++++++++++++++
 gnu/packages/telephony.scm                    |  5 +-
 3 files changed, 66 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/libtgvoip-pkgconfig.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index da83bc59d6..e4bd7ab718 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1291,6 +1291,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libtar-CVE-2013-4420.patch 		\
   %D%/packages/patches/libtgvoip-disable-sse2.patch 		\
   %D%/packages/patches/libtgvoip-disable-webrtc.patch 		\
+  %D%/packages/patches/libtgvoip-pkgconfig.patch             \
   %D%/packages/patches/libtheora-config-guess.patch		\
   %D%/packages/patches/libtirpc-hurd.patch			\
   %D%/packages/patches/libtirpc-hurd-client.patch		\
diff --git a/gnu/packages/patches/libtgvoip-pkgconfig.patch b/gnu/packages/patches/libtgvoip-pkgconfig.patch
new file mode 100644
index 0000000000..23794e8d77
--- /dev/null
+++ b/gnu/packages/patches/libtgvoip-pkgconfig.patch
@@ -0,0 +1,61 @@
+From 4ce5e22ed2dc24e9211c4874c1dd6b05faad2a87 Mon Sep 17 00:00:00 2001
+From: Ilya Fedin <fedin-ilja2010@HIDDEN>
+Date: Sun, 5 Jan 2020 12:25:31 +0400
+Subject: [PATCH] Add support for pkg-config
+
+---
+ Makefile.am  |  2 ++
+ configure.ac |  4 +++-
+ tgvoip.pc.in | 10 ++++++++++
+ 3 files changed, 15 insertions(+), 1 deletion(-)
+ create mode 100644 tgvoip.pc.in
+
+diff --git a/Makefile.am b/Makefile.am
+index 03c8866..a9c9715 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -755,6 +755,8 @@ libtgvoip_la_SOURCES = $(SRC) $(TGVOIP_HDRS)
+ tgvoipincludedir = $(includedir)/tgvoip
+ nobase_tgvoipinclude_HEADERS = $(TGVOIP_HDRS)
+ 
++pkgconfig_DATA = tgvoip.pc
++
+ CXXFLAGS += -std=gnu++0x $(CFLAGS)
+ if TARGET_OS_OSX
+ OBJCFLAGS = $(CFLAGS)
+diff --git a/configure.ac b/configure.ac
+index 222f541..e2df927 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -9,6 +9,8 @@ AM_INIT_AUTOMAKE([subdir-objects])
+ AM_SILENT_RULES([yes])
+ LT_INIT
+ 
++PKG_INSTALLDIR
++
+ # Checks for programs.
+ AC_PROG_CXX
+ AC_PROG_CC
+@@ -109,5 +111,5 @@ AC_FUNC_MALLOC
+ AC_FUNC_REALLOC
+ AC_CHECK_FUNCS([clock_gettime floor gettimeofday inet_ntoa memmove memset select socket sqrt strcasecmp strchr strerror strncasecmp strstr strtol strtoul uname])
+ 
+-AC_CONFIG_FILES([Makefile])
++AC_CONFIG_FILES([Makefile tgvoip.pc])
+ AC_OUTPUT
+diff --git a/tgvoip.pc.in b/tgvoip.pc.in
+new file mode 100644
+index 0000000..1ca7758
+--- /dev/null
++++ b/tgvoip.pc.in
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: tgvoip
++Description: VoIP library for Telegram clients
++Version: 2.4.4
++Libs: -L${libdir} -ltgvoip
++Cflags: -I${includedir}/tgvoip
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 48e30abfc3..05538762c3 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -879,11 +879,14 @@ Initiation Protocol (SIP) and a multimedia framework.")
        ;; The patch for WebRTC /must/ precede the patch for SSE2.
        (patches
         (search-patches "libtgvoip-disable-webrtc.patch"
-                        "libtgvoip-disable-sse2.patch"))
+                        "libtgvoip-disable-sse2.patch"
+                        "libtgvoip-pkgconfig.patch"))
        (sha256
         (base32
          "122kn3jx6v0kkldlzlpzvlwqxgp6pmzxsjhrhcxw12bx9c08sar5"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (inputs
      `(("alsa-lib" ,alsa-lib)
        ("libopusenc" ,libopusenc)
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0014-gnu-libtgvoip-Remove-obsolete-patches.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0014-gnu-libtgvoip-Remove-obsolete-patches.patch"

From 013b78ed97e7d5bd18382dd344529ddc069b5638 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Wed, 6 Jan 2021 04:53:40 -0500
Subject: [PATCH 14/21] gnu: libtgvoip: Remove obsolete patches.

* gnu/packages/telephony.scm (libtgvoip) [patches]: Remove
libtgvoip-disable-webrtc and "libtgvoip-disable-sse2.
* gnu/packages/patches/libtgvoip-disable-webrtc.patch: Remove file.
* gnu/packages/patches/libtgvoip-disable-sse2.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk                                  |  2 -
 .../patches/libtgvoip-disable-sse2.patch      | 51 -------------------
 .../patches/libtgvoip-disable-webrtc.patch    | 47 -----------------
 gnu/packages/telephony.scm                    |  7 +--
 4 files changed, 1 insertion(+), 106 deletions(-)
 delete mode 100644 gnu/packages/patches/libtgvoip-disable-sse2.patch
 delete mode 100644 gnu/packages/patches/libtgvoip-disable-webrtc.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e4bd7ab718..00f07986f7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1289,8 +1289,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch	\
   %D%/packages/patches/libquicktime-ffmpeg.patch 		\
   %D%/packages/patches/libtar-CVE-2013-4420.patch 		\
-  %D%/packages/patches/libtgvoip-disable-sse2.patch 		\
-  %D%/packages/patches/libtgvoip-disable-webrtc.patch 		\
   %D%/packages/patches/libtgvoip-pkgconfig.patch             \
   %D%/packages/patches/libtheora-config-guess.patch		\
   %D%/packages/patches/libtirpc-hurd.patch			\
diff --git a/gnu/packages/patches/libtgvoip-disable-sse2.patch b/gnu/packages/patches/libtgvoip-disable-sse2.patch
deleted file mode 100644
index 0e4faeab26..0000000000
--- a/gnu/packages/patches/libtgvoip-disable-sse2.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Copied from Debian.
-
-Description: Disable SSE2 code on i386
- This patch is not complete. A high-graded solution may use automatic switching
- between SSE2 and C++ implementations based on the results of runtime checks.
- The webrtc code already provides for one of them inside its GetCPUInfo function.
-Bug-Debian: https://bugs.debian.org/892823
-Author: Nicholas Guriev <guriev-ns@HIDDEN>
-Last-Update: Tue, 29 Jan 2019 23:26:38 +0300
-
---- a/libtgvoip.gyp
-+++ b/libtgvoip.gyp
-@@ -871,11 +871,7 @@
-                 'WEBRTC_POSIX',
-               ],
-               'conditions': [
--                [ '"<!(uname -m)" == "i686"', {
--                  'cflags_cc': [
--                    '-msse2',
--                  ],
--                }], ['"<!(uname -s)" == "Linux"', {
-+                [ '"<!(uname -s)" == "Linux"', {
-                   'defines': [
-                     'WEBRTC_LINUX',
-                   ],
---- a/webrtc_dsp/rtc_base/system/arch.h
-+++ b/webrtc_dsp/rtc_base/system/arch.h
-@@ -28,7 +28,10 @@
- #define WEBRTC_ARCH_64_BITS
- #define WEBRTC_ARCH_LITTLE_ENDIAN
- #elif defined(_M_IX86) || defined(__i386__)
-+#if defined(__SSE2__)
-+// This macro is mostly used to detect SSE2 extension.
- #define WEBRTC_ARCH_X86_FAMILY
-+#endif
- #define WEBRTC_ARCH_X86
- #define WEBRTC_ARCH_32_BITS
- #define WEBRTC_ARCH_LITTLE_ENDIAN
---- a/webrtc_dsp/typedefs.h
-+++ b/webrtc_dsp/typedefs.h
-@@ -28,7 +28,10 @@
- #define WEBRTC_ARCH_64_BITS
- #define WEBRTC_ARCH_LITTLE_ENDIAN
- #elif defined(_M_IX86) || defined(__i386__)
-+#if defined(__SSE2__)
-+// This macro is mostly used to detect SSE2 extension.
- #define WEBRTC_ARCH_X86_FAMILY
-+#endif
- #define WEBRTC_ARCH_X86
- #define WEBRTC_ARCH_32_BITS
- #define WEBRTC_ARCH_LITTLE_ENDIAN
diff --git a/gnu/packages/patches/libtgvoip-disable-webrtc.patch b/gnu/packages/patches/libtgvoip-disable-webrtc.patch
deleted file mode 100644
index 0ca532301c..0000000000
--- a/gnu/packages/patches/libtgvoip-disable-webrtc.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Copied from Debian.
-
-Description: Fix build of  WebRTC on non-Linux systems
- * Define the WEBRTC_LINUX macro only on Linux, and not on GNU/Hurd or FreeBSD.
- * Fix type cast in the CurrentThreadId function.
-Bug-Debian: https://bugs.debian.org/920851
-Author: Nicholas Guriev <guriev-ns@HIDDEN>
-Last-Update: Tue, 29 Jan 2019 23:26:44 +0300
-
---- a/libtgvoip.gyp
-+++ b/libtgvoip.gyp
-@@ -869,20 +869,18 @@
-             '"<(OS)" == "linux"', {
-               'defines': [
-                 'WEBRTC_POSIX',
--                'WEBRTC_LINUX',
-               ],
-               'conditions': [
-                 [ '"<!(uname -m)" == "i686"', {
-                   'cflags_cc': [
-                     '-msse2',
-                   ],
-+                }], ['"<!(uname -s)" == "Linux"', {
-+                  'defines': [
-+                    'WEBRTC_LINUX',
-+                  ],
-                 }]
-               ],
--              'direct_dependent_settings': {
--                'libraries': [
--
--                ],
--              },
-             },
-           ],
-         ],
---- a/webrtc_dsp/rtc_base/platform_thread_types.cc
-+++ b/webrtc_dsp/rtc_base/platform_thread_types.cc
-@@ -31,7 +31,7 @@ PlatformThreadId CurrentThreadId() {
-   return syscall(__NR_gettid);
- #else
-   // Default implementation for nacl and solaris.
--  return reinterpret_cast<pid_t>(pthread_self());
-+  return static_cast<pid_t>(pthread_self());
- #endif
- #endif  // defined(WEBRTC_POSIX)
- }
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 05538762c3..86a24f8fd8 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -874,13 +874,8 @@ Initiation Protocol (SIP) and a multimedia framework.")
              (url "https://github.com/grishka/libtgvoip")
              (commit version)))
        (file-name (git-file-name name version))
-       ;; Fix compilation on i686-linux architecture.
-       ;; NOTE: Applying these patches is order-dependent!
-       ;; The patch for WebRTC /must/ precede the patch for SSE2.
        (patches
-        (search-patches "libtgvoip-disable-webrtc.patch"
-                        "libtgvoip-disable-sse2.patch"
-                        "libtgvoip-pkgconfig.patch"))
+        (search-patches "libtgvoip-pkgconfig.patch"))
        (sha256
         (base32
          "122kn3jx6v0kkldlzlpzvlwqxgp6pmzxsjhrhcxw12bx9c08sar5"))))
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0015-gnu-libtgvoip-Remove-obsolete-phase.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0015-gnu-libtgvoip-Remove-obsolete-phase.patch"

From a2d71ca04893393aaac035c229a9f8ce98563a5f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Wed, 6 Jan 2021 04:58:53 -0500
Subject: [PATCH 15/21] gnu: libtgvoip: Remove obsolete phase.

* gnu/packages/telephony.scm (libtgvoip) [arguments]<#:phases>
['patch-dlopen]: Remove phase.
---
 gnu/packages/telephony.scm | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 86a24f8fd8..80e7c141f6 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -887,23 +887,6 @@ Initiation Protocol (SIP) and a multimedia framework.")
        ("libopusenc" ,libopusenc)
        ("openssl" ,openssl)
        ("pulseaudio" ,pulseaudio)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ;; libtgvoip wants to dlopen libpulse and libasound, so tell it where
-         ;; they are.
-         (add-after 'unpack 'patch-dlopen
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "os/linux/AudioPulse.cpp"
-               (("libpulse\\.so")
-                (string-append (assoc-ref inputs "pulseaudio")
-                              "/lib/libpulse.so")))
-             (substitute* '("os/linux/AudioInputALSA.cpp"
-                            "os/linux/AudioOutputALSA.cpp")
-               (("libasound\\.so")
-                (string-append (assoc-ref inputs "alsa-lib")
-                               "/lib/libasound.so")))
-             #t)))))
     (synopsis "VoIP library for Telegram clients")
     (description "A collection of libraries and header files for implementing
 telephony functionality into custom Telegram clients.")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0016-gnu-libtgvoip-Bootstrap-the-source.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0016-gnu-libtgvoip-Bootstrap-the-source.patch"

From 0b412b2704b97faba0ca2f9bef0303be1e93670b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Wed, 6 Jan 2021 05:04:26 -0500
Subject: [PATCH 16/21] gnu: libtgvoip: Bootstrap the source.

* gnu/packages/telephony.scm (libtgvoip) [arguments]<#:phases>
['trigger-bootstrap]: New phase.
[native-inputs]: Add autoconf, automake and libtool.
[inputs]: Change libopusenc to opus.
---
 gnu/packages/telephony.scm | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 80e7c141f6..a17c5188f6 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -881,12 +881,25 @@ Initiation Protocol (SIP) and a multimedia framework.")
          "122kn3jx6v0kkldlzlpzvlwqxgp6pmzxsjhrhcxw12bx9c08sar5"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("alsa-lib" ,alsa-lib)
-       ("libopusenc" ,libopusenc)
        ("openssl" ,openssl)
+       ("opus" ,opus)
        ("pulseaudio" ,pulseaudio)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'trigger-bootstrap
+           (lambda _
+             (for-each delete-file
+                       (list
+                        "configure"
+                        "Makefile.in"))
+             #t)))))
     (synopsis "VoIP library for Telegram clients")
     (description "A collection of libraries and header files for implementing
 telephony functionality into custom Telegram clients.")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0017-gnu-libtgvoip-Disable-static-libraries.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0017-gnu-libtgvoip-Disable-static-libraries.patch"

From 6b8be418e63829ca46a56d541309f8a35551ebab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Wed, 6 Jan 2021 05:07:59 -0500
Subject: [PATCH 17/21] gnu: libtgvoip: Disable static libraries.

* gnu/packages/telephony.scm (libtgvoip) [arguments]<#:configure-flags>
[--disable-static]: New flag.
---
 gnu/packages/telephony.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index a17c5188f6..ff1742366e 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -891,7 +891,10 @@ Initiation Protocol (SIP) and a multimedia framework.")
        ("opus" ,opus)
        ("pulseaudio" ,pulseaudio)))
     (arguments
-     `(#:phases
+     `(#:configure-flags
+       (list
+        "--disable-static")
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'trigger-bootstrap
            (lambda _
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0018-gnu-libtgvoip-Enable-audio-callback-feature.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0018-gnu-libtgvoip-Enable-audio-callback-feature.patch"

From 154367fdfd49a54f8eefe3f481e31bad8accdf4b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Wed, 6 Jan 2021 05:09:51 -0500
Subject: [PATCH 18/21] gnu: libtgvoip: Enable audio-callback feature.

* gnu/packages/telephony.scm (libtgvoip) [arguments]<#:configure-flags>
[--enable-audio-callback]: New flag.
---
 gnu/packages/telephony.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index ff1742366e..79aa2abb62 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -893,7 +893,8 @@ Initiation Protocol (SIP) and a multimedia framework.")
     (arguments
      `(#:configure-flags
        (list
-        "--disable-static")
+        "--disable-static"
+        "--enable-audio-callback")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'trigger-bootstrap
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0019-gnu-libtgvoip-Update-home-page.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0019-gnu-libtgvoip-Update-home-page.patch"

From aa28c1ec8038fbee7bb10568fdf6583b7ff962a1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Wed, 6 Jan 2021 05:11:49 -0500
Subject: [PATCH 19/21] gnu: libtgvoip: Update home-page.

* gnu/packages/telephony.scm (libtgvoip) [home-page]: Modify.
---
 gnu/packages/telephony.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 79aa2abb62..bdb2fc778b 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -907,5 +907,5 @@ Initiation Protocol (SIP) and a multimedia framework.")
     (synopsis "VoIP library for Telegram clients")
     (description "A collection of libraries and header files for implementing
 telephony functionality into custom Telegram clients.")
-    (home-page "https://github.com/zevlg/libtgvoip")
+    (home-page "https://github.com/grishka/libtgvoip")
     (license license:unlicense)))
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0020-gnu-Add-tg_owt.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0020-gnu-Add-tg_owt.patch"

From d087fe5b8da32060bab7a463e743b9341342ad64 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Mon, 11 Jan 2021 20:25:49 -0500
Subject: [PATCH 20/21] gnu: Add tg_owt.

* gnu/packages/telephony.scm (tg_owt): New variable.
---
 gnu/packages/telephony.scm | 50 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index bdb2fc778b..2f9d2c8cc6 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -93,6 +95,54 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system qt))
 
+(define-public tg_owt
+  (package
+    (name "tg_owt")
+    (version "0.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/desktop-app/tg_owt.git")
+         (commit "10b988a")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "12wwj1hgmklpxs1m0mx6xa2a3n6prfvi539kx444pny31440nhpj"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        "-DCMAKE_C_FLAGS=-fPIC"
+        "-DCMAKE_CXX_FLAGS=-fPIC"
+        "-DBUILD_SHARED_LIBS=ON"
+        "-DTG_OWT_USE_PROTOBUF=ON")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("yasm" ,yasm)))
+    (inputs
+     `(("abseil-cpp" ,abseil-cpp)
+       ("alsa" ,alsa-lib)
+       ("ffmpeg" ,ffmpeg)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libsrtp" ,libsrtp)
+       ("libvpx" ,libvpx)
+       ;; ("libyuv" ,libyuv)
+       ("openh264" ,openh264)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("protobuf" ,protobuf)
+       ("pulseaudio" ,pulseaudio)
+       ("rnnoise" ,rnnoise)))
+    (synopsis "WebRTC build for Telegram")
+    (description "TG_OWT is the packaged build of WebRTC, for its use in
+Telegram-Desktop application.")
+    (home-page "https://github.com/desktop-app/tg_owt")
+    (license license:bsd-3)))
+
 (define-public libilbc
   (package
     (name "libilbc")
-- 
2.30.0


--------------C035CFF42EE385784849E261
Content-Type: text/x-patch; charset=UTF-8;
 name="0021-gnu-Add-tdesktop.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment;
 filename="0021-gnu-Add-tdesktop.patch"

From 8a4e96b452dc705984d438ec425bbd96cbb3d9cd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Thu, 7 Jan 2021 19:41:42 -0500
Subject: [PATCH 21/21] gnu: Add tdesktop.

* gnu/packages/telegram.scm: New module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/telegram.scm (tdesktop): New variable.
---
 gnu/local.mk              |   1 +
 gnu/packages/telegram.scm | 321 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 322 insertions(+)
 create mode 100644 gnu/packages/telegram.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 00f07986f7..788f1d736e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -534,6 +534,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/task-management.scm		\
   %D%/packages/tbb.scm				\
   %D%/packages/tcl.scm				\
+  %D%/packages/telegram.scm                 \
   %D%/packages/telephony.scm			\
   %D%/packages/terminals.scm			\
   %D%/packages/terraform.scm			\
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
new file mode 100644
index 0000000000..513f2246df
--- /dev/null
+++ b/gnu/packages/telegram.scm
@@ -0,0 +1,321 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Raghav Gururajan <rg@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages telegram)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages digest)
+  #:use-module (gnu packages fcitx)
+  #:use-module (gnu packages fcitx5)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake))
+
+(define-public tdesktop
+  (package
+    (name "tdesktop")
+    (version "2.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/telegramdesktop/tdesktop.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0drirhkr9gnm1g03lcqmvap5ljlk859c29gbsm63hhsgv15dlw0y"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "-DTDESKTOP_API_ID=17349"
+        "-DTDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-writable
+           (lambda _
+             (for-each make-file-writable
+                       (find-files "."))
+             #t))
+         (add-after 'make-writable 'copy-inputs
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((to (getcwd))
+                    (cmake_helpers (assoc-ref inputs "cmake_helpers"))
+                    (codegen (assoc-ref inputs "codegen"))
+                    (lib_base (assoc-ref inputs "lib_base"))
+                    (lib_crl (assoc-ref inputs "lib_crl"))
+                    (lib_lottie (assoc-ref inputs "lib_lottie"))
+                    (lib_qr (assoc-ref inputs "lib_qr"))
+                    (lib_rlottie (assoc-ref inputs "lib_rlottie"))
+                    (lib_rpl (assoc-ref inputs "lib_rpl"))
+                    (lib_spellcheck (assoc-ref inputs "lib_spellcheck"))
+                    (lib_storage (assoc-ref inputs "lib_storage"))
+                    (lib_tl (assoc-ref inputs "lib_tl"))
+                    (lib_ui (assoc-ref inputs "lib_ui"))
+                    (lib_webrtc (assoc-ref inputs "lib_webrtc"))
+                    (tgcalls (assoc-ref inputs "tgcalls")))
+               (copy-recursively cmake_helpers (string-append to "/cmake"))
+               (copy-recursively codegen (string-append to "/Telegram/codegen"))
+               (copy-recursively lib_base (string-append to "/Telegram/lib_base"))
+               (copy-recursively lib_crl (string-append to "/Telegram/lib_crl"))
+               (copy-recursively lib_lottie (string-append to "/Telegram/lib_lottie"))
+               (copy-recursively lib_qr (string-append to "/Telegram/lib_qr"))
+               (copy-recursively lib_rlottie (string-append to "/Telegram/lib_rlottie"))
+               (copy-recursively lib_rpl (string-append to "/Telegram/lib_rpl"))
+               (copy-recursively lib_spellcheck (string-append to "/Telegram/lib_spellcheck"))
+               (copy-recursively lib_storage (string-append to "/Telegram/lib_storage"))
+               (copy-recursively lib_tl (string-append to "/Telegram/lib_tl"))
+               (copy-recursively lib_ui (string-append to "/Telegram/lib_ui"))
+               (copy-recursively lib_webrtc (string-append to "/Telegram/lib_webrtc"))
+               (copy-recursively tgcalls (string-append to "/Telegram/ThirdParty/tgcalls")))
+             #t))
+         (add-before 'configure 'patch-cxx-flags
+           (lambda _
+             (substitute* "cmake/options_linux.cmake"
+               (("class-memaccess")
+                "all"))
+             #t)))))
+    (native-inputs
+     `(("cmake_helpers"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/cmake_helpers.git")
+             (commit "a81345a")))
+           (file-name
+            (git-file-name "cmake_helpers" version))
+           (sha256
+            (base32 "0s5hxip68dmkaspjq6j30wx1r5v4prnrjza79hdbznz6i57a2248"))))
+       ("gcc" ,gcc-9)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("catch" ,catch-framework2)
+       ("codegen"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/codegen.git")
+             (commit "127968d")))
+           (file-name
+            (git-file-name "codegen" version))
+           (sha256
+            (base32 "036hzjrsk134ky62192nra43rsln5kh5gz20q1920s922661zky2"))))
+       ("expected" ,libexpected)
+       ("fcitx-qt5" ,fcitx-qt5)
+       ("fcitx5-qt" ,fcitx5-qt)
+       ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
+       ("gsl" ,gsl)
+       ("gtk+" ,gtk+)
+       ("hime" ,hime)
+       ("hunspell" ,hunspell)
+       ("iconv" ,libiconv)
+       ("lib_base"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_base.git")
+             (commit "81df0d0")))
+           (file-name
+            (git-file-name "lib_base" version))
+           (sha256
+            (base32 "0ikddprjnjvg0ic8jr2886xq0f18syp587q6z2kci9xmdnvjl217"))))
+       ("lib_crl"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_crl.git")
+             (commit "16150bf")))
+           (file-name
+            (git-file-name "lib_crl" version))
+           (sha256
+            (base32 "0qhagdr26aqb9w7wnchcmk1j7ln28x3wbkkkm06b8h0mybksbj7q"))))
+       ("lib_lottie"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_lottie.git")
+             (commit "fb40f37")))
+           (file-name
+            (git-file-name "lib_lottie" version))
+           (sha256
+            (base32 "1vq0mqxcrrv7akcqk9cl4mm61zw6dcfmy8adl0pcp49kynm64saw"))))
+       ("lib_qr"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_qr.git")
+             (commit "92ce41a")))
+           (file-name
+            (git-file-name "lib_qr" version))
+           (sha256
+            (base32 "182939nv7xs9b3bgah3gl5y9hx5r59mabd2jw3z6717vc96qi2pj"))))
+       ("lib_rlottie"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_rlottie.git")
+             (commit "0671bf7")))
+           (file-name
+            (git-file-name "lib_rlottie" version))
+           (sha256
+            (base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
+       ("lib_rpl"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_rpl.git")
+             (commit "e1b9639")))
+           (file-name
+            (git-file-name "lib_rpl" version))
+           (sha256
+            (base32 "1wvqazljd2kq1fxlj250jhjrig529499bym9p81dx33kh1l9dgss"))))
+       ("lib_spellcheck"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_spellcheck.git")
+             (commit "1b540b3")))
+           (file-name
+            (git-file-name "lib_spellcheck" version))
+           (sha256
+            (base32 "0a7042h5zrdvgs7v153ral2dh1zj84di5yjcmgcry5k4s1im9di7"))))
+       ("lib_storage"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_storage.git")
+             (commit "cbe5172")))
+           (file-name
+            (git-file-name "lib_storage" version))
+           (sha256
+            (base32 "045l5xsyagyz17gbhmmvl2miss4nb92p0dmza7yfs9pkg9gs0f87"))))
+       ("lib_tl"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_tl.git")
+             (commit "404c83d")))
+           (file-name
+            (git-file-name "lib_tl" version))
+           (sha256
+            (base32 "1k34nkvvcjqw5q81n1qmklid60cvzjk4lmn9qjimk437m6wbii7f"))))
+       ("lib_ui"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_ui.git")
+             (commit "1e27992")))
+           (file-name
+            (git-file-name "lib_ui" version))
+           (sha256
+            (base32 "0kd4njcvic2700f00qn25vn3b80vsd2flsm3pi2synnldkiy8lcw"))))
+       ("lib_webrtc"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/desktop-app/lib_webrtc.git")
+             (commit "4bc51d6")))
+           (file-name
+            (git-file-name "lib_webrtc" version))
+           (sha256
+            (base32 "06hpyq4qglrj3cb1xg8ghlmzm9ra8f5n6vm7hcy67n2wk8sy4cal"))))
+       ("libdbusmenu-qt" ,libdbusmenu-qt)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libtgvoip" ,libtgvoip)
+       ("lz4" ,lz4)
+       ("materialdecoration" ,materialdecoration)
+       ("minizip" ,minizip)
+       ("nimf" ,nimf)
+       ("openal" ,openal)
+       ("openssl" ,openssl)
+       ("opus" ,opus)
+       ("pulseaudio" ,pulseaudio)
+       ("qrcodegen" ,qrcodegen-cpp)
+       ("qt" ,qtbase)
+       ("qt5ct" ,qt5ct)
+       ("qtwayland" ,qtwayland)
+       ("range-v3" ,range-v3)
+       ("rlottie" ,rlottie)
+       ("tg_owt" ,tg_owt)
+       ("tgcalls"
+        ,(origin
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/TelegramMessenger/tgcalls.git")
+             (commit "178983f")))
+           (file-name
+            (git-file-name "tgcalls" version))
+           (sha256
+            (base32 "1xad65c9m6mj6zdj08flafvh8xjkd7xi9r1agcyc64y69lr427d0"))))
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xcb-keysyms" ,xcb-util-keysyms)
+       ("xxhash" ,xxhash)
+       ("zlib" ,zlib)))
+    (synopsis "Telegram Desktop")
+    (description "Tdesktop is the official desktop application for telegram
+messenger.")
+    (home-page "https://desktop.telegram.org/")
+    (license license:gpl3+)))
-- 
2.30.0


--------------C035CFF42EE385784849E261--




Information forwarded to guix-patches@HIDDEN:
bug#45721; Package guix-patches. Full text available.

Message received at 45721 <at> debbugs.gnu.org:


Received: (at 45721) by debbugs.gnu.org; 12 Jan 2021 03:13:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 11 22:13:00 2021
Received: from localhost ([127.0.0.1]:58835 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kzA6y-0000We-Cg
	for submit <at> debbugs.gnu.org; Mon, 11 Jan 2021 22:13:00 -0500
Received: from relay2-d.mail.gandi.net ([217.70.183.194]:63289)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rg@HIDDEN>) id 1kzA6t-0000WL-CI
 for 45721 <at> debbugs.gnu.org; Mon, 11 Jan 2021 22:12:46 -0500
X-Originating-IP: 76.68.120.100
Received: from [192.168.5.10]
 (bras-vprn-toroon474rw-lp130-08-76-68-120-100.dsl.bell.ca [76.68.120.100])
 (Authenticated sender: rg@HIDDEN)
 by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 5752D40004
 for <45721 <at> debbugs.gnu.org>; Tue, 12 Jan 2021 03:12:35 +0000 (UTC)
To: 45721 <at> debbugs.gnu.org
From: Raghav Gururajan <rg@HIDDEN>
Subject: Telegram Desktop (v3)
Message-ID: <94d80072-7b93-2b35-35cd-b89164162077@HIDDEN>
Date: Mon, 11 Jan 2021 22:12:34 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
 Icedove/78.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------556D0B5CC79BFE128F47EFDD"
Content-Language: en-US
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17
 00:00:00
 2001 From: Raghav Gururajan <rg@HIDDEN> Date: Sat, 2 Jan 2021
 18:48:03 -0500 Subject: [PATCH 01/21] gnu: Add GSL. * gnu/packages/cpp.scm
 (gsl): New variable. * gnu/packages/patches/gsl-gtest.patch: New file. *
 gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 +
 gnu/packages/cpp.scm | 28 ++++++++ gnu/pa [...] 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [217.70.183.194 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [217.70.183.194 listed in wl.mailspike.net]
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: qt5ct.pro (pro)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 45721
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------556D0B5CC79BFE128F47EFDD
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit


--------------556D0B5CC79BFE128F47EFDD
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-gnu-Add-GSL.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0001-gnu-Add-GSL.patch"

From 38565437775ee43e1c64e9f36893926ceb7428c3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@HIDDEN>
Date: Sat, 2 Jan 2021 18:48:03 -0500
Subject: [PATCH 01/21] gnu: Add GSL.

* gnu/packages/cpp.scm (gsl): New variable.
* gnu/packages/patches/gsl-gtest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                         |  1 +
 gnu/packages/cpp.scm                 | 28 ++++++++
 gnu/packages/patches/gsl-gt