aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2024-10-08 08:35:02 +0200
committerLudovic Courtès <ludo@gnu.org>2024-10-15 18:40:09 +0200
commitd268c964af758d83135f82489846210fe7bd8491 (patch)
tree43ccb94a9481c070287066c4b94aa5c6ceba20c2 /gnu/packages
parentd3a82bbad252dbc10edbc3bfaa09ae0135e745b7 (diff)
downloadguix-d268c964af758d83135f82489846210fe7bd8491.tar.gz
guix-d268c964af758d83135f82489846210fe7bd8491.zip
gnu: sipwitch: Fix build.
* gnu/packages/telephony.scm (sipwitch): Fix build. [origin]<patches>: Add sipwitch-fix-build-with-exosip5.patch here... * gnu/packages/patches: ...here and... * gnu/local.mk: ...here. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/sipwitch-fix-build-with-exosip5.patch77
-rw-r--r--gnu/packages/telephony.scm4
2 files changed, 80 insertions, 1 deletions
diff --git a/gnu/packages/patches/sipwitch-fix-build-with-exosip5.patch b/gnu/packages/patches/sipwitch-fix-build-with-exosip5.patch
new file mode 100644
index 0000000000..d18aa75f32
--- /dev/null
+++ b/gnu/packages/patches/sipwitch-fix-build-with-exosip5.patch
@@ -0,0 +1,77 @@
+From 59c0063443ce0de7f93c34b6c29dd3f12e678848 Mon Sep 17 00:00:00 2001
+From: Fredrick Brennan <copypaste@kittens.ph>
+Date: Fri, 3 Nov 2023 20:57:59 -0400
+Subject: [PATCH] Fix build with 5.x series of libexosip2
+
+---
+ common/voip.cpp | 5 +++--
+ utils/Makefile.am | 3 ++-
+ utils/sipquery.cpp | 6 +++++-
+ 3 files changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/common/voip.cpp b/common/voip.cpp
+index d3ee15b..d0f6ebd 100644
+--- a/common/voip.cpp
++++ b/common/voip.cpp
+@@ -138,9 +138,10 @@ bool voip::make_prack_message(context_t ctx, tid_t tid, msg_t *msg)
+ if(!msg)
+ return false;
+
++ msg_t onexxmsg = NULL;
+ *msg = NULL;
+ eXosip_lock(ctx);
+- eXosip_call_build_prack(ctx, tid, msg);
++ eXosip_call_build_prack(ctx, tid, onexxmsg, msg);
+ if(!*msg) {
+ eXosip_unlock(ctx);
+ return false;
+@@ -438,7 +439,7 @@ void voip::create(context_t *ctx, const char *agent, int f)
+
+ #ifdef AF_INET6
+ if(family == AF_INET6)
+- eXosip_enable_ipv6(1);
++ voip::option(*ctx, EXOSIP_OPT_ENABLE_IPV6, (void *)2);
+ #endif
+ }
+
+diff --git a/utils/Makefile.am b/utils/Makefile.am
+index dd2040f..ffe6d09 100644
+--- a/utils/Makefile.am
++++ b/utils/Makefile.am
+@@ -22,7 +22,8 @@ sipcontrol_SOURCES = sipcontrol.cpp
+ sipcontrol_LDADD = @LDFLAGS@ @SIPWITCH_LIBS@
+
+ sipquery_SOURCES = sipquery.cpp
+-sipquery_LDADD = @LDFLAGS@ @SIPWITCH_EXOSIP2@ @SIPWITCH_LIBS@
++sipquery_LDFLAGS = -L$(top_builddir)/common -lsipwitch
++sipquery_LDADD = @LDFLAGS@ @SIPWITCH_LIBS@ @SIPWITCH_EXOSIP2@
+
+ sippasswd_SOURCES = sippasswd.cpp
+ sippasswd_LDADD = @LDFLAGS@ @SIPWITCH_LIBS@
+diff --git a/utils/sipquery.cpp b/utils/sipquery.cpp
+index 5b83590..f99512d 100644
+--- a/utils/sipquery.cpp
++++ b/utils/sipquery.cpp
+@@ -50,6 +50,10 @@ static struct eXosip_t *context = NULL;
+
+ using namespace ucommon;
+
++#include "sipwitch/voip.h"
++
++using namespace sipwitch;
++
+ #if defined(_MSWINDOWS_) && defined(__GNUC__)
+ // binds addrinfo for mingw32 linkage since otherwise mingw32 cannot
+ // cannot link proper getaddrinfo/freeaddrinfo calls that eXosip uses.
+@@ -226,7 +230,7 @@ usage:
+
+ #ifdef AF_INET6
+ if(family == AF_INET6) {
+- eXosip_enable_ipv6(1);
++ sipwitch::voip::option(EXOSIP_CONTEXT, EXOSIP_OPT_ENABLE_IPV6, (void *)2);
+ if(binding == NULL)
+ binding = "::0";
+ }
+--
+2.42.0
+
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 714982c5b0..99a8486b7f 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -409,7 +409,9 @@ multiplayer games.")
(uri (string-append "mirror://gnu/sipwitch/sipwitch-"
version ".tar.gz"))
(sha256 (base32
- "10lli9c703d7qbarzc0lgmz963ppncvnrklwrnri0s1zcmmahyia"))))
+ "10lli9c703d7qbarzc0lgmz963ppncvnrklwrnri0s1zcmmahyia"))
+ (patches
+ (search-patches "sipwitch-fix-build-with-exosip5.patch"))))
(build-system gnu-build-system)
;; The configure.ac uses pkg-config but in a kludgy way which breaks when
;; cross-compiling. Among other issues there the program name "pkg-config"