@@ -98,11 +98,64 @@
(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)))
+ (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
- `(("SFL-patches" ,(jami-source))
- ,@(package-native-inputs pjproject)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)
+ ("SFL-patches" ,(jami-source))))
(arguments
`(#:tests? #f
;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
@@ -187,7 +240,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
(let ((commit "59da9dcd7ef6277e4e04998ced71b05a6083c635")
@@ -644,92 +644,6 @@ phone to IP phone communication or in a network using a SIP proxy to route your
calls and messages")
(license license:gpl2+)))
-(define-public pjproject
- (package
- (name "pjproject")
- (version "2.9")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pjsip/pjproject.git")
- (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
- (modules '((guix build utils)))
- (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
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)
- ("libtool" ,libtool)))
- (arguments
- `( ;; FIXME make: No rule to make target
- ;; 'pjlib-test-unknown-[something]-gnu'.
- #:tests? #f
- ;; #:test-target "selftest"
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'build-dep
- (lambda _ (invoke "make" "dep")))
- (add-before 'patch-source-shebangs 'autoconf
- (lambda _
- (invoke "autoconf" "-v" "-f" "-i" "-o"
- "aconfigure" "aconfigure.ac")))
- (add-before 'autoconf 'disable-some-tests
- ;; Three of the six test programs fail due to missing network
- ;; access.
- (lambda _
- (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)))))
- (home-page "https://www.pjsip.org")
- (synopsis "Session Initiation Protocol (SIP) stack")
- (description "PJProject provides an implementation of the Session
-Initiation Protocol (SIP) and a multimedia framework.")
- (license license:gpl2+)))
-
(define-public libtgvoip
(package
(name "libtgvoip")