mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
gnu: Add pjproject.
* gnu/packages/telephony.scm (pjproject): New variable.
This commit is contained in:
parent
952afb6f8c
commit
bd4b6f4164
1 changed files with 96 additions and 0 deletions
|
@ -8,7 +8,10 @@
|
|||
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
|
||||
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Adonay Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
|
||||
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
|
||||
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -29,19 +32,31 @@ (define-module (gnu packages telephony)
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages speech)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages upnp)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xml)
|
||||
|
@ -529,3 +544,84 @@ (define-public twinkle
|
|||
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.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.pjsip.org/release/" ;
|
||||
version "/" name "-" version ".tar.bz2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(let ((third-party-directories
|
||||
(list "BaseClasses" "bdsound" "bin" "g7221" "gsm"
|
||||
"ilbc" "lib" "milenage" "mp3" "speex" "srtp"
|
||||
"resample"
|
||||
;; Keep only resample, build and README.txt.
|
||||
"build/baseclasses" "build/g7221" "build/gsm"
|
||||
"build/ilbc" "build/milenage" "build/samplerate"
|
||||
"build/speex" "build/srtp"
|
||||
"build/resample" "build/yuv")))
|
||||
;; Keep only Makefiles related to resample.
|
||||
(for-each (lambda (file)
|
||||
(delete-file-recursively
|
||||
(string-append "third_party/" file)))
|
||||
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))))
|
||||
(sha256
|
||||
(base32
|
||||
"0wiph6g51wanzwjjrpwsz63amgvly8g08jz033gnwqmppa584b4w"))))
|
||||
(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)
|
||||
("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" "-vfi" "-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+)))
|
||||
|
|
Loading…
Reference in a new issue