GNU bug report logs - #47513
[PATCH 00/12] Update jami and add jami-qt

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Wed, 31 Mar 2021 05:21:02 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 47513 in the body.
You can then email your comments to 47513 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:21:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 31 Mar 2021 05:21:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 00/12] Update jami and add jami-qt
Date: Wed, 31 Mar 2021 01:14:49 -0400
Hello!

I've finally picked up the packaging of Jami, which was becoming quite
outdated in Guix.  I haven't had much time to test the result yet, but a
priori it seems to function as intended.

Let me know how it works for you!

Maxim

Maxim Cournoyer (12):
  gnu: asio: Update to 1.18.1.
  gnu: restbed: Update to 4.7.
  gnu: restinio: Update to 0.6.13.
  gnu: Add nettle-3.7.
  gnu: opendht: Update to 2.2.0rc4.
  gnu: pjproject: Update to 2.11.
  gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375.
  ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013.
  gnu: libring: Update to 20210326.1.cfba013.
  gnu: libringclient: Update to 20210326.1.cfba013.
  gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome.
  gnu: Add jami-qt.

 gnu/local.mk                                |   1 -
 gnu/packages/emulators.scm                  |   2 +-
 gnu/packages/jami.scm                       | 287 ++++++++++++--------
 gnu/packages/nettle.scm                     |  17 +-
 gnu/packages/networking.scm                 | 131 +++++----
 gnu/packages/patches/opendht-fix-jami.patch |  33 ---
 gnu/packages/telephony.scm                  |  22 +-
 7 files changed, 272 insertions(+), 221 deletions(-)
 delete mode 100644 gnu/packages/patches/opendht-fix-jami.patch

-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:24:02 GMT) Full text and rfc822 format available.

Message #8 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 01/12] gnu: asio: Update to 1.18.1.
Date: Wed, 31 Mar 2021 01:23:37 -0400
* gnu/packages/networking.scm (asio): Update to 1.18.1.
(asio-1.12): New variable.
* gnu/packages/emulators.scm (mame)[inputs]: Use asio-1.12, otherwise it fails
to build.
---
 gnu/packages/emulators.scm  |  2 +-
 gnu/packages/networking.scm | 17 +++++++++++++++--
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 1cd23c3e6c..cfe909b3a6 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1743,7 +1743,7 @@ This is a part of the TiLP project.")
        ("texinfo" ,texinfo)))
     (inputs
      `(("alsa-lib" ,alsa-lib)
-       ("asio" ,asio)
+       ("asio" ,asio-1.12)              ;the bundled copy is at 1.11
        ("expat" ,expat)
        ("flac" ,flac)
        ("fontconfig" ,fontconfig)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index ecc6f57f4e..fe2499815b 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -26,7 +26,7 @@
 ;;; Copyright © 2018, 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust <at> gmail.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail <at> ambrevar.xyz>
-;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2019 Vasile Dumitrascu <va511e <at> yahoo.com>
 ;;; Copyright © 2019 Julien Lepiller <julien <at> lepiller.eu>
 ;;; Copyright © 2019 Timotej Lazar <timotej.lazar <at> araneo.si>
@@ -3027,7 +3027,8 @@ eight bytes) tools
     ;; Either BSD-3 or GPL-2 can be used.
     (license (list license:bsd-3 license:gpl2))))
 
-(define-public asio
+;;; This is an old version required by rested.
+(define-public asio-1.12
   (package
     (name "asio")
     (version "1.12.2")
@@ -3054,6 +3055,18 @@ low-level I/O programming that provides developers with a consistent
 asynchronous model using a modern C++ approach.")
     (license license:boost1.0)))
 
+(define-public asio
+  (package
+    (inherit asio-1.12)
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/asio/asio/"
+                           version " (Stable)/asio-" version ".tar.bz2"))
+       (sha256
+        (base32 "04wi69d72l1p5c7d63z1dz06zn8pdqsbgx1if98dszs9ymfqgyaa"))))))
+
 (define-public shadowsocks
   ;; There are some security fixes after the last release.
   (let* ((commit "e332ec93e9c90f1cbee676b022bf2c5d5b7b1239")
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:02 GMT) Full text and rfc822 format available.

Message #11 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 02/12] gnu: restbed: Update to 4.7.
Date: Wed, 31 Mar 2021 01:23:38 -0400
* gnu/packages/networking.scm (restbed): Update to 4.7.
---
 gnu/packages/networking.scm | 97 ++++++++++++++++++-------------------
 1 file changed, 48 insertions(+), 49 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index fe2499815b..ff0ccc95fc 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3332,57 +3332,56 @@ never see any machines other than the one Dante is running on.")
     (license (license:non-copyleft "file://LICENSE"))))
 
 (define-public restbed
-  (let ((commit "6eb385fa9051203f28bf96cc1844bbb5a9a6481f"))
-    (package
-      (name "restbed")
-      (version (git-version "4.6" "1" commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/Corvusoft/restbed/")
-               (commit commit)))
-         (file-name (string-append name "-" version ".tar.gz"))
-         (sha256
-          (base32 "0k60i5drklqqrb4khb25fzkgz9y0sncxf1sp6lh2bm1m0gh0661n"))))
-      (build-system cmake-build-system)
-      (inputs
-       `(("asio" ,asio)
-         ("catch" ,catch-framework)
-         ("openssl" ,openssl)))
-      (arguments
-       `(#:tests? #f
-         #:configure-flags
-         '("-DBUILD_TESTS=NO"
-           "-DBUILD_EXAMPLES=NO"
-           "-DBUILD_SSL=NO"
-           "-DBUILD_SHARED=NO")
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'apply-patches-and-fix-paths
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((asio (assoc-ref inputs "asio"))
-                     (catch (assoc-ref inputs "catch"))
-                     (openssl (assoc-ref inputs "openssl")))
-                 (substitute* "cmake/Findasio.cmake"
-                   (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin)
-                    (string-append begin " \"" asio "/include\" )")))
-                 (substitute* "cmake/Findcatch.cmake"
-                   (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin)
-                    (string-append begin " \"" catch "/include\" )")))
-                 (substitute* "cmake/Findopenssl.cmake"
-                   (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin)
-                    (string-append begin " \"" openssl "/lib\" )"))
-                   (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin)
-                    (string-append begin " \"" openssl "/lib\" )"))
-                   (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin)
-                    (string-append begin " \"" openssl "/include\" )")))))))))
-      (synopsis "Asynchronous RESTful functionality to C++11 applications")
-      (description "Restbed is a comprehensive and consistent programming
+  (package
+    (name "restbed")
+    (version "4.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Corvusoft/restbed/")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "055qicb773a599dsqbcz5xf0xj1wpk33mdrkyi0fsmyjmn8d2p9d"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("asio" ,asio-1.12)
+       ("catch" ,catch-framework)
+       ("openssl" ,openssl)))
+    (arguments
+     `(#:tests? #f
+       #:configure-flags
+       '("-DBUILD_TESTS=NO"
+         "-DBUILD_EXAMPLES=NO"
+         "-DBUILD_SSL=NO"
+         "-DBUILD_SHARED=NO")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'apply-patches-and-fix-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((asio (assoc-ref inputs "asio"))
+                   (catch (assoc-ref inputs "catch"))
+                   (openssl (assoc-ref inputs "openssl")))
+               (substitute* "cmake/Findasio.cmake"
+                 (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin)
+                  (string-append begin " \"" asio "/include\" )")))
+               (substitute* "cmake/Findcatch.cmake"
+                 (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin)
+                  (string-append begin " \"" catch "/include\" )")))
+               (substitute* "cmake/Findopenssl.cmake"
+                 (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin)
+                  (string-append begin " \"" openssl "/lib\" )"))
+                 (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin)
+                  (string-append begin " \"" openssl "/lib\" )"))
+                 (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin)
+                  (string-append begin " \"" openssl "/include\" )")))))))))
+    (synopsis "Asynchronous RESTful functionality to C++11 applications")
+    (description "Restbed is a comprehensive and consistent programming
 model for building applications that require seamless and secure
 communication over HTTP.")
-      (home-page "https://github.com/Corvusoft/restbed")
-      (license license:agpl3+))))
+    (home-page "https://github.com/Corvusoft/restbed")
+    (license license:agpl3+)))
 
 (define-public restinio
   (package
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:02 GMT) Full text and rfc822 format available.

Message #14 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 03/12] gnu: restinio: Update to 0.6.13.
Date: Wed, 31 Mar 2021 01:23:39 -0400
* gnu/packages/networking.scm (restinio): Update to 0.6.13.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index ff0ccc95fc..464192ad7e 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3386,7 +3386,7 @@ communication over HTTP.")
 (define-public restinio
   (package
     (name "restinio")
-    (version "0.6.1.1")
+    (version "0.6.13")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3395,7 +3395,7 @@ communication over HTTP.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5"))))
+                "0gb0yc88hdzwm08zdiviay6s08q427za33kfbygib7bdzp2wr2dm"))))
     (build-system cmake-build-system)
     (inputs                             ; TODO: Need to force-keep references on some inputs, e.g. boost.
      `(("zlib" ,zlib)
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:02 GMT) Full text and rfc822 format available.

Message #17 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 04/12] gnu: Add nettle-3.7.
Date: Wed, 31 Mar 2021 01:23:40 -0400
While nettle cannot be upgraded wholesale on the master branch, we can at
least also offer the latest version available.

* gnu/packages/nettle.scm (nettle-3.5, nettle-3.7): New variables.
(nettle): Redefine as a binding to nettle-3.5, which is the current version.
---
 gnu/packages/nettle.scm | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/nettle.scm b/gnu/packages/nettle.scm
index f5e7188ff0..753e2d6e7e 100644
--- a/gnu/packages/nettle.scm
+++ b/gnu/packages/nettle.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2016 Mark H Weaver <mhw <at> netris.org>
 ;;; Copyright © 2017 Efraim Flashner <efraim <at> flashner.co.il>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -71,7 +72,7 @@ cryptographic toolkits for object-oriented languages or in applications
 themselves.")
     (license gpl2+)))
 
-(define-public nettle
+(define-public nettle-3.5
   ;; This version is not API-compatible with version 2.  In particular, lsh
   ;; cannot use it yet.  So keep it separate.
   (package (inherit nettle-2)
@@ -89,3 +90,17 @@ themselves.")
         ;; Build "fat" binaries where the right implementation is chosen
         ;; at run time based on CPU features (starting from 3.1.)
         `(cons "--enable-fat" ,flags))))))
+
+(define-public nettle-3.7
+  (package (inherit nettle-3.5)
+    (version "3.7.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/nettle/nettle-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0qpi1qp3bcvqdsaxy2pzg530db95x8qjahkynxgwvr6dy5760ald"))))))
+
+;;; Upgrading Nettle on master would cause 10000+ packages to be rebuilt.
+(define-public nettle nettle-3.5)
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:03 GMT) Full text and rfc822 format available.

Message #20 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 06/12] gnu: pjproject: Update to 2.11.
Date: Wed, 31 Mar 2021 01:23:42 -0400
* gnu/packages/telephony.scm (pjproject): Update to 2.11.  Remove trailing #t.
[patches]: Delete field.  The patches are preserved because pjproject-jami
still needs them.
---
 gnu/packages/telephony.scm | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 5c8d247e68..af7148bf84 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2020 Michael Rohleder <mike <at> rohleder.de>
 ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan <at> disroot.org>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
 ;;; Copyright © 2021 LibreMiami <packaging-guix <at> libremiami.org>
 ;;;
@@ -723,7 +723,7 @@ your calls and messages.")
 (define-public pjproject
   (package
     (name "pjproject")
-    (version "2.10")
+    (version "2.11")
     (source
      (origin
        (method git-fetch)
@@ -733,12 +733,8 @@ your calls and messages.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))
+         "1kn9g1x1vmh4130ghph8mldz5m89gsjs4vpdzlzm98m3808gk5an"))
        (modules '((guix build utils)))
-       ;; The patches upstream status can be tracked at:
-       ;; https://github.com/pjsip/pjproject/pull/2501.
-       (patches (search-patches "pjproject-correct-the-cflags-field.patch"
-                                "pjproject-fix-pkg-config-ldflags.patch"))
        (snippet
         '(begin
            ;; Remove bundled libraries.
@@ -746,8 +742,7 @@ your calls and messages.")
            (substitute* "aconfigure.ac"
              (("third_party/build/os-auto.mak") ""))
            (substitute* "Makefile"
-             (("third_party/build") ""))
-           #t))))
+             (("third_party/build") ""))))))
     (build-system gnu-build-system)
     (outputs '("out" "debug" "static"))
     (arguments
@@ -785,8 +780,7 @@ your calls and messages.")
            ;; Make all the files writable to prevent the following error:
            ;; "autom4te: cannot open aconfigure: Permission denied".
            (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
+             (for-each make-file-writable (find-files "."))))
          (add-before 'build 'build-dep
            (lambda _ (invoke "make" "dep")))
          ;; The check phases is moved after the install phase so to
@@ -800,8 +794,7 @@ your calls and messages.")
                (with-directory-excursion out
                  (for-each (lambda (f)
                              (rename-file f (string-append s "/" (basename f))))
-                           (find-files "." "\\.a$")))
-               #t)))
+                           (find-files "." "\\.a$"))))))
          (add-after 'install 'check
            (assoc-ref %standard-phases 'check))
          (add-before 'patch-source-shebangs 'autoconf
@@ -844,8 +837,7 @@ your calls and messages.")
                ;; Disable the pjnath and pjsua tests, which require an actual
                ;; network and an actual sound card, respectively.
                (("pjnath-test pjmedia-test pjsip-test pjsua-test")
-                "pjmedia-test pjsip-test"))
-             #t)))))
+                "pjmedia-test pjsip-test")))))))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:03 GMT) Full text and rfc822 format available.

Message #23 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 05/12] gnu: opendht: Update to 2.2.0rc4.
Date: Wed, 31 Mar 2021 01:23:41 -0400
* gnu/packages/patches/opendht-fix-jami.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Un-register it.
* gnu/packages/networking.scm (opendht): Update to 2.2.0rc4.
[patches]: Remove field.
[inputs]: Use nettle-3.7.
[native-inputs]: Move restinio to...
[propagated-inputs]: ... here.
---
 gnu/local.mk                                |  1 -
 gnu/packages/networking.scm                 | 13 ++++----
 gnu/packages/patches/opendht-fix-jami.patch | 33 ---------------------
 3 files changed, 6 insertions(+), 41 deletions(-)
 delete mode 100644 gnu/packages/patches/opendht-fix-jami.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index deb4ddcede..9bc7ae7564 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1469,7 +1469,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/opencascade-oce-glibc-2.26.patch		\
   %D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch	\
   %D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch	\
-  %D%/packages/patches/opendht-fix-jami.patch			\
   %D%/packages/patches/openfoam-4.1-cleanup.patch			\
   %D%/packages/patches/openjdk-10-idlj-reproducibility.patch	\
   %D%/packages/patches/openmpi-mtl-priorities.patch		\
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 464192ad7e..7a09c48651 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3428,40 +3428,39 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
 (define-public opendht
   (package
     (name "opendht")
-    (version "2.1.4")
+    (version "2.2.0rc4")                ;jami requires >= 2.2.0
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/savoirfairelinux/opendht")
                     (commit version)))
               (file-name (git-file-name name version))
-              (patches (search-patches "opendht-fix-jami.patch"))
               (sha256
                (base32
-                "1ax26ri1ifb6s8ppd28jmanka9yf8mw3np65q2h4djhhik0phhal"))))
+                "1wc0f6cnvnlmhxnx64nxqgsx93k4g7ljdaqjl40ml74jg3nqrzcl"))))
     ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
     (build-system cmake-build-system)
     (inputs
      `(("argon2" ,argon2)
-       ("nettle" ,nettle)
+       ("nettle" ,nettle-3.7)
        ("readline" ,readline)
        ("jsoncpp" ,jsoncpp)
        ("openssl" ,openssl)             ;required for the DHT proxy
        ("fmt" ,fmt)))
     (propagated-inputs
      `(("gnutls" ,gnutls)               ;included in opendht/crypto.h
-       ("msgpack" ,msgpack)))           ;included in several installed headers
+       ("msgpack" ,msgpack)             ;included in several installed headers
+       ("restinio" ,restinio)))         ;included in opendht/http.h
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)
-       ("restinio" ,restinio)           ;headers only library
        ("libtool" ,libtool)
        ("cppunit" ,cppunit)))
     (arguments
      `(#:tests? #f                      ; Tests require network connection.
        #:configure-flags
-       '(;; "-DOPENDHT_TESTS=on"
+       '(;;"-DOPENDHT_TESTS=on"
          "-DOPENDHT_TOOLS=off"
          "-DOPENDHT_PYTHON=off"
          "-DOPENDHT_PROXY_SERVER=on"
diff --git a/gnu/packages/patches/opendht-fix-jami.patch b/gnu/packages/patches/opendht-fix-jami.patch
deleted file mode 100644
index 9718a84a41..0000000000
--- a/gnu/packages/patches/opendht-fix-jami.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e2b39dd3a0742853e00f9c3e8c46c911da20bed7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud <at> savoirfairelinux.com>
-Date: Tue, 30 Jun 2020 10:42:49 -0400
-Subject: [PATCH 1/4] http/request: make terminate public
-
----
- include/opendht/http.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/include/opendht/http.h b/include/opendht/http.h
-index cc8d5f9..46b722c 100644
---- a/include/opendht/http.h
-+++ b/include/opendht/http.h
-@@ -294,6 +294,7 @@ public:
-      * User action to cancel the Request and call the completion callbacks.
-      */
-     void cancel();
-+    void terminate(const asio::error_code& ec);
- 
- private:
-     using OnCompleteCb = std::function<void()>;
-@@ -320,8 +321,6 @@ private:
- 
-     void connect(std::vector<asio::ip::tcp::endpoint>&& endpoints, HandlerCb cb = {});
- 
--    void terminate(const asio::error_code& ec);
--
-     void post();
- 
-     void handle_request(const asio::error_code& ec);
--- 
-2.27.0
-
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:04 GMT) Full text and rfc822 format available.

Message #26 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and
 CVE-2021-21375.
Date: Wed, 31 Mar 2021 01:23:43 -0400
The custom pjproject package used by Jami is updated with the latest patches
found in the 20210326.1.cfba013 release of Jami.

* gnu/packages/jami.scm (%jami-version): Update to 20210326.1.cfba013.
(jami-source) [snippet]: Update comment.  Add client-electron and client-ios
to the list of deleted directories.  Remove client-windows from the list, as
it no longer exists.
(jami-apply-dependency-patches): Update comment.  Ignore whitespace
when applying patches, otherwise the pjproject patches would not apply.
(pjproject-jami): Add comment.
[source]: Define the source; the parent pjproject package was
updated was updated to 2.11, but the patches only apply against 2.10.
[phases] <apply-patches>: Update the list of patches used with those found in
the release tarball.
---
 gnu/packages/jami.scm | 52 ++++++++++++++++++++++++++++++-------------
 1 file changed, 36 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 3773c1ab0a..35d84bb37b 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
 ;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -63,7 +63,7 @@
   #:use-module (guix utils)
   #:use-module (srfi srfi-1))
 
-(define %jami-version "20200710.1.6bd18d2")
+(define %jami-version "20210326.1.cfba013")
 
 (define* (jami-source #:key keep-contrib-patches?)
   "Return an origin object of the tarball release sources archive of Jami.
@@ -78,7 +78,7 @@ of Jami."
     (modules '((guix build utils)))
     (snippet
      `(begin
-        ;; Delete over 200 MiB of bundled tarballs.  The contrib directory
+        ;; Delete multiple MiBs of bundled tarballs.  The contrib directory
         ;; contains the custom patches for pjproject and other libraries used
         ;; by Savoir-faire Linux.
         (if ,keep-contrib-patches?
@@ -86,21 +86,21 @@ of Jami."
             (delete-file-recursively "daemon/contrib"))
         ;; Remove code from unused Jami clients.
         (for-each delete-file-recursively '("client-android"
+                                            "client-electron"
+                                            "client-ios"
                                             "client-macosx"
-                                            "client-uwp"
-                                            "client-windows"))
-        #t))
+                                            "client-uwp"))))
     (sha256
      (base32
-      "0lg61jv39x7kc9lq30by246xb6gcgp1rzj49ak7ff8nqpfzyfvva"))))
+      "1h0avma8bdzyznkz39crjyv2888bii4f49md15jg7970dyp5pdyz"))))
 
 (define %sfl-patches (jami-source #:keep-contrib-patches? #t))
 
 (define %jami-sources (jami-source))
 
-;; Savoir-faire Linux modifies many libraries to add features
-;; to Jami. This procedure makes applying patches to a given
-;; package easy.
+;; Savoir-faire Linux maintains a set of patches for some key dependencies
+;; (currently pjproject and ffmpeg) of Jami that haven't yet been integrated
+;; upstream.  This procedure simplifies the process of applying these patches.x
 (define jami-apply-dependency-patches
   '(lambda* (#:key inputs dep-name patches)
      (let ((patches-directory "sfl-patches"))
@@ -112,15 +112,30 @@ of Jami."
                               dep-name))
        (for-each
         (lambda (file)
-          (invoke "patch" "--force" "-p1" "-i"
+          (invoke "patch" "--force" "--ignore-whitespace" "-p1" "-i"
                   (string-append patches-directory "/"
                                  file ".patch")))
         patches))))
 
+;;; Jami maintains pjproject patches that add the ability to do ICE over TCP,
+;;; among other things.  The patches are currently based on pjproject 2.10.
 (define-public pjproject-jami
   (package
     (inherit pjproject)
     (name "pjproject-jami")
+    (version "2.10")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pjsip/pjproject")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))
+              (patches (search-patches
+                        "pjproject-correct-the-cflags-field.patch"
+                        "pjproject-fix-pkg-config-ldflags.patch"))))
     (native-inputs
      `(("sfl-patches" ,%sfl-patches)
        ,@(package-native-inputs pjproject)))
@@ -140,14 +155,19 @@ of Jami."
                   "0004-multiple_listeners"
                   "0005-fix_ebusy_turn"
                   "0006-ignore_ipv6_on_transport_check"
-                  "0007-pj_ice_sess"
+                  "0007-upnp-srflx-nat-assisted-cand"
                   "0008-fix_ioqueue_ipv6_sendto"
                   "0009-add-config-site"
-                  ;; Note: The base pjproject is already patched with
-                  ;; "0010-fix-pkgconfig".
+                  ;; Already taken care of via the origin patches.
+                  ;;"0010-fix-pkgconfig"
                   "0011-fix-tcp-death-detection"
-                  "0012-fix-turn-shutdown-crash"))
-               #t))))))))
+                  "0012-fix-turn-shutdown-crash"
+                  "0013-Assign-unique-local-preferences-for-candidates-with-"
+                  "0014-Add-new-compile-time-setting-PJ_ICE_ST_USE_TURN_PERM"
+                  "0015-update-local-preference-for-peer-reflexive-candidate"
+                  "0016-use-addrinfo-instead-CFHOST"
+                  "0017-CVE-2020-15260"
+                  "0018-CVE-2021-21375"))))))))))
 
 ;; The following variables are configure flags used by ffmpeg-jami.  They're
 ;; from the ring-project/daemon/contrib/src/ffmpeg/rules.mak file. We try to
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:04 GMT) Full text and rfc822 format available.

Message #29 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 08/12] ffmpeg-jami: Patch with the patches from Jami
 20210326.1.cfba013.
Date: Wed, 31 Mar 2021 01:23:44 -0400
* gnu/packages/jami.scm (ffmpeg-jami): Remove trailing #t.
[phases] <apply-patches>: Add libopusdec-enable-FEC and
libopusenc-enable-FEC to the list of patches to apply.
---
 gnu/packages/jami.scm | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 35d84bb37b..9d5d00c60c 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -403,21 +403,22 @@ of Jami."
          `(modify-phases ,phases
             (add-after 'unpack 'make-git-checkout-writable
               (lambda _
-                (for-each make-file-writable (find-files "."))
-                #t))
+                (for-each make-file-writable (find-files "."))))
             (add-after 'unpack 'apply-patches
               (lambda* (#:key inputs #:allow-other-keys)
                 (let ((jami-apply-dependency-patches
                        ,jami-apply-dependency-patches))
                   ;; These patches come from:
                   ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak".
-                  (jami-apply-dependency-patches #:inputs inputs
-                                                 #:dep-name "ffmpeg"
-                                                 #:patches
-                                                 '("remove-mjpeg-log"
-                                                   "change-RTCP-ratio"
-                                                   "rtp_ext_abs_send_time"))
-                  #t))))))))))
+                  (jami-apply-dependency-patches
+                   #:inputs inputs
+                   #:dep-name "ffmpeg"
+                   #:patches
+                   '("remove-mjpeg-log"
+                     "change-RTCP-ratio"
+                     "rtp_ext_abs_send_time"
+                     "libopusdec-enable-FEC"
+                     "libopusenc-enable-FEC"))))))))))))
 
 (define-public libring
   (package
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:04 GMT) Full text and rfc822 format available.

Message #32 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 09/12] gnu: libring: Update to 20210326.1.cfba013.
Date: Wed, 31 Mar 2021 01:23:45 -0400
* gnu/packages/jami.scm (libring): Update to 20210326.1.cfba013.  Remove
trailing #t.
[inputs]: Remove boost, flac, gmp, gsm, libogg, libva, opus, pcre,
libsamplerate, libsndfile, libvorbis, libx264, libvdpau, zlib, python,
python-wrapper, restinio, and libx11.  Add webrtc-audio-processing.
[native-inputs]: Remove cppunit.  Add gcc-8.
[make-flags]: Add the V=1 flag.
[synopsis]: More explicitly describe what this component is.
[description]: Describe the specifics before the generalities.
---
 gnu/packages/jami.scm | 61 ++++++++++++++-----------------------------
 1 file changed, 20 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 9d5d00c60c..ddb4b35349 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -428,71 +429,49 @@ of Jami."
     (build-system gnu-build-system)
     (inputs
      `(("alsa-lib" ,alsa-lib)
-       ("boost" ,boost)
+       ("asio" ,asio)
        ("dbus-c++" ,dbus-c++)
        ("eudev" ,eudev)
        ("ffmpeg" ,ffmpeg-jami)
-       ("flac" ,flac)
-       ("gmp" ,gmp)
-       ("gsm" ,gsm)
        ("jack" ,jack-1)
        ("jsoncpp" ,jsoncpp)
        ("libarchive" ,libarchive)
        ("libnatpmp" ,libnatpmp)
-       ("libogg" ,libogg)
-       ("libva" ,libva)
+       ("libsecp256k1" ,libsecp256k1)
+       ("libupnp" ,libupnp)
        ("opendht" ,opendht)
-       ("opus" ,opus)
-       ("pcre" ,pcre)
+       ("openssl" ,openssl)
+       ("pjproject" ,pjproject-jami)
        ("pulseaudio" ,pulseaudio)
-       ("libsamplerate" ,libsamplerate)
-       ("libsndfile" ,libsndfile)
        ("speex" ,speex)
        ("speexdsp" ,speexdsp)
-       ("libupnp" ,libupnp)
-       ("libvorbis" ,libvorbis)
-       ("libx264" ,libx264)
-       ("libvdpau" ,libvdpau)
-       ("yaml-cpp" ,yaml-cpp)
-       ("zlib" ,zlib)
-       ("openssl" ,openssl)
-       ("libsecp256k1" ,libsecp256k1)
-       ("python" ,python)
-       ("python-wrapper" ,python-wrapper)
-       ("restinio" ,restinio)
-       ("libx11" ,libx11)
-       ("asio" ,asio)
-       ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
-       ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
-       ("pjproject" ,pjproject-jami)))
+       ("webrtc-audio-processing" ,webrtc-audio-processing)
+       ("yaml-cpp" ,yaml-cpp)))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
+       ("gcc" ,gcc-8)                   ;charconv requires GCC 8.1+
        ("libtool" ,libtool)
+       ("perl" ,perl)                   ;to generate manpages with pod2man
        ("pkg-config" ,pkg-config)
-       ("which" ,which)
-       ("cppunit" ,cppunit)
-       ("perl" ,perl)))                 ; Needed for documentation.
+       ("which" ,which)))
     (arguments
      `(#:tests? #f         ; The tests fail to compile due to missing headers.
+       #:make-flags '("V=1")            ;build verbosely
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'change-directory
            (lambda _
-             (chdir "daemon")
-             #t))
+             (chdir "daemon")))
          (add-before 'build 'add-lib-dir
            (lambda _
-             (mkdir-p "src/lib")
-             #t)))))
-    (synopsis "Distributed multimedia communications platform")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides a library and daemon implementing the Jami core
-functionality.")
+             (mkdir-p "src/lib"))))))
+    (synopsis "Jami core library and daemon")
+    (description "This package provides a library and daemon implementing the
+Jami core functionality.  Jami is a secure and distributed voice, video and
+chat communication platform that requires no centralized server and leaves the
+power of privacy in the hands of the user.  It supports the SIP and IAX
+protocols, as well as decentralized calling using P2P-DHT.")
     (home-page "https://jami.net/")
     (license license:gpl3+)))
 
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:05 GMT) Full text and rfc822 format available.

Message #35 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 10/12] gnu: libringclient: Update to 20210326.1.cfba013.
Date: Wed, 31 Mar 2021 01:23:46 -0400
* gnu/packages/jami.scm (libringclient): Update to 20210326.1.cfba013.  Remove
trailing #t.  Do not inherit from libring.
[version, source]: Specify fields.
[propagated-inputs]: Remove qttools.  Move libring to ...
[inputs]: ... here.  Add network-manager.
[configure-flags] Define the RING_XML_INTERFACES_DIR variable.
[phases]{fix-dbus-interfaces-path}: Delete.
[synopsis]: More explicitly describe what this component is.
[description]: Describe the specifics before the generalities.
---
 gnu/packages/jami.scm | 38 +++++++++++++++++---------------------
 1 file changed, 17 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index ddb4b35349..41fa69dd48 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -477,37 +477,33 @@ protocols, as well as decentralized calling using P2P-DHT.")
 
 (define-public libringclient
   (package
-    (inherit libring)
     (name "libringclient")
+    (version %jami-version)
+    (source %jami-sources)
     (build-system cmake-build-system)
+    (inputs
+     `(("libring" ,libring)
+       ("network-manager" ,network-manager)))
     (propagated-inputs
-     `(("libring" ,libring)     ; For 'dring'.
-       ("qtbase" ,qtbase)       ; Qt is included in several installed headers.
-       ("qttools" ,qttools)))
+     `(("qtbase" ,qtbase)))     ; Qt is included in several installed headers.
     (arguments
      `(#:tests? #f                      ; There is no testsuite.
        #:configure-flags
-       (list (string-append "-DRING_BUILD_DIR="
-                            (assoc-ref %build-inputs "libring") "/include"))
+       (let ((libring (assoc-ref %build-inputs "libring")))
+         (list (string-append "-DRING_XML_INTERFACES_DIR="
+                              libring "/share/dbus-1/interfaces")
+               (string-append "-DRING_BUILD_DIR=" libring "/include")))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'change-directory
            (lambda _
-             (chdir "lrc")
-             #t))
-         (add-before 'configure 'fix-dbus-interfaces-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "CMakeLists.txt"
-               (("\\$\\{CMAKE_INSTALL_PREFIX\\}(/share/dbus-1/interfaces)" _ dbus-interfaces-path-suffix)
-                (string-append (assoc-ref inputs "libring")
-                               dbus-interfaces-path-suffix))))))))
-    (synopsis "Distributed multimedia communications platform")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides a library common to all Jami clients.")
+             (chdir "lrc"))))))
+    (synopsis "Jami client library")
+    (description "This package provides a library common to all Jami clients.
+Jami is a secure and distributed voice, video and chat communication platform
+that requires no centralized server and leaves the power of privacy in the
+hands of the user.  It supports the SIP and IAX protocols, as well as
+decentralized calling using P2P-DHT.")
     (home-page "https://jami.net")
     (license license:gpl3+)))
 
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:05 GMT) Full text and rfc822 format available.

Message #38 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to
 jami-gnome.
Date: Wed, 31 Mar 2021 01:23:47 -0400
* gnu/packages/jami.scm (jami): Update to 20210326.1.cfba013.  Rename to ...
(jami-gnome):  In prevision of the soon released Jami Qt client.
(jami): Define as obsoleted by jami-gnome.
[inputs]: Sort lexico-graphically.  Add libappindicator and network-manager.
[native-inputs]: Add a comment and fix a typo.  Remove doxygen.
[propagated-inputs]: Remove evolution-data-server.
[synopsis]: More explicitly describe what this package is.
[description]: Describe the specifics before the generalities.
---
 gnu/packages/jami.scm | 53 +++++++++++++++++++++++--------------------
 1 file changed, 29 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 41fa69dd48..79dbb39f5a 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -507,44 +508,48 @@ decentralized calling using P2P-DHT.")
     (home-page "https://jami.net")
     (license license:gpl3+)))
 
-(define-public jami
+(define-public jami-gnome
   (package
-    (inherit libring)
-    (name "jami")
+    (name "jami-gnome")
+    (version %jami-version)
+    (source %jami-sources)
     (build-system cmake-build-system)
     (inputs
-     `(("libringclient" ,libringclient)
-       ("gtk+" ,gtk+)
-       ("qrencode" ,qrencode)
-       ("libnotify" ,libnotify)
-       ("clutter" ,clutter)
+     `(("clutter" ,clutter)
        ("clutter-gtk" ,clutter-gtk)
+       ("gtk+" ,gtk+)
        ("libcanberra" ,libcanberra)
-       ("webkitgtk" ,webkitgtk)
-       ("sqlite" ,sqlite)))
+       ("libappindicator" ,libappindicator)
+       ("libnotify" ,libnotify)
+       ("libringclient" ,libringclient)
+       ("network-manager" ,network-manager)
+       ("qrencode" ,qrencode)
+       ("sqlite" ,sqlite)
+       ("webkitgtk" ,webkitgtk)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("doxygen" ,doxygen)))
+       ("glib:bin" ,glib "bin")))       ;for glib-compile-resources
     (propagated-inputs
-     `(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus.
-       ("adwaita-icon-theme" ,adwaita-icon-theme)
-       ("evolution-data-server" ,evolution-data-server)))
+     `(("libring" ,libring) ; Contains 'dring', the daemon, which is
+                            ; automatically started by DBus.
+       ("adwaita-icon-theme" ,adwaita-icon-theme)))
     (arguments
      `(#:tests? #f                      ; There is no testsuite.
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'change-directory
            (lambda _
-             (chdir "client-gnome")
-             #t)))))
-    (synopsis "Distributed, privacy-respecting communication program")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides the Jami client for the GNOME desktop.")
+             (chdir "client-gnome"))))))
+    (synopsis "Jami client for GNOME")
+    (description "This package provides a Jami client for the GNOME desktop.
+Jami is a secure and distributed voice, video and chat communication platform
+that requires no centralized server and leaves the power of privacy in the
+hands of the user.  It supports the SIP and IAX protocols, as well as
+decentralized calling using P2P-DHT.")
     (home-page "https://jami.net")
     (license license:gpl3+)))
+
+;;; Keep this until the Qt client matures enough to become the
+;;; main 'jami' client.
+(deprecated-package jami jami-gnome)
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 05:25:06 GMT) Full text and rfc822 format available.

Message #41 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 12/12] gnu: Add jami-qt.
Date: Wed, 31 Mar 2021 01:23:48 -0400
* gnu/packages/jami.scm (jami-qt): New variable.
---
 gnu/packages/jami.scm | 66 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 79dbb39f5a..67befe63a2 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -36,6 +36,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
@@ -59,6 +60,7 @@
   #:use-module (gnu packages)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system qt)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
@@ -553,3 +555,67 @@ decentralized calling using P2P-DHT.")
 ;;; Keep this until the Qt client matures enough to become the
 ;;; main 'jami' client.
 (deprecated-package jami jami-gnome)
+
+(define-public jami-qt
+  (package
+    (name "jami-qt")                    ;to be renamed 'jami' at some point
+    (version %jami-version)
+    ;; The Qt client code is not yet part of the release tarball; fetch it
+    ;; from git for now.
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.jami.net/savoirfairelinux/jami-client-qt.git")
+                    (commit "ae21c17da5e8f730ae3895ccbc4da8047e3be1eb")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1rf3lpk8c4qc12pi6pn4rdp7i8b83xv64yqr0q47rzv9s518qyjp"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ;no test suite
+       #:phases
+       (modify-phases %standard-phases
+         ;; TODO: Uncomment after switching back to the tarball source.
+         ;;   (add-after 'unpack 'change-directory
+         ;;     (lambda _
+         ;;       (chdir "client-qt")))
+         (add-after 'install 'wrap
+           ;; The program fails to find the QtWebEngineProcess program, so we
+           ;; set QTWEBENGINEPROCESS_PATH to help it.
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+                   (qtwebengineprocess (string-append
+                                        (assoc-ref inputs "qtwebengine")
+                                        "/lib/qt5/libexec/QtWebEngineProcess")))
+               (for-each (lambda (program)
+                           (wrap-program program
+                             `("QTWEBENGINEPROCESS_PATH" =
+                               (,qtwebengineprocess))))
+                         (find-files bin ".*"))))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)
+       ("doxygen" ,doxygen)
+       ("graphviz" ,graphviz)))
+    (inputs
+     `(("network-manager" ,network-manager)
+       ("qrencode" ,qrencode)
+       ("qtsvg" ,qtsvg)
+       ("qtwebengine" ,qtwebengine)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtmultimedia" ,qtmultimedia)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtgraphicaleffects" ,qtgraphicaleffects)
+       ("qtquickcontrols" ,qtquickcontrols)
+       ("qtquickcontrols2" ,qtquickcontrols2)))
+    (propagated-inputs
+     `(("libringclient" ,libringclient)))
+    (home-page "https://jami.net")
+    (synopsis "Qt Jami client")
+    (description "This package provides the Jami Qt client.  Jami is a secure
+and distributed voice, video and chat communication platform that requires no
+centralized server and leaves the power of privacy in the hands of the user.
+It supports the SIP and IAX protocols, as well as decentralized calling using
+P2P-DHT.")
+    (license license:gpl3+)))
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 06:09:02 GMT) Full text and rfc822 format available.

Message #44 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 47513 <at> debbugs.gnu.org
Subject: Re: [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013
 and rename to jami-gnome.
Date: Wed, 31 Mar 2021 02:08:49 -0400 (EDT)
Thanks for working on these patches. I'm excited to try out the new Jami 
version.

On Wed, 31 Mar 2021, Maxim Cournoyer wrote:

> * gnu/packages/jami.scm (jami): Update to 20210326.1.cfba013.  Rename to ...
> (jami-gnome):  In prevision of the soon released Jami Qt client.
> (jami): Define as obsoleted by jami-gnome.

However, I wonder if something has gone wrong with the renaming. I applied 
the whole series on top of fea1eea452e9659b79f88fa80a45ca7c03cded1f. 
However, running make in the Guix checkout now fails as follows. I did 
re-run ./bootstrap and ./configure for good measure:

```
jackhill <at> alperton ~/repos/guix [env]$ make
make  all-recursive
make[1]: Entering directory '/home/jackhill/repos/guix'
Making all in po/guix
make[2]: Entering directory '/home/jackhill/repos/guix/po/guix'
make[2]: Leaving directory '/home/jackhill/repos/guix/po/guix'
Making all in po/packages
make[2]: Entering directory '/home/jackhill/repos/guix/po/packages'
make[2]: Leaving directory '/home/jackhill/repos/guix/po/packages'
make[2]: Entering directory '/home/jackhill/repos/guix'
Compiling Scheme modules...
[  8%] LOAD     gnu/packages/build-tools.scm
;;; note: source file ./gnu/packages/build-tools.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/build-tools.go
;;; note: source file ./gnu/packages/build-tools.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/build-tools.go
;;; note: source file ./gnu/packages/networking.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/networking.go
;;; note: source file ./gnu/packages/networking.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/networking.go
;;; note: source file ./gnu/packages/nettle.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/nettle.go
;;; note: source file ./gnu/packages/nettle.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/nettle.go
;;; note: source file ./gnu/packages/telephony.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/telephony.go
;;; note: source file ./gnu/packages/telephony.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/telephony.go
[ 17%] LOAD     gnu/packages/emulators.scm
;;; note: source file ./gnu/packages/emulators.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/emulators.go
;;; note: source file ./gnu/packages/emulators.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/emulators.go
[ 25%] LOAD     gnu/packages/jami.scm
;;; note: source file ./gnu/packages/jami.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/jami.go
;;; note: source file ./gnu/packages/jami.scm
;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/jami.go
ice-9/eval.scm:293:34: error: jami: unbound variable
hint: Did you forget a `use-modules' form?

make[2]: *** [Makefile:6318: make-go] Error 1
make[2]: Leaving directory '/home/jackhill/repos/guix'
make[1]: *** [Makefile:5366: all-recursive] Error 1
make[1]: Leaving directory '/home/jackhill/repos/guix'
make: *** [Makefile:3697: all] Error 2
```

Unfortunately, I don't see any place the old binding is referenced.

Best,
Jack




Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 06:50:02 GMT) Full text and rfc822 format available.

Message #47 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 47513 <at> debbugs.gnu.org
Subject: Re: [bug#47513] [PATCH 00/12] Update jami and add jami-qt
Date: Wed, 31 Mar 2021 08:49:19 +0200
[Message part 1 (text/plain, inline)]
On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote:
> Hello!
> 
> I've finally picked up the packaging of Jami, which was becoming quite
> outdated in Guix.  I haven't had much time to test the result yet, but a
> priori it seems to function as intended.
> 
> Let me know how it works for you!

I read through the patch set and don't see any obvious problems.
Now I'll test this.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 13:25:01 GMT) Full text and rfc822 format available.

Message #50 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 47513 <at> debbugs.gnu.org
Subject: Re: [bug#47513] [PATCH 00/12] Update jami and add jami-qt
Date: Wed, 31 Mar 2021 15:23:03 +0200
[Message part 1 (text/plain, inline)]
On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote:
> Hello!
> 
> I've finally picked up the packaging of Jami, which was becoming quite
> outdated in Guix.  I haven't had much time to test the result yet, but a
> priori it seems to function as intended.
> 
> Let me know how it works for you!
> 
> Maxim

Something went wrong with sending the patch.
Snipped from first patch from
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47513#5>:

<start snip>
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Subject: [PATCH 01/12] gnu: asio: Update to 1.18.1.
Date: Wed, 31 Mar 2021 01:23:37 -0400
Message-Id: <20210331052348.5164-1-maxim.cournoyer <at> gmail.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Type: text/plain; charset=yes
Content-Transfer-Encoding: 8bit
<end snip>

What character encoding is 'yes'?
I manually changed 'yes' to 'utf-8' and only then the
patch series applied.

Now trying to build jami-gnome.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 15:22:01 GMT) Full text and rfc822 format available.

Message #53 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013
 and rename to jami-gnome.
Date: Wed, 31 Mar 2021 11:21:29 -0400 (EDT)
> [ 25%] LOAD     gnu/packages/jami.scm
> ;;; note: source file ./gnu/packages/jami.scm
> ;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/jami.go
> ;;; note: source file ./gnu/packages/jami.scm
> ;;;       newer than compiled /home/jackhill/repos/guix/gnu/packages/jami.go
> ice-9/eval.scm:293:34: error: jami: unbound variable
> hint: Did you forget a `use-modules' form?
>
> make[2]: *** [Makefile:6318: make-go] Error 1
> make[2]: Leaving directory '/home/jackhill/repos/guix'
> make[1]: *** [Makefile:5366: all-recursive] Error 1
> make[1]: Leaving directory '/home/jackhill/repos/guix'
> make: *** [Makefile:3697: all] Error 2
> ```
>
> Unfortunately, I don't see any place the old binding is referenced.

Oops, this seems be be my mistake. A `make clean-go` fixed it. Sorry for 
the noise.

Best,
Jack




Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 15:24:02 GMT) Full text and rfc822 format available.

Message #56 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: 47513 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013
 and rename to jami-gnome.
Date: Wed, 31 Mar 2021 11:23:48 -0400 (EDT)
On Wed, 31 Mar 2021, Jack Hill wrote:

>> [ 25%] LOAD     gnu/packages/jami.scm
>> ;;; note: source file ./gnu/packages/jami.scm
>> ;;;       newer than compiled 
>> /home/jackhill/repos/guix/gnu/packages/jami.go
>> ;;; note: source file ./gnu/packages/jami.scm
>> ;;;       newer than compiled 
>> /home/jackhill/repos/guix/gnu/packages/jami.go
>> ice-9/eval.scm:293:34: error: jami: unbound variable
>> hint: Did you forget a `use-modules' form?
>> 
>> make[2]: *** [Makefile:6318: make-go] Error 1
>> make[2]: Leaving directory '/home/jackhill/repos/guix'
>> make[1]: *** [Makefile:5366: all-recursive] Error 1
>> make[1]: Leaving directory '/home/jackhill/repos/guix'
>> make: *** [Makefile:3697: all] Error 2
>> ```
>> 
>> Unfortunately, I don't see any place the old binding is referenced.
>
> Oops, this seems be be my mistake. A `make clean-go` fixed it. Sorry for the 
> noise.

Oops again. It seems like a spoke too soon. I'm still having the problem 
after a clean-go (I had forgotten that I was looking at something else in 
my guix repository and didn't have these patches applied at the moment).




Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 16:58:01 GMT) Full text and rfc822 format available.

Message #59 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: 47513 <at> debbugs.gnu.org
Subject: Re: [bug#47513] [PATCH 00/12] Update jami and add jami-qt
Date: Wed, 31 Mar 2021 12:57:29 -0400
Hi!

Maxime Devos <maximedevos <at> telenet.be> writes:

> On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote:
>> Hello!
>> 
>> I've finally picked up the packaging of Jami, which was becoming quite
>> outdated in Guix.  I haven't had much time to test the result yet, but a
>> priori it seems to function as intended.
>> 
>> Let me know how it works for you!
>> 
>> Maxim
>
> Something went wrong with sending the patch.
> Snipped from first patch from
> <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47513#5>:
>
> <start snip>
> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> To: 47513 <at> debbugs.gnu.org
> Subject: [PATCH 01/12] gnu: asio: Update to 1.18.1.
> Date: Wed, 31 Mar 2021 01:23:37 -0400
> Message-Id: <20210331052348.5164-1-maxim.cournoyer <at> gmail.com>
> X-Mailer: git-send-email 2.31.1
> MIME-Version: 1.0
> Content-Type: text/plain; charset=yes
> Content-Transfer-Encoding: 8bit
> <end snip>
>
> What character encoding is 'yes'?
> I manually changed 'yes' to 'utf-8' and only then the
> patch series applied.

Oh, sorry about this!  I'm not sure what happened, as I generated the
series with 'git format-patch', and send it via 'git send-email',
without specifying any special options for the encoding.

I guess I simply replied 'yes' without reading through the questions git
send-email asked me (it was late :-)).

I'll resend the series now to spare anyone else the trouble of figuring
that out.

Thanks for letting me know!

> Now trying to build jami-gnome.

And for testing it!

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:02 GMT) Full text and rfc822 format available.

Message #62 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 01/12] gnu: asio: Update to 1.18.1.
Date: Wed, 31 Mar 2021 13:22:21 -0400
* gnu/packages/networking.scm (asio): Update to 1.18.1.
(asio-1.12): New variable.
* gnu/packages/emulators.scm (mame)[inputs]: Use asio-1.12, otherwise it fails
to build.
---
 gnu/packages/emulators.scm  |  2 +-
 gnu/packages/networking.scm | 17 +++++++++++++++--
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 1cd23c3e6c..cfe909b3a6 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1743,7 +1743,7 @@ This is a part of the TiLP project.")
        ("texinfo" ,texinfo)))
     (inputs
      `(("alsa-lib" ,alsa-lib)
-       ("asio" ,asio)
+       ("asio" ,asio-1.12)              ;the bundled copy is at 1.11
        ("expat" ,expat)
        ("flac" ,flac)
        ("fontconfig" ,fontconfig)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 7dd484fa94..efbcb68e23 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -26,7 +26,7 @@
 ;;; Copyright © 2018, 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust <at> gmail.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail <at> ambrevar.xyz>
-;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2019 Vasile Dumitrascu <va511e <at> yahoo.com>
 ;;; Copyright © 2019 Julien Lepiller <julien <at> lepiller.eu>
 ;;; Copyright © 2019 Timotej Lazar <timotej.lazar <at> araneo.si>
@@ -3027,7 +3027,8 @@ eight bytes) tools
     ;; Either BSD-3 or GPL-2 can be used.
     (license (list license:bsd-3 license:gpl2))))
 
-(define-public asio
+;;; This is an old version required by rested.
+(define-public asio-1.12
   (package
     (name "asio")
     (version "1.12.2")
@@ -3054,6 +3055,18 @@ low-level I/O programming that provides developers with a consistent
 asynchronous model using a modern C++ approach.")
     (license license:boost1.0)))
 
+(define-public asio
+  (package
+    (inherit asio-1.12)
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/asio/asio/"
+                           version " (Stable)/asio-" version ".tar.bz2"))
+       (sha256
+        (base32 "04wi69d72l1p5c7d63z1dz06zn8pdqsbgx1if98dszs9ymfqgyaa"))))))
+
 (define-public shadowsocks
   ;; There are some security fixes after the last release.
   (let* ((commit "e332ec93e9c90f1cbee676b022bf2c5d5b7b1239")
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:02 GMT) Full text and rfc822 format available.

Message #65 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 02/12] gnu: restbed: Update to 4.7.
Date: Wed, 31 Mar 2021 13:22:22 -0400
* gnu/packages/networking.scm (restbed): Update to 4.7.
---
 gnu/packages/networking.scm | 97 ++++++++++++++++++-------------------
 1 file changed, 48 insertions(+), 49 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index efbcb68e23..f114e65d17 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3332,57 +3332,56 @@ never see any machines other than the one Dante is running on.")
     (license (license:non-copyleft "file://LICENSE"))))
 
 (define-public restbed
-  (let ((commit "6eb385fa9051203f28bf96cc1844bbb5a9a6481f"))
-    (package
-      (name "restbed")
-      (version (git-version "4.6" "1" commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/Corvusoft/restbed/")
-               (commit commit)))
-         (file-name (string-append name "-" version ".tar.gz"))
-         (sha256
-          (base32 "0k60i5drklqqrb4khb25fzkgz9y0sncxf1sp6lh2bm1m0gh0661n"))))
-      (build-system cmake-build-system)
-      (inputs
-       `(("asio" ,asio)
-         ("catch" ,catch-framework)
-         ("openssl" ,openssl)))
-      (arguments
-       `(#:tests? #f
-         #:configure-flags
-         '("-DBUILD_TESTS=NO"
-           "-DBUILD_EXAMPLES=NO"
-           "-DBUILD_SSL=NO"
-           "-DBUILD_SHARED=NO")
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'apply-patches-and-fix-paths
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((asio (assoc-ref inputs "asio"))
-                     (catch (assoc-ref inputs "catch"))
-                     (openssl (assoc-ref inputs "openssl")))
-                 (substitute* "cmake/Findasio.cmake"
-                   (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin)
-                    (string-append begin " \"" asio "/include\" )")))
-                 (substitute* "cmake/Findcatch.cmake"
-                   (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin)
-                    (string-append begin " \"" catch "/include\" )")))
-                 (substitute* "cmake/Findopenssl.cmake"
-                   (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin)
-                    (string-append begin " \"" openssl "/lib\" )"))
-                   (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin)
-                    (string-append begin " \"" openssl "/lib\" )"))
-                   (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin)
-                    (string-append begin " \"" openssl "/include\" )")))))))))
-      (synopsis "Asynchronous RESTful functionality to C++11 applications")
-      (description "Restbed is a comprehensive and consistent programming
+  (package
+    (name "restbed")
+    (version "4.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Corvusoft/restbed/")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "055qicb773a599dsqbcz5xf0xj1wpk33mdrkyi0fsmyjmn8d2p9d"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("asio" ,asio-1.12)
+       ("catch" ,catch-framework)
+       ("openssl" ,openssl)))
+    (arguments
+     `(#:tests? #f
+       #:configure-flags
+       '("-DBUILD_TESTS=NO"
+         "-DBUILD_EXAMPLES=NO"
+         "-DBUILD_SSL=NO"
+         "-DBUILD_SHARED=NO")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'apply-patches-and-fix-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((asio (assoc-ref inputs "asio"))
+                   (catch (assoc-ref inputs "catch"))
+                   (openssl (assoc-ref inputs "openssl")))
+               (substitute* "cmake/Findasio.cmake"
+                 (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin)
+                  (string-append begin " \"" asio "/include\" )")))
+               (substitute* "cmake/Findcatch.cmake"
+                 (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin)
+                  (string-append begin " \"" catch "/include\" )")))
+               (substitute* "cmake/Findopenssl.cmake"
+                 (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin)
+                  (string-append begin " \"" openssl "/lib\" )"))
+                 (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin)
+                  (string-append begin " \"" openssl "/lib\" )"))
+                 (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin)
+                  (string-append begin " \"" openssl "/include\" )")))))))))
+    (synopsis "Asynchronous RESTful functionality to C++11 applications")
+    (description "Restbed is a comprehensive and consistent programming
 model for building applications that require seamless and secure
 communication over HTTP.")
-      (home-page "https://github.com/Corvusoft/restbed")
-      (license license:agpl3+))))
+    (home-page "https://github.com/Corvusoft/restbed")
+    (license license:agpl3+)))
 
 (define-public restinio
   (package
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:03 GMT) Full text and rfc822 format available.

Message #68 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 03/12] gnu: restinio: Update to 0.6.13.
Date: Wed, 31 Mar 2021 13:22:23 -0400
* gnu/packages/networking.scm (restinio): Update to 0.6.13.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f114e65d17..bd6201bcbf 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3386,7 +3386,7 @@ communication over HTTP.")
 (define-public restinio
   (package
     (name "restinio")
-    (version "0.6.1.1")
+    (version "0.6.13")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3395,7 +3395,7 @@ communication over HTTP.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5"))))
+                "0gb0yc88hdzwm08zdiviay6s08q427za33kfbygib7bdzp2wr2dm"))))
     (build-system cmake-build-system)
     (inputs                             ; TODO: Need to force-keep references on some inputs, e.g. boost.
      `(("zlib" ,zlib)
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:03 GMT) Full text and rfc822 format available.

Message #71 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 04/12] gnu: Add nettle-3.7.
Date: Wed, 31 Mar 2021 13:22:24 -0400
While nettle cannot be upgraded wholesale on the master branch, we can at
least also offer the latest version available.

* gnu/packages/nettle.scm (nettle-3.5, nettle-3.7): New variables.
(nettle): Redefine as a binding to nettle-3.5, which is the current version.
---
 gnu/packages/nettle.scm | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/nettle.scm b/gnu/packages/nettle.scm
index f5e7188ff0..753e2d6e7e 100644
--- a/gnu/packages/nettle.scm
+++ b/gnu/packages/nettle.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2016 Mark H Weaver <mhw <at> netris.org>
 ;;; Copyright © 2017 Efraim Flashner <efraim <at> flashner.co.il>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -71,7 +72,7 @@ cryptographic toolkits for object-oriented languages or in applications
 themselves.")
     (license gpl2+)))
 
-(define-public nettle
+(define-public nettle-3.5
   ;; This version is not API-compatible with version 2.  In particular, lsh
   ;; cannot use it yet.  So keep it separate.
   (package (inherit nettle-2)
@@ -89,3 +90,17 @@ themselves.")
         ;; Build "fat" binaries where the right implementation is chosen
         ;; at run time based on CPU features (starting from 3.1.)
         `(cons "--enable-fat" ,flags))))))
+
+(define-public nettle-3.7
+  (package (inherit nettle-3.5)
+    (version "3.7.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/nettle/nettle-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0qpi1qp3bcvqdsaxy2pzg530db95x8qjahkynxgwvr6dy5760ald"))))))
+
+;;; Upgrading Nettle on master would cause 10000+ packages to be rebuilt.
+(define-public nettle nettle-3.5)
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:04 GMT) Full text and rfc822 format available.

Message #74 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 05/12] gnu: opendht: Update to 2.2.0rc4.
Date: Wed, 31 Mar 2021 13:22:25 -0400
* gnu/packages/patches/opendht-fix-jami.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Un-register it.
* gnu/packages/networking.scm (opendht): Update to 2.2.0rc4.
[patches]: Remove field.
[inputs]: Use nettle-3.7.
[native-inputs]: Move restinio to...
[propagated-inputs]: ... here.
---
 gnu/local.mk                                |  1 -
 gnu/packages/networking.scm                 | 13 ++++----
 gnu/packages/patches/opendht-fix-jami.patch | 33 ---------------------
 3 files changed, 6 insertions(+), 41 deletions(-)
 delete mode 100644 gnu/packages/patches/opendht-fix-jami.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d8c548b0eb..bfb7cd80b7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1469,7 +1469,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/opencascade-oce-glibc-2.26.patch		\
   %D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch	\
   %D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch	\
-  %D%/packages/patches/opendht-fix-jami.patch			\
   %D%/packages/patches/openfoam-4.1-cleanup.patch			\
   %D%/packages/patches/openjdk-10-idlj-reproducibility.patch	\
   %D%/packages/patches/openmpi-mtl-priorities.patch		\
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index bd6201bcbf..f4f2532583 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3428,40 +3428,39 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
 (define-public opendht
   (package
     (name "opendht")
-    (version "2.1.4")
+    (version "2.2.0rc4")                ;jami requires >= 2.2.0
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/savoirfairelinux/opendht")
                     (commit version)))
               (file-name (git-file-name name version))
-              (patches (search-patches "opendht-fix-jami.patch"))
               (sha256
                (base32
-                "1ax26ri1ifb6s8ppd28jmanka9yf8mw3np65q2h4djhhik0phhal"))))
+                "1wc0f6cnvnlmhxnx64nxqgsx93k4g7ljdaqjl40ml74jg3nqrzcl"))))
     ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
     (build-system cmake-build-system)
     (inputs
      `(("argon2" ,argon2)
-       ("nettle" ,nettle)
+       ("nettle" ,nettle-3.7)
        ("readline" ,readline)
        ("jsoncpp" ,jsoncpp)
        ("openssl" ,openssl)             ;required for the DHT proxy
        ("fmt" ,fmt)))
     (propagated-inputs
      `(("gnutls" ,gnutls)               ;included in opendht/crypto.h
-       ("msgpack" ,msgpack)))           ;included in several installed headers
+       ("msgpack" ,msgpack)             ;included in several installed headers
+       ("restinio" ,restinio)))         ;included in opendht/http.h
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("pkg-config" ,pkg-config)
-       ("restinio" ,restinio)           ;headers only library
        ("libtool" ,libtool)
        ("cppunit" ,cppunit)))
     (arguments
      `(#:tests? #f                      ; Tests require network connection.
        #:configure-flags
-       '(;; "-DOPENDHT_TESTS=on"
+       '(;;"-DOPENDHT_TESTS=on"
          "-DOPENDHT_TOOLS=off"
          "-DOPENDHT_PYTHON=off"
          "-DOPENDHT_PROXY_SERVER=on"
diff --git a/gnu/packages/patches/opendht-fix-jami.patch b/gnu/packages/patches/opendht-fix-jami.patch
deleted file mode 100644
index 9718a84a41..0000000000
--- a/gnu/packages/patches/opendht-fix-jami.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e2b39dd3a0742853e00f9c3e8c46c911da20bed7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud <at> savoirfairelinux.com>
-Date: Tue, 30 Jun 2020 10:42:49 -0400
-Subject: [PATCH 1/4] http/request: make terminate public
-
----
- include/opendht/http.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/include/opendht/http.h b/include/opendht/http.h
-index cc8d5f9..46b722c 100644
---- a/include/opendht/http.h
-+++ b/include/opendht/http.h
-@@ -294,6 +294,7 @@ public:
-      * User action to cancel the Request and call the completion callbacks.
-      */
-     void cancel();
-+    void terminate(const asio::error_code& ec);
- 
- private:
-     using OnCompleteCb = std::function<void()>;
-@@ -320,8 +321,6 @@ private:
- 
-     void connect(std::vector<asio::ip::tcp::endpoint>&& endpoints, HandlerCb cb = {});
- 
--    void terminate(const asio::error_code& ec);
--
-     void post();
- 
-     void handle_request(const asio::error_code& ec);
--- 
-2.27.0
-
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:04 GMT) Full text and rfc822 format available.

Message #77 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 06/12] gnu: pjproject: Update to 2.11.
Date: Wed, 31 Mar 2021 13:22:26 -0400
* gnu/packages/telephony.scm (pjproject): Update to 2.11.  Remove trailing #t.
[patches]: Delete field.  The patches are preserved because pjproject-jami
still needs them.
---
 gnu/packages/telephony.scm | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 5c8d247e68..af7148bf84 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2020 Michael Rohleder <mike <at> rohleder.de>
 ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan <at> disroot.org>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
 ;;; Copyright © 2021 LibreMiami <packaging-guix <at> libremiami.org>
 ;;;
@@ -723,7 +723,7 @@ your calls and messages.")
 (define-public pjproject
   (package
     (name "pjproject")
-    (version "2.10")
+    (version "2.11")
     (source
      (origin
        (method git-fetch)
@@ -733,12 +733,8 @@ your calls and messages.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))
+         "1kn9g1x1vmh4130ghph8mldz5m89gsjs4vpdzlzm98m3808gk5an"))
        (modules '((guix build utils)))
-       ;; The patches upstream status can be tracked at:
-       ;; https://github.com/pjsip/pjproject/pull/2501.
-       (patches (search-patches "pjproject-correct-the-cflags-field.patch"
-                                "pjproject-fix-pkg-config-ldflags.patch"))
        (snippet
         '(begin
            ;; Remove bundled libraries.
@@ -746,8 +742,7 @@ your calls and messages.")
            (substitute* "aconfigure.ac"
              (("third_party/build/os-auto.mak") ""))
            (substitute* "Makefile"
-             (("third_party/build") ""))
-           #t))))
+             (("third_party/build") ""))))))
     (build-system gnu-build-system)
     (outputs '("out" "debug" "static"))
     (arguments
@@ -785,8 +780,7 @@ your calls and messages.")
            ;; Make all the files writable to prevent the following error:
            ;; "autom4te: cannot open aconfigure: Permission denied".
            (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
+             (for-each make-file-writable (find-files "."))))
          (add-before 'build 'build-dep
            (lambda _ (invoke "make" "dep")))
          ;; The check phases is moved after the install phase so to
@@ -800,8 +794,7 @@ your calls and messages.")
                (with-directory-excursion out
                  (for-each (lambda (f)
                              (rename-file f (string-append s "/" (basename f))))
-                           (find-files "." "\\.a$")))
-               #t)))
+                           (find-files "." "\\.a$"))))))
          (add-after 'install 'check
            (assoc-ref %standard-phases 'check))
          (add-before 'patch-source-shebangs 'autoconf
@@ -844,8 +837,7 @@ your calls and messages.")
                ;; Disable the pjnath and pjsua tests, which require an actual
                ;; network and an actual sound card, respectively.
                (("pjnath-test pjmedia-test pjsip-test pjsua-test")
-                "pjmedia-test pjsip-test"))
-             #t)))))
+                "pjmedia-test pjsip-test")))))))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:05 GMT) Full text and rfc822 format available.

Message #80 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and
 CVE-2021-21375.
Date: Wed, 31 Mar 2021 13:22:27 -0400
The custom pjproject package used by Jami is updated with the latest patches
found in the 20210326.1.cfba013 release of Jami.

* gnu/packages/jami.scm (%jami-version): Update to 20210326.1.cfba013.
(jami-source) [snippet]: Update comment.  Add client-electron and client-ios
to the list of deleted directories.  Remove client-windows from the list, as
it no longer exists.
(jami-apply-dependency-patches): Update comment.  Ignore whitespace
when applying patches, otherwise the pjproject patches would not apply.
(pjproject-jami): Add comment.
[source]: Define the source; the parent pjproject package was
updated was updated to 2.11, but the patches only apply against 2.10.
[phases] <apply-patches>: Update the list of patches used with those found in
the release tarball.
---
 gnu/packages/jami.scm | 52 ++++++++++++++++++++++++++++++-------------
 1 file changed, 36 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 3773c1ab0a..35d84bb37b 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
 ;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -63,7 +63,7 @@
   #:use-module (guix utils)
   #:use-module (srfi srfi-1))
 
-(define %jami-version "20200710.1.6bd18d2")
+(define %jami-version "20210326.1.cfba013")
 
 (define* (jami-source #:key keep-contrib-patches?)
   "Return an origin object of the tarball release sources archive of Jami.
@@ -78,7 +78,7 @@ of Jami."
     (modules '((guix build utils)))
     (snippet
      `(begin
-        ;; Delete over 200 MiB of bundled tarballs.  The contrib directory
+        ;; Delete multiple MiBs of bundled tarballs.  The contrib directory
         ;; contains the custom patches for pjproject and other libraries used
         ;; by Savoir-faire Linux.
         (if ,keep-contrib-patches?
@@ -86,21 +86,21 @@ of Jami."
             (delete-file-recursively "daemon/contrib"))
         ;; Remove code from unused Jami clients.
         (for-each delete-file-recursively '("client-android"
+                                            "client-electron"
+                                            "client-ios"
                                             "client-macosx"
-                                            "client-uwp"
-                                            "client-windows"))
-        #t))
+                                            "client-uwp"))))
     (sha256
      (base32
-      "0lg61jv39x7kc9lq30by246xb6gcgp1rzj49ak7ff8nqpfzyfvva"))))
+      "1h0avma8bdzyznkz39crjyv2888bii4f49md15jg7970dyp5pdyz"))))
 
 (define %sfl-patches (jami-source #:keep-contrib-patches? #t))
 
 (define %jami-sources (jami-source))
 
-;; Savoir-faire Linux modifies many libraries to add features
-;; to Jami. This procedure makes applying patches to a given
-;; package easy.
+;; Savoir-faire Linux maintains a set of patches for some key dependencies
+;; (currently pjproject and ffmpeg) of Jami that haven't yet been integrated
+;; upstream.  This procedure simplifies the process of applying these patches.x
 (define jami-apply-dependency-patches
   '(lambda* (#:key inputs dep-name patches)
      (let ((patches-directory "sfl-patches"))
@@ -112,15 +112,30 @@ of Jami."
                               dep-name))
        (for-each
         (lambda (file)
-          (invoke "patch" "--force" "-p1" "-i"
+          (invoke "patch" "--force" "--ignore-whitespace" "-p1" "-i"
                   (string-append patches-directory "/"
                                  file ".patch")))
         patches))))
 
+;;; Jami maintains pjproject patches that add the ability to do ICE over TCP,
+;;; among other things.  The patches are currently based on pjproject 2.10.
 (define-public pjproject-jami
   (package
     (inherit pjproject)
     (name "pjproject-jami")
+    (version "2.10")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pjsip/pjproject")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))
+              (patches (search-patches
+                        "pjproject-correct-the-cflags-field.patch"
+                        "pjproject-fix-pkg-config-ldflags.patch"))))
     (native-inputs
      `(("sfl-patches" ,%sfl-patches)
        ,@(package-native-inputs pjproject)))
@@ -140,14 +155,19 @@ of Jami."
                   "0004-multiple_listeners"
                   "0005-fix_ebusy_turn"
                   "0006-ignore_ipv6_on_transport_check"
-                  "0007-pj_ice_sess"
+                  "0007-upnp-srflx-nat-assisted-cand"
                   "0008-fix_ioqueue_ipv6_sendto"
                   "0009-add-config-site"
-                  ;; Note: The base pjproject is already patched with
-                  ;; "0010-fix-pkgconfig".
+                  ;; Already taken care of via the origin patches.
+                  ;;"0010-fix-pkgconfig"
                   "0011-fix-tcp-death-detection"
-                  "0012-fix-turn-shutdown-crash"))
-               #t))))))))
+                  "0012-fix-turn-shutdown-crash"
+                  "0013-Assign-unique-local-preferences-for-candidates-with-"
+                  "0014-Add-new-compile-time-setting-PJ_ICE_ST_USE_TURN_PERM"
+                  "0015-update-local-preference-for-peer-reflexive-candidate"
+                  "0016-use-addrinfo-instead-CFHOST"
+                  "0017-CVE-2020-15260"
+                  "0018-CVE-2021-21375"))))))))))
 
 ;; The following variables are configure flags used by ffmpeg-jami.  They're
 ;; from the ring-project/daemon/contrib/src/ffmpeg/rules.mak file. We try to
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:05 GMT) Full text and rfc822 format available.

Message #83 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 08/12] ffmpeg-jami: Patch with the patches from Jami
 20210326.1.cfba013.
Date: Wed, 31 Mar 2021 13:22:28 -0400
* gnu/packages/jami.scm (ffmpeg-jami): Remove trailing #t.
[phases] <apply-patches>: Add libopusdec-enable-FEC and
libopusenc-enable-FEC to the list of patches to apply.
---
 gnu/packages/jami.scm | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 35d84bb37b..9d5d00c60c 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -403,21 +403,22 @@ of Jami."
          `(modify-phases ,phases
             (add-after 'unpack 'make-git-checkout-writable
               (lambda _
-                (for-each make-file-writable (find-files "."))
-                #t))
+                (for-each make-file-writable (find-files "."))))
             (add-after 'unpack 'apply-patches
               (lambda* (#:key inputs #:allow-other-keys)
                 (let ((jami-apply-dependency-patches
                        ,jami-apply-dependency-patches))
                   ;; These patches come from:
                   ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak".
-                  (jami-apply-dependency-patches #:inputs inputs
-                                                 #:dep-name "ffmpeg"
-                                                 #:patches
-                                                 '("remove-mjpeg-log"
-                                                   "change-RTCP-ratio"
-                                                   "rtp_ext_abs_send_time"))
-                  #t))))))))))
+                  (jami-apply-dependency-patches
+                   #:inputs inputs
+                   #:dep-name "ffmpeg"
+                   #:patches
+                   '("remove-mjpeg-log"
+                     "change-RTCP-ratio"
+                     "rtp_ext_abs_send_time"
+                     "libopusdec-enable-FEC"
+                     "libopusenc-enable-FEC"))))))))))))
 
 (define-public libring
   (package
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:05 GMT) Full text and rfc822 format available.

Message #86 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 09/12] gnu: libring: Update to 20210326.1.cfba013.
Date: Wed, 31 Mar 2021 13:22:29 -0400
* gnu/packages/jami.scm (libring): Update to 20210326.1.cfba013.  Remove
trailing #t.
[inputs]: Remove boost, flac, gmp, gsm, libogg, libva, opus, pcre,
libsamplerate, libsndfile, libvorbis, libx264, libvdpau, zlib, python,
python-wrapper, restinio, and libx11.  Add webrtc-audio-processing.
[native-inputs]: Remove cppunit.  Add gcc-8.
[make-flags]: Add the V=1 flag.
[synopsis]: More explicitly describe what this component is.
[description]: Describe the specifics before the generalities.
---
 gnu/packages/jami.scm | 61 ++++++++++++++-----------------------------
 1 file changed, 20 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 9d5d00c60c..ddb4b35349 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -428,71 +429,49 @@ of Jami."
     (build-system gnu-build-system)
     (inputs
      `(("alsa-lib" ,alsa-lib)
-       ("boost" ,boost)
+       ("asio" ,asio)
        ("dbus-c++" ,dbus-c++)
        ("eudev" ,eudev)
        ("ffmpeg" ,ffmpeg-jami)
-       ("flac" ,flac)
-       ("gmp" ,gmp)
-       ("gsm" ,gsm)
        ("jack" ,jack-1)
        ("jsoncpp" ,jsoncpp)
        ("libarchive" ,libarchive)
        ("libnatpmp" ,libnatpmp)
-       ("libogg" ,libogg)
-       ("libva" ,libva)
+       ("libsecp256k1" ,libsecp256k1)
+       ("libupnp" ,libupnp)
        ("opendht" ,opendht)
-       ("opus" ,opus)
-       ("pcre" ,pcre)
+       ("openssl" ,openssl)
+       ("pjproject" ,pjproject-jami)
        ("pulseaudio" ,pulseaudio)
-       ("libsamplerate" ,libsamplerate)
-       ("libsndfile" ,libsndfile)
        ("speex" ,speex)
        ("speexdsp" ,speexdsp)
-       ("libupnp" ,libupnp)
-       ("libvorbis" ,libvorbis)
-       ("libx264" ,libx264)
-       ("libvdpau" ,libvdpau)
-       ("yaml-cpp" ,yaml-cpp)
-       ("zlib" ,zlib)
-       ("openssl" ,openssl)
-       ("libsecp256k1" ,libsecp256k1)
-       ("python" ,python)
-       ("python-wrapper" ,python-wrapper)
-       ("restinio" ,restinio)
-       ("libx11" ,libx11)
-       ("asio" ,asio)
-       ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
-       ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
-       ("pjproject" ,pjproject-jami)))
+       ("webrtc-audio-processing" ,webrtc-audio-processing)
+       ("yaml-cpp" ,yaml-cpp)))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
+       ("gcc" ,gcc-8)                   ;charconv requires GCC 8.1+
        ("libtool" ,libtool)
+       ("perl" ,perl)                   ;to generate manpages with pod2man
        ("pkg-config" ,pkg-config)
-       ("which" ,which)
-       ("cppunit" ,cppunit)
-       ("perl" ,perl)))                 ; Needed for documentation.
+       ("which" ,which)))
     (arguments
      `(#:tests? #f         ; The tests fail to compile due to missing headers.
+       #:make-flags '("V=1")            ;build verbosely
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'change-directory
            (lambda _
-             (chdir "daemon")
-             #t))
+             (chdir "daemon")))
          (add-before 'build 'add-lib-dir
            (lambda _
-             (mkdir-p "src/lib")
-             #t)))))
-    (synopsis "Distributed multimedia communications platform")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides a library and daemon implementing the Jami core
-functionality.")
+             (mkdir-p "src/lib"))))))
+    (synopsis "Jami core library and daemon")
+    (description "This package provides a library and daemon implementing the
+Jami core functionality.  Jami is a secure and distributed voice, video and
+chat communication platform that requires no centralized server and leaves the
+power of privacy in the hands of the user.  It supports the SIP and IAX
+protocols, as well as decentralized calling using P2P-DHT.")
     (home-page "https://jami.net/")
     (license license:gpl3+)))
 
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:06 GMT) Full text and rfc822 format available.

Message #89 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 10/12] gnu: libringclient: Update to 20210326.1.cfba013.
Date: Wed, 31 Mar 2021 13:22:30 -0400
* gnu/packages/jami.scm (libringclient): Update to 20210326.1.cfba013.  Remove
trailing #t.  Do not inherit from libring.
[version, source]: Specify fields.
[propagated-inputs]: Remove qttools.  Move libring to ...
[inputs]: ... here.  Add network-manager.
[configure-flags] Define the RING_XML_INTERFACES_DIR variable.
[phases]{fix-dbus-interfaces-path}: Delete.
[synopsis]: More explicitly describe what this component is.
[description]: Describe the specifics before the generalities.
---
 gnu/packages/jami.scm | 38 +++++++++++++++++---------------------
 1 file changed, 17 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index ddb4b35349..41fa69dd48 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -477,37 +477,33 @@ protocols, as well as decentralized calling using P2P-DHT.")
 
 (define-public libringclient
   (package
-    (inherit libring)
     (name "libringclient")
+    (version %jami-version)
+    (source %jami-sources)
     (build-system cmake-build-system)
+    (inputs
+     `(("libring" ,libring)
+       ("network-manager" ,network-manager)))
     (propagated-inputs
-     `(("libring" ,libring)     ; For 'dring'.
-       ("qtbase" ,qtbase)       ; Qt is included in several installed headers.
-       ("qttools" ,qttools)))
+     `(("qtbase" ,qtbase)))     ; Qt is included in several installed headers.
     (arguments
      `(#:tests? #f                      ; There is no testsuite.
        #:configure-flags
-       (list (string-append "-DRING_BUILD_DIR="
-                            (assoc-ref %build-inputs "libring") "/include"))
+       (let ((libring (assoc-ref %build-inputs "libring")))
+         (list (string-append "-DRING_XML_INTERFACES_DIR="
+                              libring "/share/dbus-1/interfaces")
+               (string-append "-DRING_BUILD_DIR=" libring "/include")))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'change-directory
            (lambda _
-             (chdir "lrc")
-             #t))
-         (add-before 'configure 'fix-dbus-interfaces-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "CMakeLists.txt"
-               (("\\$\\{CMAKE_INSTALL_PREFIX\\}(/share/dbus-1/interfaces)" _ dbus-interfaces-path-suffix)
-                (string-append (assoc-ref inputs "libring")
-                               dbus-interfaces-path-suffix))))))))
-    (synopsis "Distributed multimedia communications platform")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides a library common to all Jami clients.")
+             (chdir "lrc"))))))
+    (synopsis "Jami client library")
+    (description "This package provides a library common to all Jami clients.
+Jami is a secure and distributed voice, video and chat communication platform
+that requires no centralized server and leaves the power of privacy in the
+hands of the user.  It supports the SIP and IAX protocols, as well as
+decentralized calling using P2P-DHT.")
     (home-page "https://jami.net")
     (license license:gpl3+)))
 
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:06 GMT) Full text and rfc822 format available.

Message #92 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 12/12] gnu: Add jami-qt.
Date: Wed, 31 Mar 2021 13:22:32 -0400
* gnu/packages/jami.scm (jami-qt): New variable.
---
 gnu/packages/jami.scm | 66 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 1b6a2a2ed5..ddfe6a2770 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -36,6 +36,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
@@ -59,6 +60,7 @@
   #:use-module (gnu packages)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system qt)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
@@ -554,3 +556,67 @@ decentralized calling using P2P-DHT.")
 ;;; main 'jami' client.
 (define-public jami
   (deprecated-package "jami" jami-gnome))
+
+(define-public jami-qt
+  (package
+    (name "jami-qt")                    ;to be renamed 'jami' at some point
+    (version %jami-version)
+    ;; The Qt client code is not yet part of the release tarball; fetch it
+    ;; from git for now.
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.jami.net/savoirfairelinux/jami-client-qt.git")
+                    (commit "ae21c17da5e8f730ae3895ccbc4da8047e3be1eb")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1rf3lpk8c4qc12pi6pn4rdp7i8b83xv64yqr0q47rzv9s518qyjp"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ;no test suite
+       #:phases
+       (modify-phases %standard-phases
+         ;; TODO: Uncomment after switching back to the tarball source.
+         ;;   (add-after 'unpack 'change-directory
+         ;;     (lambda _
+         ;;       (chdir "client-qt")))
+         (add-after 'install 'wrap
+           ;; The program fails to find the QtWebEngineProcess program, so we
+           ;; set QTWEBENGINEPROCESS_PATH to help it.
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+                   (qtwebengineprocess (string-append
+                                        (assoc-ref inputs "qtwebengine")
+                                        "/lib/qt5/libexec/QtWebEngineProcess")))
+               (for-each (lambda (program)
+                           (wrap-program program
+                             `("QTWEBENGINEPROCESS_PATH" =
+                               (,qtwebengineprocess))))
+                         (find-files bin ".*"))))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)
+       ("doxygen" ,doxygen)
+       ("graphviz" ,graphviz)))
+    (inputs
+     `(("network-manager" ,network-manager)
+       ("qrencode" ,qrencode)
+       ("qtsvg" ,qtsvg)
+       ("qtwebengine" ,qtwebengine)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtmultimedia" ,qtmultimedia)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtgraphicaleffects" ,qtgraphicaleffects)
+       ("qtquickcontrols" ,qtquickcontrols)
+       ("qtquickcontrols2" ,qtquickcontrols2)))
+    (propagated-inputs
+     `(("libringclient" ,libringclient)))
+    (home-page "https://jami.net")
+    (synopsis "Qt Jami client")
+    (description "This package provides the Jami Qt client.  Jami is a secure
+and distributed voice, video and chat communication platform that requires no
+centralized server and leaves the power of privacy in the hands of the user.
+It supports the SIP and IAX protocols, as well as decentralized calling using
+P2P-DHT.")
+    (license license:gpl3+)))
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:07 GMT) Full text and rfc822 format available.

Message #95 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 47513 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill <at> jackhill.us>, Maxime Devos <maximedevos <at> telenet.be>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename
 to jami-gnome.
Date: Wed, 31 Mar 2021 13:22:31 -0400
* gnu/packages/jami.scm (jami): Update to 20210326.1.cfba013.  Rename to ...
(jami-gnome):  In prevision of the soon released Jami Qt client.
(jami): Define as obsoleted by jami-gnome.
[inputs]: Sort lexico-graphically.  Add libappindicator and network-manager.
[native-inputs]: Add a comment and fix a typo.  Remove doxygen.
[propagated-inputs]: Remove evolution-data-server.
[synopsis]: More explicitly describe what this package is.
[description]: Describe the specifics before the generalities.
---
 gnu/packages/jami.scm | 54 ++++++++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 41fa69dd48..1b6a2a2ed5 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -507,44 +508,49 @@ decentralized calling using P2P-DHT.")
     (home-page "https://jami.net")
     (license license:gpl3+)))
 
-(define-public jami
+(define-public jami-gnome
   (package
-    (inherit libring)
-    (name "jami")
+    (name "jami-gnome")
+    (version %jami-version)
+    (source %jami-sources)
     (build-system cmake-build-system)
     (inputs
-     `(("libringclient" ,libringclient)
-       ("gtk+" ,gtk+)
-       ("qrencode" ,qrencode)
-       ("libnotify" ,libnotify)
-       ("clutter" ,clutter)
+     `(("clutter" ,clutter)
        ("clutter-gtk" ,clutter-gtk)
+       ("gtk+" ,gtk+)
        ("libcanberra" ,libcanberra)
-       ("webkitgtk" ,webkitgtk)
-       ("sqlite" ,sqlite)))
+       ("libappindicator" ,libappindicator)
+       ("libnotify" ,libnotify)
+       ("libringclient" ,libringclient)
+       ("network-manager" ,network-manager)
+       ("qrencode" ,qrencode)
+       ("sqlite" ,sqlite)
+       ("webkitgtk" ,webkitgtk)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("doxygen" ,doxygen)))
+       ("glib:bin" ,glib "bin")))       ;for glib-compile-resources
     (propagated-inputs
-     `(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus.
-       ("adwaita-icon-theme" ,adwaita-icon-theme)
-       ("evolution-data-server" ,evolution-data-server)))
+     `(("libring" ,libring) ; Contains 'dring', the daemon, which is
+                            ; automatically started by DBus.
+       ("adwaita-icon-theme" ,adwaita-icon-theme)))
     (arguments
      `(#:tests? #f                      ; There is no testsuite.
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'change-directory
            (lambda _
-             (chdir "client-gnome")
-             #t)))))
-    (synopsis "Distributed, privacy-respecting communication program")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides the Jami client for the GNOME desktop.")
+             (chdir "client-gnome"))))))
+    (synopsis "Jami client for GNOME")
+    (description "This package provides a Jami client for the GNOME desktop.
+Jami is a secure and distributed voice, video and chat communication platform
+that requires no centralized server and leaves the power of privacy in the
+hands of the user.  It supports the SIP and IAX protocols, as well as
+decentralized calling using P2P-DHT.")
     (home-page "https://jami.net")
     (license license:gpl3+)))
+
+;;; Keep this until the Qt client matures enough to become the
+;;; main 'jami' client.
+(define-public jami
+  (deprecated-package "jami" jami-gnome))
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:24:07 GMT) Full text and rfc822 format available.

Message #98 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: 47513 <at> debbugs.gnu.org
Subject: Re: [bug#47513] [PATCH 00/12] Update jami and add jami-qt
Date: Wed, 31 Mar 2021 13:23:50 -0400
Hi again,

Maxime Devos <maximedevos <at> telenet.be> writes:

> On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote:
>> Hello!
>> 
>> I've finally picked up the packaging of Jami, which was becoming quite
>> outdated in Guix.  I haven't had much time to test the result yet, but a
>> priori it seems to function as intended.
>> 
>> Let me know how it works for you!
>> 
>> Maxim
>
> Something went wrong with sending the patch.
> Snipped from first patch from
> <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47513#5>:
>
> <start snip>
> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> To: 47513 <at> debbugs.gnu.org
> Subject: [PATCH 01/12] gnu: asio: Update to 1.18.1.
> Date: Wed, 31 Mar 2021 01:23:37 -0400
> Message-Id: <20210331052348.5164-1-maxim.cournoyer <at> gmail.com>
> X-Mailer: git-send-email 2.31.1
> MIME-Version: 1.0
> Content-Type: text/plain; charset=yes
> Content-Transfer-Encoding: 8bit
> <end snip>
>
> What character encoding is 'yes'?
> I manually changed 'yes' to 'utf-8' and only then the
> patch series applied.

Actually, retrying with the following command:

$ git send-email --to='47513 <at> debbugs.gnu.org' [...] -v2 origin/master

again produces:

X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Type: text/plain; charset=yes
Content-Transfer-Encoding: 8bit

It had to do with:

$ git config sendemail.assume8bitEncoding
yes

I assumed this flag was a boolean but apparently it takes the encoding
type such as 'UTF-8'

After making this change:

--8<---------------cut here---------------start------------->8---
modified   git/.gitconfig
-	assume8bitEncoding = yes
+	assume8bitEncoding = utf-8
--8<---------------cut here---------------end--------------->8---

It shows up as utf-8, and hopefully will work better on your side!  I
just sent a v2.

Thanks for allowing me to realize this mistake of mine.

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Wed, 31 Mar 2021 17:27:02 GMT) Full text and rfc822 format available.

Message #101 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Jack Hill <jackhill <at> jackhill.us>
Cc: 47513 <at> debbugs.gnu.org
Subject: Re: [bug#47513] [PATCH 11/12] gnu: jami: Update to
 20210326.1.cfba013 and rename to jami-gnome.
Date: Wed, 31 Mar 2021 13:26:08 -0400
Hi Jack!

Jack Hill <jackhill <at> jackhill.us> writes:

> On Wed, 31 Mar 2021, Jack Hill wrote:
>
>>> [ 25%] LOAD     gnu/packages/jami.scm
>>> ;;; note: source file ./gnu/packages/jami.scm
>>> ;;;       newer than compiled
>>> /home/jackhill/repos/guix/gnu/packages/jami.go
>>> ;;; note: source file ./gnu/packages/jami.scm
>>> ;;;       newer than compiled
>>> /home/jackhill/repos/guix/gnu/packages/jami.go
>>> ice-9/eval.scm:293:34: error: jami: unbound variable
>>> hint: Did you forget a `use-modules' form?
>>> make[2]: *** [Makefile:6318: make-go] Error 1
>>> make[2]: Leaving directory '/home/jackhill/repos/guix'
>>> make[1]: *** [Makefile:5366: all-recursive] Error 1
>>> make[1]: Leaving directory '/home/jackhill/repos/guix'
>>> make: *** [Makefile:3697: all] Error 2
>>> ```
>>> Unfortunately, I don't see any place the old binding is referenced.
>>
>> Oops, this seems be be my mistake. A `make clean-go` fixed it. Sorry
>> for the noise.
>
> Oops again. It seems like a spoke too soon. I'm still having the
> problem after a clean-go (I had forgotten that I was looking at
> something else in my guix repository and didn't have these patches
> applied at the moment).

Sorry, there was a mistake in my git sendemail configuration, where I
had mistakenly set assume8bitEncoding to yes instead of to some valid
value such as 'utf-8'.

I've fixed that along the missing jami variable binding and pushed as
v2.  Let me know if it works better!

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#47513; Package guix-patches. (Thu, 01 Apr 2021 19:15:02 GMT) Full text and rfc822 format available.

Message #104 received at 47513 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 47513 <at> debbugs.gnu.org
Subject: Re: [bug#47513] [PATCH 00/12] Update jami and add jami-qt
Date: Thu, 01 Apr 2021 13:10:10 +0200
[Message part 1 (text/plain, inline)]
On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote:
> Hello!
> 
> I've finally picked up the packaging of Jami, which was becoming quite
> outdated in Guix.  I haven't had much time to test the result yet, but a
> priori it seems to function as intended.
> 
> Let me know how it works for you!

It seems to work for me, however I needed to make a tiny change:

<start snip>
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 67befe63a2..b73ad027fe 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -554,7 +554,7 @@ decentralized calling using P2P-DHT.")
 
 ;;; Keep this until the Qt client matures enough to become the
 ;;; main 'jami' client.
-(deprecated-package jami jami-gnome)
+#;(deprecated-package jami jami-gnome)
 
 (define-public jami-qt
   (package
<end snip>

Looking at "git grep -F deprecated-package" output, perhaps

 (deprecated-package jami jami-gnome)

should have been

 (deprecated-package "jami" jami-gnome)

? (untested)

Also, I didn't have any opportunity to actually call someone.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Fri, 02 Apr 2021 11:53:01 GMT) Full text and rfc822 format available.

Notification sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
bug acknowledged by developer. (Fri, 02 Apr 2021 11:53:02 GMT) Full text and rfc822 format available.

Message #109 received at 47513-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: Jack Hill <jackhill <at> jackhill.us>, 47513-done <at> debbugs.gnu.org
Subject: Re: [bug#47513] [PATCH 00/12] Update jami and add jami-qt
Date: Fri, 02 Apr 2021 07:52:22 -0400
Hi Maxime!

Maxime Devos <maximedevos <at> telenet.be> writes:

> On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote:
>> Hello!
>> 
>> I've finally picked up the packaging of Jami, which was becoming quite
>> outdated in Guix.  I haven't had much time to test the result yet, but a
>> priori it seems to function as intended.
>> 
>> Let me know how it works for you!
>
> It seems to work for me, however I needed to make a tiny change:
>
> <start snip>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index 67befe63a2..b73ad027fe 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -554,7 +554,7 @@ decentralized calling using P2P-DHT.")
>  
>  ;;; Keep this until the Qt client matures enough to become the
>  ;;; main 'jami' client.
> -(deprecated-package jami jami-gnome)
> +#;(deprecated-package jami jami-gnome)
>  
>  (define-public jami-qt
>    (package
> <end snip>

Jack in the thread made me notice about that as well; deprecated-package
returns a package object, so it needs to be public-define'd the usual
way:

+
+;;; Keep this until the Qt client matures enough to become the
+;;; main 'jami' client.
+(define-public jami
+  (deprecated-package "jami" jami-gnome))

And yes the package name is a string.  I fixed this in a v2 patch series
I sent along a problem propagating libringclient instead of libring for
the jami-qt client (see:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47513#95).  MUMI
(issues.guix.gnu.org) sadly doesn't seem to have picked it up.

[...]

> Also, I didn't have any opportunity to actually call someone.

[...]

OK!  I've tested it on my side with actual calls, so I feel confident it
works fine.  I've made a few last changes (using LIBWRAP when building
libringclient so that it talks directly with libring instead of going
through DBus, which allows to have it work even in a 'guix pack' and
cleaning the list of imports) and pushed to master as
e6b447cf756831e8339e6462647004d88132fa07.

Thanks for the review!

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 01 May 2021 11:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 354 days ago.

Previous Next


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