summaryrefslogtreecommitdiff
path: root/net/freeswitch/patches
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2021-07-08 17:19:05 -0700
committerRosen Penev <rosenp@gmail.com>2021-08-04 01:45:54 -0700
commit213538cdc8a94390b27e16e8dd64d12e937cdab1 (patch)
tree32abde7c97a391c56e49505ce098a1e3548dec34 /net/freeswitch/patches
parent3891a2ed06810482b8cb9cd31c9a781ceb23408e (diff)
freeswitch: fix compilation with GCC11
GCC 11 is more strict with declarations. Also backport patch fixing mod_gsmopen compilation. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Diffstat (limited to 'net/freeswitch/patches')
-rw-r--r--net/freeswitch/patches/040-gcc11.patch31
-rw-r--r--net/freeswitch/patches/050-c++.patch35
2 files changed, 66 insertions, 0 deletions
diff --git a/net/freeswitch/patches/040-gcc11.patch b/net/freeswitch/patches/040-gcc11.patch
new file mode 100644
index 0000000..d7e9a2f
--- /dev/null
+++ b/net/freeswitch/patches/040-gcc11.patch
@@ -0,0 +1,31 @@
+--- a/src/include/switch_core_media.h
++++ b/src/include/switch_core_media.h
+@@ -197,7 +197,7 @@ SWITCH_DECLARE(switch_status_t) switch_c
+ SWITCH_DECLARE(void) switch_media_handle_set_media_flag(switch_media_handle_t *smh, switch_core_media_flag_t flag);
+ SWITCH_DECLARE(void) switch_media_handle_clear_media_flag(switch_media_handle_t *smh, switch_core_media_flag_t flag);
+ SWITCH_DECLARE(int32_t) switch_media_handle_test_media_flag(switch_media_handle_t *smh, switch_core_media_flag_t flag);
+-SWITCH_DECLARE(void) switch_media_handle_set_media_flags(switch_media_handle_t *smh, switch_core_media_flag_t flags[]);
++SWITCH_DECLARE(void) switch_media_handle_set_media_flags(switch_media_handle_t *smh, switch_core_media_flag_t flags[SCMF_MAX]);
+ SWITCH_DECLARE(void) switch_core_session_check_outgoing_crypto(switch_core_session_t *session);
+ SWITCH_DECLARE(const char *) switch_core_session_local_crypto_key(switch_core_session_t *session, switch_media_type_t type);
+ SWITCH_DECLARE(int) switch_core_session_check_incoming_crypto(switch_core_session_t *session,
+--- a/src/include/switch_rtp.h
++++ b/src/include/switch_rtp.h
+@@ -234,7 +234,7 @@ SWITCH_DECLARE(switch_status_t) switch_r
+ switch_payload_t payload,
+ uint32_t samples_per_interval,
+ uint32_t ms_per_packet,
+- switch_rtp_flag_t flags[], char *timer_name, const char **err, switch_memory_pool_t *pool);
++ switch_rtp_flag_t flags[SWITCH_RTP_FLAG_INVALID], char *timer_name, const char **err, switch_memory_pool_t *pool);
+
+
+ /*!
+@@ -260,7 +260,7 @@ SWITCH_DECLARE(switch_rtp_t *) switch_rt
+ switch_payload_t payload,
+ uint32_t samples_per_interval,
+ uint32_t ms_per_packet,
+- switch_rtp_flag_t flags[], char *timer_name, const char **err, switch_memory_pool_t *pool, switch_port_t bundle_internal_ports, switch_port_t bundle_external_port);
++ switch_rtp_flag_t flags[SWITCH_RTP_FLAG_INVALID], char *timer_name, const char **err, switch_memory_pool_t *pool, switch_port_t bundle_internal_ports, switch_port_t bundle_external_port);
+
+
+ /*!
diff --git a/net/freeswitch/patches/050-c++.patch b/net/freeswitch/patches/050-c++.patch
new file mode 100644
index 0000000..e8dbb62
--- /dev/null
+++ b/net/freeswitch/patches/050-c++.patch
@@ -0,0 +1,35 @@
+From 8cf93d9c15b7138c69ffbaba2681b32bc18cf5b2 Mon Sep 17 00:00:00 2001
+From: Sebastian Kemper <sebastian_ml@gmx.net>
+Date: Sun, 1 Aug 2021 11:32:50 +0200
+Subject: [PATCH] [mod_gsmopen]: Address gsmlib gcc-11 compat issue
+
+With gcc-11 mod_gsmopen fails to compile:
+
+In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/gsmlib/gsm_sms.h:18,
+ from gsmopen_protocol.cpp:44:
+/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/gsmlib/gsm_error.h:84:58: error: ISO C++17 does not allow dynamic exception specifications
+ 84 | extern std::string getMEErrorText(const int errorCode) throw(GsmException);
+ | ^~~~~
+/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/gsmlib/gsm_error.h:165:59: error: ISO C++17 does not allow dynamic exception specifications
+ 165 | extern std::string getSMSErrorText(const int errorCode) throw(GsmException);
+ | ^~~~~
+
+gsmlib has seen no upstream activity in years, so as a workaround this
+commit adds "--std=c++11" to mod_gsmopen's CXXFLAGS.
+
+Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
+---
+ src/mod/endpoints/mod_gsmopen/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/mod/endpoints/mod_gsmopen/Makefile.am
++++ b/src/mod/endpoints/mod_gsmopen/Makefile.am
+@@ -3,7 +3,7 @@ MODNAME=mod_gsmopen
+
+ mod_LTLIBRARIES = mod_gsmopen.la
+ mod_gsmopen_la_SOURCES = mod_gsmopen.cpp gsmopen_protocol.cpp
+-mod_gsmopen_la_CXXFLAGS = $(SWITCH_AM_CXXFLAGS)
++mod_gsmopen_la_CXXFLAGS = $(SWITCH_AM_CXXFLAGS) --std=c++11
+ mod_gsmopen_la_CPPFLAGS = $(SPANDSP_CFLAGS) -I.
+ mod_gsmopen_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LIBS)
+ mod_gsmopen_la_LDFLAGS = -avoid-version -module -no-undefined -lctb-0.16 -lgsmme