unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#42229] [PATCH 0/9] Jami update and refactor
@ 2020-07-06 15:34 Jan Wielkiewicz
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
                   ` (3 more replies)
  0 siblings, 4 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:34 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

Hi,

these commits update Jami to 20200702, switch fetch method to git,
because the tarballs were unstable, add missing inputs and that's
it.

Jan Wielkiewicz (9):
  gnu: libring: Fetch from git, update to 20200702-guix.
  gnu: libringclient: Fetch from git, update to 20200702-guix.
  gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply
    patches from the new libring source.
  gnu: jami: Fetch from git, update to 20200702-guix.
  gnu: pjproject-jami: Make sure phases are run in order.
  gnu: jami: Add libnm as input.
  gnu: libringclient: Do not propagate qtbase in libringclient.
  gnu: jami: Fix compilation by providing necessary webchat files.
  gnu: pjproject-jami: Fix assertion by disabling debugging.

 gnu/packages/jami.scm | 285 ++++++++++++++++++++++++++++--------------
 1 file changed, 189 insertions(+), 96 deletions(-)


Jan Wielkiewicz

-- 
2.27.0





^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix.
  2020-07-06 15:34 [bug#42229] [PATCH 0/9] Jami update and refactor Jan Wielkiewicz
@ 2020-07-06 15:50 ` Jan Wielkiewicz
  2020-07-06 15:50   ` [bug#42229] [PATCH 2/9] gnu: libringclient: " Jan Wielkiewicz
                     ` (7 more replies)
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
                   ` (2 subsequent siblings)
  3 siblings, 8 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:50 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm
(define-module): Use the "backup" module.
(%jami-version, %libring-commit, %libring-revision): New variables.
(jami-source): Rename procedure to (libring-source).
(libring-source)[without-daemon]: Rename keyword to [without-contrib].
[origin]: Fetch from git, update path to the contrib directory,
update hash and commit.
(libring)[source]: Use (libring-source).
[version]: Use the (%jami-version, %libring-commit, %libring-revision) variables.
[inputs]: Add libarchive, remove obsolete comment - there's pjproject-jami already.
[arguments]: Do not chdir to "daemon" - due to fetching from git,
we're in the proper directory already.
---
 gnu/packages/jami.scm | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index d5cb3b62f6..d94a162772 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -23,6 +23,7 @@
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
@@ -62,23 +63,29 @@
   #:use-module (guix utils)
   #:use-module (srfi srfi-1))
 
-(define %jami-version "20200401.1.6f090de")
+(define %jami-version "20200702-guix")
+(define %libring-commit "0e36d0b352d543437f0f744230c2eb8c0bc77f36")
+(define %libring-revision "0")
 
-(define* (jami-source #:key without-daemon)
+(define* (libring-source #:key without-contrib)
   (origin
-    (method url-fetch)
-    (uri (string-append "https://dl.jami.net/release/tarballs/jami_"
-                        %jami-version
-                        ".tar.gz"))
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://review.jami.net/ring-daemon")
+          (commit %libring-commit)))
+    (file-name (git-file-name (if without-contrib
+                                  "libring-source-without-contrib"
+                                  "libring-source")
+                              %jami-version))
     (modules '((guix build utils)))
     (snippet
-     (if without-daemon
+     (if without-contrib
          '(begin
-            (delete-file-recursively "daemon/contrib"))
+            (delete-file-recursively "contrib"))
          #f))
     (sha256
      (base32
-      "0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh"))))
+      "1877sar32rz80pvhksxf4w0g05w4h4nq78rb7krdjmjq6vmnip1p"))))
 
 ;; Savoir-Faire Linux modifies many libraries to add features
 ;; to Jami. This procedure makes applying patches to a given
@@ -441,8 +448,8 @@
 (define-public libring
   (package
     (name "libring")
-    (version %jami-version)
-    (source (jami-source #:without-daemon #t))
+    (version (git-version %jami-version %libring-revision %libring-commit))
+    (source (libring-source #:without-contrib #t))
     (build-system gnu-build-system)
     (inputs
      `(("alsa-lib" ,alsa-lib)
@@ -462,6 +469,7 @@
        ("opus" ,opus)
        ("pcre" ,pcre)
        ("pulseaudio" ,pulseaudio)
+       ("libarchive" ,libarchive)
        ("libsamplerate" ,libsamplerate)
        ("libsndfile" ,libsndfile)
        ("speex" ,speex)
@@ -479,8 +487,6 @@
        ("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)))
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -494,10 +500,6 @@
      `(#:tests? #f         ; The tests fail to compile due to missing headers.
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'change-directory
-           (lambda _
-             (chdir "daemon")
-             #t))
          (add-before 'build 'add-lib-dir
            (lambda _
              (mkdir-p "src/lib")
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 2/9] gnu: libringclient: Fetch from git, update to 20200702-guix.
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
@ 2020-07-06 15:50   ` Jan Wielkiewicz
  2020-07-06 15:50   ` [bug#42229] [PATCH 3/9] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source Jan Wielkiewicz
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:50 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm
(libringclient):
[revision, commit]: New variables.
Do not inherit from (libring).
[version]: Use (%jami-version, revision, commit).
[source]: Fetch from git.
---
 gnu/packages/jami.scm | 65 ++++++++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index d94a162772..ef2a74abb3 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -516,40 +516,47 @@ functionality.")
     (license license:gpl3+)))
 
 (define-public libringclient
-  (package
-    (inherit libring)
-    (name "libringclient")
-    (build-system cmake-build-system)
-    (propagated-inputs
-     `(("libring" ,libring)     ; For 'dring'.
-       ("qtbase" ,qtbase)       ; Qt is included in several installed headers.
-       ("qttools" ,qttools)))
-    (arguments
-     `(#:tests? #f                      ; There is no testsuite.
-       #:configure-flags
-       (list (string-append "-DRING_BUILD_DIR="
-                            (assoc-ref %build-inputs "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,
+  (let ((commit "db943766917eba7be3a6f89d41794c2d26363ab7")
+        (revision "0"))
+    (package
+      (name "libringclient")
+      (version (git-version %jami-version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://review.jami.net/ring-lrc")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1s1wi80drabfjhvxbiyl8k9c2jsafvmx5v84s3wldsmmdg4f6xdf"))))
+      (build-system cmake-build-system)
+      (propagated-inputs
+       `(("libring" ,libring)     ; For 'dring'.
+         ("qtbase" ,qtbase)       ; Qt is included in several installed headers.
+         ("qttools" ,qttools)))
+      (arguments
+       `(#:tests? #f                      ; There is no testsuite.
+         #:configure-flags
+         (list (string-append "-DRING_BUILD_DIR="
+                              (assoc-ref %build-inputs "libring") "/include"))
+         #:phases
+         (modify-phases %standard-phases
+           (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.")
-    (home-page "https://jami.net")
-    (license license:gpl3+)))
+      (home-page "https://jami.net")
+      (license license:gpl3+))))
 
 (define-public jami
   (package
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 3/9] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source.
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
  2020-07-06 15:50   ` [bug#42229] [PATCH 2/9] gnu: libringclient: " Jan Wielkiewicz
@ 2020-07-06 15:50   ` Jan Wielkiewicz
  2020-07-06 15:50   ` [bug#42229] [PATCH 4/9] gnu: jami: Fetch from git, update to 20200702-guix Jan Wielkiewicz
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:50 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm:
(libring-source): [without-contrib] is now true by default.
(jami-apply-dependency-patches): Do not invoke tar,
patches are now fetched from git.
Apply "--ignore-whitespace" to patch to prevent failing.
(pjproject-jami)[native-inputs]: Use (libring-source) procedure instead of
(jami-source).
[arguments]: Add new patches.
(ffmpeg-jami)[native-inputs]: Use (libring-source) procedure instead of
(jami-source).
---
 gnu/packages/jami.scm | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index ef2a74abb3..4531c68f5c 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -67,7 +67,7 @@
 (define %libring-commit "0e36d0b352d543437f0f744230c2eb8c0bc77f36")
 (define %libring-revision "0")
 
-(define* (libring-source #:key without-contrib)
+(define* (libring-source #:key (without-contrib #t))
   (origin
     (method git-fetch)
     (uri (git-reference
@@ -92,16 +92,13 @@
 ;; package easy.
 (define jami-apply-dependency-patches
   '(lambda* (#:key inputs dep-name patches)
-     (let ((patches-directory "sfl-patches"))
-       (mkdir-p patches-directory)
-       (invoke "tar" "-xvf" (assoc-ref inputs "sfl-patches")
-               "-C" patches-directory
-               "--strip-components=5"
-               (string-append "ring-project/daemon/contrib/src/"
-                              dep-name))
+     (let ((patches-directory (string-append
+                               (assoc-ref inputs "sfl-patches")
+                               "/contrib/src/" 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))))
@@ -111,7 +108,7 @@
     (inherit pjproject)
     (name "pjproject-jami")
     (native-inputs
-     `(("sfl-patches" ,(jami-source))
+     `(("sfl-patches" ,(libring-source #:without-contrib #f))
        ,@(package-native-inputs pjproject)))
     (arguments
      `(#:tests? #f
@@ -174,7 +171,9 @@
                   "0006-ignore_ipv6_on_transport_check"
                   "0007-pj_ice_sess"
                   "0008-fix_ioqueue_ipv6_sendto"
-                  "0009-add-config-site"))
+                  "0009-add-config-site"
+                  "0010-fix-pkgconfig"
+                  "0011-fix-tcp-death-detection"))
                #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
@@ -414,7 +413,7 @@
     (inherit ffmpeg)
     (name "ffmpeg-jami")
     (native-inputs
-     `(("sfl-patches" ,(jami-source))
+     `(("sfl-patches" ,(libring-source #:without-contrib #f))
        ("libiconv" ,libiconv)
        ,@(package-native-inputs ffmpeg)))
     (supported-systems '("x86_64-linux" "i686-linux"
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 4/9] gnu: jami: Fetch from git, update to 20200702-guix.
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
  2020-07-06 15:50   ` [bug#42229] [PATCH 2/9] gnu: libringclient: " Jan Wielkiewicz
  2020-07-06 15:50   ` [bug#42229] [PATCH 3/9] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source Jan Wielkiewicz
@ 2020-07-06 15:50   ` Jan Wielkiewicz
  2020-07-06 15:50   ` [bug#42229] [PATCH 5/9] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:50 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm:
(jami)[revision, commit]: New variables.
[version]: Use [%jami-version, revision, commit].
[source]: Fetch from git.
[arguments]: Do not change the directory.
---
 gnu/packages/jami.scm | 76 +++++++++++++++++++++++--------------------
 1 file changed, 41 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 4531c68f5c..a6ce1aaa3f 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -558,46 +558,52 @@ This package provides a library common to all Jami clients.")
       (license license:gpl3+))))
 
 (define-public jami
-  (package
-    (inherit libring)
-    (name "jami")
-    (build-system cmake-build-system)
-    (inputs
-     `(("libringclient" ,libringclient)
-       ("gtk+" ,gtk+)
-       ("qrencode" ,qrencode)
-       ("libnotify" ,libnotify)
-       ("clutter" ,clutter)
-       ("clutter-gtk" ,clutter-gtk)
-       ("libcanberra" ,libcanberra)
-       ("webkitgtk" ,webkitgtk)
-       ("sqlite" ,sqlite)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("doxygen" ,doxygen)))
-    (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)))
-    (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,
+  (let ((commit "85cda2e1fde84230f6b9f5419f9ec1e23867c2a1")
+        (revision "0"))
+    (package
+      (name "jami")
+      (version (git-version %jami-version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://review.jami.net/ring-client-gnome")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0xzcx8x04yc8m8b2vf7sxfgw79idbm0hifzaw4s2vh26hyy9sp2g"))))
+      (build-system cmake-build-system)
+      (inputs
+       `(("libringclient" ,libringclient)
+         ("gtk+" ,gtk+)
+         ("qtbase" ,qtbase)
+         ("qrencode" ,qrencode)
+         ("libnotify" ,libnotify)
+         ("clutter" ,clutter)
+         ("clutter-gtk" ,clutter-gtk)
+         ("libcanberra" ,libcanberra)
+         ("webkitgtk" ,webkitgtk)
+         ("sqlite" ,sqlite)))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("gettext" ,gettext-minimal)
+         ("glib:bin" ,glib "bin")
+         ("doxygen" ,doxygen)))
+      (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)))
+      (arguments
+       `(#:tests? #f)) ; There is no testsuite.
+      (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.")
-    (home-page "https://jami.net")
-    (license license:gpl3+)))
+      (home-page "https://jami.net")
+      (license license:gpl3+))))
 
 (define-public jami-client-gnome
   (deprecated-package "jami-client-gnome" jami))
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 5/9] gnu: pjproject-jami: Make sure phases are run in order.
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
                     ` (2 preceding siblings ...)
  2020-07-06 15:50   ` [bug#42229] [PATCH 4/9] gnu: jami: Fetch from git, update to 20200702-guix Jan Wielkiewicz
@ 2020-07-06 15:50   ` Jan Wielkiewicz
  2020-08-04  4:20     ` maxim.cournoyer
  2020-07-06 15:50   ` [bug#42229] [PATCH 6/9] gnu: jami: Add libnm as input Jan Wielkiewicz
                     ` (3 subsequent siblings)
  7 siblings, 1 reply; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:50 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (pjproject-jami)[arguments]:
Add 'apply-patches after 'make-git-checkout-writable.
---
 gnu/packages/jami.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index a6ce1aaa3f..a45b056d51 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -153,7 +153,7 @@
            (lambda _
              (for-each make-file-writable (find-files "."))
              #t))
-         (add-after 'unpack 'apply-patches
+         (add-after 'make-git-checkout-writable 'apply-patches
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
                ;; Comes from
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 6/9] gnu: jami: Add libnm as input.
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
                     ` (3 preceding siblings ...)
  2020-07-06 15:50   ` [bug#42229] [PATCH 5/9] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
@ 2020-07-06 15:50   ` Jan Wielkiewicz
  2020-07-06 21:24     ` Christopher Baines
  2020-07-06 15:50   ` [bug#42229] [PATCH 7/9] gnu: libringclient: Do not propagate qtbase in libringclient Jan Wielkiewicz
                     ` (2 subsequent siblings)
  7 siblings, 1 reply; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:50 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (jami)[inputs]: Add libnm.
---
 gnu/packages/jami.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index a45b056d51..041955f297 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -582,6 +582,7 @@ This package provides a library common to all Jami clients.")
          ("clutter" ,clutter)
          ("clutter-gtk" ,clutter-gtk)
          ("libcanberra" ,libcanberra)
+         ("libnm" ,network-manager)
          ("webkitgtk" ,webkitgtk)
          ("sqlite" ,sqlite)))
       (native-inputs
@@ -600,7 +601,6 @@ This package provides a library common to all Jami clients.")
 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.")
       (home-page "https://jami.net")
       (license license:gpl3+))))
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 7/9] gnu: libringclient: Do not propagate qtbase in libringclient.
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
                     ` (4 preceding siblings ...)
  2020-07-06 15:50   ` [bug#42229] [PATCH 6/9] gnu: jami: Add libnm as input Jan Wielkiewicz
@ 2020-07-06 15:50   ` Jan Wielkiewicz
  2020-07-06 20:56     ` Christopher Baines
  2020-07-06 15:50   ` [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
  2020-07-06 15:50   ` [bug#42229] [PATCH 9/9] gnu: pjproject-jami: Fix assertion by disabling debugging Jan Wielkiewicz
  7 siblings, 1 reply; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:50 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (libringclient):
[propagated-inputs]: Remove qtbase.
[inputs]: Add qtbase.
---
 gnu/packages/jami.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 041955f297..ea94efb2f9 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -530,10 +530,11 @@ functionality.")
                  (base32
                   "1s1wi80drabfjhvxbiyl8k9c2jsafvmx5v84s3wldsmmdg4f6xdf"))))
       (build-system cmake-build-system)
-      (propagated-inputs
-       `(("libring" ,libring)     ; For 'dring'.
-         ("qtbase" ,qtbase)       ; Qt is included in several installed headers.
+      (inputs
+       `(("qtbase" ,qtbase)       ; Qt is included in several installed headers.
          ("qttools" ,qttools)))
+      (propagated-inputs
+       `(("libring" ,libring)))     ; For 'dring'.
       (arguments
        `(#:tests? #f                      ; There is no testsuite.
          #:configure-flags
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files.
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
                     ` (5 preceding siblings ...)
  2020-07-06 15:50   ` [bug#42229] [PATCH 7/9] gnu: libringclient: Do not propagate qtbase in libringclient Jan Wielkiewicz
@ 2020-07-06 15:50   ` Jan Wielkiewicz
  2020-07-06 21:19     ` Christopher Baines
  2020-08-04  4:40     ` maxim.cournoyer
  2020-07-06 15:50   ` [bug#42229] [PATCH 9/9] gnu: pjproject-jami: Fix assertion by disabling debugging Jan Wielkiewicz
  7 siblings, 2 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:50 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (define-module): Add copy-build-system.
(libringclient)[source]: Delete chatview files.
[arguments]: Remove chatview files from CMakeLists.txt.
(jami-chatview): New variable.
(jami)[source]: Delete chatview directory.
[inputs]: Add jami-chatview.
[arguments]: Copu chatview files to destination.
---
 gnu/packages/jami.scm | 80 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 79 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index ea94efb2f9..58e10ae6d8 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -56,6 +56,7 @@
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -526,6 +527,16 @@ functionality.")
                       (url "https://review.jami.net/ring-lrc")
                       (commit commit)))
                 (file-name (git-file-name name version))
+                (modules '((guix build utils)))
+                ;; The chatview is a common code among Jami clients.
+                ;; Since Guix likes functional design, I'm removing
+                ;; the directory containing it and making it a new
+                ;; package. The other reason is that there is no
+                ;; any rule in the build system to check if it is
+                ;; included.
+                (snippet
+                 '(begin
+                    (delete-file-recursively "src/web-chatview")))
                 (sha256
                  (base32
                   "1s1wi80drabfjhvxbiyl8k9c2jsafvmx5v84s3wldsmmdg4f6xdf"))))
@@ -542,6 +553,21 @@ functionality.")
                               (assoc-ref %build-inputs "libring") "/include"))
          #:phases
          (modify-phases %standard-phases
+           (add-after 'unpack 'do-not-install-chatview
+             (lambda _
+               (substitute* "CMakeLists.txt"
+                 (("src/web-chatview/.eslintrc.json") "")
+                 (("src/web-chatview/chatview-gnome.css") "")
+                 (("src/web-chatview/chatview.css") "")
+                 (("src/web-chatview/chatview.html") "")
+                 (("src/web-chatview/chatview.js") "")
+                 (("src/web-chatview/jed.js") "")
+                 (("src/web-chatview/linkify-html.js") "")
+                 (("src/web-chatview/linkify-string.js") "")
+                 (("src/web-chatview/linkify.js") "")
+                 (("src/web-chatview/qwebchannel.js") "")
+                 (("src/web-chatview/web.gresource.xml") ""))
+               #t))
            (add-before 'configure 'fix-dbus-interfaces-path
              (lambda* (#:key inputs #:allow-other-keys)
                (substitute* "CMakeLists.txt"
@@ -558,6 +584,40 @@ This package provides a library common to all Jami clients.")
       (home-page "https://jami.net")
       (license license:gpl3+))))
 
+(define-public jami-chatview
+  (let ((commit "0a790d86a20ae80e5d2ee0d35452fa77cfb8cc40")
+        (revision "0"))
+    (package
+      (name "jami-chatview")
+      (version (git-version %jami-version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://review.jami.net/jami-chatview")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1zb3qa1x37kclbgk4wdg6qp4ivr6513ypj8s4k0qjps7h2clgna8"))))
+      (build-system copy-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'allow-copying
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; Permissions of this file are not right.
+               ;; Let's change this to allow installing it properly.
+               (chmod ".eslintrc.json" #o644)
+               #t)))
+         #:install-plan '(("." "include/libringclient/web-chatview")
+                          (".eslintrc.json"
+                           "include/libringclient/web-chatview/.eslintrc.json"))))
+      (synopsis "Chatview for Jami")
+      (description "Web chatview for Jami - html, css, js files.
+It provides some common code for Jami clients.")
+      (home-page "https://jami.net")
+      (license license:gpl3+))))
+
 (define-public jami
   (let ((commit "85cda2e1fde84230f6b9f5419f9ec1e23867c2a1")
         (revision "0"))
@@ -570,6 +630,11 @@ This package provides a library common to all Jami clients.")
                       (url "https://review.jami.net/ring-client-gnome")
                       (commit commit)))
                 (file-name (git-file-name name version))
+                (modules '((guix build utils)))
+                ;; The web directory contains links to nowhere
+                (snippet
+                 '(begin
+                    (delete-file-recursively "web")))
                 (sha256
                  (base32
                   "0xzcx8x04yc8m8b2vf7sxfgw79idbm0hifzaw4s2vh26hyy9sp2g"))))
@@ -584,6 +649,8 @@ This package provides a library common to all Jami clients.")
          ("clutter-gtk" ,clutter-gtk)
          ("libcanberra" ,libcanberra)
          ("libnm" ,network-manager)
+         ("jami-chatview" ,jami-chatview)
+         ("qtbase" ,qtbase)
          ("webkitgtk" ,webkitgtk)
          ("sqlite" ,sqlite)))
       (native-inputs
@@ -596,7 +663,18 @@ This package provides a library common to all Jami clients.")
          ("adwaita-icon-theme" ,adwaita-icon-theme)
          ("evolution-data-server" ,evolution-data-server)))
       (arguments
-       `(#:tests? #f)) ; There is no testsuite.
+       `(#:tests? #f ; There is no testsuite.
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'copy-chatview-files
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((chatview
+                      (string-append
+                       (assoc-ref inputs "jami-chatview")
+                       "/include/libringclient/web-chatview"))
+                     (destination-dir "web"))
+                 (copy-recursively chatview destination-dir))
+               #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
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 9/9] gnu: pjproject-jami: Fix assertion by disabling debugging.
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
                     ` (6 preceding siblings ...)
  2020-07-06 15:50   ` [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
@ 2020-07-06 15:50   ` Jan Wielkiewicz
  7 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-06 15:50 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (pjproject-jami)[arguments]:
Add "-DNDEBUG" to compiler flags.
---
 gnu/packages/jami.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 58e10ae6d8..aa00e9e5c5 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -146,8 +146,8 @@
              ;; against pjproject-jami:
              ;;   relocation R_X86_64_32S against `.rodata' can not be used when
              ;;   making a shared object;
-             "CFLAGS=-fPIC"
-             "CXXFLAGS=-fPIC")
+             "CFLAGS=-fPIC -DNDEBUG"
+             "CXXFLAGS=-fPIC -DNDEBUG")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'make-git-checkout-writable
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 7/9] gnu: libringclient: Do not propagate qtbase in libringclient.
  2020-07-06 15:50   ` [bug#42229] [PATCH 7/9] gnu: libringclient: Do not propagate qtbase in libringclient Jan Wielkiewicz
@ 2020-07-06 20:56     ` Christopher Baines
  2020-07-07 23:13       ` Jan Wielkiewicz
  0 siblings, 1 reply; 42+ messages in thread
From: Christopher Baines @ 2020-07-06 20:56 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

[-- Attachment #1: Type: text/plain, Size: 1240 bytes --]


Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> * gnu/packages/jami.scm (libringclient):
> [propagated-inputs]: Remove qtbase.
> [inputs]: Add qtbase.
> ---
>  gnu/packages/jami.scm | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index 041955f297..ea94efb2f9 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -530,10 +530,11 @@ functionality.")
>                   (base32
>                    "1s1wi80drabfjhvxbiyl8k9c2jsafvmx5v84s3wldsmmdg4f6xdf"))))
>        (build-system cmake-build-system)
> -      (propagated-inputs
> -       `(("libring" ,libring)     ; For 'dring'.
> -         ("qtbase" ,qtbase)       ; Qt is included in several installed headers.
> +      (inputs
> +       `(("qtbase" ,qtbase)       ; Qt is included in several installed headers.
>           ("qttools" ,qttools)))
> +      (propagated-inputs
> +       `(("libring" ,libring)))     ; For 'dring'.
>        (arguments
>         `(#:tests? #f                      ; There is no testsuite.
>           #:configure-flags

What's the reason behind this change? I'd interpret the "headers"
comment as justifying why qtbase should be propagated.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files.
  2020-07-06 15:50   ` [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
@ 2020-07-06 21:19     ` Christopher Baines
  2020-07-07 21:22       ` Jan Wielkiewicz
  2020-07-07 23:07       ` Jan Wielkiewicz
  2020-08-04  4:40     ` maxim.cournoyer
  1 sibling, 2 replies; 42+ messages in thread
From: Christopher Baines @ 2020-07-06 21:19 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

[-- Attachment #1: Type: text/plain, Size: 8131 bytes --]


Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> * gnu/packages/jami.scm (define-module): Add copy-build-system.
> (libringclient)[source]: Delete chatview files.
> [arguments]: Remove chatview files from CMakeLists.txt.
> (jami-chatview): New variable.
> (jami)[source]: Delete chatview directory.
> [inputs]: Add jami-chatview.
> [arguments]: Copu chatview files to destination.
> ---
>  gnu/packages/jami.scm | 80 ++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 79 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index ea94efb2f9..58e10ae6d8 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -56,6 +56,7 @@
>    #:use-module (gnu packages xorg)
>    #:use-module (gnu packages)
>    #:use-module (guix build-system cmake)
> +  #:use-module (guix build-system copy)
>    #:use-module (guix build-system gnu)
>    #:use-module (guix download)
>    #:use-module (guix git-download)
> @@ -526,6 +527,16 @@ functionality.")
>                        (url "https://review.jami.net/ring-lrc")
>                        (commit commit)))
>                  (file-name (git-file-name name version))
> +                (modules '((guix build utils)))
> +                ;; The chatview is a common code among Jami clients.
> +                ;; Since Guix likes functional design, I'm removing
> +                ;; the directory containing it and making it a new
> +                ;; package. The other reason is that there is no
> +                ;; any rule in the build system to check if it is
> +                ;; included.

I'd perhaps just say instead that these files are packaged as
jami-chatview which is used by the jami package, that's probably what's
useful to know here.

> +                (snippet
> +                 '(begin
> +                    (delete-file-recursively "src/web-chatview")))
>                  (sha256
>                   (base32
>                    "1s1wi80drabfjhvxbiyl8k9c2jsafvmx5v84s3wldsmmdg4f6xdf"))))
> @@ -542,6 +553,21 @@ functionality.")
>                                (assoc-ref %build-inputs "libring") "/include"))
>           #:phases
>           (modify-phases %standard-phases
> +           (add-after 'unpack 'do-not-install-chatview
> +             (lambda _
> +               (substitute* "CMakeLists.txt"
> +                 (("src/web-chatview/.eslintrc.json") "")
> +                 (("src/web-chatview/chatview-gnome.css") "")
> +                 (("src/web-chatview/chatview.css") "")
> +                 (("src/web-chatview/chatview.html") "")
> +                 (("src/web-chatview/chatview.js") "")
> +                 (("src/web-chatview/jed.js") "")
> +                 (("src/web-chatview/linkify-html.js") "")
> +                 (("src/web-chatview/linkify-string.js") "")
> +                 (("src/web-chatview/linkify.js") "")
> +                 (("src/web-chatview/qwebchannel.js") "")
> +                 (("src/web-chatview/web.gresource.xml") ""))

Because substitute* uses regular expressions, characters like . should
probably be escaped. However, you might want to try something like the
following:

               (substitute* "CMakeLists.txt"
                 (("src/web-chatview/.*") ""))


> +               #t))
>             (add-before 'configure 'fix-dbus-interfaces-path
>               (lambda* (#:key inputs #:allow-other-keys)
>                 (substitute* "CMakeLists.txt"
> @@ -558,6 +584,40 @@ This package provides a library common to all Jami clients.")
>        (home-page "https://jami.net")
>        (license license:gpl3+))))
>  
> +(define-public jami-chatview
> +  (let ((commit "0a790d86a20ae80e5d2ee0d35452fa77cfb8cc40")
> +        (revision "0"))
> +    (package
> +      (name "jami-chatview")
> +      (version (git-version %jami-version revision commit))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://review.jami.net/jami-chatview")
> +                      (commit commit)))
> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                  "1zb3qa1x37kclbgk4wdg6qp4ivr6513ypj8s4k0qjps7h2clgna8"))))
> +      (build-system copy-build-system)
> +      (arguments
> +       '(#:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'allow-copying
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               ;; Permissions of this file are not right.
> +               ;; Let's change this to allow installing it properly.
> +               (chmod ".eslintrc.json" #o644)
> +               #t)))
> +         #:install-plan '(("." "include/libringclient/web-chatview")
> +                          (".eslintrc.json"
> +                           "include/libringclient/web-chatview/.eslintrc.json"))))
> +      (synopsis "Chatview for Jami")
> +      (description "Web chatview for Jami - html, css, js files.
> +It provides some common code for Jami clients.")

It would be good if this could be clearer as to what the user gets if
they install this package. I'm guessing because it's an input to Jami,
it's probably not useful to have it in your profile?

Also, if it's going to describe the contents of the package, I'd do it
in a full sentance, so something like: "This package provides the HTML,
CSS and JavaScript files for the web chatview for Jami".

> +      (home-page "https://jami.net")
> +      (license license:gpl3+))))

I think there's some Expat stuff in there too.

> +
>  (define-public jami
>    (let ((commit "85cda2e1fde84230f6b9f5419f9ec1e23867c2a1")
>          (revision "0"))
> @@ -570,6 +630,11 @@ This package provides a library common to all Jami clients.")
>                        (url "https://review.jami.net/ring-client-gnome")
>                        (commit commit)))
>                  (file-name (git-file-name name version))
> +                (modules '((guix build utils)))
> +                ;; The web directory contains links to nowhere
> +                (snippet
> +                 '(begin
> +                    (delete-file-recursively "web")))
>                  (sha256
>                   (base32
>                    "0xzcx8x04yc8m8b2vf7sxfgw79idbm0hifzaw4s2vh26hyy9sp2g"))))
> @@ -584,6 +649,8 @@ This package provides a library common to all Jami clients.")
>           ("clutter-gtk" ,clutter-gtk)
>           ("libcanberra" ,libcanberra)
>           ("libnm" ,network-manager)
> +         ("jami-chatview" ,jami-chatview)
> +         ("qtbase" ,qtbase)
>           ("webkitgtk" ,webkitgtk)
>           ("sqlite" ,sqlite)))
>        (native-inputs
> @@ -596,7 +663,18 @@ This package provides a library common to all Jami clients.")
>           ("adwaita-icon-theme" ,adwaita-icon-theme)
>           ("evolution-data-server" ,evolution-data-server)))
>        (arguments
> -       `(#:tests? #f)) ; There is no testsuite.
> +       `(#:tests? #f ; There is no testsuite.
> +         #:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'copy-chatview-files
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               (let ((chatview
> +                      (string-append
> +                       (assoc-ref inputs "jami-chatview")
> +                       "/include/libringclient/web-chatview"))
> +                     (destination-dir "web"))
> +                 (copy-recursively chatview destination-dir))

Rather than copying, could this be a symlink? That way you're just using
another store item, rather than copying the files from one to another.

> +               #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


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 6/9] gnu: jami: Add libnm as input.
  2020-07-06 15:50   ` [bug#42229] [PATCH 6/9] gnu: jami: Add libnm as input Jan Wielkiewicz
@ 2020-07-06 21:24     ` Christopher Baines
  2020-07-10 18:03       ` Jan Wielkiewicz
  0 siblings, 1 reply; 42+ messages in thread
From: Christopher Baines @ 2020-07-06 21:24 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

[-- Attachment #1: Type: text/plain, Size: 1487 bytes --]


Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> * gnu/packages/jami.scm (jami)[inputs]: Add libnm.
> ---
>  gnu/packages/jami.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index a45b056d51..041955f297 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -582,6 +582,7 @@ This package provides a library common to all Jami clients.")
>           ("clutter" ,clutter)
>           ("clutter-gtk" ,clutter-gtk)
>           ("libcanberra" ,libcanberra)
> +         ("libnm" ,network-manager)
>           ("webkitgtk" ,webkitgtk)
>           ("sqlite" ,sqlite)))
>        (native-inputs
> @@ -600,7 +601,6 @@ This package provides a library common to all Jami clients.")
>  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.")
>        (home-page "https://jami.net")
>        (license license:gpl3+))))

I'm guessing that the reasoning behind this change is that it's
something related to the version update.

If so, maybe include this change in the commit that does the version
update, just to keep the related changes together. Otherwise, it would
be good to have some information in this commit about what adding this
input means.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files.
  2020-07-06 21:19     ` Christopher Baines
@ 2020-07-07 21:22       ` Jan Wielkiewicz
  2020-07-08 19:14         ` Christopher Baines
  2020-07-07 23:07       ` Jan Wielkiewicz
  1 sibling, 1 reply; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-07 21:22 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 42229

Hello.

On Mon, 06 Jul 2020 22:19:42 +0100
Christopher Baines <mail@cbaines.net> wrote:

> I'd perhaps just say instead that these files are packaged as
> jami-chatview which is used by the jami package, that's probably
> what's useful to know here.
Done.

> 
> Because substitute* uses regular expressions, characters like . should
> probably be escaped. However, you might want to try something like the
> following:
> 
>                (substitute* "CMakeLists.txt"
>                  (("src/web-chatview/.*") ""))
> 
I use to forget this, don't know why. Testing how it works right now.

> 
> It would be good if this could be clearer as to what the user gets if
> they install this package. I'm guessing because it's an input to Jami,
> it's probably not useful to have it in your profile?
Users don't have to know this. I made it private by changing
define-public to define.

> Also, if it's going to describe the contents of the package, I'd do it
> in a full sentance, so something like: "This package provides the
> HTML, CSS and JavaScript files for the web chatview for Jami".
Done.

> I think there's some Expat stuff in there too.
Yes, there is, added expat to license list. Shouldn't Jami files
contain explicit license statement though?

> 
> Rather than copying, could this be a symlink? That way you're just
> using another store item, rather than copying the files from one to
> another.
Working on this. The build fails on the ".eslintrc.json". Guix for some
reason doesn't like dotfiles.



Jan Wielkiewicz




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files.
  2020-07-06 21:19     ` Christopher Baines
  2020-07-07 21:22       ` Jan Wielkiewicz
@ 2020-07-07 23:07       ` Jan Wielkiewicz
  1 sibling, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-07 23:07 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 42229

I need some more time for this one. Some features seem to be broken
(despite dropping the qtcore commit).


Jan Wielkiewicz





^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 7/9] gnu: libringclient: Do not propagate qtbase in libringclient.
  2020-07-06 20:56     ` Christopher Baines
@ 2020-07-07 23:13       ` Jan Wielkiewicz
  0 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-07 23:13 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 42229

On Mon, 06 Jul 2020 21:56:19 +0100
Christopher Baines <mail@cbaines.net> wrote:

> What's the reason behind this change? I'd interpret the "headers"
> comment as justifying why qtbase should be propagated.

Dropped this commit, I was just experimenting with it.
If I don't know why I did this, it probably invalid.


Jan Wielkiewicz




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files.
  2020-07-07 21:22       ` Jan Wielkiewicz
@ 2020-07-08 19:14         ` Christopher Baines
  0 siblings, 0 replies; 42+ messages in thread
From: Christopher Baines @ 2020-07-08 19:14 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

[-- Attachment #1: Type: text/plain, Size: 786 bytes --]


Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

>> I think there's some Expat stuff in there too.
> Yes, there is, added expat to license list. Shouldn't Jami files
> contain explicit license statement though?

I'm not sure what you mean by explicit license statement, adding expat
to the licenses list was all I had in mind.

>> Rather than copying, could this be a symlink? That way you're just
>> using another store item, rather than copying the files from one to
>> another.
>
> Working on this. The build fails on the ".eslintrc.json". Guix for some
> reason doesn't like dotfiles.

Ok, sounds like the .eslintrc.json file can be deleted at build time, as
I think it's configuration for a linter. I'm not sure if that'll help or
not, but it might.

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 6/9] gnu: jami: Add libnm as input.
  2020-07-06 21:24     ` Christopher Baines
@ 2020-07-10 18:03       ` Jan Wielkiewicz
  0 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:03 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 42229

Dnia 2020-07-06, o godz. 22:24:28
Christopher Baines <mail@cbaines.net> napisał(a):

> I'm guessing that the reasoning behind this change is that it's
> something related to the version update.
Actually it isn't. I just noticed it is an optional dependency.
I'll add this in a comment.

Quick grep tells:

CMakeLists.txt:PKG_CHECK_MODULES(LIBNM libnm>=1.0) #optional to detect
changes in the network CMakeLists.txt:# configure libnm variable for
config.h file src/mainwindow.cpp:     // monitor the network using
libnm to notify the daemon about connectivity changes



Jan Wielkiewicz




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix.
  2020-07-06 15:34 [bug#42229] [PATCH 0/9] Jami update and refactor Jan Wielkiewicz
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
@ 2020-07-10 18:32 ` Jan Wielkiewicz
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 02/10] gnu: libringclient: Fetch from git, update to 20200702-guix Jan Wielkiewicz
                     ` (9 more replies)
  2020-07-12 16:00 ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
  2021-03-31  5:27 ` bug#42229: [PATCH 0/9] Jami update and refactor Maxim Cournoyer
  3 siblings, 10 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm
(define-module): Use the "backup" module.
(%jami-version, %libring-commit, %libring-revision): New variables.
(jami-source): Rename procedure to (libring-source).
(libring-source)[without-daemon]: Rename keyword to [without-contrib].
[origin]: Fetch from git, update path to the contrib directory,
update hash and commit.
(libring)[source]: Use (libring-source).
[version]: Use the (%jami-version, %libring-commit, %libring-revision) variables.
[inputs]: Add libarchive, remove obsolete comment - there's pjproject-jami already.
[arguments]: Do not chdir to "daemon" - due to fetching from git,
we're in the proper directory already.
---
 gnu/packages/jami.scm | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index d5cb3b62f6..06aeafea5d 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -23,6 +23,7 @@
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
@@ -62,23 +63,29 @@
   #:use-module (guix utils)
   #:use-module (srfi srfi-1))
 
-(define %jami-version "20200401.1.6f090de")
+(define %jami-version "20200708-guix")
+(define %libring-commit "07188b4a717e5ac6e582d71c895b74fbbfd02b24")
+(define %libring-revision "0")
 
-(define* (jami-source #:key without-daemon)
+(define* (libring-source #:key without-contrib)
   (origin
-    (method url-fetch)
-    (uri (string-append "https://dl.jami.net/release/tarballs/jami_"
-                        %jami-version
-                        ".tar.gz"))
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://review.jami.net/ring-daemon")
+          (commit %libring-commit)))
+    (file-name (git-file-name (if without-contrib
+                                  "libring-source-without-contrib"
+                                  "libring-source")
+                              %jami-version))
     (modules '((guix build utils)))
     (snippet
-     (if without-daemon
+     (if without-contrib
          '(begin
-            (delete-file-recursively "daemon/contrib"))
+            (delete-file-recursively "contrib"))
          #f))
     (sha256
      (base32
-      "0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh"))))
+      "05068ijvbd6gd9i14iz23dn5nc0fsphwa3hpdpqairqv00rr9h9b"))))
 
 ;; Savoir-Faire Linux modifies many libraries to add features
 ;; to Jami. This procedure makes applying patches to a given
@@ -441,8 +448,8 @@
 (define-public libring
   (package
     (name "libring")
-    (version %jami-version)
-    (source (jami-source #:without-daemon #t))
+    (version (git-version %jami-version %libring-revision %libring-commit))
+    (source (libring-source #:without-contrib #t))
     (build-system gnu-build-system)
     (inputs
      `(("alsa-lib" ,alsa-lib)
@@ -462,6 +469,7 @@
        ("opus" ,opus)
        ("pcre" ,pcre)
        ("pulseaudio" ,pulseaudio)
+       ("libarchive" ,libarchive)
        ("libsamplerate" ,libsamplerate)
        ("libsndfile" ,libsndfile)
        ("speex" ,speex)
@@ -479,8 +487,6 @@
        ("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)))
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -494,10 +500,6 @@
      `(#:tests? #f         ; The tests fail to compile due to missing headers.
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'change-directory
-           (lambda _
-             (chdir "daemon")
-             #t))
          (add-before 'build 'add-lib-dir
            (lambda _
              (mkdir-p "src/lib")
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 02/10] gnu: libringclient: Fetch from git, update to 20200702-guix.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
@ 2020-07-10 18:32   ` Jan Wielkiewicz
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 03/10] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source Jan Wielkiewicz
                     ` (8 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm
(libringclient):
[revision, commit]: New variables.
Do not inherit from (libring).
[version]: Use (%jami-version, revision, commit).
[source]: Fetch from git.
---
 gnu/packages/jami.scm | 65 ++++++++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 06aeafea5d..abb0edc933 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -516,40 +516,47 @@ functionality.")
     (license license:gpl3+)))
 
 (define-public libringclient
-  (package
-    (inherit libring)
-    (name "libringclient")
-    (build-system cmake-build-system)
-    (propagated-inputs
-     `(("libring" ,libring)     ; For 'dring'.
-       ("qtbase" ,qtbase)       ; Qt is included in several installed headers.
-       ("qttools" ,qttools)))
-    (arguments
-     `(#:tests? #f                      ; There is no testsuite.
-       #:configure-flags
-       (list (string-append "-DRING_BUILD_DIR="
-                            (assoc-ref %build-inputs "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,
+  (let ((commit "db943766917eba7be3a6f89d41794c2d26363ab7")
+        (revision "0"))
+    (package
+      (name "libringclient")
+      (version (git-version %jami-version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://review.jami.net/ring-lrc")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1s1wi80drabfjhvxbiyl8k9c2jsafvmx5v84s3wldsmmdg4f6xdf"))))
+      (build-system cmake-build-system)
+      (propagated-inputs
+       `(("libring" ,libring)     ; For 'dring'.
+         ("qtbase" ,qtbase)       ; Qt is included in several installed headers.
+         ("qttools" ,qttools)))
+      (arguments
+       `(#:tests? #f                      ; There is no testsuite.
+         #:configure-flags
+         (list (string-append "-DRING_BUILD_DIR="
+                              (assoc-ref %build-inputs "libring") "/include"))
+         #:phases
+         (modify-phases %standard-phases
+           (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.")
-    (home-page "https://jami.net")
-    (license license:gpl3+)))
+      (home-page "https://jami.net")
+      (license license:gpl3+))))
 
 (define-public jami
   (package
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 03/10] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 02/10] gnu: libringclient: Fetch from git, update to 20200702-guix Jan Wielkiewicz
@ 2020-07-10 18:32   ` Jan Wielkiewicz
  2020-07-11 19:52     ` Christopher Baines
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 04/10] gnu: jami: Fetch from git, update to 20200702-guix Jan Wielkiewicz
                     ` (7 subsequent siblings)
  9 siblings, 1 reply; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm:
(libring-source): [without-contrib] is now true by default.
(jami-apply-dependency-patches): Do not invoke tar,
patches are now fetched from git.
Apply "--ignore-whitespace" to patch to prevent failing.
(pjproject-jami)[native-inputs]: Use (libring-source) procedure instead of
(jami-source).
[arguments]: Add new patches.
(ffmpeg-jami)[native-inputs]: Use (libring-source) procedure instead of
(jami-source).
---
 gnu/packages/jami.scm | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index abb0edc933..1da50d7744 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -67,7 +67,7 @@
 (define %libring-commit "07188b4a717e5ac6e582d71c895b74fbbfd02b24")
 (define %libring-revision "0")
 
-(define* (libring-source #:key without-contrib)
+(define* (libring-source #:key (without-contrib #t))
   (origin
     (method git-fetch)
     (uri (git-reference
@@ -92,16 +92,13 @@
 ;; package easy.
 (define jami-apply-dependency-patches
   '(lambda* (#:key inputs dep-name patches)
-     (let ((patches-directory "sfl-patches"))
-       (mkdir-p patches-directory)
-       (invoke "tar" "-xvf" (assoc-ref inputs "sfl-patches")
-               "-C" patches-directory
-               "--strip-components=5"
-               (string-append "ring-project/daemon/contrib/src/"
-                              dep-name))
+     (let ((patches-directory (string-append
+                               (assoc-ref inputs "sfl-patches")
+                               "/contrib/src/" 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))))
@@ -111,7 +108,7 @@
     (inherit pjproject)
     (name "pjproject-jami")
     (native-inputs
-     `(("sfl-patches" ,(jami-source))
+     `(("sfl-patches" ,(libring-source #:without-contrib #f))
        ,@(package-native-inputs pjproject)))
     (arguments
      `(#:tests? #f
@@ -174,7 +171,9 @@
                   "0006-ignore_ipv6_on_transport_check"
                   "0007-pj_ice_sess"
                   "0008-fix_ioqueue_ipv6_sendto"
-                  "0009-add-config-site"))
+                  "0009-add-config-site"
+                  "0010-fix-pkgconfig"
+                  "0011-fix-tcp-death-detection"))
                #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
@@ -414,7 +413,7 @@
     (inherit ffmpeg)
     (name "ffmpeg-jami")
     (native-inputs
-     `(("sfl-patches" ,(jami-source))
+     `(("sfl-patches" ,(libring-source #:without-contrib #f))
        ("libiconv" ,libiconv)
        ,@(package-native-inputs ffmpeg)))
     (supported-systems '("x86_64-linux" "i686-linux"
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 04/10] gnu: jami: Fetch from git, update to 20200702-guix.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 02/10] gnu: libringclient: Fetch from git, update to 20200702-guix Jan Wielkiewicz
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 03/10] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source Jan Wielkiewicz
@ 2020-07-10 18:32   ` Jan Wielkiewicz
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 05/10] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
                     ` (6 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm:
(jami)[revision, commit]: New variables.
[version]: Use [%jami-version, revision, commit].
[source]: Fetch from git.
[arguments]: Do not change the directory.
---
 gnu/packages/jami.scm | 76 +++++++++++++++++++++++--------------------
 1 file changed, 41 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 1da50d7744..a9ccf67380 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -558,46 +558,52 @@ This package provides a library common to all Jami clients.")
       (license license:gpl3+))))
 
 (define-public jami
-  (package
-    (inherit libring)
-    (name "jami")
-    (build-system cmake-build-system)
-    (inputs
-     `(("libringclient" ,libringclient)
-       ("gtk+" ,gtk+)
-       ("qrencode" ,qrencode)
-       ("libnotify" ,libnotify)
-       ("clutter" ,clutter)
-       ("clutter-gtk" ,clutter-gtk)
-       ("libcanberra" ,libcanberra)
-       ("webkitgtk" ,webkitgtk)
-       ("sqlite" ,sqlite)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("doxygen" ,doxygen)))
-    (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)))
-    (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,
+  (let ((commit "4703bf11348170da151c62a6a3ae54f83a7d866e")
+        (revision "0"))
+    (package
+      (name "jami")
+      (version (git-version %jami-version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://review.jami.net/ring-client-gnome")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0fzzgw6738gqvy4m9hamxdzkgbmv72j7zyxzcyaw21zmwacn7jfj"))))
+      (build-system cmake-build-system)
+      (inputs
+       `(("libringclient" ,libringclient)
+         ("gtk+" ,gtk+)
+         ("qtbase" ,qtbase)
+         ("qrencode" ,qrencode)
+         ("libnotify" ,libnotify)
+         ("clutter" ,clutter)
+         ("clutter-gtk" ,clutter-gtk)
+         ("libcanberra" ,libcanberra)
+         ("webkitgtk" ,webkitgtk)
+         ("sqlite" ,sqlite)))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("gettext" ,gettext-minimal)
+         ("glib:bin" ,glib "bin")
+         ("doxygen" ,doxygen)))
+      (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)))
+      (arguments
+       `(#:tests? #f)) ; There is no testsuite.
+      (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.")
-    (home-page "https://jami.net")
-    (license license:gpl3+)))
+      (home-page "https://jami.net")
+      (license license:gpl3+))))
 
 (define-public jami-client-gnome
   (deprecated-package "jami-client-gnome" jami))
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 05/10] gnu: pjproject-jami: Make sure phases are run in order.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
                     ` (2 preceding siblings ...)
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 04/10] gnu: jami: Fetch from git, update to 20200702-guix Jan Wielkiewicz
@ 2020-07-10 18:32   ` Jan Wielkiewicz
  2020-07-11 19:57     ` Christopher Baines
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 06/10] gnu: jami: Add libnm as input Jan Wielkiewicz
                     ` (5 subsequent siblings)
  9 siblings, 1 reply; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (pjproject-jami)[arguments]:
Add 'apply-patches after 'make-git-checkout-writable.
---
 gnu/packages/jami.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index a9ccf67380..a770d52d2e 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -153,7 +153,7 @@
            (lambda _
              (for-each make-file-writable (find-files "."))
              #t))
-         (add-after 'unpack 'apply-patches
+         (add-after 'make-git-checkout-writable 'apply-patches
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
                ;; Comes from
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 06/10] gnu: jami: Add libnm as input.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
                     ` (3 preceding siblings ...)
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 05/10] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
@ 2020-07-10 18:32   ` Jan Wielkiewicz
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 07/10] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
                     ` (4 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (jami)[inputs]: Add libnm.
---
 gnu/packages/jami.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index a770d52d2e..df3a268274 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -582,6 +582,7 @@ This package provides a library common to all Jami clients.")
          ("clutter" ,clutter)
          ("clutter-gtk" ,clutter-gtk)
          ("libcanberra" ,libcanberra)
+         ("libnm" ,network-manager) ; optional to detect changes in the network
          ("webkitgtk" ,webkitgtk)
          ("sqlite" ,sqlite)))
       (native-inputs
@@ -600,7 +601,6 @@ This package provides a library common to all Jami clients.")
 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.")
       (home-page "https://jami.net")
       (license license:gpl3+))))
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 07/10] gnu: jami: Fix compilation by providing necessary webchat files.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
                     ` (4 preceding siblings ...)
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 06/10] gnu: jami: Add libnm as input Jan Wielkiewicz
@ 2020-07-10 18:32   ` Jan Wielkiewicz
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 08/10] gnu: pjproject-jami: Fix assertion by disabling debugging Jan Wielkiewicz
                     ` (3 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (define-module): Add copy-build-system.
(libringclient)[source]: Delete chatview files.
[arguments]: Remove chatview files from CMakeLists.txt.
(jami-chatview): New variable.
(jami)[source]: Delete chatview directory.
[inputs]: Add jami-chatview.
[arguments]: Copy chatview files to destination.
---
 gnu/packages/jami.scm | 66 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 65 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index df3a268274..b5b2df61ac 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -56,6 +56,7 @@
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -526,6 +527,12 @@ functionality.")
                       (url "https://review.jami.net/ring-lrc")
                       (commit commit)))
                 (file-name (git-file-name name version))
+                (modules '((guix build utils)))
+                ;; These files are provided by the jami-chatview package
+                ;; let's remove them.
+                (snippet
+                 '(begin
+                    (delete-file-recursively "src/web-chatview")))
                 (sha256
                  (base32
                   "1s1wi80drabfjhvxbiyl8k9c2jsafvmx5v84s3wldsmmdg4f6xdf"))))
@@ -541,6 +548,11 @@ functionality.")
                               (assoc-ref %build-inputs "libring") "/include"))
          #:phases
          (modify-phases %standard-phases
+           (add-after 'unpack 'do-not-install-chatview
+             (lambda _
+               (substitute* "CMakeLists.txt"
+                 (("src/web-chatview/.*") ""))
+               #t))
            (add-before 'configure 'fix-dbus-interfaces-path
              (lambda* (#:key inputs #:allow-other-keys)
                (substitute* "CMakeLists.txt"
@@ -557,6 +569,41 @@ This package provides a library common to all Jami clients.")
       (home-page "https://jami.net")
       (license license:gpl3+))))
 
+(define jami-chatview
+  (let ((commit "0a790d86a20ae80e5d2ee0d35452fa77cfb8cc40")
+        (revision "0"))
+    (package
+      (name "jami-chatview")
+      (version (git-version %jami-version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://review.jami.net/jami-chatview")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1zb3qa1x37kclbgk4wdg6qp4ivr6513ypj8s4k0qjps7h2clgna8"))))
+      (build-system copy-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'allow-copying
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; Permissions of this file are not right.
+               ;; Let's change this to allow installing it properly.
+               (chmod ".eslintrc.json" #o644)
+               #t)))
+         #:install-plan '(("." "include/libringclient/web-chatview")
+                          (".eslintrc.json"
+                           "include/libringclient/web-chatview/.eslintrc.json"))))
+      (synopsis "Chatview for Jami")
+      (description "This package provides HTML, CSS and JS files needed
+by Jami clients to display chatview.")
+      (home-page "https://jami.net")
+      (license (list license:gpl3+ ; All but ...
+                     license:expat))))) ; ... jed.js, linkify-html.js
+
 (define-public jami
   (let ((commit "4703bf11348170da151c62a6a3ae54f83a7d866e")
         (revision "0"))
@@ -569,6 +616,11 @@ This package provides a library common to all Jami clients.")
                       (url "https://review.jami.net/ring-client-gnome")
                       (commit commit)))
                 (file-name (git-file-name name version))
+                (modules '((guix build utils)))
+                ;; The web directory contains links to nowhere
+                (snippet
+                 '(begin
+                    (delete-file-recursively "web")))
                 (sha256
                  (base32
                   "0fzzgw6738gqvy4m9hamxdzkgbmv72j7zyxzcyaw21zmwacn7jfj"))))
@@ -583,6 +635,7 @@ This package provides a library common to all Jami clients.")
          ("clutter-gtk" ,clutter-gtk)
          ("libcanberra" ,libcanberra)
          ("libnm" ,network-manager) ; optional to detect changes in the network
+         ("jami-chatview" ,jami-chatview)
          ("webkitgtk" ,webkitgtk)
          ("sqlite" ,sqlite)))
       (native-inputs
@@ -595,7 +648,18 @@ This package provides a library common to all Jami clients.")
          ("adwaita-icon-theme" ,adwaita-icon-theme)
          ("evolution-data-server" ,evolution-data-server)))
       (arguments
-       `(#:tests? #f)) ; There is no testsuite.
+       `(#:tests? #f ; There is no testsuite.
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'symlink-chatview-files
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((chatview
+                      (string-append
+                       (assoc-ref inputs "jami-chatview")
+                       "/include/libringclient/web-chatview"))
+                     (destination-dir "web"))
+                 (symlink chatview destination-dir))
+               #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
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 08/10] gnu: pjproject-jami: Fix assertion by disabling debugging.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
                     ` (5 preceding siblings ...)
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 07/10] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
@ 2020-07-10 18:32   ` Jan Wielkiewicz
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 09/10] gnu: opendht: Fix libring compilation Jan Wielkiewicz
                     ` (2 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (pjproject-jami)[arguments]:
Add "-DNDEBUG" to compiler flags.
---
 gnu/packages/jami.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index b5b2df61ac..2758cb6517 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -146,8 +146,8 @@
              ;; against pjproject-jami:
              ;;   relocation R_X86_64_32S against `.rodata' can not be used when
              ;;   making a shared object;
-             "CFLAGS=-fPIC"
-             "CXXFLAGS=-fPIC")
+             "CFLAGS=-fPIC -DNDEBUG"
+             "CXXFLAGS=-fPIC -DNDEBUG")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'make-git-checkout-writable
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 09/10] gnu: opendht: Fix libring compilation.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
                     ` (6 preceding siblings ...)
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 08/10] gnu: pjproject-jami: Fix assertion by disabling debugging Jan Wielkiewicz
@ 2020-07-10 18:32   ` Jan Wielkiewicz
  2020-07-11 20:12     ` Christopher Baines
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 10/10] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
  2020-07-11 19:51   ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Christopher Baines
  9 siblings, 1 reply; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

The 2.1.4 release of opendht contains a bug, which
breaks libring compilation. This commit fixes this.

* gnu/packages/patches/opendht-fix-jami.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/networking.scm (opendht)[source]:
Apply the patch.
---
 gnu/local.mk                                |  1 +
 gnu/packages/networking.scm                 |  1 +
 gnu/packages/patches/opendht-fix-jami.patch | 33 +++++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 gnu/packages/patches/opendht-fix-jami.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 5c3b391960..fcd6de8e0e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1340,6 +1340,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch	\
   %D%/packages/patches/opencascade-oce-glibc-2.26.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 e6a9e69adf..44f81c94d1 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2918,6 +2918,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
                     (url "https://github.com/savoirfairelinux/opendht.git")
                     (commit version)))
               (file-name (git-file-name name version))
+              (patches (search-patches "opendht-fix-jami.patch"))
               (sha256
                (base32
                 "1ax26ri1ifb6s8ppd28jmanka9yf8mw3np65q2h4djhhik0phhal"))))
diff --git a/gnu/packages/patches/opendht-fix-jami.patch b/gnu/packages/patches/opendht-fix-jami.patch
new file mode 100644
index 0000000000..9718a84a41
--- /dev/null
+++ b/gnu/packages/patches/opendht-fix-jami.patch
@@ -0,0 +1,33 @@
+From e2b39dd3a0742853e00f9c3e8c46c911da20bed7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@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.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 10/10] gnu: jami-client-gnome: Remove deprecated package.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
                     ` (7 preceding siblings ...)
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 09/10] gnu: opendht: Fix libring compilation Jan Wielkiewicz
@ 2020-07-10 18:32   ` Jan Wielkiewicz
  2020-07-11 19:51   ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Christopher Baines
  9 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-10 18:32 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

This package has been deprecated for over a year.

* gnu/packages/jami.scm (jami-client-gnome): Remove variable.
---
 gnu/packages/jami.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 2758cb6517..97bce1f27e 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -669,5 +669,4 @@ This package provides the Jami client for the GNOME desktop.")
       (home-page "https://jami.net")
       (license license:gpl3+))))
 
-(define-public jami-client-gnome
-  (deprecated-package "jami-client-gnome" jami))
+
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix.
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
                     ` (8 preceding siblings ...)
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 10/10] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
@ 2020-07-11 19:51   ` Christopher Baines
  9 siblings, 0 replies; 42+ messages in thread
From: Christopher Baines @ 2020-07-11 19:51 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

[-- Attachment #1: Type: text/plain, Size: 5279 bytes --]


Hey, thanks for the updated patches.

Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> * gnu/packages/jami.scm
> (define-module): Use the "backup" module.

While I never really know what to put for the changelog, I don't
normally put anything in about use-module things.

> (%jami-version, %libring-commit, %libring-revision): New variables.
> (jami-source): Rename procedure to (libring-source).
> (libring-source)[without-daemon]: Rename keyword to [without-contrib].
> [origin]: Fetch from git, update path to the contrib directory,
> update hash and commit.
> (libring)[source]: Use (libring-source).
> [version]: Use the (%jami-version, %libring-commit, %libring-revision) variables.
> [inputs]: Add libarchive, remove obsolete comment - there's pjproject-jami already.
> [arguments]: Do not chdir to "daemon" - due to fetching from git,
> we're in the proper directory already.
> ---
>  gnu/packages/jami.scm | 36 +++++++++++++++++++-----------------
>  1 file changed, 19 insertions(+), 17 deletions(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index d5cb3b62f6..06aeafea5d 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -23,6 +23,7 @@
>    #:use-module (gnu packages aidc)
>    #:use-module (gnu packages audio)
>    #:use-module (gnu packages autotools)
> +  #:use-module (gnu packages backup)
>    #:use-module (gnu packages base)
>    #:use-module (gnu packages boost)
>    #:use-module (gnu packages check)
> @@ -62,23 +63,29 @@
>    #:use-module (guix utils)
>    #:use-module (srfi srfi-1))
>  
> -(define %jami-version "20200401.1.6f090de")
> +(define %jami-version "20200708-guix")
> +(define %libring-commit "07188b4a717e5ac6e582d71c895b74fbbfd02b24")
> +(define %libring-revision "0")
>  
> -(define* (jami-source #:key without-daemon)
> +(define* (libring-source #:key without-contrib)

I believe this renaming will break some things, as not all the uses of
jami-source are changed in this commit.

I'm not really sure how strong the drive is to have all commits work,
but just in terms of reviewing the patches, but at least for reviewing
patches, I do find it useful if that's attempted, as it means that the
patches are more self-contained, and you don't have to keep trying to
look at multiple patches.

Just combining together the commits where the changes are tightly
related is fine, another approach would be to try and separate the
changes out in to separate commits by the type of change, like one
commit to change from using a tarball to the Git repository, and another
to update the versions of relevant packages.

>    (origin
> -    (method url-fetch)
> -    (uri (string-append "https://dl.jami.net/release/tarballs/jami_"
> -                        %jami-version
> -                        ".tar.gz"))
> +    (method git-fetch)
> +    (uri (git-reference
> +          (url "https://review.jami.net/ring-daemon")
> +          (commit %libring-commit)))
> +    (file-name (git-file-name (if without-contrib
> +                                  "libring-source-without-contrib"
> +                                  "libring-source")
> +                              %jami-version))
>      (modules '((guix build utils)))
>      (snippet
> -     (if without-daemon
> +     (if without-contrib
>           '(begin
> -            (delete-file-recursively "daemon/contrib"))
> +            (delete-file-recursively "contrib"))
>           #f))
>      (sha256
>       (base32
> -      "0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh"))))
> +      "05068ijvbd6gd9i14iz23dn5nc0fsphwa3hpdpqairqv00rr9h9b"))))
>  
>  ;; Savoir-Faire Linux modifies many libraries to add features
>  ;; to Jami. This procedure makes applying patches to a given
> @@ -441,8 +448,8 @@
>  (define-public libring
>    (package
>      (name "libring")
> -    (version %jami-version)
> -    (source (jami-source #:without-daemon #t))
> +    (version (git-version %jami-version %libring-revision %libring-commit))
> +    (source (libring-source #:without-contrib #t))
>      (build-system gnu-build-system)
>      (inputs
>       `(("alsa-lib" ,alsa-lib)
> @@ -462,6 +469,7 @@
>         ("opus" ,opus)
>         ("pcre" ,pcre)
>         ("pulseaudio" ,pulseaudio)
> +       ("libarchive" ,libarchive)
>         ("libsamplerate" ,libsamplerate)
>         ("libsndfile" ,libsndfile)
>         ("speex" ,speex)
> @@ -479,8 +487,6 @@
>         ("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)))
>      (native-inputs
>       `(("autoconf" ,autoconf)
> @@ -494,10 +500,6 @@
>       `(#:tests? #f         ; The tests fail to compile due to missing headers.
>         #:phases
>         (modify-phases %standard-phases
> -         (add-after 'unpack 'change-directory
> -           (lambda _
> -             (chdir "daemon")
> -             #t))
>           (add-before 'build 'add-lib-dir
>             (lambda _
>               (mkdir-p "src/lib")


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 03/10] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source.
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 03/10] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source Jan Wielkiewicz
@ 2020-07-11 19:52     ` Christopher Baines
  0 siblings, 0 replies; 42+ messages in thread
From: Christopher Baines @ 2020-07-11 19:52 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

[-- Attachment #1: Type: text/plain, Size: 3424 bytes --]


Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> * gnu/packages/jami.scm:
> (libring-source): [without-contrib] is now true by default.
> (jami-apply-dependency-patches): Do not invoke tar,
> patches are now fetched from git.
> Apply "--ignore-whitespace" to patch to prevent failing.
> (pjproject-jami)[native-inputs]: Use (libring-source) procedure instead of
> (jami-source).
> [arguments]: Add new patches.
> (ffmpeg-jami)[native-inputs]: Use (libring-source) procedure instead of
> (jami-source).
> ---
>  gnu/packages/jami.scm | 23 +++++++++++------------
>  1 file changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index abb0edc933..1da50d7744 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -67,7 +67,7 @@
>  (define %libring-commit "07188b4a717e5ac6e582d71c895b74fbbfd02b24")
>  (define %libring-revision "0")
>  
> -(define* (libring-source #:key without-contrib)
> +(define* (libring-source #:key (without-contrib #t))
>    (origin
>      (method git-fetch)
>      (uri (git-reference
> @@ -92,16 +92,13 @@
>  ;; package easy.
>  (define jami-apply-dependency-patches
>    '(lambda* (#:key inputs dep-name patches)
> -     (let ((patches-directory "sfl-patches"))
> -       (mkdir-p patches-directory)
> -       (invoke "tar" "-xvf" (assoc-ref inputs "sfl-patches")
> -               "-C" patches-directory
> -               "--strip-components=5"
> -               (string-append "ring-project/daemon/contrib/src/"
> -                              dep-name))
> +     (let ((patches-directory (string-append
> +                               (assoc-ref inputs "sfl-patches")
> +                               "/contrib/src/" 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))))
> @@ -111,7 +108,7 @@
>      (inherit pjproject)
>      (name "pjproject-jami")
>      (native-inputs
> -     `(("sfl-patches" ,(jami-source))
> +     `(("sfl-patches" ,(libring-source #:without-contrib #f))
>         ,@(package-native-inputs pjproject)))
>      (arguments
>       `(#:tests? #f
> @@ -174,7 +171,9 @@
>                    "0006-ignore_ipv6_on_transport_check"
>                    "0007-pj_ice_sess"
>                    "0008-fix_ioqueue_ipv6_sendto"
> -                  "0009-add-config-site"))
> +                  "0009-add-config-site"
> +                  "0010-fix-pkgconfig"
> +                  "0011-fix-tcp-death-detection"))
>                 #t)))
>           ;; TODO: We could use substitute-keyword-arguments instead of
>           ;; repeating the phases from pjproject, but somehow it does
> @@ -414,7 +413,7 @@
>      (inherit ffmpeg)
>      (name "ffmpeg-jami")
>      (native-inputs
> -     `(("sfl-patches" ,(jami-source))
> +     `(("sfl-patches" ,(libring-source #:without-contrib #f))
>         ("libiconv" ,libiconv)
>         ,@(package-native-inputs ffmpeg)))
>      (supported-systems '("x86_64-linux" "i686-linux"

Relating to my comment on the first patch on this series, these changes
here look like part of that change.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 05/10] gnu: pjproject-jami: Make sure phases are run in order.
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 05/10] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
@ 2020-07-11 19:57     ` Christopher Baines
  0 siblings, 0 replies; 42+ messages in thread
From: Christopher Baines @ 2020-07-11 19:57 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

[-- Attachment #1: Type: text/plain, Size: 1014 bytes --]


Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> * gnu/packages/jami.scm (pjproject-jami)[arguments]:
> Add 'apply-patches after 'make-git-checkout-writable.
> ---
>  gnu/packages/jami.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index a9ccf67380..a770d52d2e 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -153,7 +153,7 @@
>             (lambda _
>               (for-each make-file-writable (find-files "."))
>               #t))
> -         (add-after 'unpack 'apply-patches
> +         (add-after 'make-git-checkout-writable 'apply-patches
>             (lambda* (#:key inputs #:allow-other-keys)
>               (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
>                 ;; Comes from

I don't really follow this change, is this part of the switch to using a
Git repository as the source of the package? (if so, then being part of
that commit would be good).

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH V2] 09/10] gnu: opendht: Fix libring compilation.
  2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 09/10] gnu: opendht: Fix libring compilation Jan Wielkiewicz
@ 2020-07-11 20:12     ` Christopher Baines
  0 siblings, 0 replies; 42+ messages in thread
From: Christopher Baines @ 2020-07-11 20:12 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

[-- Attachment #1: Type: text/plain, Size: 526 bytes --]


Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> The 2.1.4 release of opendht contains a bug, which
> breaks libring compilation. This commit fixes this.
>
> * gnu/packages/patches/opendht-fix-jami.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/networking.scm (opendht)[source]:
> Apply the patch.

This looks good, although this patch would be better earlier in the
series, given I'm guessing it won't break the old jami package, but it
will prevent the new one from building.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package.
  2020-07-06 15:34 [bug#42229] [PATCH 0/9] Jami update and refactor Jan Wielkiewicz
  2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
  2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
@ 2020-07-12 16:00 ` Jan Wielkiewicz
  2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 2/4] gnu: opendht: Fix compilation of software using this package Jan Wielkiewicz
                     ` (3 more replies)
  2021-03-31  5:27 ` bug#42229: [PATCH 0/9] Jami update and refactor Maxim Cournoyer
  3 siblings, 4 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-12 16:00 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

This package has been deprecated for over a year.

* gnu/packages/jami.scm (jami-client-gnome): Remove variable.
---
 gnu/packages/jami.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index d5cb3b62f6..a00d3cc2e2 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -591,5 +591,4 @@ This package provides the Jami client for the GNOME desktop.")
     (home-page "https://jami.net")
     (license license:gpl3+)))
 
-(define-public jami-client-gnome
-  (deprecated-package "jami-client-gnome" jami))
+
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH v3] 2/4] gnu: opendht: Fix compilation of software using this package.
  2020-07-12 16:00 ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
@ 2020-07-12 16:00   ` Jan Wielkiewicz
  2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 3/4] gnu: jami: Bump to 20200710.1.6bd18d2 Jan Wielkiewicz
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-12 16:00 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

The 2.1.4 release of opendht contains a bug, which makes it
impossible to terminate a http request, making it unusable.
I patched the version with this commit:
https://github.com/savoirfairelinux/opendht/commit/e2b39dd3a0742853e00f9c3e8c46c911da20bed7

* gnu/packages/patches/opendht-fix-jami.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/networking.scm (opendht)[source]:
Apply the patch.
---
 gnu/local.mk                                |  1 +
 gnu/packages/networking.scm                 |  1 +
 gnu/packages/patches/opendht-fix-jami.patch | 33 +++++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 gnu/packages/patches/opendht-fix-jami.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 3046a840c9..12795b754b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1344,6 +1344,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch	\
   %D%/packages/patches/opencascade-oce-glibc-2.26.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 e6a9e69adf..44f81c94d1 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2918,6 +2918,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
                     (url "https://github.com/savoirfairelinux/opendht.git")
                     (commit version)))
               (file-name (git-file-name name version))
+              (patches (search-patches "opendht-fix-jami.patch"))
               (sha256
                (base32
                 "1ax26ri1ifb6s8ppd28jmanka9yf8mw3np65q2h4djhhik0phhal"))))
diff --git a/gnu/packages/patches/opendht-fix-jami.patch b/gnu/packages/patches/opendht-fix-jami.patch
new file mode 100644
index 0000000000..9718a84a41
--- /dev/null
+++ b/gnu/packages/patches/opendht-fix-jami.patch
@@ -0,0 +1,33 @@
+From e2b39dd3a0742853e00f9c3e8c46c911da20bed7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@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.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH v3] 3/4] gnu: jami: Bump to 20200710.1.6bd18d2.
  2020-07-12 16:00 ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
  2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 2/4] gnu: opendht: Fix compilation of software using this package Jan Wielkiewicz
@ 2020-07-12 16:00   ` Jan Wielkiewicz
  2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 4/4] gnu: pjproject-jami: Fix assertion bug Jan Wielkiewicz
  2020-07-12 19:36   ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Christopher Baines
  3 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-12 16:00 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

* gnu/packages/jami.scm (%jami-version): Bump to 20200710.1.6bd18d2.
(jami-source)[origin]: Andjust the hash.
(pjproject-jami)[arguments]: Add new patches.
(libring)[inputs]: Add libarchive.
---
 gnu/packages/jami.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index a00d3cc2e2..b164169e66 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -23,6 +23,7 @@
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
@@ -62,7 +63,7 @@
   #:use-module (guix utils)
   #:use-module (srfi srfi-1))
 
-(define %jami-version "20200401.1.6f090de")
+(define %jami-version "20200710.1.6bd18d2")
 
 (define* (jami-source #:key without-daemon)
   (origin
@@ -78,7 +79,7 @@
          #f))
     (sha256
      (base32
-      "0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh"))))
+      "0lg61jv39x7kc9lq30by246xb6gcgp1rzj49ak7ff8nqpfzyfvva"))))
 
 ;; Savoir-Faire Linux modifies many libraries to add features
 ;; to Jami. This procedure makes applying patches to a given
@@ -167,7 +168,10 @@
                   "0006-ignore_ipv6_on_transport_check"
                   "0007-pj_ice_sess"
                   "0008-fix_ioqueue_ipv6_sendto"
-                  "0009-add-config-site"))
+                  "0009-add-config-site"
+                  "0010-fix-pkgconfig"
+                  "0011-fix-tcp-death-detection"
+                  "0012-fix-turn-shutdown-crash"))
                #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
@@ -455,6 +459,7 @@
        ("gsm" ,gsm)
        ("jack" ,jack-1)
        ("jsoncpp" ,jsoncpp)
+       ("libarchive" ,libarchive)
        ("libnatpmp" ,libnatpmp)
        ("libogg" ,libogg)
        ("libva" ,libva)
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH v3] 4/4] gnu: pjproject-jami: Fix assertion bug.
  2020-07-12 16:00 ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
  2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 2/4] gnu: opendht: Fix compilation of software using this package Jan Wielkiewicz
  2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 3/4] gnu: jami: Bump to 20200710.1.6bd18d2 Jan Wielkiewicz
@ 2020-07-12 16:00   ` Jan Wielkiewicz
  2020-07-12 19:36   ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Christopher Baines
  3 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-07-12 16:00 UTC (permalink / raw)
  To: 42229; +Cc: Jan Wielkiewicz

This fixes the bug where Jami crashes while disconnecting
from an audio call.

* gnu/packages/jami.scm (pjproject-jami)[arguments]:
Use -DNDEBUG compiler flag.
---
 gnu/packages/jami.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index b164169e66..0fb547e233 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -142,8 +142,10 @@
              ;; against pjproject-jami:
              ;;   relocation R_X86_64_32S against `.rodata' can not be used when
              ;;   making a shared object;
-             "CFLAGS=-fPIC"
-             "CXXFLAGS=-fPIC")
+             ;; -DNDEBUG is needed to prevent assertion from happening and
+             ;; stopping the daemon.
+             "CFLAGS=-fPIC -DNDEBUG"
+             "CXXFLAGS=-fPIC -DNDEBUG")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'make-git-checkout-writable
-- 
2.27.0





^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package.
  2020-07-12 16:00 ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
                     ` (2 preceding siblings ...)
  2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 4/4] gnu: pjproject-jami: Fix assertion bug Jan Wielkiewicz
@ 2020-07-12 19:36   ` Christopher Baines
  3 siblings, 0 replies; 42+ messages in thread
From: Christopher Baines @ 2020-07-12 19:36 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

[-- Attachment #1: Type: text/plain, Size: 801 bytes --]


Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> This package has been deprecated for over a year.
>
> * gnu/packages/jami.scm (jami-client-gnome): Remove variable.
> ---
>  gnu/packages/jami.scm | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index d5cb3b62f6..a00d3cc2e2 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -591,5 +591,4 @@ This package provides the Jami client for the GNOME desktop.")
>      (home-page "https://jami.net")
>      (license license:gpl3+)))
>
> -(define-public jami-client-gnome
> -  (deprecated-package "jami-client-gnome" jami))
> +

I tweaked this patch just to clean up the whitespace at the bottom of
the file, and add a "As" to the commit message.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 5/9] gnu: pjproject-jami: Make sure phases are run in order.
  2020-07-06 15:50   ` [bug#42229] [PATCH 5/9] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
@ 2020-08-04  4:20     ` maxim.cournoyer
  2020-08-04 13:05       ` Jan Wielkiewicz
  0 siblings, 1 reply; 42+ messages in thread
From: maxim.cournoyer @ 2020-08-04  4:20 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

Hi Jan,

Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> * gnu/packages/jami.scm (pjproject-jami)[arguments]:
> Add 'apply-patches after 'make-git-checkout-writable.
> ---
>  gnu/packages/jami.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index a6ce1aaa3f..a45b056d51 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -153,7 +153,7 @@
>             (lambda _
>               (for-each make-file-writable (find-files "."))
>               #t))
> -         (add-after 'unpack 'apply-patches
> +         (add-after 'make-git-checkout-writable 'apply-patches
>             (lambda* (#:key inputs #:allow-other-keys)
>               (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
>                 ;; Comes from

I made some changes to our base pjproject and could simplify the
definition of pjproject-jami to only adding the apply-patches phase.
The phase is sequenced like above.

Let me know if you spot any issue with that work :-).

Maxim




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files.
  2020-07-06 15:50   ` [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
  2020-07-06 21:19     ` Christopher Baines
@ 2020-08-04  4:40     ` maxim.cournoyer
  2020-08-04 13:02       ` Jan Wielkiewicz
  1 sibling, 1 reply; 42+ messages in thread
From: maxim.cournoyer @ 2020-08-04  4:40 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229

Hello Jan!

Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> * gnu/packages/jami.scm (define-module): Add copy-build-system.
> (libringclient)[source]: Delete chatview files.
> [arguments]: Remove chatview files from CMakeLists.txt.
> (jami-chatview): New variable.
> (jami)[source]: Delete chatview directory.
> [inputs]: Add jami-chatview.
> [arguments]: Copu chatview files to destination.
> ---
>  gnu/packages/jami.scm | 80 ++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 79 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index ea94efb2f9..58e10ae6d8 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -56,6 +56,7 @@
>    #:use-module (gnu packages xorg)
>    #:use-module (gnu packages)
>    #:use-module (guix build-system cmake)
> +  #:use-module (guix build-system copy)
>    #:use-module (guix build-system gnu)
>    #:use-module (guix download)
>    #:use-module (guix git-download)
> @@ -526,6 +527,16 @@ functionality.")
>                        (url "https://review.jami.net/ring-lrc")
>                        (commit commit)))
>                  (file-name (git-file-name name version))
> +                (modules '((guix build utils)))
> +                ;; The chatview is a common code among Jami clients.
> +                ;; Since Guix likes functional design, I'm removing
> +                ;; the directory containing it and making it a new
> +                ;; package. The other reason is that there is no
> +                ;; any rule in the build system to check if it is
> +                ;; included.
> +                (snippet
> +                 '(begin
> +                    (delete-file-recursively "src/web-chatview")))
>                  (sha256
>                   (base32
>                    "1s1wi80drabfjhvxbiyl8k9c2jsafvmx5v84s3wldsmmdg4f6xdf"))))
> @@ -542,6 +553,21 @@ functionality.")
>                                (assoc-ref %build-inputs "libring") "/include"))
>           #:phases
>           (modify-phases %standard-phases
> +           (add-after 'unpack 'do-not-install-chatview
> +             (lambda _
> +               (substitute* "CMakeLists.txt"
> +                 (("src/web-chatview/.eslintrc.json") "")
> +                 (("src/web-chatview/chatview-gnome.css") "")
> +                 (("src/web-chatview/chatview.css") "")
> +                 (("src/web-chatview/chatview.html") "")
> +                 (("src/web-chatview/chatview.js") "")
> +                 (("src/web-chatview/jed.js") "")
> +                 (("src/web-chatview/linkify-html.js") "")
> +                 (("src/web-chatview/linkify-string.js") "")
> +                 (("src/web-chatview/linkify.js") "")
> +                 (("src/web-chatview/qwebchannel.js") "")
> +                 (("src/web-chatview/web.gresource.xml") ""))
> +               #t))
>             (add-before 'configure 'fix-dbus-interfaces-path
>               (lambda* (#:key inputs #:allow-other-keys)
>                 (substitute* "CMakeLists.txt"
> @@ -558,6 +584,40 @@ This package provides a library common to all Jami clients.")
>        (home-page "https://jami.net")
>        (license license:gpl3+))))
>  
> +(define-public jami-chatview
> +  (let ((commit "0a790d86a20ae80e5d2ee0d35452fa77cfb8cc40")
> +        (revision "0"))
> +    (package
> +      (name "jami-chatview")
> +      (version (git-version %jami-version revision commit))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://review.jami.net/jami-chatview")
> +                      (commit commit)))

This doesn't seem to be the canonical place to get the latest chatview.
Rather, it lives in the LRC repo [0]. It was copied there sometime in 2019,
and no new commit were made to the repo you used above since.

[0]  https://git.jami.net/savoirfairelinux/ring-lrc/commits/master/src/web-chatview

> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                  "1zb3qa1x37kclbgk4wdg6qp4ivr6513ypj8s4k0qjps7h2clgna8"))))
> +      (build-system copy-build-system)
> +      (arguments
> +       '(#:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'allow-copying
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               ;; Permissions of this file are not right.
> +               ;; Let's change this to allow installing it properly.
> +               (chmod ".eslintrc.json" #o644)
> +               #t)))
> +         #:install-plan '(("." "include/libringclient/web-chatview")
> +                          (".eslintrc.json"
> +                           "include/libringclient/web-chatview/.eslintrc.json"))))
> +      (synopsis "Chatview for Jami")
> +      (description "Web chatview for Jami - html, css, js files.
> +It provides some common code for Jami clients.")
> +      (home-page "https://jami.net")
> +      (license license:gpl3+))))
> +
>  (define-public jami
>    (let ((commit "85cda2e1fde84230f6b9f5419f9ec1e23867c2a1")
>          (revision "0"))
> @@ -570,6 +630,11 @@ This package provides a library common to all Jami clients.")
>                        (url "https://review.jami.net/ring-client-gnome")
>                        (commit commit)))
>                  (file-name (git-file-name name version))
> +                (modules '((guix build utils)))
> +                ;; The web directory contains links to nowhere
> +                (snippet
> +                 '(begin
> +                    (delete-file-recursively "web")))
>                  (sha256
>                   (base32
>                    "0xzcx8x04yc8m8b2vf7sxfgw79idbm0hifzaw4s2vh26hyy9sp2g"))))
> @@ -584,6 +649,8 @@ This package provides a library common to all Jami clients.")
>           ("clutter-gtk" ,clutter-gtk)
>           ("libcanberra" ,libcanberra)
>           ("libnm" ,network-manager)
> +         ("jami-chatview" ,jami-chatview)
> +         ("qtbase" ,qtbase)
>           ("webkitgtk" ,webkitgtk)
>           ("sqlite" ,sqlite)))
>        (native-inputs
> @@ -596,7 +663,18 @@ This package provides a library common to all Jami clients.")
>           ("adwaita-icon-theme" ,adwaita-icon-theme)
>           ("evolution-data-server" ,evolution-data-server)))
>        (arguments
> -       `(#:tests? #f)) ; There is no testsuite.
> +       `(#:tests? #f ; There is no testsuite.
> +         #:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'copy-chatview-files
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               (let ((chatview
> +                      (string-append
> +                       (assoc-ref inputs "jami-chatview")
> +                       "/include/libringclient/web-chatview"))
> +                     (destination-dir "web"))
> +                 (copy-recursively chatview destination-dir))
> +               #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

As I understand it, jami-chatview is *not* maintained as a distinct
component upstream, hence it makes little sense to maintain it as one in
Guix: it'd burden us with maintaining it, with little to no gain.  IIUC,
all we need is to symlink the web-chatview from the lrc package, which
every Jami clients will already depend on.

The suggestion I'd make to upstream is to *install* those files as part
of a LRC installation (somewhere under share/), and then have the build
system check for their presence at configure time and use them directly.

Does that make sense?

Maxim




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files.
  2020-08-04  4:40     ` maxim.cournoyer
@ 2020-08-04 13:02       ` Jan Wielkiewicz
  0 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-08-04 13:02 UTC (permalink / raw)
  To: maxim.cournoyer; +Cc: 42229

Dnia 2020-08-04, o godz. 00:40:25
maxim.cournoyer@gmail.com napisał(a):

> Hello Jan!

Hi!

> This doesn't seem to be the canonical place to get the latest
> chatview. Rather, it lives in the LRC repo [0]. It was copied there
> sometime in 2019, and no new commit were made to the repo you used
> above since.
Didn't notice that, thanks. I was too busy looking for the source of
the pjproject bug.

> [0]
> https://git.jami.net/savoirfairelinux/ring-lrc/commits/master/src/web-chatview
> 
> As I understand it, jami-chatview is *not* maintained as a distinct
> component upstream, hence it makes little sense to maintain it as one
> in Guix: it'd burden us with maintaining it, with little to no gain.
> IIUC, all we need is to symlink the web-chatview from the lrc
> package, which every Jami clients will already depend on.
I was hoping Jami developers will make it a separate package or at
least add some CMake rules to install it properly, but they're busy
doing other things. The problem is it is file when installing from
a tarball, but libringclient fetched from git only contains symlinks in
./webchat pointing to a higher directory "../../" - this doesn't make
sense outside of the context of tarball or source fetched to right
directories.

> The suggestion I'd make to upstream is to *install* those files as
> part of a LRC installation (somewhere under share/), and then have
> the build system check for their presence at configure time and use
> them directly.
> 
> Does that make sense?
Yes. I'm lazily refactoring my code allowing fetching from git - I made
a diff of directories of Jami built from tarball and from git and I
exactly know where to place webchat. I'll just fix the libringclient
package.

> Maxim

Thanks
Jan Wielkiewicz




^ permalink raw reply	[flat|nested] 42+ messages in thread

* [bug#42229] [PATCH 5/9] gnu: pjproject-jami: Make sure phases are run in order.
  2020-08-04  4:20     ` maxim.cournoyer
@ 2020-08-04 13:05       ` Jan Wielkiewicz
  0 siblings, 0 replies; 42+ messages in thread
From: Jan Wielkiewicz @ 2020-08-04 13:05 UTC (permalink / raw)
  To: maxim.cournoyer; +Cc: 42229

Dnia 2020-08-04, o godz. 00:20:35
maxim.cournoyer@gmail.com napisał(a):

> Hi Jan,
> 
> Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:
> 
> I made some changes to our base pjproject and could simplify the
> definition of pjproject-jami to only adding the apply-patches phase.
> The phase is sequenced like above.
Nice, pjproject was too complicated for me to handle. Does the package
work now? I mean vanilla pjproject, it didn't work without jami patches
and settings before.

> 
> Let me know if you spot any issue with that work :-).
It's Jami, if it works, it means something failed :)
I'll try it.

> Maxim


Jan Wielkiewicz




^ permalink raw reply	[flat|nested] 42+ messages in thread

* bug#42229: [PATCH 0/9] Jami update and refactor
  2020-07-06 15:34 [bug#42229] [PATCH 0/9] Jami update and refactor Jan Wielkiewicz
                   ` (2 preceding siblings ...)
  2020-07-12 16:00 ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
@ 2021-03-31  5:27 ` Maxim Cournoyer
  3 siblings, 0 replies; 42+ messages in thread
From: Maxim Cournoyer @ 2021-03-31  5:27 UTC (permalink / raw)
  To: Jan Wielkiewicz; +Cc: 42229-done

Hi Jan,

Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> writes:

> Hi,
>
> these commits update Jami to 20200702, switch fetch method to git,
> because the tarballs were unstable, add missing inputs and that's
> it.
>
> Jan Wielkiewicz (9):
>   gnu: libring: Fetch from git, update to 20200702-guix.
>   gnu: libringclient: Fetch from git, update to 20200702-guix.
>   gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply
>     patches from the new libring source.
>   gnu: jami: Fetch from git, update to 20200702-guix.
>   gnu: pjproject-jami: Make sure phases are run in order.
>   gnu: jami: Add libnm as input.
>   gnu: libringclient: Do not propagate qtbase in libringclient.
>   gnu: jami: Fix compilation by providing necessary webchat files.
>   gnu: pjproject-jami: Fix assertion by disabling debugging.
>
>  gnu/packages/jami.scm | 285 ++++++++++++++++++++++++++++--------------
>  1 file changed, 189 insertions(+), 96 deletions(-)
>
>
> Jan Wielkiewicz

I think most items of value here were already merged; for a more recent
update, see a fresh patch set here: http://issues.guix.gnu.org/47513.
It adds jami-qt as well!

Feedback welcome.

I'm closing this one.

Thanks!

Maxim




^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2021-03-31  5:28 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-06 15:34 [bug#42229] [PATCH 0/9] Jami update and refactor Jan Wielkiewicz
2020-07-06 15:50 ` [bug#42229] [PATCH 1/9] gnu: libring: Fetch from git, update to 20200702-guix Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 2/9] gnu: libringclient: " Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 3/9] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 4/9] gnu: jami: Fetch from git, update to 20200702-guix Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 5/9] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
2020-08-04  4:20     ` maxim.cournoyer
2020-08-04 13:05       ` Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 6/9] gnu: jami: Add libnm as input Jan Wielkiewicz
2020-07-06 21:24     ` Christopher Baines
2020-07-10 18:03       ` Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 7/9] gnu: libringclient: Do not propagate qtbase in libringclient Jan Wielkiewicz
2020-07-06 20:56     ` Christopher Baines
2020-07-07 23:13       ` Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 8/9] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
2020-07-06 21:19     ` Christopher Baines
2020-07-07 21:22       ` Jan Wielkiewicz
2020-07-08 19:14         ` Christopher Baines
2020-07-07 23:07       ` Jan Wielkiewicz
2020-08-04  4:40     ` maxim.cournoyer
2020-08-04 13:02       ` Jan Wielkiewicz
2020-07-06 15:50   ` [bug#42229] [PATCH 9/9] gnu: pjproject-jami: Fix assertion by disabling debugging Jan Wielkiewicz
2020-07-10 18:32 ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 02/10] gnu: libringclient: Fetch from git, update to 20200702-guix Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 03/10] gnu: jami-apply-dependency-patches, ffmpeg-jami, pjproject-jami: Apply patches from the new libring source Jan Wielkiewicz
2020-07-11 19:52     ` Christopher Baines
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 04/10] gnu: jami: Fetch from git, update to 20200702-guix Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 05/10] gnu: pjproject-jami: Make sure phases are run in order Jan Wielkiewicz
2020-07-11 19:57     ` Christopher Baines
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 06/10] gnu: jami: Add libnm as input Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 07/10] gnu: jami: Fix compilation by providing necessary webchat files Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 08/10] gnu: pjproject-jami: Fix assertion by disabling debugging Jan Wielkiewicz
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 09/10] gnu: opendht: Fix libring compilation Jan Wielkiewicz
2020-07-11 20:12     ` Christopher Baines
2020-07-10 18:32   ` [bug#42229] [[PATCH V2] 10/10] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
2020-07-11 19:51   ` [bug#42229] [[PATCH V2] 01/10] gnu: libring: Fetch from git, update to 20200708-guix Christopher Baines
2020-07-12 16:00 ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Jan Wielkiewicz
2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 2/4] gnu: opendht: Fix compilation of software using this package Jan Wielkiewicz
2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 3/4] gnu: jami: Bump to 20200710.1.6bd18d2 Jan Wielkiewicz
2020-07-12 16:00   ` [bug#42229] [[PATCH v3] 4/4] gnu: pjproject-jami: Fix assertion bug Jan Wielkiewicz
2020-07-12 19:36   ` [bug#42229] [[PATCH v3] 1/4] gnu: jami-client-gnome: Remove deprecated package Christopher Baines
2021-03-31  5:27 ` bug#42229: [PATCH 0/9] Jami update and refactor Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).