summaryrefslogtreecommitdiff
path: root/gnu/packages/jami.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/jami.scm')
-rw-r--r--gnu/packages/jami.scm93
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)