* [bug#47513] [PATCH 00/12] Update jami and add jami-qt @ 2021-03-31 5:14 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (4 more replies) 0 siblings, 5 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:14 UTC (permalink / raw) To: 47513 Hello! I've finally picked up the packaging of Jami, which was becoming quite outdated in Guix. I haven't had much time to test the result yet, but a priori it seems to function as intended. Let me know how it works for you! Maxim Maxim Cournoyer (12): gnu: asio: Update to 1.18.1. gnu: restbed: Update to 4.7. gnu: restinio: Update to 0.6.13. gnu: Add nettle-3.7. gnu: opendht: Update to 2.2.0rc4. gnu: pjproject: Update to 2.11. gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375. ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013. gnu: libring: Update to 20210326.1.cfba013. gnu: libringclient: Update to 20210326.1.cfba013. gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome. gnu: Add jami-qt. gnu/local.mk | 1 - gnu/packages/emulators.scm | 2 +- gnu/packages/jami.scm | 287 ++++++++++++-------- gnu/packages/nettle.scm | 17 +- gnu/packages/networking.scm | 131 +++++---- gnu/packages/patches/opendht-fix-jami.patch | 33 --- gnu/packages/telephony.scm | 22 +- 7 files changed, 272 insertions(+), 221 deletions(-) delete mode 100644 gnu/packages/patches/opendht-fix-jami.patch -- 2.31.1 ^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1. 2021-03-31 5:14 [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 02/12] gnu: restbed: Update to 4.7 Maxim Cournoyer ` (10 more replies) 2021-03-31 6:49 ` [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxime Devos ` (3 subsequent siblings) 4 siblings, 11 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=yes, Size: 2516 bytes --] * gnu/packages/networking.scm (asio): Update to 1.18.1. (asio-1.12): New variable. * gnu/packages/emulators.scm (mame)[inputs]: Use asio-1.12, otherwise it fails to build. --- gnu/packages/emulators.scm | 2 +- gnu/packages/networking.scm | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 1cd23c3e6c..cfe909b3a6 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1743,7 +1743,7 @@ This is a part of the TiLP project.") ("texinfo" ,texinfo))) (inputs `(("alsa-lib" ,alsa-lib) - ("asio" ,asio) + ("asio" ,asio-1.12) ;the bundled copy is at 1.11 ("expat" ,expat) ("flac" ,flac) ("fontconfig" ,fontconfig) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ecc6f57f4e..fe2499815b 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si> @@ -3027,7 +3027,8 @@ eight bytes) tools ;; Either BSD-3 or GPL-2 can be used. (license (list license:bsd-3 license:gpl2)))) -(define-public asio +;;; This is an old version required by rested. +(define-public asio-1.12 (package (name "asio") (version "1.12.2") @@ -3054,6 +3055,18 @@ low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.") (license license:boost1.0))) +(define-public asio + (package + (inherit asio-1.12) + (version "1.18.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/asio/asio/" + version " (Stable)/asio-" version ".tar.bz2")) + (sha256 + (base32 "04wi69d72l1p5c7d63z1dz06zn8pdqsbgx1if98dszs9ymfqgyaa")))))) + (define-public shadowsocks ;; There are some security fixes after the last release. (let* ((commit "e332ec93e9c90f1cbee676b022bf2c5d5b7b1239") -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 02/12] gnu: restbed: Update to 4.7. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 03/12] gnu: restinio: Update to 0.6.13 Maxim Cournoyer ` (9 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer * gnu/packages/networking.scm (restbed): Update to 4.7. --- gnu/packages/networking.scm | 97 ++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 49 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index fe2499815b..ff0ccc95fc 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3332,57 +3332,56 @@ never see any machines other than the one Dante is running on.") (license (license:non-copyleft "file://LICENSE")))) (define-public restbed - (let ((commit "6eb385fa9051203f28bf96cc1844bbb5a9a6481f")) - (package - (name "restbed") - (version (git-version "4.6" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Corvusoft/restbed/") - (commit commit))) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0k60i5drklqqrb4khb25fzkgz9y0sncxf1sp6lh2bm1m0gh0661n")))) - (build-system cmake-build-system) - (inputs - `(("asio" ,asio) - ("catch" ,catch-framework) - ("openssl" ,openssl))) - (arguments - `(#:tests? #f - #:configure-flags - '("-DBUILD_TESTS=NO" - "-DBUILD_EXAMPLES=NO" - "-DBUILD_SSL=NO" - "-DBUILD_SHARED=NO") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'apply-patches-and-fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((asio (assoc-ref inputs "asio")) - (catch (assoc-ref inputs "catch")) - (openssl (assoc-ref inputs "openssl"))) - (substitute* "cmake/Findasio.cmake" - (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin) - (string-append begin " \"" asio "/include\" )"))) - (substitute* "cmake/Findcatch.cmake" - (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin) - (string-append begin " \"" catch "/include\" )"))) - (substitute* "cmake/Findopenssl.cmake" - (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin) - (string-append begin " \"" openssl "/lib\" )")) - (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin) - (string-append begin " \"" openssl "/lib\" )")) - (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin) - (string-append begin " \"" openssl "/include\" )"))))))))) - (synopsis "Asynchronous RESTful functionality to C++11 applications") - (description "Restbed is a comprehensive and consistent programming + (package + (name "restbed") + (version "4.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Corvusoft/restbed/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "055qicb773a599dsqbcz5xf0xj1wpk33mdrkyi0fsmyjmn8d2p9d")))) + (build-system cmake-build-system) + (inputs + `(("asio" ,asio-1.12) + ("catch" ,catch-framework) + ("openssl" ,openssl))) + (arguments + `(#:tests? #f + #:configure-flags + '("-DBUILD_TESTS=NO" + "-DBUILD_EXAMPLES=NO" + "-DBUILD_SSL=NO" + "-DBUILD_SHARED=NO") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'apply-patches-and-fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((asio (assoc-ref inputs "asio")) + (catch (assoc-ref inputs "catch")) + (openssl (assoc-ref inputs "openssl"))) + (substitute* "cmake/Findasio.cmake" + (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin) + (string-append begin " \"" asio "/include\" )"))) + (substitute* "cmake/Findcatch.cmake" + (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin) + (string-append begin " \"" catch "/include\" )"))) + (substitute* "cmake/Findopenssl.cmake" + (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin) + (string-append begin " \"" openssl "/lib\" )")) + (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin) + (string-append begin " \"" openssl "/lib\" )")) + (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin) + (string-append begin " \"" openssl "/include\" )"))))))))) + (synopsis "Asynchronous RESTful functionality to C++11 applications") + (description "Restbed is a comprehensive and consistent programming model for building applications that require seamless and secure communication over HTTP.") - (home-page "https://github.com/Corvusoft/restbed") - (license license:agpl3+)))) + (home-page "https://github.com/Corvusoft/restbed") + (license license:agpl3+))) (define-public restinio (package -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 03/12] gnu: restinio: Update to 0.6.13. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 02/12] gnu: restbed: Update to 4.7 Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 04/12] gnu: Add nettle-3.7 Maxim Cournoyer ` (8 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer * gnu/packages/networking.scm (restinio): Update to 0.6.13. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ff0ccc95fc..464192ad7e 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3386,7 +3386,7 @@ communication over HTTP.") (define-public restinio (package (name "restinio") - (version "0.6.1.1") + (version "0.6.13") (source (origin (method git-fetch) (uri (git-reference @@ -3395,7 +3395,7 @@ communication over HTTP.") (file-name (git-file-name name version)) (sha256 (base32 - "141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5")))) + "0gb0yc88hdzwm08zdiviay6s08q427za33kfbygib7bdzp2wr2dm")))) (build-system cmake-build-system) (inputs ; TODO: Need to force-keep references on some inputs, e.g. boost. `(("zlib" ,zlib) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 04/12] gnu: Add nettle-3.7. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 02/12] gnu: restbed: Update to 4.7 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 03/12] gnu: restinio: Update to 0.6.13 Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 05/12] gnu: opendht: Update to 2.2.0rc4 Maxim Cournoyer ` (7 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=yes, Size: 1911 bytes --] While nettle cannot be upgraded wholesale on the master branch, we can at least also offer the latest version available. * gnu/packages/nettle.scm (nettle-3.5, nettle-3.7): New variables. (nettle): Redefine as a binding to nettle-3.5, which is the current version. --- gnu/packages/nettle.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/nettle.scm b/gnu/packages/nettle.scm index f5e7188ff0..753e2d6e7e 100644 --- a/gnu/packages/nettle.scm +++ b/gnu/packages/nettle.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,7 +72,7 @@ cryptographic toolkits for object-oriented languages or in applications themselves.") (license gpl2+))) -(define-public nettle +(define-public nettle-3.5 ;; This version is not API-compatible with version 2. In particular, lsh ;; cannot use it yet. So keep it separate. (package (inherit nettle-2) @@ -89,3 +90,17 @@ themselves.") ;; Build "fat" binaries where the right implementation is chosen ;; at run time based on CPU features (starting from 3.1.) `(cons "--enable-fat" ,flags)))))) + +(define-public nettle-3.7 + (package (inherit nettle-3.5) + (version "3.7.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/nettle/nettle-" + version ".tar.gz")) + (sha256 + (base32 + "0qpi1qp3bcvqdsaxy2pzg530db95x8qjahkynxgwvr6dy5760ald")))))) + +;;; Upgrading Nettle on master would cause 10000+ packages to be rebuilt. +(define-public nettle nettle-3.5) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 05/12] gnu: opendht: Update to 2.2.0rc4. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (2 preceding siblings ...) 2021-03-31 5:23 ` [bug#47513] [PATCH 04/12] gnu: Add nettle-3.7 Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 06/12] gnu: pjproject: Update to 2.11 Maxim Cournoyer ` (6 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer * gnu/packages/patches/opendht-fix-jami.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Un-register it. * gnu/packages/networking.scm (opendht): Update to 2.2.0rc4. [patches]: Remove field. [inputs]: Use nettle-3.7. [native-inputs]: Move restinio to... [propagated-inputs]: ... here. --- gnu/local.mk | 1 - gnu/packages/networking.scm | 13 ++++---- gnu/packages/patches/opendht-fix-jami.patch | 33 --------------------- 3 files changed, 6 insertions(+), 41 deletions(-) delete mode 100644 gnu/packages/patches/opendht-fix-jami.patch diff --git a/gnu/local.mk b/gnu/local.mk index deb4ddcede..9bc7ae7564 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1469,7 +1469,6 @@ dist_patch_DATA = \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \ %D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \ - %D%/packages/patches/opendht-fix-jami.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \ diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 464192ad7e..7a09c48651 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3428,40 +3428,39 @@ and targeted primarily for asynchronous processing of HTTP-requests.") (define-public opendht (package (name "opendht") - (version "2.1.4") + (version "2.2.0rc4") ;jami requires >= 2.2.0 (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/savoirfairelinux/opendht") (commit version))) (file-name (git-file-name name version)) - (patches (search-patches "opendht-fix-jami.patch")) (sha256 (base32 - "1ax26ri1ifb6s8ppd28jmanka9yf8mw3np65q2h4djhhik0phhal")))) + "1wc0f6cnvnlmhxnx64nxqgsx93k4g7ljdaqjl40ml74jg3nqrzcl")))) ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug? (build-system cmake-build-system) (inputs `(("argon2" ,argon2) - ("nettle" ,nettle) + ("nettle" ,nettle-3.7) ("readline" ,readline) ("jsoncpp" ,jsoncpp) ("openssl" ,openssl) ;required for the DHT proxy ("fmt" ,fmt))) (propagated-inputs `(("gnutls" ,gnutls) ;included in opendht/crypto.h - ("msgpack" ,msgpack))) ;included in several installed headers + ("msgpack" ,msgpack) ;included in several installed headers + ("restinio" ,restinio))) ;included in opendht/http.h (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config) - ("restinio" ,restinio) ;headers only library ("libtool" ,libtool) ("cppunit" ,cppunit))) (arguments `(#:tests? #f ; Tests require network connection. #:configure-flags - '(;; "-DOPENDHT_TESTS=on" + '(;;"-DOPENDHT_TESTS=on" "-DOPENDHT_TOOLS=off" "-DOPENDHT_PYTHON=off" "-DOPENDHT_PROXY_SERVER=on" diff --git a/gnu/packages/patches/opendht-fix-jami.patch b/gnu/packages/patches/opendht-fix-jami.patch deleted file mode 100644 index 9718a84a41..0000000000 --- a/gnu/packages/patches/opendht-fix-jami.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e2b39dd3a0742853e00f9c3e8c46c911da20bed7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> -Date: Tue, 30 Jun 2020 10:42:49 -0400 -Subject: [PATCH 1/4] http/request: make terminate public - ---- - include/opendht/http.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/include/opendht/http.h b/include/opendht/http.h -index cc8d5f9..46b722c 100644 ---- a/include/opendht/http.h -+++ b/include/opendht/http.h -@@ -294,6 +294,7 @@ public: - * User action to cancel the Request and call the completion callbacks. - */ - void cancel(); -+ void terminate(const asio::error_code& ec); - - private: - using OnCompleteCb = std::function<void()>; -@@ -320,8 +321,6 @@ private: - - void connect(std::vector<asio::ip::tcp::endpoint>&& endpoints, HandlerCb cb = {}); - -- void terminate(const asio::error_code& ec); -- - void post(); - - void handle_request(const asio::error_code& ec); --- -2.27.0 - -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 06/12] gnu: pjproject: Update to 2.11. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (3 preceding siblings ...) 2021-03-31 5:23 ` [bug#47513] [PATCH 05/12] gnu: opendht: Update to 2.2.0rc4 Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375 Maxim Cournoyer ` (5 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=yes, Size: 3639 bytes --] * gnu/packages/telephony.scm (pjproject): Update to 2.11. Remove trailing #t. [patches]: Delete field. The patches are preserved because pjproject-jami still needs them. --- gnu/packages/telephony.scm | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 5c8d247e68..af7148bf84 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> -;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> ;;; @@ -723,7 +723,7 @@ your calls and messages.") (define-public pjproject (package (name "pjproject") - (version "2.10") + (version "2.11") (source (origin (method git-fetch) @@ -733,12 +733,8 @@ your calls and messages.") (file-name (git-file-name name version)) (sha256 (base32 - "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0")) + "1kn9g1x1vmh4130ghph8mldz5m89gsjs4vpdzlzm98m3808gk5an")) (modules '((guix build utils))) - ;; The patches upstream status can be tracked at: - ;; https://github.com/pjsip/pjproject/pull/2501. - (patches (search-patches "pjproject-correct-the-cflags-field.patch" - "pjproject-fix-pkg-config-ldflags.patch")) (snippet '(begin ;; Remove bundled libraries. @@ -746,8 +742,7 @@ your calls and messages.") (substitute* "aconfigure.ac" (("third_party/build/os-auto.mak") "")) (substitute* "Makefile" - (("third_party/build") "")) - #t)))) + (("third_party/build") "")))))) (build-system gnu-build-system) (outputs '("out" "debug" "static")) (arguments @@ -785,8 +780,7 @@ your calls and messages.") ;; Make all the files writable to prevent the following error: ;; "autom4te: cannot open aconfigure: Permission denied". (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) + (for-each make-file-writable (find-files ".")))) (add-before 'build 'build-dep (lambda _ (invoke "make" "dep"))) ;; The check phases is moved after the install phase so to @@ -800,8 +794,7 @@ your calls and messages.") (with-directory-excursion out (for-each (lambda (f) (rename-file f (string-append s "/" (basename f)))) - (find-files "." "\\.a$"))) - #t))) + (find-files "." "\\.a$")))))) (add-after 'install 'check (assoc-ref %standard-phases 'check)) (add-before 'patch-source-shebangs 'autoconf @@ -844,8 +837,7 @@ your calls and messages.") ;; Disable the pjnath and pjsua tests, which require an actual ;; network and an actual sound card, respectively. (("pjnath-test pjmedia-test pjsip-test pjsua-test") - "pjmedia-test pjsip-test")) - #t))))) + "pjmedia-test pjsip-test"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (4 preceding siblings ...) 2021-03-31 5:23 ` [bug#47513] [PATCH 06/12] gnu: pjproject: Update to 2.11 Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 08/12] ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013 Maxim Cournoyer ` (4 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=yes, Size: 6127 bytes --] The custom pjproject package used by Jami is updated with the latest patches found in the 20210326.1.cfba013 release of Jami. * gnu/packages/jami.scm (%jami-version): Update to 20210326.1.cfba013. (jami-source) [snippet]: Update comment. Add client-electron and client-ios to the list of deleted directories. Remove client-windows from the list, as it no longer exists. (jami-apply-dependency-patches): Update comment. Ignore whitespace when applying patches, otherwise the pjproject patches would not apply. (pjproject-jami): Add comment. [source]: Define the source; the parent pjproject package was updated was updated to 2.11, but the patches only apply against 2.10. [phases] <apply-patches>: Update the list of patches used with those found in the release tarball. --- gnu/packages/jami.scm | 52 ++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 3773c1ab0a..35d84bb37b 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> -;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,7 +63,7 @@ #:use-module (guix utils) #:use-module (srfi srfi-1)) -(define %jami-version "20200710.1.6bd18d2") +(define %jami-version "20210326.1.cfba013") (define* (jami-source #:key keep-contrib-patches?) "Return an origin object of the tarball release sources archive of Jami. @@ -78,7 +78,7 @@ of Jami." (modules '((guix build utils))) (snippet `(begin - ;; Delete over 200 MiB of bundled tarballs. The contrib directory + ;; Delete multiple MiBs of bundled tarballs. The contrib directory ;; contains the custom patches for pjproject and other libraries used ;; by Savoir-faire Linux. (if ,keep-contrib-patches? @@ -86,21 +86,21 @@ of Jami." (delete-file-recursively "daemon/contrib")) ;; Remove code from unused Jami clients. (for-each delete-file-recursively '("client-android" + "client-electron" + "client-ios" "client-macosx" - "client-uwp" - "client-windows")) - #t)) + "client-uwp")))) (sha256 (base32 - "0lg61jv39x7kc9lq30by246xb6gcgp1rzj49ak7ff8nqpfzyfvva")))) + "1h0avma8bdzyznkz39crjyv2888bii4f49md15jg7970dyp5pdyz")))) (define %sfl-patches (jami-source #:keep-contrib-patches? #t)) (define %jami-sources (jami-source)) -;; Savoir-faire Linux modifies many libraries to add features -;; to Jami. This procedure makes applying patches to a given -;; package easy. +;; Savoir-faire Linux maintains a set of patches for some key dependencies +;; (currently pjproject and ffmpeg) of Jami that haven't yet been integrated +;; upstream. This procedure simplifies the process of applying these patches.x (define jami-apply-dependency-patches '(lambda* (#:key inputs dep-name patches) (let ((patches-directory "sfl-patches")) @@ -112,15 +112,30 @@ of Jami." dep-name)) (for-each (lambda (file) - (invoke "patch" "--force" "-p1" "-i" + (invoke "patch" "--force" "--ignore-whitespace" "-p1" "-i" (string-append patches-directory "/" file ".patch"))) patches)))) +;;; Jami maintains pjproject patches that add the ability to do ICE over TCP, +;;; among other things. The patches are currently based on pjproject 2.10. (define-public pjproject-jami (package (inherit pjproject) (name "pjproject-jami") + (version "2.10") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pjsip/pjproject") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0")) + (patches (search-patches + "pjproject-correct-the-cflags-field.patch" + "pjproject-fix-pkg-config-ldflags.patch")))) (native-inputs `(("sfl-patches" ,%sfl-patches) ,@(package-native-inputs pjproject))) @@ -140,14 +155,19 @@ of Jami." "0004-multiple_listeners" "0005-fix_ebusy_turn" "0006-ignore_ipv6_on_transport_check" - "0007-pj_ice_sess" + "0007-upnp-srflx-nat-assisted-cand" "0008-fix_ioqueue_ipv6_sendto" "0009-add-config-site" - ;; Note: The base pjproject is already patched with - ;; "0010-fix-pkgconfig". + ;; Already taken care of via the origin patches. + ;;"0010-fix-pkgconfig" "0011-fix-tcp-death-detection" - "0012-fix-turn-shutdown-crash")) - #t)))))))) + "0012-fix-turn-shutdown-crash" + "0013-Assign-unique-local-preferences-for-candidates-with-" + "0014-Add-new-compile-time-setting-PJ_ICE_ST_USE_TURN_PERM" + "0015-update-local-preference-for-peer-reflexive-candidate" + "0016-use-addrinfo-instead-CFHOST" + "0017-CVE-2020-15260" + "0018-CVE-2021-21375")))))))))) ;; The following variables are configure flags used by ffmpeg-jami. They're ;; from the ring-project/daemon/contrib/src/ffmpeg/rules.mak file. We try to -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 08/12] ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (5 preceding siblings ...) 2021-03-31 5:23 ` [bug#47513] [PATCH 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375 Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 09/12] gnu: libring: Update to 20210326.1.cfba013 Maxim Cournoyer ` (3 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer * gnu/packages/jami.scm (ffmpeg-jami): Remove trailing #t. [phases] <apply-patches>: Add libopusdec-enable-FEC and libopusenc-enable-FEC to the list of patches to apply. --- gnu/packages/jami.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 35d84bb37b..9d5d00c60c 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -403,21 +403,22 @@ of Jami." `(modify-phases ,phases (add-after 'unpack 'make-git-checkout-writable (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) + (for-each make-file-writable (find-files ".")))) (add-after 'unpack 'apply-patches (lambda* (#:key inputs #:allow-other-keys) (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches)) ;; These patches come from: ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak". - (jami-apply-dependency-patches #:inputs inputs - #:dep-name "ffmpeg" - #:patches - '("remove-mjpeg-log" - "change-RTCP-ratio" - "rtp_ext_abs_send_time")) - #t)))))))))) + (jami-apply-dependency-patches + #:inputs inputs + #:dep-name "ffmpeg" + #:patches + '("remove-mjpeg-log" + "change-RTCP-ratio" + "rtp_ext_abs_send_time" + "libopusdec-enable-FEC" + "libopusenc-enable-FEC")))))))))))) (define-public libring (package -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 09/12] gnu: libring: Update to 20210326.1.cfba013. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (6 preceding siblings ...) 2021-03-31 5:23 ` [bug#47513] [PATCH 08/12] ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013 Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 10/12] gnu: libringclient: " Maxim Cournoyer ` (2 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer * gnu/packages/jami.scm (libring): Update to 20210326.1.cfba013. Remove trailing #t. [inputs]: Remove boost, flac, gmp, gsm, libogg, libva, opus, pcre, libsamplerate, libsndfile, libvorbis, libx264, libvdpau, zlib, python, python-wrapper, restinio, and libx11. Add webrtc-audio-processing. [native-inputs]: Remove cppunit. Add gcc-8. [make-flags]: Add the V=1 flag. [synopsis]: More explicitly describe what this component is. [description]: Describe the specifics before the generalities. --- gnu/packages/jami.scm | 61 ++++++++++++++----------------------------- 1 file changed, 20 insertions(+), 41 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 9d5d00c60c..ddb4b35349 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages documentation) + #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -428,71 +429,49 @@ of Jami." (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) - ("boost" ,boost) + ("asio" ,asio) ("dbus-c++" ,dbus-c++) ("eudev" ,eudev) ("ffmpeg" ,ffmpeg-jami) - ("flac" ,flac) - ("gmp" ,gmp) - ("gsm" ,gsm) ("jack" ,jack-1) ("jsoncpp" ,jsoncpp) ("libarchive" ,libarchive) ("libnatpmp" ,libnatpmp) - ("libogg" ,libogg) - ("libva" ,libva) + ("libsecp256k1" ,libsecp256k1) + ("libupnp" ,libupnp) ("opendht" ,opendht) - ("opus" ,opus) - ("pcre" ,pcre) + ("openssl" ,openssl) + ("pjproject" ,pjproject-jami) ("pulseaudio" ,pulseaudio) - ("libsamplerate" ,libsamplerate) - ("libsndfile" ,libsndfile) ("speex" ,speex) ("speexdsp" ,speexdsp) - ("libupnp" ,libupnp) - ("libvorbis" ,libvorbis) - ("libx264" ,libx264) - ("libvdpau" ,libvdpau) - ("yaml-cpp" ,yaml-cpp) - ("zlib" ,zlib) - ("openssl" ,openssl) - ("libsecp256k1" ,libsecp256k1) - ("python" ,python) - ("python-wrapper" ,python-wrapper) - ("restinio" ,restinio) - ("libx11" ,libx11) - ("asio" ,asio) - ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version. - ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24. - ("pjproject" ,pjproject-jami))) + ("webrtc-audio-processing" ,webrtc-audio-processing) + ("yaml-cpp" ,yaml-cpp))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) + ("gcc" ,gcc-8) ;charconv requires GCC 8.1+ ("libtool" ,libtool) + ("perl" ,perl) ;to generate manpages with pod2man ("pkg-config" ,pkg-config) - ("which" ,which) - ("cppunit" ,cppunit) - ("perl" ,perl))) ; Needed for documentation. + ("which" ,which))) (arguments `(#:tests? #f ; The tests fail to compile due to missing headers. + #:make-flags '("V=1") ;build verbosely #:phases (modify-phases %standard-phases (add-after 'unpack 'change-directory (lambda _ - (chdir "daemon") - #t)) + (chdir "daemon"))) (add-before 'build 'add-lib-dir (lambda _ - (mkdir-p "src/lib") - #t))))) - (synopsis "Distributed multimedia communications platform") - (description "Jami (formerly GNU Ring) is a secure and distributed voice, -video and chat communication platform that requires no centralized server and -leaves the power of privacy in the hands of the user. It supports the SIP and -IAX protocols, as well as decentralized calling using P2P-DHT. - -This package provides a library and daemon implementing the Jami core -functionality.") + (mkdir-p "src/lib")))))) + (synopsis "Jami core library and daemon") + (description "This package provides a library and daemon implementing the +Jami core functionality. Jami is a secure and distributed voice, video and +chat communication platform that requires no centralized server and leaves the +power of privacy in the hands of the user. It supports the SIP and IAX +protocols, as well as decentralized calling using P2P-DHT.") (home-page "https://jami.net/") (license license:gpl3+))) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 10/12] gnu: libringclient: Update to 20210326.1.cfba013. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (7 preceding siblings ...) 2021-03-31 5:23 ` [bug#47513] [PATCH 09/12] gnu: libring: Update to 20210326.1.cfba013 Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 12/12] gnu: Add jami-qt Maxim Cournoyer 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer * gnu/packages/jami.scm (libringclient): Update to 20210326.1.cfba013. Remove trailing #t. Do not inherit from libring. [version, source]: Specify fields. [propagated-inputs]: Remove qttools. Move libring to ... [inputs]: ... here. Add network-manager. [configure-flags] Define the RING_XML_INTERFACES_DIR variable. [phases]{fix-dbus-interfaces-path}: Delete. [synopsis]: More explicitly describe what this component is. [description]: Describe the specifics before the generalities. --- gnu/packages/jami.scm | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index ddb4b35349..41fa69dd48 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -477,37 +477,33 @@ protocols, as well as decentralized calling using P2P-DHT.") (define-public libringclient (package - (inherit libring) (name "libringclient") + (version %jami-version) + (source %jami-sources) (build-system cmake-build-system) + (inputs + `(("libring" ,libring) + ("network-manager" ,network-manager))) (propagated-inputs - `(("libring" ,libring) ; For 'dring'. - ("qtbase" ,qtbase) ; Qt is included in several installed headers. - ("qttools" ,qttools))) + `(("qtbase" ,qtbase))) ; Qt is included in several installed headers. (arguments `(#:tests? #f ; There is no testsuite. #:configure-flags - (list (string-append "-DRING_BUILD_DIR=" - (assoc-ref %build-inputs "libring") "/include")) + (let ((libring (assoc-ref %build-inputs "libring"))) + (list (string-append "-DRING_XML_INTERFACES_DIR=" + libring "/share/dbus-1/interfaces") + (string-append "-DRING_BUILD_DIR=" libring "/include"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'change-directory (lambda _ - (chdir "lrc") - #t)) - (add-before 'configure 'fix-dbus-interfaces-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{CMAKE_INSTALL_PREFIX\\}(/share/dbus-1/interfaces)" _ dbus-interfaces-path-suffix) - (string-append (assoc-ref inputs "libring") - dbus-interfaces-path-suffix)))))))) - (synopsis "Distributed multimedia communications platform") - (description "Jami (formerly GNU Ring) is a secure and distributed voice, -video and chat communication platform that requires no centralized server and -leaves the power of privacy in the hands of the user. It supports the SIP and -IAX protocols, as well as decentralized calling using P2P-DHT. - -This package provides a library common to all Jami clients.") + (chdir "lrc")))))) + (synopsis "Jami client library") + (description "This package provides a library common to all Jami clients. +Jami is a secure and distributed voice, video and chat communication platform +that requires no centralized server and leaves the power of privacy in the +hands of the user. It supports the SIP and IAX protocols, as well as +decentralized calling using P2P-DHT.") (home-page "https://jami.net") (license license:gpl3+))) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (8 preceding siblings ...) 2021-03-31 5:23 ` [bug#47513] [PATCH 10/12] gnu: libringclient: " Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 2021-03-31 6:08 ` Jack Hill 2021-03-31 5:23 ` [bug#47513] [PATCH 12/12] gnu: Add jami-qt Maxim Cournoyer 10 siblings, 1 reply; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer * gnu/packages/jami.scm (jami): Update to 20210326.1.cfba013. Rename to ... (jami-gnome): In prevision of the soon released Jami Qt client. (jami): Define as obsoleted by jami-gnome. [inputs]: Sort lexico-graphically. Add libappindicator and network-manager. [native-inputs]: Add a comment and fix a typo. Remove doxygen. [propagated-inputs]: Remove evolution-data-server. [synopsis]: More explicitly describe what this package is. [description]: Describe the specifics before the generalities. --- gnu/packages/jami.scm | 53 +++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 41fa69dd48..79dbb39f5a 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages documentation) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) @@ -507,44 +508,48 @@ decentralized calling using P2P-DHT.") (home-page "https://jami.net") (license license:gpl3+))) -(define-public jami +(define-public jami-gnome (package - (inherit libring) - (name "jami") + (name "jami-gnome") + (version %jami-version) + (source %jami-sources) (build-system cmake-build-system) (inputs - `(("libringclient" ,libringclient) - ("gtk+" ,gtk+) - ("qrencode" ,qrencode) - ("libnotify" ,libnotify) - ("clutter" ,clutter) + `(("clutter" ,clutter) ("clutter-gtk" ,clutter-gtk) + ("gtk+" ,gtk+) ("libcanberra" ,libcanberra) - ("webkitgtk" ,webkitgtk) - ("sqlite" ,sqlite))) + ("libappindicator" ,libappindicator) + ("libnotify" ,libnotify) + ("libringclient" ,libringclient) + ("network-manager" ,network-manager) + ("qrencode" ,qrencode) + ("sqlite" ,sqlite) + ("webkitgtk" ,webkitgtk))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("doxygen" ,doxygen))) + ("glib:bin" ,glib "bin"))) ;for glib-compile-resources (propagated-inputs - `(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus. - ("adwaita-icon-theme" ,adwaita-icon-theme) - ("evolution-data-server" ,evolution-data-server))) + `(("libring" ,libring) ; Contains 'dring', the daemon, which is + ; automatically started by DBus. + ("adwaita-icon-theme" ,adwaita-icon-theme))) (arguments `(#:tests? #f ; There is no testsuite. #:phases (modify-phases %standard-phases (add-after 'unpack 'change-directory (lambda _ - (chdir "client-gnome") - #t))))) - (synopsis "Distributed, privacy-respecting communication program") - (description "Jami (formerly GNU Ring) is a secure and distributed voice, -video and chat communication platform that requires no centralized server and -leaves the power of privacy in the hands of the user. It supports the SIP and -IAX protocols, as well as decentralized calling using P2P-DHT. - -This package provides the Jami client for the GNOME desktop.") + (chdir "client-gnome")))))) + (synopsis "Jami client for GNOME") + (description "This package provides a Jami client for the GNOME desktop. +Jami is a secure and distributed voice, video and chat communication platform +that requires no centralized server and leaves the power of privacy in the +hands of the user. It supports the SIP and IAX protocols, as well as +decentralized calling using P2P-DHT.") (home-page "https://jami.net") (license license:gpl3+))) + +;;; Keep this until the Qt client matures enough to become the +;;; main 'jami' client. +(deprecated-package jami jami-gnome) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome. 2021-03-31 5:23 ` [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome Maxim Cournoyer @ 2021-03-31 6:08 ` Jack Hill 2021-03-31 15:21 ` Jack Hill 0 siblings, 1 reply; 35+ messages in thread From: Jack Hill @ 2021-03-31 6:08 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: 47513 Thanks for working on these patches. I'm excited to try out the new Jami version. On Wed, 31 Mar 2021, Maxim Cournoyer wrote: > * gnu/packages/jami.scm (jami): Update to 20210326.1.cfba013. Rename to ... > (jami-gnome): In prevision of the soon released Jami Qt client. > (jami): Define as obsoleted by jami-gnome. However, I wonder if something has gone wrong with the renaming. I applied the whole series on top of fea1eea452e9659b79f88fa80a45ca7c03cded1f. However, running make in the Guix checkout now fails as follows. I did re-run ./bootstrap and ./configure for good measure: ``` jackhill@alperton ~/repos/guix [env]$ make make all-recursive make[1]: Entering directory '/home/jackhill/repos/guix' Making all in po/guix make[2]: Entering directory '/home/jackhill/repos/guix/po/guix' make[2]: Leaving directory '/home/jackhill/repos/guix/po/guix' Making all in po/packages make[2]: Entering directory '/home/jackhill/repos/guix/po/packages' make[2]: Leaving directory '/home/jackhill/repos/guix/po/packages' make[2]: Entering directory '/home/jackhill/repos/guix' Compiling Scheme modules... [ 8%] LOAD gnu/packages/build-tools.scm ;;; note: source file ./gnu/packages/build-tools.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/build-tools.go ;;; note: source file ./gnu/packages/build-tools.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/build-tools.go ;;; note: source file ./gnu/packages/networking.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/networking.go ;;; note: source file ./gnu/packages/networking.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/networking.go ;;; note: source file ./gnu/packages/nettle.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/nettle.go ;;; note: source file ./gnu/packages/nettle.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/nettle.go ;;; note: source file ./gnu/packages/telephony.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/telephony.go ;;; note: source file ./gnu/packages/telephony.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/telephony.go [ 17%] LOAD gnu/packages/emulators.scm ;;; note: source file ./gnu/packages/emulators.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/emulators.go ;;; note: source file ./gnu/packages/emulators.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/emulators.go [ 25%] LOAD gnu/packages/jami.scm ;;; note: source file ./gnu/packages/jami.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/jami.go ;;; note: source file ./gnu/packages/jami.scm ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/jami.go ice-9/eval.scm:293:34: error: jami: unbound variable hint: Did you forget a `use-modules' form? make[2]: *** [Makefile:6318: make-go] Error 1 make[2]: Leaving directory '/home/jackhill/repos/guix' make[1]: *** [Makefile:5366: all-recursive] Error 1 make[1]: Leaving directory '/home/jackhill/repos/guix' make: *** [Makefile:3697: all] Error 2 ``` Unfortunately, I don't see any place the old binding is referenced. Best, Jack ^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome. 2021-03-31 6:08 ` Jack Hill @ 2021-03-31 15:21 ` Jack Hill 2021-03-31 15:23 ` Jack Hill 0 siblings, 1 reply; 35+ messages in thread From: Jack Hill @ 2021-03-31 15:21 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer > [ 25%] LOAD gnu/packages/jami.scm > ;;; note: source file ./gnu/packages/jami.scm > ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/jami.go > ;;; note: source file ./gnu/packages/jami.scm > ;;; newer than compiled /home/jackhill/repos/guix/gnu/packages/jami.go > ice-9/eval.scm:293:34: error: jami: unbound variable > hint: Did you forget a `use-modules' form? > > make[2]: *** [Makefile:6318: make-go] Error 1 > make[2]: Leaving directory '/home/jackhill/repos/guix' > make[1]: *** [Makefile:5366: all-recursive] Error 1 > make[1]: Leaving directory '/home/jackhill/repos/guix' > make: *** [Makefile:3697: all] Error 2 > ``` > > Unfortunately, I don't see any place the old binding is referenced. Oops, this seems be be my mistake. A `make clean-go` fixed it. Sorry for the noise. Best, Jack ^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome. 2021-03-31 15:21 ` Jack Hill @ 2021-03-31 15:23 ` Jack Hill 2021-03-31 17:26 ` Maxim Cournoyer 0 siblings, 1 reply; 35+ messages in thread From: Jack Hill @ 2021-03-31 15:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer On Wed, 31 Mar 2021, Jack Hill wrote: >> [ 25%] LOAD gnu/packages/jami.scm >> ;;; note: source file ./gnu/packages/jami.scm >> ;;; newer than compiled >> /home/jackhill/repos/guix/gnu/packages/jami.go >> ;;; note: source file ./gnu/packages/jami.scm >> ;;; newer than compiled >> /home/jackhill/repos/guix/gnu/packages/jami.go >> ice-9/eval.scm:293:34: error: jami: unbound variable >> hint: Did you forget a `use-modules' form? >> >> make[2]: *** [Makefile:6318: make-go] Error 1 >> make[2]: Leaving directory '/home/jackhill/repos/guix' >> make[1]: *** [Makefile:5366: all-recursive] Error 1 >> make[1]: Leaving directory '/home/jackhill/repos/guix' >> make: *** [Makefile:3697: all] Error 2 >> ``` >> >> Unfortunately, I don't see any place the old binding is referenced. > > Oops, this seems be be my mistake. A `make clean-go` fixed it. Sorry for the > noise. Oops again. It seems like a spoke too soon. I'm still having the problem after a clean-go (I had forgotten that I was looking at something else in my guix repository and didn't have these patches applied at the moment). ^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome. 2021-03-31 15:23 ` Jack Hill @ 2021-03-31 17:26 ` Maxim Cournoyer 0 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:26 UTC (permalink / raw) To: Jack Hill; +Cc: 47513 Hi Jack! Jack Hill <jackhill@jackhill.us> writes: > On Wed, 31 Mar 2021, Jack Hill wrote: > >>> [ 25%] LOAD gnu/packages/jami.scm >>> ;;; note: source file ./gnu/packages/jami.scm >>> ;;; newer than compiled >>> /home/jackhill/repos/guix/gnu/packages/jami.go >>> ;;; note: source file ./gnu/packages/jami.scm >>> ;;; newer than compiled >>> /home/jackhill/repos/guix/gnu/packages/jami.go >>> ice-9/eval.scm:293:34: error: jami: unbound variable >>> hint: Did you forget a `use-modules' form? >>> make[2]: *** [Makefile:6318: make-go] Error 1 >>> make[2]: Leaving directory '/home/jackhill/repos/guix' >>> make[1]: *** [Makefile:5366: all-recursive] Error 1 >>> make[1]: Leaving directory '/home/jackhill/repos/guix' >>> make: *** [Makefile:3697: all] Error 2 >>> ``` >>> Unfortunately, I don't see any place the old binding is referenced. >> >> Oops, this seems be be my mistake. A `make clean-go` fixed it. Sorry >> for the noise. > > Oops again. It seems like a spoke too soon. I'm still having the > problem after a clean-go (I had forgotten that I was looking at > something else in my guix repository and didn't have these patches > applied at the moment). Sorry, there was a mistake in my git sendemail configuration, where I had mistakenly set assume8bitEncoding to yes instead of to some valid value such as 'utf-8'. I've fixed that along the missing jami variable binding and pushed as v2. Let me know if it works better! Maxim ^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 12/12] gnu: Add jami-qt. 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (9 preceding siblings ...) 2021-03-31 5:23 ` [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome Maxim Cournoyer @ 2021-03-31 5:23 ` Maxim Cournoyer 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 5:23 UTC (permalink / raw) To: 47513; +Cc: Maxim Cournoyer * gnu/packages/jami.scm (jami-qt): New variable. --- gnu/packages/jami.scm | 66 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 79dbb39f5a..67befe63a2 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) @@ -59,6 +60,7 @@ #:use-module (gnu packages) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system qt) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) @@ -553,3 +555,67 @@ decentralized calling using P2P-DHT.") ;;; Keep this until the Qt client matures enough to become the ;;; main 'jami' client. (deprecated-package jami jami-gnome) + +(define-public jami-qt + (package + (name "jami-qt") ;to be renamed 'jami' at some point + (version %jami-version) + ;; The Qt client code is not yet part of the release tarball; fetch it + ;; from git for now. + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.jami.net/savoirfairelinux/jami-client-qt.git") + (commit "ae21c17da5e8f730ae3895ccbc4da8047e3be1eb"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rf3lpk8c4qc12pi6pn4rdp7i8b83xv64yqr0q47rzv9s518qyjp")))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ;no test suite + #:phases + (modify-phases %standard-phases + ;; TODO: Uncomment after switching back to the tarball source. + ;; (add-after 'unpack 'change-directory + ;; (lambda _ + ;; (chdir "client-qt"))) + (add-after 'install 'wrap + ;; The program fails to find the QtWebEngineProcess program, so we + ;; set QTWEBENGINEPROCESS_PATH to help it. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin")) + (qtwebengineprocess (string-append + (assoc-ref inputs "qtwebengine") + "/lib/qt5/libexec/QtWebEngineProcess"))) + (for-each (lambda (program) + (wrap-program program + `("QTWEBENGINEPROCESS_PATH" = + (,qtwebengineprocess)))) + (find-files bin ".*")))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools) + ("doxygen" ,doxygen) + ("graphviz" ,graphviz))) + (inputs + `(("network-manager" ,network-manager) + ("qrencode" ,qrencode) + ("qtsvg" ,qtsvg) + ("qtwebengine" ,qtwebengine) + ("qtwebchannel" ,qtwebchannel) + ("qtmultimedia" ,qtmultimedia) + ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtquickcontrols" ,qtquickcontrols) + ("qtquickcontrols2" ,qtquickcontrols2))) + (propagated-inputs + `(("libringclient" ,libringclient))) + (home-page "https://jami.net") + (synopsis "Qt Jami client") + (description "This package provides the Jami Qt client. Jami is a secure +and distributed voice, video and chat communication platform that requires no +centralized server and leaves the power of privacy in the hands of the user. +It supports the SIP and IAX protocols, as well as decentralized calling using +P2P-DHT.") + (license license:gpl3+))) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 00/12] Update jami and add jami-qt 2021-03-31 5:14 [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer @ 2021-03-31 6:49 ` Maxime Devos 2021-03-31 13:23 ` Maxime Devos ` (2 subsequent siblings) 4 siblings, 0 replies; 35+ messages in thread From: Maxime Devos @ 2021-03-31 6:49 UTC (permalink / raw) To: Maxim Cournoyer, 47513 [-- Attachment #1: Type: text/plain, Size: 420 bytes --] On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote: > Hello! > > I've finally picked up the packaging of Jami, which was becoming quite > outdated in Guix. I haven't had much time to test the result yet, but a > priori it seems to function as intended. > > Let me know how it works for you! I read through the patch set and don't see any obvious problems. Now I'll test this. Greetings, Maxime. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 260 bytes --] ^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 00/12] Update jami and add jami-qt 2021-03-31 5:14 [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer 2021-03-31 6:49 ` [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxime Devos @ 2021-03-31 13:23 ` Maxime Devos 2021-03-31 16:57 ` Maxim Cournoyer 2021-03-31 17:23 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer 2021-04-01 11:10 ` [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxime Devos 4 siblings, 2 replies; 35+ messages in thread From: Maxime Devos @ 2021-03-31 13:23 UTC (permalink / raw) To: Maxim Cournoyer, 47513 [-- Attachment #1: Type: text/plain, Size: 1016 bytes --] On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote: > Hello! > > I've finally picked up the packaging of Jami, which was becoming quite > outdated in Guix. I haven't had much time to test the result yet, but a > priori it seems to function as intended. > > Let me know how it works for you! > > Maxim Something went wrong with sending the patch. Snipped from first patch from <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47513#5>: <start snip> From: Maxim Cournoyer <maxim.cournoyer@gmail.com> To: 47513@debbugs.gnu.org Subject: [PATCH 01/12] gnu: asio: Update to 1.18.1. Date: Wed, 31 Mar 2021 01:23:37 -0400 Message-Id: <20210331052348.5164-1-maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Type: text/plain; charset=yes Content-Transfer-Encoding: 8bit <end snip> What character encoding is 'yes'? I manually changed 'yes' to 'utf-8' and only then the patch series applied. Now trying to build jami-gnome. Greetings, Maxime. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 260 bytes --] ^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 00/12] Update jami and add jami-qt 2021-03-31 13:23 ` Maxime Devos @ 2021-03-31 16:57 ` Maxim Cournoyer 2021-03-31 17:23 ` Maxim Cournoyer 1 sibling, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 16:57 UTC (permalink / raw) To: Maxime Devos; +Cc: 47513 Hi! Maxime Devos <maximedevos@telenet.be> writes: > On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote: >> Hello! >> >> I've finally picked up the packaging of Jami, which was becoming quite >> outdated in Guix. I haven't had much time to test the result yet, but a >> priori it seems to function as intended. >> >> Let me know how it works for you! >> >> Maxim > > Something went wrong with sending the patch. > Snipped from first patch from > <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47513#5>: > > <start snip> > From: Maxim Cournoyer <maxim.cournoyer@gmail.com> > To: 47513@debbugs.gnu.org > Subject: [PATCH 01/12] gnu: asio: Update to 1.18.1. > Date: Wed, 31 Mar 2021 01:23:37 -0400 > Message-Id: <20210331052348.5164-1-maxim.cournoyer@gmail.com> > X-Mailer: git-send-email 2.31.1 > MIME-Version: 1.0 > Content-Type: text/plain; charset=yes > Content-Transfer-Encoding: 8bit > <end snip> > > What character encoding is 'yes'? > I manually changed 'yes' to 'utf-8' and only then the > patch series applied. Oh, sorry about this! I'm not sure what happened, as I generated the series with 'git format-patch', and send it via 'git send-email', without specifying any special options for the encoding. I guess I simply replied 'yes' without reading through the questions git send-email asked me (it was late :-)). I'll resend the series now to spare anyone else the trouble of figuring that out. Thanks for letting me know! > Now trying to build jami-gnome. And for testing it! Maxim ^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 00/12] Update jami and add jami-qt 2021-03-31 13:23 ` Maxime Devos 2021-03-31 16:57 ` Maxim Cournoyer @ 2021-03-31 17:23 ` Maxim Cournoyer 1 sibling, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:23 UTC (permalink / raw) To: Maxime Devos; +Cc: 47513 Hi again, Maxime Devos <maximedevos@telenet.be> writes: > On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote: >> Hello! >> >> I've finally picked up the packaging of Jami, which was becoming quite >> outdated in Guix. I haven't had much time to test the result yet, but a >> priori it seems to function as intended. >> >> Let me know how it works for you! >> >> Maxim > > Something went wrong with sending the patch. > Snipped from first patch from > <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47513#5>: > > <start snip> > From: Maxim Cournoyer <maxim.cournoyer@gmail.com> > To: 47513@debbugs.gnu.org > Subject: [PATCH 01/12] gnu: asio: Update to 1.18.1. > Date: Wed, 31 Mar 2021 01:23:37 -0400 > Message-Id: <20210331052348.5164-1-maxim.cournoyer@gmail.com> > X-Mailer: git-send-email 2.31.1 > MIME-Version: 1.0 > Content-Type: text/plain; charset=yes > Content-Transfer-Encoding: 8bit > <end snip> > > What character encoding is 'yes'? > I manually changed 'yes' to 'utf-8' and only then the > patch series applied. Actually, retrying with the following command: $ git send-email --to='47513@debbugs.gnu.org' [...] -v2 origin/master again produces: X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Type: text/plain; charset=yes Content-Transfer-Encoding: 8bit It had to do with: $ git config sendemail.assume8bitEncoding yes I assumed this flag was a boolean but apparently it takes the encoding type such as 'UTF-8' After making this change: --8<---------------cut here---------------start------------->8--- modified git/.gitconfig - assume8bitEncoding = yes + assume8bitEncoding = utf-8 --8<---------------cut here---------------end--------------->8--- It shows up as utf-8, and hopefully will work better on your side! I just sent a v2. Thanks for allowing me to realize this mistake of mine. Maxim ^ permalink raw reply [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1. 2021-03-31 5:14 [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxim Cournoyer ` (2 preceding siblings ...) 2021-03-31 13:23 ` Maxime Devos @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 02/12] gnu: restbed: Update to 4.7 Maxim Cournoyer ` (10 more replies) 2021-04-01 11:10 ` [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxime Devos 4 siblings, 11 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/networking.scm (asio): Update to 1.18.1. (asio-1.12): New variable. * gnu/packages/emulators.scm (mame)[inputs]: Use asio-1.12, otherwise it fails to build. --- gnu/packages/emulators.scm | 2 +- gnu/packages/networking.scm | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 1cd23c3e6c..cfe909b3a6 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1743,7 +1743,7 @@ This is a part of the TiLP project.") ("texinfo" ,texinfo))) (inputs `(("alsa-lib" ,alsa-lib) - ("asio" ,asio) + ("asio" ,asio-1.12) ;the bundled copy is at 1.11 ("expat" ,expat) ("flac" ,flac) ("fontconfig" ,fontconfig) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 7dd484fa94..efbcb68e23 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si> @@ -3027,7 +3027,8 @@ eight bytes) tools ;; Either BSD-3 or GPL-2 can be used. (license (list license:bsd-3 license:gpl2)))) -(define-public asio +;;; This is an old version required by rested. +(define-public asio-1.12 (package (name "asio") (version "1.12.2") @@ -3054,6 +3055,18 @@ low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.") (license license:boost1.0))) +(define-public asio + (package + (inherit asio-1.12) + (version "1.18.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/asio/asio/" + version " (Stable)/asio-" version ".tar.bz2")) + (sha256 + (base32 "04wi69d72l1p5c7d63z1dz06zn8pdqsbgx1if98dszs9ymfqgyaa")))))) + (define-public shadowsocks ;; There are some security fixes after the last release. (let* ((commit "e332ec93e9c90f1cbee676b022bf2c5d5b7b1239") -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 02/12] gnu: restbed: Update to 4.7. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 03/12] gnu: restinio: Update to 0.6.13 Maxim Cournoyer ` (9 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/networking.scm (restbed): Update to 4.7. --- gnu/packages/networking.scm | 97 ++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 49 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index efbcb68e23..f114e65d17 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3332,57 +3332,56 @@ never see any machines other than the one Dante is running on.") (license (license:non-copyleft "file://LICENSE")))) (define-public restbed - (let ((commit "6eb385fa9051203f28bf96cc1844bbb5a9a6481f")) - (package - (name "restbed") - (version (git-version "4.6" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Corvusoft/restbed/") - (commit commit))) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0k60i5drklqqrb4khb25fzkgz9y0sncxf1sp6lh2bm1m0gh0661n")))) - (build-system cmake-build-system) - (inputs - `(("asio" ,asio) - ("catch" ,catch-framework) - ("openssl" ,openssl))) - (arguments - `(#:tests? #f - #:configure-flags - '("-DBUILD_TESTS=NO" - "-DBUILD_EXAMPLES=NO" - "-DBUILD_SSL=NO" - "-DBUILD_SHARED=NO") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'apply-patches-and-fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((asio (assoc-ref inputs "asio")) - (catch (assoc-ref inputs "catch")) - (openssl (assoc-ref inputs "openssl"))) - (substitute* "cmake/Findasio.cmake" - (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin) - (string-append begin " \"" asio "/include\" )"))) - (substitute* "cmake/Findcatch.cmake" - (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin) - (string-append begin " \"" catch "/include\" )"))) - (substitute* "cmake/Findopenssl.cmake" - (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin) - (string-append begin " \"" openssl "/lib\" )")) - (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin) - (string-append begin " \"" openssl "/lib\" )")) - (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin) - (string-append begin " \"" openssl "/include\" )"))))))))) - (synopsis "Asynchronous RESTful functionality to C++11 applications") - (description "Restbed is a comprehensive and consistent programming + (package + (name "restbed") + (version "4.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Corvusoft/restbed/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "055qicb773a599dsqbcz5xf0xj1wpk33mdrkyi0fsmyjmn8d2p9d")))) + (build-system cmake-build-system) + (inputs + `(("asio" ,asio-1.12) + ("catch" ,catch-framework) + ("openssl" ,openssl))) + (arguments + `(#:tests? #f + #:configure-flags + '("-DBUILD_TESTS=NO" + "-DBUILD_EXAMPLES=NO" + "-DBUILD_SSL=NO" + "-DBUILD_SHARED=NO") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'apply-patches-and-fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((asio (assoc-ref inputs "asio")) + (catch (assoc-ref inputs "catch")) + (openssl (assoc-ref inputs "openssl"))) + (substitute* "cmake/Findasio.cmake" + (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin) + (string-append begin " \"" asio "/include\" )"))) + (substitute* "cmake/Findcatch.cmake" + (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin) + (string-append begin " \"" catch "/include\" )"))) + (substitute* "cmake/Findopenssl.cmake" + (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin) + (string-append begin " \"" openssl "/lib\" )")) + (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin) + (string-append begin " \"" openssl "/lib\" )")) + (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin) + (string-append begin " \"" openssl "/include\" )"))))))))) + (synopsis "Asynchronous RESTful functionality to C++11 applications") + (description "Restbed is a comprehensive and consistent programming model for building applications that require seamless and secure communication over HTTP.") - (home-page "https://github.com/Corvusoft/restbed") - (license license:agpl3+)))) + (home-page "https://github.com/Corvusoft/restbed") + (license license:agpl3+))) (define-public restinio (package -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 03/12] gnu: restinio: Update to 0.6.13. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 02/12] gnu: restbed: Update to 4.7 Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 04/12] gnu: Add nettle-3.7 Maxim Cournoyer ` (8 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/networking.scm (restinio): Update to 0.6.13. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index f114e65d17..bd6201bcbf 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3386,7 +3386,7 @@ communication over HTTP.") (define-public restinio (package (name "restinio") - (version "0.6.1.1") + (version "0.6.13") (source (origin (method git-fetch) (uri (git-reference @@ -3395,7 +3395,7 @@ communication over HTTP.") (file-name (git-file-name name version)) (sha256 (base32 - "141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5")))) + "0gb0yc88hdzwm08zdiviay6s08q427za33kfbygib7bdzp2wr2dm")))) (build-system cmake-build-system) (inputs ; TODO: Need to force-keep references on some inputs, e.g. boost. `(("zlib" ,zlib) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 04/12] gnu: Add nettle-3.7. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 02/12] gnu: restbed: Update to 4.7 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 03/12] gnu: restinio: Update to 0.6.13 Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 05/12] gnu: opendht: Update to 2.2.0rc4 Maxim Cournoyer ` (7 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer While nettle cannot be upgraded wholesale on the master branch, we can at least also offer the latest version available. * gnu/packages/nettle.scm (nettle-3.5, nettle-3.7): New variables. (nettle): Redefine as a binding to nettle-3.5, which is the current version. --- gnu/packages/nettle.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/nettle.scm b/gnu/packages/nettle.scm index f5e7188ff0..753e2d6e7e 100644 --- a/gnu/packages/nettle.scm +++ b/gnu/packages/nettle.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,7 +72,7 @@ cryptographic toolkits for object-oriented languages or in applications themselves.") (license gpl2+))) -(define-public nettle +(define-public nettle-3.5 ;; This version is not API-compatible with version 2. In particular, lsh ;; cannot use it yet. So keep it separate. (package (inherit nettle-2) @@ -89,3 +90,17 @@ themselves.") ;; Build "fat" binaries where the right implementation is chosen ;; at run time based on CPU features (starting from 3.1.) `(cons "--enable-fat" ,flags)))))) + +(define-public nettle-3.7 + (package (inherit nettle-3.5) + (version "3.7.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/nettle/nettle-" + version ".tar.gz")) + (sha256 + (base32 + "0qpi1qp3bcvqdsaxy2pzg530db95x8qjahkynxgwvr6dy5760ald")))))) + +;;; Upgrading Nettle on master would cause 10000+ packages to be rebuilt. +(define-public nettle nettle-3.5) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 05/12] gnu: opendht: Update to 2.2.0rc4. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (2 preceding siblings ...) 2021-03-31 17:22 ` [bug#47513] [PATCH v2 04/12] gnu: Add nettle-3.7 Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 06/12] gnu: pjproject: Update to 2.11 Maxim Cournoyer ` (6 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/patches/opendht-fix-jami.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Un-register it. * gnu/packages/networking.scm (opendht): Update to 2.2.0rc4. [patches]: Remove field. [inputs]: Use nettle-3.7. [native-inputs]: Move restinio to... [propagated-inputs]: ... here. --- gnu/local.mk | 1 - gnu/packages/networking.scm | 13 ++++---- gnu/packages/patches/opendht-fix-jami.patch | 33 --------------------- 3 files changed, 6 insertions(+), 41 deletions(-) delete mode 100644 gnu/packages/patches/opendht-fix-jami.patch diff --git a/gnu/local.mk b/gnu/local.mk index d8c548b0eb..bfb7cd80b7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1469,7 +1469,6 @@ dist_patch_DATA = \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \ %D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \ - %D%/packages/patches/opendht-fix-jami.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \ diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index bd6201bcbf..f4f2532583 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3428,40 +3428,39 @@ and targeted primarily for asynchronous processing of HTTP-requests.") (define-public opendht (package (name "opendht") - (version "2.1.4") + (version "2.2.0rc4") ;jami requires >= 2.2.0 (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/savoirfairelinux/opendht") (commit version))) (file-name (git-file-name name version)) - (patches (search-patches "opendht-fix-jami.patch")) (sha256 (base32 - "1ax26ri1ifb6s8ppd28jmanka9yf8mw3np65q2h4djhhik0phhal")))) + "1wc0f6cnvnlmhxnx64nxqgsx93k4g7ljdaqjl40ml74jg3nqrzcl")))) ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug? (build-system cmake-build-system) (inputs `(("argon2" ,argon2) - ("nettle" ,nettle) + ("nettle" ,nettle-3.7) ("readline" ,readline) ("jsoncpp" ,jsoncpp) ("openssl" ,openssl) ;required for the DHT proxy ("fmt" ,fmt))) (propagated-inputs `(("gnutls" ,gnutls) ;included in opendht/crypto.h - ("msgpack" ,msgpack))) ;included in several installed headers + ("msgpack" ,msgpack) ;included in several installed headers + ("restinio" ,restinio))) ;included in opendht/http.h (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config) - ("restinio" ,restinio) ;headers only library ("libtool" ,libtool) ("cppunit" ,cppunit))) (arguments `(#:tests? #f ; Tests require network connection. #:configure-flags - '(;; "-DOPENDHT_TESTS=on" + '(;;"-DOPENDHT_TESTS=on" "-DOPENDHT_TOOLS=off" "-DOPENDHT_PYTHON=off" "-DOPENDHT_PROXY_SERVER=on" diff --git a/gnu/packages/patches/opendht-fix-jami.patch b/gnu/packages/patches/opendht-fix-jami.patch deleted file mode 100644 index 9718a84a41..0000000000 --- a/gnu/packages/patches/opendht-fix-jami.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e2b39dd3a0742853e00f9c3e8c46c911da20bed7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> -Date: Tue, 30 Jun 2020 10:42:49 -0400 -Subject: [PATCH 1/4] http/request: make terminate public - ---- - include/opendht/http.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/include/opendht/http.h b/include/opendht/http.h -index cc8d5f9..46b722c 100644 ---- a/include/opendht/http.h -+++ b/include/opendht/http.h -@@ -294,6 +294,7 @@ public: - * User action to cancel the Request and call the completion callbacks. - */ - void cancel(); -+ void terminate(const asio::error_code& ec); - - private: - using OnCompleteCb = std::function<void()>; -@@ -320,8 +321,6 @@ private: - - void connect(std::vector<asio::ip::tcp::endpoint>&& endpoints, HandlerCb cb = {}); - -- void terminate(const asio::error_code& ec); -- - void post(); - - void handle_request(const asio::error_code& ec); --- -2.27.0 - -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 06/12] gnu: pjproject: Update to 2.11. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (3 preceding siblings ...) 2021-03-31 17:22 ` [bug#47513] [PATCH v2 05/12] gnu: opendht: Update to 2.2.0rc4 Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375 Maxim Cournoyer ` (5 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/telephony.scm (pjproject): Update to 2.11. Remove trailing #t. [patches]: Delete field. The patches are preserved because pjproject-jami still needs them. --- gnu/packages/telephony.scm | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 5c8d247e68..af7148bf84 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> -;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> ;;; @@ -723,7 +723,7 @@ your calls and messages.") (define-public pjproject (package (name "pjproject") - (version "2.10") + (version "2.11") (source (origin (method git-fetch) @@ -733,12 +733,8 @@ your calls and messages.") (file-name (git-file-name name version)) (sha256 (base32 - "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0")) + "1kn9g1x1vmh4130ghph8mldz5m89gsjs4vpdzlzm98m3808gk5an")) (modules '((guix build utils))) - ;; The patches upstream status can be tracked at: - ;; https://github.com/pjsip/pjproject/pull/2501. - (patches (search-patches "pjproject-correct-the-cflags-field.patch" - "pjproject-fix-pkg-config-ldflags.patch")) (snippet '(begin ;; Remove bundled libraries. @@ -746,8 +742,7 @@ your calls and messages.") (substitute* "aconfigure.ac" (("third_party/build/os-auto.mak") "")) (substitute* "Makefile" - (("third_party/build") "")) - #t)))) + (("third_party/build") "")))))) (build-system gnu-build-system) (outputs '("out" "debug" "static")) (arguments @@ -785,8 +780,7 @@ your calls and messages.") ;; Make all the files writable to prevent the following error: ;; "autom4te: cannot open aconfigure: Permission denied". (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) + (for-each make-file-writable (find-files ".")))) (add-before 'build 'build-dep (lambda _ (invoke "make" "dep"))) ;; The check phases is moved after the install phase so to @@ -800,8 +794,7 @@ your calls and messages.") (with-directory-excursion out (for-each (lambda (f) (rename-file f (string-append s "/" (basename f)))) - (find-files "." "\\.a$"))) - #t))) + (find-files "." "\\.a$")))))) (add-after 'install 'check (assoc-ref %standard-phases 'check)) (add-before 'patch-source-shebangs 'autoconf @@ -844,8 +837,7 @@ your calls and messages.") ;; Disable the pjnath and pjsua tests, which require an actual ;; network and an actual sound card, respectively. (("pjnath-test pjmedia-test pjsip-test pjsua-test") - "pjmedia-test pjsip-test")) - #t))))) + "pjmedia-test pjsip-test"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (4 preceding siblings ...) 2021-03-31 17:22 ` [bug#47513] [PATCH v2 06/12] gnu: pjproject: Update to 2.11 Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 08/12] ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013 Maxim Cournoyer ` (4 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer The custom pjproject package used by Jami is updated with the latest patches found in the 20210326.1.cfba013 release of Jami. * gnu/packages/jami.scm (%jami-version): Update to 20210326.1.cfba013. (jami-source) [snippet]: Update comment. Add client-electron and client-ios to the list of deleted directories. Remove client-windows from the list, as it no longer exists. (jami-apply-dependency-patches): Update comment. Ignore whitespace when applying patches, otherwise the pjproject patches would not apply. (pjproject-jami): Add comment. [source]: Define the source; the parent pjproject package was updated was updated to 2.11, but the patches only apply against 2.10. [phases] <apply-patches>: Update the list of patches used with those found in the release tarball. --- gnu/packages/jami.scm | 52 ++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 3773c1ab0a..35d84bb37b 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> -;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,7 +63,7 @@ #:use-module (guix utils) #:use-module (srfi srfi-1)) -(define %jami-version "20200710.1.6bd18d2") +(define %jami-version "20210326.1.cfba013") (define* (jami-source #:key keep-contrib-patches?) "Return an origin object of the tarball release sources archive of Jami. @@ -78,7 +78,7 @@ of Jami." (modules '((guix build utils))) (snippet `(begin - ;; Delete over 200 MiB of bundled tarballs. The contrib directory + ;; Delete multiple MiBs of bundled tarballs. The contrib directory ;; contains the custom patches for pjproject and other libraries used ;; by Savoir-faire Linux. (if ,keep-contrib-patches? @@ -86,21 +86,21 @@ of Jami." (delete-file-recursively "daemon/contrib")) ;; Remove code from unused Jami clients. (for-each delete-file-recursively '("client-android" + "client-electron" + "client-ios" "client-macosx" - "client-uwp" - "client-windows")) - #t)) + "client-uwp")))) (sha256 (base32 - "0lg61jv39x7kc9lq30by246xb6gcgp1rzj49ak7ff8nqpfzyfvva")))) + "1h0avma8bdzyznkz39crjyv2888bii4f49md15jg7970dyp5pdyz")))) (define %sfl-patches (jami-source #:keep-contrib-patches? #t)) (define %jami-sources (jami-source)) -;; Savoir-faire Linux modifies many libraries to add features -;; to Jami. This procedure makes applying patches to a given -;; package easy. +;; Savoir-faire Linux maintains a set of patches for some key dependencies +;; (currently pjproject and ffmpeg) of Jami that haven't yet been integrated +;; upstream. This procedure simplifies the process of applying these patches.x (define jami-apply-dependency-patches '(lambda* (#:key inputs dep-name patches) (let ((patches-directory "sfl-patches")) @@ -112,15 +112,30 @@ of Jami." dep-name)) (for-each (lambda (file) - (invoke "patch" "--force" "-p1" "-i" + (invoke "patch" "--force" "--ignore-whitespace" "-p1" "-i" (string-append patches-directory "/" file ".patch"))) patches)))) +;;; Jami maintains pjproject patches that add the ability to do ICE over TCP, +;;; among other things. The patches are currently based on pjproject 2.10. (define-public pjproject-jami (package (inherit pjproject) (name "pjproject-jami") + (version "2.10") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pjsip/pjproject") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0")) + (patches (search-patches + "pjproject-correct-the-cflags-field.patch" + "pjproject-fix-pkg-config-ldflags.patch")))) (native-inputs `(("sfl-patches" ,%sfl-patches) ,@(package-native-inputs pjproject))) @@ -140,14 +155,19 @@ of Jami." "0004-multiple_listeners" "0005-fix_ebusy_turn" "0006-ignore_ipv6_on_transport_check" - "0007-pj_ice_sess" + "0007-upnp-srflx-nat-assisted-cand" "0008-fix_ioqueue_ipv6_sendto" "0009-add-config-site" - ;; Note: The base pjproject is already patched with - ;; "0010-fix-pkgconfig". + ;; Already taken care of via the origin patches. + ;;"0010-fix-pkgconfig" "0011-fix-tcp-death-detection" - "0012-fix-turn-shutdown-crash")) - #t)))))))) + "0012-fix-turn-shutdown-crash" + "0013-Assign-unique-local-preferences-for-candidates-with-" + "0014-Add-new-compile-time-setting-PJ_ICE_ST_USE_TURN_PERM" + "0015-update-local-preference-for-peer-reflexive-candidate" + "0016-use-addrinfo-instead-CFHOST" + "0017-CVE-2020-15260" + "0018-CVE-2021-21375")))))))))) ;; The following variables are configure flags used by ffmpeg-jami. They're ;; from the ring-project/daemon/contrib/src/ffmpeg/rules.mak file. We try to -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 08/12] ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (5 preceding siblings ...) 2021-03-31 17:22 ` [bug#47513] [PATCH v2 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375 Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 09/12] gnu: libring: Update to 20210326.1.cfba013 Maxim Cournoyer ` (3 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/jami.scm (ffmpeg-jami): Remove trailing #t. [phases] <apply-patches>: Add libopusdec-enable-FEC and libopusenc-enable-FEC to the list of patches to apply. --- gnu/packages/jami.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 35d84bb37b..9d5d00c60c 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -403,21 +403,22 @@ of Jami." `(modify-phases ,phases (add-after 'unpack 'make-git-checkout-writable (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) + (for-each make-file-writable (find-files ".")))) (add-after 'unpack 'apply-patches (lambda* (#:key inputs #:allow-other-keys) (let ((jami-apply-dependency-patches ,jami-apply-dependency-patches)) ;; These patches come from: ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak". - (jami-apply-dependency-patches #:inputs inputs - #:dep-name "ffmpeg" - #:patches - '("remove-mjpeg-log" - "change-RTCP-ratio" - "rtp_ext_abs_send_time")) - #t)))))))))) + (jami-apply-dependency-patches + #:inputs inputs + #:dep-name "ffmpeg" + #:patches + '("remove-mjpeg-log" + "change-RTCP-ratio" + "rtp_ext_abs_send_time" + "libopusdec-enable-FEC" + "libopusenc-enable-FEC")))))))))))) (define-public libring (package -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 09/12] gnu: libring: Update to 20210326.1.cfba013. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (6 preceding siblings ...) 2021-03-31 17:22 ` [bug#47513] [PATCH v2 08/12] ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013 Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 10/12] gnu: libringclient: " Maxim Cournoyer ` (2 subsequent siblings) 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/jami.scm (libring): Update to 20210326.1.cfba013. Remove trailing #t. [inputs]: Remove boost, flac, gmp, gsm, libogg, libva, opus, pcre, libsamplerate, libsndfile, libvorbis, libx264, libvdpau, zlib, python, python-wrapper, restinio, and libx11. Add webrtc-audio-processing. [native-inputs]: Remove cppunit. Add gcc-8. [make-flags]: Add the V=1 flag. [synopsis]: More explicitly describe what this component is. [description]: Describe the specifics before the generalities. --- gnu/packages/jami.scm | 61 ++++++++++++++----------------------------- 1 file changed, 20 insertions(+), 41 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 9d5d00c60c..ddb4b35349 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages documentation) + #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -428,71 +429,49 @@ of Jami." (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) - ("boost" ,boost) + ("asio" ,asio) ("dbus-c++" ,dbus-c++) ("eudev" ,eudev) ("ffmpeg" ,ffmpeg-jami) - ("flac" ,flac) - ("gmp" ,gmp) - ("gsm" ,gsm) ("jack" ,jack-1) ("jsoncpp" ,jsoncpp) ("libarchive" ,libarchive) ("libnatpmp" ,libnatpmp) - ("libogg" ,libogg) - ("libva" ,libva) + ("libsecp256k1" ,libsecp256k1) + ("libupnp" ,libupnp) ("opendht" ,opendht) - ("opus" ,opus) - ("pcre" ,pcre) + ("openssl" ,openssl) + ("pjproject" ,pjproject-jami) ("pulseaudio" ,pulseaudio) - ("libsamplerate" ,libsamplerate) - ("libsndfile" ,libsndfile) ("speex" ,speex) ("speexdsp" ,speexdsp) - ("libupnp" ,libupnp) - ("libvorbis" ,libvorbis) - ("libx264" ,libx264) - ("libvdpau" ,libvdpau) - ("yaml-cpp" ,yaml-cpp) - ("zlib" ,zlib) - ("openssl" ,openssl) - ("libsecp256k1" ,libsecp256k1) - ("python" ,python) - ("python-wrapper" ,python-wrapper) - ("restinio" ,restinio) - ("libx11" ,libx11) - ("asio" ,asio) - ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version. - ;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24. - ("pjproject" ,pjproject-jami))) + ("webrtc-audio-processing" ,webrtc-audio-processing) + ("yaml-cpp" ,yaml-cpp))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) + ("gcc" ,gcc-8) ;charconv requires GCC 8.1+ ("libtool" ,libtool) + ("perl" ,perl) ;to generate manpages with pod2man ("pkg-config" ,pkg-config) - ("which" ,which) - ("cppunit" ,cppunit) - ("perl" ,perl))) ; Needed for documentation. + ("which" ,which))) (arguments `(#:tests? #f ; The tests fail to compile due to missing headers. + #:make-flags '("V=1") ;build verbosely #:phases (modify-phases %standard-phases (add-after 'unpack 'change-directory (lambda _ - (chdir "daemon") - #t)) + (chdir "daemon"))) (add-before 'build 'add-lib-dir (lambda _ - (mkdir-p "src/lib") - #t))))) - (synopsis "Distributed multimedia communications platform") - (description "Jami (formerly GNU Ring) is a secure and distributed voice, -video and chat communication platform that requires no centralized server and -leaves the power of privacy in the hands of the user. It supports the SIP and -IAX protocols, as well as decentralized calling using P2P-DHT. - -This package provides a library and daemon implementing the Jami core -functionality.") + (mkdir-p "src/lib")))))) + (synopsis "Jami core library and daemon") + (description "This package provides a library and daemon implementing the +Jami core functionality. Jami is a secure and distributed voice, video and +chat communication platform that requires no centralized server and leaves the +power of privacy in the hands of the user. It supports the SIP and IAX +protocols, as well as decentralized calling using P2P-DHT.") (home-page "https://jami.net/") (license license:gpl3+))) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 10/12] gnu: libringclient: Update to 20210326.1.cfba013. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (7 preceding siblings ...) 2021-03-31 17:22 ` [bug#47513] [PATCH v2 09/12] gnu: libring: Update to 20210326.1.cfba013 Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 12/12] gnu: Add jami-qt Maxim Cournoyer 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/jami.scm (libringclient): Update to 20210326.1.cfba013. Remove trailing #t. Do not inherit from libring. [version, source]: Specify fields. [propagated-inputs]: Remove qttools. Move libring to ... [inputs]: ... here. Add network-manager. [configure-flags] Define the RING_XML_INTERFACES_DIR variable. [phases]{fix-dbus-interfaces-path}: Delete. [synopsis]: More explicitly describe what this component is. [description]: Describe the specifics before the generalities. --- gnu/packages/jami.scm | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index ddb4b35349..41fa69dd48 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -477,37 +477,33 @@ protocols, as well as decentralized calling using P2P-DHT.") (define-public libringclient (package - (inherit libring) (name "libringclient") + (version %jami-version) + (source %jami-sources) (build-system cmake-build-system) + (inputs + `(("libring" ,libring) + ("network-manager" ,network-manager))) (propagated-inputs - `(("libring" ,libring) ; For 'dring'. - ("qtbase" ,qtbase) ; Qt is included in several installed headers. - ("qttools" ,qttools))) + `(("qtbase" ,qtbase))) ; Qt is included in several installed headers. (arguments `(#:tests? #f ; There is no testsuite. #:configure-flags - (list (string-append "-DRING_BUILD_DIR=" - (assoc-ref %build-inputs "libring") "/include")) + (let ((libring (assoc-ref %build-inputs "libring"))) + (list (string-append "-DRING_XML_INTERFACES_DIR=" + libring "/share/dbus-1/interfaces") + (string-append "-DRING_BUILD_DIR=" libring "/include"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'change-directory (lambda _ - (chdir "lrc") - #t)) - (add-before 'configure 'fix-dbus-interfaces-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "CMakeLists.txt" - (("\\$\\{CMAKE_INSTALL_PREFIX\\}(/share/dbus-1/interfaces)" _ dbus-interfaces-path-suffix) - (string-append (assoc-ref inputs "libring") - dbus-interfaces-path-suffix)))))))) - (synopsis "Distributed multimedia communications platform") - (description "Jami (formerly GNU Ring) is a secure and distributed voice, -video and chat communication platform that requires no centralized server and -leaves the power of privacy in the hands of the user. It supports the SIP and -IAX protocols, as well as decentralized calling using P2P-DHT. - -This package provides a library common to all Jami clients.") + (chdir "lrc")))))) + (synopsis "Jami client library") + (description "This package provides a library common to all Jami clients. +Jami is a secure and distributed voice, video and chat communication platform +that requires no centralized server and leaves the power of privacy in the +hands of the user. It supports the SIP and IAX protocols, as well as +decentralized calling using P2P-DHT.") (home-page "https://jami.net") (license license:gpl3+))) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (8 preceding siblings ...) 2021-03-31 17:22 ` [bug#47513] [PATCH v2 10/12] gnu: libringclient: " Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 12/12] gnu: Add jami-qt Maxim Cournoyer 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/jami.scm (jami): Update to 20210326.1.cfba013. Rename to ... (jami-gnome): In prevision of the soon released Jami Qt client. (jami): Define as obsoleted by jami-gnome. [inputs]: Sort lexico-graphically. Add libappindicator and network-manager. [native-inputs]: Add a comment and fix a typo. Remove doxygen. [propagated-inputs]: Remove evolution-data-server. [synopsis]: More explicitly describe what this package is. [description]: Describe the specifics before the generalities. --- gnu/packages/jami.scm | 54 ++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 41fa69dd48..1b6a2a2ed5 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages documentation) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) @@ -507,44 +508,49 @@ decentralized calling using P2P-DHT.") (home-page "https://jami.net") (license license:gpl3+))) -(define-public jami +(define-public jami-gnome (package - (inherit libring) - (name "jami") + (name "jami-gnome") + (version %jami-version) + (source %jami-sources) (build-system cmake-build-system) (inputs - `(("libringclient" ,libringclient) - ("gtk+" ,gtk+) - ("qrencode" ,qrencode) - ("libnotify" ,libnotify) - ("clutter" ,clutter) + `(("clutter" ,clutter) ("clutter-gtk" ,clutter-gtk) + ("gtk+" ,gtk+) ("libcanberra" ,libcanberra) - ("webkitgtk" ,webkitgtk) - ("sqlite" ,sqlite))) + ("libappindicator" ,libappindicator) + ("libnotify" ,libnotify) + ("libringclient" ,libringclient) + ("network-manager" ,network-manager) + ("qrencode" ,qrencode) + ("sqlite" ,sqlite) + ("webkitgtk" ,webkitgtk))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("doxygen" ,doxygen))) + ("glib:bin" ,glib "bin"))) ;for glib-compile-resources (propagated-inputs - `(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus. - ("adwaita-icon-theme" ,adwaita-icon-theme) - ("evolution-data-server" ,evolution-data-server))) + `(("libring" ,libring) ; Contains 'dring', the daemon, which is + ; automatically started by DBus. + ("adwaita-icon-theme" ,adwaita-icon-theme))) (arguments `(#:tests? #f ; There is no testsuite. #:phases (modify-phases %standard-phases (add-after 'unpack 'change-directory (lambda _ - (chdir "client-gnome") - #t))))) - (synopsis "Distributed, privacy-respecting communication program") - (description "Jami (formerly GNU Ring) is a secure and distributed voice, -video and chat communication platform that requires no centralized server and -leaves the power of privacy in the hands of the user. It supports the SIP and -IAX protocols, as well as decentralized calling using P2P-DHT. - -This package provides the Jami client for the GNOME desktop.") + (chdir "client-gnome")))))) + (synopsis "Jami client for GNOME") + (description "This package provides a Jami client for the GNOME desktop. +Jami is a secure and distributed voice, video and chat communication platform +that requires no centralized server and leaves the power of privacy in the +hands of the user. It supports the SIP and IAX protocols, as well as +decentralized calling using P2P-DHT.") (home-page "https://jami.net") (license license:gpl3+))) + +;;; Keep this until the Qt client matures enough to become the +;;; main 'jami' client. +(define-public jami + (deprecated-package "jami" jami-gnome)) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH v2 12/12] gnu: Add jami-qt. 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer ` (9 preceding siblings ...) 2021-03-31 17:22 ` [bug#47513] [PATCH v2 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome Maxim Cournoyer @ 2021-03-31 17:22 ` Maxim Cournoyer 10 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-03-31 17:22 UTC (permalink / raw) To: 47513; +Cc: Jack Hill, Maxime Devos, Maxim Cournoyer * gnu/packages/jami.scm (jami-qt): New variable. --- gnu/packages/jami.scm | 66 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 1b6a2a2ed5..ddfe6a2770 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) @@ -59,6 +60,7 @@ #:use-module (gnu packages) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system qt) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) @@ -554,3 +556,67 @@ decentralized calling using P2P-DHT.") ;;; main 'jami' client. (define-public jami (deprecated-package "jami" jami-gnome)) + +(define-public jami-qt + (package + (name "jami-qt") ;to be renamed 'jami' at some point + (version %jami-version) + ;; The Qt client code is not yet part of the release tarball; fetch it + ;; from git for now. + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.jami.net/savoirfairelinux/jami-client-qt.git") + (commit "ae21c17da5e8f730ae3895ccbc4da8047e3be1eb"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rf3lpk8c4qc12pi6pn4rdp7i8b83xv64yqr0q47rzv9s518qyjp")))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ;no test suite + #:phases + (modify-phases %standard-phases + ;; TODO: Uncomment after switching back to the tarball source. + ;; (add-after 'unpack 'change-directory + ;; (lambda _ + ;; (chdir "client-qt"))) + (add-after 'install 'wrap + ;; The program fails to find the QtWebEngineProcess program, so we + ;; set QTWEBENGINEPROCESS_PATH to help it. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin")) + (qtwebengineprocess (string-append + (assoc-ref inputs "qtwebengine") + "/lib/qt5/libexec/QtWebEngineProcess"))) + (for-each (lambda (program) + (wrap-program program + `("QTWEBENGINEPROCESS_PATH" = + (,qtwebengineprocess)))) + (find-files bin ".*")))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools) + ("doxygen" ,doxygen) + ("graphviz" ,graphviz))) + (inputs + `(("network-manager" ,network-manager) + ("qrencode" ,qrencode) + ("qtsvg" ,qtsvg) + ("qtwebengine" ,qtwebengine) + ("qtwebchannel" ,qtwebchannel) + ("qtmultimedia" ,qtmultimedia) + ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtquickcontrols" ,qtquickcontrols) + ("qtquickcontrols2" ,qtquickcontrols2))) + (propagated-inputs + `(("libringclient" ,libringclient))) + (home-page "https://jami.net") + (synopsis "Qt Jami client") + (description "This package provides the Jami Qt client. Jami is a secure +and distributed voice, video and chat communication platform that requires no +centralized server and leaves the power of privacy in the hands of the user. +It supports the SIP and IAX protocols, as well as decentralized calling using +P2P-DHT.") + (license license:gpl3+))) -- 2.31.1 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [bug#47513] [PATCH 00/12] Update jami and add jami-qt 2021-03-31 5:14 [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxim Cournoyer ` (3 preceding siblings ...) 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer @ 2021-04-01 11:10 ` Maxime Devos 2021-04-02 11:52 ` bug#47513: " Maxim Cournoyer 4 siblings, 1 reply; 35+ messages in thread From: Maxime Devos @ 2021-04-01 11:10 UTC (permalink / raw) To: Maxim Cournoyer, 47513 [-- Attachment #1: Type: text/plain, Size: 1105 bytes --] On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote: > Hello! > > I've finally picked up the packaging of Jami, which was becoming quite > outdated in Guix. I haven't had much time to test the result yet, but a > priori it seems to function as intended. > > Let me know how it works for you! It seems to work for me, however I needed to make a tiny change: <start snip> diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index 67befe63a2..b73ad027fe 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -554,7 +554,7 @@ decentralized calling using P2P-DHT.") ;;; Keep this until the Qt client matures enough to become the ;;; main 'jami' client. -(deprecated-package jami jami-gnome) +#;(deprecated-package jami jami-gnome) (define-public jami-qt (package <end snip> Looking at "git grep -F deprecated-package" output, perhaps (deprecated-package jami jami-gnome) should have been (deprecated-package "jami" jami-gnome) ? (untested) Also, I didn't have any opportunity to actually call someone. Greetings, Maxime. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 260 bytes --] ^ permalink raw reply related [flat|nested] 35+ messages in thread
* bug#47513: [PATCH 00/12] Update jami and add jami-qt 2021-04-01 11:10 ` [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxime Devos @ 2021-04-02 11:52 ` Maxim Cournoyer 0 siblings, 0 replies; 35+ messages in thread From: Maxim Cournoyer @ 2021-04-02 11:52 UTC (permalink / raw) To: Maxime Devos; +Cc: Jack Hill, 47513-done Hi Maxime! Maxime Devos <maximedevos@telenet.be> writes: > On Wed, 2021-03-31 at 01:14 -0400, Maxim Cournoyer wrote: >> Hello! >> >> I've finally picked up the packaging of Jami, which was becoming quite >> outdated in Guix. I haven't had much time to test the result yet, but a >> priori it seems to function as intended. >> >> Let me know how it works for you! > > It seems to work for me, however I needed to make a tiny change: > > <start snip> > diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm > index 67befe63a2..b73ad027fe 100644 > --- a/gnu/packages/jami.scm > +++ b/gnu/packages/jami.scm > @@ -554,7 +554,7 @@ decentralized calling using P2P-DHT.") > > ;;; Keep this until the Qt client matures enough to become the > ;;; main 'jami' client. > -(deprecated-package jami jami-gnome) > +#;(deprecated-package jami jami-gnome) > > (define-public jami-qt > (package > <end snip> Jack in the thread made me notice about that as well; deprecated-package returns a package object, so it needs to be public-define'd the usual way: + +;;; Keep this until the Qt client matures enough to become the +;;; main 'jami' client. +(define-public jami + (deprecated-package "jami" jami-gnome)) And yes the package name is a string. I fixed this in a v2 patch series I sent along a problem propagating libringclient instead of libring for the jami-qt client (see: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47513#95). MUMI (issues.guix.gnu.org) sadly doesn't seem to have picked it up. [...] > Also, I didn't have any opportunity to actually call someone. [...] OK! I've tested it on my side with actual calls, so I feel confident it works fine. I've made a few last changes (using LIBWRAP when building libringclient so that it talks directly with libring instead of going through DBus, which allows to have it work even in a 'guix pack' and cleaning the list of imports) and pushed to master as e6b447cf756831e8339e6462647004d88132fa07. Thanks for the review! Maxim ^ permalink raw reply [flat|nested] 35+ messages in thread
end of thread, other threads:[~2021-04-02 11:53 UTC | newest] Thread overview: 35+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-03-31 5:14 [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 02/12] gnu: restbed: Update to 4.7 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 03/12] gnu: restinio: Update to 0.6.13 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 04/12] gnu: Add nettle-3.7 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 05/12] gnu: opendht: Update to 2.2.0rc4 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 06/12] gnu: pjproject: Update to 2.11 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 08/12] ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 09/12] gnu: libring: Update to 20210326.1.cfba013 Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 10/12] gnu: libringclient: " Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome Maxim Cournoyer 2021-03-31 6:08 ` Jack Hill 2021-03-31 15:21 ` Jack Hill 2021-03-31 15:23 ` Jack Hill 2021-03-31 17:26 ` Maxim Cournoyer 2021-03-31 5:23 ` [bug#47513] [PATCH 12/12] gnu: Add jami-qt Maxim Cournoyer 2021-03-31 6:49 ` [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxime Devos 2021-03-31 13:23 ` Maxime Devos 2021-03-31 16:57 ` Maxim Cournoyer 2021-03-31 17:23 ` Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 01/12] gnu: asio: Update to 1.18.1 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 02/12] gnu: restbed: Update to 4.7 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 03/12] gnu: restinio: Update to 0.6.13 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 04/12] gnu: Add nettle-3.7 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 05/12] gnu: opendht: Update to 2.2.0rc4 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 06/12] gnu: pjproject: Update to 2.11 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 07/12] gnu: pjproject-jami: Fix CVE-2020-15260 and CVE-2021-21375 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 08/12] ffmpeg-jami: Patch with the patches from Jami 20210326.1.cfba013 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 09/12] gnu: libring: Update to 20210326.1.cfba013 Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 10/12] gnu: libringclient: " Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 11/12] gnu: jami: Update to 20210326.1.cfba013 and rename to jami-gnome Maxim Cournoyer 2021-03-31 17:22 ` [bug#47513] [PATCH v2 12/12] gnu: Add jami-qt Maxim Cournoyer 2021-04-01 11:10 ` [bug#47513] [PATCH 00/12] Update jami and add jami-qt Maxime Devos 2021-04-02 11:52 ` bug#47513: " Maxim Cournoyer
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).