From patchwork Thu Jan 21 20:45:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Nicol=C3=B2_Balzarotti?= X-Patchwork-Id: 26549 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6A02427BC17; Thu, 21 Jan 2021 20:46:34 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8924227BC16 for ; Thu, 21 Jan 2021 20:46:28 +0000 (GMT) Received: from localhost ([::1]:46752 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l2gqZ-0003FI-PF for patchwork@mira.cbaines.net; Thu, 21 Jan 2021 15:46:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49808) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l2gqA-0003Ew-K8 for guix-patches@gnu.org; Thu, 21 Jan 2021 15:46:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:47965) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l2gqA-0007So-DM for guix-patches@gnu.org; Thu, 21 Jan 2021 15:46:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1l2gqA-0001Nx-Bs for guix-patches@gnu.org; Thu, 21 Jan 2021 15:46:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#46013] [PATCH] gnu: nheko: Update to 0.8.0. Resent-From: =?utf-8?q?Nicol=C3=B2?= Balzarotti Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 21 Jan 2021 20:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46013 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Michael Rohleder Received: via spool by 46013-submit@debbugs.gnu.org id=B46013.16112619385285 (code B ref 46013); Thu, 21 Jan 2021 20:46:02 +0000 Received: (at 46013) by debbugs.gnu.org; 21 Jan 2021 20:45:38 +0000 Received: from localhost ([127.0.0.1]:59511 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l2gpc-0001My-2Q for submit@debbugs.gnu.org; Thu, 21 Jan 2021 15:45:38 -0500 Received: from mail-wm1-f45.google.com ([209.85.128.45]:54589) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l2gpa-0001Mj-7P for 46013@debbugs.gnu.org; Thu, 21 Jan 2021 15:45:27 -0500 Received: by mail-wm1-f45.google.com with SMTP id i63so2595734wma.4 for <46013@debbugs.gnu.org>; Thu, 21 Jan 2021 12:45:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=KPzA2oyKwADWDtBG8z6k7GHKB9x3mM6OpFZ0SuB33lU=; b=aJRlgtv0T96miQSX2jJtlECTt7re0J3nwYvwgM1M5forOE8GEK1QR+3ut2Hmm2o0nU eJAi43or+9AX6FDxaX3a8uP2ocna0ExTjFzoTyqiz0ISCglRnCu/eKk838+rgSRnDiwg pza3YPVw7tcDvr8p9bl3IcTvHtIjSjwBJcaf6jiwjTSuVHGOzMkINwYkLwkJ4xtYpqd/ +7kRNJgOkDYm2MorWtVtsbIRrUTVcsRhvZ9wdECkZtye6F4/BC315xxJMa3VpS6z8grH sCRDMt//NwiimXqkIY1UxvrUK6xDbJwsVKgvDH0BrlCTK2F9pfpJfzAT48WupnlUY6xX 4yXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=KPzA2oyKwADWDtBG8z6k7GHKB9x3mM6OpFZ0SuB33lU=; b=DndQa4K3HuL9l/YSK5kRX7YccGKAS/7RhU76tJVwbz0PoMmz8nEsgyu52wD11hFEHD CdEyHvMfiuI8+cVIz7irAn7+eqMGpOBGhTUGLQRyYHEbiRcJXfJDlfOdE0C9L/sIPMax REpz/SuPtKv24+PMiWeZxm62rMLOmxrGsmJiQgZFQRebe7R+4FCv8Ha3mcaOXS9ZQ4mR 470/BJOrxX9P6bLqexmoRFIPCYyG0lKA3wI1WCEMQYYsjy8jdi009nwmCgT1fKfpD7qj xIWzWaqyLFDBMSYA9K8bvYv1vbeoUArn561ynqxXGdZt3huCGkE2w7Gx+YsoJtM1HUW+ GqNA== X-Gm-Message-State: AOAM5337356FWEO30Z2TR1Ks/oeIKZB2rtUv2oGWpgnbF9Mmt0wEQhGA oFueGpQFhlHgJo0t9RUk5vX0GrQ39pg= X-Google-Smtp-Source: ABdhPJxKpc6y8bUQQM1LKkJYvqg4+Nx1Z+II7KQogrGdAqt7ki4QxcXYiea5j4oMLthe/Fk7r21G7w== X-Received: by 2002:a1c:f706:: with SMTP id v6mr993235wmh.85.1611261920327; Thu, 21 Jan 2021 12:45: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 x11sm9017676wmi.4.2021.01.21.12.45.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Jan 2021 12:45:18 -0800 (PST) From: =?utf-8?q?Nicol=C3=B2?= Balzarotti In-Reply-To: <87r1me6p0e.fsf@rohleder.de> References: <20210121010323.3172-1-mike@rohleder.de> <871reeznv9.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87r1me6p0e.fsf@rohleder.de> Date: Thu, 21 Jan 2021 21:45:17 +0100 Message-ID: <87y2gmxbmq.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 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: , Cc: 46013@debbugs.gnu.org Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Michael Rohleder writes: > Hi Nicolo! Hi Michael & all, > I think, it might be better to base on your patches to not complicate > things even more. Done, I updated the copyright line for you, used your commit message (updated accordingly). > I think, the most important part missing in your patch is the wrapping > of the GST_PLUGIN variable. Otherwise gstreamer/voip doen't work at all. > (But this could also be added after bumping, I guess) With you wrapper phase (and adding gst-plugin-good) I got voip call working! For video calls, I get this: > Missing GStreamer plugins: opengl qmlgl But qmlgl should be in -good, so we should take a look at gstreamer to check why it is not included. From da2f4404144dac9930faa3031e48fd8aae9053d1 Mon Sep 17 00:00:00 2001 From: nixo Date: Wed, 20 Jan 2021 18:00:51 +0100 Subject: [PATCH v2 4/4] gnu: nheko: Update to 0.8.0. * gnu/packages/messaging.scm (nheko): Update to 0.8.0. [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.0. [arguments]: Remove set-home phase. --- gnu/packages/messaging.scm | 92 +++++++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 37 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index c585326124..db41e436d7 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -18,13 +18,13 @@ ;;; Copyright © 2019 Tanguy Le Carrour ;;; Copyright © 2019, 2020 Brett Gilio ;;; Copyright © 2019, 2020 Timotej Lazar -;;; Copyright © 2020 Nicolò Balzarotti +;;; Copyright © 2020, 2021 Nicolò Balzarotti ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Reza Alizadeh Majd ;;; Copyright © 2020 Jonathan Brielmaier ;;; Copyright © 2020 Mason Hock -;;; Copyright © 2020 Michael Rohleder +;;; Copyright © 2020, 2021 Michael Rohleder ;;; Copyright © 2020 Raghav Gururajan ;;; Copyright © 2020 Robert Karszniewicz ;;; @@ -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 @@ -2249,12 +2249,6 @@ QMatrixClient project.") (substitute* "CMakeLists.txt" (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption|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.0") (source (origin (method git-fetch) @@ -2286,30 +2280,64 @@ 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 _ ;; 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 @code{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 an IRC client. -There is support for: -@itemize -@item E2E encryption (text messages only: attachments are currently sent unencrypted). -@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, typing +notification, emojis, E2E encryption, and voip calls.") (license license:gpl3+))) (define-public quaternion -- 2.29.2