diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2023-10-31 20:34:49 +0100 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-11-02 18:59:13 +0100 |
commit | 037e30cf13ae0f42de5125357ef189a816e60643 (patch) | |
tree | 0e8ab80a32e453da6687c239a90b251fbda0a340 /gnu/packages/telephony.scm | |
parent | a94ec292d21a2171db741ef748ed4c8b3ef65ada (diff) | |
download | 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.scm | 80 |
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))) |