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.scm67
1 files changed, 63 insertions, 4 deletions
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index f67ef45072..61236ff9a0 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -95,11 +95,66 @@
(define-public pjproject-jami
(package
- (inherit pjproject)
(name "pjproject-jami")
+ (version "2.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pjsip/pjproject.git")
+ (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
+ (modules '((guix build utils)))
+ (patches
+ (search-patches "pjproject-fix.patch"))
+ (snippet
+ '(begin
+ (let ((third-party-directories
+ ;; Things we don't need:
+ ;; BaseClasses - contains libraries from Windows SDK
+ ;; we don't need it, at least not now.
+ (list "BaseClasses" "g7221" "ilbc" "milenage"
+ "speex" "threademulation" "yuv" "bdsound"
+ "gsm" "mp3" "resample" "srtp" "webrtc"
+ ;; Keep only resample, build and README.txt.
+ "build/baseclasses" "build/g7221" "build/gsm"
+ "build/ilbc" "build/milenage" "build/resample"
+ "build/samplerate" "build/speex" "build/srtp"
+ "build/webrtc" "build/yuv")))
+ ;; Keep only Makefiles related to resample.
+ (for-each (lambda (directory)
+ (delete-file-recursively
+ (string-append "third_party/" directory)))
+ third-party-directories)
+ #t)
+ (let ((third-party-dirs
+ (list "gsm" "ilbc" "speex" "g7221" "srtp"
+ "portaudio" "resample")))
+ (for-each
+ (lambda (dirs)
+ (substitute* "third_party/build/os-linux.mak"
+ (((string-append "DIRS += " dirs)) "")))
+ third-party-dirs))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("portaudio" ,portaudio)))
+ (propagated-inputs
+ ;; These packages are referenced in the Libs field of the pkg-config
+ ;; file that will be installed by pjproject.
+ `(("speex" ,speex)
+ ("libsrtp" ,libsrtp)
+ ("gnutls" ,gnutls)
+ ("resample", resample)
+ ("util-linux" ,util-linux)))
(native-inputs
- `(("savoir-faire-linux-patches" ,(jami-source))
- ,@(package-native-inputs pjproject)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)
+ ("savoir-faire-linux-patches" ,(jami-source))))
(arguments
`(#:tests? #f
;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
@@ -183,7 +238,11 @@
(substitute* "Makefile"
(("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
"selftest: pjlib-test pjlib-util-test pjmedia-test"))
- #t)))))))
+ #t)))))
+ (home-page "https://www.pjsip.org")
+ (synopsis "SIP (protocol) stack used by Jami")
+ (description "Pjsip is a C library implementing the SIP protocol. This version is highly modified for use in GNU Jami.")
+ (license license:gpl2+)))
(define-public ffmpeg-jami
(package