GNU bug report logs - #46012
Upgrade Nheko

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

Package: guix-patches; Reported by: Nicolò Balzarotti <anothersms@HIDDEN>; Keywords: patch; merged with #47273, #48057; dated Thu, 21 Jan 2021 00:38:02 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.
Merged 46012 47273 48057. Request was from Tobias Geerinckx-Rice <me@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 46012) by debbugs.gnu.org; 27 Jan 2021 23:03:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 27 18:03:18 2021
Received: from localhost ([127.0.0.1]:46412 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l4tqA-0008EG-Gf
	for submit <at> debbugs.gnu.org; Wed, 27 Jan 2021 18:03:18 -0500
Received: from mail-wr1-f50.google.com ([209.85.221.50]:35125)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <anothersms@HIDDEN>) id 1l4tq8-0008E2-2h
 for 46012 <at> debbugs.gnu.org; Wed, 27 Jan 2021 18:03:09 -0500
Received: by mail-wr1-f50.google.com with SMTP id l12so3611402wry.2
 for <46012 <at> debbugs.gnu.org>; Wed, 27 Jan 2021 15:03:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:subject:in-reply-to:references:date:message-id:mime-version;
 bh=gGl8kyNsslxdpc4vKBqGPr/PdxKv7hy0cgeYmgBgi8o=;
 b=fh2tZ2juJqhU7gg2Y5myXBK4MsBlEwPADbwYSQqg7hrFzz68sFkOj9U+7E+aYUPhMK
 3IfgkMwaExVkSaP42d0VDDT6NoBL3SHJ1XrXpvx7Xub3VHh+Hskco5KyP0WWMjulWOGL
 uI/Gm7oUoCSQlS69WkLfpxucfBtK+y4xLfBwhmkJhLOo4vXzyuLa/QWv/st6yvepDCeD
 k6FM9o/5uvdec1dkTYrCWwoJ1eBgg0xLrMX5NBO4qeTdDSb8l4ushVvE4YdW7hk2pEHD
 iqxUqeelYDBOkqYTOZZv3QBdLe1gM1IZm/VouMPJz+um04EQ5BkNA0fuBzKDHqIKrfUq
 f7KQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:in-reply-to:references:date
 :message-id:mime-version;
 bh=gGl8kyNsslxdpc4vKBqGPr/PdxKv7hy0cgeYmgBgi8o=;
 b=ASHdlyc7sunEElqYRY2+aJd53Zy4XQtp4okWdwi3TR7qoNWVMamoHntn4QccajupT1
 IckUSy3vAGzZT2dQKSegVjBLeXvWL5uwPGuDJE79nCcVNNpE2yhbIwH0rRj9fC8qyG0x
 bGCT8262k7IZIocGUIrPFtZARRBX71XfYP9VuAj4hrxRZT3MRxwDELZyfuaHRIlh5So4
 LEnJrSFa1XfDcdzn9WUt66Rsppnpe20e7jOSPYM1K4dQqCuG5zONl6/l9cjrYsASCNJd
 98XIV95r2+UTi+VoQeGTmJUh2uEtioyW/TZSETf2gV9XlOPxLXtvwBgzI2cwa1au+q2b
 iq3g==
X-Gm-Message-State: AOAM531aM530ccqENRM2u8F2gY7zAdEon1KxA/X82x8QrNznAwaFe8EX
 hOKA3NWe97jVyAvve/J0Uq5XMSPI0h4=
X-Google-Smtp-Source: ABdhPJyz858HHcpnLT/Xp7iyak6SsQtWuGA1+jyhBqZaSWI+eOP8hHe7HUh2lbh/7gHLcKcOILZ/oQ==
X-Received: by 2002:a5d:6351:: with SMTP id b17mr13238662wrw.410.1611788582427; 
 Wed, 27 Jan 2021 15:03:02 -0800 (PST)
Received: from guixSD (host-87-4-165-57.retail.telecomitalia.it. [87.4.165.57])
 by smtp.gmail.com with ESMTPSA id h18sm4697286wru.65.2021.01.27.15.03.00
 for <46012 <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 27 Jan 2021 15:03:01 -0800 (PST)
From: =?utf-8?Q?Nicol=C3=B2?= Balzarotti <anothersms@HIDDEN>
To: 46012 <at> debbugs.gnu.org
Subject: Re: bug#46012: Acknowledgement (Upgrade Nheko)
In-Reply-To: <handler.46012.B.161118945726837.ack <at> debbugs.gnu.org>
References: <875z3ryvk0.fsf@HIDDEN>
 <handler.46012.B.161118945726837.ack <at> debbugs.gnu.org>
Date: Thu, 28 Jan 2021 00:02:59 +0100
Message-ID: <87ft2mc7a4.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  In the meanwhile a new version has been released, so here's
 the update patch set. Discussion happened on bug#46013, v3, compared to v2,
 just updates mtxclient to v 0.4.1 (with relative hash) and nheko [...] 
 Content analysis details:   (2.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (anothersms[at]gmail.com)
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: nixo.xyz (xyz)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -0.0 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)
 [209.85.221.50 listed in wl.mailspike.net]
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [209.85.221.50 listed in list.dnswl.org]
X-Debbugs-Envelope-To: 46012
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

--=-=-=
Content-Type: text/plain


In the meanwhile a new version has been released, so here's the update
patch set.  Discussion happened on bug#46013, v3, compared to v2, just
updates mtxclient to v 0.4.1 (with relative hash) and nheko to 0.8.1.


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment; filename=v3-0001-gnu-Add-cpp-httplib.patch
Content-Transfer-Encoding: quoted-printable

From 06f9fa6103ce202299bb51bea8ff2b1e46a39644 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@HIDDEN>
Date: Wed, 27 Jan 2021 23:44:04 +0100
Subject: [PATCH v3 1/4] gnu: Add cpp-httplib.

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

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 73a3ceb2df..a1bef2332f 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -16,6 +16,7 @@
 ;;; Copyright =C2=A9 2020 Alexandros Theodotou <alex@HIDDEN>
 ;;; Copyright =C2=A9 2020, 2021 Greg Hogan <code@HIDDEN>
 ;;; Copyright =C2=A9 2020 Brett Gilio <brettg@HIDDEN>
+;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,6 +58,7 @@
   #:use-module (gnu packages logging)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages pretty-print)
@@ -475,6 +477,44 @@ tools:
 @end itemize\n")
     (license license:bsd-3)))
=20
+(define-public cpp-httplib
+  (package
+    (name "cpp-httplib")
+    (version "0.8.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/yhirose/cpp-httplib")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32 "1l9n58ml7sygy723ws0z6brdbx4spc6fya6vgim11hpiy5b7zdkx"))
+       (file-name (git-file-name name version))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       '("-DBUILD_SHARED_LIBS=3DON"
+         "-DHTTPLIB_COMPILE=3DON")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key source #:allow-other-keys)
+             ;; openssl genrsa wants to write a file in the git checkout
+             (copy-file (string-append source "/test") "test")
+             (chmod "test" #o744)
+             (invoke "make"))))))
+    (native-inputs
+     `(("python" ,python) ; required to build shared lib
+       ;; required for tests
+       ("openssl" ,openssl)
+       ("zlib" ,zlib)))
+    (home-page "https://github.com/yhirose/cpp-httplib")
+    (synopsis "C++ header-only HTTP/HTTPS server and client library")
+    (description "cpp-httplib is a C++11 single-file header-only cross
+platform blocking HTTP/HTTPS library, easy to setup.  Just include the
+@file{httplib.h} file in your code!")
+    (license license:expat)))
+
 (define-public cpplint
   (package
     (name "cpplint")
--=20
2.30.0


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment; filename=v3-0002-gnu-Add-blurhash.patch
Content-Transfer-Encoding: quoted-printable

From a465b378ec920f990b72e80df31a42a6083c3f23 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@HIDDEN>
Date: Wed, 20 Jan 2021 17:56:04 +0100
Subject: [PATCH v3 2/4] gnu: Add blurhash.

* gnu/packages/image.scm (blurhash): New variable.
---
 gnu/packages/image.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 935333dee2..d633b2aeab 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -28,6 +28,7 @@
 ;;; Copyright =C2=A9 2020 Maxim Cournoyer <maxim.cournoyer@HIDDEN>
 ;;; Copyright =C2=A9 2020 Zhu Zihao <all_but_last@HIDDEN>
 ;;; Copyright =C2=A9 2020 Vinicius Monego <monego@HIDDEN>
+;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -59,6 +60,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gimp)
   #:use-module (gnu packages gl)
@@ -1996,6 +1998,30 @@ SNG is implemented by a compiler/decompiler called s=
ng that
 losslessly translates between SNG and PNG.")
     (license license:zlib)))
=20
+(define-public blurhash
+  (package
+    (name "blurhash")
+    (version "0.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Nheko-Reborn/blurhash")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0jy2iigarskwfhskyladbb6l92x1fb3i3vz4bvcks0za4w5hfxk5"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("cmake" ,cmake)
+       ("doctest" ,doctest)
+       ("gcc" ,gcc-8)))
+    (home-page "https://github.com/Nheko-Reborn/blurhash")
+    (synopsis "C++ blurhash encoder/decoder")
+    (description "Simple encoder and decoder for blurhashes.  Contains a
+command line program as well as a shared library.")
+    (license license:boost1.0)))
+
 (define-public lodepng
   ;; There are no tags in the repository, so we take the version as define=
d in
   ;; lodepng.cpp.
--=20
2.30.0


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment;
 filename=v3-0004-gnu-nheko-Update-to-0.8.1.patch
Content-Transfer-Encoding: quoted-printable

From ff300d202fd083f2ad7a67c736dcb29f6588e2f6 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@HIDDEN>
Date: Wed, 27 Jan 2021 23:54:55 +0100
Subject: [PATCH v3 4/4] gnu: nheko: Update to 0.8.1.

* gnu/packages/messaging.scm (nheko): Update to 0.8.1.
[source snippet]: Remove third_party folder.
[arguments]: Remove -fpermissive flag, remove remove-Werror phase, add phase
wrap-program and unbundle-dependencies.
[inputs]: Add gst-plugins-base, gst-plugins-bad, libnice, qtkeychain,
and unbundle blurhash, cpp-httplib and single-application.
[native-inputs]: Add doxygen, graphviz used to build documentation.
[description]: Simplify by removing the long list, add new features.
(mtxclient): Update to 0.4.1.
[arguments]: Remove set-home phase.
---
 gnu/packages/messaging.scm | 90 +++++++++++++++++++++++---------------
 1 file changed, 54 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1820a146d1..806d939738 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -18,7 +18,7 @@
 ;;; Copyright =C2=A9 2019 Tanguy Le Carrour <tanguy@HIDDEN>
 ;;; Copyright =C2=A9 2019, 2020 Brett Gilio <brettg@HIDDEN>
 ;;; Copyright =C2=A9 2019, 2020 Timotej Lazar <timotej.lazar@HIDDEN>
-;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
+;;; Copyright =C2=A9 2020, 2021 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
 ;;; Copyright =C2=A9 2020 Vincent Legoll <vincent.legoll@HIDDEN>
 ;;; Copyright =C2=A9 2020 Marius Bakke <mbakke@HIDDEN>
 ;;; Copyright =C2=A9 2020 Reza Alizadeh Majd <r.majd@HIDDEN>
@@ -2227,7 +2227,7 @@ QMatrixClient project.")
 (define-public mtxclient
   (package
     (name "mtxclient")
-    (version "0.3.1")
+    (version "0.4.1")
     (source
      (origin
        (method git-fetch)
@@ -2236,7 +2236,7 @@ QMatrixClient project.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1dg4dq20g0ah62j5s3gpsxqq4ny7lxkxdxa9q6g54hdwkrb9ms7x"))))
+        (base32 "1044zil3izhb3whhfjah7w0kg5mr3hys32cjffky681d3mb3wi5n"))))
     (arguments
      `(#:configure-flags
        (list
@@ -2249,12 +2249,6 @@ QMatrixClient project.")
              (substitute* "CMakeLists.txt"
                (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encrypt=
ion|Pushrules)")
                 "# add_test"))
-             #t))
-         (add-before 'configure 'set-home
-           (lambda _
-             ;; Tries to create package registry file
-             ;; So, set HOME.
-             (setenv "HOME" "/tmp")
              #t)))))
     (build-system cmake-build-system)
     (inputs
@@ -2277,7 +2271,7 @@ for the Matrix protocol.  It is built on to of @code{=
Boost.Asio}.")
 (define-public nheko
   (package
     (name "nheko")
-    (version "0.7.2")
+    (version "0.8.1")
     (source
      (origin
        (method git-fetch)
@@ -2286,30 +2280,64 @@ for the Matrix protocol.  It is built on to of @cod=
e{Boost.Asio}.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1cbhgaf9klgxdirrxj571fqwspm0byl75c1xc40l727a6qswvp7s"))))
+        (base32 "1v7k3ifzi05fdr06hmws1wkfl1bmhrnam3dbwahp086vkj0r8524"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "third_party")
+           #t))))
     (arguments
      `(#:tests? #f                      ;no test target
        #:configure-flags
-       (list
-        "-DCMAKE_BUILD_TYPE=3DRelease"
-        "-DCMAKE_CXX_FLAGS=3D-fpermissive")
+       '("-DCMAKE_BUILD_TYPE=3DRelease"
+         "-DBUILD_DOCS=3DON"
+         ;; Fix required because we are using a static SingleApplication
+         "-DCMAKE_CXX_FLAGS=3D \"-DQAPPLICATION_CLASS=3DQApplication\" "
+         ;; Compile Qml will make Nheko faster, but you will need to recom=
pile
+         ;; it, when you update Qt.  That's fine for us.
+         "-DCOMPILE_QML=3DON")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'remove-Werror
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               (("-Werror") ""))
+         (add-after 'unpack 'unbundle-dependencies
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((single-app (assoc-ref inputs "single-application")))
+               (substitute* "CMakeLists.txt"
+                 ;; Remove include and source dirs,replace with the correc=
t one
+                 (("third_party/blurhash/blurhash.cpp") "")
+                 (("third_party/cpp-httplib-0.5.12")
+                  (string-append "\"" single-app "/include\""))
+                 (("add_subdirectory.*third_party/SingleApplication.*") "")
+                 ;; Link using the correct static/shared libs
+                 (("SingleApplication::SingleApplication")
+                  (string-append
+                   ;; Dynamic libraries
+                   "httplib" "\n" "blurhash" "\n"
+                   ;; Static library
+                   single-app "/lib/libSingleApplication.a"))))
              #t))
          (add-after 'unpack 'fix-determinism
            (lambda _
              ;; Make Qt deterministic.
              (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
-             #t)))))
+             #t))
+         (add-after 'install 'wrap-program
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
+               (wrap-program (string-append out "/bin/nheko")
+                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
+               #t))))))
     (build-system qt-build-system)
     (inputs
      `(("boost" ,boost)
+       ("blurhash" ,blurhash)
+       ("cpp-httplib" ,cpp-httplib)
        ("cmark" ,cmark)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("gst-plugins-bad" ,gst-plugins-bad)   ; sdp & webrtc for voip
+       ("gst-plugins-good" ,gst-plugins-good) ; rtpmanager for voip
        ("json-modern-cxx" ,json-modern-cxx)
+       ("libnice" ,libnice)                   ; for voip
        ("libolm" ,libolm)
        ("lmdb" ,lmdb)
        ("lmdbxx" ,lmdbxx)
@@ -2317,15 +2345,19 @@ for the Matrix protocol.  It is built on to of @cod=
e{Boost.Asio}.")
        ("openssl" ,openssl)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
+       ("qtkeychain" ,qtkeychain)
        ("qtgraphicaleffects" ,qtgraphicaleffects)
        ("qtmultimedia" ,qtmultimedia)
        ("qtquickcontrols2" ,qtquickcontrols2)
        ("qtsvg" ,qtsvg)
        ("spdlog" ,spdlog)
+       ("single-application" ,single-application-qt5)
        ("tweeny" ,tweeny)
        ("zlib" ,zlib)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("doxygen" ,doxygen)
+       ("graphviz" ,graphviz)
+       ("pkg-config" ,pkg-config)
        ("qtlinguist" ,qttools)))
     (home-page "https://github.com/Nheko-Reborn/nheko")
     (synopsis "Desktop client for Matrix using Qt and C++14")
@@ -2333,22 +2365,8 @@ for the Matrix protocol.  It is built on to of @code=
{Boost.Asio}.")
 Matrix protocol that feels more like a mainstream chat app and less like a=
n IRC
 client.
=20
-There is support for:
-@itemize
-@item E2E encryption (text messages only: attachments are currently sent u=
nencrypted).
-@item User registration.
-@item Creating, joining & leaving rooms.
-@item Sending & receiving invites.
-@item Sending & receiving files and emoji.
-@item Typing notifications.
-@item Username auto-completion.
-@item Message & mention notifications.
-@item Redacting messages.
-@item Read receipts.
-@item Basic communities support.
-@item Room switcher (@key{ctrl-K}).
-@item Light, Dark & System themes.
-@end itemize")
+Many matrix features are supported, including user registration, rooms, ty=
ping
+notification, emojis, E2E encryption, and voip calls.")
     (license license:gpl3+)))
=20
 (define-public quaternion
--=20
2.30.0


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment;
 filename=v3-0004-gnu-nheko-Update-to-0.8.1.patch
Content-Transfer-Encoding: quoted-printable

From ff300d202fd083f2ad7a67c736dcb29f6588e2f6 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@HIDDEN>
Date: Wed, 27 Jan 2021 23:54:55 +0100
Subject: [PATCH v3 4/4] gnu: nheko: Update to 0.8.1.

* gnu/packages/messaging.scm (nheko): Update to 0.8.1.
[source snippet]: Remove third_party folder.
[arguments]: Remove -fpermissive flag, remove remove-Werror phase, add phase
wrap-program and unbundle-dependencies.
[inputs]: Add gst-plugins-base, gst-plugins-bad, libnice, qtkeychain,
and unbundle blurhash, cpp-httplib and single-application.
[native-inputs]: Add doxygen, graphviz used to build documentation.
[description]: Simplify by removing the long list, add new features.
(mtxclient): Update to 0.4.1.
[arguments]: Remove set-home phase.
---
 gnu/packages/messaging.scm | 90 +++++++++++++++++++++++---------------
 1 file changed, 54 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1820a146d1..806d939738 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -18,7 +18,7 @@
 ;;; Copyright =C2=A9 2019 Tanguy Le Carrour <tanguy@HIDDEN>
 ;;; Copyright =C2=A9 2019, 2020 Brett Gilio <brettg@HIDDEN>
 ;;; Copyright =C2=A9 2019, 2020 Timotej Lazar <timotej.lazar@HIDDEN>
-;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
+;;; Copyright =C2=A9 2020, 2021 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
 ;;; Copyright =C2=A9 2020 Vincent Legoll <vincent.legoll@HIDDEN>
 ;;; Copyright =C2=A9 2020 Marius Bakke <mbakke@HIDDEN>
 ;;; Copyright =C2=A9 2020 Reza Alizadeh Majd <r.majd@HIDDEN>
@@ -2227,7 +2227,7 @@ QMatrixClient project.")
 (define-public mtxclient
   (package
     (name "mtxclient")
-    (version "0.3.1")
+    (version "0.4.1")
     (source
      (origin
        (method git-fetch)
@@ -2236,7 +2236,7 @@ QMatrixClient project.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1dg4dq20g0ah62j5s3gpsxqq4ny7lxkxdxa9q6g54hdwkrb9ms7x"))))
+        (base32 "1044zil3izhb3whhfjah7w0kg5mr3hys32cjffky681d3mb3wi5n"))))
     (arguments
      `(#:configure-flags
        (list
@@ -2249,12 +2249,6 @@ QMatrixClient project.")
              (substitute* "CMakeLists.txt"
                (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encrypt=
ion|Pushrules)")
                 "# add_test"))
-             #t))
-         (add-before 'configure 'set-home
-           (lambda _
-             ;; Tries to create package registry file
-             ;; So, set HOME.
-             (setenv "HOME" "/tmp")
              #t)))))
     (build-system cmake-build-system)
     (inputs
@@ -2277,7 +2271,7 @@ for the Matrix protocol.  It is built on to of @code{=
Boost.Asio}.")
 (define-public nheko
   (package
     (name "nheko")
-    (version "0.7.2")
+    (version "0.8.1")
     (source
      (origin
        (method git-fetch)
@@ -2286,30 +2280,64 @@ for the Matrix protocol.  It is built on to of @cod=
e{Boost.Asio}.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1cbhgaf9klgxdirrxj571fqwspm0byl75c1xc40l727a6qswvp7s"))))
+        (base32 "1v7k3ifzi05fdr06hmws1wkfl1bmhrnam3dbwahp086vkj0r8524"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "third_party")
+           #t))))
     (arguments
      `(#:tests? #f                      ;no test target
        #:configure-flags
-       (list
-        "-DCMAKE_BUILD_TYPE=3DRelease"
-        "-DCMAKE_CXX_FLAGS=3D-fpermissive")
+       '("-DCMAKE_BUILD_TYPE=3DRelease"
+         "-DBUILD_DOCS=3DON"
+         ;; Fix required because we are using a static SingleApplication
+         "-DCMAKE_CXX_FLAGS=3D \"-DQAPPLICATION_CLASS=3DQApplication\" "
+         ;; Compile Qml will make Nheko faster, but you will need to recom=
pile
+         ;; it, when you update Qt.  That's fine for us.
+         "-DCOMPILE_QML=3DON")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'remove-Werror
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               (("-Werror") ""))
+         (add-after 'unpack 'unbundle-dependencies
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((single-app (assoc-ref inputs "single-application")))
+               (substitute* "CMakeLists.txt"
+                 ;; Remove include and source dirs,replace with the correc=
t one
+                 (("third_party/blurhash/blurhash.cpp") "")
+                 (("third_party/cpp-httplib-0.5.12")
+                  (string-append "\"" single-app "/include\""))
+                 (("add_subdirectory.*third_party/SingleApplication.*") "")
+                 ;; Link using the correct static/shared libs
+                 (("SingleApplication::SingleApplication")
+                  (string-append
+                   ;; Dynamic libraries
+                   "httplib" "\n" "blurhash" "\n"
+                   ;; Static library
+                   single-app "/lib/libSingleApplication.a"))))
              #t))
          (add-after 'unpack 'fix-determinism
            (lambda _
              ;; Make Qt deterministic.
              (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
-             #t)))))
+             #t))
+         (add-after 'install 'wrap-program
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
+               (wrap-program (string-append out "/bin/nheko")
+                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
+               #t))))))
     (build-system qt-build-system)
     (inputs
      `(("boost" ,boost)
+       ("blurhash" ,blurhash)
+       ("cpp-httplib" ,cpp-httplib)
        ("cmark" ,cmark)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("gst-plugins-bad" ,gst-plugins-bad)   ; sdp & webrtc for voip
+       ("gst-plugins-good" ,gst-plugins-good) ; rtpmanager for voip
        ("json-modern-cxx" ,json-modern-cxx)
+       ("libnice" ,libnice)                   ; for voip
        ("libolm" ,libolm)
        ("lmdb" ,lmdb)
        ("lmdbxx" ,lmdbxx)
@@ -2317,15 +2345,19 @@ for the Matrix protocol.  It is built on to of @cod=
e{Boost.Asio}.")
        ("openssl" ,openssl)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
+       ("qtkeychain" ,qtkeychain)
        ("qtgraphicaleffects" ,qtgraphicaleffects)
        ("qtmultimedia" ,qtmultimedia)
        ("qtquickcontrols2" ,qtquickcontrols2)
        ("qtsvg" ,qtsvg)
        ("spdlog" ,spdlog)
+       ("single-application" ,single-application-qt5)
        ("tweeny" ,tweeny)
        ("zlib" ,zlib)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("doxygen" ,doxygen)
+       ("graphviz" ,graphviz)
+       ("pkg-config" ,pkg-config)
        ("qtlinguist" ,qttools)))
     (home-page "https://github.com/Nheko-Reborn/nheko")
     (synopsis "Desktop client for Matrix using Qt and C++14")
@@ -2333,22 +2365,8 @@ for the Matrix protocol.  It is built on to of @code=
{Boost.Asio}.")
 Matrix protocol that feels more like a mainstream chat app and less like a=
n IRC
 client.
=20
-There is support for:
-@itemize
-@item E2E encryption (text messages only: attachments are currently sent u=
nencrypted).
-@item User registration.
-@item Creating, joining & leaving rooms.
-@item Sending & receiving invites.
-@item Sending & receiving files and emoji.
-@item Typing notifications.
-@item Username auto-completion.
-@item Message & mention notifications.
-@item Redacting messages.
-@item Read receipts.
-@item Basic communities support.
-@item Room switcher (@key{ctrl-K}).
-@item Light, Dark & System themes.
-@end itemize")
+Many matrix features are supported, including user registration, rooms, ty=
ping
+notification, emojis, E2E encryption, and voip calls.")
     (license license:gpl3+)))
=20
 (define-public quaternion
--=20
2.30.0


--=-=-=--




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

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


Received: (at submit) by debbugs.gnu.org; 21 Jan 2021 00:37:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 20 19:37:37 2021
Received: from localhost ([127.0.0.1]:56487 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l2Nya-0006yf-OA
	for submit <at> debbugs.gnu.org; Wed, 20 Jan 2021 19:37:37 -0500
Received: from lists.gnu.org ([209.51.188.17]:43618)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <anothersms@HIDDEN>) id 1l2NyY-0006yX-3W
 for submit <at> debbugs.gnu.org; Wed, 20 Jan 2021 19:37:27 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:49944)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <anothersms@HIDDEN>)
 id 1l2NyX-0005Jz-SN
 for guix-patches@HIDDEN; Wed, 20 Jan 2021 19:37:25 -0500
Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:35815)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <anothersms@HIDDEN>)
 id 1l2NyV-00065i-1S
 for guix-patches@HIDDEN; Wed, 20 Jan 2021 19:37:25 -0500
Received: by mail-wm1-x32c.google.com with SMTP id e15so81789wme.0
 for <guix-patches@HIDDEN>; Wed, 20 Jan 2021 16:37:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:subject:date:message-id:mime-version;
 bh=yRgIOlTHMk92z9eEEtZUccFIW/LS68eNx8frUrvGhT0=;
 b=D55b5F6T4a+DiVj0solGDBd4vUkVMMuZMP+lVZ+G/CLjMdSIQ5GvfhTo9WDgwwbe4A
 d/yvOOqGZrm/hq9PZUxZkpqlzcS+faHdoVSRgHKmnZrPuXmrAERhfP4JKWNLZkB0+IR7
 W8Js3ZxD/7FfwCQMA7J1JqKAMcJFFkrWqzDkYP+ktD20D2qOHQ21nDtiBQpDXW09Pe2o
 PUMnODJNLVDd3cEQIwJ5bGJXSDNPOCynrclkCgvsywfMUgoW0Ot+zpyDBd9sCP0RcVRH
 RjBRFaIT5WiSq1ax7Pz652YO+RIFonc8eWwlNm4IJlLMvR/jIb5csppdPrsKv819Dc9w
 VsXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:date:message-id:mime-version;
 bh=yRgIOlTHMk92z9eEEtZUccFIW/LS68eNx8frUrvGhT0=;
 b=F3Y3gdLht13tKnrrt3XwVpzfwMDWKKWPR3ARWb+ytVDJxfkNF6tCOufrb67v9ci0xg
 0ZlGhwLs7D8Tym4mkR36j+iA+MHvKQ92Oqci1d1gJMR3mqFPtiCyNHTfjfC7z8VyEHVV
 jIF78st2WdxMNYuOTwPPCdVGp0uzIdabGT1yKeAyoLvw76p7j5idlp2uezmeCK0SYUPE
 OVFQ9dbMDG78PHYs/hXR7+vmPqgRRTS2Qsl7lR5ayyJXIojqMrxTeXr5DW5VYHk+USig
 M4Eq9sC5SYvk+EB7l3/m0SMsGg6aWSmdABtqM4k6cXTPUKgi8VLj6CnObdP/tT9PP8Up
 rsiA==
X-Gm-Message-State: AOAM5304LX4TP0lZ6LfP3otg2oGHCRGfWR0R1w/RtB+ejW66KBZ2so+T
 vmQDRy1Vc9DBY0iB/U76QDqFXL5Y3Dc=
X-Google-Smtp-Source: ABdhPJw40p18i69rX7mVxcFL+kckF//4ZyfGtC0xjQcM8MKXtmdPE2wCCuYWiQoLuGVfXxqtKiEuqQ==
X-Received: by 2002:a1c:1f86:: with SMTP id f128mr6531958wmf.174.1611189440878; 
 Wed, 20 Jan 2021 16:37:20 -0800 (PST)
Received: from guixSD (host-95-244-15-108.retail.telecomitalia.it.
 [95.244.15.108])
 by smtp.gmail.com with ESMTPSA id l5sm6316031wrv.44.2021.01.20.16.37.19
 for <guix-patches@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 20 Jan 2021 16:37:19 -0800 (PST)
From: =?utf-8?Q?Nicol=C3=B2_Balzarotti?= <anothersms@HIDDEN>
To: guix-patches@HIDDEN
Subject: Upgrade Nheko
Date: Thu, 21 Jan 2021 01:37:19 +0100
Message-ID: <875z3ryvk0.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2a00:1450:4864:20::32c;
 envelope-from=anothersms@HIDDEN; helo=mail-wm1-x32c.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.6 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.9 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Hi guix! Today nheko 0.8.0 was released. This patch series
    upgrades it and its dependency, mtxclient. I alsotook some time to unbundle
    all its dependencies (adding cpp-httplib, blurhash, and single-applicaiton-qt5).
    
 
 Content analysis details:   (1.9 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
  1.9 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
                             [URI: nixo.xyz (xyz)]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (anothersms[at]gmail.com)
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

--=-=-=
Content-Type: text/plain

Hi guix! Today nheko 0.8.0 was released.

This patch series upgrades it and its dependency, mtxclient.
I alsotook some time to unbundle all its dependencies (adding
cpp-httplib, blurhash, and single-applicaiton-qt5).

About this last dependency (single-applicaiton-qt5), I'm unsure on how
to name it.  Also, devs are suggested to include its source directly,
and by default builds a static library.  The main SingleApplication
class inherit from a Qt*Application class which is choosen at build
time, so the library to be useful in the target program must be built
with the correct flag (I'm using the one used by nheko by default).

Nheko builds and run fine.  It should support voice call now, but I
cannot test it (I get `[error] WebRTC: failed to start device monitor',
not sure if the problem is in my setup, in gstreamer or in my package).


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment; filename=0001-gnu-Add-cpp-httplib.patch
Content-Transfer-Encoding: quoted-printable

From 38be202dce880dd77a5ce774c0c8877bed84975e Mon Sep 17 00:00:00 2001
From: nixo <nicolo@HIDDEN>
Date: Wed, 20 Jan 2021 10:08:20 +0100
Subject: [PATCH 1/5] gnu: Add cpp-httplib.

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

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 45d3faeafb..2a03ec58c5 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -16,6 +16,7 @@
 ;;; Copyright =C2=A9 2020 Alexandros Theodotou <alex@HIDDEN>
 ;;; Copyright =C2=A9 2020 Greg Hogan <code@HIDDEN>
 ;;; Copyright =C2=A9 2020 Brett Gilio <brettg@HIDDEN>
+;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,6 +58,7 @@
   #:use-module (gnu packages logging)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages pretty-print)
@@ -475,6 +477,44 @@ tools:
 @end itemize\n")
     (license license:bsd-3)))
=20
+(define-public cpp-httplib
+  (package
+    (name "cpp-httplib")
+    (version "0.8.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/yhirose/cpp-httplib")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32 "1l9n58ml7sygy723ws0z6brdbx4spc6fya6vgim11hpiy5b7zdkx"))
+       (file-name (git-file-name name version))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       '("-DBUILD_SHARED_LIBS=3DON"
+         "-DHTTPLIB_COMPILE=3DON")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key source #:allow-other-keys)
+             ;; openssl genrsa wants to write a file in the git checkout
+             (copy-file (string-append source "/test") "test")
+             (chmod "test" #o744)
+             (invoke "make"))))))
+    (native-inputs
+     `(("python" ,python) ; required to build shared lib
+       ;; required for tests
+       ("openssl" ,openssl)
+       ("zlib" ,zlib)))
+    (home-page "https://github.com/yhirose/cpp-httplib")
+    (synopsis "C++ header-only HTTP/HTTPS server and client library")
+    (description "cpp-httplib is a C++11 single-file header-only cross
+platform blocking HTTP/HTTPS library, easy to setup.  Just include the
+@file{httplib.h} file in your code!")
+    (license license:expat)))
+
 (define-public cpplint
   (package
     (name "cpplint")
--=20
2.29.2


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment; filename=0002-gnu-Add-blurhash.patch
Content-Transfer-Encoding: quoted-printable

From 8fb37dd519fcc7038e54cdc858310983e29770f1 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@HIDDEN>
Date: Wed, 20 Jan 2021 17:56:04 +0100
Subject: [PATCH 2/5] gnu: Add blurhash.

* gnu/packages/image.scm (blurhash): New variable.
---
 gnu/packages/image.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 935333dee2..d633b2aeab 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -28,6 +28,7 @@
 ;;; Copyright =C2=A9 2020 Maxim Cournoyer <maxim.cournoyer@HIDDEN>
 ;;; Copyright =C2=A9 2020 Zhu Zihao <all_but_last@HIDDEN>
 ;;; Copyright =C2=A9 2020 Vinicius Monego <monego@HIDDEN>
+;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -59,6 +60,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gimp)
   #:use-module (gnu packages gl)
@@ -1996,6 +1998,30 @@ SNG is implemented by a compiler/decompiler called s=
ng that
 losslessly translates between SNG and PNG.")
     (license license:zlib)))
=20
+(define-public blurhash
+  (package
+    (name "blurhash")
+    (version "0.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Nheko-Reborn/blurhash")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0jy2iigarskwfhskyladbb6l92x1fb3i3vz4bvcks0za4w5hfxk5"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("cmake" ,cmake)
+       ("doctest" ,doctest)
+       ("gcc" ,gcc-8)))
+    (home-page "https://github.com/Nheko-Reborn/blurhash")
+    (synopsis "C++ blurhash encoder/decoder")
+    (description "Simple encoder and decoder for blurhashes.  Contains a
+command line program as well as a shared library.")
+    (license license:boost1.0)))
+
 (define-public lodepng
   ;; There are no tags in the repository, so we take the version as define=
d in
   ;; lodepng.cpp.
--=20
2.29.2


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment;
 filename=0003-gnu-mtxclient-Update-to-0.4.0.patch
Content-Transfer-Encoding: quoted-printable

From 170fd188f809dd5f1f613a7bbfcf336efc191bd0 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@HIDDEN>
Date: Wed, 20 Jan 2021 17:59:24 +0100
Subject: [PATCH 3/5] gnu: mtxclient: Update to 0.4.0.

* gnu/packages/messaging.scm (mtxclient): Update to 0.4.0.
---
 gnu/packages/messaging.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index c585326124..0368780fa6 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -18,7 +18,7 @@
 ;;; Copyright =C2=A9 2019 Tanguy Le Carrour <tanguy@HIDDEN>
 ;;; Copyright =C2=A9 2019, 2020 Brett Gilio <brettg@HIDDEN>
 ;;; Copyright =C2=A9 2019, 2020 Timotej Lazar <timotej.lazar@HIDDEN>
-;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
+;;; Copyright =C2=A9 2020, 2021 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
 ;;; Copyright =C2=A9 2020 Vincent Legoll <vincent.legoll@HIDDEN>
 ;;; Copyright =C2=A9 2020 Marius Bakke <mbakke@HIDDEN>
 ;;; Copyright =C2=A9 2020 Reza Alizadeh Majd <r.majd@HIDDEN>
@@ -2227,7 +2227,7 @@ QMatrixClient project.")
 (define-public mtxclient
   (package
     (name "mtxclient")
-    (version "0.3.1")
+    (version "0.4.0")
     (source
      (origin
        (method git-fetch)
@@ -2236,7 +2236,7 @@ QMatrixClient project.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1dg4dq20g0ah62j5s3gpsxqq4ny7lxkxdxa9q6g54hdwkrb9ms7x"))))
+        (base32 "1x820rcfz5r203dc8a0rzavcjjx10fsv1dicqg65m6kxx1w95j5r"))))
     (arguments
      `(#:configure-flags
        (list
--=20
2.29.2


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment;
 filename=0004-gnu-Add-single-application-qt5.patch
Content-Transfer-Encoding: quoted-printable

From e04e1025240dbe2abb990d7dcc39189a39179d69 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@HIDDEN>
Date: Wed, 20 Jan 2021 19:23:17 +0100
Subject: [PATCH 4/5] gnu: Add single-application-qt5.

* gnu/packages/qt.scm (single-application-qt5): New variable.
---
 gnu/packages/qt.scm | 56 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 79d41b3e73..205d99c017 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -20,6 +20,7 @@
 ;;; Copyright =C2=A9 2020 Jonathan Brielmaier <jonathan.brielmaier@HIDDEN>
 ;;; Copyright =C2=A9 2020 Michael Rohleder <mike@HIDDEN>
 ;;; Copyright =C2=A9 2020 Maxim Cournoyer <maxim.cournoyer@HIDDEN>
+;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti <nicolo@HIDDEN>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1947,6 +1948,61 @@ using the Chromium browser project.  The Chromium so=
urce code has Google service
 and binaries removed, and adds modular support for using system libraries.=
")
     (license license:lgpl2.1+)))
=20
+(define-public single-application-qt5
+  ;; Change in function signature, nheko requires at least this commit
+  (let ((commit "dc8042b5db58f36e06ba54f16f38b16c5eea9053"))
+    (package
+      (name "single-application-qt5")
+      (version (string-append "3.2.0-" (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/itay-grudev/SingleApplication")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "163aa2x2qb0h8w26si5ql833ilj427jjbdwlz1p2p8iaq6dh0vq1"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:tests? #f                    ; no check target
+         ;; Projects can decide how to build this library.  You might need=
 to
+         ;; override this flag (QApplication, QGuiApplication or
+         ;; QCoreApplication).
+         #:configure-flags '("-DQAPPLICATION_CLASS=3DQApplication")
+         #:phases
+         (modify-phases %standard-phases
+           ;; No install target, install things manually
+           (replace 'install
+             (lambda* (#:key inputs outputs source #:allow-other-keys)
+               (let* ((qt (assoc-ref inputs "qtbase"))
+                      (qt-version ,(version-major (package-version qt)))
+                      (out (assoc-ref outputs "out")))
+                 (install-file
+                  "libSingleApplication.a" (string-append out "/lib"))
+                 (for-each
+                  (lambda (file)
+                    (install-file
+                     (string-append source "/" file)
+                     (string-append out "/include")))
+                  '("SingleApplication"
+                    "singleapplication.h" "singleapplication_p.h"))
+                 #t))))))
+      (inputs
+       `(("qtbase" ,qtbase)))
+      (home-page "https://github.com/itay-grudev/SingleApplication")
+      (synopsis "Replacement of QtSingleApplication for Qt5 and Qt6")
+      (description
+       "SingleApplication is a replacement of the QtSingleApplication for =
Qt5 and Qt6.
+
+nKeeps the Primary Instance of your Application and kills each subsequent
+instances.  It can (if enabled) spawn secondary (non-related to the primar=
y)
+instances and can send data to the primary instance from secondary
+instances.")
+      (license license:expat))))
+
 (define-public python-sip
   (package
     (name "python-sip")
--=20
2.29.2


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0005-gnu-nheko-Update-to-0.8.0.patch

From 5308eda5d0210beb1edfb0cdf44530a13673af41 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@HIDDEN>
Date: Wed, 20 Jan 2021 18:00:51 +0100
Subject: [PATCH 5/5] gnu: nheko: Update to 0.8.0.

* gnu/packages/messaging.scm (nheko): Update to 0.8.0.
---
 gnu/packages/messaging.scm | 50 +++++++++++++++++++++++++++++---------
 1 file changed, 39 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0368780fa6..c5e0c828b0 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2277,7 +2277,7 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
 (define-public nheko
   (package
     (name "nheko")
-    (version "0.7.2")
+    (version "0.8.0")
     (source
      (origin
        (method git-fetch)
@@ -2286,19 +2286,40 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1cbhgaf9klgxdirrxj571fqwspm0byl75c1xc40l727a6qswvp7s"))))
+        (base32 "00d6wx3lcgbks74jkdyifqxf8nlravqh88fyljd0sy7kzbah9msf"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "third_party")
+           #t))))
     (arguments
      `(#:tests? #f                      ;no test target
        #:configure-flags
-       (list
-        "-DCMAKE_BUILD_TYPE=Release"
-        "-DCMAKE_CXX_FLAGS=-fpermissive")
+       '("-DCMAKE_BUILD_TYPE=Release"
+         "-DBUILD_DOCS=ON"
+         ;; Fix required because we are using a static SingleApplication
+         "-DCMAKE_CXX_FLAGS= \"-DQAPPLICATION_CLASS=QApplication\" "
+         ;; Compile Qml will make Nheko faster, but you will need to recompile
+         ;; it, when you update Qt.  That's fine for us.
+         "-DCOMPILE_QML=ON")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'remove-Werror
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               (("-Werror") ""))
+         (add-after 'unpack 'unbundle-dependencies
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((single-app (assoc-ref inputs "single-application")))
+               (substitute* "CMakeLists.txt"
+                 ;; Remove include and source dirs,replace with the correct one
+                 (("third_party/blurhash/blurhash.cpp") "")
+                 (("third_party/cpp-httplib-0.5.12")
+                  (string-append "\"" single-app "/include\""))
+                 (("add_subdirectory.*third_party/SingleApplication.*") "")
+                 ;; Link using the correct static/shared libs
+                 (("SingleApplication::SingleApplication")
+                  (string-append
+                   ;; Dynamic libraries
+                   "httplib" "\n" "blurhash" "\n"
+                   ;; Static library
+                   single-app "/lib/libSingleApplication.a"))))
              #t))
          (add-after 'unpack 'fix-determinism
            (lambda _
@@ -2308,7 +2329,10 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
     (build-system qt-build-system)
     (inputs
      `(("boost" ,boost)
+       ("blurhash" ,blurhash)
+       ("cpp-httplib" ,cpp-httplib)
        ("cmark" ,cmark)
+       ("gst-plugins-bad" ,gst-plugins-bad) ; sdp & webrtc for calls
        ("json-modern-cxx" ,json-modern-cxx)
        ("libolm" ,libolm)
        ("lmdb" ,lmdb)
@@ -2317,6 +2341,7 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
        ("openssl" ,openssl)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
+       ("qtkeychain" ,qtkeychain)
        ("qtgraphicaleffects" ,qtgraphicaleffects)
        ("qtmultimedia" ,qtmultimedia)
        ("qtquickcontrols2" ,qtquickcontrols2)
@@ -2325,8 +2350,11 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
        ("tweeny" ,tweeny)
        ("zlib" ,zlib)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("qtlinguist" ,qttools)))
+     `(("doxygen" ,doxygen)
+       ("graphviz" ,graphviz)
+       ("pkg-config" ,pkg-config)
+       ("qtlinguist" ,qttools)
+       ("single-application" ,single-application-qt5)))
     (home-page "https://github.com/Nheko-Reborn/nheko")
     (synopsis "Desktop client for Matrix using Qt and C++14")
     (description "@code{Nheko} want to provide a native desktop app for the
-- 
2.29.2


--=-=-=--




Acknowledgement sent to Nicolò Balzarotti <anothersms@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#46012; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 27 Apr 2021 13:15:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.