GNU bug report logs - #40677
Jami

Previous Next

Package: guix-patches;

Reported by: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>

Date: Fri, 17 Apr 2020 00:02:01 UTC

Severity: normal

Done: Mathieu Othacehe <othacehe <at> gnu.org>

Bug is archived. No further changes may be made.

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

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

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


Report forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:02:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 17 Apr 2020 00:02:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: guix-patches <at> gnu.org
Subject: Jami
Date: Fri, 17 Apr 2020 02:00:29 +0200
Hello,

these commits are mainly updates, some improvements, I don't remember
it's late here :D


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 01/30] gnu: jami: Move Jami and its dependencies to jami.scm.
Date: Fri, 17 Apr 2020 02:34:04 +0200
---
 gnu/packages/jami.scm      | 350 +++++++++++++++++++++++++++++++++++++
 gnu/packages/telephony.scm | 291 ------------------------------
 2 files changed, 350 insertions(+), 291 deletions(-)
 create mode 100644 gnu/packages/jami.scm

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
new file mode 100644
index 0000000000..cca420971c
--- /dev/null
+++ b/gnu/packages/jami.scm
@@ -0,0 +1,350 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
+;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages jami)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages crypto)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libcanberra)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages networking)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages serialization)
+  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages upnp)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages webkit)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix packages))
+
+(define %jami-version "20191101.3.67671e7")
+
+(define* (jami-source #:key without-daemon)
+  (origin
+    (method url-fetch)
+    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
+                        %jami-version
+                        ".tar.gz"))
+    (modules '((guix build utils)))
+    (snippet
+     (if without-daemon
+         '(begin
+            (delete-file-recursively "daemon/contrib"))
+         #f))
+    (sha256
+     (base32
+      "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
+
+(define-public pjproject-jami
+  (package
+    (inherit pjproject)
+    (name "pjproject-jami")
+    (native-inputs
+     `(("savoir-faire-linux-patches" ,(jami-source))
+       ,@(package-native-inputs pjproject)))
+    (arguments
+     `(#:tests? #f
+       ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
+       #:configure-flags
+       (list "--disable-oss"
+             "--disable-sound"
+             "--disable-video"
+             "--enable-ext-sound"
+             "--disable-speex-aec"
+             "--disable-g711-codec"
+             "--disable-l16-codec"
+             "--disable-gsm-codec"
+             "--disable-g722-codec"
+             "--disable-g7221-codec"
+             "--disable-speex-codec"
+             "--disable-ilbc-codec"
+             "--disable-opencore-amr"
+             "--disable-silk"
+             "--disable-sdl"
+             "--disable-ffmpeg"
+             "--disable-v4l2"
+             "--disable-openh264"
+             "--disable-resample"
+             "--disable-libwebrtc"
+             "--with-gnutls"
+             "--with-external-srtp"
+             ;; We need -fPIC or else we get the following error when linking
+             ;; against pjproject-jami:
+             ;;   relocation R_X86_64_32S against `.rodata' can not be used when
+             ;;   making a shared object;
+             "CFLAGS=-fPIC"
+             "CXXFLAGS=-fPIC")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-git-checkout-writable
+           (lambda _
+             (for-each make-file-writable (find-files "."))
+             #t))
+         (add-after 'unpack 'apply-patches
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
+                   ;; Comes from
+                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
+                   ;; WARNING: These amount for huge changes in pjproject.
+                   (savoir-faire-linux-patches
+                    '("fix_turn_alloc_failure"
+                      "rfc2466"
+                      "ipv6"
+                      "multiple_listeners"
+                      "pj_ice_sess"
+                      "fix_turn_fallback"
+                      "fix_ioqueue_ipv6_sendto"
+                      "add_dtls_transport"
+                      "rfc6544"
+                      "ice_config"
+                      "sip_config"
+                      "fix_first_packet_turn_tcp"
+                      "fix_ebusy_turn"
+                      "ignore_ipv6_on_transport_check"
+                      "fix_turn_connection_failure"
+                      ;; "uwp_vs" ; for windows
+                      "disable_local_resolution")))
+               (mkdir-p savoir-faire-linux-patches-directory)
+               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
+                       "-C" savoir-faire-linux-patches-directory
+                       "--strip-components=5"
+                       "ring-project/daemon/contrib/src/pjproject")
+               (for-each
+                (lambda (file)
+                  (invoke "patch" "--force" "-p1" "-i"
+                          (string-append savoir-faire-linux-patches-directory "/"
+                                         file ".patch")))
+                savoir-faire-linux-patches))
+             #t))
+         ;; TODO: We could use substitute-keyword-arguments instead of
+         ;; repeating the phases from pjproject, but somehow it does
+         ;; not work.
+         (add-before 'build 'build-dep
+           (lambda _ (invoke "make" "dep")))
+         (add-before 'patch-source-shebangs 'autoconf
+           (lambda _
+             (invoke "autoconf" "-v" "-f" "-i" "-o"
+                     "aconfigure" "aconfigure.ac")))
+         (add-before 'autoconf 'disable-some-tests
+           ;; Three of the six test programs fail due to missing network
+           ;; access.
+           (lambda _
+             (substitute* "Makefile"
+               (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
+                "selftest: pjlib-test pjlib-util-test pjmedia-test"))
+             #t)))))))
+
+(define-public libring
+  (package
+    (name "libring")
+    (version %jami-version)
+    (source (jami-source #:without-daemon #t))
+    (build-system gnu-build-system)
+    (inputs
+     ;; Missing (optional?) dep: libnatpmp.
+     `(("alsa-lib" ,alsa-lib)
+       ("boost" ,boost)
+       ("dbus-c++" ,dbus-c++)
+       ("eudev" ,eudev)
+       ("ffmpeg" ,ffmpeg)
+       ("flac" ,flac)
+       ("gmp" ,gmp)
+       ("gsm" ,gsm)
+       ("jack" ,jack-1)
+       ("jsoncpp" ,jsoncpp)
+       ("libogg" ,libogg)
+       ("libva" ,libva)
+       ("opendht" ,opendht)
+       ("opus" ,opus)
+       ("pcre" ,pcre)
+       ("pulseaudio" ,pulseaudio)
+       ("libsamplerate" ,libsamplerate)
+       ("libsndfile" ,libsndfile)
+       ("speex" ,speex)
+       ("speexdsp" ,speexdsp)
+       ("libupnp" ,libupnp)
+       ("libvorbis" ,libvorbis)
+       ("libx264" ,libx264)
+       ("libvdpau" ,libvdpau)
+       ("yaml-cpp" ,yaml-cpp)
+       ("zlib" ,zlib)
+       ("openssl" ,openssl)
+       ("libsecp256k1" ,libsecp256k1)
+       ("python" ,python)
+       ("python-wrapper" ,python-wrapper)
+       ("restinio" ,restinio)
+       ("libx11" ,libx11)
+       ("asio" ,asio)
+       ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
+       ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
+       ("pjproject" ,pjproject-jami)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)
+       ("cppunit" ,cppunit)
+       ("perl" ,perl)))                 ; Needed for documentation.
+    (arguments
+     `(#: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")
+             #t)))))
+    (synopsis "Distributed multimedia communications platform")
+    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
+video and chat communication platform that requires no centralized server and
+leaves the power of privacy in the hands of the user.  It supports the SIP and
+IAX protocols, as well as decentralized calling using P2P-DHT.
+
+This package provides a library and daemon implementing the Jami core
+functionality.")
+    (home-page "https://jami.net/")
+    (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,
+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+)))
+
+(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)
+       ("gettext" ,gnu-gettext)
+       ("libcanberra" ,libcanberra)
+       ("webkitgtk" ,webkitgtk)
+       ;; TODO: We must wrap ring-client-gnome to force using the
+       ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
+       ;; fails with:
+       ;;
+       ;;   /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
+       ;;   undefined symbol: sqlite3_column_table_name16
+       ;;
+       ;; qtbase is built against sqlite-with-column-metadata but somehow
+       ;; jami-client-gnome ends up with both `sqlite' and
+       ;; `sqlite-with-column-metadata' as inputs and it seems that
+       ;; libqsqlite.so gets confused.
+       ("sqlite" ,sqlite-with-column-metadata)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("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))
+         (add-after 'install 'wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (path (string-append (assoc-ref inputs "sqlite") "/lib")))
+               (wrap-program (string-append out "/bin/jami-gnome")
+                 `("LD_LIBRARY_PATH" ":" prefix (,path))))
+             #t)))))
+    (synopsis "Distributed, privacy-respecting communication program")
+    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
+video and chat communication platform that requires no centralized server and
+leaves the power of privacy in the hands of the user.  It supports the SIP and
+IAX protocols, as well as decentralized calling using P2P-DHT.
+
+This package provides the Jami client for the GNOME desktop.")
+    (home-page "https://jami.net")
+    (license license:gpl3+)))
+
+(define-public jami-client-gnome
+  (deprecated-package "jami-client-gnome" jami))
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 85c2f2ab5e..62bd8fd548 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -730,297 +730,6 @@ calls and messages")
 Initiation Protocol (SIP) and a multimedia framework.")
     (license license:gpl2+)))
 
-(define %jami-version "20191101.3.67671e7")
-
-(define* (jami-source #:key without-daemon)
-  (origin
-    (method url-fetch)
-    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
-                        %jami-version
-                        ".tar.gz"))
-    (modules '((guix build utils)))
-    (snippet
-     (if without-daemon
-       '(begin
-          (delete-file-recursively "daemon/contrib"))
-       #f))
-    (sha256
-     (base32
-      "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
-
-(define-public pjproject-jami
-  (package
-    (inherit pjproject)
-    (name "pjproject-jami")
-    (native-inputs
-     `(("savoir-faire-linux-patches" ,(jami-source))
-       ,@(package-native-inputs pjproject)))
-    (arguments
-     `(#:tests? #f
-       ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
-       #:configure-flags
-       (list "--disable-oss"
-             "--disable-sound"
-             "--disable-video"
-             "--enable-ext-sound"
-             "--disable-speex-aec"
-             "--disable-g711-codec"
-             "--disable-l16-codec"
-             "--disable-gsm-codec"
-             "--disable-g722-codec"
-             "--disable-g7221-codec"
-             "--disable-speex-codec"
-             "--disable-ilbc-codec"
-             "--disable-opencore-amr"
-             "--disable-silk"
-             "--disable-sdl"
-             "--disable-ffmpeg"
-             "--disable-v4l2"
-             "--disable-openh264"
-             "--disable-resample"
-             "--disable-libwebrtc"
-             "--with-gnutls"
-             "--with-external-srtp"
-             ;; We need -fPIC or else we get the following error when linking
-             ;; against pjproject-jami:
-             ;;   relocation R_X86_64_32S against `.rodata' can not be used when
-             ;;   making a shared object;
-             "CFLAGS=-fPIC"
-             "CXXFLAGS=-fPIC")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-git-checkout-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (add-after 'unpack 'apply-patches
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
-                   ;; Comes from
-                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
-                   ;; WARNING: These amount for huge changes in pjproject.
-                   (savoir-faire-linux-patches
-                    '("fix_turn_alloc_failure"
-                      "rfc2466"
-                      "ipv6"
-                      "multiple_listeners"
-                      "pj_ice_sess"
-                      "fix_turn_fallback"
-                      "fix_ioqueue_ipv6_sendto"
-                      "add_dtls_transport"
-                      "rfc6544"
-                      "ice_config"
-                      "sip_config"
-                      "fix_first_packet_turn_tcp"
-                      "fix_ebusy_turn"
-                      "ignore_ipv6_on_transport_check"
-                      "fix_turn_connection_failure"
-                      ;; "uwp_vs" ; for windows
-                      "disable_local_resolution")))
-               (mkdir-p savoir-faire-linux-patches-directory)
-               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
-                       "-C" savoir-faire-linux-patches-directory
-                       "--strip-components=5"
-                       "ring-project/daemon/contrib/src/pjproject")
-               (for-each
-                (lambda (file)
-                  (invoke "patch" "--force" "-p1" "-i"
-                          (string-append savoir-faire-linux-patches-directory "/"
-                                         file ".patch")))
-                savoir-faire-linux-patches))
-             #t))
-         ;; TODO: We could use substitute-keyword-arguments instead of
-         ;; repeating the phases from pjproject, but somehow it does
-         ;; not work.
-         (add-before 'build 'build-dep
-           (lambda _ (invoke "make" "dep")))
-         (add-before 'patch-source-shebangs 'autoconf
-           (lambda _
-             (invoke "autoconf" "-v" "-f" "-i" "-o"
-                     "aconfigure" "aconfigure.ac")))
-         (add-before 'autoconf 'disable-some-tests
-           ;; Three of the six test programs fail due to missing network
-           ;; access.
-           (lambda _
-             (substitute* "Makefile"
-               (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
-                "selftest: pjlib-test pjlib-util-test pjmedia-test"))
-             #t)))))))
-
-(define-public libring
-  (package
-    (name "libring")
-    (version %jami-version)
-    (source (jami-source #:without-daemon #t))
-    (build-system gnu-build-system)
-    (inputs
-     ;; Missing (optional?) dep: libnatpmp.
-     `(("alsa-lib" ,alsa-lib)
-       ("boost" ,boost)
-       ("dbus-c++" ,dbus-c++)
-       ("eudev" ,eudev)
-       ("ffmpeg" ,ffmpeg)
-       ("flac" ,flac)
-       ("gmp" ,gmp)
-       ("gsm" ,gsm)
-       ("jack" ,jack-1)
-       ("jsoncpp" ,jsoncpp)
-       ("libogg" ,libogg)
-       ("libva" ,libva)
-       ("opendht" ,opendht)
-       ("opus" ,opus)
-       ("pcre" ,pcre)
-       ("pulseaudio" ,pulseaudio)
-       ("libsamplerate" ,libsamplerate)
-       ("libsndfile" ,libsndfile)
-       ("speex" ,speex)
-       ("speexdsp" ,speexdsp)
-       ("libupnp" ,libupnp)
-       ("libvorbis" ,libvorbis)
-       ("libx264" ,libx264)
-       ("libvdpau" ,libvdpau)
-       ("yaml-cpp" ,yaml-cpp)
-       ("zlib" ,zlib)
-       ("openssl" ,openssl)
-       ("libsecp256k1" ,libsecp256k1)
-       ("python" ,python)
-       ("python-wrapper" ,python-wrapper)
-       ("restinio" ,restinio)
-       ("libx11" ,libx11)
-       ("asio" ,asio)
-       ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
-       ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
-       ("pjproject" ,pjproject-jami)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)
-       ("pkg-config" ,pkg-config)
-       ("which" ,which)
-       ("cppunit" ,cppunit)
-       ("perl" ,perl)))                 ; Needed for documentation.
-    (arguments
-     `(#: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")
-             #t)))))
-    (synopsis "Distributed multimedia communications platform")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides a library and daemon implementing the Jami core
-functionality.")
-    (home-page "https://jami.net/")
-    (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,
-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+)))
-
-(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)
-       ;; TODO: We must wrap ring-client-gnome to force using the
-       ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
-       ;; fails with:
-       ;;
-       ;;   /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
-       ;;   undefined symbol: sqlite3_column_table_name16
-       ;;
-       ;; qtbase is built against sqlite-with-column-metadata but somehow
-       ;; jami-client-gnome ends up with both `sqlite' and
-       ;; `sqlite-with-column-metadata' as inputs and it seems that
-       ;; libqsqlite.so gets confused.
-       ("sqlite" ,sqlite-with-column-metadata)))
-    (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))
-         (add-after 'install 'wrap
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (path (string-append (assoc-ref inputs "sqlite") "/lib")))
-               (wrap-program (string-append out "/bin/jami-gnome")
-                 `("LD_LIBRARY_PATH" ":" prefix (,path))))
-             #t)))))
-    (synopsis "Distributed, privacy-respecting communication program")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides the Jami client for the GNOME desktop.")
-    (home-page "https://jami.net")
-    (license license:gpl3+)))
-
-(define-public jami-client-gnome
-  (deprecated-package "jami-client-gnome" jami))
-
 (define-public libtgvoip
   (package
     (name "libtgvoip")
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 02/30] gnu: jami: Bump to 20200203.1.5ee7e10.
Date: Fri, 17 Apr 2020 02:34:05 +0200
---
 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 cca420971c..0e6218c4a0 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -58,7 +58,7 @@
   #:use-module (guix git-download)
   #:use-module (guix packages))
 
-(define %jami-version "20191101.3.67671e7")
+(define %jami-version "20200203.1.5ee7e10")
 
 (define* (jami-source #:key without-daemon)
   (origin
@@ -74,7 +74,7 @@
          #f))
     (sha256
      (base32
-      "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
+      "0kx0y9jxyhgj6id6n3xxpm54i6b8dqyx9vxwkx505jvhlbxd2x7x"))))
 
 (define-public pjproject-jami
   (package
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:03 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 03/30] gnu: jami: Fix downloading by changing the prefix to
 "jami_"; Use the "release" dir instead of the deprecated "ring-release".
Date: Fri, 17 Apr 2020 02:34:06 +0200
---
 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 0e6218c4a0..8601ad718d 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -63,7 +63,7 @@
 (define* (jami-source #:key without-daemon)
   (origin
     (method url-fetch)
-    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
+    (uri (string-append "https://dl.jami.net/release/tarballs/jami_"
                         %jami-version
                         ".tar.gz"))
     (modules '((guix build utils)))
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:04 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 04/30] gnu: jami: Add a generalized procedure for applying
 patches made by Savoir-faire linux to Jami dependencies.
Date: Fri, 17 Apr 2020 02:34:07 +0200
---
 gnu/packages/jami.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 8601ad718d..27f6ff26f5 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -76,6 +76,22 @@
      (base32
       "0kx0y9jxyhgj6id6n3xxpm54i6b8dqyx9vxwkx505jvhlbxd2x7x"))))
 
+(define-public jami-apply-dependency-patches
+  '(lambda* (#:key inputs dep-name patches)
+     (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches"))
+       (mkdir-p savoir-faire-linux-patches-directory)
+       (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
+               "-C" savoir-faire-linux-patches-directory
+               "--strip-components=5"
+               (string-append "ring-project/daemon/contrib/src/"
+                              dep-name))
+       (for-each
+        (lambda (file)
+          (invoke "patch" "--force" "-p1" "-i"
+                  (string-append savoir-faire-linux-patches-directory "/"
+                                 file ".patch")))
+        patches))))
+
 (define-public pjproject-jami
   (package
     (inherit pjproject)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:05 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 05/30] gnu: pjproject-jami: Use the
 jami-apply-dependency-patches procedure.
Date: Fri, 17 Apr 2020 02:34:08 +0200
---
 gnu/packages/jami.scm | 60 +++++++++++++++++++------------------------
 1 file changed, 26 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 27f6ff26f5..b165335e26 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -131,6 +131,8 @@
              ;;   making a shared object;
              "CFLAGS=-fPIC"
              "CXXFLAGS=-fPIC")
+       #:modules ((guix build utils)
+		  ,@(@@ (guix build-system gnu) %default-modules))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'make-git-checkout-writable
@@ -139,40 +141,30 @@
              #t))
          (add-after 'unpack 'apply-patches
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
-                   ;; Comes from
-                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
-                   ;; WARNING: These amount for huge changes in pjproject.
-                   (savoir-faire-linux-patches
-                    '("fix_turn_alloc_failure"
-                      "rfc2466"
-                      "ipv6"
-                      "multiple_listeners"
-                      "pj_ice_sess"
-                      "fix_turn_fallback"
-                      "fix_ioqueue_ipv6_sendto"
-                      "add_dtls_transport"
-                      "rfc6544"
-                      "ice_config"
-                      "sip_config"
-                      "fix_first_packet_turn_tcp"
-                      "fix_ebusy_turn"
-                      "ignore_ipv6_on_transport_check"
-                      "fix_turn_connection_failure"
-                      ;; "uwp_vs" ; for windows
-                      "disable_local_resolution")))
-               (mkdir-p savoir-faire-linux-patches-directory)
-               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
-                       "-C" savoir-faire-linux-patches-directory
-                       "--strip-components=5"
-                       "ring-project/daemon/contrib/src/pjproject")
-               (for-each
-                (lambda (file)
-                  (invoke "patch" "--force" "-p1" "-i"
-                          (string-append savoir-faire-linux-patches-directory "/"
-                                         file ".patch")))
-                savoir-faire-linux-patches))
-             #t))
+             (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
+               ;; Comes from
+               ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
+               ;; WARNING: These amount for huge changes in pjproject.
+               (jami-apply-dependency-patches #:inputs inputs
+                                              #:dep-name "pjproject"
+                                              #:patches
+                                              '("fix_turn_alloc_failure"
+                                                "rfc2466"
+                                                "ipv6"
+                                                "multiple_listeners"
+                                                "pj_ice_sess"
+                                                "fix_turn_fallback"
+                                                "fix_ioqueue_ipv6_sendto"
+                                                "add_dtls_transport"
+                                                "rfc6544"
+                                                "ice_config"
+                                                "sip_config"
+                                                "fix_first_packet_turn_tcp"
+                                                "fix_ebusy_turn"
+                                                "ignore_ipv6_on_transport_check"
+                                                "fix_turn_connection_failure"
+                                                "disable_local_resolution"))
+               #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
          ;; not work.
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:05 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 06/30] gnu: Add libnatpmp.
Date: Fri, 17 Apr 2020 02:34:09 +0200
---
 gnu/packages/networking.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f754683bb9..adcb341a29 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -374,6 +374,32 @@ between different versions of ØMQ.")
 files contain direct mappings of the abstractions provided by the ØMQ C API.")
     (license license:expat)))
 
+(define-public libnatpmp
+  (package
+    (name "libnatpmp")
+    (version "20150609")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://miniupnp.free.fr/files/"
+                    name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'check))
+       #:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
+    (home-page "http://miniupnp.free.fr/libnatpmp.html")
+    (synopsis "C Library implementing NAT-PMP")
+    (description
+     "libnatpmp is a portable and asynchronous implementaiton of the NAT Port Mapping Protocol (NAT-PMP) written in C.")
+    (license license:bsd-3)))
+
 (define-public librdkafka
   (package
     (name "librdkafka")
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:06 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 07/30] gnu: libring: Add libnatpmp as an optional dependency;
 remove unnecessary comment.
Date: Fri, 17 Apr 2020 02:34:10 +0200
---
 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 b165335e26..21872122e1 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -190,7 +190,6 @@
     (source (jami-source #:without-daemon #t))
     (build-system gnu-build-system)
     (inputs
-     ;; Missing (optional?) dep: libnatpmp.
      `(("alsa-lib" ,alsa-lib)
        ("boost" ,boost)
        ("dbus-c++" ,dbus-c++)
@@ -201,6 +200,7 @@
        ("gsm" ,gsm)
        ("jack" ,jack-1)
        ("jsoncpp" ,jsoncpp)
+       ("libnatpmp" ,libnatpmp)
        ("libogg" ,libogg)
        ("libva" ,libva)
        ("opendht" ,opendht)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:06 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 08/30] gnu: libupnp: Bump to 1.8.6;
 change the download method to git-fetch; add missing dependencies.
Date: Fri, 17 Apr 2020 02:34:11 +0200
---
 gnu/packages/upnp.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm
index 8f3c887a68..be75b9068f 100644
--- a/gnu/packages/upnp.scm
+++ b/gnu/packages/upnp.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages photo)
   #:use-module (gnu packages image)
   #:use-module (gnu packages mp3)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages python)
@@ -92,15 +93,21 @@ over IRC, instant messaging, network games, and most server software.")
 (define-public libupnp
   (package
     (name "libupnp")
-    (version "1.6.25")
+    (version "1.8.6")
     (source
      (origin
-      (method url-fetch)
-      (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20"
-                          version "/" name "-" version ".tar.bz2"))
+      (method git-fetch)
+      (uri (git-reference
+	    (url "https://github.com/mrjimenez/pupnp.git")
+	    (commit (string-append "release-" version))))
       (sha256
        (base32
-        "0hzsd7rvfa87b4hxg9yj4xhdfxx9sp09r9sqdl3mqhvmcyw018y5"))))
+        "1jlb6qh47513h2simy0zxia5q61w1c31mnwmjqpr2nf832lmnpk4"))))
+       (native-inputs
+	`(("autoconf" ,autoconf)
+	  ("automake" ,automake)
+	  ("libtool" ,libtool)
+	  ("pkg-config" ,pkg-config)))
     (build-system gnu-build-system)
     (arguments
      ;; The tests require a network device capable of multicasting which is
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:07 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 09/30] gnu: opendht: Bump to 2.0.0rc1.
Date: Fri, 17 Apr 2020 02:34:12 +0200
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index adcb341a29..cc7fc1ea87 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2648,7 +2648,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
 (define-public opendht
   (package
     (name "opendht")
-    (version "2.0.0beta2")
+    (version "2.0.0rc1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2657,7 +2657,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "02ix0rvvyhq22gd5djcq84qz08ji7ln93faf23b27zjzni2klzv5"))))
+                "1adpdvpc7dwc973803nng3mkqn6x9k93xfsy59f1n5dnv5xmbg9w"))))
     ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
     (build-system cmake-build-system)
     (inputs
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:07 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 11/30] gnu: libring: Use ffmpeg-jami instead of ffmpeg.
Date: Fri, 17 Apr 2020 02:34:14 +0200
---
 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 de60c8bb15..362832f74a 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -432,7 +432,7 @@
        ("boost" ,boost)
        ("dbus-c++" ,dbus-c++)
        ("eudev" ,eudev)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-jami)
        ("flac" ,flac)
        ("gmp" ,gmp)
        ("gsm" ,gsm)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:08 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 10/30] gnu: Add ffmpeg-jami.
Date: Fri, 17 Apr 2020 02:34:13 +0200
---
 gnu/packages/jami.scm | 238 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 238 insertions(+)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 21872122e1..de60c8bb15 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -183,6 +183,244 @@
                 "selftest: pjlib-test pjlib-util-test pjmedia-test"))
              #t)))))))
 
+(define-public ffmpeg-jami
+  (package
+    (inherit ffmpeg)
+    (name "ffmpeg-jami")
+    (version "4.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.ffmpeg.org/ffmpeg.git")
+                    (commit "59da9dcd7ef6277e4e04998ced71b05a6083c635")))
+              (file-name (git-file-name "ffmpeg" version))
+              (sha256
+               (base32
+                "0cm58kd06lvslc7knnfajv5p63v4cc6502badjcic5m9izd03lz2"))))
+    (native-inputs
+     `(("savoir-faire-linux-patches" ,(jami-source))
+       ("libiconv" ,libiconv)
+       ,@(package-native-inputs ffmpeg)))
+    (arguments
+     (append
+      '(#:tests? #f)
+      (substitute-keyword-arguments (package-arguments ffmpeg)
+        ((#:configure-flags '())
+         (append '("--disable-everything"
+                   "--enable-zlib"
+                   "--enable-gpl"
+                   "--enable-swscale"
+                   "--enable-bsfs"
+                   "--disable-filters"
+                   "--disable-programs"
+                   "--disable-postproc"
+                   "--disable-protocols"
+                   "--enable-protocol=crypto"
+                   "--enable-protocol=file"
+                   "--enable-protocol=rtp"
+                   "--enable-protocol=srtp"
+                   "--enable-protocol=tcp"
+                   "--enable-protocol=udp"
+                   "--enable-protocol=unix"
+                   "--enable-protocol=pipe"
+		   ;; enable muxers/demuxers
+                   "--disable-demuxers"
+                   "--disable-muxers"
+                   "--enable-muxer=rtp"
+                   "--enable-muxer=g722"
+                   "--enable-muxer=h263"
+                   "--enable-muxer=h264"
+                   "--enable-muxer=hevc"
+                   "--enable-muxer=webm"
+                   "--enable-muxer=ogg"
+                   "--enable-muxer=pcm_s16be"
+                   "--enable-muxer=pcm_s16le"
+                   "--enable-demuxer=rtp"
+                   "--enable-demuxer=mjpeg"
+                   "--enable-demuxer=mjpeg_2000"
+                   "--enable-demuxer=mpegvideo"
+                   "--enable-demuxer=gif"
+                   "--enable-demuxer=image_jpeg_pipe"
+                   "--enable-demuxer=image_png_pipe"
+                   "--enable-demuxer=image_webp_pipe"
+                   "--enable-demuxer=matroska"
+                   "--enable-demuxer=m4v"
+                   "--enable-demuxer=mp3"
+                   "--enable-demuxer=ogg"
+                   "--enable-demuxer=flac"
+                   "--enable-demuxer=wav"
+                   "--enable-demuxer=ac3"
+                   "--enable-demuxer=g722"
+                   "--enable-demuxer=pcm_mulaw"
+                   "--enable-demuxer=pcm_alaw"
+                   "--enable-demuxer=pcm_s16be"
+                   "--enable-demuxer=pcm_s16le"
+                   "--enable-demuxer=h263"
+                   "--enable-demuxer=h264"
+                   "--enable-demuxer=hevc"
+		   ;; enable parsers
+                   "--enable-parser=h263"
+                   "--enable-parser=h264"
+                   "--enable-parser=mpeg4video"
+                   "--enable-parser=vp8"
+                   "--enable-parser=vp9"
+                   "--enable-parser=opus"
+		   ;; encoders/decoders
+                   "--enable-encoder=adpcm_g722"
+                   "--enable-decoder=adpcm_g722"
+                   "--enable-encoder=rawvideo"
+                   "--enable-decoder=rawvideo"
+                   "--enable-encoder=libx264"
+                   "--enable-decoder=h264"
+                   "--enable-encoder=pcm_alaw"
+                   "--enable-decoder=pcm_alaw"
+                   "--enable-encoder=pcm_mulaw"
+                   "--enable-decoder=pcm_mulaw"
+                   "--enable-encoder=mpeg4"
+                   "--enable-decoder=mpeg4"
+                   "--enable-encoder=libvpx_vp8"
+                   "--enable-decoder=vp8"
+                   "--enable-decoder=vp9"
+                   "--enable-encoder=h263"
+                   "--enable-encoder=h263p"
+                   "--enable-decoder=h263"
+                   "--enable-encoder=mjpeg"
+                   "--enable-decoder=mjpeg"
+                   "--enable-decoder=mjpegb"
+                   "--enable-libspeex"
+                   "--enable-libopus"
+                   "--enable-libvpx"
+                   "--enable-libx264"
+                   "--enable-encoder=libspeex"
+                   "--enable-decoder=libspeex"
+                   "--enable-encoder=libopus"
+                   "--enable-decoder=libopus"
+		   ;; decoders for ringtones and audio streaming
+                   "--enable-decoder=flac"
+                   "--enable-decoder=vorbis"
+                   "--enable-decoder=aac"
+                   "--enable-decoder=ac3"
+                   "--enable-decoder=eac3"
+                   "--enable-decoder=mp3"
+                   "--enable-decoder=pcm_u24be"
+                   "--enable-decoder=pcm_u24le"
+                   "--enable-decoder=pcm_u32be"
+                   "--enable-decoder=pcm_u32le"
+                   "--enable-decoder=pcm_u8"
+                   "--enable-decoder=pcm_f16le"
+                   "--enable-decoder=pcm_f24le"
+                   "--enable-decoder=pcm_f32be"
+                   "--enable-decoder=pcm_f32le"
+                   "--enable-decoder=pcm_f64be"
+                   "--enable-decoder=pcm_f64le"
+                   "--enable-decoder=pcm_s16be"
+                   "--enable-decoder=pcm_s16be_planar"
+                   "--enable-decoder=pcm_s16le"
+                   "--enable-decoder=pcm_s16le_planar"
+                   "--enable-decoder=pcm_s24be"
+                   "--enable-decoder=pcm_s24le"
+                   "--enable-decoder=pcm_s24le_planar"
+                   "--enable-decoder=pcm_s32be"
+                   "--enable-decoder=pcm_s32le"
+                   "--enable-decoder=pcm_s32le_planar"
+                   "--enable-decoder=pcm_s64be"
+                   "--enable-decoder=pcm_s64le"
+                   "--enable-decoder=pcm_s8"
+                   "--enable-decoder=pcm_s8_planar"
+                   "--enable-decoder=pcm_u16be"
+                   "--enable-decoder=pcm_u16le"
+		   ;; encoders/decoders for images
+                   "--enable-encoder=gif"
+                   "--enable-decoder=gif"
+                   "--enable-encoder=jpegls"
+                   "--enable-decoder=jpegls"
+                   "--enable-encoder=ljpeg"
+                   "--enable-decoder=jpeg2000"
+                   "--enable-encoder=png"
+                   "--enable-decoder=png"
+                   "--enable-encoder=bmp"
+                   "--enable-decoder=bmp"
+                   "--enable-encoder=tiff"
+                   "--enable-decoder=tiff"
+		   ;; filters
+                   "--enable-filter=scale"
+                   "--enable-filter=overlay"
+                   "--enable-filter=amix"
+                   "--enable-filter=amerge"
+                   "--enable-filter=aresample"
+                   "--enable-filter=format"
+                   "--enable-filter=aformat"
+                   "--enable-filter=fps"
+                   "--enable-filter=transpose"
+                   "--enable-filter=pad")
+		 ;; platform specific options
+                 (if (string-contains (%current-system) "linux")
+                     '("--enable-pic"
+                       "--extra-cxxflags=-fPIC --extra-cflags=-fPIC"
+                       "--target-os=linux"
+                       "--enable-indev=v4l2"
+                       "--enable-indev=xcbgrab"
+                       "--enable-vdpau"
+                       "--enable-hwaccel=h264_vdpau"
+                       "--enable-hwaccel=mpeg4_vdpau"
+                       "--enable-vaapi"
+                       "--enable-hwaccel=h264_vaapi"
+                       "--enable-hwaccel=mpeg4_vaapi"
+                       "--enable-hwaccel=h263_vaapi"
+                       "--enable-hwaccel=vp8_vaapi"
+                       "--enable-hwaccel=mjpeg_vaapi"
+                       "--enable-encoder=h264_vaapi"
+                       "--enable-encoder=vp8_vaapi"
+                       "--enable-encoder=mjpeg_vaapi"
+                       ))
+		 (cond ((string?= (%current-system) "i386")
+			'("--arch=x86"
+			  "--enable-cuvid"
+			  "--enable-ffnvcodec"
+			  "--enable-nvdec"
+			  "--enable-nvenc"
+			  "--enable-hwaccel=h264_nvdec"
+			  "--enable-hwaccel=hevc_nvdec"
+			  "--enable-hwaccel=vp8_nvdec"
+			  "--enable-hwaccel=mjpeg_nvdec"
+			  "--enable-encoder=h264_nvenc"
+			  "--enable-encoder=hevc_nvenc"))
+		       ((string?= (%current-system) "x86_64")
+			'("--arch=x86_64"
+			  "--enable-cuvid"
+			  "--enable-ffnvcodec"
+			  "--enable-nvdec"
+			  "--enable-nvenc"
+			  "--enable-hwaccel=h264_nvdec"
+			  "--enable-hwaccel=hevc_nvdec"
+			  "--enable-hwaccel=vp8_nvdec"
+			  "--enable-hwaccel=mjpeg_nvdec"
+			  "--enable-encoder=h264_nvenc"
+			  "--enable-encoder=hevc_nvenc"))
+		       ((string?= (%current-system) "aarch64-linux") '("--arch=aarch64"))
+		       ((string?= (%current-system) "arm64-linux") '("--arch=aarch64"))
+		       ((string?= (%current-system) "arm") '("--arch=arm"))
+		       (else '()))))
+        ((#:phases phases)
+         `(modify-phases ,phases
+            (add-after 'unpack 'make-git-checkout-writable
+              (lambda _
+                (for-each make-file-writable (find-files "."))
+                #t))
+            (add-after 'unpack 'apply-patches
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
+                  ;; Comes from
+                  ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
+                  ;; WARNING: These amount for huge changes in pjproject.
+                  (jami-apply-dependency-patches #:inputs inputs
+                                                 #:dep-name "ffmpeg"
+                                                 #:patches
+                                                 '("remove-mjpeg-log"
+                                                   "change-RTCP-ratio"
+                                                   "rtp_ext_abs_send_time"))
+                  #t))))))))))
+
 (define-public libring
   (package
     (name "libring")
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:09 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 12/30] gnu: restinio: Bump to 0.6.1.1.
Date: Fri, 17 Apr 2020 02:34:15 +0200
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index cc7fc1ea87..8c3a2137eb 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2606,7 +2606,7 @@ communication over HTTP.")
 (define-public restinio
   (package
     (name "restinio")
-    (version "0.6.0.1")
+    (version "0.6.1.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2615,7 +2615,7 @@ communication over HTTP.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1c25kpx652nng8m1sqf5an2c3c4g3k6zj85mkkaxzk88iwfzq1s8"))))
+                "141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5"))))
     (build-system cmake-build-system)
     (inputs                             ; TODO: Need to force-keep references on some inputs, e.g. boost.
      `(("zlib" ,zlib)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:10 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 13/30] gnu: pjproject: Add and apply a patch fixing the crash.
Date: Fri, 17 Apr 2020 02:34:16 +0200
---
 gnu/packages/patches/pjproject-fix.patch | 21 +++++++++++++++++++++
 gnu/packages/telephony.scm               |  2 ++
 2 files changed, 23 insertions(+)
 create mode 100644 gnu/packages/patches/pjproject-fix.patch

diff --git a/gnu/packages/patches/pjproject-fix.patch b/gnu/packages/patches/pjproject-fix.patch
new file mode 100644
index 0000000000..8d7e22f965
--- /dev/null
+++ b/gnu/packages/patches/pjproject-fix.patch
@@ -0,0 +1,21 @@
+--- a/pjsip/src/pjsip-ua/sip_inv.c	(revision 6086)
++++ b/pjsip/src/pjsip-ua/sip_inv.c	(revision 6087)
+@@ -314,10 +314,16 @@
+     inv->cb_called |= (1 << state);
+ 
+-    /* Call on_state_changed() callback. */
++    /* Call on_state_changed() callback.
++     * While in the callback, can the state shift to DISCONNECTED? Perhaps
++     * yes, so better avoid premature destroy of the invite session by
++     * temporarily increase its ref counter.
++     */
++    pjsip_inv_add_ref(inv);
+     if (mod_inv.cb.on_state_changed && inv->notify && !dont_notify)
+ 	(*mod_inv.cb.on_state_changed)(inv, e);
++    pjsip_inv_dec_ref(inv);
+ 
+     /* Only decrement when previous state is not already DISCONNECTED */
+-    if (inv->state == PJSIP_INV_STATE_DISCONNECTED &&
++    if (state == PJSIP_INV_STATE_DISCONNECTED &&
+ 	prev_state != PJSIP_INV_STATE_DISCONNECTED) 
+     {
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 62bd8fd548..7ee9bdd9ab 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -655,6 +655,8 @@ calls and messages")
              (url "https://github.com/pjsip/pjproject.git")
              (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
        (modules '((guix build utils)))
+       (patches
+	(search-patches "pjproject-fix.patch"))
        (snippet
         '(begin
            (let ((third-party-directories
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:35:10 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 14/30] gnu: jami.scm: Add a missing module.
Date: Fri, 17 Apr 2020 02:34:17 +0200
---
 gnu/packages/jami.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 362832f74a..65d8c5bb0b 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -56,7 +56,8 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
   #:use-module (guix git-download)
-  #:use-module (guix packages))
+  #:use-module (guix packages)
+  #:use-module (guix utils))
 
 (define %jami-version "20200203.1.5ee7e10")
 
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:01 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 15/30] gnu: jami: Bump to 20200206.2.996bf03.
Date: Fri, 17 Apr 2020 02:34:18 +0200
---
 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 65d8c5bb0b..9ec4b45a32 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -59,7 +59,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20200203.1.5ee7e10")
+(define %jami-version "20200206.2.996bf03")
 
 (define* (jami-source #:key without-daemon)
   (origin
@@ -75,7 +75,7 @@
          #f))
     (sha256
      (base32
-      "0kx0y9jxyhgj6id6n3xxpm54i6b8dqyx9vxwkx505jvhlbxd2x7x"))))
+      "0f8j9xv5whw3jvxnmvz9w1xq2vc5a9a0f1lpif1gdkk6bl1157lz"))))
 
 (define-public jami-apply-dependency-patches
   '(lambda* (#:key inputs dep-name patches)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 16/30] gnu: pjproject-jami: Add a new SFL patch.
Date: Fri, 17 Apr 2020 02:34:19 +0200
---
 gnu/packages/jami.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 9ec4b45a32..e28f97c4d9 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -164,7 +164,8 @@
                                                 "fix_ebusy_turn"
                                                 "ignore_ipv6_on_transport_check"
                                                 "fix_turn_connection_failure"
-                                                "disable_local_resolution"))
+                                                "disable_local_resolution"
+						"fix_assert_on_connection_attempt"))
                #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 17/30] gnu: pjproject: Fix formatting.
Date: Fri, 17 Apr 2020 02:34:20 +0200
---
 gnu/packages/telephony.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 7ee9bdd9ab..64a5827795 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -706,10 +706,10 @@ calls and messages")
        ("pkg-config" ,pkg-config)
        ("libtool" ,libtool)))
     (arguments
-     `(;; FIXME make: No rule to make target
+     `( ;; FIXME make: No rule to make target
        ;; 'pjlib-test-unknown-[something]-gnu'.
        #:tests? #f
-       ;; #:test-target "selftest"
+                ;; #:test-target "selftest"
        #:phases
        (modify-phases %standard-phases
          (add-before 'build 'build-dep
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:03 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 18/30] gnu: jami: Make gettext a native input.
Date: Fri, 17 Apr 2020 02:34:21 +0200
---
 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 e28f97c4d9..2a5d282fdd 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -546,7 +546,6 @@ This package provides a library common to all Jami clients.")
        ("libnotify" ,libnotify)
        ("clutter" ,clutter)
        ("clutter-gtk" ,clutter-gtk)
-       ("gettext" ,gnu-gettext)
        ("libcanberra" ,libcanberra)
        ("webkitgtk" ,webkitgtk)
        ;; TODO: We must wrap ring-client-gnome to force using the
@@ -563,6 +562,7 @@ This package provides a library common to all Jami clients.")
        ("sqlite" ,sqlite-with-column-metadata)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
+       ("gettext" ,gnu-gettext)
        ("glib:bin" ,glib "bin")
        ("doxygen" ,doxygen)))
     (propagated-inputs
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:03 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 19/30] gnu: jami.scm: Untabify by emacs.
Date: Fri, 17 Apr 2020 02:34:22 +0200
---
 gnu/packages/jami.scm | 74 +++++++++++++++++++++----------------------
 1 file changed, 37 insertions(+), 37 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 2a5d282fdd..96969eb349 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -133,7 +133,7 @@
              "CFLAGS=-fPIC"
              "CXXFLAGS=-fPIC")
        #:modules ((guix build utils)
-		  ,@(@@ (guix build-system gnu) %default-modules))
+                  ,@(@@ (guix build-system gnu) %default-modules))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'make-git-checkout-writable
@@ -165,7 +165,7 @@
                                                 "ignore_ipv6_on_transport_check"
                                                 "fix_turn_connection_failure"
                                                 "disable_local_resolution"
-						"fix_assert_on_connection_attempt"))
+                                                "fix_assert_on_connection_attempt"))
                #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
@@ -225,7 +225,7 @@
                    "--enable-protocol=udp"
                    "--enable-protocol=unix"
                    "--enable-protocol=pipe"
-		   ;; enable muxers/demuxers
+                   ;; enable muxers/demuxers
                    "--disable-demuxers"
                    "--disable-muxers"
                    "--enable-muxer=rtp"
@@ -260,14 +260,14 @@
                    "--enable-demuxer=h263"
                    "--enable-demuxer=h264"
                    "--enable-demuxer=hevc"
-		   ;; enable parsers
+                   ;; enable parsers
                    "--enable-parser=h263"
                    "--enable-parser=h264"
                    "--enable-parser=mpeg4video"
                    "--enable-parser=vp8"
                    "--enable-parser=vp9"
                    "--enable-parser=opus"
-		   ;; encoders/decoders
+                   ;; encoders/decoders
                    "--enable-encoder=adpcm_g722"
                    "--enable-decoder=adpcm_g722"
                    "--enable-encoder=rawvideo"
@@ -297,7 +297,7 @@
                    "--enable-decoder=libspeex"
                    "--enable-encoder=libopus"
                    "--enable-decoder=libopus"
-		   ;; decoders for ringtones and audio streaming
+                   ;; decoders for ringtones and audio streaming
                    "--enable-decoder=flac"
                    "--enable-decoder=vorbis"
                    "--enable-decoder=aac"
@@ -331,7 +331,7 @@
                    "--enable-decoder=pcm_s8_planar"
                    "--enable-decoder=pcm_u16be"
                    "--enable-decoder=pcm_u16le"
-		   ;; encoders/decoders for images
+                   ;; encoders/decoders for images
                    "--enable-encoder=gif"
                    "--enable-decoder=gif"
                    "--enable-encoder=jpegls"
@@ -344,7 +344,7 @@
                    "--enable-decoder=bmp"
                    "--enable-encoder=tiff"
                    "--enable-decoder=tiff"
-		   ;; filters
+                   ;; filters
                    "--enable-filter=scale"
                    "--enable-filter=overlay"
                    "--enable-filter=amix"
@@ -355,7 +355,7 @@
                    "--enable-filter=fps"
                    "--enable-filter=transpose"
                    "--enable-filter=pad")
-		 ;; platform specific options
+                 ;; platform specific options
                  (if (string-contains (%current-system) "linux")
                      '("--enable-pic"
                        "--extra-cxxflags=-fPIC --extra-cflags=-fPIC"
@@ -375,34 +375,34 @@
                        "--enable-encoder=vp8_vaapi"
                        "--enable-encoder=mjpeg_vaapi"
                        ))
-		 (cond ((string?= (%current-system) "i386")
-			'("--arch=x86"
-			  "--enable-cuvid"
-			  "--enable-ffnvcodec"
-			  "--enable-nvdec"
-			  "--enable-nvenc"
-			  "--enable-hwaccel=h264_nvdec"
-			  "--enable-hwaccel=hevc_nvdec"
-			  "--enable-hwaccel=vp8_nvdec"
-			  "--enable-hwaccel=mjpeg_nvdec"
-			  "--enable-encoder=h264_nvenc"
-			  "--enable-encoder=hevc_nvenc"))
-		       ((string?= (%current-system) "x86_64")
-			'("--arch=x86_64"
-			  "--enable-cuvid"
-			  "--enable-ffnvcodec"
-			  "--enable-nvdec"
-			  "--enable-nvenc"
-			  "--enable-hwaccel=h264_nvdec"
-			  "--enable-hwaccel=hevc_nvdec"
-			  "--enable-hwaccel=vp8_nvdec"
-			  "--enable-hwaccel=mjpeg_nvdec"
-			  "--enable-encoder=h264_nvenc"
-			  "--enable-encoder=hevc_nvenc"))
-		       ((string?= (%current-system) "aarch64-linux") '("--arch=aarch64"))
-		       ((string?= (%current-system) "arm64-linux") '("--arch=aarch64"))
-		       ((string?= (%current-system) "arm") '("--arch=arm"))
-		       (else '()))))
+                 (cond ((string?= (%current-system) "i386")
+                        '("--arch=x86"
+                          "--enable-cuvid"
+                          "--enable-ffnvcodec"
+                          "--enable-nvdec"
+                          "--enable-nvenc"
+                          "--enable-hwaccel=h264_nvdec"
+                          "--enable-hwaccel=hevc_nvdec"
+                          "--enable-hwaccel=vp8_nvdec"
+                          "--enable-hwaccel=mjpeg_nvdec"
+                          "--enable-encoder=h264_nvenc"
+                          "--enable-encoder=hevc_nvenc"))
+                       ((string?= (%current-system) "x86_64")
+                        '("--arch=x86_64"
+                          "--enable-cuvid"
+                          "--enable-ffnvcodec"
+                          "--enable-nvdec"
+                          "--enable-nvenc"
+                          "--enable-hwaccel=h264_nvdec"
+                          "--enable-hwaccel=hevc_nvdec"
+                          "--enable-hwaccel=vp8_nvdec"
+                          "--enable-hwaccel=mjpeg_nvdec"
+                          "--enable-encoder=h264_nvenc"
+                          "--enable-encoder=hevc_nvenc"))
+                       ((string?= (%current-system) "aarch64-linux") '("--arch=aarch64"))
+                       ((string?= (%current-system) "arm64-linux") '("--arch=aarch64"))
+                       ((string?= (%current-system) "arm") '("--arch=arm"))
+                       (else '()))))
         ((#:phases phases)
          `(modify-phases ,phases
             (add-after 'unpack 'make-git-checkout-writable
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:04 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 20/30] gnu: jami: Bump to 20200214.1.7488e86.
Date: Fri, 17 Apr 2020 02:34:23 +0200
---
 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 96969eb349..f67ef45072 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -59,7 +59,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20200206.2.996bf03")
+(define %jami-version "20200214.1.7488e86")
 
 (define* (jami-source #:key without-daemon)
   (origin
@@ -75,7 +75,7 @@
          #f))
     (sha256
      (base32
-      "0f8j9xv5whw3jvxnmvz9w1xq2vc5a9a0f1lpif1gdkk6bl1157lz"))))
+      "174akfri3l1wjchkybz3ida975k7fxwd9vhpfxqyliy1i894z721"))))
 
 (define-public jami-apply-dependency-patches
   '(lambda* (#:key inputs dep-name patches)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:04 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 21/30] gnu: opendht: Bump to 2.0.0rc2.
Date: Fri, 17 Apr 2020 02:34:24 +0200
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 8c3a2137eb..7707032aba 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2648,7 +2648,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
 (define-public opendht
   (package
     (name "opendht")
-    (version "2.0.0rc1")
+    (version "2.0.0rc2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2657,7 +2657,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1adpdvpc7dwc973803nng3mkqn6x9k93xfsy59f1n5dnv5xmbg9w"))))
+                "1l3j55qqm894jc9r2sd55snqpcdp9k0kmy7iprpf707jg67c22ij"))))
     ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
     (build-system cmake-build-system)
     (inputs
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:04 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 22/30] gnu: networking.scm: Add missing copyright year.
Date: Fri, 17 Apr 2020 02:34:25 +0200
---
 gnu/packages/networking.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 7707032aba..8f020a6179 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -33,7 +33,7 @@
 ;;; Copyright © 2019 Brice Waegeneire <brice <at> waegenei.re>
 ;;; Copyright © 2019 Tonton <tonton <at> riseup.net>
 ;;; Copyright © 2019, 2020 Alex Griffin <a <at> ajgrf.com>
-;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
+;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
 ;;; Copyright © 2019 Daniel Schaefer <git <at> danielschaefer.me>
 ;;; Copyright © 2019 Diego N. Barbato <dnbarbato <at> posteo.de>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:05 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 23/30] gnu: pjproject,
 pjproject-jami: Remove broken pjproject package. Make pjproject-jami
 package stand-alone by moving package code from pjproject into it.
Date: Fri, 17 Apr 2020 02:34:26 +0200
---
 gnu/packages/jami.scm      | 67 +++++++++++++++++++++++++++--
 gnu/packages/telephony.scm | 88 --------------------------------------
 2 files changed, 63 insertions(+), 92 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index f67ef45072..61236ff9a0 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -95,11 +95,66 @@
 
 (define-public pjproject-jami
   (package
-    (inherit pjproject)
     (name "pjproject-jami")
+    (version "2.9")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pjsip/pjproject.git")
+             (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
+       (modules '((guix build utils)))
+       (patches
+	(search-patches "pjproject-fix.patch"))
+       (snippet
+        '(begin
+           (let ((third-party-directories
+                  ;; Things we don't need:
+                  ;; BaseClasses - contains libraries from Windows SDK
+                  ;; we don't need it, at least not now.
+                  (list "BaseClasses" "g7221" "ilbc" "milenage"
+                        "speex" "threademulation" "yuv" "bdsound"
+                        "gsm" "mp3" "resample" "srtp" "webrtc"
+                        ;; Keep only resample, build and README.txt.
+                        "build/baseclasses" "build/g7221" "build/gsm"
+                        "build/ilbc" "build/milenage" "build/resample"
+                        "build/samplerate" "build/speex" "build/srtp"
+                        "build/webrtc" "build/yuv")))
+             ;; Keep only Makefiles related to resample.
+             (for-each (lambda (directory)
+                         (delete-file-recursively
+                          (string-append "third_party/" directory)))
+                       third-party-directories)
+             #t)
+           (let ((third-party-dirs
+                  (list "gsm" "ilbc" "speex" "g7221" "srtp"
+                        "portaudio" "resample")))
+             (for-each
+              (lambda (dirs)
+                (substitute* "third_party/build/os-linux.mak"
+                  (((string-append "DIRS += " dirs)) "")))
+              third-party-dirs))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("portaudio" ,portaudio)))
+    (propagated-inputs
+     ;; These packages are referenced in the Libs field of the pkg-config
+     ;; file that will be installed by pjproject.
+     `(("speex" ,speex)
+       ("libsrtp" ,libsrtp)
+       ("gnutls" ,gnutls)
+       ("resample", resample)
+       ("util-linux" ,util-linux)))
     (native-inputs
-     `(("savoir-faire-linux-patches" ,(jami-source))
-       ,@(package-native-inputs pjproject)))
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)
+       ("libtool" ,libtool)
+       ("savoir-faire-linux-patches" ,(jami-source))))
     (arguments
      `(#:tests? #f
        ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
@@ -183,7 +238,11 @@
              (substitute* "Makefile"
                (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
                 "selftest: pjlib-test pjlib-util-test pjmedia-test"))
-             #t)))))))
+             #t)))))
+    (home-page "https://www.pjsip.org")
+    (synopsis "SIP (protocol) stack used by Jami")
+    (description "Pjsip is a C library implementing the SIP protocol. This version is highly modified for use in GNU Jami.")
+    (license license:gpl2+)))
 
 (define-public ffmpeg-jami
   (package
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 64a5827795..b3d2b8bc70 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -644,94 +644,6 @@ phone to IP phone communication or in a network using a SIP proxy to route your
 calls and messages")
     (license license:gpl2+)))
 
-(define-public pjproject
-  (package
-    (name "pjproject")
-    (version "2.9")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/pjsip/pjproject.git")
-             (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
-       (modules '((guix build utils)))
-       (patches
-	(search-patches "pjproject-fix.patch"))
-       (snippet
-        '(begin
-           (let ((third-party-directories
-                  ;; Things we don't need:
-                  ;; BaseClasses - contains libraries from Windows SDK
-                  ;; we don't need it, at least not now.
-                  (list "BaseClasses" "g7221" "ilbc" "milenage"
-                        "speex" "threademulation" "yuv" "bdsound"
-                        "gsm" "mp3" "resample" "srtp" "webrtc"
-                        ;; Keep only resample, build and README.txt.
-                        "build/baseclasses" "build/g7221" "build/gsm"
-                        "build/ilbc" "build/milenage" "build/resample"
-                        "build/samplerate" "build/speex" "build/srtp"
-                        "build/webrtc" "build/yuv")))
-             ;; Keep only Makefiles related to resample.
-             (for-each (lambda (directory)
-                         (delete-file-recursively
-                          (string-append "third_party/" directory)))
-                       third-party-directories)
-             #t)
-           (let ((third-party-dirs
-                  (list "gsm" "ilbc" "speex" "g7221" "srtp"
-                        "portaudio" "resample")))
-             (for-each
-              (lambda (dirs)
-                (substitute* "third_party/build/os-linux.mak"
-                  (((string-append "DIRS += " dirs)) "")))
-              third-party-dirs))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
-    (build-system gnu-build-system)
-    (inputs
-     `(("portaudio" ,portaudio)))
-    (propagated-inputs
-     ;; These packages are referenced in the Libs field of the pkg-config
-     ;; file that will be installed by pjproject.
-     `(("speex" ,speex)
-       ("libsrtp" ,libsrtp)
-       ("gnutls" ,gnutls)
-       ("resample", resample)
-       ("util-linux" ,util-linux)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("pkg-config" ,pkg-config)
-       ("libtool" ,libtool)))
-    (arguments
-     `( ;; FIXME make: No rule to make target
-       ;; 'pjlib-test-unknown-[something]-gnu'.
-       #:tests? #f
-                ;; #:test-target "selftest"
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'build-dep
-           (lambda _ (invoke "make" "dep")))
-         (add-before 'patch-source-shebangs 'autoconf
-           (lambda _
-             (invoke "autoconf" "-v" "-f" "-i" "-o"
-                     "aconfigure" "aconfigure.ac")))
-         (add-before 'autoconf 'disable-some-tests
-           ;; Three of the six test programs fail due to missing network
-           ;; access.
-           (lambda _
-             (substitute* "Makefile"
-               (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
-                "selftest: pjlib-test pjlib-util-test pjmedia-test"))
-             #t)))))
-    (home-page "https://www.pjsip.org")
-    (synopsis "Session Initiation Protocol (SIP) stack")
-    (description "PJProject provides an implementation of the Session
-Initiation Protocol (SIP) and a multimedia framework.")
-    (license license:gpl2+)))
-
 (define-public libtgvoip
   (package
     (name "libtgvoip")
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:05 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 24/30] gnu: jami: Bump to 20200326.1.f8d3d10.
Date: Fri, 17 Apr 2020 02:34:27 +0200
---
 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 61236ff9a0..7d4f13250b 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -59,7 +59,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20200214.1.7488e86")
+(define %jami-version "20200326.1.f8d3d10")
 
 (define* (jami-source #:key without-daemon)
   (origin
@@ -75,7 +75,7 @@
          #f))
     (sha256
      (base32
-      "174akfri3l1wjchkybz3ida975k7fxwd9vhpfxqyliy1i894z721"))))
+      "05mi8axxfslbmqc0658zxnjyhgihh5mn97g8hdasd4ip96gyyv1p"))))
 
 (define-public jami-apply-dependency-patches
   '(lambda* (#:key inputs dep-name patches)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:06 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 25/30] gnu: pjproject-jami: Bump to 2.10;
 apply some cool patches.
Date: Fri, 17 Apr 2020 02:34:28 +0200
---
 gnu/packages/jami.scm | 36 +++++++++++++-----------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 7d4f13250b..d52bfa866e 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -96,16 +96,14 @@
 (define-public pjproject-jami
   (package
     (name "pjproject-jami")
-    (version "2.9")
+    (version "2.10")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/pjsip/pjproject.git")
-             (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
+             (commit "3e7b75cb2e482baee58c1991bd2fa4fb06774e0d")))
        (modules '((guix build utils)))
-       (patches
-	(search-patches "pjproject-fix.patch"))
        (snippet
         '(begin
            (let ((third-party-directories
@@ -137,7 +135,7 @@
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
+         "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))))
     (build-system gnu-build-system)
     (inputs
      `(("portaudio" ,portaudio)))
@@ -159,7 +157,7 @@
      `(#:tests? #f
        ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
        #:configure-flags
-       (list "--disable-oss"
+       (list ;;"--disable-oss" ; do we need this?
              "--disable-sound"
              "--disable-video"
              "--enable-ext-sound"
@@ -204,23 +202,15 @@
                (jami-apply-dependency-patches #:inputs inputs
                                               #:dep-name "pjproject"
                                               #:patches
-                                              '("fix_turn_alloc_failure"
-                                                "rfc2466"
-                                                "ipv6"
-                                                "multiple_listeners"
-                                                "pj_ice_sess"
-                                                "fix_turn_fallback"
-                                                "fix_ioqueue_ipv6_sendto"
-                                                "add_dtls_transport"
-                                                "rfc6544"
-                                                "ice_config"
-                                                "sip_config"
-                                                "fix_first_packet_turn_tcp"
-                                                "fix_ebusy_turn"
-                                                "ignore_ipv6_on_transport_check"
-                                                "fix_turn_connection_failure"
-                                                "disable_local_resolution"
-                                                "fix_assert_on_connection_attempt"))
+                                              '("0001-rfc6544"
+						"0002-rfc2466"
+						"0003-add-tcp-keep-alive"
+						"0004-multiple_listeners"
+						"0005-fix_ebusy_turn"
+						"0006-ignore_ipv6_on_transport_check"
+						"0007-pj_ice_sess"
+						"0008-fix_ioqueue_ipv6_sendto"
+						"0009-add-config-site"))
                #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:06 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 26/30] gnu: jami.scm: Indent code properly.
Date: Fri, 17 Apr 2020 02:34:29 +0200
---
 gnu/packages/jami.scm | 54 +++++++++++++++++++++----------------------
 1 file changed, 27 insertions(+), 27 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index d52bfa866e..899c6fb747 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -158,33 +158,33 @@
        ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
        #:configure-flags
        (list ;;"--disable-oss" ; do we need this?
-             "--disable-sound"
-             "--disable-video"
-             "--enable-ext-sound"
-             "--disable-speex-aec"
-             "--disable-g711-codec"
-             "--disable-l16-codec"
-             "--disable-gsm-codec"
-             "--disable-g722-codec"
-             "--disable-g7221-codec"
-             "--disable-speex-codec"
-             "--disable-ilbc-codec"
-             "--disable-opencore-amr"
-             "--disable-silk"
-             "--disable-sdl"
-             "--disable-ffmpeg"
-             "--disable-v4l2"
-             "--disable-openh264"
-             "--disable-resample"
-             "--disable-libwebrtc"
-             "--with-gnutls"
-             "--with-external-srtp"
-             ;; We need -fPIC or else we get the following error when linking
-             ;; against pjproject-jami:
-             ;;   relocation R_X86_64_32S against `.rodata' can not be used when
-             ;;   making a shared object;
-             "CFLAGS=-fPIC"
-             "CXXFLAGS=-fPIC")
+        "--disable-sound"
+        "--disable-video"
+        "--enable-ext-sound"
+        "--disable-speex-aec"
+        "--disable-g711-codec"
+        "--disable-l16-codec"
+        "--disable-gsm-codec"
+        "--disable-g722-codec"
+        "--disable-g7221-codec"
+        "--disable-speex-codec"
+        "--disable-ilbc-codec"
+        "--disable-opencore-amr"
+        "--disable-silk"
+        "--disable-sdl"
+        "--disable-ffmpeg"
+        "--disable-v4l2"
+        "--disable-openh264"
+        "--disable-resample"
+        "--disable-libwebrtc"
+        "--with-gnutls"
+        "--with-external-srtp"
+        ;; We need -fPIC or else we get the following error when linking
+        ;; against pjproject-jami:
+        ;;   relocation R_X86_64_32S against `.rodata' can not be used when
+        ;;   making a shared object;
+        "CFLAGS=-fPIC"
+        "CXXFLAGS=-fPIC")
        #:modules ((guix build utils)
                   ,@(@@ (guix build-system gnu) %default-modules))
        #:phases
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:07 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 27/30] gnu: opendht: Bump to 2.0.0.
Date: Fri, 17 Apr 2020 02:34:30 +0200
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 8f020a6179..c8d009080b 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2648,7 +2648,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
 (define-public opendht
   (package
     (name "opendht")
-    (version "2.0.0rc2")
+    (version "2.0.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2657,7 +2657,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1l3j55qqm894jc9r2sd55snqpcdp9k0kmy7iprpf707jg67c22ij"))))
+                "1q1fwk8wwk9r6bp0indpr60ql668lsk16ykslacyhrh7kg97kvhr"))))
     ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
     (build-system cmake-build-system)
     (inputs
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:07 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 28/30] gnu: jami: Bump to 20200401.1.6f090de.
Date: Fri, 17 Apr 2020 02:34:31 +0200
---
 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 899c6fb747..608baea660 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -59,7 +59,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20200326.1.f8d3d10")
+(define %jami-version "20200401.1.6f090de")
 
 (define* (jami-source #:key without-daemon)
   (origin
@@ -75,7 +75,7 @@
          #f))
     (sha256
      (base32
-      "05mi8axxfslbmqc0658zxnjyhgihh5mn97g8hdasd4ip96gyyv1p"))))
+      "0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh"))))
 
 (define-public jami-apply-dependency-patches
   '(lambda* (#:key inputs dep-name patches)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:07 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 29/30] gnu: jami: Replace gnu-gettext with gettext-minimal,
 just like on master.
Date: Fri, 17 Apr 2020 02:34:32 +0200
---
 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 608baea660..00ee79fce4 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -611,7 +611,7 @@ This package provides a library common to all Jami clients.")
        ("sqlite" ,sqlite-with-column-metadata)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("gettext" ,gnu-gettext)
+       ("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
        ("doxygen" ,doxygen)))
     (propagated-inputs
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 17 Apr 2020 00:36:08 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 30/30] gnu: pjproject-jami: Add the missing "--enable-epoll"
 flag.
Date: Fri, 17 Apr 2020 02:34:33 +0200
---
 gnu/packages/jami.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 00ee79fce4..58280b3b7c 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -160,6 +160,7 @@
        (list ;;"--disable-oss" ; do we need this?
         "--disable-sound"
         "--disable-video"
+        "--enable-epoll" ; if have linux
         "--enable-ext-sound"
         "--disable-speex-aec"
         "--disable-g711-codec"
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:14:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 01/30] gnu: jami: Move Jami and its
 dependencies to jami.scm.
Date: Sat, 18 Apr 2020 14:13:42 +0200
Hello Jan,

Nice work! Please find my comments below.

>  gnu/packages/jami.scm      | 350 +++++++++++++++++++++++++++++++++++++
>  gnu/packages/telephony.scm | 291 ------------------------------
>  2 files changed, 350 insertions(+), 291 deletions(-)
>  create mode 100644 gnu/packages/jami.scm

You also need to update 'gnu/local.mk' when adding new files.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:17:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 03/30] gnu: jami: Fix downloading by changing
 the prefix to "jami_";
 Use the "release" dir instead of the deprecated "ring-release".
Date: Sat, 18 Apr 2020 14:16:23 +0200
You need to add a commit description for this one. What's written in the
subject line should instead be part of it.

Mathieu

> ---
>  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 0e6218c4a0..8601ad718d 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -63,7 +63,7 @@
>  (define* (jami-source #:key without-daemon)
>    (origin
>      (method url-fetch)
> -    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
> +    (uri (string-append "https://dl.jami.net/release/tarballs/jami_"
>                          %jami-version
>                          ".tar.gz"))
>      (modules '((guix build utils)))




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:25:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 04/30] gnu: jami: Add a generalized procedure
 for applying patches made by Savoir-faire linux to Jami dependencies.
Date: Sat, 18 Apr 2020 14:24:20 +0200
> +     (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches"))

Do we have to name the directory this way, or could use something
shorter and without spaces :) ?

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:28:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 05/30] gnu: pjproject-jami: Use the
 jami-apply-dependency-patches procedure.
Date: Sat, 18 Apr 2020 14:27:04 +0200
> -             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
> -                   ;; Comes from
> -                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
> -                   ;; WARNING: These amount for huge changes in pjproject.
> -                   (savoir-faire-linux-patches
> -                    '("fix_turn_alloc_failure"
> -                      "rfc2466"
> -                      "ipv6"
> -                      "multiple_listeners"
> -                      "pj_ice_sess"
> -                      "fix_turn_fallback"
> -                      "fix_ioqueue_ipv6_sendto"
> -                      "add_dtls_transport"
> -                      "rfc6544"
> -                      "ice_config"
> -                      "sip_config"
> -                      "fix_first_packet_turn_tcp"
> -                      "fix_ebusy_turn"
> -                      "ignore_ipv6_on_transport_check"
> -                      "fix_turn_connection_failure"
> -                      ;; "uwp_vs" ; for windows
> -                      "disable_local_resolution")))
> -               (mkdir-p savoir-faire-linux-patches-directory)
> -               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
> -                       "-C" savoir-faire-linux-patches-directory
> -                       "--strip-components=5"
> -                       "ring-project/daemon/contrib/src/pjproject")
> -               (for-each
> -                (lambda (file)
> -                  (invoke "patch" "--force" "-p1" "-i"
> -                          (string-append savoir-faire-linux-patches-directory "/"
> -                                         file ".patch")))
> -                savoir-faire-linux-patches))
> -             #t))
> +             (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
> +               ;; Comes from
> +               ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
> +               ;; WARNING: These amount for huge changes in pjproject.
> +               (jami-apply-dependency-patches #:inputs inputs
> +                                              #:dep-name "pjproject"
> +                                              #:patches
> +                                              '("fix_turn_alloc_failure"
> +                                                "rfc2466"
> +                                                "ipv6"
> +                                                "multiple_listeners"
> +                                                "pj_ice_sess"
> +                                                "fix_turn_fallback"
> +                                                "fix_ioqueue_ipv6_sendto"
> +                                                "add_dtls_transport"
> +                                                "rfc6544"
> +                                                "ice_config"
> +                                                "sip_config"
> +                                                "fix_first_packet_turn_tcp"
> +                                                "fix_ebusy_turn"
> +                                                "ignore_ipv6_on_transport_check"
> +                                                "fix_turn_connection_failure"
> +                                                "disable_local_resolution"))
> +               #t)))
>           ;; TODO: We could use substitute-keyword-arguments instead of
>           ;; repeating the phases from pjproject, but somehow it does
>           ;; not work.

You can squash this patch with the previous one.

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:32:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 06/30] gnu: Add libnatpmp.
Date: Sat, 18 Apr 2020 14:30:55 +0200
> +    (synopsis "C Library implementing NAT-PMP")

"library"

> +    (description
> +     "libnatpmp is a portable and asynchronous implementaiton of the NAT Port Mapping Protocol (NAT-PMP) written in C.")

This line is over the 78 column limit. Plus you can use texinfo markup
for "libnatpmp" as explained here:
https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html#Synopses-and-Descriptions.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:34:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 07/30] gnu: libring: Add libnatpmp as an
 optional dependency; remove unnecessary comment.
Date: Sat, 18 Apr 2020 14:33:05 +0200
You need to write a commit log message compliant with GNU Coding
Standards as explained here:
https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:38:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 08/30] gnu: libupnp: Bump to 1.8.6;
 change the download method to git-fetch; add missing dependencies.
Date: Sat, 18 Apr 2020 14:37:33 +0200
Do not forget to add your copyright on top of the file.

> -      (method url-fetch)
> -      (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20"
> -                          version "/" name "-" version ".tar.bz2"))
> +      (method git-fetch)
> +      (uri (git-reference
> +	    (url "https://github.com/mrjimenez/pupnp.git")
> +	    (commit (string-append "release-" version))))

Seems that this url is redirected to https://github.com/pupnp/pupnp.

>        (sha256
>         (base32
> -        "0hzsd7rvfa87b4hxg9yj4xhdfxx9sp09r9sqdl3mqhvmcyw018y5"))))
> +        "1jlb6qh47513h2simy0zxia5q61w1c31mnwmjqpr2nf832lmnpk4"))))
> +       (native-inputs
> +	`(("autoconf" ,autoconf)
> +	  ("automake" ,automake)
> +	  ("libtool" ,libtool)
> +	  ("pkg-config" ,pkg-config)))

There's a mix of tab and space characters here.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:51:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 10/30] gnu: Add ffmpeg-jami.
Date: Sat, 18 Apr 2020 14:49:59 +0200
> +(define-public ffmpeg-jami
> +  (package
> +    (inherit ffmpeg)
> +    (name "ffmpeg-jami")
> +    (version "4.2.1")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://git.ffmpeg.org/ffmpeg.git")
> +                    (commit "59da9dcd7ef6277e4e04998ced71b05a6083c635")))

Do we need this particular commit? If so the version should be:

--8<---------------cut here---------------start------------->8---
(git-version "4.2.1" revision commit)
--8<---------------cut here---------------end--------------->8---

you will find some examples in packages such as guile-webutils, or
boost-sync.

> +         (append '("--disable-everything"
> +                   "--enable-zlib"
> +                   "--enable-gpl"
> +                   "--enable-swscale"
> +                   "--enable-bsfs"
> +                   "--disable-filters"
> +                   "--disable-programs"
> +                   "--disable-postproc"
> +                   "--disable-protocols"
> +                   "--enable-protocol=crypto"
> +                   "--enable-protocol=file"
> +                   "--enable-protocol=rtp"
> +                   "--enable-protocol=srtp"
> +                   "--enable-protocol=tcp"
> +                   "--enable-protocol=udp"
> +                   "--enable-protocol=unix"
> +                   "--enable-protocol=pipe"
> +		   ;; enable muxers/demuxers
> +                   "--disable-demuxers"
> +                   "--disable-muxers"
> +                   "--enable-muxer=rtp"
> +                   "--enable-muxer=g722"
> +                   "--enable-muxer=h263"
> +                   "--enable-muxer=h264"
> +                   "--enable-muxer=hevc"
> +                   "--enable-muxer=webm"
> +                   "--enable-muxer=ogg"
> +                   "--enable-muxer=pcm_s16be"
> +                   "--enable-muxer=pcm_s16le"
> +                   "--enable-demuxer=rtp"
> +                   "--enable-demuxer=mjpeg"
> +                   "--enable-demuxer=mjpeg_2000"
> +                   "--enable-demuxer=mpegvideo"
> +                   "--enable-demuxer=gif"
> +                   "--enable-demuxer=image_jpeg_pipe"
> +                   "--enable-demuxer=image_png_pipe"
> +                   "--enable-demuxer=image_webp_pipe"
> +                   "--enable-demuxer=matroska"
> +                   "--enable-demuxer=m4v"
> +                   "--enable-demuxer=mp3"
> +                   "--enable-demuxer=ogg"
> +                   "--enable-demuxer=flac"
> +                   "--enable-demuxer=wav"
> +                   "--enable-demuxer=ac3"
> +                   "--enable-demuxer=g722"
> +                   "--enable-demuxer=pcm_mulaw"
> +                   "--enable-demuxer=pcm_alaw"
> +                   "--enable-demuxer=pcm_s16be"
> +                   "--enable-demuxer=pcm_s16le"
> +                   "--enable-demuxer=h263"
> +                   "--enable-demuxer=h264"
> +                   "--enable-demuxer=hevc"
> +		   ;; enable parsers
> +                   "--enable-parser=h263"
> +                   "--enable-parser=h264"
> +                   "--enable-parser=mpeg4video"
> +                   "--enable-parser=vp8"
> +                   "--enable-parser=vp9"
> +                   "--enable-parser=opus"
> +		   ;; encoders/decoders
> +                   "--enable-encoder=adpcm_g722"
> +                   "--enable-decoder=adpcm_g722"
> +                   "--enable-encoder=rawvideo"
> +                   "--enable-decoder=rawvideo"
> +                   "--enable-encoder=libx264"
> +                   "--enable-decoder=h264"
> +                   "--enable-encoder=pcm_alaw"
> +                   "--enable-decoder=pcm_alaw"
> +                   "--enable-encoder=pcm_mulaw"
> +                   "--enable-decoder=pcm_mulaw"
> +                   "--enable-encoder=mpeg4"
> +                   "--enable-decoder=mpeg4"
> +                   "--enable-encoder=libvpx_vp8"
> +                   "--enable-decoder=vp8"
> +                   "--enable-decoder=vp9"
> +                   "--enable-encoder=h263"
> +                   "--enable-encoder=h263p"
> +                   "--enable-decoder=h263"
> +                   "--enable-encoder=mjpeg"
> +                   "--enable-decoder=mjpeg"
> +                   "--enable-decoder=mjpegb"
> +                   "--enable-libspeex"
> +                   "--enable-libopus"
> +                   "--enable-libvpx"
> +                   "--enable-libx264"
> +                   "--enable-encoder=libspeex"
> +                   "--enable-decoder=libspeex"
> +                   "--enable-encoder=libopus"
> +                   "--enable-decoder=libopus"
> +		   ;; decoders for ringtones and audio streaming
> +                   "--enable-decoder=flac"
> +                   "--enable-decoder=vorbis"
> +                   "--enable-decoder=aac"
> +                   "--enable-decoder=ac3"
> +                   "--enable-decoder=eac3"
> +                   "--enable-decoder=mp3"
> +                   "--enable-decoder=pcm_u24be"
> +                   "--enable-decoder=pcm_u24le"
> +                   "--enable-decoder=pcm_u32be"
> +                   "--enable-decoder=pcm_u32le"
> +                   "--enable-decoder=pcm_u8"
> +                   "--enable-decoder=pcm_f16le"
> +                   "--enable-decoder=pcm_f24le"
> +                   "--enable-decoder=pcm_f32be"
> +                   "--enable-decoder=pcm_f32le"
> +                   "--enable-decoder=pcm_f64be"
> +                   "--enable-decoder=pcm_f64le"
> +                   "--enable-decoder=pcm_s16be"
> +                   "--enable-decoder=pcm_s16be_planar"
> +                   "--enable-decoder=pcm_s16le"
> +                   "--enable-decoder=pcm_s16le_planar"
> +                   "--enable-decoder=pcm_s24be"
> +                   "--enable-decoder=pcm_s24le"
> +                   "--enable-decoder=pcm_s24le_planar"
> +                   "--enable-decoder=pcm_s32be"
> +                   "--enable-decoder=pcm_s32le"
> +                   "--enable-decoder=pcm_s32le_planar"
> +                   "--enable-decoder=pcm_s64be"
> +                   "--enable-decoder=pcm_s64le"
> +                   "--enable-decoder=pcm_s8"
> +                   "--enable-decoder=pcm_s8_planar"
> +                   "--enable-decoder=pcm_u16be"
> +                   "--enable-decoder=pcm_u16le"
> +		   ;; encoders/decoders for images
> +                   "--enable-encoder=gif"
> +                   "--enable-decoder=gif"
> +                   "--enable-encoder=jpegls"
> +                   "--enable-decoder=jpegls"
> +                   "--enable-encoder=ljpeg"
> +                   "--enable-decoder=jpeg2000"
> +                   "--enable-encoder=png"
> +                   "--enable-decoder=png"
> +                   "--enable-encoder=bmp"
> +                   "--enable-decoder=bmp"
> +                   "--enable-encoder=tiff"
> +                   "--enable-decoder=tiff"
> +		   ;; filters
> +                   "--enable-filter=scale"
> +                   "--enable-filter=overlay"
> +                   "--enable-filter=amix"
> +                   "--enable-filter=amerge"
> +                   "--enable-filter=aresample"
> +                   "--enable-filter=format"
> +                   "--enable-filter=aformat"
> +                   "--enable-filter=fps"
> +                   "--enable-filter=transpose"
> +                   "--enable-filter=pad")
> +		 ;; platform specific options
> +                 (if (string-contains (%current-system) "linux")
> +                     '("--enable-pic"
> +                       "--extra-cxxflags=-fPIC --extra-cflags=-fPIC"
> +                       "--target-os=linux"
> +                       "--enable-indev=v4l2"
> +                       "--enable-indev=xcbgrab"
> +                       "--enable-vdpau"
> +                       "--enable-hwaccel=h264_vdpau"
> +                       "--enable-hwaccel=mpeg4_vdpau"
> +                       "--enable-vaapi"
> +                       "--enable-hwaccel=h264_vaapi"
> +                       "--enable-hwaccel=mpeg4_vaapi"
> +                       "--enable-hwaccel=h263_vaapi"
> +                       "--enable-hwaccel=vp8_vaapi"
> +                       "--enable-hwaccel=mjpeg_vaapi"
> +                       "--enable-encoder=h264_vaapi"
> +                       "--enable-encoder=vp8_vaapi"
> +                       "--enable-encoder=mjpeg_vaapi"
> +                       ))
> +		 (cond ((string?= (%current-system) "i386")
> +			'("--arch=x86"
> +			  "--enable-cuvid"
> +			  "--enable-ffnvcodec"
> +			  "--enable-nvdec"
> +			  "--enable-nvenc"
> +			  "--enable-hwaccel=h264_nvdec"
> +			  "--enable-hwaccel=hevc_nvdec"
> +			  "--enable-hwaccel=vp8_nvdec"
> +			  "--enable-hwaccel=mjpeg_nvdec"
> +			  "--enable-encoder=h264_nvenc"
> +			  "--enable-encoder=hevc_nvenc"))
> +		       ((string?= (%current-system) "x86_64")
> +			'("--arch=x86_64"
> +			  "--enable-cuvid"
> +			  "--enable-ffnvcodec"
> +			  "--enable-nvdec"
> +			  "--enable-nvenc"
> +			  "--enable-hwaccel=h264_nvdec"
> +			  "--enable-hwaccel=hevc_nvdec"
> +			  "--enable-hwaccel=vp8_nvdec"
> +			  "--enable-hwaccel=mjpeg_nvdec"
> +			  "--enable-encoder=h264_nvenc"
> +			  "--enable-encoder=hevc_nvenc"))
> +		       ((string?= (%current-system) "aarch64-linux") '("--arch=aarch64"))
> +		       ((string?= (%current-system) "arm64-linux") '("--arch=aarch64"))
> +		       ((string?= (%current-system) "arm") '("--arch=arm"))
> +		       (else '()))))

This long list is a bit scary. Could inherit from the one of ffmpeg and
add/remove only what's necessary? The default values should also be
omitted.

> +                  ;; Comes from
> +                  ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
> +                  ;; WARNING: These amount for huge changes in pjproject.

That's only three patches here? You can maybe remove this comment.

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:55:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 13/30] gnu: pjproject: Add and apply a patch
 fixing the crash.
Date: Sat, 18 Apr 2020 14:54:05 +0200
>  gnu/packages/patches/pjproject-fix.patch | 21 +++++++++++++++++++++
>  gnu/packages/telephony.scm               |  2 ++

New patches should also be added to 'gnu/local.mk' file. You can find an
example here: b03ee02f.

You also need to explain where this patch comes from, and why it is
necessary.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:56:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 14/30] gnu: jami.scm: Add a missing module.
Date: Sat, 18 Apr 2020 14:55:39 +0200
>    #:use-module (guix git-download)
> -  #:use-module (guix packages))
> +  #:use-module (guix packages)
> +  #:use-module (guix utils))
>  

This should be squashed with the patch that requires those two modules.

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 12:57:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 15/30] gnu: jami: Bump to 20200206.2.996bf03.
Date: Sat, 18 Apr 2020 14:56:40 +0200
> -(define %jami-version "20200203.1.5ee7e10")
> +(define %jami-version "20200206.2.996bf03")

There are multiple patches updating this version. They all should be
squashed into a single one, so that the serie is shorter and hence
easier to review :)

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 13:01:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 16/30] gnu: pjproject-jami: Add a new SFL
 patch.
Date: Sat, 18 Apr 2020 15:00:28 +0200
> -                                                "disable_local_resolution"))
> +                                                "disable_local_resolution"
> +						"fix_assert_on_connection_attempt"))
>                 #t)))

This indentation is wrong here. You should not use tabulations. Also
this is over the 78 column limit. A trick to respect it would be to
introduce a line break between the '#:inputs' key above and let your
editor figure it out.

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 13:04:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 23/30] gnu: pjproject,
 pjproject-jami: Remove broken pjproject package. Make pjproject-jami
 package stand-alone by moving package code from pjproject into it.
Date: Sat, 18 Apr 2020 15:03:42 +0200
Why is pjproject package "broken"? Could pjproject-jami inherit from it and
only change the suitable bits?

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 13:09:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 19/30] gnu: jami.scm: Untabify by emacs.
Date: Sat, 18 Apr 2020 15:08:24 +0200
>                     "--enable-protocol=udp"
>                     "--enable-protocol=unix"
>                     "--enable-protocol=pipe"
> -		   ;; enable muxers/demuxers
> +                   ;; enable muxers/demuxers
>                     "--disable-demuxers"
>                     "--disable-muxers"
>                     "--enable-muxer=rtp"
> @@ -260,14 +260,14 @@
>                     "--enable-demuxer=h263"
>                     "--enable-demuxer=h264"
>                     "--enable-demuxer=hevc"
> -		   ;; enable parsers
> +                   ;; enable parsers
>                     "--enable-parser=h263"

All of this patch should be squashed with the previous patches. When
working on such a vast topic, the final phase of squashing, renaming and
reordering commits can be really cumbersome.

However, it is also really important as it makes the serie shorter and
easier to review. You can use the interactive rebase mode of Magit to
add some fun.

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 18 Apr 2020 13:14:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 30/30] gnu: pjproject-jami: Add the missing
 "--enable-epoll" flag.
Date: Sat, 18 Apr 2020 15:13:29 +0200
>          "--disable-video"
> +        "--enable-epoll" ; if have linux
>          "--enable-ext-sound"

If this is a Linux specific flag, you may need to protect it with a
"hurd-triplet?" conditional (see libgc package for example).

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sun, 19 Apr 2020 19:46:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 23/30] gnu: pjproject, pjproject-jami:
 Remove broken pjproject package. Make pjproject-jami package stand-alone by
 moving package code from pjproject into it.
Date: Sun, 19 Apr 2020 21:44:42 +0200
On Sat, 18 Apr 2020 15:03:42 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> Why is pjproject package "broken"? Could pjproject-jami inherit from
> it and only change the suitable bits?
> 
> Mathieu

The pjproject package we had in Guix have never worked - the build
phase always failed. I attempted to fix it, but never successfully.
Jami is also the only package that uses pjproject, but a highly
modified version. I did some research about it and it seems pjproject
can't even be used as a system-wide library.

That's what I found:
https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00009.html


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sun, 19 Apr 2020 19:50:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 16/30] gnu: pjproject-jami: Add a new SFL
 patch.
Date: Sun, 19 Apr 2020 21:49:07 +0200
On Sat, 18 Apr 2020 15:00:28 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> > -
> > "disable_local_resolution"))
> > +
> > "disable_local_resolution"
> > +						"fix_assert_on_connection_attempt"))
> >                 #t)))  
> 
> This indentation is wrong here. You should not use tabulations. Also
> this is over the 78 column limit. A trick to respect it would be to
> introduce a line break between the '#:inputs' key above and let your
> editor figure it out.
> 
> Mathieu

Is there a way to remove tabulations in emacs or to configure emacs so
that it won't use tabulations?

I tried to correct formatting using the ./etc/indent_code.el or
something, but could miss something.


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sun, 19 Apr 2020 19:51:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 15/30] gnu: jami: Bump to 20200206.2.996bf03.
Date: Sun, 19 Apr 2020 21:49:57 +0200
On Sat, 18 Apr 2020 14:56:40 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> > -(define %jami-version "20200203.1.5ee7e10")
> > +(define %jami-version "20200206.2.996bf03")  
> 
> There are multiple patches updating this version. They all should be
> squashed into a single one, so that the serie is shorter and hence
> easier to review :)
> 
> Mathieu

How do I do this gently in git?


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sun, 19 Apr 2020 20:05:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 10/30] gnu: Add ffmpeg-jami.
Date: Sun, 19 Apr 2020 22:03:57 +0200
On Sat, 18 Apr 2020 14:49:59 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> Do we need this particular commit? If so the version should be:
> 
> --8<---------------cut here---------------start------------->8---
> (git-version "4.2.1" revision commit)
> --8<---------------cut here---------------end--------------->8---
> 
> you will find some examples in packages such as guile-webutils, or
> boost-sync.

Because of the strange bugs I get in Jami, I tried to be as close as
possible to the official Jami package. They use this particular commit
and if I remember correctly, applying the patches failed without it.

The patches add:

-Hardware acceleration to use GPU instead CPU to encode/decode video
whenever possible
-All codecs available (but nor really important, it will be ok with
h264 + vp8)
-REMB feedback (./ffmpeg/rtp_ext_abs_send_time.patch) to automatically
adapt the bitrate and avoid dirty video.

> This long list is a bit scary. Could inherit from the one of ffmpeg
> and add/remove only what's necessary? The default values should also
> be omitted.

I tried asking Jami devs how important are these flags, but never got
answer. I can ask again, but for now I must check one more thing
related to the strange bug I get.

> > +                  ;; Comes from
> > +                  ;;
> > "ring-project/daemon/contrib/src/pjproject/rules.mak".
> > +                  ;; WARNING: These amount for huge changes in
> > pjproject.  
> 
> That's only three patches here? You can maybe remove this comment.
> 
> Mathieu

Yes, right.


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sun, 19 Apr 2020 20:33:01 GMT) Full text and rfc822 format available.

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

From: Michael Rohleder <mike <at> rohleder.de>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 16/30] gnu: pjproject-jami: Add a new SFL
 patch.
Date: Sun, 19 Apr 2020 22:32:35 +0200
[Message part 1 (text/plain, inline)]
Jan <tona_kosmicznego_smiecia <at> interia.pl> writes:
> Is there a way to remove tabulations in emacs or to configure emacs so
> that it won't use tabulations?

this should help:

(setq-default indent-tabs-mode nil)

-- 
Pandora's Rule:
        Never open a box you didn't close.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sun, 19 Apr 2020 22:27:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 13/30] gnu: pjproject: Add and apply a patch
 fixing the crash.
Date: Mon, 20 Apr 2020 00:26:20 +0200
On Sat, 18 Apr 2020 14:54:05 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> >  gnu/packages/patches/pjproject-fix.patch | 21 +++++++++++++++++++++
> >  gnu/packages/telephony.scm               |  2 ++  
> 
> New patches should also be added to 'gnu/local.mk' file. You can find
> an example here: b03ee02f.
> 
> You also need to explain where this patch comes from, and why it is
> necessary.
> 
> Thanks,
> 
> Mathieu

I just removed this patch, because the issue was fixed in pjproject
2.10.


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Mon, 20 Apr 2020 22:56:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Subject: Code review problems resolved
Date: Tue, 21 Apr 2020 00:55:06 +0200
Hello,

I think I addressed the problems Mathieu pointed out. Should I close
this issue and open a new one with corrected patches?



Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 07:06:01 GMT) Full text and rfc822 format available.

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

From: Christopher Baines <mail <at> cbaines.net>
To: tona_kosmicznego_smiecia <at> interia.pl
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] Code review problems resolved
Date: Tue, 21 Apr 2020 08:04:56 +0100
[Message part 1 (text/plain, inline)]
Jan <tona_kosmicznego_smiecia <at> interia.pl> writes:

> I think I addressed the problems Mathieu pointed out. Should I close
> this issue and open a new one with corrected patches?

Assuming it's the same set of patches, just send them to this bug. You
can use -v2 with git send-email when sending the patches to help
indicate they're revised.

Thanks,

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

Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 07:29:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] Code review problems resolved
Date: Tue, 21 Apr 2020 09:28:45 +0200
Hello Jan,

Thanks for working on this. No you should use the same bug ticket for new
patches revision, until it gets eventually merged.

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 02/18] gnu: jami: Fix downloading.
Date: Tue, 21 Apr 2020 18:10:16 +0200
The package name changed from Ring to Jami.
Package tarballs start now with "jami_" prefix.
The "ring-release" folder is also deprecated, let's use the
"release" folder instead.
---
 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 5c167808f0..44a57c9bfb 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -64,7 +64,7 @@
 (define* (jami-source #:key without-daemon)
   (origin
     (method url-fetch)
-    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
+    (uri (string-append "https://dl.jami.net/release/tarballs/jami_"
                         %jami-version
                         ".tar.gz"))
     (modules '((guix build utils)))
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 05/18] gnu: libring: Add libnatpmp as an optional dependency.
Date: Tue, 21 Apr 2020 18:10:19 +0200
---
 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 3a50cef18a..041f0a1292 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -195,7 +195,6 @@
     (source (jami-source #:without-daemon #t))
     (build-system gnu-build-system)
     (inputs
-     ;; Missing (optional?) dep: libnatpmp.
      `(("alsa-lib" ,alsa-lib)
        ("boost" ,boost)
        ("dbus-c++" ,dbus-c++)
@@ -206,6 +205,7 @@
        ("gsm" ,gsm)
        ("jack" ,jack-1)
        ("jsoncpp" ,jsoncpp)
+       ("libnatpmp" ,libnatpmp)
        ("libogg" ,libogg)
        ("libva" ,libva)
        ("opendht" ,opendht)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:03 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 04/18] gnu: Add libnatpmp.
Date: Tue, 21 Apr 2020 18:10:18 +0200
---
 gnu/packages/networking.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index f754683bb9..02ba5e9601 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -374,6 +374,34 @@ between different versions of ØMQ.")
 files contain direct mappings of the abstractions provided by the ØMQ C API.")
     (license license:expat)))
 
+(define-public libnatpmp
+  (package
+    (name "libnatpmp")
+    (version "20150609")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://miniupnp.free.fr/files/"
+                    name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'check))
+       #:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
+    (home-page "http://miniupnp.free.fr/libnatpmp.html")
+    (synopsis "C library implementing NAT-PMP")
+    (description
+     "libnatpmp is a portable and asynchronous implementaiton of
+the Network Address Translation - Port Mapping Protocol (NAT-PMP)
+written in the C programming language.")
+    (license license:bsd-3)))
+
 (define-public librdkafka
   (package
     (name "librdkafka")
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:03 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 06/18] gnu: libupnp: Bump to 1.8.6;
 change the download method to git-fetch; add missing dependencies.
Date: Tue, 21 Apr 2020 18:10:20 +0200
---
 gnu/packages/upnp.scm | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm
index 8f3c887a68..768df4a03e 100644
--- a/gnu/packages/upnp.scm
+++ b/gnu/packages/upnp.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2018 Theodoros Foradis <theodoros <at> foradis.org>
 ;;; Copyright © 2019 Jens Mølgaard <jens <at> zete.tk>
+;;; Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (gnu packages photo)
   #:use-module (gnu packages image)
   #:use-module (gnu packages mp3)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages python)
@@ -92,15 +94,21 @@ over IRC, instant messaging, network games, and most server software.")
 (define-public libupnp
   (package
     (name "libupnp")
-    (version "1.6.25")
+    (version "1.8.6")
     (source
      (origin
-      (method url-fetch)
-      (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20"
-                          version "/" name "-" version ".tar.bz2"))
+      (method git-fetch)
+      (uri (git-reference
+            (url "https://github.com/pupnp/pupnp.git")
+            (commit (string-append "release-" version))))
       (sha256
        (base32
-        "0hzsd7rvfa87b4hxg9yj4xhdfxx9sp09r9sqdl3mqhvmcyw018y5"))))
+        "1jlb6qh47513h2simy0zxia5q61w1c31mnwmjqpr2nf832lmnpk4"))))
+       (native-inputs
+        `(("autoconf" ,autoconf)
+          ("automake" ,automake)
+          ("libtool" ,libtool)
+          ("pkg-config" ,pkg-config)))
     (build-system gnu-build-system)
     (arguments
      ;; The tests require a network device capable of multicasting which is
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:04 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 08/18] gnu: libring: Use ffmpeg-jami instead of ffmpeg.
Date: Tue, 21 Apr 2020 18:10:22 +0200
---
 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 e7f15c7197..c67236ac0d 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -438,7 +438,7 @@
        ("boost" ,boost)
        ("dbus-c++" ,dbus-c++)
        ("eudev" ,eudev)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-jami)
        ("flac" ,flac)
        ("gmp" ,gmp)
        ("gsm" ,gsm)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:04 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 09/18] gnu: restinio: Bump to 0.6.1.1.
Date: Tue, 21 Apr 2020 18:10:23 +0200
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 02ba5e9601..b767c9035a 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2608,7 +2608,7 @@ communication over HTTP.")
 (define-public restinio
   (package
     (name "restinio")
-    (version "0.6.0.1")
+    (version "0.6.1.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2617,7 +2617,7 @@ communication over HTTP.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1c25kpx652nng8m1sqf5an2c3c4g3k6zj85mkkaxzk88iwfzq1s8"))))
+                "141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5"))))
     (build-system cmake-build-system)
     (inputs                             ; TODO: Need to force-keep references on some inputs, e.g. boost.
      `(("zlib" ,zlib)
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:05 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 10/18] gnu: pjproject-jami: Add a new SFL patch.
Date: Tue, 21 Apr 2020 18:10:24 +0200
---
 gnu/packages/jami.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index c67236ac0d..e612605775 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -168,7 +168,8 @@
                   "fix_ebusy_turn"
                   "ignore_ipv6_on_transport_check"
                   "fix_turn_connection_failure"
-                  "disable_local_resolution"))
+                  "disable_local_resolution"
+                  "fix_assert_on_connection_attempt"))
                #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:05 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 07/18] gnu: Add ffmpeg-jami.
Date: Tue, 21 Apr 2020 18:10:21 +0200
---
 gnu/packages/jami.scm | 239 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 239 insertions(+)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 041f0a1292..e7f15c7197 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -188,6 +188,245 @@
                 "selftest: pjlib-test pjlib-util-test pjmedia-test"))
              #t)))))))
 
+(define-public ffmpeg-jami
+  (let ((commit "59da9dcd7ef6277e4e04998ced71b05a6083c635")
+        (revision "0"))
+    (package
+      (inherit ffmpeg)
+      (name "ffmpeg-jami")
+      (version (git-version "4.2.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.ffmpeg.org/ffmpeg.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0cm58kd06lvslc7knnfajv5p63v4cc6502badjcic5m9izd03lz2"))))
+      (native-inputs
+       `(("SFL-patches" ,(jami-source))
+         ("libiconv" ,libiconv)
+         ,@(package-native-inputs ffmpeg)))
+      (arguments
+       (append
+        '(#:tests? #f)
+        (substitute-keyword-arguments (package-arguments ffmpeg)
+          ((#:configure-flags '())
+           (append '("--disable-everything"
+                     "--enable-zlib"
+                     "--enable-gpl"
+                     "--enable-swscale"
+                     "--enable-bsfs"
+                     "--disable-filters"
+                     "--disable-programs"
+                     "--disable-postproc"
+                     "--disable-protocols"
+                     "--enable-protocol=crypto"
+                     "--enable-protocol=file"
+                     "--enable-protocol=rtp"
+                     "--enable-protocol=srtp"
+                     "--enable-protocol=tcp"
+                     "--enable-protocol=udp"
+                     "--enable-protocol=unix"
+                     "--enable-protocol=pipe"
+                     ;; enable muxers/demuxers
+                     "--disable-demuxers"
+                     "--disable-muxers"
+                     "--enable-muxer=rtp"
+                     "--enable-muxer=g722"
+                     "--enable-muxer=h263"
+                     "--enable-muxer=h264"
+                     "--enable-muxer=hevc"
+                     "--enable-muxer=webm"
+                     "--enable-muxer=ogg"
+                     "--enable-muxer=pcm_s16be"
+                     "--enable-muxer=pcm_s16le"
+                     "--enable-demuxer=rtp"
+                     "--enable-demuxer=mjpeg"
+                     "--enable-demuxer=mjpeg_2000"
+                     "--enable-demuxer=mpegvideo"
+                     "--enable-demuxer=gif"
+                     "--enable-demuxer=image_jpeg_pipe"
+                     "--enable-demuxer=image_png_pipe"
+                     "--enable-demuxer=image_webp_pipe"
+                     "--enable-demuxer=matroska"
+                     "--enable-demuxer=m4v"
+                     "--enable-demuxer=mp3"
+                     "--enable-demuxer=ogg"
+                     "--enable-demuxer=flac"
+                     "--enable-demuxer=wav"
+                     "--enable-demuxer=ac3"
+                     "--enable-demuxer=g722"
+                     "--enable-demuxer=pcm_mulaw"
+                     "--enable-demuxer=pcm_alaw"
+                     "--enable-demuxer=pcm_s16be"
+                     "--enable-demuxer=pcm_s16le"
+                     "--enable-demuxer=h263"
+                     "--enable-demuxer=h264"
+                     "--enable-demuxer=hevc"
+                     ;; enable parsers
+                     "--enable-parser=h263"
+                     "--enable-parser=h264"
+                     "--enable-parser=mpeg4video"
+                     "--enable-parser=vp8"
+                     "--enable-parser=vp9"
+                     "--enable-parser=opus"
+                     ;; encoders/decoders
+                     "--enable-encoder=adpcm_g722"
+                     "--enable-decoder=adpcm_g722"
+                     "--enable-encoder=rawvideo"
+                     "--enable-decoder=rawvideo"
+                     "--enable-encoder=libx264"
+                     "--enable-decoder=h264"
+                     "--enable-encoder=pcm_alaw"
+                     "--enable-decoder=pcm_alaw"
+                     "--enable-encoder=pcm_mulaw"
+                     "--enable-decoder=pcm_mulaw"
+                     "--enable-encoder=mpeg4"
+                     "--enable-decoder=mpeg4"
+                     "--enable-encoder=libvpx_vp8"
+                     "--enable-decoder=vp8"
+                     "--enable-decoder=vp9"
+                     "--enable-encoder=h263"
+                     "--enable-encoder=h263p"
+                     "--enable-decoder=h263"
+                     "--enable-encoder=mjpeg"
+                     "--enable-decoder=mjpeg"
+                     "--enable-decoder=mjpegb"
+                     "--enable-libspeex"
+                     "--enable-libopus"
+                     "--enable-libvpx"
+                     "--enable-libx264"
+                     "--enable-encoder=libspeex"
+                     "--enable-decoder=libspeex"
+                     "--enable-encoder=libopus"
+                     "--enable-decoder=libopus"
+                     ;; decoders for ringtones and audio streaming
+                     "--enable-decoder=flac"
+                     "--enable-decoder=vorbis"
+                     "--enable-decoder=aac"
+                     "--enable-decoder=ac3"
+                     "--enable-decoder=eac3"
+                     "--enable-decoder=mp3"
+                     "--enable-decoder=pcm_u24be"
+                     "--enable-decoder=pcm_u24le"
+                     "--enable-decoder=pcm_u32be"
+                     "--enable-decoder=pcm_u32le"
+                     "--enable-decoder=pcm_u8"
+                     "--enable-decoder=pcm_f16le"
+                     "--enable-decoder=pcm_f24le"
+                     "--enable-decoder=pcm_f32be"
+                     "--enable-decoder=pcm_f32le"
+                     "--enable-decoder=pcm_f64be"
+                     "--enable-decoder=pcm_f64le"
+                     "--enable-decoder=pcm_s16be"
+                     "--enable-decoder=pcm_s16be_planar"
+                     "--enable-decoder=pcm_s16le"
+                     "--enable-decoder=pcm_s16le_planar"
+                     "--enable-decoder=pcm_s24be"
+                     "--enable-decoder=pcm_s24le"
+                     "--enable-decoder=pcm_s24le_planar"
+                     "--enable-decoder=pcm_s32be"
+                     "--enable-decoder=pcm_s32le"
+                     "--enable-decoder=pcm_s32le_planar"
+                     "--enable-decoder=pcm_s64be"
+                     "--enable-decoder=pcm_s64le"
+                     "--enable-decoder=pcm_s8"
+                     "--enable-decoder=pcm_s8_planar"
+                     "--enable-decoder=pcm_u16be"
+                     "--enable-decoder=pcm_u16le"
+                     ;; encoders/decoders for images
+                     "--enable-encoder=gif"
+                     "--enable-decoder=gif"
+                     "--enable-encoder=jpegls"
+                     "--enable-decoder=jpegls"
+                     "--enable-encoder=ljpeg"
+                     "--enable-decoder=jpeg2000"
+                     "--enable-encoder=png"
+                     "--enable-decoder=png"
+                     "--enable-encoder=bmp"
+                     "--enable-decoder=bmp"
+                     "--enable-encoder=tiff"
+                     "--enable-decoder=tiff"
+                     ;; filters
+                     "--enable-filter=scale"
+                     "--enable-filter=overlay"
+                     "--enable-filter=amix"
+                     "--enable-filter=amerge"
+                     "--enable-filter=aresample"
+                     "--enable-filter=format"
+                     "--enable-filter=aformat"
+                     "--enable-filter=fps"
+                     "--enable-filter=transpose"
+                     "--enable-filter=pad")
+                   ;; platform specific options
+                   (if (string-contains (%current-system) "linux")
+                       '("--enable-pic"
+                         "--extra-cxxflags=-fPIC --extra-cflags=-fPIC"
+                         "--target-os=linux"
+                         "--enable-indev=v4l2"
+                         "--enable-indev=xcbgrab"
+                         "--enable-vdpau"
+                         "--enable-hwaccel=h264_vdpau"
+                         "--enable-hwaccel=mpeg4_vdpau"
+                         "--enable-vaapi"
+                         "--enable-hwaccel=h264_vaapi"
+                         "--enable-hwaccel=mpeg4_vaapi"
+                         "--enable-hwaccel=h263_vaapi"
+                         "--enable-hwaccel=vp8_vaapi"
+                         "--enable-hwaccel=mjpeg_vaapi"
+                         "--enable-encoder=h264_vaapi"
+                         "--enable-encoder=vp8_vaapi"
+                         "--enable-encoder=mjpeg_vaapi"
+                         ))
+                   (cond ((string?= (%current-system) "i386")
+                          '("--arch=x86"
+                            "--enable-cuvid"
+                            "--enable-ffnvcodec"
+                            "--enable-nvdec"
+                            "--enable-nvenc"
+                            "--enable-hwaccel=h264_nvdec"
+                            "--enable-hwaccel=hevc_nvdec"
+                            "--enable-hwaccel=vp8_nvdec"
+                            "--enable-hwaccel=mjpeg_nvdec"
+                            "--enable-encoder=h264_nvenc"
+                            "--enable-encoder=hevc_nvenc"))
+                         ((string?= (%current-system) "x86_64")
+                          '("--arch=x86_64"
+                            "--enable-cuvid"
+                            "--enable-ffnvcodec"
+                            "--enable-nvdec"
+                            "--enable-nvenc"
+                            "--enable-hwaccel=h264_nvdec"
+                            "--enable-hwaccel=hevc_nvdec"
+                            "--enable-hwaccel=vp8_nvdec"
+                            "--enable-hwaccel=mjpeg_nvdec"
+                            "--enable-encoder=h264_nvenc"
+                            "--enable-encoder=hevc_nvenc"))
+                         ((string?= (%current-system) "aarch64-linux") '("--arch=aarch64"))
+                         ((string?= (%current-system) "arm64-linux") '("--arch=aarch64"))
+                         ((string?= (%current-system) "arm") '("--arch=arm"))
+                         (else '()))))
+          ((#:phases phases)
+           `(modify-phases ,phases
+              (add-after 'unpack 'make-git-checkout-writable
+                (lambda _
+                  (for-each make-file-writable (find-files "."))
+                  #t))
+              (add-after 'unpack 'apply-patches
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
+                    ;; These patches come from:
+                    ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak".
+                    (jami-apply-dependency-patches #:inputs inputs
+                                                   #:dep-name "ffmpeg"
+                                                   #:patches
+                                                   '("remove-mjpeg-log"
+                                                     "change-RTCP-ratio"
+                                                     "rtp_ext_abs_send_time"))
+                    #t)))))))))))
+
 (define-public libring
   (package
     (name "libring")
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:06 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 11/18] gnu: pjproject: Fix formatting.
Date: Tue, 21 Apr 2020 18:10:25 +0200
---
 gnu/packages/telephony.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 62bd8fd548..59cd06f6f5 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -704,10 +704,10 @@ calls and messages")
        ("pkg-config" ,pkg-config)
        ("libtool" ,libtool)))
     (arguments
-     `(;; FIXME make: No rule to make target
+     `( ;; FIXME make: No rule to make target
        ;; 'pjlib-test-unknown-[something]-gnu'.
        #:tests? #f
-       ;; #:test-target "selftest"
+                ;; #:test-target "selftest"
        #:phases
        (modify-phases %standard-phases
          (add-before 'build 'build-dep
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:06 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 12/18] gnu: jami: Make gettext a native input.
Date: Tue, 21 Apr 2020 18:10:26 +0200
---
 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 e612605775..534958df5d 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -551,7 +551,6 @@ This package provides a library common to all Jami clients.")
        ("libnotify" ,libnotify)
        ("clutter" ,clutter)
        ("clutter-gtk" ,clutter-gtk)
-       ("gettext" ,gnu-gettext)
        ("libcanberra" ,libcanberra)
        ("webkitgtk" ,webkitgtk)
        ;; TODO: We must wrap ring-client-gnome to force using the
@@ -568,6 +567,7 @@ This package provides a library common to all Jami clients.")
        ("sqlite" ,sqlite-with-column-metadata)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
+       ("gettext" ,gnu-gettext)
        ("glib:bin" ,glib "bin")
        ("doxygen" ,doxygen)))
     (propagated-inputs
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:07 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 01/18] gnu: jami: Move Jami and its dependencies to jami.scm.
Date: Tue, 21 Apr 2020 18:10:15 +0200
---
 gnu/local.mk               |   2 +
 gnu/packages/jami.scm      | 351 +++++++++++++++++++++++++++++++++++++
 gnu/packages/telephony.scm | 291 ------------------------------
 3 files changed, 353 insertions(+), 291 deletions(-)
 create mode 100644 gnu/packages/jami.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 952fc55df4..10bf91366d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -30,6 +30,7 @@
 # Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
 # Copyright © 2020 R Veera Kumar <vkor <at> vkten.in>
 # Copyright © 2020 Nicolò Balzarotti <nicolo <at> nixo.xyz
+# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
 #
 # This file is part of GNU Guix.
 #
@@ -275,6 +276,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/ipfs.scm			\
   %D%/packages/irc.scm  			\
   %D%/packages/iso-codes.scm			\
+  %D%/packages/jami.scm				\
   %D%/packages/java.scm				\
   %D%/packages/java-compression.scm		\
   %D%/packages/java-graphics.scm		\
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
new file mode 100644
index 0000000000..5c167808f0
--- /dev/null
+++ b/gnu/packages/jami.scm
@@ -0,0 +1,351 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
+;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages jami)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages crypto)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libcanberra)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages networking)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages serialization)
+  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages upnp)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages webkit)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix packages)
+  #:use-module (guix utils))
+
+(define %jami-version "20191101.3.67671e7")
+
+(define* (jami-source #:key without-daemon)
+  (origin
+    (method url-fetch)
+    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
+                        %jami-version
+                        ".tar.gz"))
+    (modules '((guix build utils)))
+    (snippet
+     (if without-daemon
+         '(begin
+            (delete-file-recursively "daemon/contrib"))
+         #f))
+    (sha256
+     (base32
+      "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
+
+(define-public pjproject-jami
+  (package
+    (inherit pjproject)
+    (name "pjproject-jami")
+    (native-inputs
+     `(("savoir-faire-linux-patches" ,(jami-source))
+       ,@(package-native-inputs pjproject)))
+    (arguments
+     `(#:tests? #f
+       ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
+       #:configure-flags
+       (list "--disable-oss"
+             "--disable-sound"
+             "--disable-video"
+             "--enable-ext-sound"
+             "--disable-speex-aec"
+             "--disable-g711-codec"
+             "--disable-l16-codec"
+             "--disable-gsm-codec"
+             "--disable-g722-codec"
+             "--disable-g7221-codec"
+             "--disable-speex-codec"
+             "--disable-ilbc-codec"
+             "--disable-opencore-amr"
+             "--disable-silk"
+             "--disable-sdl"
+             "--disable-ffmpeg"
+             "--disable-v4l2"
+             "--disable-openh264"
+             "--disable-resample"
+             "--disable-libwebrtc"
+             "--with-gnutls"
+             "--with-external-srtp"
+             ;; We need -fPIC or else we get the following error when linking
+             ;; against pjproject-jami:
+             ;;   relocation R_X86_64_32S against `.rodata' can not be used when
+             ;;   making a shared object;
+             "CFLAGS=-fPIC"
+             "CXXFLAGS=-fPIC")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-git-checkout-writable
+           (lambda _
+             (for-each make-file-writable (find-files "."))
+             #t))
+         (add-after 'unpack 'apply-patches
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
+                   ;; Comes from
+                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
+                   ;; WARNING: These amount for huge changes in pjproject.
+                   (savoir-faire-linux-patches
+                    '("fix_turn_alloc_failure"
+                      "rfc2466"
+                      "ipv6"
+                      "multiple_listeners"
+                      "pj_ice_sess"
+                      "fix_turn_fallback"
+                      "fix_ioqueue_ipv6_sendto"
+                      "add_dtls_transport"
+                      "rfc6544"
+                      "ice_config"
+                      "sip_config"
+                      "fix_first_packet_turn_tcp"
+                      "fix_ebusy_turn"
+                      "ignore_ipv6_on_transport_check"
+                      "fix_turn_connection_failure"
+                      ;; "uwp_vs" ; for windows
+                      "disable_local_resolution")))
+               (mkdir-p savoir-faire-linux-patches-directory)
+               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
+                       "-C" savoir-faire-linux-patches-directory
+                       "--strip-components=5"
+                       "ring-project/daemon/contrib/src/pjproject")
+               (for-each
+                (lambda (file)
+                  (invoke "patch" "--force" "-p1" "-i"
+                          (string-append savoir-faire-linux-patches-directory "/"
+                                         file ".patch")))
+                savoir-faire-linux-patches))
+             #t))
+         ;; TODO: We could use substitute-keyword-arguments instead of
+         ;; repeating the phases from pjproject, but somehow it does
+         ;; not work.
+         (add-before 'build 'build-dep
+           (lambda _ (invoke "make" "dep")))
+         (add-before 'patch-source-shebangs 'autoconf
+           (lambda _
+             (invoke "autoconf" "-v" "-f" "-i" "-o"
+                     "aconfigure" "aconfigure.ac")))
+         (add-before 'autoconf 'disable-some-tests
+           ;; Three of the six test programs fail due to missing network
+           ;; access.
+           (lambda _
+             (substitute* "Makefile"
+               (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
+                "selftest: pjlib-test pjlib-util-test pjmedia-test"))
+             #t)))))))
+
+(define-public libring
+  (package
+    (name "libring")
+    (version %jami-version)
+    (source (jami-source #:without-daemon #t))
+    (build-system gnu-build-system)
+    (inputs
+     ;; Missing (optional?) dep: libnatpmp.
+     `(("alsa-lib" ,alsa-lib)
+       ("boost" ,boost)
+       ("dbus-c++" ,dbus-c++)
+       ("eudev" ,eudev)
+       ("ffmpeg" ,ffmpeg)
+       ("flac" ,flac)
+       ("gmp" ,gmp)
+       ("gsm" ,gsm)
+       ("jack" ,jack-1)
+       ("jsoncpp" ,jsoncpp)
+       ("libogg" ,libogg)
+       ("libva" ,libva)
+       ("opendht" ,opendht)
+       ("opus" ,opus)
+       ("pcre" ,pcre)
+       ("pulseaudio" ,pulseaudio)
+       ("libsamplerate" ,libsamplerate)
+       ("libsndfile" ,libsndfile)
+       ("speex" ,speex)
+       ("speexdsp" ,speexdsp)
+       ("libupnp" ,libupnp)
+       ("libvorbis" ,libvorbis)
+       ("libx264" ,libx264)
+       ("libvdpau" ,libvdpau)
+       ("yaml-cpp" ,yaml-cpp)
+       ("zlib" ,zlib)
+       ("openssl" ,openssl)
+       ("libsecp256k1" ,libsecp256k1)
+       ("python" ,python)
+       ("python-wrapper" ,python-wrapper)
+       ("restinio" ,restinio)
+       ("libx11" ,libx11)
+       ("asio" ,asio)
+       ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
+       ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
+       ("pjproject" ,pjproject-jami)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)
+       ("cppunit" ,cppunit)
+       ("perl" ,perl)))                 ; Needed for documentation.
+    (arguments
+     `(#: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")
+             #t)))))
+    (synopsis "Distributed multimedia communications platform")
+    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
+video and chat communication platform that requires no centralized server and
+leaves the power of privacy in the hands of the user.  It supports the SIP and
+IAX protocols, as well as decentralized calling using P2P-DHT.
+
+This package provides a library and daemon implementing the Jami core
+functionality.")
+    (home-page "https://jami.net/")
+    (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,
+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+)))
+
+(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)
+       ("gettext" ,gnu-gettext)
+       ("libcanberra" ,libcanberra)
+       ("webkitgtk" ,webkitgtk)
+       ;; TODO: We must wrap ring-client-gnome to force using the
+       ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
+       ;; fails with:
+       ;;
+       ;;   /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
+       ;;   undefined symbol: sqlite3_column_table_name16
+       ;;
+       ;; qtbase is built against sqlite-with-column-metadata but somehow
+       ;; jami-client-gnome ends up with both `sqlite' and
+       ;; `sqlite-with-column-metadata' as inputs and it seems that
+       ;; libqsqlite.so gets confused.
+       ("sqlite" ,sqlite-with-column-metadata)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("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))
+         (add-after 'install 'wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (path (string-append (assoc-ref inputs "sqlite") "/lib")))
+               (wrap-program (string-append out "/bin/jami-gnome")
+                 `("LD_LIBRARY_PATH" ":" prefix (,path))))
+             #t)))))
+    (synopsis "Distributed, privacy-respecting communication program")
+    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
+video and chat communication platform that requires no centralized server and
+leaves the power of privacy in the hands of the user.  It supports the SIP and
+IAX protocols, as well as decentralized calling using P2P-DHT.
+
+This package provides the Jami client for the GNOME desktop.")
+    (home-page "https://jami.net")
+    (license license:gpl3+)))
+
+(define-public jami-client-gnome
+  (deprecated-package "jami-client-gnome" jami))
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 85c2f2ab5e..62bd8fd548 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -730,297 +730,6 @@ calls and messages")
 Initiation Protocol (SIP) and a multimedia framework.")
     (license license:gpl2+)))
 
-(define %jami-version "20191101.3.67671e7")
-
-(define* (jami-source #:key without-daemon)
-  (origin
-    (method url-fetch)
-    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
-                        %jami-version
-                        ".tar.gz"))
-    (modules '((guix build utils)))
-    (snippet
-     (if without-daemon
-       '(begin
-          (delete-file-recursively "daemon/contrib"))
-       #f))
-    (sha256
-     (base32
-      "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
-
-(define-public pjproject-jami
-  (package
-    (inherit pjproject)
-    (name "pjproject-jami")
-    (native-inputs
-     `(("savoir-faire-linux-patches" ,(jami-source))
-       ,@(package-native-inputs pjproject)))
-    (arguments
-     `(#:tests? #f
-       ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
-       #:configure-flags
-       (list "--disable-oss"
-             "--disable-sound"
-             "--disable-video"
-             "--enable-ext-sound"
-             "--disable-speex-aec"
-             "--disable-g711-codec"
-             "--disable-l16-codec"
-             "--disable-gsm-codec"
-             "--disable-g722-codec"
-             "--disable-g7221-codec"
-             "--disable-speex-codec"
-             "--disable-ilbc-codec"
-             "--disable-opencore-amr"
-             "--disable-silk"
-             "--disable-sdl"
-             "--disable-ffmpeg"
-             "--disable-v4l2"
-             "--disable-openh264"
-             "--disable-resample"
-             "--disable-libwebrtc"
-             "--with-gnutls"
-             "--with-external-srtp"
-             ;; We need -fPIC or else we get the following error when linking
-             ;; against pjproject-jami:
-             ;;   relocation R_X86_64_32S against `.rodata' can not be used when
-             ;;   making a shared object;
-             "CFLAGS=-fPIC"
-             "CXXFLAGS=-fPIC")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-git-checkout-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (add-after 'unpack 'apply-patches
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
-                   ;; Comes from
-                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
-                   ;; WARNING: These amount for huge changes in pjproject.
-                   (savoir-faire-linux-patches
-                    '("fix_turn_alloc_failure"
-                      "rfc2466"
-                      "ipv6"
-                      "multiple_listeners"
-                      "pj_ice_sess"
-                      "fix_turn_fallback"
-                      "fix_ioqueue_ipv6_sendto"
-                      "add_dtls_transport"
-                      "rfc6544"
-                      "ice_config"
-                      "sip_config"
-                      "fix_first_packet_turn_tcp"
-                      "fix_ebusy_turn"
-                      "ignore_ipv6_on_transport_check"
-                      "fix_turn_connection_failure"
-                      ;; "uwp_vs" ; for windows
-                      "disable_local_resolution")))
-               (mkdir-p savoir-faire-linux-patches-directory)
-               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
-                       "-C" savoir-faire-linux-patches-directory
-                       "--strip-components=5"
-                       "ring-project/daemon/contrib/src/pjproject")
-               (for-each
-                (lambda (file)
-                  (invoke "patch" "--force" "-p1" "-i"
-                          (string-append savoir-faire-linux-patches-directory "/"
-                                         file ".patch")))
-                savoir-faire-linux-patches))
-             #t))
-         ;; TODO: We could use substitute-keyword-arguments instead of
-         ;; repeating the phases from pjproject, but somehow it does
-         ;; not work.
-         (add-before 'build 'build-dep
-           (lambda _ (invoke "make" "dep")))
-         (add-before 'patch-source-shebangs 'autoconf
-           (lambda _
-             (invoke "autoconf" "-v" "-f" "-i" "-o"
-                     "aconfigure" "aconfigure.ac")))
-         (add-before 'autoconf 'disable-some-tests
-           ;; Three of the six test programs fail due to missing network
-           ;; access.
-           (lambda _
-             (substitute* "Makefile"
-               (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
-                "selftest: pjlib-test pjlib-util-test pjmedia-test"))
-             #t)))))))
-
-(define-public libring
-  (package
-    (name "libring")
-    (version %jami-version)
-    (source (jami-source #:without-daemon #t))
-    (build-system gnu-build-system)
-    (inputs
-     ;; Missing (optional?) dep: libnatpmp.
-     `(("alsa-lib" ,alsa-lib)
-       ("boost" ,boost)
-       ("dbus-c++" ,dbus-c++)
-       ("eudev" ,eudev)
-       ("ffmpeg" ,ffmpeg)
-       ("flac" ,flac)
-       ("gmp" ,gmp)
-       ("gsm" ,gsm)
-       ("jack" ,jack-1)
-       ("jsoncpp" ,jsoncpp)
-       ("libogg" ,libogg)
-       ("libva" ,libva)
-       ("opendht" ,opendht)
-       ("opus" ,opus)
-       ("pcre" ,pcre)
-       ("pulseaudio" ,pulseaudio)
-       ("libsamplerate" ,libsamplerate)
-       ("libsndfile" ,libsndfile)
-       ("speex" ,speex)
-       ("speexdsp" ,speexdsp)
-       ("libupnp" ,libupnp)
-       ("libvorbis" ,libvorbis)
-       ("libx264" ,libx264)
-       ("libvdpau" ,libvdpau)
-       ("yaml-cpp" ,yaml-cpp)
-       ("zlib" ,zlib)
-       ("openssl" ,openssl)
-       ("libsecp256k1" ,libsecp256k1)
-       ("python" ,python)
-       ("python-wrapper" ,python-wrapper)
-       ("restinio" ,restinio)
-       ("libx11" ,libx11)
-       ("asio" ,asio)
-       ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
-       ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
-       ("pjproject" ,pjproject-jami)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)
-       ("pkg-config" ,pkg-config)
-       ("which" ,which)
-       ("cppunit" ,cppunit)
-       ("perl" ,perl)))                 ; Needed for documentation.
-    (arguments
-     `(#: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")
-             #t)))))
-    (synopsis "Distributed multimedia communications platform")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides a library and daemon implementing the Jami core
-functionality.")
-    (home-page "https://jami.net/")
-    (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,
-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+)))
-
-(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)
-       ;; TODO: We must wrap ring-client-gnome to force using the
-       ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
-       ;; fails with:
-       ;;
-       ;;   /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
-       ;;   undefined symbol: sqlite3_column_table_name16
-       ;;
-       ;; qtbase is built against sqlite-with-column-metadata but somehow
-       ;; jami-client-gnome ends up with both `sqlite' and
-       ;; `sqlite-with-column-metadata' as inputs and it seems that
-       ;; libqsqlite.so gets confused.
-       ("sqlite" ,sqlite-with-column-metadata)))
-    (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))
-         (add-after 'install 'wrap
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (path (string-append (assoc-ref inputs "sqlite") "/lib")))
-               (wrap-program (string-append out "/bin/jami-gnome")
-                 `("LD_LIBRARY_PATH" ":" prefix (,path))))
-             #t)))))
-    (synopsis "Distributed, privacy-respecting communication program")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides the Jami client for the GNOME desktop.")
-    (home-page "https://jami.net")
-    (license license:gpl3+)))
-
-(define-public jami-client-gnome
-  (deprecated-package "jami-client-gnome" jami))
-
 (define-public libtgvoip
   (package
     (name "libtgvoip")
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:07 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 14/18] gnu: pjproject-jami: Bump to 2.10,
 apply new SFL patches.
Date: Tue, 21 Apr 2020 18:10:28 +0200
---
 gnu/packages/jami.scm | 34 +++++++++++++---------------------
 1 file changed, 13 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 95f34afa03..291eb8522c 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -99,13 +99,13 @@
 (define-public pjproject-jami
   (package
     (name "pjproject-jami")
-    (version "2.9")
+    (version "2.10")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/pjsip/pjproject.git")
-             (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
+             (commit "3e7b75cb2e482baee58c1991bd2fa4fb06774e0d")))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -138,7 +138,7 @@
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
+         "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))))
     (build-system gnu-build-system)
     (inputs
      `(("portaudio" ,portaudio)))
@@ -160,7 +160,7 @@
      `(#:tests? #f
        ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
        #:configure-flags
-       (list "--disable-oss"
+       (list ;;"--disable-oss" ; do we need this?
              "--disable-sound"
              "--disable-video"
              "--enable-ext-sound"
@@ -206,23 +206,15 @@
                 #:inputs inputs
                 #:dep-name "pjproject"
                 #:patches
-                '("fix_turn_alloc_failure"
-                  "rfc2466"
-                  "ipv6"
-                  "multiple_listeners"
-                  "pj_ice_sess"
-                  "fix_turn_fallback"
-                  "fix_ioqueue_ipv6_sendto"
-                  "add_dtls_transport"
-                  "rfc6544"
-                  "ice_config"
-                  "sip_config"
-                  "fix_first_packet_turn_tcp"
-                  "fix_ebusy_turn"
-                  "ignore_ipv6_on_transport_check"
-                  "fix_turn_connection_failure"
-                  "disable_local_resolution"
-                  "fix_assert_on_connection_attempt"))
+                '("0001-rfc6544"
+                  "0002-rfc2466"
+                  "0003-add-tcp-keep-alive"
+                  "0004-multiple_listeners"
+                  "0005-fix_ebusy_turn"
+                  "0006-ignore_ipv6_on_transport_check"
+                  "0007-pj_ice_sess"
+                  "0008-fix_ioqueue_ipv6_sendto"
+                  "0009-add-config-site"))
                #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:08 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 15/18] gnu: opendht: Bump to 2.0.0.
Date: Tue, 21 Apr 2020 18:10:29 +0200
---
 gnu/packages/networking.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index b767c9035a..cf865edef4 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -33,7 +33,7 @@
 ;;; Copyright © 2019 Brice Waegeneire <brice <at> waegenei.re>
 ;;; Copyright © 2019 Tonton <tonton <at> riseup.net>
 ;;; Copyright © 2019, 2020 Alex Griffin <a <at> ajgrf.com>
-;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
+;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
 ;;; Copyright © 2019 Daniel Schaefer <git <at> danielschaefer.me>
 ;;; Copyright © 2019 Diego N. Barbato <dnbarbato <at> posteo.de>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
@@ -2650,7 +2650,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
 (define-public opendht
   (package
     (name "opendht")
-    (version "2.0.0beta2")
+    (version "2.0.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2659,7 +2659,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "02ix0rvvyhq22gd5djcq84qz08ji7ln93faf23b27zjzni2klzv5"))))
+                "1q1fwk8wwk9r6bp0indpr60ql668lsk16ykslacyhrh7kg97kvhr"))))
     ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
     (build-system cmake-build-system)
     (inputs
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:08 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 13/18] gnu: pjproject,
 pjproject-jami: Remove broken pjproject package. Make pjproject-jami
 package stand-alone by moving package code from pjproject into it.
Date: Tue, 21 Apr 2020 18:10:27 +0200
---
 gnu/packages/jami.scm      | 65 ++++++++++++++++++++++++++--
 gnu/packages/telephony.scm | 86 --------------------------------------
 2 files changed, 61 insertions(+), 90 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 534958df5d..95f34afa03 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -98,11 +98,64 @@
 
 (define-public pjproject-jami
   (package
-    (inherit pjproject)
     (name "pjproject-jami")
+    (version "2.9")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pjsip/pjproject.git")
+             (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (let ((third-party-directories
+                  ;; Things we don't need:
+                  ;; BaseClasses - contains libraries from Windows SDK
+                  ;; we don't need it, at least not now.
+                  (list "BaseClasses" "g7221" "ilbc" "milenage"
+                        "speex" "threademulation" "yuv" "bdsound"
+                        "gsm" "mp3" "resample" "srtp" "webrtc"
+                        ;; Keep only resample, build and README.txt.
+                        "build/baseclasses" "build/g7221" "build/gsm"
+                        "build/ilbc" "build/milenage" "build/resample"
+                        "build/samplerate" "build/speex" "build/srtp"
+                        "build/webrtc" "build/yuv")))
+             ;; Keep only Makefiles related to resample.
+             (for-each (lambda (directory)
+                         (delete-file-recursively
+                          (string-append "third_party/" directory)))
+                       third-party-directories)
+             #t)
+           (let ((third-party-dirs
+                  (list "gsm" "ilbc" "speex" "g7221" "srtp"
+                        "portaudio" "resample")))
+             (for-each
+              (lambda (dirs)
+                (substitute* "third_party/build/os-linux.mak"
+                  (((string-append "DIRS += " dirs)) "")))
+              third-party-dirs))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("portaudio" ,portaudio)))
+    (propagated-inputs
+     ;; These packages are referenced in the Libs field of the pkg-config
+     ;; file that will be installed by pjproject.
+     `(("speex" ,speex)
+       ("libsrtp" ,libsrtp)
+       ("gnutls" ,gnutls)
+       ("resample", resample)
+       ("util-linux" ,util-linux)))
     (native-inputs
-     `(("SFL-patches" ,(jami-source))
-       ,@(package-native-inputs pjproject)))
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)
+       ("libtool" ,libtool)
+       ("SFL-patches" ,(jami-source))))
     (arguments
      `(#:tests? #f
        ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
@@ -187,7 +240,11 @@
              (substitute* "Makefile"
                (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
                 "selftest: pjlib-test pjlib-util-test pjmedia-test"))
-             #t)))))))
+             #t)))))
+    (home-page "https://www.pjsip.org")
+    (synopsis "SIP (protocol) stack used by Jami")
+    (description "Pjsip is a C library implementing the SIP protocol. This version is highly modified for use in GNU Jami.")
+    (license license:gpl2+)))
 
 (define-public ffmpeg-jami
   (let ((commit "59da9dcd7ef6277e4e04998ced71b05a6083c635")
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 59cd06f6f5..b3d2b8bc70 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -644,92 +644,6 @@ phone to IP phone communication or in a network using a SIP proxy to route your
 calls and messages")
     (license license:gpl2+)))
 
-(define-public pjproject
-  (package
-    (name "pjproject")
-    (version "2.9")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/pjsip/pjproject.git")
-             (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
-       (modules '((guix build utils)))
-       (snippet
-        '(begin
-           (let ((third-party-directories
-                  ;; Things we don't need:
-                  ;; BaseClasses - contains libraries from Windows SDK
-                  ;; we don't need it, at least not now.
-                  (list "BaseClasses" "g7221" "ilbc" "milenage"
-                        "speex" "threademulation" "yuv" "bdsound"
-                        "gsm" "mp3" "resample" "srtp" "webrtc"
-                        ;; Keep only resample, build and README.txt.
-                        "build/baseclasses" "build/g7221" "build/gsm"
-                        "build/ilbc" "build/milenage" "build/resample"
-                        "build/samplerate" "build/speex" "build/srtp"
-                        "build/webrtc" "build/yuv")))
-             ;; Keep only Makefiles related to resample.
-             (for-each (lambda (directory)
-                         (delete-file-recursively
-                          (string-append "third_party/" directory)))
-                       third-party-directories)
-             #t)
-           (let ((third-party-dirs
-                  (list "gsm" "ilbc" "speex" "g7221" "srtp"
-                        "portaudio" "resample")))
-             (for-each
-              (lambda (dirs)
-                (substitute* "third_party/build/os-linux.mak"
-                  (((string-append "DIRS += " dirs)) "")))
-              third-party-dirs))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
-    (build-system gnu-build-system)
-    (inputs
-     `(("portaudio" ,portaudio)))
-    (propagated-inputs
-     ;; These packages are referenced in the Libs field of the pkg-config
-     ;; file that will be installed by pjproject.
-     `(("speex" ,speex)
-       ("libsrtp" ,libsrtp)
-       ("gnutls" ,gnutls)
-       ("resample", resample)
-       ("util-linux" ,util-linux)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("pkg-config" ,pkg-config)
-       ("libtool" ,libtool)))
-    (arguments
-     `( ;; FIXME make: No rule to make target
-       ;; 'pjlib-test-unknown-[something]-gnu'.
-       #:tests? #f
-                ;; #:test-target "selftest"
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'build-dep
-           (lambda _ (invoke "make" "dep")))
-         (add-before 'patch-source-shebangs 'autoconf
-           (lambda _
-             (invoke "autoconf" "-v" "-f" "-i" "-o"
-                     "aconfigure" "aconfigure.ac")))
-         (add-before 'autoconf 'disable-some-tests
-           ;; Three of the six test programs fail due to missing network
-           ;; access.
-           (lambda _
-             (substitute* "Makefile"
-               (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
-                "selftest: pjlib-test pjlib-util-test pjmedia-test"))
-             #t)))))
-    (home-page "https://www.pjsip.org")
-    (synopsis "Session Initiation Protocol (SIP) stack")
-    (description "PJProject provides an implementation of the Session
-Initiation Protocol (SIP) and a multimedia framework.")
-    (license license:gpl2+)))
-
 (define-public libtgvoip
   (package
     (name "libtgvoip")
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:09 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 03/18] gnu: jami.scm: Add and use a generalized procedure for
 applying patches made by Savoir-faire linux to Jami dependencies.
Date: Tue, 21 Apr 2020 18:10:17 +0200
---
 gnu/packages/jami.scm | 82 +++++++++++++++++++++++++------------------
 1 file changed, 47 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 44a57c9bfb..3a50cef18a 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -77,12 +77,31 @@
      (base32
       "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
 
+;; Savoir-Faire Linux modifies many libraries to add features
+;; to Jami. This procedure makes applying patches to a given
+;; package easy.
+(define-public 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))
+       (for-each
+        (lambda (file)
+          (invoke "patch" "--force" "-p1" "-i"
+                  (string-append patches-directory "/"
+                                 file ".patch")))
+        patches))))
+
 (define-public pjproject-jami
   (package
     (inherit pjproject)
     (name "pjproject-jami")
     (native-inputs
-     `(("savoir-faire-linux-patches" ,(jami-source))
+     `(("SFL-patches" ,(jami-source))
        ,@(package-native-inputs pjproject)))
     (arguments
      `(#:tests? #f
@@ -116,6 +135,8 @@
              ;;   making a shared object;
              "CFLAGS=-fPIC"
              "CXXFLAGS=-fPIC")
+       #:modules ((guix build utils)
+                  ,@(@@ (guix build-system gnu) %default-modules))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'make-git-checkout-writable
@@ -124,40 +145,31 @@
              #t))
          (add-after 'unpack 'apply-patches
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
-                   ;; Comes from
-                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
-                   ;; WARNING: These amount for huge changes in pjproject.
-                   (savoir-faire-linux-patches
-                    '("fix_turn_alloc_failure"
-                      "rfc2466"
-                      "ipv6"
-                      "multiple_listeners"
-                      "pj_ice_sess"
-                      "fix_turn_fallback"
-                      "fix_ioqueue_ipv6_sendto"
-                      "add_dtls_transport"
-                      "rfc6544"
-                      "ice_config"
-                      "sip_config"
-                      "fix_first_packet_turn_tcp"
-                      "fix_ebusy_turn"
-                      "ignore_ipv6_on_transport_check"
-                      "fix_turn_connection_failure"
-                      ;; "uwp_vs" ; for windows
-                      "disable_local_resolution")))
-               (mkdir-p savoir-faire-linux-patches-directory)
-               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
-                       "-C" savoir-faire-linux-patches-directory
-                       "--strip-components=5"
-                       "ring-project/daemon/contrib/src/pjproject")
-               (for-each
-                (lambda (file)
-                  (invoke "patch" "--force" "-p1" "-i"
-                          (string-append savoir-faire-linux-patches-directory "/"
-                                         file ".patch")))
-                savoir-faire-linux-patches))
-             #t))
+             (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
+               ;; Comes from
+               ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
+               ;; WARNING: These amount for huge changes in pjproject.
+               (jami-apply-dependency-patches
+                #:inputs inputs
+                #:dep-name "pjproject"
+                #:patches
+                '("fix_turn_alloc_failure"
+                  "rfc2466"
+                  "ipv6"
+                  "multiple_listeners"
+                  "pj_ice_sess"
+                  "fix_turn_fallback"
+                  "fix_ioqueue_ipv6_sendto"
+                  "add_dtls_transport"
+                  "rfc6544"
+                  "ice_config"
+                  "sip_config"
+                  "fix_first_packet_turn_tcp"
+                  "fix_ebusy_turn"
+                  "ignore_ipv6_on_transport_check"
+                  "fix_turn_connection_failure"
+                  "disable_local_resolution"))
+               #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
          ;; not work.
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:09 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 16/18] gnu: jami: Bump to 20200401.1.6f090de.
Date: Tue, 21 Apr 2020 18:10:30 +0200
---
 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 291eb8522c..50bcd63a35 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -59,7 +59,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20191101.3.67671e7")
+(define %jami-version "20200401.1.6f090de")
 
 (define* (jami-source #:key without-daemon)
   (origin
@@ -75,7 +75,7 @@
          #f))
     (sha256
      (base32
-      "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
+      "0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh"))))
 
 ;; Savoir-Faire Linux modifies many libraries to add features
 ;; to Jami. This procedure makes applying patches to a given
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:09 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 17/18] gnu: jami: Replace gnu-gettext with gettext-minimal,
 just like on master.
Date: Tue, 21 Apr 2020 18:10:31 +0200
---
 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 50bcd63a35..b441e5e426 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -616,7 +616,7 @@ This package provides a library common to all Jami clients.")
        ("sqlite" ,sqlite-with-column-metadata)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("gettext" ,gnu-gettext)
+       ("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
        ("doxygen" ,doxygen)))
     (propagated-inputs
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 21 Apr 2020 16:12:10 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH 18/18] gnu: pjproject-jami: Add the missing,
 linux-only "--enable-epoll" flag.
Date: Tue, 21 Apr 2020 18:10:32 +0200
---
 gnu/packages/jami.scm | 60 ++++++++++++++++++++++++-------------------
 1 file changed, 33 insertions(+), 27 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index b441e5e426..a61b1b6043 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -32,6 +32,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages hurd)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages multiprecision)
@@ -161,33 +162,38 @@
        ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
        #:configure-flags
        (list ;;"--disable-oss" ; do we need this?
-             "--disable-sound"
-             "--disable-video"
-             "--enable-ext-sound"
-             "--disable-speex-aec"
-             "--disable-g711-codec"
-             "--disable-l16-codec"
-             "--disable-gsm-codec"
-             "--disable-g722-codec"
-             "--disable-g7221-codec"
-             "--disable-speex-codec"
-             "--disable-ilbc-codec"
-             "--disable-opencore-amr"
-             "--disable-silk"
-             "--disable-sdl"
-             "--disable-ffmpeg"
-             "--disable-v4l2"
-             "--disable-openh264"
-             "--disable-resample"
-             "--disable-libwebrtc"
-             "--with-gnutls"
-             "--with-external-srtp"
-             ;; We need -fPIC or else we get the following error when linking
-             ;; against pjproject-jami:
-             ;;   relocation R_X86_64_32S against `.rodata' can not be used when
-             ;;   making a shared object;
-             "CFLAGS=-fPIC"
-             "CXXFLAGS=-fPIC")
+        "--disable-sound"
+        "--disable-video"
+        ;; The following flag is linux specific
+        ,@(if (hurd-triplet? (or (%current-system)
+                                 (%current-target-system)))
+              '("--enable-epoll")
+              '())
+        "--enable-ext-sound"
+        "--disable-speex-aec"
+        "--disable-g711-codec"
+        "--disable-l16-codec"
+        "--disable-gsm-codec"
+        "--disable-g722-codec"
+        "--disable-g7221-codec"
+        "--disable-speex-codec"
+        "--disable-ilbc-codec"
+        "--disable-opencore-amr"
+        "--disable-silk"
+        "--disable-sdl"
+        "--disable-ffmpeg"
+        "--disable-v4l2"
+        "--disable-openh264"
+        "--disable-resample"
+        "--disable-libwebrtc"
+        "--with-gnutls"
+        "--with-external-srtp"
+        ;; We need -fPIC or else we get the following error when linking
+        ;; against pjproject-jami:
+        ;;   relocation R_X86_64_32S against `.rodata' can not be used when
+        ;;   making a shared object;
+        "CFLAGS=-fPIC"
+        "CXXFLAGS=-fPIC")
        #:modules ((guix build utils)
                   ,@(@@ (guix build-system gnu) %default-modules))
        #:phases
-- 
2.26.1





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 09:00:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 01/18] gnu: jami: Move Jami and its
 dependencies to jami.scm.
Date: Wed, 22 Apr 2020 10:59:39 +0200
Hello Jan,

Thanks for the updated serie. I see it has shrunk a bit, which is good!
First two general remarks. As explained by Christopher, you need to
make sure that you pass the version of the patchset to git.

You also need to write commit messages respecting this
https://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs
as I already told you.

> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>

Why is Pierre copyright here?

> +;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>

I'm not sure what's the copyright policy when moving stuff to new
files. Someone?

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 09:08:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 03/18] gnu: jami.scm: Add and use a
 generalized procedure for applying patches made by Savoir-faire linux to Jami
 dependencies.
Date: Wed, 22 Apr 2020 11:07:41 +0200
> +;; Savoir-Faire Linux modifies many libraries to add features
> +;; to Jami. This procedure makes applying patches to a given
> +;; package easy.
> +(define-public jami-apply-dependency-patches

This does not need to be public.

> -     `(("savoir-faire-linux-patches" ,(jami-source))
> +     `(("SFL-patches" ,(jami-source))

I do prefer the old version without upper case.

> +       #:modules ((guix build utils)
> +                  ,@(@@ (guix build-system gnu) %default-modules))

pjproject is using the gnu-build-system which should provide all those
modules, so I don't think you need this.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 09:28:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 04/18] gnu: Add libnatpmp.
Date: Wed, 22 Apr 2020 11:27:37 +0200
> +         (delete 'configure)
> +         (delete 'check))

Please add a ;no tests comment.

I guess we are dealing with a raw Makefile here. This is bad news
because it means that cross-compilation is almost always broken.

You can run:

--8<---------------cut here---------------start------------->8---
guix build --target=aarch64-linux-gnu libnatpmp
--8<---------------cut here---------------end--------------->8---

to check it. Then, you probably need to do something similar as what is
done in package "iw" (set CC variable at least).


> +       #:make-flags
> +       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
> +    (home-page "http://miniupnp.free.fr/libnatpmp.html")
> +    (synopsis "C library implementing NAT-PMP")
> +    (description
> +     "libnatpmp is a portable and asynchronous implementaiton of
           ^
       @code{libnatpmp}                                    ^
                                                          typo
Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 09:33:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 11/18] gnu: pjproject: Fix formatting.
Date: Wed, 22 Apr 2020 11:32:16 +0200
>         #:tests? #f
> -       ;; #:test-target "selftest"
> +                ;; #:test-target "selftest"

Indentation seems off here. Maybe you can drop this patch.

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 09:40:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 13/18] gnu: pjproject,
 pjproject-jami: Remove broken pjproject package. Make pjproject-jami
 package stand-alone by moving package code from pjproject into it.
Date: Wed, 22 Apr 2020 11:39:11 +0200
>  
>  (define-public pjproject-jami
>    (package
> -    (inherit pjproject)
>      (name "pjproject-jami")
> +    (version "2.9")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/pjsip/pjproject.git")
> +             (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
> +       (modules '((guix build utils)))

pjproject is used by packages such as asterisk (not yet packaged). So I
would prefer to keep pjproject, even if it's currently broken.

WDYT?

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 09:42:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 14/18] gnu: pjproject-jami: Bump to 2.10,
 apply new SFL patches.
Date: Wed, 22 Apr 2020 11:40:57 +0200
> -       (list "--disable-oss"
> +       (list ;;"--disable-oss" ; do we need this?

Do not introduce commented code. If you think we do not need this flag,
you can remove it and explain why in the commit message.

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 09:45:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 18/18] gnu: pjproject-jami: Add the missing,
 linux-only "--enable-epoll" flag.
Date: Wed, 22 Apr 2020 11:44:24 +0200
> -             "--disable-l16-codec"
> -             "--disable-gsm-codec"
> -             "--disable-g722-codec"
> -             "--disable-g7221-codec"
> -             "--disable-speex-codec"

You should fix indentation in a separate commit, otherwise its hard to
see get what's going on here.

> +        ;; The following flag is linux specific
> +        ,@(if (hurd-triplet? (or (%current-system)
> +                                 (%current-target-system)))
> +              '("--enable-epoll")
> +              '())

Don't we want to add this flag only on Linux platform? I think you
should transpose the if branches.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 10:44:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 01/18] gnu: jami: Move Jami and its
 dependencies to jami.scm.
Date: Wed, 22 Apr 2020 12:42:53 +0200
On Wed, 22 Apr 2020 10:59:39 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> Hello Jan,
> 
> Thanks for the updated serie. I see it has shrunk a bit, which is
> good! First two general remarks. As explained by Christopher, you
> need to make sure that you pass the version of the patchset to git.
I passed the "-v2", didn't it wrok?

> You also need to write commit messages respecting this
> https://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs
> as I already told you.
I have to read it one more time then, it's a bit unintuitive and
complicated.

> > +;;; GNU Guix --- Functional package management for GNU
> > +;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>  
> 
> Why is Pierre copyright here?
As far as I know he was an original author or maintainer of the
packages.
Isn't it required when copying a copyrighted work?

> > +;;; Copyright © 2019, 2020 Jan Wielkiewicz
> > <tona_kosmicznego_smiecia <at> interia.pl>  
> 
> I'm not sure what's the copyright policy when moving stuff to new
> files. Someone?
> 
> Thanks,
> 
> Mathieu


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 11:43:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 13/18] gnu: pjproject, pjproject-jami:
 Remove broken pjproject package. Make pjproject-jami package stand-alone by
 moving package code from pjproject into it.
Date: Wed, 22 Apr 2020 13:42:08 +0200
On Wed, 22 Apr 2020 11:39:11 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> >  
> >  (define-public pjproject-jami
> >    (package
> > -    (inherit pjproject)
> >      (name "pjproject-jami")
> > +    (version "2.9")
> > +    (source
> > +     (origin
> > +       (method git-fetch)
> > +       (uri (git-reference
> > +             (url "https://github.com/pjsip/pjproject.git")
> > +             (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
> > +       (modules '((guix build utils)))  
> 
> pjproject is used by packages such as asterisk (not yet packaged). So
> I would prefer to keep pjproject, even if it's currently broken.
> 
> WDYT?
> 
> Mathieu

Should I revert the change and make pjproject-jami inherit from it
again? Is inheriting from a dead package even worth it for just two
packages?
Moving the code from pjproject to pjproject-jami actually made it easier
to maintain. If someone packages asteriks, they will have to copy the
code, modify it with configure flags, add missing dependencies and use
a different version, because Jami uses a custom version so patching
work.

We can keep the broken package, but I would like to keep my
pjproject-jami without inheritance as it is after my changes.
It is just easier to maintain this way.

But if I'm wrong, then I can just inherit from pjproject as it was
before. I'm not an experienced contributor after all.


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 11:43:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 01/18] gnu: jami: Move Jami and its
 dependencies to jami.scm.
Date: Wed, 22 Apr 2020 13:42:33 +0200
> I passed the "-v2", didn't it wrok?

No, I would expect the patch subject to look like "[PATCH v2 x/y]". What
I do is to run git format-patch this way:

--8<---------------cut here---------------start------------->8---
git format-patch -4 --cover-letter --subject-prefix="PATCH v2"
--8<---------------cut here---------------end--------------->8---

there might better ways though.

>
>> You also need to write commit messages respecting this
>> https://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs
>> as I already told you.
> I have to read it one more time then, it's a bit unintuitive and
> complicated.

Yes, you can browse the git log for examples.

>
>> > +;;; GNU Guix --- Functional package management for GNU
>> > +;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>  
>> 
>> Why is Pierre copyright here?
> As far as I know he was an original author or maintainer of the
> packages.
> Isn't it required when copying a copyrighted work?

Ok, then you might want to add Ludo and Vincent copyrights that appear
to have modified those packages according to git blame.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 22 Apr 2020 16:09:01 GMT) Full text and rfc822 format available.

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

From: Christopher Baines <mail <at> cbaines.net>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org,
 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: Re: [bug#40677] [PATCH 01/18] gnu: jami: Move Jami and its
 dependencies to jami.scm.
Date: Wed, 22 Apr 2020 17:08:36 +0100
[Message part 1 (text/plain, inline)]
Mathieu Othacehe <m.othacehe <at> gmail.com> writes:

> Thanks for the updated serie. I see it has shrunk a bit, which is good!
> First two general remarks. As explained by Christopher, you need to
> make sure that you pass the version of the patchset to git.

Well, passing the version isn't a very hard requirement. But it can be
helpful when working out what's the latest set of patches.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Mon, 27 Apr 2020 22:56:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 04/18] gnu: Add libnatpmp.
Date: Tue, 28 Apr 2020 00:55:00 +0200
On Wed, 22 Apr 2020 11:27:37 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> > +         (delete 'configure)
> > +         (delete 'check))  
> 
> Please add a ;no tests comment.
Done.

> I guess we are dealing with a raw Makefile here. This is bad news
> because it means that cross-compilation is almost always broken.
> 
> You can run:
> 
> --8<---------------cut here---------------start------------->8---
> guix build --target=aarch64-linux-gnu libnatpmp
> --8<---------------cut here---------------end--------------->8---

It was built successfully, it works then I guess.


> to check it. Then, you probably need to do something similar as what
> is done in package "iw" (set CC variable at least).
Where can I read about this CC thing more? Is it needed when
cross-compilation works? 
> 
> > +       #:make-flags
> > +       (list (string-append "PREFIX=" (assoc-ref %outputs
> > "out")))))
> > +    (home-page "http://miniupnp.free.fr/libnatpmp.html")
> > +    (synopsis "C library implementing NAT-PMP")
> > +    (description
> > +     "libnatpmp is a portable and asynchronous implementaiton of  
>            ^
>        @code{libnatpmp}                                    ^
>                                                           typo
Fixed.

> Thanks,
> 
> Mathieu


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Mon, 27 Apr 2020 23:19:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 01/18] gnu: jami: Move Jami and its
 dependencies to jami.scm.
Date: Tue, 28 Apr 2020 01:18:44 +0200
Hello,

one more question about writing these commit messages. Do you want me
to correct just the patch fixing downloading or the whole patch series?
As for the rest, I almost corrected everything.


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 28 Apr 2020 07:16:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 01/18] gnu: jami: Move Jami and its
 dependencies to jami.scm.
Date: Tue, 28 Apr 2020 09:14:51 +0200
Hello Jan,

> one more question about writing these commit messages. Do you want me
> to correct just the patch fixing downloading or the whole patch series?
> As for the rest, I almost corrected everything.

No the whole patch serie, you can have a look to the git log for
examples. Good job fixing the rest :)

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 28 Apr 2020 07:20:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 04/18] gnu: Add libnatpmp.
Date: Tue, 28 Apr 2020 09:19:01 +0200
Hello,

>> --8<---------------cut here---------------start------------->8---
>> guix build --target=aarch64-linux-gnu libnatpmp
>> --8<---------------cut here---------------end--------------->8---
>
> It was built successfully, it works then I guess.
>
>
>> to check it. Then, you probably need to do something similar as what
>> is done in package "iw" (set CC variable at least).
> Where can I read about this CC thing more? Is it needed when
> cross-compilation works? 

The build may succeed but if the native GCC compiler was picked, then
it's a native build and not a cross-build. You can run the following
command:

--8<---------------cut here---------------start------------->8---
file the-binary-or-library
--8<---------------cut here---------------end--------------->8---

and see what it reports. You can also have a look to maradns package
for an example of how to deal with CC variable.

Don't hesitate if you have further questions,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 29 Apr 2020 22:32:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 04/18] gnu: Add libnatpmp.
Date: Thu, 30 Apr 2020 00:31:23 +0200
On Tue, 28 Apr 2020 09:19:01 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> Hello,
> 
> >> --8<---------------cut here---------------start------------->8---
> >> guix build --target=aarch64-linux-gnu libnatpmp
> >> --8<---------------cut here---------------end--------------->8---  
> >
> > It was built successfully, it works then I guess.
> >
> >  
> >> to check it. Then, you probably need to do something similar as
> >> what is done in package "iw" (set CC variable at least).  
> > Where can I read about this CC thing more? Is it needed when
> > cross-compilation works?   
> 
> The build may succeed but if the native GCC compiler was picked, then
> it's a native build and not a cross-build. You can run the following
> command:
> 
> --8<---------------cut here---------------start------------->8---
> file the-binary-or-library
> --8<---------------cut here---------------end--------------->8---
> 
> and see what it reports. You can also have a look to maradns package
> for an example of how to deal with CC variable.
> 
> Don't hesitate if you have further questions,
> 
> Mathieu

I copied the code from the "iw" package, and the output of file is
now "ARM aarch64" instead of the previous "x86-64". That's success,
right?


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Thu, 30 Apr 2020 07:06:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH 04/18] gnu: Add libnatpmp.
Date: Thu, 30 Apr 2020 09:04:57 +0200
> I copied the code from the "iw" package, and the output of file is
> now "ARM aarch64" instead of the previous "x86-64". That's success,
> right?

Yes it looks good!

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:26:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 05/15] gnu: libring: Add libnatpmp as an optional
 dependency.
Date: Sat,  2 May 2020 03:14:40 +0200
* gnu/packages/jami.scm (libring)[inputs]: Add libnatpmp.
This library isn't mandatory, but it works better with new
routers than libupnp.
---
 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 2bee3ac143..8d34029918 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -193,7 +193,6 @@
     (source (jami-source #:without-daemon #t))
     (build-system gnu-build-system)
     (inputs
-     ;; Missing (optional?) dep: libnatpmp.
      `(("alsa-lib" ,alsa-lib)
        ("boost" ,boost)
        ("dbus-c++" ,dbus-c++)
@@ -204,6 +203,7 @@
        ("gsm" ,gsm)
        ("jack" ,jack-1)
        ("jsoncpp" ,jsoncpp)
+       ("libnatpmp" ,libnatpmp)
        ("libogg" ,libogg)
        ("libva" ,libva)
        ("opendht" ,opendht)
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:26:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 03/15] gnu: jami.scm: Add and use a generalized procedure
 for applying patches to Jami dependencies.
Date: Sat,  2 May 2020 03:14:38 +0200
* gnu/packages/jami.scm
(jami-apply-dependency-patches): Add procedure.
(pjproject-jami)[arguments]: Use it. Remove the old one.
[native-inputs]: Rename the source to sfl-patches
in order to satisfy the procedure.
---
 gnu/packages/jami.scm | 80 ++++++++++++++++++++++++-------------------
 1 file changed, 45 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 44a57c9bfb..2bee3ac143 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -77,12 +77,31 @@
      (base32
       "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
 
+;; Savoir-Faire Linux modifies many libraries to add features
+;; to Jami. This procedure makes applying patches to a given
+;; 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))
+       (for-each
+        (lambda (file)
+          (invoke "patch" "--force" "-p1" "-i"
+                  (string-append patches-directory "/"
+                                 file ".patch")))
+        patches))))
+
 (define-public pjproject-jami
   (package
     (inherit pjproject)
     (name "pjproject-jami")
     (native-inputs
-     `(("savoir-faire-linux-patches" ,(jami-source))
+     `(("sfl-patches" ,(jami-source))
        ,@(package-native-inputs pjproject)))
     (arguments
      `(#:tests? #f
@@ -124,40 +143,31 @@
              #t))
          (add-after 'unpack 'apply-patches
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
-                   ;; Comes from
-                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
-                   ;; WARNING: These amount for huge changes in pjproject.
-                   (savoir-faire-linux-patches
-                    '("fix_turn_alloc_failure"
-                      "rfc2466"
-                      "ipv6"
-                      "multiple_listeners"
-                      "pj_ice_sess"
-                      "fix_turn_fallback"
-                      "fix_ioqueue_ipv6_sendto"
-                      "add_dtls_transport"
-                      "rfc6544"
-                      "ice_config"
-                      "sip_config"
-                      "fix_first_packet_turn_tcp"
-                      "fix_ebusy_turn"
-                      "ignore_ipv6_on_transport_check"
-                      "fix_turn_connection_failure"
-                      ;; "uwp_vs" ; for windows
-                      "disable_local_resolution")))
-               (mkdir-p savoir-faire-linux-patches-directory)
-               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
-                       "-C" savoir-faire-linux-patches-directory
-                       "--strip-components=5"
-                       "ring-project/daemon/contrib/src/pjproject")
-               (for-each
-                (lambda (file)
-                  (invoke "patch" "--force" "-p1" "-i"
-                          (string-append savoir-faire-linux-patches-directory "/"
-                                         file ".patch")))
-                savoir-faire-linux-patches))
-             #t))
+             (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
+               ;; Comes from
+               ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
+               ;; WARNING: These amount for huge changes in pjproject.
+               (jami-apply-dependency-patches
+                #:inputs inputs
+                #:dep-name "pjproject"
+                #:patches
+                '("fix_turn_alloc_failure"
+                  "rfc2466"
+                  "ipv6"
+                  "multiple_listeners"
+                  "pj_ice_sess"
+                  "fix_turn_fallback"
+                  "fix_ioqueue_ipv6_sendto"
+                  "add_dtls_transport"
+                  "rfc6544"
+                  "ice_config"
+                  "sip_config"
+                  "fix_first_packet_turn_tcp"
+                  "fix_ebusy_turn"
+                  "ignore_ipv6_on_transport_check"
+                  "fix_turn_connection_failure"
+                  "disable_local_resolution"))
+               #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
          ;; not work.
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:26:03 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 12/15] gnu: jami: Bump to 20200401.1.6f090de.
Date: Sat,  2 May 2020 03:14:47 +0200
* gnu/packages/jami.scm (%jami-version): Change to 20200401.1.6f090de.
(jami-source): Adjust the control sum.
---
 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 86745e8be1..4b2a553f71 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -59,7 +59,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20191101.3.67671e7")
+(define %jami-version "20200401.1.6f090de")
 
 (define* (jami-source #:key without-daemon)
   (origin
@@ -75,7 +75,7 @@
          #f))
     (sha256
      (base32
-      "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
+      "0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh"))))
 
 ;; Savoir-Faire Linux modifies many libraries to add features
 ;; to Jami. This procedure makes applying patches to a given
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:26:03 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 04/15] gnu: Add libnatpmp.
Date: Sat,  2 May 2020 03:14:39 +0200
* gnu/packages/networking.scm (libnatpmp): New variable.
---
 gnu/packages/networking.scm | 40 +++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 94b521584f..603d8b8e3a 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -426,6 +426,46 @@ between different versions of ØMQ.")
 files contain direct mappings of the abstractions provided by the ØMQ C API.")
     (license license:expat)))
 
+(define-public libnatpmp
+  (package
+    (name "libnatpmp")
+    (version "20150609")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://miniupnp.free.fr/files/"
+                    name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'check)) ; no tests
+       #:make-flags
+       (let* ((target ,(%current-target-system))
+              (gcc (if target (string-append target "-gcc") "gcc"))
+              (pkg-config (if target
+                              (string-append target "-pkg-config")
+                              "pkg-config")))
+         (list
+          (string-append "CC=" gcc)
+          (string-append "PKG_CONFIG="
+                         (assoc-ref %build-inputs "pkg-config")
+                         "/bin/" pkg-config)
+          (string-append "PREFIX=" (assoc-ref %outputs "out"))))))
+    (home-page "http://miniupnp.free.fr/libnatpmp.html")
+    (synopsis "C library implementing NAT-PMP")
+    (description
+     "@code{libnatpmp} is a portable and asynchronous implementation of
+the Network Address Translation - Port Mapping Protocol (NAT-PMP)
+written in the C programming language.")
+    (license license:bsd-3)))
+
 (define-public librdkafka
   (package
     (name "librdkafka")
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:27:01 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Sat,  2 May 2020 03:14:42 +0200
This package is needed, because Jami uses a modified version
of ffmpeg, which provides GPU hardware acceleration, automatical
adapting of bitrate and extra codecs.

* gnu/packages/jami.scm (ffmpeg-jami): New variable.
---
 gnu/packages/jami.scm | 239 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 239 insertions(+)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 8d34029918..0fc03b6088 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -186,6 +186,245 @@
                 "selftest: pjlib-test pjlib-util-test pjmedia-test"))
              #t)))))))
 
+(define-public ffmpeg-jami
+  (let ((commit "59da9dcd7ef6277e4e04998ced71b05a6083c635")
+        (revision "0"))
+    (package
+      (inherit ffmpeg)
+      (name "ffmpeg-jami")
+      (version (git-version "4.2.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.ffmpeg.org/ffmpeg.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0cm58kd06lvslc7knnfajv5p63v4cc6502badjcic5m9izd03lz2"))))
+      (native-inputs
+       `(("SFL-patches" ,(jami-source))
+         ("libiconv" ,libiconv)
+         ,@(package-native-inputs ffmpeg)))
+      (arguments
+       (append
+        '(#:tests? #f)
+        (substitute-keyword-arguments (package-arguments ffmpeg)
+          ((#:configure-flags '())
+           (append '("--disable-everything"
+                     "--enable-zlib"
+                     "--enable-gpl"
+                     "--enable-swscale"
+                     "--enable-bsfs"
+                     "--disable-filters"
+                     "--disable-programs"
+                     "--disable-postproc"
+                     "--disable-protocols"
+                     "--enable-protocol=crypto"
+                     "--enable-protocol=file"
+                     "--enable-protocol=rtp"
+                     "--enable-protocol=srtp"
+                     "--enable-protocol=tcp"
+                     "--enable-protocol=udp"
+                     "--enable-protocol=unix"
+                     "--enable-protocol=pipe"
+                     ;; enable muxers/demuxers
+                     "--disable-demuxers"
+                     "--disable-muxers"
+                     "--enable-muxer=rtp"
+                     "--enable-muxer=g722"
+                     "--enable-muxer=h263"
+                     "--enable-muxer=h264"
+                     "--enable-muxer=hevc"
+                     "--enable-muxer=webm"
+                     "--enable-muxer=ogg"
+                     "--enable-muxer=pcm_s16be"
+                     "--enable-muxer=pcm_s16le"
+                     "--enable-demuxer=rtp"
+                     "--enable-demuxer=mjpeg"
+                     "--enable-demuxer=mjpeg_2000"
+                     "--enable-demuxer=mpegvideo"
+                     "--enable-demuxer=gif"
+                     "--enable-demuxer=image_jpeg_pipe"
+                     "--enable-demuxer=image_png_pipe"
+                     "--enable-demuxer=image_webp_pipe"
+                     "--enable-demuxer=matroska"
+                     "--enable-demuxer=m4v"
+                     "--enable-demuxer=mp3"
+                     "--enable-demuxer=ogg"
+                     "--enable-demuxer=flac"
+                     "--enable-demuxer=wav"
+                     "--enable-demuxer=ac3"
+                     "--enable-demuxer=g722"
+                     "--enable-demuxer=pcm_mulaw"
+                     "--enable-demuxer=pcm_alaw"
+                     "--enable-demuxer=pcm_s16be"
+                     "--enable-demuxer=pcm_s16le"
+                     "--enable-demuxer=h263"
+                     "--enable-demuxer=h264"
+                     "--enable-demuxer=hevc"
+                     ;; enable parsers
+                     "--enable-parser=h263"
+                     "--enable-parser=h264"
+                     "--enable-parser=mpeg4video"
+                     "--enable-parser=vp8"
+                     "--enable-parser=vp9"
+                     "--enable-parser=opus"
+                     ;; encoders/decoders
+                     "--enable-encoder=adpcm_g722"
+                     "--enable-decoder=adpcm_g722"
+                     "--enable-encoder=rawvideo"
+                     "--enable-decoder=rawvideo"
+                     "--enable-encoder=libx264"
+                     "--enable-decoder=h264"
+                     "--enable-encoder=pcm_alaw"
+                     "--enable-decoder=pcm_alaw"
+                     "--enable-encoder=pcm_mulaw"
+                     "--enable-decoder=pcm_mulaw"
+                     "--enable-encoder=mpeg4"
+                     "--enable-decoder=mpeg4"
+                     "--enable-encoder=libvpx_vp8"
+                     "--enable-decoder=vp8"
+                     "--enable-decoder=vp9"
+                     "--enable-encoder=h263"
+                     "--enable-encoder=h263p"
+                     "--enable-decoder=h263"
+                     "--enable-encoder=mjpeg"
+                     "--enable-decoder=mjpeg"
+                     "--enable-decoder=mjpegb"
+                     "--enable-libspeex"
+                     "--enable-libopus"
+                     "--enable-libvpx"
+                     "--enable-libx264"
+                     "--enable-encoder=libspeex"
+                     "--enable-decoder=libspeex"
+                     "--enable-encoder=libopus"
+                     "--enable-decoder=libopus"
+                     ;; decoders for ringtones and audio streaming
+                     "--enable-decoder=flac"
+                     "--enable-decoder=vorbis"
+                     "--enable-decoder=aac"
+                     "--enable-decoder=ac3"
+                     "--enable-decoder=eac3"
+                     "--enable-decoder=mp3"
+                     "--enable-decoder=pcm_u24be"
+                     "--enable-decoder=pcm_u24le"
+                     "--enable-decoder=pcm_u32be"
+                     "--enable-decoder=pcm_u32le"
+                     "--enable-decoder=pcm_u8"
+                     "--enable-decoder=pcm_f16le"
+                     "--enable-decoder=pcm_f24le"
+                     "--enable-decoder=pcm_f32be"
+                     "--enable-decoder=pcm_f32le"
+                     "--enable-decoder=pcm_f64be"
+                     "--enable-decoder=pcm_f64le"
+                     "--enable-decoder=pcm_s16be"
+                     "--enable-decoder=pcm_s16be_planar"
+                     "--enable-decoder=pcm_s16le"
+                     "--enable-decoder=pcm_s16le_planar"
+                     "--enable-decoder=pcm_s24be"
+                     "--enable-decoder=pcm_s24le"
+                     "--enable-decoder=pcm_s24le_planar"
+                     "--enable-decoder=pcm_s32be"
+                     "--enable-decoder=pcm_s32le"
+                     "--enable-decoder=pcm_s32le_planar"
+                     "--enable-decoder=pcm_s64be"
+                     "--enable-decoder=pcm_s64le"
+                     "--enable-decoder=pcm_s8"
+                     "--enable-decoder=pcm_s8_planar"
+                     "--enable-decoder=pcm_u16be"
+                     "--enable-decoder=pcm_u16le"
+                     ;; encoders/decoders for images
+                     "--enable-encoder=gif"
+                     "--enable-decoder=gif"
+                     "--enable-encoder=jpegls"
+                     "--enable-decoder=jpegls"
+                     "--enable-encoder=ljpeg"
+                     "--enable-decoder=jpeg2000"
+                     "--enable-encoder=png"
+                     "--enable-decoder=png"
+                     "--enable-encoder=bmp"
+                     "--enable-decoder=bmp"
+                     "--enable-encoder=tiff"
+                     "--enable-decoder=tiff"
+                     ;; filters
+                     "--enable-filter=scale"
+                     "--enable-filter=overlay"
+                     "--enable-filter=amix"
+                     "--enable-filter=amerge"
+                     "--enable-filter=aresample"
+                     "--enable-filter=format"
+                     "--enable-filter=aformat"
+                     "--enable-filter=fps"
+                     "--enable-filter=transpose"
+                     "--enable-filter=pad")
+                   ;; platform specific options
+                   (if (string-contains (%current-system) "linux")
+                       '("--enable-pic"
+                         "--extra-cxxflags=-fPIC --extra-cflags=-fPIC"
+                         "--target-os=linux"
+                         "--enable-indev=v4l2"
+                         "--enable-indev=xcbgrab"
+                         "--enable-vdpau"
+                         "--enable-hwaccel=h264_vdpau"
+                         "--enable-hwaccel=mpeg4_vdpau"
+                         "--enable-vaapi"
+                         "--enable-hwaccel=h264_vaapi"
+                         "--enable-hwaccel=mpeg4_vaapi"
+                         "--enable-hwaccel=h263_vaapi"
+                         "--enable-hwaccel=vp8_vaapi"
+                         "--enable-hwaccel=mjpeg_vaapi"
+                         "--enable-encoder=h264_vaapi"
+                         "--enable-encoder=vp8_vaapi"
+                         "--enable-encoder=mjpeg_vaapi"
+                         ))
+                   (cond ((string?= (%current-system) "i386")
+                          '("--arch=x86"
+                            "--enable-cuvid"
+                            "--enable-ffnvcodec"
+                            "--enable-nvdec"
+                            "--enable-nvenc"
+                            "--enable-hwaccel=h264_nvdec"
+                            "--enable-hwaccel=hevc_nvdec"
+                            "--enable-hwaccel=vp8_nvdec"
+                            "--enable-hwaccel=mjpeg_nvdec"
+                            "--enable-encoder=h264_nvenc"
+                            "--enable-encoder=hevc_nvenc"))
+                         ((string?= (%current-system) "x86_64")
+                          '("--arch=x86_64"
+                            "--enable-cuvid"
+                            "--enable-ffnvcodec"
+                            "--enable-nvdec"
+                            "--enable-nvenc"
+                            "--enable-hwaccel=h264_nvdec"
+                            "--enable-hwaccel=hevc_nvdec"
+                            "--enable-hwaccel=vp8_nvdec"
+                            "--enable-hwaccel=mjpeg_nvdec"
+                            "--enable-encoder=h264_nvenc"
+                            "--enable-encoder=hevc_nvenc"))
+                         ((string?= (%current-system) "aarch64-linux") '("--arch=aarch64"))
+                         ((string?= (%current-system) "arm64-linux") '("--arch=aarch64"))
+                         ((string?= (%current-system) "arm") '("--arch=arm"))
+                         (else '()))))
+          ((#:phases phases)
+           `(modify-phases ,phases
+              (add-after 'unpack 'make-git-checkout-writable
+                (lambda _
+                  (for-each make-file-writable (find-files "."))
+                  #t))
+              (add-after 'unpack 'apply-patches
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
+                    ;; These patches come from:
+                    ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak".
+                    (jami-apply-dependency-patches #:inputs inputs
+                                                   #:dep-name "ffmpeg"
+                                                   #:patches
+                                                   '("remove-mjpeg-log"
+                                                     "change-RTCP-ratio"
+                                                     "rtp_ext_abs_send_time"))
+                    #t)))))))))))
+
 (define-public libring
   (package
     (name "libring")
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 09/15] gnu: restinio: Bump to 0.6.1.1.
Date: Sat,  2 May 2020 03:14:44 +0200
* gnu/packages/networking.scm (restinio): Bump to 0.6.1.1.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 603d8b8e3a..e3a1b06b4d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2673,7 +2673,7 @@ communication over HTTP.")
 (define-public restinio
   (package
     (name "restinio")
-    (version "0.6.0.1")
+    (version "0.6.1.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2682,7 +2682,7 @@ communication over HTTP.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1c25kpx652nng8m1sqf5an2c3c4g3k6zj85mkkaxzk88iwfzq1s8"))))
+                "141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5"))))
     (build-system cmake-build-system)
     (inputs                             ; TODO: Need to force-keep references on some inputs, e.g. boost.
      `(("zlib" ,zlib)
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 10/15] gnu: jami: Make gettext a native input.
Date: Sat,  2 May 2020 03:14:45 +0200
* gnu/packages/jami.scm (jami): Move gettext from inputs
to native-inputs.
---
 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 0e49b31f84..eb699a5b33 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -548,7 +548,6 @@ This package provides a library common to all Jami clients.")
        ("libnotify" ,libnotify)
        ("clutter" ,clutter)
        ("clutter-gtk" ,clutter-gtk)
-       ("gettext" ,gnu-gettext)
        ("libcanberra" ,libcanberra)
        ("webkitgtk" ,webkitgtk)
        ;; TODO: We must wrap ring-client-gnome to force using the
@@ -565,6 +564,7 @@ This package provides a library common to all Jami clients.")
        ("sqlite" ,sqlite-with-column-metadata)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
+       ("gettext" ,gnu-gettext)
        ("glib:bin" ,glib "bin")
        ("doxygen" ,doxygen)))
     (propagated-inputs
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:03 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 01/15] gnu: telephony.scm: Move Jami and its dependencies
 to jami.scm.
Date: Sat,  2 May 2020 03:14:36 +0200
Jami is a massive package and its developers modify many
libraries. Keeping them in a single file makes maintaining
easier.

* gnu/local.mk (GNU_SYSTEM_MODULES): Add jami.scm.

* gnu/packages/jami.scm: Add file.
(%jami-version, jami-source, pjproject-jami,
libring, libringclient, jami, jami-client-gnome):
New variables.

* gnu/packages/telephony.scm:
(%jami-version, jami-source, pjproject-jami,
libring, libringclient, jami, jami-client-gnome):
Remove variables.
---
 gnu/local.mk               |   2 +
 gnu/packages/jami.scm      | 351 +++++++++++++++++++++++++++++++++++++
 gnu/packages/telephony.scm | 291 ------------------------------
 3 files changed, 353 insertions(+), 291 deletions(-)
 create mode 100644 gnu/packages/jami.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 26d26ee215..812253b192 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -33,6 +33,7 @@
 # Copyright © 2020 Michael Rohleder <mike <at> rohleder.de>
 # Copyright © 2020 Felix Gruber <felgru <at> posteo.net>
 # Copyright © 2020 Ryan Prior <rprior <at> protonmail.com>
+# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
 #
 # This file is part of GNU Guix.
 #
@@ -278,6 +279,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/ipfs.scm			\
   %D%/packages/irc.scm  			\
   %D%/packages/iso-codes.scm			\
+  %D%/packages/jami.scm				\
   %D%/packages/java.scm				\
   %D%/packages/java-compression.scm		\
   %D%/packages/java-graphics.scm		\
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
new file mode 100644
index 0000000000..5c167808f0
--- /dev/null
+++ b/gnu/packages/jami.scm
@@ -0,0 +1,351 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
+;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages jami)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages aidc)
+  #:use-module (gnu packages audio)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages crypto)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libcanberra)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages networking)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages serialization)
+  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages telephony)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages upnp)
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages webkit)
+  #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix packages)
+  #:use-module (guix utils))
+
+(define %jami-version "20191101.3.67671e7")
+
+(define* (jami-source #:key without-daemon)
+  (origin
+    (method url-fetch)
+    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
+                        %jami-version
+                        ".tar.gz"))
+    (modules '((guix build utils)))
+    (snippet
+     (if without-daemon
+         '(begin
+            (delete-file-recursively "daemon/contrib"))
+         #f))
+    (sha256
+     (base32
+      "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
+
+(define-public pjproject-jami
+  (package
+    (inherit pjproject)
+    (name "pjproject-jami")
+    (native-inputs
+     `(("savoir-faire-linux-patches" ,(jami-source))
+       ,@(package-native-inputs pjproject)))
+    (arguments
+     `(#:tests? #f
+       ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
+       #:configure-flags
+       (list "--disable-oss"
+             "--disable-sound"
+             "--disable-video"
+             "--enable-ext-sound"
+             "--disable-speex-aec"
+             "--disable-g711-codec"
+             "--disable-l16-codec"
+             "--disable-gsm-codec"
+             "--disable-g722-codec"
+             "--disable-g7221-codec"
+             "--disable-speex-codec"
+             "--disable-ilbc-codec"
+             "--disable-opencore-amr"
+             "--disable-silk"
+             "--disable-sdl"
+             "--disable-ffmpeg"
+             "--disable-v4l2"
+             "--disable-openh264"
+             "--disable-resample"
+             "--disable-libwebrtc"
+             "--with-gnutls"
+             "--with-external-srtp"
+             ;; We need -fPIC or else we get the following error when linking
+             ;; against pjproject-jami:
+             ;;   relocation R_X86_64_32S against `.rodata' can not be used when
+             ;;   making a shared object;
+             "CFLAGS=-fPIC"
+             "CXXFLAGS=-fPIC")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-git-checkout-writable
+           (lambda _
+             (for-each make-file-writable (find-files "."))
+             #t))
+         (add-after 'unpack 'apply-patches
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
+                   ;; Comes from
+                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
+                   ;; WARNING: These amount for huge changes in pjproject.
+                   (savoir-faire-linux-patches
+                    '("fix_turn_alloc_failure"
+                      "rfc2466"
+                      "ipv6"
+                      "multiple_listeners"
+                      "pj_ice_sess"
+                      "fix_turn_fallback"
+                      "fix_ioqueue_ipv6_sendto"
+                      "add_dtls_transport"
+                      "rfc6544"
+                      "ice_config"
+                      "sip_config"
+                      "fix_first_packet_turn_tcp"
+                      "fix_ebusy_turn"
+                      "ignore_ipv6_on_transport_check"
+                      "fix_turn_connection_failure"
+                      ;; "uwp_vs" ; for windows
+                      "disable_local_resolution")))
+               (mkdir-p savoir-faire-linux-patches-directory)
+               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
+                       "-C" savoir-faire-linux-patches-directory
+                       "--strip-components=5"
+                       "ring-project/daemon/contrib/src/pjproject")
+               (for-each
+                (lambda (file)
+                  (invoke "patch" "--force" "-p1" "-i"
+                          (string-append savoir-faire-linux-patches-directory "/"
+                                         file ".patch")))
+                savoir-faire-linux-patches))
+             #t))
+         ;; TODO: We could use substitute-keyword-arguments instead of
+         ;; repeating the phases from pjproject, but somehow it does
+         ;; not work.
+         (add-before 'build 'build-dep
+           (lambda _ (invoke "make" "dep")))
+         (add-before 'patch-source-shebangs 'autoconf
+           (lambda _
+             (invoke "autoconf" "-v" "-f" "-i" "-o"
+                     "aconfigure" "aconfigure.ac")))
+         (add-before 'autoconf 'disable-some-tests
+           ;; Three of the six test programs fail due to missing network
+           ;; access.
+           (lambda _
+             (substitute* "Makefile"
+               (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
+                "selftest: pjlib-test pjlib-util-test pjmedia-test"))
+             #t)))))))
+
+(define-public libring
+  (package
+    (name "libring")
+    (version %jami-version)
+    (source (jami-source #:without-daemon #t))
+    (build-system gnu-build-system)
+    (inputs
+     ;; Missing (optional?) dep: libnatpmp.
+     `(("alsa-lib" ,alsa-lib)
+       ("boost" ,boost)
+       ("dbus-c++" ,dbus-c++)
+       ("eudev" ,eudev)
+       ("ffmpeg" ,ffmpeg)
+       ("flac" ,flac)
+       ("gmp" ,gmp)
+       ("gsm" ,gsm)
+       ("jack" ,jack-1)
+       ("jsoncpp" ,jsoncpp)
+       ("libogg" ,libogg)
+       ("libva" ,libva)
+       ("opendht" ,opendht)
+       ("opus" ,opus)
+       ("pcre" ,pcre)
+       ("pulseaudio" ,pulseaudio)
+       ("libsamplerate" ,libsamplerate)
+       ("libsndfile" ,libsndfile)
+       ("speex" ,speex)
+       ("speexdsp" ,speexdsp)
+       ("libupnp" ,libupnp)
+       ("libvorbis" ,libvorbis)
+       ("libx264" ,libx264)
+       ("libvdpau" ,libvdpau)
+       ("yaml-cpp" ,yaml-cpp)
+       ("zlib" ,zlib)
+       ("openssl" ,openssl)
+       ("libsecp256k1" ,libsecp256k1)
+       ("python" ,python)
+       ("python-wrapper" ,python-wrapper)
+       ("restinio" ,restinio)
+       ("libx11" ,libx11)
+       ("asio" ,asio)
+       ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
+       ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
+       ("pjproject" ,pjproject-jami)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)
+       ("cppunit" ,cppunit)
+       ("perl" ,perl)))                 ; Needed for documentation.
+    (arguments
+     `(#: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")
+             #t)))))
+    (synopsis "Distributed multimedia communications platform")
+    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
+video and chat communication platform that requires no centralized server and
+leaves the power of privacy in the hands of the user.  It supports the SIP and
+IAX protocols, as well as decentralized calling using P2P-DHT.
+
+This package provides a library and daemon implementing the Jami core
+functionality.")
+    (home-page "https://jami.net/")
+    (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,
+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+)))
+
+(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)
+       ("gettext" ,gnu-gettext)
+       ("libcanberra" ,libcanberra)
+       ("webkitgtk" ,webkitgtk)
+       ;; TODO: We must wrap ring-client-gnome to force using the
+       ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
+       ;; fails with:
+       ;;
+       ;;   /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
+       ;;   undefined symbol: sqlite3_column_table_name16
+       ;;
+       ;; qtbase is built against sqlite-with-column-metadata but somehow
+       ;; jami-client-gnome ends up with both `sqlite' and
+       ;; `sqlite-with-column-metadata' as inputs and it seems that
+       ;; libqsqlite.so gets confused.
+       ("sqlite" ,sqlite-with-column-metadata)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("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))
+         (add-after 'install 'wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (path (string-append (assoc-ref inputs "sqlite") "/lib")))
+               (wrap-program (string-append out "/bin/jami-gnome")
+                 `("LD_LIBRARY_PATH" ":" prefix (,path))))
+             #t)))))
+    (synopsis "Distributed, privacy-respecting communication program")
+    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
+video and chat communication platform that requires no centralized server and
+leaves the power of privacy in the hands of the user.  It supports the SIP and
+IAX protocols, as well as decentralized calling using P2P-DHT.
+
+This package provides the Jami client for the GNOME desktop.")
+    (home-page "https://jami.net")
+    (license license:gpl3+)))
+
+(define-public jami-client-gnome
+  (deprecated-package "jami-client-gnome" jami))
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 7b20954120..747b0d75a1 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -734,297 +734,6 @@ calls and messages")
 Initiation Protocol (SIP) and a multimedia framework.")
     (license license:gpl2+)))
 
-(define %jami-version "20191101.3.67671e7")
-
-(define* (jami-source #:key without-daemon)
-  (origin
-    (method url-fetch)
-    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
-                        %jami-version
-                        ".tar.gz"))
-    (modules '((guix build utils)))
-    (snippet
-     (if without-daemon
-       '(begin
-          (delete-file-recursively "daemon/contrib"))
-       #f))
-    (sha256
-     (base32
-      "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
-
-(define-public pjproject-jami
-  (package
-    (inherit pjproject)
-    (name "pjproject-jami")
-    (native-inputs
-     `(("savoir-faire-linux-patches" ,(jami-source))
-       ,@(package-native-inputs pjproject)))
-    (arguments
-     `(#:tests? #f
-       ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
-       #:configure-flags
-       (list "--disable-oss"
-             "--disable-sound"
-             "--disable-video"
-             "--enable-ext-sound"
-             "--disable-speex-aec"
-             "--disable-g711-codec"
-             "--disable-l16-codec"
-             "--disable-gsm-codec"
-             "--disable-g722-codec"
-             "--disable-g7221-codec"
-             "--disable-speex-codec"
-             "--disable-ilbc-codec"
-             "--disable-opencore-amr"
-             "--disable-silk"
-             "--disable-sdl"
-             "--disable-ffmpeg"
-             "--disable-v4l2"
-             "--disable-openh264"
-             "--disable-resample"
-             "--disable-libwebrtc"
-             "--with-gnutls"
-             "--with-external-srtp"
-             ;; We need -fPIC or else we get the following error when linking
-             ;; against pjproject-jami:
-             ;;   relocation R_X86_64_32S against `.rodata' can not be used when
-             ;;   making a shared object;
-             "CFLAGS=-fPIC"
-             "CXXFLAGS=-fPIC")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-git-checkout-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (add-after 'unpack 'apply-patches
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
-                   ;; Comes from
-                   ;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
-                   ;; WARNING: These amount for huge changes in pjproject.
-                   (savoir-faire-linux-patches
-                    '("fix_turn_alloc_failure"
-                      "rfc2466"
-                      "ipv6"
-                      "multiple_listeners"
-                      "pj_ice_sess"
-                      "fix_turn_fallback"
-                      "fix_ioqueue_ipv6_sendto"
-                      "add_dtls_transport"
-                      "rfc6544"
-                      "ice_config"
-                      "sip_config"
-                      "fix_first_packet_turn_tcp"
-                      "fix_ebusy_turn"
-                      "ignore_ipv6_on_transport_check"
-                      "fix_turn_connection_failure"
-                      ;; "uwp_vs" ; for windows
-                      "disable_local_resolution")))
-               (mkdir-p savoir-faire-linux-patches-directory)
-               (invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
-                       "-C" savoir-faire-linux-patches-directory
-                       "--strip-components=5"
-                       "ring-project/daemon/contrib/src/pjproject")
-               (for-each
-                (lambda (file)
-                  (invoke "patch" "--force" "-p1" "-i"
-                          (string-append savoir-faire-linux-patches-directory "/"
-                                         file ".patch")))
-                savoir-faire-linux-patches))
-             #t))
-         ;; TODO: We could use substitute-keyword-arguments instead of
-         ;; repeating the phases from pjproject, but somehow it does
-         ;; not work.
-         (add-before 'build 'build-dep
-           (lambda _ (invoke "make" "dep")))
-         (add-before 'patch-source-shebangs 'autoconf
-           (lambda _
-             (invoke "autoconf" "-v" "-f" "-i" "-o"
-                     "aconfigure" "aconfigure.ac")))
-         (add-before 'autoconf 'disable-some-tests
-           ;; Three of the six test programs fail due to missing network
-           ;; access.
-           (lambda _
-             (substitute* "Makefile"
-               (("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
-                "selftest: pjlib-test pjlib-util-test pjmedia-test"))
-             #t)))))))
-
-(define-public libring
-  (package
-    (name "libring")
-    (version %jami-version)
-    (source (jami-source #:without-daemon #t))
-    (build-system gnu-build-system)
-    (inputs
-     ;; Missing (optional?) dep: libnatpmp.
-     `(("alsa-lib" ,alsa-lib)
-       ("boost" ,boost)
-       ("dbus-c++" ,dbus-c++)
-       ("eudev" ,eudev)
-       ("ffmpeg" ,ffmpeg)
-       ("flac" ,flac)
-       ("gmp" ,gmp)
-       ("gsm" ,gsm)
-       ("jack" ,jack-1)
-       ("jsoncpp" ,jsoncpp)
-       ("libogg" ,libogg)
-       ("libva" ,libva)
-       ("opendht" ,opendht)
-       ("opus" ,opus)
-       ("pcre" ,pcre)
-       ("pulseaudio" ,pulseaudio)
-       ("libsamplerate" ,libsamplerate)
-       ("libsndfile" ,libsndfile)
-       ("speex" ,speex)
-       ("speexdsp" ,speexdsp)
-       ("libupnp" ,libupnp)
-       ("libvorbis" ,libvorbis)
-       ("libx264" ,libx264)
-       ("libvdpau" ,libvdpau)
-       ("yaml-cpp" ,yaml-cpp)
-       ("zlib" ,zlib)
-       ("openssl" ,openssl)
-       ("libsecp256k1" ,libsecp256k1)
-       ("python" ,python)
-       ("python-wrapper" ,python-wrapper)
-       ("restinio" ,restinio)
-       ("libx11" ,libx11)
-       ("asio" ,asio)
-       ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
-       ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
-       ("pjproject" ,pjproject-jami)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)
-       ("pkg-config" ,pkg-config)
-       ("which" ,which)
-       ("cppunit" ,cppunit)
-       ("perl" ,perl)))                 ; Needed for documentation.
-    (arguments
-     `(#: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")
-             #t)))))
-    (synopsis "Distributed multimedia communications platform")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides a library and daemon implementing the Jami core
-functionality.")
-    (home-page "https://jami.net/")
-    (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,
-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+)))
-
-(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)
-       ;; TODO: We must wrap ring-client-gnome to force using the
-       ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
-       ;; fails with:
-       ;;
-       ;;   /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
-       ;;   undefined symbol: sqlite3_column_table_name16
-       ;;
-       ;; qtbase is built against sqlite-with-column-metadata but somehow
-       ;; jami-client-gnome ends up with both `sqlite' and
-       ;; `sqlite-with-column-metadata' as inputs and it seems that
-       ;; libqsqlite.so gets confused.
-       ("sqlite" ,sqlite-with-column-metadata)))
-    (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))
-         (add-after 'install 'wrap
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (path (string-append (assoc-ref inputs "sqlite") "/lib")))
-               (wrap-program (string-append out "/bin/jami-gnome")
-                 `("LD_LIBRARY_PATH" ":" prefix (,path))))
-             #t)))))
-    (synopsis "Distributed, privacy-respecting communication program")
-    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
-video and chat communication platform that requires no centralized server and
-leaves the power of privacy in the hands of the user.  It supports the SIP and
-IAX protocols, as well as decentralized calling using P2P-DHT.
-
-This package provides the Jami client for the GNOME desktop.")
-    (home-page "https://jami.net")
-    (license license:gpl3+)))
-
-(define-public jami-client-gnome
-  (deprecated-package "jami-client-gnome" jami))
-
 (define-public libtgvoip
   (package
     (name "libtgvoip")
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:03 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 06/15] gnu: libupnp: Bump to 1.8.6
Date: Sat,  2 May 2020 03:14:41 +0200
* gnu/packages/upnp.scm (libupnp): Bump to 1.8.6.
Update hash.
[source]: Use git-fetch and the new official repo.
[native-inputs]: Add autoconf, automake, libtool and
pkg-config.
---
 gnu/packages/upnp.scm | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm
index 8f3c887a68..768df4a03e 100644
--- a/gnu/packages/upnp.scm
+++ b/gnu/packages/upnp.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2018 Theodoros Foradis <theodoros <at> foradis.org>
 ;;; Copyright © 2019 Jens Mølgaard <jens <at> zete.tk>
+;;; Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (gnu packages photo)
   #:use-module (gnu packages image)
   #:use-module (gnu packages mp3)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages python)
@@ -92,15 +94,21 @@ over IRC, instant messaging, network games, and most server software.")
 (define-public libupnp
   (package
     (name "libupnp")
-    (version "1.6.25")
+    (version "1.8.6")
     (source
      (origin
-      (method url-fetch)
-      (uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20"
-                          version "/" name "-" version ".tar.bz2"))
+      (method git-fetch)
+      (uri (git-reference
+            (url "https://github.com/pupnp/pupnp.git")
+            (commit (string-append "release-" version))))
       (sha256
        (base32
-        "0hzsd7rvfa87b4hxg9yj4xhdfxx9sp09r9sqdl3mqhvmcyw018y5"))))
+        "1jlb6qh47513h2simy0zxia5q61w1c31mnwmjqpr2nf832lmnpk4"))))
+       (native-inputs
+        `(("autoconf" ,autoconf)
+          ("automake" ,automake)
+          ("libtool" ,libtool)
+          ("pkg-config" ,pkg-config)))
     (build-system gnu-build-system)
     (arguments
      ;; The tests require a network device capable of multicasting which is
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:04 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 02/15] gnu: jami: Fix downloading.
Date: Sat,  2 May 2020 03:14:37 +0200
The package name changed from Ring to Jami.
Package tarballs start now with "jami_" prefix.
The "ring-release" folder is also deprecated, let's use the
"release" folder instead.

* gnu/packages/jami.scm (jami-source)[origin]:
Change the uri from "https://dl.jami.net/ring-release/tarballs/ring_"
to "https://dl.jami.net/release/tarballs/jami_".
---
 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 5c167808f0..44a57c9bfb 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -64,7 +64,7 @@
 (define* (jami-source #:key without-daemon)
   (origin
     (method url-fetch)
-    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
+    (uri (string-append "https://dl.jami.net/release/tarballs/jami_"
                         %jami-version
                         ".tar.gz"))
     (modules '((guix build utils)))
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:05 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 11/15] gnu: pjproject, pjproject-jami: Bump to 2.10,
 apply new SFL patches.
Date: Sat,  2 May 2020 03:14:46 +0200
* gnu/packages/telephony.scm (pjproject): Bump the version to 2.10.

* gnu/packages/jami.scm (pjproject-jami)[arguments]:
Use the new patches instead of the old.
---
 gnu/packages/jami.scm      | 27 ++++++++++-----------------
 gnu/packages/telephony.scm |  6 +++---
 2 files changed, 13 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index eb699a5b33..86745e8be1 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -107,7 +107,7 @@
      `(#:tests? #f
        ;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
        #:configure-flags
-       (list "--disable-oss"
+       (list "--disable-oss" ; do we need this?
              "--disable-sound"
              "--disable-video"
              "--enable-ext-sound"
@@ -151,22 +151,15 @@
                 #:inputs inputs
                 #:dep-name "pjproject"
                 #:patches
-                '("fix_turn_alloc_failure"
-                  "rfc2466"
-                  "ipv6"
-                  "multiple_listeners"
-                  "pj_ice_sess"
-                  "fix_turn_fallback"
-                  "fix_ioqueue_ipv6_sendto"
-                  "add_dtls_transport"
-                  "rfc6544"
-                  "ice_config"
-                  "sip_config"
-                  "fix_first_packet_turn_tcp"
-                  "fix_ebusy_turn"
-                  "ignore_ipv6_on_transport_check"
-                  "fix_turn_connection_failure"
-                  "disable_local_resolution"))
+                '("0001-rfc6544"
+                  "0002-rfc2466"
+                  "0003-add-tcp-keep-alive"
+                  "0004-multiple_listeners"
+                  "0005-fix_ebusy_turn"
+                  "0006-ignore_ipv6_on_transport_check"
+                  "0007-pj_ice_sess"
+                  "0008-fix_ioqueue_ipv6_sendto"
+                  "0009-add-config-site"))
                #t)))
          ;; TODO: We could use substitute-keyword-arguments instead of
          ;; repeating the phases from pjproject, but somehow it does
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 747b0d75a1..ba0d96ba93 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -651,13 +651,13 @@ calls and messages")
 (define-public pjproject
   (package
     (name "pjproject")
-    (version "2.9")
+    (version "2.10")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/pjsip/pjproject.git")
-             (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
+             (commit "3e7b75cb2e482baee58c1991bd2fa4fb06774e0d")))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -690,7 +690,7 @@ calls and messages")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
+         "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))))
     (build-system gnu-build-system)
     (inputs
      `(("portaudio" ,portaudio)))
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:05 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 15/15] gnu: opendht: Bump to 2.0.0.
Date: Sat,  2 May 2020 03:14:50 +0200
* gnu/packages/networking.scm (opendht): Bump to 2.0.0.
---
 gnu/packages/networking.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index e3a1b06b4d..28c0d35a7c 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -33,7 +33,7 @@
 ;;; Copyright © 2019 Brice Waegeneire <brice <at> waegenei.re>
 ;;; Copyright © 2019 Tonton <tonton <at> riseup.net>
 ;;; Copyright © 2019, 2020 Alex Griffin <a <at> ajgrf.com>
-;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
+;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
 ;;; Copyright © 2019 Daniel Schaefer <git <at> danielschaefer.me>
 ;;; Copyright © 2019 Diego N. Barbato <dnbarbato <at> posteo.de>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
@@ -2715,7 +2715,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
 (define-public opendht
   (package
     (name "opendht")
-    (version "2.0.0beta2")
+    (version "2.0.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2724,7 +2724,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "02ix0rvvyhq22gd5djcq84qz08ji7ln93faf23b27zjzni2klzv5"))))
+                "1q1fwk8wwk9r6bp0indpr60ql668lsk16ykslacyhrh7kg97kvhr"))))
     ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
     (build-system cmake-build-system)
     (inputs
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:05 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 08/15] gnu: libring: Use ffmpeg-jami instead of ffmpeg.
Date: Sat,  2 May 2020 03:14:43 +0200
* gnu/packages/jami.scm (libring)[inputs]: Use ffmpeg-jami instead of ffmpeg.
---
 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 0fc03b6088..0e49b31f84 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -436,7 +436,7 @@
        ("boost" ,boost)
        ("dbus-c++" ,dbus-c++)
        ("eudev" ,eudev)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-jami)
        ("flac" ,flac)
        ("gmp" ,gmp)
        ("gsm" ,gsm)
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:06 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 00/15] Jami patches.
Date: Sat,  2 May 2020 03:14:35 +0200
*** BLURB HERE ***

Hello,
I hope my commit messages are good now.
I removed some unnecessary commits.

Jan Wielkiewicz (15):
  gnu: telephony.scm: Move Jami and its dependencies to jami.scm.
  gnu: jami: Fix downloading.
  gnu: jami.scm: Add and use a generalized procedure for applying
    patches to Jami dependencies.
  gnu: Add libnatpmp.
  gnu: libring: Add libnatpmp as an optional dependency.
  gnu: libupnp: Bump to 1.8.6
  gnu: Add ffmpeg-jami.
  gnu: libring: Use ffmpeg-jami instead of ffmpeg.
  gnu: restinio: Bump to 0.6.1.1.
  gnu: jami: Make gettext a native input.
  gnu: pjproject, pjproject-jami: Bump to 2.10, apply new SFL patches.
  gnu: jami: Bump to 20200401.1.6f090de.
  gnu: jami: Replace gnu-gettext with gettext-minimal, just like on
    master.
  gnu: pjproject-jami: Add the missing, linux-only "--enable-epoll"
    flag.
  gnu: opendht: Bump to 2.0.0.

 gnu/local.mk                |   2 +
 gnu/packages/jami.scm       | 599 ++++++++++++++++++++++++++++++++++++
 gnu/packages/networking.scm |  50 ++-
 gnu/packages/telephony.scm  | 297 +-----------------
 gnu/packages/upnp.scm       |  18 +-
 5 files changed, 662 insertions(+), 304 deletions(-)
 create mode 100644 gnu/packages/jami.scm

-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:06 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 13/15] gnu: jami: Replace gnu-gettext with gettext-minimal,
 just like on master.
Date: Sat,  2 May 2020 03:14:48 +0200
* gnu/packages/jami.scm (jami)[native-inputs]:
Replace gettext with gettext-minimal.
---
 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 4b2a553f71..68b3dbcf74 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -557,7 +557,7 @@ This package provides a library common to all Jami clients.")
        ("sqlite" ,sqlite-with-column-metadata)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("gettext" ,gnu-gettext)
+       ("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
        ("doxygen" ,doxygen)))
     (propagated-inputs
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 01:30:07 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH V3 14/15] gnu: pjproject-jami: Add the missing,
 linux-only "--enable-epoll" flag.
Date: Sat,  2 May 2020 03:14:49 +0200
* gnu/packages/jami.scm (pjproject-jami)[arguments]: Add the "--enable-epoll" flag,
if not on the Hurd.
---
 gnu/packages/jami.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 68b3dbcf74..54fa6453cf 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -32,6 +32,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages hurd)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages multiprecision)
@@ -110,6 +111,11 @@
        (list "--disable-oss" ; do we need this?
              "--disable-sound"
              "--disable-video"
+             ;; The following flag is linux specific
+             ,@(if (hurd-triplet? (or (%current-system)
+                                      (%current-target-system)))
+                   '()
+                   '("--enable-epoll"))
              "--enable-ext-sound"
              "--disable-speex-aec"
              "--disable-g711-codec"
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 08:23:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 04/15] gnu: Add libnatpmp.
Date: Sat, 02 May 2020 10:22:48 +0200
Hello Jan,

Thanks for this v3! I applied this one with the following edits:

--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 603d8b8e3a..431b0fafd4 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -439,8 +439,6 @@ files contain direct mappings of the abstractions provided by the ØMQ C API.")
                (base32
                 "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1"))))
     (build-system gnu-build-system)
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -448,16 +446,13 @@ files contain direct mappings of the abstractions provided by the ØMQ C API.")
          (delete 'check)) ; no tests
        #:make-flags
        (let* ((target ,(%current-target-system))
-              (gcc (if target (string-append target "-gcc") "gcc"))
-              (pkg-config (if target
-                              (string-append target "-pkg-config")
-                              "pkg-config")))
+              (gcc (if target
+                       (string-append target "-gcc")
+                       "gcc")))
          (list
           (string-append "CC=" gcc)
-          (string-append "PKG_CONFIG="
-                         (assoc-ref %build-inputs "pkg-config")
-                         "/bin/" pkg-config)
-          (string-append "PREFIX=" (assoc-ref %outputs "out"))))))
+          (string-append "INSTALLPREFIX=" (assoc-ref %outputs "out"))
+          (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))))
     (home-page "http://miniupnp.free.fr/libnatpmp.html")
     (synopsis "C library implementing NAT-PMP")
     (description
--8<---------------cut here---------------end--------------->8---

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 08:31:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 06/15] gnu: libupnp: Bump to 1.8.6
Date: Sat, 02 May 2020 10:30:36 +0200
Applied with an edited commit message,

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 08:34:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 09/15] gnu: restinio: Bump to 0.6.1.1.
Date: Sat, 02 May 2020 10:32:40 +0200
Applied with an edited commit message (s/bump/update).

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 08:40:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 15/15] gnu: opendht: Bump to 2.0.0.
Date: Sat, 02 May 2020 10:38:55 +0200
Seems like the 2.1.0 is about to be released. But let's go with 2.0.0
for now. Applied!

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 08:48:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 02/15] gnu: jami: Fix downloading.
Date: Sat, 02 May 2020 10:47:23 +0200
Applied, thanks!

Mathieu

> The package name changed from Ring to Jami.
> Package tarballs start now with "jami_" prefix.
> The "ring-release" folder is also deprecated, let's use the
> "release" folder instead.
>
> * gnu/packages/jami.scm (jami-source)[origin]:
> Change the uri from "https://dl.jami.net/ring-release/tarballs/ring_"
> to "https://dl.jami.net/release/tarballs/jami_".
> ---
>  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 5c167808f0..44a57c9bfb 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -64,7 +64,7 @@
>  (define* (jami-source #:key without-daemon)
>    (origin
>      (method url-fetch)
> -    (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
> +    (uri (string-append "https://dl.jami.net/release/tarballs/jami_"
>                          %jami-version
>                          ".tar.gz"))
>      (modules '((guix build utils)))




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 08:55:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 03/15] gnu: jami.scm: Add and use a
 generalized procedure for applying patches to Jami dependencies.
Date: Sat, 02 May 2020 10:54:18 +0200
Edited the commit message and applied,

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 08:55:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 01/15] gnu: telephony.scm: Move Jami and
 its dependencies to jami.scm.
Date: Sat, 02 May 2020 10:45:42 +0200
I added Vicent copyright to jami.scm, edited the commit message and
applied.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 08:57:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 05/15] gnu: libring: Add libnatpmp as an
 optional dependency.
Date: Sat, 02 May 2020 10:56:31 +0200
Same here, applied!

Thanks




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 09:00:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 10/15] gnu: jami: Make gettext a native
 input.
Date: Sat, 02 May 2020 10:58:48 +0200
Applied,

Thanks




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 09:15:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 11/15] gnu: pjproject,
 pjproject-jami: Bump to 2.10, apply new SFL patches.
Date: Sat, 02 May 2020 11:14:14 +0200
> * gnu/packages/telephony.scm (pjproject): Bump the version to 2.10.
s/bump/update

> +       (list "--disable-oss" ; do we need this?

If we don't need this you can remove it. Otherwise no need to add a
comment.

You shouldn't hardcode the commit corresponding to the tag. You can do
this instead:

--8<---------------cut here---------------start------------->8---
              (url "https://github.com/pjsip/pjproject.git")
-             (commit "3e7b75cb2e482baee58c1991bd2fa4fb06774e0d")))
+             (commit version)))
--8<---------------cut here---------------end--------------->8---

With this commit, neither pjproject nor pjproject-jami build for
me. Could you check why?

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 09:20:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 12/15] gnu: jami: Bump to
 20200401.1.6f090de.
Date: Sat, 02 May 2020 11:19:39 +0200
> -(define %jami-version "20191101.3.67671e7")
> +(define %jami-version "20200401.1.6f090de")

Turns out this one needs to be applied before the pjproject update.

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 09:27:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 12/15] gnu: jami: Bump to
 20200401.1.6f090de.
Date: Sat, 02 May 2020 11:25:56 +0200
> -(define %jami-version "20191101.3.67671e7")
> +(define %jami-version "20200401.1.6f090de")

Ok, so I merged this one with the previous one. As you noted pjproject
still fails to build in 2.10. Even if Jami variant is now ok, it would
be great if you could fix pjproject build too.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 09:29:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 13/15] gnu: jami: Replace gnu-gettext with
 gettext-minimal, just like on master.
Date: Sat, 02 May 2020 11:28:37 +0200
Applied with an edited commit message,

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 09:34:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 14/15] gnu: pjproject-jami: Add the missing,
 linux-only "--enable-epoll" flag.
Date: Sat, 02 May 2020 11:32:59 +0200
Applied,

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 09:37:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Sat, 02 May 2020 11:36:30 +0200
Ok, last one! As discussed before I'm not very comfortable with this
very long list of configuration options.

Are the ffmpeg configuration options needed by Jami described somewhere?

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 09:53:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 00/15] Jami patches.
Date: Sat, 02 May 2020 11:52:18 +0200
Hello Jan,

Thanks for this v3, I pushed everything except for the ffmpeg patches.
When trying Jami on Ubuntu, I have the following errors:

--8<---------------cut here---------------start------------->8---
** (jami-gnome:3720): WARNING **: 11:46:10.955: Error : dring is not available, make sure it is running
Gtk-Message: 11:46:11.008: Failed to load module "canberra-gtk-module"
Gtk-Message: 11:46:11.009: Failed to load module "canberra-gtk-module"

** (jami-gnome:3720): WARNING **: 11:46:11.010: Error : dring is not available, make sure it is running

(jami-gnome:3720): Gtk-WARNING **: 11:46:11.012: Theme parsing error: <data>:1:273: not a number

** (jami-gnome:3720): WARNING **: 11:46:11.116: dring has possibly crashed, or has been killed... will wait 2.5 seconds and try to reconnect

** (jami-gnome:3720): WARNING **: 11:46:13.623: Error : dring is not available, make sure it is running

** (jami-gnome:3720): WARNING **: 11:46:13.623: Error : dring is not available, make sure it is running

** (jami-gnome:3720): WARNING **: 11:46:13.623: could not reconnect to the daemon
--8<---------------cut here---------------end--------------->8---

The problem is the same with the jami-20191101.3.67671e7 revision. Do
you know why?

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 11:27:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 00/15] Jami patches.
Date: Sat, 2 May 2020 13:26:17 +0200
On Sat, 02 May 2020 11:52:18 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> Hello Jan,
> 
> Thanks for this v3, I pushed everything except for the ffmpeg patches.
> When trying Jami on Ubuntu, I have the following errors:
> 
> --8<---------------cut here---------------start------------->8---
> ** (jami-gnome:3720): WARNING **: 11:46:10.955: Error : dring is not
> available, make sure it is running Gtk-Message: 11:46:11.008: Failed
> to load module "canberra-gtk-module" Gtk-Message: 11:46:11.009:
> Failed to load module "canberra-gtk-module"
> 
> ** (jami-gnome:3720): WARNING **: 11:46:11.010: Error : dring is not
> available, make sure it is running
> 
> (jami-gnome:3720): Gtk-WARNING **: 11:46:11.012: Theme parsing error:
> <data>:1:273: not a number
> 
> ** (jami-gnome:3720): WARNING **: 11:46:11.116: dring has possibly
> crashed, or has been killed... will wait 2.5 seconds and try to
> reconnect
> 
> ** (jami-gnome:3720): WARNING **: 11:46:13.623: Error : dring is not
> available, make sure it is running
> 
> ** (jami-gnome:3720): WARNING **: 11:46:13.623: Error : dring is not
> available, make sure it is running
> 
> ** (jami-gnome:3720): WARNING **: 11:46:13.623: could not reconnect
> to the daemon --8<---------------cut
> here---------------end--------------->8---
> 
> The problem is the same with the jami-20191101.3.67671e7 revision. Do
> you know why?
> 
> Thanks,
> 
> Mathieu

To be honest, I don't know why this happens. I was too focused on
correcting the commit messages I forgot about testing. Let me test it
now.


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 11:32:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Sat, 2 May 2020 13:31:18 +0200
On Sat, 02 May 2020 11:36:30 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> Ok, last one! As discussed before I'm not very comfortable with this
> very long list of configuration options.
> 
> Are the ffmpeg configuration options needed by Jami described
> somewhere?
> 
> Thanks,
> 
> Mathieu

I copied it from ring-project/daemon/contrib/src/ffmpeg/rules.mak.
Tarballs are here: https://dl.jami.net/ring-release/tarballs/


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 11:34:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 12/15] gnu: jami: Bump to
 20200401.1.6f090de.
Date: Sat, 2 May 2020 13:33:38 +0200
On Sat, 02 May 2020 11:19:39 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> > -(define %jami-version "20191101.3.67671e7")
> > +(define %jami-version "20200401.1.6f090de")  
> 
> Turns out this one needs to be applied before the pjproject update.
> 
> Mathieu

Yes, this can be the case. Patches are taken from jami-source and if the
version isn't updated it can break.


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 15:00:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 00/15] Jami patches.
Date: Sat, 2 May 2020 16:58:55 +0200
On Sat, 02 May 2020 11:52:18 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> The problem is the same with the jami-20191101.3.67671e7 revision. Do
> you know why?
> 

Okay I know the cause - I forgot to replace one occurrence of
"SFL-patches" in ffmpeg-jami with "sfl-patches". Could you fix it for
me or should I send the corrected version?

It works after changing it.

Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 15:05:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 12/15] gnu: jami: Bump to
 20200401.1.6f090de.
Date: Sat, 2 May 2020 17:04:05 +0200
On Sat, 02 May 2020 11:25:56 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> > -(define %jami-version "20191101.3.67671e7")
> > +(define %jami-version "20200401.1.6f090de")  
> 
> Ok, so I merged this one with the previous one. As you noted pjproject
> still fails to build in 2.10. Even if Jami variant is now ok, it would
> be great if you could fix pjproject build too.

I can try, but haven't succeeded so far.

> Thanks,
> 
> Mathieu


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sat, 02 May 2020 15:18:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 11/15] gnu: pjproject, pjproject-jami:
 Bump to 2.10, apply new SFL patches.
Date: Sat, 2 May 2020 17:17:18 +0200
On Sat, 02 May 2020 11:14:14 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> > * gnu/packages/telephony.scm (pjproject): Bump the version to
> > 2.10.  
> s/bump/update
> 
> > +       (list "--disable-oss" ; do we need this?  
I can remove it then.

> If we don't need this you can remove it. Otherwise no need to add a
> comment.
> 
> You shouldn't hardcode the commit corresponding to the tag. You can do
> this instead:
> 
> --8<---------------cut here---------------start------------->8---
>               (url "https://github.com/pjsip/pjproject.git")
> -             (commit "3e7b75cb2e482baee58c1991bd2fa4fb06774e0d")))
> +             (commit version)))
> --8<---------------cut here---------------end--------------->8---
> 
> With this commit, neither pjproject nor pjproject-jami build for
> me. Could you check why?
> 
> Thanks,
> 
> Mathieu

Are you between my commits? My commits are effect of over 6 months of
work and experimenting. The patches for pjproject are from jami source
tarball and change over time. Patching pjproject will only work with if
both version of Jami and pjproject are compliant.
The commit updating Jami should go before pjproject-jami update, then
it should work.
Anyway, everything works on my machine now.


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sun, 03 May 2020 07:36:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 00/15] Jami patches.
Date: Sun, 03 May 2020 09:34:50 +0200
Hello,

> To be honest, I don't know why this happens. I was too focused on
> correcting the commit messages I forgot about testing. Let me test it
> now.

I think the problem is that when starting "jami-gnome", the "dring"
daemon is started by D-Bus. On a foreign distro, this cannot work. So I
tried to start dring manually[1] but I have the following error:

--8<---------------cut here---------------start------------->8---
/gnu/store/chb71qh7dprrdgn7d3g08d2pbii57v2v-libring-20200401.1.6f090de/lib/ring/dring -cdp
Jami Daemon 9.1.0, by Savoir-faire Linux 2004-2019
https://jami.net/
[Video support enabled]

[1588491116.175|28401|ringbufferpool.cpp:118  ] Ringbuffer created with id 'audiolayer_id'
[1588491116.411|28401|video_device.h    :129  ] Default video settings: 800x480, 30 FPS
[1588491116.529|28401|video_device.h    :129  ] Default video settings: 960x540, 30 FPS
[1588491116.532|28401|manager.cpp       :676  ] Not initialized
[1588491116.532|28401|manager.cpp       :676  ] Not initialized
09:31:56.533         os_core_unix.c !pjlib 2.10 for POSIX initialized
[1588491116.534|28401|manager.cpp       :738  ] Using PJSIP version 2.10 for x86_64-unknown-linux-gnu
[1588491116.534|28401|manager.cpp       :739  ] Using GnuTLS version 3.6.13
[1588491116.534|28401|manager.cpp       :740  ] Using OpenDHT version 2.0.0
[1588491116.535|28401|manager.cpp       :751  ] Configuration file path: /home/mathieu/.config/jami/dring.yml
[1588491116.537|28401|manager.cpp       :2738 ] invalid node; first invalid key: "preferences": Preferences node unserialize error: 
[1588491116.538|28401|manager.cpp       :452  ] Errors while parsing /home/mathieu/.config/jami/dring.yml
[1588491116.538|28401|manager.cpp       :777  ] Restoring last working configuration
[1588491116.540|28401|sipvoiplink.cpp   :550  ] Using SIP nameserver: 127.0.0.53
[1588491116.540|28401|siptransport.cpp  :188  ] SipTransportBroker <at> 0x125c3d0
[1588491116.541|28401|sipvoiplink.cpp   :641  ] SIPVoIPLink <at> 0x1297410
[1588491116.541|28407|sip_utils.cpp     :203  ] Registered thread 0x7f132bc5f4d0 (0x6EF1)
[1588491116.541|28401|manager.cpp       :2738 ] invalid node; first invalid key: "preferences": Preferences node unserialize error: 
[1588491116.541|28401|manager.cpp       :452  ] Errors while parsing /home/mathieu/.config/jami/dring.yml
[1588491116.542|28401|sipvoiplink.cpp   :646  ] ~SIPVoIPLink <at> 0x1297410
[1588491116.542|28401|siptransport.cpp  :193  ] ~SipTransportBroker <at> 0x125c3d0
[1588491116.542|28401|siptransport.cpp  :200  ] destroying SipTransportBroker <at> 0x125c3d0
dring: ../src/pj/os_core_unix.c:1325: pj_mutex_unlock: Assertion `mutex->owner == pj_thread_this()' failed.
Aborted (core dumped)
--8<---------------cut here---------------end--------------->8---

Maybe we should fix it, wrapping jami binary, so that it also starts
this daemon?

WDYT?

Thanks,

Mathieu

[1]: https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Build-instructions




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Sun, 03 May 2020 14:33:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 00/15] Jami patches.
Date: Sun, 3 May 2020 16:32:20 +0200
On Sun, 03 May 2020 09:34:50 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> Hello,
> 
> 
> I think the problem is that when starting "jami-gnome", the "dring"
> daemon is started by D-Bus. On a foreign distro, this cannot work. So
> I tried to start dring manually[1] but I have the following error:
> 
> --8<---------------cut here---------------start------------->8---
> /gnu/store/chb71qh7dprrdgn7d3g08d2pbii57v2v-libring-20200401.1.6f090de/lib/ring/dring
> -cdp Jami Daemon 9.1.0, by Savoir-faire Linux 2004-2019
> https://jami.net/
> [Video support enabled]
> 
> [1588491116.175|28401|ringbufferpool.cpp:118  ] Ringbuffer created
> with id 'audiolayer_id' [1588491116.411|28401|video_device.h    :129
> ] Default video settings: 800x480, 30 FPS
> [1588491116.529|28401|video_device.h    :129  ] Default video
> settings: 960x540, 30 FPS
> [1588491116.532|28401|manager.cpp       :676  ] Not initialized
> [1588491116.532|28401|manager.cpp       :676  ] Not initialized
> 09:31:56.533         os_core_unix.c !pjlib 2.10 for POSIX initialized
> [1588491116.534|28401|manager.cpp       :738  ] Using PJSIP version
> 2.10 for x86_64-unknown-linux-gnu
> [1588491116.534|28401|manager.cpp       :739  ] Using GnuTLS version
> 3.6.13 [1588491116.534|28401|manager.cpp       :740  ] Using OpenDHT
> version 2.0.0 [1588491116.535|28401|manager.cpp       :751  ]
> Configuration file path: /home/mathieu/.config/jami/dring.yml
> [1588491116.537|28401|manager.cpp       :2738 ] invalid node; first
> invalid key: "preferences": Preferences node unserialize error:
> [1588491116.538|28401|manager.cpp       :452  ] Errors while
> parsing /home/mathieu/.config/jami/dring.yml
> [1588491116.538|28401|manager.cpp       :777  ] Restoring last
> working configuration [1588491116.540|28401|sipvoiplink.cpp   :550  ]
> Using SIP nameserver: 127.0.0.53
> [1588491116.540|28401|siptransport.cpp  :188  ]
> SipTransportBroker <at> 0x125c3d0
> [1588491116.541|28401|sipvoiplink.cpp   :641  ] SIPVoIPLink <at> 0x1297410
> [1588491116.541|28407|sip_utils.cpp     :203  ] Registered thread
> 0x7f132bc5f4d0 (0x6EF1) [1588491116.541|28401|manager.cpp       :2738
> ] invalid node; first invalid key: "preferences": Preferences node
> unserialize error: [1588491116.541|28401|manager.cpp       :452  ]
> Errors while parsing /home/mathieu/.config/jami/dring.yml
> [1588491116.542|28401|sipvoiplink.cpp   :646  ]
> ~SIPVoIPLink <at> 0x1297410 [1588491116.542|28401|siptransport.cpp  :193
> ] ~SipTransportBroker <at> 0x125c3d0
> [1588491116.542|28401|siptransport.cpp  :200  ] destroying
> SipTransportBroker <at> 0x125c3d0 dring: ../src/pj/os_core_unix.c:1325:
> pj_mutex_unlock: Assertion `mutex->owner == pj_thread_this()' failed.
> Aborted (core dumped) --8<---------------cut
> here---------------end--------------->8---

This error is strange. I get nothing like this on Devuan - Jami just
starts automatically as the system loads.

> Maybe we should fix it, wrapping jami binary, so that it also starts
> this daemon?

I can try. Is it something similar to what we already have in jami
package - sqlite wrapper or should I just add dbus to propagated inputs?

> WDYT?
> 
> Thanks,
> 
> Mathieu
> 
> [1]:
> https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Build-instructions






Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Mon, 04 May 2020 18:27:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Mon, 4 May 2020 20:26:31 +0200
On Sat, 02 May 2020 11:36:30 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> Ok, last one! As discussed before I'm not very comfortable with this
> very long list of configuration options.
> 
> Are the ffmpeg configuration options needed by Jami described
> somewhere?
> 
> Thanks,
> 
> Mathieu

So I compared the list of flags turned off by default with ffmpeg
package currently in guix with ffmpeg-jami package and I managed to
shorten the list from 107 to 95. It isn't worth the effort.

I tried looking for the flags needed in the documentation, but I
couldn't find anything. There's only the rules.mak file in Jami source
code and they use these flags.

There are only few comments:
#disable everything
#enable muxers/demuxers
#enable parsers
#encoders/decoders
#decoders for ringtones and audio streaming
#encoders/decoders for images
#filters
#platform specific options
#Android Linux
#Desktop Linux
...

That's all. I see no point in comparing these flags every release just
for 12 of them I can inherit from the default ffmpeg package.

I prefer just copy the list from rules.mak. What I could do is defining
a separate "ffmpeg-configure-flags" variable somewhere near ffmpeg-jami
and use it, instead of having the bloated list inside the package
definition (if that's even possible).
Correct me if I'm wrong or suggest a reasonable solution, because I have
no idea how to deal with it right now.


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Tue, 05 May 2020 07:20:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Tue, 05 May 2020 09:18:58 +0200
Hello Jan,

> So I compared the list of flags turned off by default with ffmpeg
> package currently in guix with ffmpeg-jami package and I managed to
> shorten the list from 107 to 95. It isn't worth the effort.

Oh that's a disappointment indeed. Among those 95 flags I'm pretty sure
most of them match the default, but going through all of them feels like
a burden.

> I prefer just copy the list from rules.mak. What I could do is defining
> a separate "ffmpeg-configure-flags" variable somewhere near ffmpeg-jami
> and use it, instead of having the bloated list inside the package
> definition (if that's even possible).
> Correct me if I'm wrong or suggest a reasonable solution, because I have
> no idea how to deal with it right now.

Ok, this seems fine. Don't hesitate to add a link to a Web view of the
rules.mak file, so that it's clear where those flags come from.

Another remark on this part,

>         "--enable-encoder=h264_nvenc"
>         "--enable-encoder=hevc_nvenc"))
>      ((string?= (%current-system) "aarch64-linux") '("--arch=aarch64"))
>      ((string?= (%current-system) "arm64-linux") '("--arch=aarch64"))

"arm64-linux" is not a valid system, you can remove it.

>      ((string?= (%current-system) "arm") '("--arch=arm"))

I think the right system here is "armhf-linux". However, you would also
need to support cross-compilation when %current-target-system is set. In
that case, the value looks like "aarch64-linux-gnu" and
"arm-linux-gnueabihf".

If you add support for those plaforms you need to test it by building
ffmpeg-jami with "--system" and "--target" flags. As this is a complex
package with a lot of dependencies (probably failing to cross-compile),
it would be fine with me if you just drop support for other
systems/targets.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Thu, 07 May 2020 00:23:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Thu, 7 May 2020 02:22:30 +0200
Hi again!

On Tue, 05 May 2020 09:18:58 +0200
Mathieu Othacehe <m.othacehe <at> gmail.com> wrote:

> Hello Jan,
> 
> Oh that's a disappointment indeed. Among those 95 flags I'm pretty
> sure most of them match the default, but going through all of them
> feels like a burden.
> 
> Ok, this seems fine. Don't hesitate to add a link to a Web view of the
> rules.mak file, so that it's clear where those flags come from.
Done.

> Another remark on this part,
> 
> >         "--enable-encoder=h264_nvenc"
> >         "--enable-encoder=hevc_nvenc"))
> >      ((string?= (%current-system) "aarch64-linux")
> > '("--arch=aarch64")) ((string?= (%current-system) "arm64-linux")
> > '("--arch=aarch64"))  
> 
> "arm64-linux" is not a valid system, you can remove it.
Done.

> >      ((string?= (%current-system) "arm") '("--arch=arm"))  
> 
> I think the right system here is "armhf-linux". However, you would
> also need to support cross-compilation when %current-target-system is
> set. In that case, the value looks like "aarch64-linux-gnu" and
> "arm-linux-gnueabihf".

I added "%current-target-system" to support cross-compilation.
Also fixed the drunk "string?=" uses - there's "string=?" actually and
I replaced it with "string-prefix?".

What's the difference between "arm-linux-gnueabihf" and
"aarch64-linux-gnu"? Are they synonyms?
Should it be:
if "arm-linux-gnueabihf" or "aarch64-linux-gnu"
use "--arch=armhf-linux"?

> If you add support for those plaforms you need to test it by building
> ffmpeg-jami with "--system" and "--target" flags. As this is a complex
> package with a lot of dependencies (probably failing to
> cross-compile), it would be fine with me if you just drop support for
> other systems/targets.

I want to try anyway. Jami supports Raspbian, so it is worth trying.

> Thanks,
> 
> Mathieu


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Thu, 07 May 2020 20:05:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Thu, 7 May 2020 22:03:55 +0200
Hi,

I tried fixing cross-compilation but there are several problems:

- dav1d fails, because "meson doesn't support cross-compilation"
- perl fails during installation and if I checked correctly, guix
  doesn't have support for perl on armhf or aarch64
- glib fails, because "meson doesn't support cross-compilation"
And other possible problems I didn't get to. With dav1d I could just
disable it, because it's just one codec. I also disabled perl, but
disabling glib won't work.

This isn't a good advertisement for this meson build system :P
Should I proudly drop all the support for cross compilation?



Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 08 May 2020 08:36:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Fri, 08 May 2020 10:35:31 +0200
Hello Jan,

> - dav1d fails, because "meson doesn't support cross-compilation"
> - perl fails during installation and if I checked correctly, guix
>   doesn't have support for perl on armhf or aarch64
> - glib fails, because "meson doesn't support cross-compilation"
> And other possible problems I didn't get to. With dav1d I could just
> disable it, because it's just one codec. I also disabled perl, but
> disabling glib won't work.
>
> This isn't a good advertisement for this meson build system :P
> Should I proudly drop all the support for cross compilation?

On core-updates the cross-compilation support is a bit better (perl at
least should be fixed), but it won't get you much further. So yes you
can drop cross compilation. You can still check that native compilation
for armv7 and aarch64 works with "--system armhf-linux" and "--system
aarch64-linux". Note that you will need to setup binfmt.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 08 May 2020 08:44:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Fri, 08 May 2020 10:43:33 +0200
Hey,

> What's the difference between "arm-linux-gnueabihf" and
> "aarch64-linux-gnu"? Are they synonyms?

No, "arm-linux-gnueabihf" is for ARMv7 systems with hardware floating
point support. "aarch64-linux-gnu" is for ARMv8 processors. This is
quite confusing!

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 13 May 2020 14:58:01 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <m.othacehe <at> gmail.com>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Wed, 13 May 2020 16:57:29 +0200
Hi,

I had a success building ffmpeg-jami on both aarch64-linux and
armhf-linux (through qemu). I have one question regarding the naming
convention of variables. Why do some variables start with "%"? I
couldn't find any explanation in the documentation nor in the source
code. Say I want to add a variable called
"ffmpeg-linux-configure-flags". Should I start it with "%" -
"%fmpeg-linux-configure-flags" or not?


Jan Wielkiewicz




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 13 May 2020 15:52:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <m.othacehe <at> gmail.com>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH V3 07/15] gnu: Add ffmpeg-jami.
Date: Wed, 13 May 2020 17:51:31 +0200
Hello Jan,

> I had a success building ffmpeg-jami on both aarch64-linux and
> armhf-linux (through qemu). I have one question regarding the naming
> convention of variables. Why do some variables start with "%"? I
> couldn't find any explanation in the documentation nor in the source
> code. Say I want to add a variable called
> "ffmpeg-linux-configure-flags". Should I start it with "%" -
> "%fmpeg-linux-configure-flags" or not?

Good job! Variables prefixed by '%' often denote parameters (see:
https://www.gnu.org/software/guile/manual/html_node/Parameters.html).

I guess something like:

--8<---------------cut here---------------start------------->8---
(define %fmpeg-linux-configure-flags
  '("--flag-1"
    "--flag-2"))
--8<---------------cut here---------------end--------------->8---

would be fine. But using "ffmpeg-linux-configure-flags" would also be
correct.

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Wed, 13 May 2020 18:13:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH v4] gnu: Add ffmpeg-jami.
Date: Wed, 13 May 2020 20:12:34 +0200
This package is needed, because Jami uses a modified version
of ffmpeg, which provides GPU hardware acceleration, automatical
adapting of bitrate and extra codecs. Because of the configure flags
list being long, it is better to keep them separated in variables,
instead of littering the package definition.

* gnu/packages/jami.scm (ffmpeg-jami, %ffmpeg-default-configure-flags,
%ffmpeg-linux-configure-flags, %ffmpeg-linux-x86-configure-flags):
New variables.
(ffmpeg-compose-configure-flags): New procedure.
(libring)[inputs]: Use ffmpeg-jami instead of ffmpeg.
---
 gnu/packages/jami.scm | 255 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 253 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index dda787b3cd..2cf2f3aa10 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -59,7 +59,8 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
-  #:use-module (guix utils))
+  #:use-module (guix utils)
+  #:use-module (srfi srfi-1))
 
 (define %jami-version "20200401.1.6f090de")
 
@@ -186,6 +187,256 @@
                 "selftest: pjlib-test pjlib-util-test pjmedia-test"))
              #t)))))))
 
+;; The following variables are configure flags used by ffmpeg-jami.
+;; They're from the ring-project/daemon/contrib/src/ffmpeg/rules.mak
+;; file. We try to keep it as close to the official Jami package as
+;; possible to provide all the codecs and extra features that are
+;; the effect of patching ffmpeg.
+;;
+;; Web view of the file:
+;;https://review.jami.net/plugins/gitiles/ring-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak
+(define %ffmpeg-default-configure-flags
+  '(;; disable everything
+    "--disable-everything"
+    "--enable-zlib"
+    "--enable-gpl"
+    "--enable-swscale"
+    "--enable-bsfs"
+    "--disable-filters"
+    "--disable-programs"
+    "--disable-postproc"
+    "--disable-protocols"
+    "--enable-protocol=crypto"
+    "--enable-protocol=file"
+    "--enable-protocol=rtp"
+    "--enable-protocol=srtp"
+    "--enable-protocol=tcp"
+    "--enable-protocol=udp"
+    "--enable-protocol=unix"
+    "--enable-protocol=pipe"
+    ;; enable muxers/demuxers
+    "--disable-demuxers"
+    "--disable-muxers"
+    "--enable-muxer=rtp"
+    "--enable-muxer=g722"
+    "--enable-muxer=h263"
+    "--enable-muxer=h264"
+    "--enable-muxer=hevc"
+    "--enable-muxer=webm"
+    "--enable-muxer=ogg"
+    "--enable-muxer=pcm_s16be"
+    "--enable-muxer=pcm_s16le"
+    "--enable-demuxer=rtp"
+    "--enable-demuxer=mjpeg"
+    "--enable-demuxer=mjpeg_2000"
+    "--enable-demuxer=mpegvideo"
+    "--enable-demuxer=gif"
+    "--enable-demuxer=image_jpeg_pipe"
+    "--enable-demuxer=image_png_pipe"
+    "--enable-demuxer=image_webp_pipe"
+    "--enable-demuxer=matroska"
+    "--enable-demuxer=m4v"
+    "--enable-demuxer=mp3"
+    "--enable-demuxer=ogg"
+    "--enable-demuxer=flac"
+    "--enable-demuxer=wav"
+    "--enable-demuxer=ac3"
+    "--enable-demuxer=g722"
+    "--enable-demuxer=pcm_mulaw"
+    "--enable-demuxer=pcm_alaw"
+    "--enable-demuxer=pcm_s16be"
+    "--enable-demuxer=pcm_s16le"
+    "--enable-demuxer=h263"
+    "--enable-demuxer=h264"
+    "--enable-demuxer=hevc"
+    ;; enable parsers
+    "--enable-parser=h263"
+    "--enable-parser=h264"
+    "--enable-parser=hevc"
+    "--enable-parser=mpeg4video"
+    "--enable-parser=vp8"
+    "--enable-parser=vp9"
+    "--enable-parser=opus"
+    ;; encoders/decoders
+    "--enable-encoder=adpcm_g722"
+    "--enable-decoder=adpcm_g722"
+    "--enable-encoder=rawvideo"
+    "--enable-decoder=rawvideo"
+    "--enable-encoder=libx264"
+    "--enable-decoder=h264"
+    "--enable-encoder=pcm_alaw"
+    "--enable-decoder=pcm_alaw"
+    "--enable-encoder=pcm_mulaw"
+    "--enable-decoder=pcm_mulaw"
+    "--enable-encoder=mpeg4"
+    "--enable-decoder=mpeg4"
+    "--enable-encoder=libvpx_vp8"
+    "--enable-decoder=vp8"
+    "--enable-decoder=vp9"
+    "--enable-encoder=h263"
+    "--enable-encoder=h263p"
+    "--enable-decoder=h263"
+    "--enable-encoder=mjpeg"
+    "--enable-decoder=mjpeg"
+    "--enable-decoder=mjpegb"
+    "--enable-libspeex"
+    "--enable-libopus"
+    "--enable-libvpx"
+    "--enable-libx264"
+    "--enable-encoder=libspeex"
+    "--enable-decoder=libspeex"
+    "--enable-encoder=libopus"
+    "--enable-decoder=libopus"
+    ;; decoders for ringtones and audio streaming
+    "--enable-decoder=flac"
+    "--enable-decoder=vorbis"
+    "--enable-decoder=aac"
+    "--enable-decoder=ac3"
+    "--enable-decoder=eac3"
+    "--enable-decoder=mp3"
+    "--enable-decoder=pcm_u24be"
+    "--enable-decoder=pcm_u24le"
+    "--enable-decoder=pcm_u32be"
+    "--enable-decoder=pcm_u32le"
+    "--enable-decoder=pcm_u8"
+    "--enable-decoder=pcm_f16le"
+    "--enable-decoder=pcm_f24le"
+    "--enable-decoder=pcm_f32be"
+    "--enable-decoder=pcm_f32le"
+    "--enable-decoder=pcm_f64be"
+    "--enable-decoder=pcm_f64le"
+    "--enable-decoder=pcm_s16be"
+    "--enable-decoder=pcm_s16be_planar"
+    "--enable-decoder=pcm_s16le"
+    "--enable-decoder=pcm_s16le_planar"
+    "--enable-decoder=pcm_s24be"
+    "--enable-decoder=pcm_s24le"
+    "--enable-decoder=pcm_s24le_planar"
+    "--enable-decoder=pcm_s32be"
+    "--enable-decoder=pcm_s32le"
+    "--enable-decoder=pcm_s32le_planar"
+    "--enable-decoder=pcm_s64be"
+    "--enable-decoder=pcm_s64le"
+    "--enable-decoder=pcm_s8"
+    "--enable-decoder=pcm_s8_planar"
+    "--enable-decoder=pcm_u16be"
+    "--enable-decoder=pcm_u16le"
+    ;; encoders/decoders for images
+    "--enable-encoder=gif"
+    "--enable-decoder=gif"
+    "--enable-encoder=jpegls"
+    "--enable-decoder=jpegls"
+    "--enable-encoder=ljpeg"
+    "--enable-decoder=jpeg2000"
+    "--enable-encoder=png"
+    "--enable-decoder=png"
+    "--enable-encoder=bmp"
+    "--enable-decoder=bmp"
+    "--enable-encoder=tiff"
+    "--enable-decoder=tiff"
+    ;; filters
+    "--enable-filter=scale"
+    "--enable-filter=overlay"
+    "--enable-filter=amix"
+    "--enable-filter=amerge"
+    "--enable-filter=aresample"
+    "--enable-filter=format"
+    "--enable-filter=aformat"
+    "--enable-filter=fps"
+    "--enable-filter=transpose"
+    "--enable-filter=pad"))
+
+(define %ffmpeg-linux-configure-flags
+  '("--enable-pic"
+    "--extra-cxxflags=-fPIC"
+    "--extra-cflags=-fPIC"
+    "--target-os=linux"
+    "--enable-indev=v4l2"
+    "--enable-indev=xcbgrab"
+    "--enable-vdpau"
+    "--enable-hwaccel=h264_vdpau"
+    "--enable-hwaccel=mpeg4_vdpau"
+    "--enable-vaapi"
+    "--enable-hwaccel=h264_vaapi"
+    "--enable-hwaccel=mpeg4_vaapi"
+    "--enable-hwaccel=h263_vaapi"
+    "--enable-hwaccel=vp8_vaapi"
+    "--enable-hwaccel=mjpeg_vaapi"
+    "--enable-hwaccel=hevc_vaapi"
+    "--enable-encoder=h264_vaapi"
+    "--enable-encoder=vp8_vaapi"
+    "--enable-encoder=mjpeg_vaapi"
+    "--enable-encoder=hevc_vaapi"))
+
+;; ffnvcodec is not supported on ARM then we enable it here for i386 and x86_64
+(define %ffmpeg-linux-x86-configure-flags
+  '("--arch=x86"
+    "--enable-cuvid"
+    "--enable-ffnvcodec"
+    "--enable-nvdec"
+    "--enable-nvenc"
+    "--enable-hwaccel=h264_nvdec"
+    "--enable-hwaccel=hevc_nvdec"
+    "--enable-hwaccel=vp8_nvdec"
+    "--enable-hwaccel=mjpeg_nvdec"
+    "--enable-encoder=h264_nvenc"
+    "--enable-encoder=hevc_nvenc"))
+
+;; This procedure composes the configure flags list for ffmpeg-jami.
+(define (ffmpeg-compose-configure-flags)
+  (let* ((flags %ffmpeg-default-configure-flags)
+         (append-flags (lambda (l)
+                         (set! flags (append flags l))))
+         (system=? (lambda (s)
+                     (string-prefix? %current-system s))))
+    (if (string-contains %current-system "linux")
+        (begin (append-flags %ffmpeg-linux-configure-flags)
+               (cond ((or (system=? "i686")
+                          (system=? "x86_64"))
+                      (append-flags %ffmpeg-linux-x86-configure-flags))
+                     ((system=? "x86_64")
+                      (append-flags '("--arch=x86_64")))
+                     ((system=? "aarch64")
+                      (append-flags '("--arch=aarch64")))
+                     ((system=? "armhf")
+                      (append-flags '("--arch=armhf"))))))
+    flags))
+
+(define-public ffmpeg-jami
+  (package
+    (inherit ffmpeg)
+    (name "ffmpeg-jami")
+    (native-inputs
+     `(("sfl-patches" ,(jami-source))
+       ("libiconv" ,libiconv)
+       ,@(package-native-inputs ffmpeg)))
+    (supported-systems '("x86_64-linux" "i686-linux"
+                         "aarch64-linux" "armhf-linux"))
+    (arguments
+     (append
+      '(#:tests? #f)
+      (substitute-keyword-arguments (package-arguments ffmpeg)
+        ((#:configure-flags '())
+         (ffmpeg-compose-configure-flags))
+        ((#:phases phases)
+         `(modify-phases ,phases
+            (add-after 'unpack 'make-git-checkout-writable
+              (lambda _
+                (for-each make-file-writable (find-files "."))
+                #t))
+            (add-after 'unpack 'apply-patches
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
+                  ;; These patches come from:
+                  ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak".
+                  (jami-apply-dependency-patches #:inputs inputs
+                                                 #:dep-name "ffmpeg"
+                                                 #:patches
+                                                 '("remove-mjpeg-log"
+                                                   "change-RTCP-ratio"
+                                                   "rtp_ext_abs_send_time"))
+                  #t))))))))))
+
 (define-public libring
   (package
     (name "libring")
@@ -197,7 +448,7 @@
        ("boost" ,boost)
        ("dbus-c++" ,dbus-c++)
        ("eudev" ,eudev)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-jami)
        ("flac" ,flac)
        ("gmp" ,gmp)
        ("gsm" ,gsm)
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Thu, 14 May 2020 07:06:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH v4] gnu: Add ffmpeg-jami.
Date: Thu, 14 May 2020 09:05:03 +0200
Hello Jan,

> +;; This procedure composes the configure flags list for ffmpeg-jami.
> +(define (ffmpeg-compose-configure-flags)
> +  (let* ((flags %ffmpeg-default-configure-flags)
> +         (append-flags (lambda (l)
> +                         (set! flags (append flags l))))

It's better to avoid using "set!".

> +         (system=? (lambda (s)
> +                     (string-prefix? %current-system s))))

This should be (%current-system), plus I think arguments should be
transposed.

> +    (if (string-contains %current-system "linux")
> +        (begin (append-flags %ffmpeg-linux-configure-flags)
> +               (cond ((or (system=? "i686")
> +                          (system=? "x86_64"))
> +                      (append-flags %ffmpeg-linux-x86-configure-flags))
> +                     ((system=? "x86_64")
> +                      (append-flags '("--arch=x86_64")))

If the first branch of the cond succeeds, we will never add this flag.

Plus, it seems than ffmpeg is able to detect the running system. So I
would suggest to do this:

--8<---------------cut here---------------start------------->8---
;; This procedure composes the configure flags list for ffmpeg-jami.
(define (ffmpeg-compose-configure-flags)
  (define (system=? s)
    (string-prefix? s (%current-system)))

  `(,@%ffmpeg-default-configure-flags
    ;; Add Linux specific flags.
    ,@(if (string-contains %current-system "linux")
          %ffmpeg-linux-configure-flags
          '())
    ,@(if (or (system=? "i686") (system=? "x86_64"))
          %ffmpeg-linux-x86-configure-flags
          '())))
--8<---------------cut here---------------end--------------->8---

What do you think?

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Thu, 14 May 2020 12:44:02 GMT) Full text and rfc822 format available.

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

From: Jan <tona_kosmicznego_smiecia <at> interia.pl>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH v4] gnu: Add ffmpeg-jami.
Date: Thu, 14 May 2020 14:43:24 +0200
On Thu, 14 May 2020 09:05:03 +0200
Mathieu Othacehe <othacehe <at> gnu.org> wrote:

> Hello Jan,
> 
> 
> It's better to avoid using "set!".
> 
What should I use instead?

> > +         (system=? (lambda (s)
> > +                     (string-prefix? %current-system s))))  
> 
> This should be (%current-system), plus I think arguments should be
> transposed.
Okay

> > +    (if (string-contains %current-system "linux")
> > +        (begin (append-flags %ffmpeg-linux-configure-flags)
> > +               (cond ((or (system=? "i686")
> > +                          (system=? "x86_64"))
> > +                      (append-flags
> > %ffmpeg-linux-x86-configure-flags))
> > +                     ((system=? "x86_64")
> > +                      (append-flags '("--arch=x86_64")))  
> 
> If the first branch of the cond succeeds, we will never add this flag.
That's what happens when you code late in night :)
I should sit down with a cup of coffee and read Guile's manual seriously
this time. Sorry for making your code review harder.

> Plus, it seems than ffmpeg is able to detect the running system. So I
> would suggest to do this:
> 
> --8<---------------cut here---------------start------------->8---
> ;; This procedure composes the configure flags list for ffmpeg-jami.
> (define (ffmpeg-compose-configure-flags)
>   (define (system=? s)
>     (string-prefix? s (%current-system)))
> 
>   `(,@%ffmpeg-default-configure-flags
>     ;; Add Linux specific flags.
>     ,@(if (string-contains %current-system "linux")
>           %ffmpeg-linux-configure-flags
>           '())
>     ,@(if (or (system=? "i686") (system=? "x86_64"))
>           %ffmpeg-linux-x86-configure-flags
>           '())))
> --8<---------------cut here---------------end--------------->8---
> 
> What do you think?

I think  %ffmpeg-linux-x86-configure-flags should be added only if
linux is present, not just when on i686 or x86_64. I called it
"%ffmpeg-linux-x86...", because it was inside of the "ifdef HAVE_LINUX"
condition. But there was also a comment saying "Desktop Linux", which
as always means very little. I'm not sure if it really requires the
Linux kernel there or what.

What about the output of the procedure? Is it okay for the list to be
not proper? It will look something like this:
((flag1 flag2 ... flagN) (flag1 flag2 ... flagN))
Is it okay because everything is treated as a pair in a recursive
manner?

Other than this, it will be good.


> Thanks,
> 
> Mathieu





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 15 May 2020 00:48:02 GMT) Full text and rfc822 format available.

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

From: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
To: 40677 <at> debbugs.gnu.org
Cc: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Subject: [PATCH v5] gnu: Add ffmpeg-jami.
Date: Fri, 15 May 2020 02:47:05 +0200
This package is needed, because Jami uses a modified version
of ffmpeg, which provides GPU hardware acceleration, automatical
adapting of bitrate and extra codecs. Because of the configure flags
list being long, it is better to keep them separated in variables,
instead of littering the package definition.

* gnu/packages/jami.scm (ffmpeg-jami, %ffmpeg-default-configure-flags,
%ffmpeg-linux-configure-flags, %ffmpeg-linux-x86-configure-flags):
New variables.
(ffmpeg-compose-configure-flags): New procedure.
(libring)[inputs]: Use ffmpeg-jami instead of ffmpeg.
---
 gnu/packages/jami.scm | 248 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 246 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index dda787b3cd..dea5e7d3b8 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -59,7 +59,8 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
-  #:use-module (guix utils))
+  #:use-module (guix utils)
+  #:use-module (srfi srfi-1))
 
 (define %jami-version "20200401.1.6f090de")
 
@@ -186,6 +187,249 @@
                 "selftest: pjlib-test pjlib-util-test pjmedia-test"))
              #t)))))))
 
+;; The following variables are configure flags used by ffmpeg-jami.
+;; They're from the ring-project/daemon/contrib/src/ffmpeg/rules.mak
+;; file. We try to keep it as close to the official Jami package as
+;; possible to provide all the codecs and extra features that are
+;; the effect of patching ffmpeg.
+;;
+;; Web view of the file:
+;;https://review.jami.net/plugins/gitiles/ring-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak
+(define %ffmpeg-default-configure-flags
+  '(;; disable everything
+    "--disable-everything"
+    "--enable-zlib"
+    "--enable-gpl"
+    "--enable-swscale"
+    "--enable-bsfs"
+    "--disable-filters"
+    "--disable-programs"
+    "--disable-postproc"
+    "--disable-protocols"
+    "--enable-protocol=crypto"
+    "--enable-protocol=file"
+    "--enable-protocol=rtp"
+    "--enable-protocol=srtp"
+    "--enable-protocol=tcp"
+    "--enable-protocol=udp"
+    "--enable-protocol=unix"
+    "--enable-protocol=pipe"
+    ;; enable muxers/demuxers
+    "--disable-demuxers"
+    "--disable-muxers"
+    "--enable-muxer=rtp"
+    "--enable-muxer=g722"
+    "--enable-muxer=h263"
+    "--enable-muxer=h264"
+    "--enable-muxer=hevc"
+    "--enable-muxer=webm"
+    "--enable-muxer=ogg"
+    "--enable-muxer=pcm_s16be"
+    "--enable-muxer=pcm_s16le"
+    "--enable-demuxer=rtp"
+    "--enable-demuxer=mjpeg"
+    "--enable-demuxer=mjpeg_2000"
+    "--enable-demuxer=mpegvideo"
+    "--enable-demuxer=gif"
+    "--enable-demuxer=image_jpeg_pipe"
+    "--enable-demuxer=image_png_pipe"
+    "--enable-demuxer=image_webp_pipe"
+    "--enable-demuxer=matroska"
+    "--enable-demuxer=m4v"
+    "--enable-demuxer=mp3"
+    "--enable-demuxer=ogg"
+    "--enable-demuxer=flac"
+    "--enable-demuxer=wav"
+    "--enable-demuxer=ac3"
+    "--enable-demuxer=g722"
+    "--enable-demuxer=pcm_mulaw"
+    "--enable-demuxer=pcm_alaw"
+    "--enable-demuxer=pcm_s16be"
+    "--enable-demuxer=pcm_s16le"
+    "--enable-demuxer=h263"
+    "--enable-demuxer=h264"
+    "--enable-demuxer=hevc"
+    ;; enable parsers
+    "--enable-parser=h263"
+    "--enable-parser=h264"
+    "--enable-parser=hevc"
+    "--enable-parser=mpeg4video"
+    "--enable-parser=vp8"
+    "--enable-parser=vp9"
+    "--enable-parser=opus"
+    ;; encoders/decoders
+    "--enable-encoder=adpcm_g722"
+    "--enable-decoder=adpcm_g722"
+    "--enable-encoder=rawvideo"
+    "--enable-decoder=rawvideo"
+    "--enable-encoder=libx264"
+    "--enable-decoder=h264"
+    "--enable-encoder=pcm_alaw"
+    "--enable-decoder=pcm_alaw"
+    "--enable-encoder=pcm_mulaw"
+    "--enable-decoder=pcm_mulaw"
+    "--enable-encoder=mpeg4"
+    "--enable-decoder=mpeg4"
+    "--enable-encoder=libvpx_vp8"
+    "--enable-decoder=vp8"
+    "--enable-decoder=vp9"
+    "--enable-encoder=h263"
+    "--enable-encoder=h263p"
+    "--enable-decoder=h263"
+    "--enable-encoder=mjpeg"
+    "--enable-decoder=mjpeg"
+    "--enable-decoder=mjpegb"
+    "--enable-libspeex"
+    "--enable-libopus"
+    "--enable-libvpx"
+    "--enable-libx264"
+    "--enable-encoder=libspeex"
+    "--enable-decoder=libspeex"
+    "--enable-encoder=libopus"
+    "--enable-decoder=libopus"
+    ;; decoders for ringtones and audio streaming
+    "--enable-decoder=flac"
+    "--enable-decoder=vorbis"
+    "--enable-decoder=aac"
+    "--enable-decoder=ac3"
+    "--enable-decoder=eac3"
+    "--enable-decoder=mp3"
+    "--enable-decoder=pcm_u24be"
+    "--enable-decoder=pcm_u24le"
+    "--enable-decoder=pcm_u32be"
+    "--enable-decoder=pcm_u32le"
+    "--enable-decoder=pcm_u8"
+    "--enable-decoder=pcm_f16le"
+    "--enable-decoder=pcm_f24le"
+    "--enable-decoder=pcm_f32be"
+    "--enable-decoder=pcm_f32le"
+    "--enable-decoder=pcm_f64be"
+    "--enable-decoder=pcm_f64le"
+    "--enable-decoder=pcm_s16be"
+    "--enable-decoder=pcm_s16be_planar"
+    "--enable-decoder=pcm_s16le"
+    "--enable-decoder=pcm_s16le_planar"
+    "--enable-decoder=pcm_s24be"
+    "--enable-decoder=pcm_s24le"
+    "--enable-decoder=pcm_s24le_planar"
+    "--enable-decoder=pcm_s32be"
+    "--enable-decoder=pcm_s32le"
+    "--enable-decoder=pcm_s32le_planar"
+    "--enable-decoder=pcm_s64be"
+    "--enable-decoder=pcm_s64le"
+    "--enable-decoder=pcm_s8"
+    "--enable-decoder=pcm_s8_planar"
+    "--enable-decoder=pcm_u16be"
+    "--enable-decoder=pcm_u16le"
+    ;; encoders/decoders for images
+    "--enable-encoder=gif"
+    "--enable-decoder=gif"
+    "--enable-encoder=jpegls"
+    "--enable-decoder=jpegls"
+    "--enable-encoder=ljpeg"
+    "--enable-decoder=jpeg2000"
+    "--enable-encoder=png"
+    "--enable-decoder=png"
+    "--enable-encoder=bmp"
+    "--enable-decoder=bmp"
+    "--enable-encoder=tiff"
+    "--enable-decoder=tiff"
+    ;; filters
+    "--enable-filter=scale"
+    "--enable-filter=overlay"
+    "--enable-filter=amix"
+    "--enable-filter=amerge"
+    "--enable-filter=aresample"
+    "--enable-filter=format"
+    "--enable-filter=aformat"
+    "--enable-filter=fps"
+    "--enable-filter=transpose"
+    "--enable-filter=pad"))
+
+(define %ffmpeg-linux-configure-flags
+  '("--enable-pic"
+    "--extra-cxxflags=-fPIC"
+    "--extra-cflags=-fPIC"
+    "--target-os=linux"
+    "--enable-indev=v4l2"
+    "--enable-indev=xcbgrab"
+    "--enable-vdpau"
+    "--enable-hwaccel=h264_vdpau"
+    "--enable-hwaccel=mpeg4_vdpau"
+    "--enable-vaapi"
+    "--enable-hwaccel=h264_vaapi"
+    "--enable-hwaccel=mpeg4_vaapi"
+    "--enable-hwaccel=h263_vaapi"
+    "--enable-hwaccel=vp8_vaapi"
+    "--enable-hwaccel=mjpeg_vaapi"
+    "--enable-hwaccel=hevc_vaapi"
+    "--enable-encoder=h264_vaapi"
+    "--enable-encoder=vp8_vaapi"
+    "--enable-encoder=mjpeg_vaapi"
+    "--enable-encoder=hevc_vaapi"))
+
+;; ffnvcodec is not supported on ARM then we enable it here for i386 and x86_64
+(define %ffmpeg-linux-x86-configure-flags
+  '("--arch=x86"
+    "--enable-cuvid"
+    "--enable-ffnvcodec"
+    "--enable-nvdec"
+    "--enable-nvenc"
+    "--enable-hwaccel=h264_nvdec"
+    "--enable-hwaccel=hevc_nvdec"
+    "--enable-hwaccel=vp8_nvdec"
+    "--enable-hwaccel=mjpeg_nvdec"
+    "--enable-encoder=h264_nvenc"
+    "--enable-encoder=hevc_nvenc"))
+
+;; This procedure composes the configure flags list for ffmpeg-jami.
+(define (ffmpeg-compose-configure-flags)
+  (define (system=? s)
+    (string-prefix? s (%current-system)))
+  `(,@%ffmpeg-default-configure-flags
+    ,@(if (string-contains (%current-system) "linux")
+          (if (or (system=? "i686")
+                  (system=? "x86_64"))
+              (append %ffmpeg-linux-configure-flags
+                      %ffmpeg-linux-x86-configure-flags)
+              %ffmpeg-linux-configure-flags)
+          '())))
+
+(define-public ffmpeg-jami
+  (package
+    (inherit ffmpeg)
+    (name "ffmpeg-jami")
+    (native-inputs
+     `(("sfl-patches" ,(jami-source))
+       ("libiconv" ,libiconv)
+       ,@(package-native-inputs ffmpeg)))
+    (supported-systems '("x86_64-linux" "i686-linux"
+                         "aarch64-linux" "armhf-linux"))
+    (arguments
+     (append
+      '(#:tests? #f)
+      (substitute-keyword-arguments (package-arguments ffmpeg)
+        ((#:configure-flags '())
+         (ffmpeg-compose-configure-flags))
+        ((#:phases phases)
+         `(modify-phases ,phases
+            (add-after 'unpack 'make-git-checkout-writable
+              (lambda _
+                (for-each make-file-writable (find-files "."))
+                #t))
+            (add-after 'unpack 'apply-patches
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
+                  ;; These patches come from:
+                  ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak".
+                  (jami-apply-dependency-patches #:inputs inputs
+                                                 #:dep-name "ffmpeg"
+                                                 #:patches
+                                                 '("remove-mjpeg-log"
+                                                   "change-RTCP-ratio"
+                                                   "rtp_ext_abs_send_time"))
+                  #t))))))))))
+
 (define-public libring
   (package
     (name "libring")
@@ -197,7 +441,7 @@
        ("boost" ,boost)
        ("dbus-c++" ,dbus-c++)
        ("eudev" ,eudev)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-jami)
        ("flac" ,flac)
        ("gmp" ,gmp)
        ("gsm" ,gsm)
-- 
2.26.2





Information forwarded to guix-patches <at> gnu.org:
bug#40677; Package guix-patches. (Fri, 15 May 2020 07:00:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Jan <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677 <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH v4] gnu: Add ffmpeg-jami.
Date: Fri, 15 May 2020 08:59:40 +0200
Hey,

> What should I use instead?

Here you can create the list statically using quasi-quotes.

>> If the first branch of the cond succeeds, we will never add this flag.
> That's what happens when you code late in night :)
> I should sit down with a cup of coffee and read Guile's manual seriously
> this time. Sorry for making your code review harder.

No worries.

>
> I think  %ffmpeg-linux-x86-configure-flags should be added only if
> linux is present, not just when on i686 or x86_64. I called it
> "%ffmpeg-linux-x86...", because it was inside of the "ifdef HAVE_LINUX"
> condition. But there was also a comment saying "Desktop Linux", which
> as always means very little. I'm not sure if it really requires the
> Linux kernel there or what.

Yes you are right.

> What about the output of the procedure? Is it okay for the list to be
> not proper? It will look something like this:
> ((flag1 flag2 ... flagN) (flag1 flag2 ... flagN))
> Is it okay because everything is treated as a pair in a recursive
> manner?

Nope the list should be flat, see:
https://www.gnu.org/software/guile/manual/html_node/Expression-Syntax.html.

Thanks,

Mathieu




Reply sent to Mathieu Othacehe <othacehe <at> gnu.org>:
You have taken responsibility. (Fri, 15 May 2020 07:12:02 GMT) Full text and rfc822 format available.

Notification sent to Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>:
bug acknowledged by developer. (Fri, 15 May 2020 07:12:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
Cc: 40677-done <at> debbugs.gnu.org
Subject: Re: [bug#40677] [PATCH v5] gnu: Add ffmpeg-jami.
Date: Fri, 15 May 2020 09:11:14 +0200
Pushed with minor modifications.

Thanks for your work,

Mathieu

Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl> writes:

> This package is needed, because Jami uses a modified version
> of ffmpeg, which provides GPU hardware acceleration, automatical
> adapting of bitrate and extra codecs. Because of the configure flags
> list being long, it is better to keep them separated in variables,
> instead of littering the package definition.
>
> * gnu/packages/jami.scm (ffmpeg-jami, %ffmpeg-default-configure-flags,
> %ffmpeg-linux-configure-flags, %ffmpeg-linux-x86-configure-flags):
> New variables.
> (ffmpeg-compose-configure-flags): New procedure.
> (libring)[inputs]: Use ffmpeg-jami instead of ffmpeg.
> ---
>  gnu/packages/jami.scm | 248 +++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 246 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
> index dda787b3cd..dea5e7d3b8 100644
> --- a/gnu/packages/jami.scm
> +++ b/gnu/packages/jami.scm
> @@ -59,7 +59,8 @@
>    #:use-module (guix download)
>    #:use-module (guix git-download)
>    #:use-module (guix packages)
> -  #:use-module (guix utils))
> +  #:use-module (guix utils)
> +  #:use-module (srfi srfi-1))
>  
>  (define %jami-version "20200401.1.6f090de")
>  
> @@ -186,6 +187,249 @@
>                  "selftest: pjlib-test pjlib-util-test pjmedia-test"))
>               #t)))))))
>  
> +;; The following variables are configure flags used by ffmpeg-jami.
> +;; They're from the ring-project/daemon/contrib/src/ffmpeg/rules.mak
> +;; file. We try to keep it as close to the official Jami package as
> +;; possible to provide all the codecs and extra features that are
> +;; the effect of patching ffmpeg.
> +;;
> +;; Web view of the file:
> +;;https://review.jami.net/plugins/gitiles/ring-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak
> +(define %ffmpeg-default-configure-flags
> +  '(;; disable everything
> +    "--disable-everything"
> +    "--enable-zlib"
> +    "--enable-gpl"
> +    "--enable-swscale"
> +    "--enable-bsfs"
> +    "--disable-filters"
> +    "--disable-programs"
> +    "--disable-postproc"
> +    "--disable-protocols"
> +    "--enable-protocol=crypto"
> +    "--enable-protocol=file"
> +    "--enable-protocol=rtp"
> +    "--enable-protocol=srtp"
> +    "--enable-protocol=tcp"
> +    "--enable-protocol=udp"
> +    "--enable-protocol=unix"
> +    "--enable-protocol=pipe"
> +    ;; enable muxers/demuxers
> +    "--disable-demuxers"
> +    "--disable-muxers"
> +    "--enable-muxer=rtp"
> +    "--enable-muxer=g722"
> +    "--enable-muxer=h263"
> +    "--enable-muxer=h264"
> +    "--enable-muxer=hevc"
> +    "--enable-muxer=webm"
> +    "--enable-muxer=ogg"
> +    "--enable-muxer=pcm_s16be"
> +    "--enable-muxer=pcm_s16le"
> +    "--enable-demuxer=rtp"
> +    "--enable-demuxer=mjpeg"
> +    "--enable-demuxer=mjpeg_2000"
> +    "--enable-demuxer=mpegvideo"
> +    "--enable-demuxer=gif"
> +    "--enable-demuxer=image_jpeg_pipe"
> +    "--enable-demuxer=image_png_pipe"
> +    "--enable-demuxer=image_webp_pipe"
> +    "--enable-demuxer=matroska"
> +    "--enable-demuxer=m4v"
> +    "--enable-demuxer=mp3"
> +    "--enable-demuxer=ogg"
> +    "--enable-demuxer=flac"
> +    "--enable-demuxer=wav"
> +    "--enable-demuxer=ac3"
> +    "--enable-demuxer=g722"
> +    "--enable-demuxer=pcm_mulaw"
> +    "--enable-demuxer=pcm_alaw"
> +    "--enable-demuxer=pcm_s16be"
> +    "--enable-demuxer=pcm_s16le"
> +    "--enable-demuxer=h263"
> +    "--enable-demuxer=h264"
> +    "--enable-demuxer=hevc"
> +    ;; enable parsers
> +    "--enable-parser=h263"
> +    "--enable-parser=h264"
> +    "--enable-parser=hevc"
> +    "--enable-parser=mpeg4video"
> +    "--enable-parser=vp8"
> +    "--enable-parser=vp9"
> +    "--enable-parser=opus"
> +    ;; encoders/decoders
> +    "--enable-encoder=adpcm_g722"
> +    "--enable-decoder=adpcm_g722"
> +    "--enable-encoder=rawvideo"
> +    "--enable-decoder=rawvideo"
> +    "--enable-encoder=libx264"
> +    "--enable-decoder=h264"
> +    "--enable-encoder=pcm_alaw"
> +    "--enable-decoder=pcm_alaw"
> +    "--enable-encoder=pcm_mulaw"
> +    "--enable-decoder=pcm_mulaw"
> +    "--enable-encoder=mpeg4"
> +    "--enable-decoder=mpeg4"
> +    "--enable-encoder=libvpx_vp8"
> +    "--enable-decoder=vp8"
> +    "--enable-decoder=vp9"
> +    "--enable-encoder=h263"
> +    "--enable-encoder=h263p"
> +    "--enable-decoder=h263"
> +    "--enable-encoder=mjpeg"
> +    "--enable-decoder=mjpeg"
> +    "--enable-decoder=mjpegb"
> +    "--enable-libspeex"
> +    "--enable-libopus"
> +    "--enable-libvpx"
> +    "--enable-libx264"
> +    "--enable-encoder=libspeex"
> +    "--enable-decoder=libspeex"
> +    "--enable-encoder=libopus"
> +    "--enable-decoder=libopus"
> +    ;; decoders for ringtones and audio streaming
> +    "--enable-decoder=flac"
> +    "--enable-decoder=vorbis"
> +    "--enable-decoder=aac"
> +    "--enable-decoder=ac3"
> +    "--enable-decoder=eac3"
> +    "--enable-decoder=mp3"
> +    "--enable-decoder=pcm_u24be"
> +    "--enable-decoder=pcm_u24le"
> +    "--enable-decoder=pcm_u32be"
> +    "--enable-decoder=pcm_u32le"
> +    "--enable-decoder=pcm_u8"
> +    "--enable-decoder=pcm_f16le"
> +    "--enable-decoder=pcm_f24le"
> +    "--enable-decoder=pcm_f32be"
> +    "--enable-decoder=pcm_f32le"
> +    "--enable-decoder=pcm_f64be"
> +    "--enable-decoder=pcm_f64le"
> +    "--enable-decoder=pcm_s16be"
> +    "--enable-decoder=pcm_s16be_planar"
> +    "--enable-decoder=pcm_s16le"
> +    "--enable-decoder=pcm_s16le_planar"
> +    "--enable-decoder=pcm_s24be"
> +    "--enable-decoder=pcm_s24le"
> +    "--enable-decoder=pcm_s24le_planar"
> +    "--enable-decoder=pcm_s32be"
> +    "--enable-decoder=pcm_s32le"
> +    "--enable-decoder=pcm_s32le_planar"
> +    "--enable-decoder=pcm_s64be"
> +    "--enable-decoder=pcm_s64le"
> +    "--enable-decoder=pcm_s8"
> +    "--enable-decoder=pcm_s8_planar"
> +    "--enable-decoder=pcm_u16be"
> +    "--enable-decoder=pcm_u16le"
> +    ;; encoders/decoders for images
> +    "--enable-encoder=gif"
> +    "--enable-decoder=gif"
> +    "--enable-encoder=jpegls"
> +    "--enable-decoder=jpegls"
> +    "--enable-encoder=ljpeg"
> +    "--enable-decoder=jpeg2000"
> +    "--enable-encoder=png"
> +    "--enable-decoder=png"
> +    "--enable-encoder=bmp"
> +    "--enable-decoder=bmp"
> +    "--enable-encoder=tiff"
> +    "--enable-decoder=tiff"
> +    ;; filters
> +    "--enable-filter=scale"
> +    "--enable-filter=overlay"
> +    "--enable-filter=amix"
> +    "--enable-filter=amerge"
> +    "--enable-filter=aresample"
> +    "--enable-filter=format"
> +    "--enable-filter=aformat"
> +    "--enable-filter=fps"
> +    "--enable-filter=transpose"
> +    "--enable-filter=pad"))
> +
> +(define %ffmpeg-linux-configure-flags
> +  '("--enable-pic"
> +    "--extra-cxxflags=-fPIC"
> +    "--extra-cflags=-fPIC"
> +    "--target-os=linux"
> +    "--enable-indev=v4l2"
> +    "--enable-indev=xcbgrab"
> +    "--enable-vdpau"
> +    "--enable-hwaccel=h264_vdpau"
> +    "--enable-hwaccel=mpeg4_vdpau"
> +    "--enable-vaapi"
> +    "--enable-hwaccel=h264_vaapi"
> +    "--enable-hwaccel=mpeg4_vaapi"
> +    "--enable-hwaccel=h263_vaapi"
> +    "--enable-hwaccel=vp8_vaapi"
> +    "--enable-hwaccel=mjpeg_vaapi"
> +    "--enable-hwaccel=hevc_vaapi"
> +    "--enable-encoder=h264_vaapi"
> +    "--enable-encoder=vp8_vaapi"
> +    "--enable-encoder=mjpeg_vaapi"
> +    "--enable-encoder=hevc_vaapi"))
> +
> +;; ffnvcodec is not supported on ARM then we enable it here for i386 and x86_64
> +(define %ffmpeg-linux-x86-configure-flags
> +  '("--arch=x86"
> +    "--enable-cuvid"
> +    "--enable-ffnvcodec"
> +    "--enable-nvdec"
> +    "--enable-nvenc"
> +    "--enable-hwaccel=h264_nvdec"
> +    "--enable-hwaccel=hevc_nvdec"
> +    "--enable-hwaccel=vp8_nvdec"
> +    "--enable-hwaccel=mjpeg_nvdec"
> +    "--enable-encoder=h264_nvenc"
> +    "--enable-encoder=hevc_nvenc"))
> +
> +;; This procedure composes the configure flags list for ffmpeg-jami.
> +(define (ffmpeg-compose-configure-flags)
> +  (define (system=? s)
> +    (string-prefix? s (%current-system)))
> +  `(,@%ffmpeg-default-configure-flags
> +    ,@(if (string-contains (%current-system) "linux")
> +          (if (or (system=? "i686")
> +                  (system=? "x86_64"))
> +              (append %ffmpeg-linux-configure-flags
> +                      %ffmpeg-linux-x86-configure-flags)
> +              %ffmpeg-linux-configure-flags)
> +          '())))
> +
> +(define-public ffmpeg-jami
> +  (package
> +    (inherit ffmpeg)
> +    (name "ffmpeg-jami")
> +    (native-inputs
> +     `(("sfl-patches" ,(jami-source))
> +       ("libiconv" ,libiconv)
> +       ,@(package-native-inputs ffmpeg)))
> +    (supported-systems '("x86_64-linux" "i686-linux"
> +                         "aarch64-linux" "armhf-linux"))
> +    (arguments
> +     (append
> +      '(#:tests? #f)
> +      (substitute-keyword-arguments (package-arguments ffmpeg)
> +        ((#:configure-flags '())
> +         (ffmpeg-compose-configure-flags))
> +        ((#:phases phases)
> +         `(modify-phases ,phases
> +            (add-after 'unpack 'make-git-checkout-writable
> +              (lambda _
> +                (for-each make-file-writable (find-files "."))
> +                #t))
> +            (add-after 'unpack 'apply-patches
> +              (lambda* (#:key inputs #:allow-other-keys)
> +                (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
> +                  ;; These patches come from:
> +                  ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak".
> +                  (jami-apply-dependency-patches #:inputs inputs
> +                                                 #:dep-name "ffmpeg"
> +                                                 #:patches
> +                                                 '("remove-mjpeg-log"
> +                                                   "change-RTCP-ratio"
> +                                                   "rtp_ext_abs_send_time"))
> +                  #t))))))))))
> +
>  (define-public libring
>    (package
>      (name "libring")
> @@ -197,7 +441,7 @@
>         ("boost" ,boost)
>         ("dbus-c++" ,dbus-c++)
>         ("eudev" ,eudev)
> -       ("ffmpeg" ,ffmpeg)
> +       ("ffmpeg" ,ffmpeg-jami)
>         ("flac" ,flac)
>         ("gmp" ,gmp)
>         ("gsm" ,gsm)




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 12 Jun 2020 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 6 days ago.

Previous Next


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