aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/telephony.scm
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2023-10-31 20:34:49 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-11-02 18:59:13 +0100
commit037e30cf13ae0f42de5125357ef189a816e60643 (patch)
tree0e8ab80a32e453da6687c239a90b251fbda0a340 /gnu/packages/telephony.scm
parenta94ec292d21a2171db741ef748ed4c8b3ef65ada (diff)
downloadguix-037e30cf13ae0f42de5125357ef189a816e60643.tar
guix-037e30cf13ae0f42de5125357ef189a816e60643.tar.gz
gnu: Add sofia-sip.
* gnu/packages/telephony.scm (sofia-sip): New variable. Change-Id: I18dd31fa62f5cfe528d7558915135f17d49b798d Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'gnu/packages/telephony.scm')
-rw-r--r--gnu/packages/telephony.scm80
1 files changed, 80 insertions, 0 deletions
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 42158784ca..dfa3343207 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -51,6 +51,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages sqlite)
@@ -1088,3 +1089,82 @@ very useful to emulate thousands of user agents calling your SIP system.")
(license (list license:gpl2+ ; sipp's main license
license:bsd-3 ; send_packets.c, send_packets.h
license:zlib)))) ; md5.c, md5.h
+
+(define-public sofia-sip
+ (package
+ (name "sofia-sip")
+ (version "1.13.16")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/freeswitch/sofia-sip")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "sofia-sip" version))
+ (sha256
+ (base32
+ "1hi9np49wcq91d1w93qi6by40qnr348hpzc2wkw3l955zh1n30lr"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ ;; run_addrinfo requires /etc/services for the 'echo' service.
+ #:make-flags #~'("XFAIL_TESTS = run_addrinfo"
+ ;; libsofia-sip-ua/nta/Makefile.am sets
+ ;; TESTS_ENVIRONMENT = $(SHELL), which is odd, because
+ ;; according to the Automake manual, it should be
+ ;; AM_TESTS_ENVIRONMENT, and it should end with a
+ ;; semicolon.
+ "TESTS_ENVIRONMENT = \
+export CHECK_NTA_VERBOSE=10; \
+export CHECK_NUA_VERBOSE=10; ")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-shebangs
+ (lambda _
+ (patch-shebang "autogen.sh")))
+ (add-after 'unpack 'disable-failing-test
+ (lambda _
+ ;; run_test_nta is disabled because it fails randomly (not for a
+ ;; timeout-related reason). The test suite is otherwise very
+ ;; long, most tests backed by libcheck timeout even with a ×100
+ ;; multiplier. The tests are disabled here rather than put to
+ ;; XFAIL_TESTS because it saves compilation time. (see:
+ ;; https://github.com/freeswitch/sofia-sip/issues/234)
+ (substitute* "libsofia-sip-ua/nta/Makefile.am"
+ (("TESTS =")
+ "TESTS = run_test_nta_api\n# Disabled: "))
+ (substitute* "libsofia-sip-ua/nua/Makefile.am"
+ (("TESTS \\+=")
+ "TESTS +=\n# Disabled: "))
+ ;; The glib tests both wait forever without a timeout.
+ (substitute* "libsofia-sip-ua-glib/su-glib/Makefile.am"
+ (("TESTS =")
+ "TESTS =\n# Disabled: "))
+ ;; Another timeout failing test:
+ (substitute* "tests/Makefile.am"
+ (("TESTS = test_nua")
+ "TESTS ="))
+ ;; This test fails for unknown reason:
+ (substitute* "tests/Makefile.am"
+ (("TESTS \\+= check_dlopen_sofia check_sofia")
+ "TESTS += check_dlopen_sofia")))))))
+ (inputs
+ (list glib
+ openssl
+ zlib))
+ (native-inputs
+ (list autoconf
+ autoconf-archive
+ automake
+ check
+ libtool
+ pkg-config))
+ (home-page "https://sofia-sip.sourceforge.net/")
+ (synopsis "SIP user-agent library")
+ (description "Sofia-SIP is a @acronym{SIP, Session Initiation Protocol}
+User-Agent library, compliant with the
+@url{https://datatracker.ietf.org/doc/html/rfc3261, IETF RFC3261}
+specification. It can be used as a building block for @acronym{SIP} client
+software foruses such as @acronym{VoIP, Voice over @acronym{IP, Internet
+Protocol}}, @acronym{IM, Instant Messaging}, and many other real-time and
+person-to-person communication services.")
+ (license license:lgpl2.1)))