Telegram Desktop

  • Done
  • quality assurance status badge
Details
4 participants
  • Nicolò Balzarotti
  • Jonathan Brielmaier
  • Leo Prikler
  • Raghav Gururajan
Owner
unassigned
Submitted by
Raghav Gururajan
Severity
normal
R
R
Raghav Gururajan wrote on 8 Jan 2021 01:20
(address . guix-patches@gnu.org)
b2339e11-707e-7f7b-9e74-ce4196c8c0f1@raghavgururajan.name
Hello Guix!

This patch-series is for adding Telegram-Desktop application and its
dependencies to Guix.

Regards,
RG.
From 55b963d2526c14d01a34c8d7f3dd7621821a1275 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 2 Jan 2021 22:23:51 -0500
Subject: [PATCH 02/19] gnu: Add fcitx-qt5.

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

Toggle diff (92 lines)
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.29.2
From 56ae16b466ab7ad0a4e184cec0ea5a4fe3b7b7d9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/19] 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(-)

Toggle diff (24 lines)
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.29.2
From 5b5fcd94a712c06a54922fbc6ece0fa61fc6665a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 15:05:11 -0500
Subject: [PATCH 04/19] gnu: Add hime.

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

Toggle diff (95 lines)
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.29.2
From 07d5870df7c944339a0c32ddc8590e883643492b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 17:16:43 -0500
Subject: [PATCH 05/19] gnu: Add libchewing.

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

Toggle diff (82 lines)
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.29.2
From 25360fda5f657189a3d802435ac9aad0a9d46eab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 17:19:21 -0500
Subject: [PATCH 06/19] 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(-)

Toggle diff (15 lines)
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.29.2
From 330afc7d02cfe7b33ad4d795924a1232921b7049 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/19] gnu: Add cmake-shared.

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

Toggle diff (56 lines)
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.29.2
From da7d1632f20a46fffcefb8aa1e7bf94d7d303dac Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/19] gnu: Add materialdecoration.

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

Toggle diff (59 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 0b94063373..aea8ebeeb0 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)
@@ -71,6 +72,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)
@@ -102,6 +104,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.29.2
From 7ea1a965d466de582659bc4a7f94af7cdfa8992d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 10/19] gnu: Add range-v3.

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

Toggle diff (52 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 8b15533841..491332987b 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.29.2
From d8a64ec656a09f6075a87654da56d7cb06ca9e75 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 11/19] gnu: Add rlottie.

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

Toggle diff (59 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 491332987b..f92cfe0c26 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.29.2
From b8dcf94a21ab31c7854e08c525283224e77dde6a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 12/19] gnu: Add qt5ct.

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

Toggle diff (56 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index aea8ebeeb0..fac7831ab7 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -104,6 +104,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.29.2
From 1acf64c77a0eb29e1c0e5a8af1013578b70901c6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 04:39:04 -0500
Subject: [PATCH 13/19] 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

Toggle diff (101 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 82d254db19..e2e694a833 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@ya.ru>
+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.29.2
From 5a44968a262a6770dc2e94644aacddaee0b14bec Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 04:58:53 -0500
Subject: [PATCH 15/19] 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(-)

Toggle diff (30 lines)
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.29.2
From cbfaf75570b3adc0821c37ad9d65936abeddebef Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 05:04:26 -0500
Subject: [PATCH 16/19] 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(-)

Toggle diff (34 lines)
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.29.2
From e0d6b2b3ecf5b28598eee7df664c8171780fc020 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 05:07:59 -0500
Subject: [PATCH 17/19] 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(-)

Toggle diff (18 lines)
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.29.2
From ec2f57d9320ceeccd1345864113fa2837dd28bf1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 05:09:51 -0500
Subject: [PATCH 18/19] 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(-)

Toggle diff (16 lines)
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.29.2
From dc7ba05f38b9a53ebf94ab395655988b2f41583d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 05:11:49 -0500
Subject: [PATCH 19/19] 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(-)

Toggle diff (13 lines)
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.29.2
R
R
Raghav Gururajan wrote on 8 Jan 2021 01:44
Telegram Desktop (v2)
(address . 45721@debbugs.gnu.org)
9c5fedd3-635f-30ad-2d45-3c91df6d6a20@raghavgururajan.name

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

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

Toggle diff (92 lines)
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.29.2
From 56ae16b466ab7ad0a4e184cec0ea5a4fe3b7b7d9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/20] 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(-)

Toggle diff (24 lines)
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.29.2
From 5b5fcd94a712c06a54922fbc6ece0fa61fc6665a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 15:05:11 -0500
Subject: [PATCH 04/20] gnu: Add hime.

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

Toggle diff (95 lines)
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.29.2
From 07d5870df7c944339a0c32ddc8590e883643492b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 17:16:43 -0500
Subject: [PATCH 05/20] gnu: Add libchewing.

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

Toggle diff (82 lines)
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.29.2
From 25360fda5f657189a3d802435ac9aad0a9d46eab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 17:19:21 -0500
Subject: [PATCH 06/20] 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(-)

Toggle diff (15 lines)
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.29.2
From 330afc7d02cfe7b33ad4d795924a1232921b7049 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/20] gnu: Add cmake-shared.

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

Toggle diff (56 lines)
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.29.2
From da7d1632f20a46fffcefb8aa1e7bf94d7d303dac Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/20] gnu: Add materialdecoration.

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

Toggle diff (59 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 0b94063373..aea8ebeeb0 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)
@@ -71,6 +72,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)
@@ -102,6 +104,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.29.2
From 7ea1a965d466de582659bc4a7f94af7cdfa8992d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 10/20] gnu: Add range-v3.

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

Toggle diff (52 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 8b15533841..491332987b 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.29.2
From d8a64ec656a09f6075a87654da56d7cb06ca9e75 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 11/20] gnu: Add rlottie.

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

Toggle diff (59 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 491332987b..f92cfe0c26 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.29.2
From b8dcf94a21ab31c7854e08c525283224e77dde6a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 12/20] gnu: Add qt5ct.

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

Toggle diff (56 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index aea8ebeeb0..fac7831ab7 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -104,6 +104,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.29.2
From 1acf64c77a0eb29e1c0e5a8af1013578b70901c6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 04:39:04 -0500
Subject: [PATCH 13/20] 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

Toggle diff (101 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 82d254db19..e2e694a833 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@ya.ru>
+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.29.2
From 5a44968a262a6770dc2e94644aacddaee0b14bec Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 04:58:53 -0500
Subject: [PATCH 15/20] 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(-)

Toggle diff (30 lines)
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.29.2
From cbfaf75570b3adc0821c37ad9d65936abeddebef Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 05:04:26 -0500
Subject: [PATCH 16/20] 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(-)

Toggle diff (34 lines)
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.29.2
From e0d6b2b3ecf5b28598eee7df664c8171780fc020 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 05:07:59 -0500
Subject: [PATCH 17/20] 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(-)

Toggle diff (18 lines)
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.29.2
From ec2f57d9320ceeccd1345864113fa2837dd28bf1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 05:09:51 -0500
Subject: [PATCH 18/20] 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(-)

Toggle diff (16 lines)
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.29.2
From dc7ba05f38b9a53ebf94ab395655988b2f41583d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 6 Jan 2021 05:11:49 -0500
Subject: [PATCH 19/20] 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(-)

Toggle diff (13 lines)
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.29.2
R
R
Raghav Gururajan wrote on 12 Jan 2021 04:12
Telegram Desktop (v3)
(address . 45721@debbugs.gnu.org)
94d80072-7b93-2b35-35cd-b89164162077@raghavgururajan.name

From 3b1a649be20575a8e13cb8d86992b93fbfed557e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
From a1be34b8d76fe0d6855d78cf2997ea0ebea3060c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 47df40611bbd6a8a065913f7b2d058d95a138516 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (95 lines)
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
From c48093f2c55d3036af6de0816bb9f6cbcb211f60 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (82 lines)
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
From 8c8cda3a33177fe2e88bc73f6d1f56a8c560e514 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (15 lines)
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
From b759a5480592278fcb9f112229a5eaca4ef56248 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 6b348e064818062e9284e7ddcfcc0d9fbf8a83d5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 9a22566adde1ca4fd6be81b5324479f3d4e51f85 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (52 lines)
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
From ed415d768e68d78f92717159899c071ad0173586 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From ba1b08dd2128ac9a802039bbcfbeee72849f1bfc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From bf946ce55d62753e1e2e6c7716ef3c959d18425a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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

Toggle diff (101 lines)
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@ya.ru>
+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
From a2d71ca04893393aaac035c229a9f8ce98563a5f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (30 lines)
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
From 0b412b2704b97faba0ca2f9bef0303be1e93670b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (34 lines)
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
From 6b8be418e63829ca46a56d541309f8a35551ebab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (18 lines)
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
From 154367fdfd49a54f8eefe3f481e31bad8accdf4b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (16 lines)
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
From aa28c1ec8038fbee7bb10568fdf6583b7ff962a1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (13 lines)
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
From d087fe5b8da32060bab7a463e743b9341342ad64 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (77 lines)
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
R
R
Raghav Gururajan wrote on 12 Jan 2021 04:27
Telegram Desktop (v4)
(address . 45721@debbugs.gnu.org)
43342419-7b33-f300-b20e-e5a7d54a61bb@raghavgururajan.name

From 3b1a649be20575a8e13cb8d86992b93fbfed557e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
From a1be34b8d76fe0d6855d78cf2997ea0ebea3060c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 47df40611bbd6a8a065913f7b2d058d95a138516 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (95 lines)
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
From c48093f2c55d3036af6de0816bb9f6cbcb211f60 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (82 lines)
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
From 8c8cda3a33177fe2e88bc73f6d1f56a8c560e514 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (15 lines)
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
From b759a5480592278fcb9f112229a5eaca4ef56248 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 6b348e064818062e9284e7ddcfcc0d9fbf8a83d5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 9a22566adde1ca4fd6be81b5324479f3d4e51f85 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (52 lines)
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
From ed415d768e68d78f92717159899c071ad0173586 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From ba1b08dd2128ac9a802039bbcfbeee72849f1bfc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From bf946ce55d62753e1e2e6c7716ef3c959d18425a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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

Toggle diff (101 lines)
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@ya.ru>
+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
From a2d71ca04893393aaac035c229a9f8ce98563a5f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (30 lines)
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
From 0b412b2704b97faba0ca2f9bef0303be1e93670b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (34 lines)
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
From 6b8be418e63829ca46a56d541309f8a35551ebab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (18 lines)
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
From 154367fdfd49a54f8eefe3f481e31bad8accdf4b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (16 lines)
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
From aa28c1ec8038fbee7bb10568fdf6583b7ff962a1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (13 lines)
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
From d087fe5b8da32060bab7a463e743b9341342ad64 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (77 lines)
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
R
R
Raghav Gururajan wrote on 13 Jan 2021 23:13
Telegram Desktop (v5)
(address . 45721@debbugs.gnu.org)
571cc77d-fff5-2178-0bc0-f0164601aec8@raghavgururajan.name

From 3b1a649be20575a8e13cb8d86992b93fbfed557e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
From a1be34b8d76fe0d6855d78cf2997ea0ebea3060c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 47df40611bbd6a8a065913f7b2d058d95a138516 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (95 lines)
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
From c48093f2c55d3036af6de0816bb9f6cbcb211f60 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (82 lines)
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
From 8c8cda3a33177fe2e88bc73f6d1f56a8c560e514 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (15 lines)
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
From b759a5480592278fcb9f112229a5eaca4ef56248 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 6b348e064818062e9284e7ddcfcc0d9fbf8a83d5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 9a22566adde1ca4fd6be81b5324479f3d4e51f85 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (52 lines)
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
From ed415d768e68d78f92717159899c071ad0173586 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From ba1b08dd2128ac9a802039bbcfbeee72849f1bfc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 0dd76bc7253a9e2f921f2cb4916bd1fd930a2f3f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (76 lines)
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
R
R
Raghav Gururajan wrote on 14 Jan 2021 06:39
Telegram Desktop (v6)
(address . 45721@debbugs.gnu.org)
a1905df6-c0c9-7d85-9db2-75596cb0e563@raghavgururajan.name

From 3b1a649be20575a8e13cb8d86992b93fbfed557e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
From a1be34b8d76fe0d6855d78cf2997ea0ebea3060c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 47df40611bbd6a8a065913f7b2d058d95a138516 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (95 lines)
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
From af6920ba7018f0de2a2a47eb86940edf285ae3f4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (88 lines)
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
From 1270803074efc7a0eec9d5d62bea67e4052df6d6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (15 lines)
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
From 5f25e3852d7b1b428574948c8da3c56d45392d5d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From f8718bba55e21406415410542142e7cbd98a53de Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From d12ff41a265a3549791a177c08e8d15bbaa7ffef Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (52 lines)
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
From 8ef7e817ded85a5584e33566c61fe0c6958bfa16 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 8ef1cf85d9c1f6bd4621a2d5a173a85bf9138464 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 30d16a3e23d00afaa00e414424ac17bae3646264 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (76 lines)
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
R
R
Raghav Gururajan wrote on 14 Jan 2021 07:41
Telegram Desktop (v7)
(address . 45721@debbugs.gnu.org)
31c2cc13-1ee4-9ec8-77dd-51f4b22bad5c@raghavgururajan.name

From 3b1a649be20575a8e13cb8d86992b93fbfed557e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
From a1be34b8d76fe0d6855d78cf2997ea0ebea3060c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 6cccdc3561d9bc31e3ad2eb94fecae7b0f8a8cf5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (87 lines)
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
From 2a84104221e632850d3dbb5b829b4fba27b5ab96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (114 lines)
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
From 6dc98c1ceb7139948252cb0e24c1651618b7625a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 15e44619c1a690972ac245e039d871197cd8eac2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From b5c043f167246dc79655ad642615b62663709a9c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (52 lines)
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
From fe77e5184d37c2bbcaf4e99241ead0ec3f659a2b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 80bae76ef4c05e51698a67eacdf01e0118bc0b17 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (67 lines)
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
From c2f24b3ae8d99722797e7c8e447021da0dc5a5ee Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (76 lines)
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
R
R
Raghav Gururajan wrote on 14 Jan 2021 11:38
Telegram Desktop (v8)
(address . 45721@debbugs.gnu.org)
67fbd962-74dc-bcb8-5a97-5a1db6748d11@raghavgururajan.name

From 008e96ef20fecc4147c369549ca0a411786f1b41 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
From 1f8ab5a01ef6858d757bef06c64b10db4acf146f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 5d449632f8e2b0c083074ef91fe2761ac7c34fd0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (87 lines)
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
From 9c05941c9dc8d52f02895304942fb76b9c90bea7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (114 lines)
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
From edcc6f9812bd61e9cb3b98cf545411d619318a46 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 2f500e9de89825caaf06505536b138ae1f393e20 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From e0b18b18c1d79c35c7b924443a45e25f50cfdd27 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (52 lines)
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
From b90f607185357e01fbb1e529db83acced6b57bd5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 79656baa13d090eb3cfd8d47fbb6b87a120d96e6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (67 lines)
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
From 8c87b59a9e6fab78e76791e8b1a6c5bd1d6c9bf9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (76 lines)
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
R
R
Raghav Gururajan wrote on 16 Jan 2021 17:08
Telegram Desktop (v9)
(address . 45721@debbugs.gnu.org)
68f6fd1a-bd45-d2cf-e14f-c3a55b43ee85@raghavgururajan.name

From 8c87b59a9e6fab78e76791e8b1a6c5bd1d6c9bf9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (76 lines)
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
From 79656baa13d090eb3cfd8d47fbb6b87a120d96e6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (67 lines)
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
From b90f607185357e01fbb1e529db83acced6b57bd5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From e0b18b18c1d79c35c7b924443a45e25f50cfdd27 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (52 lines)
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
From 2f500e9de89825caaf06505536b138ae1f393e20 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From edcc6f9812bd61e9cb3b98cf545411d619318a46 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 9c05941c9dc8d52f02895304942fb76b9c90bea7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (114 lines)
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
From 5d449632f8e2b0c083074ef91fe2761ac7c34fd0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (87 lines)
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
From 1f8ab5a01ef6858d757bef06c64b10db4acf146f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 008e96ef20fecc4147c369549ca0a411786f1b41 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
N
N
Nicolò Balzarotti wrote on 16 Jan 2021 18:15
87r1mkyf8w.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me
There's nextcloud inside those telegram-desktop patches
L
L
Leo Prikler wrote on 16 Jan 2021 19:04
Re: Telegram Desktop (v9)
(address . 45721@debbugs.gnu.org)(name . Raghav Gururajan)(address . rg@raghavgururajan.name)
260455952500fcfd067f395a55a7ac78a4f1bd0a.camel@student.tugraz.at
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:
Toggle quote (3 lines)
> * 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?

Toggle quote (3 lines)
> (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.

Toggle quote (1 lines)
> * gnu/packages/language.scm (libchewing): New variable.
LGTM.

Toggle quote (6 lines)
> + (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?

Toggle quote (4 lines)
> + (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
Would it be worth packaging that?

Toggle quote (4 lines)
> + (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.

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

Toggle quote (4 lines)
> + (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.

Toggle quote (4 lines)
> + (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:
Toggle quote (11 lines)
> [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?

Toggle quote (1 lines)
> * gnu/packages/cpp.scm (rlottie): New variable.
LGTM.

Toggle quote (1 lines)
> * gnu/packages/qt.scm (qt5ct): New variable.
LGTM.

Toggle quote (4 lines)
> +(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 ...))

Toggle quote (8 lines)
> + (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.

Toggle quote (14 lines)
> + (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?

Toggle quote (4 lines)
> + (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)?

Toggle quote (3 lines)
> * 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
R
R
Raghav Gururajan wrote on 16 Jan 2021 22:22
Re: [bug#45721] Telegram Desktop (v9)
76ad7644-bdd5-527c-86f6-8ae2202b76b7@raghavgururajan.name
Hi Nicolò!

Toggle quote (2 lines)
> There's nextcloud inside those telegram-desktop patches

Oops! I must have attached it by mistake.

Regards,
RG.
R
R
Raghav Gururajan wrote on 17 Jan 2021 01:05
Telegram Desktop (v10)
(address . 45721@debbugs.gnu.org)(address . leo.prikler@student.tugraz.at)
7307aa55-65b7-fd7b-fa0f-a33db0776707@raghavgururajan.name

From 342ca4a5123459b7d17e963b11abc035785023cc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (104 lines)
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
From 023b9e9c0c55b56e21bee13fd24c22688d61f900 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (67 lines)
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
From 887cd35ad810ce819091fcd1afc0ea71475b439d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 58ee3d478934d16495061849e566126fe670bf51 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (60 lines)
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
From d91590a291cbe9a130e5ef6349e15949fd22b646 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From e2dee2b004db93dbbec27f5478b3f61fd0b4c5b6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From fcc44eab5187f9df64f77898595908424a67a92e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (116 lines)
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
From 5d449632f8e2b0c083074ef91fe2761ac7c34fd0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (87 lines)
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
From 1f8ab5a01ef6858d757bef06c64b10db4acf146f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 008e96ef20fecc4147c369549ca0a411786f1b41 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
R
R
Raghav Gururajan wrote on 17 Jan 2021 01:19
Re: Telegram Desktop (v9)
de617d0e-b1c0-7ca2-0042-91e39e974285@raghavgururajan.name
Hi Leo!

Toggle quote (4 lines)
> 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. :-)

Toggle quote (2 lines)
> LGTM, but there seem to be whitespace issues. Any idea?

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

Toggle quote (4 lines)
> 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.

Toggle quote (2 lines)
> LGTM.

Cool!

Toggle quote (3 lines)
> Is there a less broad way of doing this? E.g. replacing c++-17 by c++-
> 11?

Updated in v10.

Toggle quote (4 lines)
> 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.

Toggle quote (4 lines)
> 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.

Toggle quote (2 lines)
> LGTM, albeit admittedly weird.

Haha, yeah.

Toggle quote (4 lines)
> 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.

Toggle quote (7 lines)
> 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.

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

Updated in v10.

Toggle quote (2 lines)
> LGTM.

Cool!

Toggle quote (2 lines)
> LGTM.

Cool!

Toggle quote (6 lines)
> 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.

Toggle quote (4 lines)
> 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.

Toggle quote (3 lines)
> 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.

Toggle quote (4 lines)
> 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.

Toggle quote (7 lines)
> 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.

Toggle quote (3 lines)
> 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.
R
R
Raghav Gururajan wrote on 17 Jan 2021 01:29
Telegram Desktop (v11)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
a8444e40-3d61-fb25-5329-cd435e7d0470@raghavgururajan.name

From b81159dea877e162b34f92c3f89244d91ef46a3a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (104 lines)
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
From f56974102f34a96de27bce09acccac40f1acf254 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (67 lines)
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
From 3a2a5c329587056e56cb2d0df118c0161ce6c789 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From aeaba0734e8f11b5704c398e247f67b40fe9db0b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (60 lines)
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
From 9af63a33ba7a5489c5889c4137bb2f841a5fd56f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 32c9c556e5ff3fd5f7616c9e9497645b923dd6b0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From fcc44eab5187f9df64f77898595908424a67a92e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (116 lines)
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
From 5d449632f8e2b0c083074ef91fe2761ac7c34fd0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (87 lines)
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
From 1f8ab5a01ef6858d757bef06c64b10db4acf146f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 008e96ef20fecc4147c369549ca0a411786f1b41 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
L
L
Leo Prikler wrote on 17 Jan 2021 01:36
Re: Telegram Desktop (v9)
c7bc81626b926e0aafd969ec272436632c97d503.camel@student.tugraz.at
Hi Raghav,

Am Samstag, den 16.01.2021, 19:19 -0500 schrieb Raghav Gururajan:
Toggle quote (14 lines)
> 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.

Toggle quote (8 lines)
> > 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.

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

Toggle quote (6 lines)
> > 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.

Toggle quote (10 lines)
> > 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.

Toggle quote (10 lines)
> > 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.

Toggle quote (5 lines)
> > 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.

Toggle quote (8 lines)
> > 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.

Toggle quote (7 lines)
> > 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.

Toggle quote (5 lines)
> > 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?

Toggle quote (6 lines)
> > 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.

Toggle quote (14 lines)
> > 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.

Toggle quote (6 lines)
> > 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
R
R
Raghav Gururajan wrote on 17 Jan 2021 02:04
Telegram Desktop (v12)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
96f7b93b-413b-c092-e93a-4f28791ffd2f@raghavgururajan.name

From b328aa0352e9b4571b7df0364677d0cbfc3b9730 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (104 lines)
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
From 5106116af504108fd97986108ed7ebbc1401a29d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (67 lines)
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
From 9f7b138e9d85454e56a63974c52871fca1604df3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 4d805e4a839de29b59b983f59e7015f38fd93e56 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (60 lines)
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
From 48edef4bfe7b2adf397725b369e0ad02725482c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 67de96d5d6f291f199e58a2ef056cd73b6444fd7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 91f99169ab0cca7d4686b4a3e6863f41f6695d66 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (116 lines)
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
From b1aefee1089fb16ffd6e25c8102a709651540f83 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (87 lines)
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
From 331ad0dff904836e8b0827a4884a619697cee01c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 91386944fcf9663ac1dffbf59544194bce3ede97 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
R
R
Raghav Gururajan wrote on 17 Jan 2021 02:10
Re: Telegram Desktop (v9)
6e44fc3a-2745-801e-620b-c85ee44500e4@raghavgururajan.name
Hi Leo!

Toggle quote (4 lines)
> 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.

Toggle quote (2 lines)
> Use full commit hashes please.

Updated in v12.

Toggle quote (3 lines)
> 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.

Toggle quote (4 lines)
> 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.
R
R
Raghav Gururajan wrote on 17 Jan 2021 02:52
Telegram Desktop (v13)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
ae71c9c2-cdb8-0f13-b212-0a0c8fc4369b@raghavgururajan.name

From 5106116af504108fd97986108ed7ebbc1401a29d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (67 lines)
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
From 9f7b138e9d85454e56a63974c52871fca1604df3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 4d805e4a839de29b59b983f59e7015f38fd93e56 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (60 lines)
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
From 48edef4bfe7b2adf397725b369e0ad02725482c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 67de96d5d6f291f199e58a2ef056cd73b6444fd7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 91f99169ab0cca7d4686b4a3e6863f41f6695d66 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (116 lines)
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
From b1aefee1089fb16ffd6e25c8102a709651540f83 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (87 lines)
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
From 331ad0dff904836e8b0827a4884a619697cee01c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 91386944fcf9663ac1dffbf59544194bce3ede97 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
L
L
Leo Prikler wrote on 17 Jan 2021 13:13
67f3a995fb657c86efd2ecdc403b24cb2d441524.camel@student.tugraz.at
Hi,

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

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

Toggle quote (18 lines)
> + (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")

Toggle quote (13 lines)
> + (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.

Toggle quote (25 lines)
> + ("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
R
R
Raghav Gururajan wrote on 17 Jan 2021 15:43
Telegram Desktop (v14)
(address . 45721@debbugs.gnu.org)
188ca0f1-50b0-2808-dfca-6ee634a8261a@raghavgururajan.name

From 5106116af504108fd97986108ed7ebbc1401a29d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (67 lines)
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
From 9f7b138e9d85454e56a63974c52871fca1604df3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 4d805e4a839de29b59b983f59e7015f38fd93e56 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (60 lines)
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
From 48edef4bfe7b2adf397725b369e0ad02725482c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (59 lines)
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
From 67de96d5d6f291f199e58a2ef056cd73b6444fd7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (56 lines)
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
From 91f99169ab0cca7d4686b4a3e6863f41f6695d66 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (116 lines)
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
From b1aefee1089fb16ffd6e25c8102a709651540f83 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(+)

Toggle diff (87 lines)
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
From 331ad0dff904836e8b0827a4884a619697cee01c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (24 lines)
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
From 91386944fcf9663ac1dffbf59544194bce3ede97 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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(-)

Toggle diff (92 lines)
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
R
R
Raghav Gururajan wrote on 17 Jan 2021 15:49
Re: Telegram Desktop (v13)
3107c0b8-134f-c86f-f066-372f4f5806de@raghavgururajan.name
Hi Leo!

Toggle quote (1 lines)
> You can still use "0" or "0.0.0" for the base version.
Updated in v14.

Toggle quote (11 lines)
> 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.

Toggle quote (2 lines)
> Should be after unpack (see above), otherwise LGTM.

Updated in v14.

Toggle quote (5 lines)
> 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.

Toggle quote (3 lines)
> As per our discussion in IRC, this should be part of the telegram
> module.

Moved in v14.

Regards,
RG.
L
L
Leo Prikler wrote on 17 Jan 2021 20:08
[PATCH v15] Add Telegram Desktop.
5b7bbe10360a9a6bec44c99ac66b0e075f3ed924.camel@student.tugraz.at
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
From 8a48305c5770348085759457e3a16213428686cb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (92 lines)
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
From 9b54b53b181d9c7fc9f012fc3e44d9a139394ba5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (24 lines)
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
From e9007f40b1ea7e852a5ccde03e6b39ce5ce615a5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/13] gnu: Add libchewing.

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

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

Toggle diff (87 lines)
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
From 06748768a7c2a400e9183bf265edb22bc2f339ec Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/13] gnu: Add hime.

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

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

Toggle diff (116 lines)
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
From 09870a48a27d7eabb2b2fd760c529e491eb578f8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (56 lines)
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
From e483de51a63ef248028a4100b47da39743b7a6b4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/13] gnu: Add materialdecoration.

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

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

Toggle diff (59 lines)
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
From 33774f6667107f72de062191c3378cb485b08f6d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (60 lines)
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
From 80ce1ad56fb83488a4315f0094eb85b5cd2d5235 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/13] gnu: Add rlottie.

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

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

Toggle diff (59 lines)
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
From 096ba1ff06cf396c3c46a54022b8c59f6b8a7463 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/13] gnu: Add qt5ct.

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

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

Toggle diff (68 lines)
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
R
R
Raghav Gururajan wrote on 17 Jan 2021 22:59
b5665c0d-59f6-75e9-8b4e-a7be3181ba37@raghavgururajan.name
Hi Leo!

Toggle quote (7 lines)
> 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.
L
L
Leo Prikler wrote on 19 Jan 2021 11:11
[PATCH v16] Add Telegram Desktop.
c24455fe6aaecdf522e03cd4bc57efc9b08fc1e5.camel@student.tugraz.at
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
From dcaca6d534a6d1a7eca71178e2c89f265db0a832 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (92 lines)
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
From 5217c6f164877c75ebef6fb7c7de108b3c14c74f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (24 lines)
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
From d2d7a7298dfe1deca1aa3b3b6ee81ae91aa87cd4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/13] gnu: Add libchewing.

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

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

Toggle diff (87 lines)
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
From cbeec23b07d4e544aa44590319c33b93f2a10350 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/13] gnu: Add hime.

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

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

Toggle diff (116 lines)
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
From 81cf0c3a72f2451814900588b827f6f5104afb7b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (56 lines)
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
From aa001fb3c2259c8100648486d44272711e1b0b05 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/13] gnu: Add materialdecoration.

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

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

Toggle diff (59 lines)
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
From 7f9711cb4b980843dc6d785dbc342d73d900b140 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (60 lines)
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
From e1c4a65b8d7293fab5f63e08f4466e6296592615 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/13] gnu: Add rlottie.

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

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

Toggle diff (59 lines)
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
From 4292ad483f937bc3de48312f6f4f805e6fac6f60 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/13] gnu: Add qt5ct.

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

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

Toggle diff (68 lines)
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
R
R
Raghav Gururajan wrote on 20 Jan 2021 11:41
Telegram Desktop (v17)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
e94f884e-e9d5-9e18-d5fc-dfec72145b67@raghavgururajan.name

From 9c6905c0a107542ebc4a08cb7b8349d9c81bd557 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (68 lines)
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
From 48258c2c1bc21623985e208f0c943991d27d9f15 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (59 lines)
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
From 46f4660f5b23da77bffb620f00e943418af6bb65 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (60 lines)
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
From 3e49d1c88f0b768648e6bd1a59f7396211f6126b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (59 lines)
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
From 846051b9ac972e45b6a3c7e91824cca7d0c1d0ab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
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
From ff1d90c02ee57a9a74a92e7a496eddbaaa0235bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 77 insertions(+), 1 deletion(-)

Toggle diff (116 lines)
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
From 224a511e7cb2d136512784ed4352ba4f03a39133 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (87 lines)
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
From 092da0e19bfe7618ff294d0a60027f8ea48eb76b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/freedesktop.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
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
From c842b20ffa2dc4f925fd192b01dff982d41a3a96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)

Toggle diff (92 lines)
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
L
L
Leo Prikler wrote on 20 Jan 2021 12:07
7b5dc366822e27c8e7ab064694426070614bc3e6.camel@student.tugraz.at
Hi Raghav,

Am Mittwoch, den 20.01.2021, 05:41 -0500 schrieb Raghav Gururajan:
Toggle quote (9 lines)
> + ;; 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@raghavgururajan.name>
> + (list
> + "-DTDESKTOP_API_ID=2791056"
> + "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2")
You're sadly missing the packaged font thing, that pineapples
mentioned. Try this:
Toggle quote (16 lines)
> #: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@raghavgururajan.name>
> "-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?

Toggle quote (13 lines)
> + ("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.
Toggle quote (3 lines)
> + ("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
R
R
Raghav Gururajan wrote on 20 Jan 2021 13:29
Telegram Desktop (v18)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
fabb85ec-d833-4eba-a6ee-9f6151b8df52@raghavgururajan.name

From 9c6905c0a107542ebc4a08cb7b8349d9c81bd557 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (68 lines)
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
From 48258c2c1bc21623985e208f0c943991d27d9f15 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (59 lines)
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
From 46f4660f5b23da77bffb620f00e943418af6bb65 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (60 lines)
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
From 3e49d1c88f0b768648e6bd1a59f7396211f6126b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (59 lines)
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
From 846051b9ac972e45b6a3c7e91824cca7d0c1d0ab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
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
From ff1d90c02ee57a9a74a92e7a496eddbaaa0235bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 77 insertions(+), 1 deletion(-)

Toggle diff (116 lines)
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
From 224a511e7cb2d136512784ed4352ba4f03a39133 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (87 lines)
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
From 092da0e19bfe7618ff294d0a60027f8ea48eb76b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/freedesktop.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
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
From c842b20ffa2dc4f925fd192b01dff982d41a3a96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)

Toggle diff (92 lines)
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
R
R
Raghav Gururajan wrote on 20 Jan 2021 13:32
Re: Telegram Desktop (v17)
07d01dba-43be-aa2b-f515-3ab376078905@raghavgururajan.name
Hi Leo!

Toggle quote (3 lines)
> You're sadly missing the packaged font thing, that pineapples
> mentioned. Try this:

Updated in v18.

Toggle quote (2 lines)
> Should (getcwd) or "source" not suffice as to?

Nah! it didn't work.

Toggle quote (6 lines)
> 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.
> [...]
> Likewise.

Updated in v18.

Toggle quote (4 lines)
> 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.

Updated in v18.

Regards,
RG.
R
R
Raghav Gururajan wrote on 20 Jan 2021 14:49
Telegram Desktop (v19)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
97b17e0d-59e5-9b61-11ac-0a7eab7470c2@raghavgururajan.name

From 9c6905c0a107542ebc4a08cb7b8349d9c81bd557 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (68 lines)
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
From 48258c2c1bc21623985e208f0c943991d27d9f15 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (59 lines)
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
From 46f4660f5b23da77bffb620f00e943418af6bb65 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (60 lines)
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
From 3e49d1c88f0b768648e6bd1a59f7396211f6126b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (59 lines)
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
From 846051b9ac972e45b6a3c7e91824cca7d0c1d0ab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
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
From ff1d90c02ee57a9a74a92e7a496eddbaaa0235bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 77 insertions(+), 1 deletion(-)

Toggle diff (116 lines)
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
From 224a511e7cb2d136512784ed4352ba4f03a39133 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (87 lines)
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
From 092da0e19bfe7618ff294d0a60027f8ea48eb76b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/freedesktop.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
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
From c842b20ffa2dc4f925fd192b01dff982d41a3a96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)

Toggle diff (92 lines)
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
R
R
Raghav Gururajan wrote on 20 Jan 2021 15:42
Telegram Desktop (v20)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
c7f8c902-f875-6452-0347-fa41c8bf402c@raghavgururajan.name

From 9c6905c0a107542ebc4a08cb7b8349d9c81bd557 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (68 lines)
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
From 48258c2c1bc21623985e208f0c943991d27d9f15 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (59 lines)
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
From 46f4660f5b23da77bffb620f00e943418af6bb65 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (60 lines)
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
From 3e49d1c88f0b768648e6bd1a59f7396211f6126b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (59 lines)
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
From 846051b9ac972e45b6a3c7e91824cca7d0c1d0ab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
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
From ff1d90c02ee57a9a74a92e7a496eddbaaa0235bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 77 insertions(+), 1 deletion(-)

Toggle diff (116 lines)
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
From 224a511e7cb2d136512784ed4352ba4f03a39133 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (87 lines)
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
From 092da0e19bfe7618ff294d0a60027f8ea48eb76b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/freedesktop.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
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
From c842b20ffa2dc4f925fd192b01dff982d41a3a96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)

Toggle diff (92 lines)
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
L
L
Leo Prikler wrote on 20 Jan 2021 16:10
b105fafecb44da3162d56490f565a97fa155022b.camel@student.tugraz.at
Am Mittwoch, den 20.01.2021, 09:42 -0500 schrieb Raghav Gururajan:
Toggle quote (80 lines)
> + (let* ((to (getcwd))
> + (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")))
You're catching up to where I am locally.
I'm writing the same as
(for-each
(match-lambda
((dst src) (copy-recursively src dst)))
`(("cmake" ,(assoc-ref inputs "cmake-helpers"))
("Telegram/codegen" ,(assoc-ref inputs "codegen-source")
[...]))
though in my current version I also make dst writable because I swapped
the phase ordering for some reason.

To that end, I've renamed the inputs accordingly ("<package>-source"),
while keeping the file names intact. This might also serve as a
reminder to those unbundling them.

Regards,
Leo
R
R
Raghav Gururajan wrote on 21 Jan 2021 04:44
Telegram Desktop (v21)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
d7b8c1f2-72b7-8c0c-42b0-e22e9619d827@raghavgururajan.name

From 9c6905c0a107542ebc4a08cb7b8349d9c81bd557 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (68 lines)
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
From 48258c2c1bc21623985e208f0c943991d27d9f15 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (59 lines)
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
From 46f4660f5b23da77bffb620f00e943418af6bb65 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (60 lines)
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
From 3e49d1c88f0b768648e6bd1a59f7396211f6126b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (59 lines)
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
From 846051b9ac972e45b6a3c7e91824cca7d0c1d0ab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
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
From ff1d90c02ee57a9a74a92e7a496eddbaaa0235bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 77 insertions(+), 1 deletion(-)

Toggle diff (116 lines)
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
From 224a511e7cb2d136512784ed4352ba4f03a39133 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (87 lines)
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
From 092da0e19bfe7618ff294d0a60027f8ea48eb76b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/freedesktop.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
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
From c842b20ffa2dc4f925fd192b01dff982d41a3a96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)

Toggle diff (92 lines)
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
L
L
Leo Prikler wrote on 21 Jan 2021 20:11
[PATCH v22] Add Telegram Desktop
c308f63543a805b4212f920cb845dee29b6b762f.camel@student.tugraz.at
I cleaned up the copying code and also updated the hash (it was still
the one for the recursive checkout). For some reason, telegram also
builds without libjpeg (do they have a local copy that I accidentally
enabled that way?)
From 26d5e6c10da1b454a6ffed46a518217f336daa76 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (92 lines)
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
From 467c1c99b6d0269b0667c9064588917095f90ba9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (24 lines)
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
From 86c49e4c6ba07d6e5809be8543fd647f0269b180 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/13] gnu: Add libchewing.

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

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

Toggle diff (87 lines)
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
From 45c6e70a00d8b08354dd28d4c5c3e5b68075b060 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/13] gnu: Add hime.

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

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

Toggle diff (116 lines)
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
From 2d06679e6cc74521e824cc38e33139abea42f19e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (56 lines)
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
From 8428fb50befeb3e1b8e38821b75b36465c1e07f4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/13] gnu: Add materialdecoration.

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

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

Toggle diff (59 lines)
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
From 5fd4cda5502ece52518393c9c2c9b854e2be9a3d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (60 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index c557c9e2ec..9e39cc0cd7 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
From cba40624114c13d3bd55b858b234b2c2f8f96e0c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 00:52:37 -0500
Subject: [PATCH 10/13] gnu: Add rlottie.

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

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

Toggle diff (59 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 9e39cc0cd7..56d4e0d562 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
From 58d92c2d88517f16cc0b5009e689f416b327f7f9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/13] gnu: Add qt5ct.

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

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

Toggle diff (68 lines)
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
R
R
Raghav Gururajan wrote on 21 Jan 2021 20:37
914adc92-c22d-cc3c-f3b2-be2b472f9f13@raghavgururajan.name
Hi Leo!

Toggle quote (5 lines)
> I cleaned up the copying code and also updated the hash (it was still
> the one for the recursive checkout). For some reason, telegram also
> builds without libjpeg (do they have a local copy that I accidentally
> enabled that way?)

Thanks! With out libjpeg as inputs, does it say 'libjpeg ... found'
during configure phase?

Regards,
RG.
L
L
Leo Prikler wrote on 21 Jan 2021 20:44
bb69c157c008b4745376cca8c527297ef60d6cec.camel@student.tugraz.at
Am Donnerstag, den 21.01.2021, 14:37 -0500 schrieb Raghav Gururajan:
Toggle quote (12 lines)
> Hi Leo!
>
> > I cleaned up the copying code and also updated the hash (it was
> > still
> > the one for the recursive checkout). For some reason, telegram
> > also
> > builds without libjpeg (do they have a local copy that I
> > accidentally
> > enabled that way?)
>
> Thanks! With out libjpeg as inputs, does it say 'libjpeg ... found'
> during configure phase?
Indeed it outputs
-- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
instead, but still succeeds. Let's add it in regardless and try to
erase any existing copy in the sources.

Regards,
Leo
R
R
Raghav Gururajan wrote on 21 Jan 2021 20:46
5dab3819-00b0-2442-99e1-db7eaee09359@raghavgururajan.name
Hi Leo!

Toggle quote (5 lines)
> Indeed it outputs
> -- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
> instead, but still succeeds. Let's add it in regardless and try to
> erase any existing copy in the sources.

Yeah, if libjpeg is added as inputs, it uses it. If not, its either
using bundled one (that we don't know of) or silently disabling some
feature.

Regards,
RG.
R
R
Raghav Gururajan wrote on 22 Jan 2021 05:27
Telegram Desktop (v23)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
577c0bdc-7144-7c35-ff9e-74d5e7143a06@raghavgururajan.name
Phew!
From e83b805f35c59f0b0ec9a6b97db7105b4ca773ac Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 21 Jan 2021 19:28:34 -0500
Subject: [PATCH 14/18] gnu: Add tg-voip.

* gnu/packages/telegram.scm (tg-voip): New variable.
---
gnu/packages/telegram.scm | 52 +++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)

Toggle diff (76 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index e518a8dcd3..f47c82277c 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -19,6 +19,7 @@
(define-module (gnu packages telegram)
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -33,6 +34,7 @@
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system meson))
(define-public tg-owt
@@ -186,3 +188,53 @@ in telegram-desktop. Rlottie is a platform independent standalone c++ library
for rendering vector based animations and art in realtime.")
(home-page "https://github.com/desktop-app/rlottie")
(license license:expat))))
+
+(define-public tg-voip
+ (package
+ (name "tg-voip")
+ (version "2.4.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/telegramdesktop/libtgvoip.git")
+ (commit "37d98e984fd6fa389262307db826d52ab86c8241")))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32 "13dzvyq8p20nlhjihv18aj6y97czk07qdl0k6v81vp6mbwcldg7h"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list
+ "--disable-static"
+ "--disable-dsp" ; FIXME
+ "--enable-audio-callback"
+ "--with-alsa"
+ "--with-pulse")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-linkers
+ (lambda _
+ (substitute* "Makefile.am"
+ (("\\$\\(CRYPTO_LIBS\\) \\$\\(OPUS_LIBS\\)")
+ "$(CRYPTO_LIBS) $(OPUS_LIBS) $(ALSA_LIBS) $(PULSE_LIBS)"))
+ (substitute* "tgvoip.pc.in"
+ (("libcrypto opus")
+ "libcrypto opus alsa libpulse"))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa" ,alsa-lib)
+ ("openssl" ,openssl)
+ ("opus" ,opus)
+ ("pulseaudio" ,pulseaudio)))
+ (synopsis "Telegram VoIP Library")
+ (description "Tg-VoIP is the VoIP library for Telegram Desktop application.")
+ (home-page "https://github.com/telegramdesktop/libtgvoip")
+ (license license:unlicense)))
--
2.30.0
From 7217783db5e04297af929868d8f115d5b579aceb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 21 Jan 2021 19:23:02 -0500
Subject: [PATCH 13/18] gnu: Add tg-rlottie.

* gnu/packages/telegram.scm (tg-rlottie): New variable.
---
gnu/packages/telegram.scm | 47 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 46 insertions(+), 1 deletion(-)

Toggle diff (71 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 0fd47f4f5d..e518a8dcd3 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -19,6 +19,7 @@
(define-module (gnu packages telegram)
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
@@ -31,7 +32,8 @@
#: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 meson))
(define-public tg-owt
(let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
@@ -141,3 +143,46 @@ for its use in telegram desktop client.")
license:gpl3
;; LibSRTP, LibVPx, UsrSCTP and Others
license:bsd-3)))))
+
+(define-public tg-rlottie
+ (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
+ (revision "1"))
+ (package
+ (name "tg-rlottie")
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/desktop-app/rlottie.git")
+ (commit commit)))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags
+ (list
+ "-Dlog=true"
+ "-Ddumptree=true"
+ "-Dtest=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-cxx-flags
+ (lambda _
+ (substitute* "meson.build"
+ (("werror=true")
+ "werror=false"))
+ #t)))))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Lottie Animation Library for Telegram-Desktop")
+ (description "TG-Rlottie is a custom fork of rlottie, modified for its use
+in telegram-desktop. Rlottie is a platform independent standalone c++ library
+for rendering vector based animations and art in realtime.")
+ (home-page "https://github.com/desktop-app/rlottie")
+ (license license:expat))))
--
2.30.0
From 9c6905c0a107542ebc4a08cb7b8349d9c81bd557 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (68 lines)
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
From 48258c2c1bc21623985e208f0c943991d27d9f15 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (59 lines)
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
From 46f4660f5b23da77bffb620f00e943418af6bb65 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (60 lines)
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
From 3e49d1c88f0b768648e6bd1a59f7396211f6126b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (59 lines)
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
From 846051b9ac972e45b6a3c7e91824cca7d0c1d0ab Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
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
From ff1d90c02ee57a9a74a92e7a496eddbaaa0235bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 77 insertions(+), 1 deletion(-)

Toggle diff (116 lines)
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
From 224a511e7cb2d136512784ed4352ba4f03a39133 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (87 lines)
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
From 092da0e19bfe7618ff294d0a60027f8ea48eb76b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/freedesktop.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
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
From c842b20ffa2dc4f925fd192b01dff982d41a3a96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)

Toggle diff (92 lines)
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
L
L
Leo Prikler wrote on 22 Jan 2021 08:42
65b30a610e54a702626e3278776ee2b0b1d72d28.camel@student.tugraz.at
Hi,

Am Donnerstag, den 21.01.2021, 23:27 -0500 schrieb Raghav Gururajan:
Toggle quote (1 lines)
> * gnu/packages/cpp.scm (rlottie): New variable.
I know I signed this off before, but this probably belongs in
animation.scm instead.

Toggle quote (7 lines)
> +(define-public tg-rlottie
> + (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
> + (revision "1"))
> + (package
> + (name "tg-rlottie")
> + (version
> + (git-version "0" revision commit))
Use the latest version previous to that commit as base. If you can,
try to inherit from the rlottie package.
You should probably also call this "rlottie-for-telegram-desktop" in
just the variable name.

Toggle quote (4 lines)
> +(define-public tg-voip
> + (package
> + (name "tg-voip")
> + (version "2.4.4")
Use git-version, also call it "libtgvoip-for-telegram-desktop" as
above.
Both should also be hidden. As an example for how to do this
"correctly", see ffmpeg-for-stepmania in video.scm

Regards,
Leo
R
R
Raghav Gururajan wrote on 28 Jan 2021 01:41
Telegram Desktop (v24)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
d50a7045-f040-31a4-c78f-82902d9d17b4@raghavgururajan.name

From ae7b4f2e2e74b0c82ea2edc5d82d5e9015bad3e7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (92 lines)
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
From 324c9fd7bf76bfc2f2c37feb6504f8ed88720a94 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (24 lines)
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
From 400743163a4875972ac76a3677ce0804e18ad80e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/15] gnu: Add libchewing.

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

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

Toggle diff (87 lines)
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
From 29bb86748beec07d5f7a3c2c95b1d3282467a74c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/15] gnu: Add hime.

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

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

Toggle diff (116 lines)
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
From b2c98842c46da8e64990e6ad31e6df26b03adaac Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (56 lines)
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
From e9233525cfc7c0699c54194a88c6db1d3bd8fd9f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/15] gnu: Add materialdecoration.

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

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

Toggle diff (59 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 96a28ceb29..d1822e9707 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
From e16d011e04e7e523a80c4205f7c820b7afb4f7b2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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.

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

Toggle diff (60 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index d19712275c..ae47490755 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
From a67abbc44f5660235b08e0506dfd1e5e9a0adb45 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 14:45:54 -0500
Subject: [PATCH 10/15] gnu: Add rlottie.

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

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

Toggle diff (57 lines)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 6bfe8f0a12..c92c4ae7e7 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -26,10 +26,12 @@
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu)
@@ -53,6 +55,37 @@
#:use-module (gnu packages video)
#:use-module (gnu packages xiph))
+(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)))
+
;; ETL, synfig, and Synfig Studio are updated in tandem.
(define synfig-version "1.2.2")
--
2.30.0
From 40871c75bc0f5db550298403838ead4f298101eb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/15] gnu: Add qt5ct.

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

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

Toggle diff (68 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index d1822e9707..cef9c6802f 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
From 96168b8baf87a187ebd9797c09360100aca3b3b1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 18:37:39 -0500
Subject: [PATCH 13/15] gnu: Add rlottie-for-telegram-desktop.

* gnu/packages/telegram.scm (rlottie-for-telegram-desktop): New variable.
---
gnu/packages/telegram.scm | 39 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 4263617903..7c5daec706 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -18,7 +18,9 @@
(define-module (gnu packages telegram)
#:use-module (gnu packages)
+ #:use-module (gnu packages animation)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
@@ -31,7 +33,8 @@
#: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 meson))
(define-public webrtc-for-telegram-desktop
(let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
@@ -142,3 +145,37 @@ Telegram project, for its use in telegram desktop client.")
license:gpl3
;; LibSRTP, LibVPx, UsrSCTP and Others
license:bsd-3))))))
+
+(define-public rlottie-for-telegram-desktop
+ (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
+ (revision "1"))
+ (hidden-package
+ (package
+ (inherit rlottie)
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/desktop-app/rlottie.git")
+ (commit commit)))
+ (file-name
+ (git-file-name "rlottie-for-telegram-desktop" version))
+ (sha256
+ (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ "-Dlog=true"
+ "-Ddumptree=true"
+ "-Dtest=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-cxx-flags
+ (lambda _
+ (substitute* "meson.build"
+ (("werror=true")
+ "werror=false"))
+ #t)))))))))
--
2.30.0
From 7ca6ed0673cb4d170995f8f2a7fa5010fd335321 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 18:57:44 -0500
Subject: [PATCH 14/15] gnu: Add libtgvoip-for-telegram-desktop.

* gnu/packages/telegram.scm (libtgvoip-for-telegram-desktop): New variable.
---
gnu/packages/telegram.scm | 47 +++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (78 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 7c5daec706..75877fb8eb 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -20,6 +20,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages animation)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -27,6 +28,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
@@ -34,6 +36,7 @@
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system meson))
(define-public webrtc-for-telegram-desktop
@@ -179,3 +182,47 @@ Telegram project, for its use in telegram desktop client.")
(("werror=true")
"werror=false"))
#t)))))))))
+
+(define-public libtgvoip-for-telegram-desktop
+ (let ((commit "37d98e984fd6fa389262307db826d52ab86c8241")
+ (revision "1"))
+ (hidden-package
+ (package
+ (inherit libtgvoip)
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/telegramdesktop/libtgvoip.git")
+ (commit commit)))
+ (file-name
+ (git-file-name "libtgvoip-for-telegram-desktop" version))
+ (sha256
+ (base32 "13dzvyq8p20nlhjihv18aj6y97czk07qdl0k6v81vp6mbwcldg7h"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ "--disable-static"
+ "--disable-dsp" ; FIXME
+ "--enable-audio-callback"
+ "--with-alsa"
+ "--with-pulse")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-linkers
+ (lambda _
+ (substitute* "Makefile.am"
+ (("\\$\\(CRYPTO_LIBS\\) \\$\\(OPUS_LIBS\\)")
+ "$(CRYPTO_LIBS) $(OPUS_LIBS) $(ALSA_LIBS) $(PULSE_LIBS)"))
+ (substitute* "tgvoip.pc.in"
+ (("libcrypto opus")
+ "libcrypto opus alsa libpulse"))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))))))
--
2.30.0
R
R
Raghav Gururajan wrote on 28 Jan 2021 01:41
Re: Telegram Desktop (v23)
2d1c65e1-b964-7c0d-9194-b96dc1acf7d0@raghavgururajan.name
Hi Leo!

Toggle quote (26 lines)
> Am Donnerstag, den 21.01.2021, 23:27 -0500 schrieb Raghav Gururajan:
>> * gnu/packages/cpp.scm (rlottie): New variable.
> I know I signed this off before, but this probably belongs in
> animation.scm instead.
>
>> +(define-public tg-rlottie
>> + (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
>> + (revision "1"))
>> + (package
>> + (name "tg-rlottie")
>> + (version
>> + (git-version "0" revision commit))
> Use the latest version previous to that commit as base. If you can,
> try to inherit from the rlottie package.
> You should probably also call this "rlottie-for-telegram-desktop" in
> just the variable name.
>
>> +(define-public tg-voip
>> + (package
>> + (name "tg-voip")
>> + (version "2.4.4")
> Use git-version, also call it "libtgvoip-for-telegram-desktop" as
> above.
> Both should also be hidden. As an example for how to do this
> "correctly", see ffmpeg-for-stepmania in video.scm

I have made the changed in v24. :-)

Regards,
RG.
L
L
Leo Prikler wrote on 28 Jan 2021 08:47
Re: Telegram Desktop (v24)
2391e7ec63aa4f28a7ca430843b4f832ab4db522.camel@student.tugraz.at
Am Mittwoch, den 27.01.2021, 19:41 -0500 schrieb Raghav Gururajan:
Toggle quote (1 lines)
> (git-version "0" revision commit)
What are the closest releases of those packages? At which point where
they forked?

Regards,
Leo
R
R
Raghav Gururajan wrote on 30 Jan 2021 18:04
Telegram Desktop (v25)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
4d40dc9c-1e76-7831-d648-7e472252de13@raghavgururajan.name

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

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

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

Toggle diff (92 lines)
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
From 324c9fd7bf76bfc2f2c37feb6504f8ed88720a94 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/19] 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@student.tugraz.at>
---
gnu/packages/freedesktop.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
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
From 400743163a4875972ac76a3677ce0804e18ad80e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/19] gnu: Add libchewing.

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

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

Toggle diff (87 lines)
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
From 29bb86748beec07d5f7a3c2c95b1d3282467a74c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/19] gnu: Add hime.

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

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

Toggle diff (116 lines)
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
From b2c98842c46da8e64990e6ad31e6df26b03adaac Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/19] gnu: Add cmake-shared.

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

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

Toggle diff (56 lines)
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
From e9233525cfc7c0699c54194a88c6db1d3bd8fd9f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/19] gnu: Add materialdecoration.

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

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

Toggle diff (59 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 96a28ceb29..d1822e9707 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
From e16d011e04e7e523a80c4205f7c820b7afb4f7b2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/19] gnu: Add range-v3.

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

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

Toggle diff (60 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index d19712275c..ae47490755 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
From a67abbc44f5660235b08e0506dfd1e5e9a0adb45 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 14:45:54 -0500
Subject: [PATCH 10/19] gnu: Add rlottie.

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

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

Toggle diff (57 lines)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 6bfe8f0a12..c92c4ae7e7 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -26,10 +26,12 @@
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu)
@@ -53,6 +55,37 @@
#:use-module (gnu packages video)
#:use-module (gnu packages xiph))
+(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)))
+
;; ETL, synfig, and Synfig Studio are updated in tandem.
(define synfig-version "1.2.2")
--
2.30.0
From 40871c75bc0f5db550298403838ead4f298101eb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/19] gnu: Add qt5ct.

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

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

Toggle diff (68 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index d1822e9707..cef9c6802f 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
From f08d0b03c2341c970c6720594766ebf5ff841afb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 18:37:39 -0500
Subject: [PATCH 13/19] gnu: Add rlottie-for-telegram-desktop.

* gnu/packages/telegram.scm (rlottie-for-telegram-desktop): New variable.
---
gnu/packages/telegram.scm | 39 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 0558c766d8..81b2f861c6 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -18,7 +18,9 @@
(define-module (gnu packages telegram)
#:use-module (gnu packages)
+ #:use-module (gnu packages animation)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
@@ -31,7 +33,8 @@
#: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 meson))
(define-public webrtc-for-telegram-desktop
(let ((commit "be23804afce3bb2e80a1d57a7c1318c71b82b7de")
@@ -142,3 +145,37 @@ Telegram project, for its use in telegram desktop client.")
license:gpl3
;; LibSRTP, LibVPx, UsrSCTP and Others
license:bsd-3))))))
+
+(define-public rlottie-for-telegram-desktop
+ (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
+ (revision "12"))
+ (hidden-package
+ (package
+ (inherit rlottie)
+ (version
+ (git-version "0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/desktop-app/rlottie.git")
+ (commit commit)))
+ (file-name
+ (git-file-name "rlottie-for-telegram-desktop" version))
+ (sha256
+ (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ "-Dlog=true"
+ "-Ddumptree=true"
+ "-Dtest=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-cxx-flags
+ (lambda _
+ (substitute* "meson.build"
+ (("werror=true")
+ "werror=false"))
+ #t)))))))))
--
2.30.0
From c97aba1234c2cb1136e067574673c4e819fdf0fc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 18:57:44 -0500
Subject: [PATCH 14/19] gnu: Add libtgvoip-for-telegram-desktop.

* gnu/packages/telegram.scm (libtgvoip-for-telegram-desktop): New variable.
---
gnu/packages/telegram.scm | 47 +++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (78 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 81b2f861c6..a2da79a08e 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -20,6 +20,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages animation)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -27,6 +28,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
@@ -34,6 +36,7 @@
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system meson))
(define-public webrtc-for-telegram-desktop
@@ -179,3 +182,47 @@ Telegram project, for its use in telegram desktop client.")
(("werror=true")
"werror=false"))
#t)))))))))
+
+(define-public libtgvoip-for-telegram-desktop
+ (let ((commit "13a5fcb16b04472d808ce122abd695dbf5d206cd")
+ (revision "88"))
+ (hidden-package
+ (package
+ (inherit libtgvoip)
+ (version
+ (git-version "2.4.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/telegramdesktop/libtgvoip.git")
+ (commit commit)))
+ (file-name
+ (git-file-name "libtgvoip-for-telegram-desktop" version))
+ (sha256
+ (base32 "12p6s7vxkf1gh1spdckkdxrx7bjzw881ds9bky7l5fw751cwb3xd"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ "--disable-static"
+ "--disable-dsp" ; FIXME
+ "--enable-audio-callback"
+ "--with-alsa"
+ "--with-pulse")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-linkers
+ (lambda _
+ (substitute* "Makefile.am"
+ (("\\$\\(CRYPTO_LIBS\\) \\$\\(OPUS_LIBS\\)")
+ "$(CRYPTO_LIBS) $(OPUS_LIBS) $(ALSA_LIBS) $(PULSE_LIBS)"))
+ (substitute* "tgvoip.pc.in"
+ (("libcrypto opus")
+ "libcrypto opus alsa libpulse"))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))))))
--
2.30.0
From cf7065c7e4b0ef2af7e0a6a018d6a3d8da279cc1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 30 Jan 2021 11:42:12 -0500
Subject: [PATCH 15/19] gnu: kwayland: Disable failing tests.

* gnu/packages/kde-frameworks.scm (kwayland) [arguments]<#:phases>
['disable-failing-tests]: New phase.
---
gnu/packages/kde-frameworks.scm | 6 ++++++
1 file changed, 6 insertions(+)

Toggle diff (19 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 8c2028b978..cf5840f3f3 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1049,6 +1049,12 @@ integration with a custom editor as well as a ready-to-use
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "autotests/client/CMakeLists.txt"
+ ((" add_test\\(NAME kwayland-testPlasmaWindowModel COMMAND testPlasmaWindowModel\\)")
+ ""))
+ #t))
(add-before 'check 'check-setup
(lambda _
(setenv "XDG_RUNTIME_DIR" "/tmp")
--
2.30.0
Attachment: OpenPGP_signature
R
R
Raghav Gururajan wrote on 30 Jan 2021 19:02
Telegram Desktop (v26)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
1556ce18-16bb-7c27-c4ed-08f05cbaabef@raghavgururajan.name

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

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

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

Toggle diff (92 lines)
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
From 324c9fd7bf76bfc2f2c37feb6504f8ed88720a94 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 2 Jan 2021 23:51:51 -0500
Subject: [PATCH 03/19] 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@student.tugraz.at>
---
gnu/packages/freedesktop.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
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
From 400743163a4875972ac76a3677ce0804e18ad80e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 00:53:40 -0500
Subject: [PATCH 04/19] gnu: Add libchewing.

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

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

Toggle diff (87 lines)
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
From 29bb86748beec07d5f7a3c2c95b1d3282467a74c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 14 Jan 2021 01:02:08 -0500
Subject: [PATCH 05/19] gnu: Add hime.

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

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

Toggle diff (116 lines)
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
From b2c98842c46da8e64990e6ad31e6df26b03adaac Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:03:00 -0500
Subject: [PATCH 07/19] gnu: Add cmake-shared.

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

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

Toggle diff (56 lines)
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
From e9233525cfc7c0699c54194a88c6db1d3bd8fd9f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 3 Jan 2021 19:08:43 -0500
Subject: [PATCH 08/19] gnu: Add materialdecoration.

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

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

Toggle diff (59 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 96a28ceb29..d1822e9707 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
From e16d011e04e7e523a80c4205f7c820b7afb4f7b2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 4 Jan 2021 23:59:17 -0500
Subject: [PATCH 09/19] gnu: Add range-v3.

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

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

Toggle diff (60 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index d19712275c..ae47490755 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
From a67abbc44f5660235b08e0506dfd1e5e9a0adb45 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 14:45:54 -0500
Subject: [PATCH 10/19] gnu: Add rlottie.

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

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

Toggle diff (57 lines)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 6bfe8f0a12..c92c4ae7e7 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -26,10 +26,12 @@
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu)
@@ -53,6 +55,37 @@
#:use-module (gnu packages video)
#:use-module (gnu packages xiph))
+(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)))
+
;; ETL, synfig, and Synfig Studio are updated in tandem.
(define synfig-version "1.2.2")
--
2.30.0
From 40871c75bc0f5db550298403838ead4f298101eb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 5 Jan 2021 17:50:16 -0500
Subject: [PATCH 11/19] gnu: Add qt5ct.

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

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

Toggle diff (68 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index d1822e9707..cef9c6802f 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
From 67e422fea757dbe2d01bccd872333354af0057b6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 18:37:39 -0500
Subject: [PATCH 13/19] gnu: Add rlottie-for-telegram-desktop.

* gnu/packages/telegram.scm (rlottie-for-telegram-desktop): New variable.
---
gnu/packages/telegram.scm | 39 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index adcdd3a6b3..a087252400 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -18,7 +18,9 @@
(define-module (gnu packages telegram)
#:use-module (gnu packages)
+ #:use-module (gnu packages animation)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
@@ -31,7 +33,8 @@
#: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 meson))
(define-public webrtc-for-telegram-desktop
(let ((commit "be23804afce3bb2e80a1d57a7c1318c71b82b7de")
@@ -143,3 +146,37 @@ Telegram project, for its use in telegram desktop client.")
license:gpl3
;; LibSRTP, LibVPx, UsrSCTP and Others
license:bsd-3))))))
+
+(define-public rlottie-for-telegram-desktop
+ (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
+ (revision "12"))
+ (hidden-package
+ (package
+ (inherit rlottie)
+ (version
+ (git-version "0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/desktop-app/rlottie.git")
+ (commit commit)))
+ (file-name
+ (git-file-name "rlottie-for-telegram-desktop" version))
+ (sha256
+ (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ "-Dlog=true"
+ "-Ddumptree=true"
+ "-Dtest=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-cxx-flags
+ (lambda _
+ (substitute* "meson.build"
+ (("werror=true")
+ "werror=false"))
+ #t)))))))))
--
2.30.0
From 894bc3c104ac8a46b210b1a42285b74807a80144 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 18:57:44 -0500
Subject: [PATCH 14/19] gnu: Add libtgvoip-for-telegram-desktop.

* gnu/packages/telegram.scm (libtgvoip-for-telegram-desktop): New variable.
---
gnu/packages/telegram.scm | 47 +++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (78 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index a087252400..027cc44067 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -20,6 +20,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages animation)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -27,6 +28,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
@@ -34,6 +36,7 @@
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system meson))
(define-public webrtc-for-telegram-desktop
@@ -180,3 +183,47 @@ Telegram project, for its use in telegram desktop client.")
(("werror=true")
"werror=false"))
#t)))))))))
+
+(define-public libtgvoip-for-telegram-desktop
+ (let ((commit "13a5fcb16b04472d808ce122abd695dbf5d206cd")
+ (revision "88"))
+ (hidden-package
+ (package
+ (inherit libtgvoip)
+ (version
+ (git-version "2.4.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/telegramdesktop/libtgvoip.git")
+ (commit commit)))
+ (file-name
+ (git-file-name "libtgvoip-for-telegram-desktop" version))
+ (sha256
+ (base32 "12p6s7vxkf1gh1spdckkdxrx7bjzw881ds9bky7l5fw751cwb3xd"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ "--disable-static"
+ "--disable-dsp" ; FIXME
+ "--enable-audio-callback"
+ "--with-alsa"
+ "--with-pulse")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-linkers
+ (lambda _
+ (substitute* "Makefile.am"
+ (("\\$\\(CRYPTO_LIBS\\) \\$\\(OPUS_LIBS\\)")
+ "$(CRYPTO_LIBS) $(OPUS_LIBS) $(ALSA_LIBS) $(PULSE_LIBS)"))
+ (substitute* "tgvoip.pc.in"
+ (("libcrypto opus")
+ "libcrypto opus alsa libpulse"))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))))))
--
2.30.0
From ff347294a44097f9b6a64ad41fedf89c3d0e87dd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 30 Jan 2021 11:42:12 -0500
Subject: [PATCH 15/19] gnu: kwayland: Disable failing tests.

* gnu/packages/kde-frameworks.scm (kwayland) [arguments]<#:phases>
['disable-failing-tests]: New phase.
---
gnu/packages/kde-frameworks.scm | 6 ++++++
1 file changed, 6 insertions(+)

Toggle diff (19 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 8c2028b978..cf5840f3f3 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1049,6 +1049,12 @@ integration with a custom editor as well as a ready-to-use
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "autotests/client/CMakeLists.txt"
+ ((" add_test\\(NAME kwayland-testPlasmaWindowModel COMMAND testPlasmaWindowModel\\)")
+ ""))
+ #t))
(add-before 'check 'check-setup
(lambda _
(setenv "XDG_RUNTIME_DIR" "/tmp")
--
2.30.0
Attachment: OpenPGP_signature
L
L
Leo Prikler wrote on 30 Jan 2021 19:24
Re: Telegram Desktop (v25)
(name . Raghav Gururajan)(address . rg@raghavgururajan.name)(address . 45721@debbugs.gnu.org)
2c5cc194c98b7a7c11afc73e7b6f995c817e5e9d.camel@student.tugraz.at
Am Samstag, den 30.01.2021, 12:46 -0500 schrieb Raghav Gururajan:
Toggle quote (23 lines)
> Hi Leo!
>
> > > + (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
> > > + (revision "12"))
> > > + (hidden-package
> > > + (package
> > > + (inherit rlottie)
> > > + (version
> > > + (git-version "0.2" revision commit))
> > According to Github, Telegram's rlottie is 19 commits ahead and 193
> > commits behind Samsung's rlottie, whereas Samsung has had 34
> > commits to
> > master since the release of 0.2. In other words, this should still
> > be
> > 0.1, and I'm not too sure about revision 12.
>
> The desktop-app/rlottie forked samsung/rlottie at a commit
> corresponding
> to v0.2. After forking, desktop-app/rlottie made 19 commits. The
> 12th
> commit is what the package is what this package is building from.
> Hence
> the revision number 12.
That timeline makes little sense. The v0.2 release was on August 19th
2020, but the two libraries diverge on August 7th -- again according to
Github. The files also indicate 0.1.

Toggle quote (8 lines)
> > > + (name "telegram-desktop")
> > > + (version "2.5.8")
> > Any news w.r.t. tdesktop#10182 in this build?
>
> Nope! :-(
>
> But build fails w.r.t updated version of tg_owt. I'll have to send
> v26.
I don't think building static libraries is very guixy. If 2.5.8 is no
significant improvement over 2.5.1 in that regard, let's stay with the
latter while we can still build shared libraries.

Regards,
Leo
R
R
Raghav Gururajan wrote on 30 Jan 2021 20:02
Telegram Desktop (v27)
(address . 45721@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
6acc50ac-81b5-eefe-3c03-7fd5839500b1@raghavgururajan.name

From ae7b4f2e2e74b0c82ea2edc5d82d5e9015bad3e7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/fcitx.scm | 61 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)

Toggle diff (92 lines)
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
From 324c9fd7bf76bfc2f2c37feb6504f8ed88720a94 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/freedesktop.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
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
From 400743163a4875972ac76a3677ce0804e18ad80e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 61 +++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (87 lines)
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
From 29bb86748beec07d5f7a3c2c95b1d3282467a74c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/language.scm | 78 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 77 insertions(+), 1 deletion(-)

Toggle diff (116 lines)
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
From b2c98842c46da8e64990e6ad31e6df26b03adaac Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cmake.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
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
From e9233525cfc7c0699c54194a88c6db1d3bd8fd9f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (59 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 96a28ceb29..d1822e9707 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
From e16d011e04e7e523a80c4205f7c820b7afb4f7b2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/cpp.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (60 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index d19712275c..ae47490755 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
From a67abbc44f5660235b08e0506dfd1e5e9a0adb45 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 14:45:54 -0500
Subject: [PATCH 10/18] gnu: Add rlottie.

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

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

Toggle diff (57 lines)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 6bfe8f0a12..c92c4ae7e7 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -26,10 +26,12 @@
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu)
@@ -53,6 +55,37 @@
#:use-module (gnu packages video)
#:use-module (gnu packages xiph))
+(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)))
+
;; ETL, synfig, and Synfig Studio are updated in tandem.
(define synfig-version "1.2.2")
--
2.30.0
From 40871c75bc0f5db550298403838ead4f298101eb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
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@student.tugraz.at>
---
gnu/packages/qt.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index d1822e9707..cef9c6802f 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
From 94af32ab5f51cff6987d0838f2324acab1d3e343 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 18:37:39 -0500
Subject: [PATCH 13/18] gnu: Add rlottie-for-telegram-desktop.

* gnu/packages/telegram.scm (rlottie-for-telegram-desktop): New variable.
---
gnu/packages/telegram.scm | 39 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 8efa8f2a0a..461681dcfa 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -18,7 +18,9 @@
(define-module (gnu packages telegram)
#:use-module (gnu packages)
+ #:use-module (gnu packages animation)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
@@ -31,7 +33,8 @@
#: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 meson))
(define-public webrtc-for-telegram-desktop
(let ((commit "fa86fcc00c218813d61a272a56feab55c76a1ab9")
@@ -142,3 +145,37 @@ Telegram project, for its use in telegram desktop client.")
license:gpl3
;; LibSRTP, LibVPx, UsrSCTP and Others
license:bsd-3))))))
+
+(define-public rlottie-for-telegram-desktop
+ (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
+ (revision "671"))
+ (hidden-package
+ (package
+ (inherit rlottie)
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/desktop-app/rlottie.git")
+ (commit commit)))
+ (file-name
+ (git-file-name "rlottie-for-telegram-desktop" version))
+ (sha256
+ (base32 "1lxpbgbhps9rmck036mgmiknqrzpjxpas8n7qxykv6pwzn0c8n0c"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ "-Dlog=true"
+ "-Ddumptree=true"
+ "-Dtest=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-cxx-flags
+ (lambda _
+ (substitute* "meson.build"
+ (("werror=true")
+ "werror=false"))
+ #t)))))))))
--
2.30.0
From ca9dea43a7d66b3176bbd0609b81d034f814ccec Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 27 Jan 2021 18:57:44 -0500
Subject: [PATCH 14/18] gnu: Add libtgvoip-for-telegram-desktop.

* gnu/packages/telegram.scm (libtgvoip-for-telegram-desktop): New variable.
---
gnu/packages/telegram.scm | 47 +++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (78 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 461681dcfa..86b0abfbfb 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -20,6 +20,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages animation)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -27,6 +28,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
@@ -34,6 +36,7 @@
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system meson))
(define-public webrtc-for-telegram-desktop
@@ -179,3 +182,47 @@ Telegram project, for its use in telegram desktop client.")
(("werror=true")
"werror=false"))
#t)))))))))
+
+(define-public libtgvoip-for-telegram-desktop
+ (let ((commit "37d98e984fd6fa389262307db826d52ab86c8241")
+ (revision "87"))
+ (hidden-package
+ (package
+ (inherit libtgvoip)
+ (version
+ (git-version "2.4.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/telegramdesktop/libtgvoip.git")
+ (commit commit)))
+ (file-name
+ (git-file-name "libtgvoip-for-telegram-desktop" version))
+ (sha256
+ (base32 "13dzvyq8p20nlhjihv18aj6y97czk07qdl0k6v81vp6mbwcldg7h"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ "--disable-static"
+ "--disable-dsp" ; FIXME
+ "--enable-audio-callback"
+ "--with-alsa"
+ "--with-pulse")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-linkers
+ (lambda _
+ (substitute* "Makefile.am"
+ (("\\$\\(CRYPTO_LIBS\\) \\$\\(OPUS_LIBS\\)")
+ "$(CRYPTO_LIBS) $(OPUS_LIBS) $(ALSA_LIBS) $(PULSE_LIBS)"))
+ (substitute* "tgvoip.pc.in"
+ (("libcrypto opus")
+ "libcrypto opus alsa libpulse"))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))))))
--
2.30.0
Attachment: OpenPGP_signature
R
R
Raghav Gururajan wrote on 30 Jan 2021 20:30
Re: Telegram Desktop (v25)
(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)(address . 45721@debbugs.gnu.org)
4322294b-edf7-9c70-fa16-26f0d9723450@raghavgururajan.name
Hi Leo!

Toggle quote (37 lines)
>>>> + (let ((commit "cbd43984ebdf783e94c8303c41385bf82aa36d5b")
>>>> + (revision "12"))
>>>> + (hidden-package
>>>> + (package
>>>> + (inherit rlottie)
>>>> + (version
>>>> + (git-version "0.2" revision commit))
>>> According to Github, Telegram's rlottie is 19 commits ahead and 193
>>> commits behind Samsung's rlottie, whereas Samsung has had 34
>>> commits to
>>> master since the release of 0.2. In other words, this should still
>>> be
>>> 0.1, and I'm not too sure about revision 12.
>>
>> The desktop-app/rlottie forked samsung/rlottie at a commit
>> corresponding
>> to v0.2. After forking, desktop-app/rlottie made 19 commits. The
>> 12th
>> commit is what the package is what this package is building from.
>> Hence
>> the revision number 12.
> That timeline makes little sense. The v0.2 release was on August 19th
> 2020, but the two libraries diverge on August 7th -- again according to
> Github. The files also indicate 0.1.
>
>>>> + (name "telegram-desktop")
>>>> + (version "2.5.8")
>>> Any news w.r.t. tdesktop#10182 in this build?
>>
>> Nope! :-(
>>
>> But build fails w.r.t updated version of tg_owt. I'll have to send
>> v26.
> I don't think building static libraries is very guixy. If 2.5.8 is no
> significant improvement over 2.5.1 in that regard, let's stay with the
> latter while we can still build shared libraries.

Agreed. I have sent v27.

Regards,
RG.
Attachment: OpenPGP_signature
L
L
Leo Prikler wrote on 31 Jan 2021 09:37
Re: Telegram Desktop (v27)
7b7ea698baead941ee5779b6f45b69f8b05a1dcc.camel@student.tugraz.at
Pushed with a small change – instead of using 0 for the rlottie base
version, it's 0.0.1 in line with upstream.

Thanks for your hard work!
Closed
J
J
Jonathan Brielmaier wrote on 31 Jan 2021 14:57
(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
30a0b44f-a914-acdf-6f7f-b3a8a430d617@web.de
Hi Raghav,

thanks for your hard work on Telegram! I always avoided it as I know
from openSUSE packaging that it's quite a bunch for work...

`libchewing` has FAILs in the test suite when building with my standard
12 cores:
test-easy-symbol
test-fullshape

When building with `--cores=1` the test suite passes, maybe we should
set the build on parallel. It doesn't take much longer...

~Jonathan
L
L
Leo Prikler wrote on 31 Jan 2021 15:10
36db543ad70b2e363596361c56195a8de92bba59.camel@student.tugraz.at
Hi Jonathan,
Am Sonntag, den 31.01.2021, 14:57 +0100 schrieb Jonathan Brielmaier:
Toggle quote (15 lines)
> Hi Raghav,
>
> thanks for your hard work on Telegram! I always avoided it as I know
> from openSUSE packaging that it's quite a bunch for work...
>
> `libchewing` has FAILs in the test suite when building with my
> standard
> 12 cores:
> test-easy-symbol
> test-fullshape
>
> When building with `--cores=1` the test suite passes, maybe we should
> set the build on parallel. It doesn't take much longer...
>
> ~Jonathan
If you're willing to write up a patch, I'd be happy to push that for
you. It seems libchewing fails on CI as well. Is that the same issue
you're experiencing or is it a different one?

Regards,
Leo
J
J
Jonathan Brielmaier wrote on 31 Jan 2021 17:50
a90526b3-6a31-bb2f-af36-609a8cd6ad20@web.de
On 31.01.21 15:10, Leo Prikler wrote:
Toggle quote (21 lines)
> Hi Jonathan,
> Am Sonntag, den 31.01.2021, 14:57 +0100 schrieb Jonathan Brielmaier:
>> Hi Raghav,
>>
>> thanks for your hard work on Telegram! I always avoided it as I know
>> from openSUSE packaging that it's quite a bunch for work...
>>
>> `libchewing` has FAILs in the test suite when building with my
>> standard
>> 12 cores:
>> test-easy-symbol
>> test-fullshape
>>
>> When building with `--cores=1` the test suite passes, maybe we should
>> set the build on parallel. It doesn't take much longer...
>>
>> ~Jonathan
> If you're willing to write up a patch, I'd be happy to push that for
> you. It seems libchewing fails on CI as well. Is that the same issue
> you're experiencing or is it a different one?

On i686 and aarch64 are the same both tests mentioned above failing.

So I guess a `#:parallel-tests? #f` is the best solution here. Attached
is my patch, which I would push later if you have no objections...
From 67286626b74daff396c33fe9d8fca6f77f58642b Mon Sep 17 00:00:00 2001
From: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Date: Sun, 31 Jan 2021 17:47:20 +0100
Subject: [PATCH] gnu: libchewing: Disable parallel tests.

Some tests fail constant when building with multiple threads.

* gnu/packages/language.scm (libchewing)[arguments]: Set
`parallel-tests` to false.
---
gnu/packages/language.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Toggle diff (17 lines)
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 67b519aa56..ed6c0e6686 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -287,7 +287,9 @@ Random Cage Fighting Birds, Cool Music etc.")
(base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ ;; test-easy-symbol and test-fullshape fail with multiple cores.
+ `(#:parallel-tests? #f
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
--
2.30.0
L
L
Leo Prikler wrote on 31 Jan 2021 17:56
d7356f9426cf43aa865a58e6b8320dcee668b03e.camel@student.tugraz.at
Am Sonntag, den 31.01.2021, 17:50 +0100 schrieb Jonathan Brielmaier:
Toggle quote (32 lines)
> On 31.01.21 15:10, Leo Prikler wrote:
> > Hi Jonathan,
> > Am Sonntag, den 31.01.2021, 14:57 +0100 schrieb Jonathan
> > Brielmaier:
> > > Hi Raghav,
> > >
> > > thanks for your hard work on Telegram! I always avoided it as I
> > > know
> > > from openSUSE packaging that it's quite a bunch for work...
> > >
> > > `libchewing` has FAILs in the test suite when building with my
> > > standard
> > > 12 cores:
> > > test-easy-symbol
> > > test-fullshape
> > >
> > > When building with `--cores=1` the test suite passes, maybe we
> > > should
> > > set the build on parallel. It doesn't take much longer...
> > >
> > > ~Jonathan
> > If you're willing to write up a patch, I'd be happy to push that
> > for
> > you. It seems libchewing fails on CI as well. Is that the same
> > issue
> > you're experiencing or is it a different one?
>
> On i686 and aarch64 are the same both tests mentioned above failing.
>
> So I guess a `#:parallel-tests? #f` is the best solution here.
> Attached
> is my patch, which I would push later if you have no objections...
I'd personally pack the comment inside the list, otherwise LGTM.
J
J
Jonathan Brielmaier wrote on 31 Jan 2021 18:01
f2db3764-a84d-3704-f082-3d97339e96a0@web.de
On 31.01.21 17:56, Leo Prikler wrote:
Toggle quote (8 lines)
>> On i686 and aarch64 are the same both tests mentioned above failing.
>>
>> So I guess a `#:parallel-tests? #f` is the best solution here.
>> Attached
>> is my patch, which I would push later if you have no objections...
> I'd personally pack the comment inside the list, otherwise LGTM.
>

Hint accepted and pushed as 63c237d0448d92b3f0b0f9e9c337b2078a27a715.
R
R
Raghav Gururajan wrote on 31 Jan 2021 20:11
938a5279-2a4d-54b4-2ed0-30672c51be7e@raghavgururajan.name
Hi Leo!

Toggle quote (3 lines)
> Pushed with a small change – instead of using 0 for the rlottie base
> version, it's 0.0.1 in line with upstream.

Thanks a lot.

Toggle quote (2 lines)
> Thanks for your hard work!

:-)

Regards,
RG.
Attachment: OpenPGP_signature
Closed
R
R
Raghav Gururajan wrote on 31 Jan 2021 20:14
ab6a4018-8292-3f1e-fb27-38b23a403790@raghavgururajan.name
Hi Jonathan!

Toggle quote (10 lines)
>>> On i686 and aarch64 are the same both tests mentioned above failing.
>>>
>>> So I guess a `#:parallel-tests? #f` is the best solution here.
>>> Attached
>>> is my patch, which I would push later if you have no objections...
>> I'd personally pack the comment inside the list, otherwise LGTM.
>>
>
> Hint accepted and pushed as 63c237d0448d92b3f0b0f9e9c337b2078a27a715.

Thanks for fixing it.

Regards,
RG.
Attachment: OpenPGP_signature
?
Your comment

This issue is archived.

To comment on this conversation send an email to 45721@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 45721
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch