gnu: pjproject-jami: Update and relocate.

* gnu/packages/jami.scm (pjproject-jami): Move to...
* gnu/packages/telephony.scm (pjproject-jami): ... here.  Update to latest
commit.
[arguments]: Use same configure flags as done in Jami/DhtNet projects.

Change-Id: I638364ebc94f17762ee072311b5fe439b7c6f837
This commit is contained in:
Maxim Cournoyer 2024-01-05 13:46:41 -05:00
parent 88f294cc14
commit 202b16e31a
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
2 changed files with 70 additions and 37 deletions

View File

@ -106,42 +106,6 @@
(string-append patches-directory "/" f ".patch")))
patches))))
(define-public pjproject-jami
(let ((commit "e4b83585a0bdf1523e808a4fc1946ec82ac733d0")
(revision "3"))
(package
(inherit pjproject)
(name "pjproject-jami")
(version (git-version "2.12" revision commit))
(source (origin
(inherit (package-source pjproject))
;; The Jami development team regularly issues patches to
;; pjproject to extend the its functionality and fix bugs;
;; they are submitted for inclusion upstream but larger
;; patches take time to be reviewed and merged, hence this
;; forked repository.
(method git-fetch)
(uri (git-reference
(url "https://github.com/savoirfairelinux/pjproject")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0gky5idyyqxhqk959lzys5l7x1i925db773lfdpvxxmkmfizdq21"))))
(arguments
(substitute-keyword-arguments (package-arguments pjproject)
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'apply-patches
(lambda _
(#$jami-apply-custom-patches
#:dep-name "pjproject"
#:patches
;; This adds a config_site.h configuration file that sets
;; constants such as PJ_ICE_MAX_CAND that cannot be
;; configured at build time.
'("0009-add-config-site")))))))))))
;; The following variables are configure flags used by ffmpeg-jami. They're
;; from the jami/daemon/contrib/src/ffmpeg/rules.mak file. We try to keep it
;; as close to the official Jami package as possible, to provide all the

View File

@ -17,7 +17,7 @@
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
@ -855,6 +855,75 @@ your calls and messages.")
Initiation Protocol (SIP) and a multimedia framework.")
(license license:gpl2+)))
(define-public pjproject-jami
(let ((commit "d044ad6c5b4221648c555da16196804e4721299c")
(revision "0"))
(package
(inherit pjproject)
(name "pjproject-jami")
;; The version is taken from
;; <https://raw.githubusercontent.com/savoirfairelinux/pjproject/master/version.mak>.
(version (git-version "2.13.1" revision commit))
(source (origin
(inherit (package-source pjproject))
;; The Jami development team regularly issues patches to
;; pjproject to extend the its functionality and fix bugs;
;; they are submitted for inclusion upstream but larger
;; patches take time to be reviewed and merged, hence this
;; forked repository.
(method git-fetch)
(uri (git-reference
(url "https://github.com/savoirfairelinux/pjproject")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0z4d7wdpa2mlaygb283k0j8n3l6q68gn0xqd62b5ngqvkhlaf775"))))
(arguments
(substitute-keyword-arguments (package-arguments pjproject)
((#:configure-flags _ ''())
;; This package is tailored for DhtNet; see how it is built for its
;; CI in
;; <https://git.jami.net/savoirfairelinux/dhtnet/-/raw/master/Dockerfile>.
#~(list
;; Some flags preserved flags from parent package.
"--with-external-srtp"
#$@(if (string-contains (or (%current-system)
(%current-target-system)) "linux")
#~("--enable-epoll")
#~())
"--with-gnutls" ;disable OpenSSL checks
;; -DNDEBUG is set to prevent pjproject from raising
;; assertions that aren't critical, crashing
;; applications as the result.
"CFLAGS=-DNDEBUG"
;; Specify a runpath reference to itself, which is missing and
;; causes the validate-runpath phase to fail.
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
"--enable-shared"
"--disable-libyuv" ;TODO: add missing package
;; These flags are specific to DhtNet.
"--disable-sound"
"--enable-video"
"--enable-ext-sound"
"--disable-speex-aec"
"--disable-g711-codec"
"--disable-l16-codec"
"--disable-gsm-codec"
"--disable-g722-codec"
"--disable-g7221-codec"
"--disable-speex-codec"
"--disable-ilbc-codec"
"--disable-opencore-amr"
"--disable-silk"
"--disable-sdl"
"--disable-ffmpeg"
"--disable-v4l2"
"--disable-openh264"
"--disable-resample"
"--disable-libwebrtc")))))))
(define-public libtgvoip
(package
(name "libtgvoip")