diff options
Diffstat (limited to 'gnu/packages/jami.scm')
-rw-r--r-- | gnu/packages/jami.scm | 93 |
1 files changed, 35 insertions, 58 deletions
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm index ff14373bf3..baef61b824 100644 --- a/gnu/packages/jami.scm +++ b/gnu/packages/jami.scm @@ -62,13 +62,11 @@ #:use-module (guix packages) #:use-module (guix utils)) -(define %jami-version "20210326.1.cfba013") +(define %jami-version "20210606.1.e2f9490") -(define* (jami-source #:key keep-contrib-patches?) - "Return an origin object of the tarball release sources archive of Jami. -When KEEP-CONTRIB-PATCHES? is #t, do not completely remove the contrib -subdirectory, which contains patches to be applied to some of the dependencies -of Jami." +(define %jami-sources + ;; Return an origin object of the tarball release sources archive of the + ;; Jami project. (origin (method url-fetch) (uri (string-append "https://dl.jami.net/release/tarballs/jami_" @@ -79,11 +77,9 @@ of Jami." `(begin ;; 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? - (delete-file-recursively "daemon/contrib/tarballs") - (delete-file-recursively "daemon/contrib")) - ;; Remove code from unused Jami clients. + ;; by Jami. + (delete-file-recursively "daemon/contrib/tarballs") + ;; Remove the git submodule directories of unused Jami clients. (for-each delete-file-recursively '("client-android" "client-electron" "client-ios" @@ -91,20 +87,16 @@ of Jami." "client-uwp")))) (sha256 (base32 - "1h0avma8bdzyznkz39crjyv2888bii4f49md15jg7970dyp5pdyz")))) + "1vpxv2dk3l9cahv6mxd2754pxs9mzrid5bgwvl6k1byzpq8y4smr")))) -(define %sfl-patches (jami-source #:keep-contrib-patches? #t)) - -(define %jami-sources (jami-source)) - -;; 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 +;; Jami 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 them. +(define jami-apply-custom-patches '(lambda* (#:key inputs dep-name patches) - (let ((patches-directory "sfl-patches")) + (let ((patches-directory "patches")) (mkdir-p patches-directory) - (invoke "tar" "-xvf" (assoc-ref inputs "sfl-patches") + (invoke "tar" "-xvf" (assoc-ref inputs "jami-sources") "-C" patches-directory "--strip-components=5" (string-append "ring-project/daemon/contrib/src/" @@ -136,7 +128,7 @@ of Jami." "pjproject-correct-the-cflags-field.patch" "pjproject-fix-pkg-config-ldflags.patch")))) (native-inputs - `(("sfl-patches" ,%sfl-patches) + `(("jami-sources" ,%jami-sources) ,@(package-native-inputs pjproject))) (arguments (substitute-keyword-arguments (package-arguments pjproject) @@ -144,7 +136,7 @@ of Jami." `(modify-phases ,phases (add-after 'make-source-files-writable 'apply-patches (lambda* (#:key inputs #:allow-other-keys) - (,jami-apply-dependency-patches + (,jami-apply-custom-patches #:inputs inputs #:dep-name "pjproject" #:patches @@ -166,7 +158,8 @@ of Jami." "0015-update-local-preference-for-peer-reflexive-candidate" "0016-use-addrinfo-instead-CFHOST" "0017-CVE-2020-15260" - "0018-CVE-2021-21375")))))))))) + "0018-CVE-2021-21375" + "0019-ignore-down-interfaces")))))))))) ;; 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 @@ -387,7 +380,7 @@ of Jami." (package/inherit ffmpeg (name "ffmpeg-jami") (native-inputs - `(("sfl-patches" ,%sfl-patches) + `(("jami-sources" ,%jami-sources) ("libiconv" ,libiconv) ,@(package-native-inputs ffmpeg))) (supported-systems '("x86_64-linux" "i686-linux" @@ -405,19 +398,15 @@ of Jami." (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" - "libopusdec-enable-FEC" - "libopusenc-enable-FEC")))))))))))) + ;; These patches come from: + ;; "ring-project/daemon/contrib/src/ffmpeg/rules.mak". + (,jami-apply-custom-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 @@ -486,7 +475,7 @@ protocols, as well as decentralized calling using P2P-DHT.") `(("libring" ,libring) ("network-manager" ,network-manager))) (propagated-inputs - `(("qtbase" ,qtbase))) ; Qt is included in several installed headers. + `(("qtbase" ,qtbase-5))) ; Qt is included in several installed headers. (arguments `(#:tests? #f ; There is no testsuite. #:configure-flags @@ -579,28 +568,16 @@ decentralized calling using P2P-DHT.") (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")))) + (source %jami-sources) (build-system qt-build-system) (outputs '("out" "debug")) (arguments `(#:tests? #f ;no test suite - ;; TODO: Uncomment after switching back to the tarball source. - ;; #:phases - ;; (modify-phases %standard-phases - ;; (add-after 'unpack 'change-directory - ;; (lambda _ - ;; (chdir "client-qt")))) - )) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "client-qt")))))) (native-inputs `(("pkg-config" ,pkg-config) ("qttools" ,qttools) |