From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id KIgyImvxEWB/MQAA0tVLHw (envelope-from ) for ; Wed, 27 Jan 2021 23:04:11 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id WGUQHmvxEWD4YgAAB5/wlQ (envelope-from ) for ; Wed, 27 Jan 2021 23:04:11 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 841CD940480 for ; Wed, 27 Jan 2021 23:04:10 +0000 (UTC) Received: from localhost ([::1]:43858 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l4tr7-0006HT-Dj for larch@yhetil.org; Wed, 27 Jan 2021 18:04:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60788) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l4tqz-0006HG-VV for guix-patches@gnu.org; Wed, 27 Jan 2021 18:04:01 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:34866) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l4tqz-0003x0-Na for guix-patches@gnu.org; Wed, 27 Jan 2021 18:04:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1l4tqz-0008FL-JU for guix-patches@gnu.org; Wed, 27 Jan 2021 18:04:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#46012] Acknowledgement (Upgrade Nheko) Resent-From: =?UTF-8?Q?Nicol=C3=B2?= Balzarotti Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 27 Jan 2021 23:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46012 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 46012@debbugs.gnu.org Received: via spool by 46012-submit@debbugs.gnu.org id=B46012.161178859831649 (code B ref 46012); Wed, 27 Jan 2021 23:04:01 +0000 Received: (at 46012) by debbugs.gnu.org; 27 Jan 2021 23:03:18 +0000 Received: from localhost ([127.0.0.1]:46412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l4tqA-0008EG-Gf for submit@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 ) id 1l4tq8-0008E2-2h for 46012@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@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@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 In-Reply-To: References: <875z3ryvk0.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Thu, 28 Jan 2021 00:02:59 +0100 Message-ID: <87ft2mc7a4.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -1.25 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20161025 header.b=fh2tZ2ju; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 841CD940480 X-Spam-Score: -1.25 X-Migadu-Scanner: scn1.migadu.com X-TUID: y7LN+/jPQayC --=-=-= 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 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 ;;; Copyright =C2=A9 2020, 2021 Greg Hogan ;;; Copyright =C2=A9 2020 Brett Gilio +;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti ;;; ;;; 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 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 ;;; Copyright =C2=A9 2020 Zhu Zihao ;;; Copyright =C2=A9 2020 Vinicius Monego +;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti ;;; ;;; 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 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 ;;; Copyright =C2=A9 2019, 2020 Brett Gilio ;;; Copyright =C2=A9 2019, 2020 Timotej Lazar -;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti +;;; Copyright =C2=A9 2020, 2021 Nicol=C3=B2 Balzarotti ;;; Copyright =C2=A9 2020 Vincent Legoll ;;; Copyright =C2=A9 2020 Marius Bakke ;;; Copyright =C2=A9 2020 Reza Alizadeh Majd @@ -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 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 ;;; Copyright =C2=A9 2019, 2020 Brett Gilio ;;; Copyright =C2=A9 2019, 2020 Timotej Lazar -;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti +;;; Copyright =C2=A9 2020, 2021 Nicol=C3=B2 Balzarotti ;;; Copyright =C2=A9 2020 Vincent Legoll ;;; Copyright =C2=A9 2020 Marius Bakke ;;; Copyright =C2=A9 2020 Reza Alizadeh Majd @@ -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 --=-=-=--