diff options
Diffstat (limited to 'gnu/packages/jami.scm')
-rw-r--r-- | gnu/packages/jami.scm | 67 |
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 |