package/freeswitch: security bump version to 1.11.1

https://github.com/signalwire/freeswitch/releases/tag/v1.11.1
https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Release-Notes/FreeSWITCH-1.11.x-Release-notes/

This bump depends on the bump of libks to 2.0.11:
4bc49f57b7

Removed patches which are included in this release.
Renumbered patch 0004.

The following mods were removed upstream:
mod_isac: 6286c51ff6
mod_yaml: 74c6433955
mod_portaudio: 49e63f6fff
mod_soundtouch: d912e9fb01

Renamed configure option to disable python support:
3a53566eab

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
This commit is contained in:
Bernd Kuhls
2026-05-29 15:27:46 +02:00
committed by Arnout Vandecappelle
parent 69dbd64802
commit e9785d96e5
10 changed files with 4 additions and 2296 deletions

View File

@@ -1,206 +0,0 @@
From ff2e8b475f25a995e085045fc25ba445fb32c57e Mon Sep 17 00:00:00 2001
From: Korynkai <matt@qmxtech.com>
Date: Mon, 30 Dec 2024 22:23:33 +0000
Subject: [PATCH] Fixes related to signalwire/freeswitch#2202
AVOutputFormat::priv_data_size is marked private and no longer exists in the
public API as of FFMPEG 6.0, but found hidden in AVOutputFormat as part of
FFOutputFormat. AVCodecContext::ticks_per_frame was deprecated as of FFMPEG
6.1. libavcodec notes 'do not use avcodec_close()' as of FFMPEG 3.1, use
avcodec_free_context() instead. AVFrame::key_frame was deprecated as of
FFMPEG 6.1, use AVFrame::flags instead. AVInputFormat::read_seek and
AVInputFormat::read_seek2 no longer exists as of FFMPEG 7.0. This seems to
only be used for logging purposes, so guard this functionality accordingly.
Upstream: https://github.com/signalwire/freeswitch/pull/2681.patch
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
src/mod/applications/mod_av/avcodec.c | 27 +++++++++++++++++++++-
src/mod/applications/mod_av/avformat.c | 31 +++++++++++++++++++++++---
2 files changed, 54 insertions(+), 4 deletions(-)
diff --git a/src/mod/applications/mod_av/avcodec.c b/src/mod/applications/mod_av/avcodec.c
index 0293b834467..be864a56744 100644
--- a/src/mod/applications/mod_av/avcodec.c
+++ b/src/mod/applications/mod_av/avcodec.c
@@ -1226,9 +1226,13 @@ static switch_status_t open_encoder(h264_codec_context_t *context, uint32_t widt
}
if (context->encoder_ctx) {
+#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(57,48,101))
if (avcodec_is_open(context->encoder_ctx)) {
avcodec_close(context->encoder_ctx);
}
+#else
+ avcodec_free_context(&(context->encoder_ctx));
+#endif
av_free(context->encoder_ctx);
context->encoder_ctx = NULL;
}
@@ -1319,9 +1323,13 @@ FF_ENABLE_DEPRECATION_WARNINGS
}
if (context->encoder_ctx) {
+#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(57,48,101))
if (avcodec_is_open(context->encoder_ctx)) {
avcodec_close(context->encoder_ctx);
}
+#else
+ avcodec_free_context(&(context->encoder_ctx));
+#endif
av_free(context->encoder_ctx);
context->encoder_ctx = NULL;
}
@@ -1557,7 +1565,11 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, switch_frame_t
}
avframe->pict_type = AV_PICTURE_TYPE_I;
+#if (LIBAVUTIL_VERSION_INT < AV_VERSION_INT(58,29,100))
avframe->key_frame = 1;
+#else
+ avframe->flags |= AV_FRAME_FLAG_KEY;
+#endif
context->last_keyframe_request = switch_time_now();
}
@@ -1600,9 +1612,14 @@ GCC_DIAG_ON(deprecated-declarations)
}
#endif
+#if (LIBAVUTIL_VERSION_INT < AV_VERSION_INT(58,29,100))
if (context->need_key_frame && avframe->key_frame == 1) {
- avframe->pict_type = 0;
avframe->key_frame = 0;
+#else
+ if (context->need_key_frame && avframe->flags & AV_FRAME_FLAG_KEY) {
+ avframe->flags ^= AV_FRAME_FLAG_KEY;
+#endif
+ avframe->pict_type = 0;
context->need_key_frame = 0;
}
@@ -1862,14 +1879,22 @@ static switch_status_t switch_h264_destroy(switch_codec_t *codec)
switch_buffer_destroy(&context->nalu_buffer);
if (context->decoder_ctx) {
+#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(57,48,101))
if (avcodec_is_open(context->decoder_ctx)) avcodec_close(context->decoder_ctx);
+#else
+ avcodec_free_context(&(context->decoder_ctx));
+#endif
av_free(context->decoder_ctx);
}
switch_img_free(&context->img);
if (context->encoder_ctx) {
+#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(57,48,101))
if (avcodec_is_open(context->encoder_ctx)) avcodec_close(context->encoder_ctx);
+#else
+ avcodec_free_context(&(context->encoder_ctx));
+#endif
av_free(context->encoder_ctx);
}
diff --git a/src/mod/applications/mod_av/avformat.c b/src/mod/applications/mod_av/avformat.c
index c1e00525300..6fcb51c2079 100644
--- a/src/mod/applications/mod_av/avformat.c
+++ b/src/mod/applications/mod_av/avformat.c
@@ -184,6 +184,16 @@ struct av_file_context {
typedef struct av_file_context av_file_context_t;
+#if (LIBAVFORMAT_VERSION_MAJOR >= 60)
+typedef struct FFOutputFormat {
+ int priv_data_size;
+} FFOutputFormat;
+
+static inline int priv_data_size(const AVOutputFormat *fmt)
+{
+ return ((const struct FFOutputFormat*)fmt)->priv_data_size;
+}
+#endif
/**
* Fill the provided buffer with a string containing a timestamp
@@ -455,8 +465,13 @@ static int mod_avformat_alloc_output_context2(AVFormatContext **avctx, const cha
}
s->oformat = oformat;
+#if (LIBAVFORMAT_VERSION_MAJOR < 60)
if (s->oformat->priv_data_size > 0) {
s->priv_data = av_mallocz(s->oformat->priv_data_size);
+#else
+ if (priv_data_size(s->oformat) > 0) {
+ s->priv_data = av_mallocz(priv_data_size(s->oformat));
+#endif
if (!s->priv_data) {
goto nomem;
}
@@ -621,7 +636,9 @@ static switch_status_t add_stream(av_file_context_t *context, MediaStream *mst,
c->rc_initial_buffer_occupancy = buffer_bytes * 8;
if (codec_id == AV_CODEC_ID_H264) {
+#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60,31,102))
c->ticks_per_frame = 2;
+#endif
c->flags|=AV_CODEC_FLAG_LOOP_FILTER; // flags=+loop
@@ -1410,8 +1427,10 @@ static switch_status_t open_input_file(av_file_context_t *context, switch_file_h
switch_goto_status(SWITCH_STATUS_FALSE, err);
}
+#if (LIBAVFORMAT_VERSION_MAJOR < 61)
handle->seekable = context->fc->iformat->read_seek2 ? 1 : (context->fc->iformat->read_seek ? 1 : 0);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "file %s is %sseekable\n", filename, handle->seekable ? "" : "not ");
+#endif
/** Get information on the input file (number of streams etc.). */
if ((error = avformat_find_stream_info(context->fc, opts ? &opts : NULL)) < 0) {
@@ -1502,7 +1521,11 @@ static switch_status_t open_input_file(av_file_context_t *context, switch_file_h
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not open input audio codec channel 2 (error '%s')\n", get_error_text(error, ebuf, sizeof(ebuf)));
if ((cc = av_get_codec_context(&context->audio_st[0]))) {
+#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(57,48,101))
avcodec_close(cc);
+#else
+ avcodec_free_context(&cc);
+#endif
}
context->has_audio = 0;
@@ -3084,14 +3107,11 @@ static switch_status_t av_file_read_video(switch_file_handle_t *handle, switch_f
void *pop;
MediaStream *mst = &context->video_st;
AVStream *st = mst->st;
- int ticks = 0;
int64_t max_delta = 1 * AV_TIME_BASE; // 1 second
switch_status_t status = SWITCH_STATUS_SUCCESS;
double fl_to = 0.02;
int do_fl = 0;
int smaller_ts = context->read_fps;
- AVCodecContext *c = NULL;
- AVCodecParserContext *cp = NULL;
if (!context->has_video) return SWITCH_STATUS_FALSE;
@@ -3199,6 +3219,10 @@ static switch_status_t av_file_read_video(switch_file_handle_t *handle, switch_f
}
#endif
+#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60,31,102))
+ int ticks = 0;
+ AVCodecContext *c = NULL;
+ AVCodecParserContext *cp = NULL;
if ((c = av_get_codec_context(mst)) && c->time_base.num) {
cp = av_stream_get_parser(st);
ticks = cp ? cp->repeat_pict + 1 : c->ticks_per_frame;
@@ -3210,6 +3234,7 @@ static switch_status_t av_file_read_video(switch_file_handle_t *handle, switch_f
context->video_start_time, ticks, c ? c->ticks_per_frame : -1, st->time_base.num, st->time_base.den, c ? c->time_base.num : -1, c ? c->time_base.den : -1,
st->start_time, st->duration == AV_NOPTS_VALUE ? context->fc->duration / AV_TIME_BASE * 1000 : st->duration, st->nb_frames, av_q2d(st->time_base));
}
+#endif
again:

View File

@@ -1,35 +0,0 @@
From 475b64d1c5707e1302cf9f7cfe3c385b7339c6c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=94=D0=B8=D0=BB=D1=8F=D0=BD=20=D0=9F=D0=B0=D0=BB=D0=B0?=
=?UTF-8?q?=D1=83=D0=B7=D0=BE=D0=B2?= <git-dpa@aegee.org>
Date: Sat, 22 Jun 2024 14:58:52 +0200
Subject: [PATCH] xml_int/mod_xml_rpc: const compiler errors
Upstream: https://github.com/signalwire/freeswitch/pull/2496
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c b/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
index 8e49462d2c2..0a4e5e1e449 100644
--- a/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
+++ b/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
@@ -321,7 +321,7 @@ static abyss_bool user_attributes(const char *user, const char *domain_name,
static abyss_bool is_authorized(const TSession * r, const char *command)
{
char *user = NULL, *domain_name = NULL;
- char *allowed_commands = NULL;
+ const char *allowed_commands = NULL;
char *dp;
char *dup = NULL;
char *argv[256] = { 0 };
@@ -922,7 +922,7 @@ abyss_bool handler_hook(TSession * r)
if (len > 0) {
int succeeded = TRUE;
char *qp = qbuf;
- char *readError;
+ const char *readError;
do {
int blen = r->connP->buffersize - r->connP->bufferpos;

View File

@@ -1,150 +0,0 @@
From 76458fafc5a9cd0eebe94455ed39f41eac986c67 Mon Sep 17 00:00:00 2001
From: Patrice Fournier <patrice.fournier@t38fax.com>
Date: Tue, 4 Feb 2025 15:54:26 -0500
Subject: [PATCH] [mod_spandsp] Fix compilation against >=2023/06/02 spandsp
* [mod_spandsp] Fix compilation against >=2023/06/02 spandsp
spandsp, beginning with commit d9681c37 and coinciding with the
SPANDSP_RELEASE_DATE of 20230620, introduced the following changes to
its V.18 protocol API, which FreeSWITCH is not able to compile against:
- Certain V.18 constants were renamed.
- The v18_init function now requires passing a third function, handling
the V.18 modem's status changes.
This patch allows FreeSWITCH to build against current versions of
spandsp by:
- Using the new V.18 constant names.
- Implementing a simple status reporter callback function and passing it
as the third function to v18_init.
Additionally, it retains backward compatibility with prior versions of
spandp through #if conditions checking the value of
SPANDSP_RELEASE_DATE.
Signed-off-by: Patrice Fournier <patrice.fournier@t38fax.com>
* [mod_spandsp] Pass session to handle_v18_status.
---------
Signed-off-by: Patrice Fournier <patrice.fournier@t38fax.com>
Co-authored-by: Morgan Scarafiotti <morgan.scarafiotti@t38fax.com>
Co-authored-by: Andrey Volk <andywolk@gmail.com>
Upstream: https://github.com/signalwire/freeswitch/commit/76458fafc5a9cd0eebe94455ed39f41eac986c67
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../applications/mod_spandsp/mod_spandsp.c | 1 -
.../applications/mod_spandsp/mod_spandsp.h | 6 ++++
.../mod_spandsp/mod_spandsp_dsp.c | 32 ++++++++++++++++---
3 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/src/mod/applications/mod_spandsp/mod_spandsp.c b/src/mod/applications/mod_spandsp/mod_spandsp.c
index 3f69b9746a..50d03f93a3 100644
--- a/src/mod/applications/mod_spandsp/mod_spandsp.c
+++ b/src/mod/applications/mod_spandsp/mod_spandsp.c
@@ -37,7 +37,6 @@
#include "mod_spandsp.h"
-#include <spandsp/version.h>
#include "mod_spandsp_modem.h"
/* **************************************************************************
diff --git a/src/mod/applications/mod_spandsp/mod_spandsp.h b/src/mod/applications/mod_spandsp/mod_spandsp.h
index 01f79e254d..6a936eee18 100644
--- a/src/mod/applications/mod_spandsp/mod_spandsp.h
+++ b/src/mod/applications/mod_spandsp/mod_spandsp.h
@@ -58,6 +58,12 @@ typedef int zap_socket_t;
#define SPANDSP_EVENT_TXFAXNEGOCIATERESULT "spandsp::txfaxnegociateresult"
#define SPANDSP_EVENT_RXFAXNEGOCIATERESULT "spandsp::rxfaxnegociateresult"
+#include <spandsp/version.h>
+
+#if SPANDSP_RELEASE_DATE < 20230620
+#define V18_MODE_WEITBRECHT_5BIT_4545 V18_MODE_5BIT_4545
+#define V18_MODE_WEITBRECHT_5BIT_50 V18_MODE_5BIT_50
+#endif
/* The global stuff */
diff --git a/src/mod/applications/mod_spandsp/mod_spandsp_dsp.c b/src/mod/applications/mod_spandsp/mod_spandsp_dsp.c
index 836808a48d..51ac2a0e63 100644
--- a/src/mod/applications/mod_spandsp/mod_spandsp_dsp.c
+++ b/src/mod/applications/mod_spandsp/mod_spandsp_dsp.c
@@ -152,17 +152,27 @@ static void put_text_msg(void *user_data, const uint8_t *msg, int len)
}
+#if SPANDSP_RELEASE_DATE >= 20230620
+static void handle_v18_status(void *user_data, int status)
+{
+ switch_core_session_t *session = (switch_core_session_t *) user_data;
+ switch_channel_t *channel = switch_core_session_get_channel(session);
+
+ switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "%s detected V.18 modem: %s\n", switch_channel_get_name(channel), v18_status_to_str(status));
+}
+#endif
+
static int get_v18_mode(switch_core_session_t *session)
{
switch_channel_t *channel = switch_core_session_get_channel(session);
const char *var;
- int r = V18_MODE_5BIT_4545;
+ int r = V18_MODE_WEITBRECHT_5BIT_4545;
if ((var = switch_channel_get_variable(channel, "v18_mode"))) {
if (!strcasecmp(var, "5BIT_45") || !strcasecmp(var, "baudot")) {
- r = V18_MODE_5BIT_4545;
+ r = V18_MODE_WEITBRECHT_5BIT_4545;
} else if (!strcasecmp(var, "5BIT_50")) {
- r = V18_MODE_5BIT_50;
+ r = V18_MODE_WEITBRECHT_5BIT_50;
} else if (!strcasecmp(var, "DTMF")) {
r = V18_MODE_DTMF;
} else if (!strcasecmp(var, "EDT")) {
@@ -213,8 +223,11 @@ switch_status_t spandsp_tdd_send_session(switch_core_session_t *session, const c
return SWITCH_STATUS_FALSE;
}
+#if SPANDSP_RELEASE_DATE >= 20230620
+ tdd_state = v18_init(NULL, TRUE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, NULL, handle_v18_status, session);
+#else
tdd_state = v18_init(NULL, TRUE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, NULL);
-
+#endif
v18_put(tdd_state, text, -1);
@@ -260,7 +273,13 @@ switch_status_t spandsp_tdd_encode_session(switch_core_session_t *session, const
}
pvt->session = session;
+
+#if SPANDSP_RELEASE_DATE >= 20230620
+ pvt->tdd_state = v18_init(NULL, TRUE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, NULL, handle_v18_status, session);
+#else
pvt->tdd_state = v18_init(NULL, TRUE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, NULL);
+#endif
+
pvt->head_lead = TDD_LEAD;
v18_put(pvt->tdd_state, text, -1);
@@ -338,7 +357,12 @@ switch_status_t spandsp_tdd_decode_session(switch_core_session_t *session)
}
pvt->session = session;
+
+#if SPANDSP_RELEASE_DATE >= 20230620
+ pvt->tdd_state = v18_init(NULL, FALSE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, pvt, handle_v18_status, session);
+#else
pvt->tdd_state = v18_init(NULL, FALSE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, pvt);
+#endif
if ((status = switch_core_media_bug_add(session, "spandsp_tdd_decode", NULL,
tdd_decode_callback, pvt, 0, SMBF_READ_REPLACE | SMBF_NO_PAUSE, &bug)) != SWITCH_STATUS_SUCCESS) {
--
2.47.3

View File

@@ -1,34 +0,0 @@
From 12b47fe7f91b93ba9cec90676e62c6239a097c98 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Fri, 3 Nov 2023 17:27:06 +0100
Subject: [PATCH] [mod_verto] Fix memory leak by correctly freeing regex
For mod_verto regex was never freed and was actually leaking memory.
Correctly free the compiled regex to fix the memory leak.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Upstream: https://github.com/signalwire/freeswitch/commit/12b47fe7f91b93ba9cec90676e62c6239a097c98
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
src/mod/endpoints/mod_verto/mod_verto.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/mod/endpoints/mod_verto/mod_verto.c b/src/mod/endpoints/mod_verto/mod_verto.c
index 48c40527b56..36aba6db5e2 100644
--- a/src/mod/endpoints/mod_verto/mod_verto.c
+++ b/src/mod/endpoints/mod_verto/mod_verto.c
@@ -1893,10 +1893,12 @@ static void http_run(jsock_t *jsock)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG,
"%d request [%s] matched expr [%s]\n", proceed, request->uri, expression);
request->uri = rule->value;
+ switch_regex_safe_free(re);
break;
}
rule = rule->next;
+ switch_regex_safe_free(re);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,27 +0,0 @@
From 02549c10d9155d0f71f36289aeeddc9c73a4d46e Mon Sep 17 00:00:00 2001
From: Andrey Volk <andywolk@gmail.com>
Date: Thu, 13 Nov 2025 17:42:04 +0300
Subject: [PATCH] [mod_dialplan_xml] Fix double free after upgrade to pcre2.
(#2946)
Upstream: https://github.com/signalwire/freeswitch/commit/02549c10d9155d0f71f36289aeeddc9c73a4d46e
[backported only second part of upstream commit, the first part is
already included in patch 0006]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c b/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
index 3d3fdfd8a93..cab522887c4 100644
--- a/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
+++ b/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
@@ -357,6 +357,7 @@ static int parse_exten(switch_core_session_t *session, switch_caller_profile_t *
save_proceed = proceed;
re = NULL;
+ match_data = NULL;
}
switch_regex_and_match_data_safe_free(re, match_data);

View File

@@ -1,5 +1,5 @@
# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.12.-release.tar.xz.sha256
sha256 e324e4ae063e692c42b93031157329bae339ea007e611d3535333deaed85aa47 freeswitch-1.10.12.-release.tar.xz
# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.11.1.-release.tar.xz.sha256
sha256 ed4e6ecc6a6ee0bcbc068f33cf3e5d1b83d7ad26c3a98feaebb1b2ab22d5adf4 freeswitch-1.11.1.-release.tar.xz
# Locally computed
sha256 75c933202f40939cdc3827fce20a1efdaa38291e2b5a65d234eb16e2cffda66a COPYING
sha256 c3e3388768dae8bf4edcc4108f95be815b8a05c0b0aef6e4c3d8df81affdfa34 docs/OPENH264_BINARY_LICENSE.txt
@@ -7,4 +7,3 @@ sha256 e8e26b16da14aa3e6ed5c22c705fdc1f45d6225fca461ea9f7314bcdfdc414c4 libs/a
sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 libs/libvpx/LICENSE
sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f libs/libyuv/LICENSE
sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae libs/srtp/LICENSE
sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/mod/codecs/mod_isac/LICENSE

View File

@@ -4,7 +4,7 @@
#
################################################################################
FREESWITCH_VERSION = 1.10.12
FREESWITCH_VERSION = 1.11.1
FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).-release.tar.xz
FREESWITCH_SITE = https://files.freeswitch.org/freeswitch-releases
# External modules need headers/libs from staging
@@ -19,9 +19,6 @@ FREESWITCH_LICENSE_FILES = \
libs/apr/LICENSE \
libs/srtp/LICENSE
# 0006-Move-project-to-PCRE2.patch
FREESWITCH_AUTORECONF = YES
FREESWITCH_CPE_ID_VENDOR = freeswitch
# required dependencies
@@ -81,7 +78,7 @@ FREESWITCH_CONF_ENV += \
FREESWITCH_CONF_OPTS = \
--without-erlang \
--enable-fhs \
--without-python \
--without-python3 \
--disable-system-xmlrpc-c
# Enable optional modules
@@ -156,14 +153,6 @@ define FREESWITCH_ENABLE_MODULES
endef
FREESWITCH_PRE_CONFIGURE_HOOKS += FREESWITCH_ENABLE_MODULES
# mod_isac supports a limited set of archs
# src/mod/codecs/mod_isac/typedefs.h
ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_x86_64),y)
FREESWITCH_LICENSE += , BSD-3-Clause (mod_isac)
FREESWITCH_LICENSE_FILES += src/mod/codecs/mod_isac/LICENSE
FREESWITCH_ENABLED_MODULES += codecs/mod_isac
endif
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
FREESWITCH_DEPENDENCIES += alsa-lib
FREESWITCH_ENABLED_MODULES += endpoints/mod_alsa
@@ -231,11 +220,6 @@ ifeq ($(BR2_PACKAGE_LIBXCRYPT),y)
FREESWITCH_DEPENDENCIES += libxcrypt
endif
ifeq ($(BR2_PACKAGE_LIBYAML),y)
FREESWITCH_DEPENDENCIES += libyaml
FREESWITCH_ENABLED_MODULES += languages/mod_yaml
endif
ifeq ($(BR2_PACKAGE_LUA),y)
FREESWITCH_DEPENDENCIES += lua
FREESWITCH_ENABLED_MODULES += languages/mod_lua
@@ -251,11 +235,6 @@ FREESWITCH_DEPENDENCIES += opus
FREESWITCH_ENABLED_MODULES += codecs/mod_opus
endif
ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
FREESWITCH_DEPENDENCIES += portaudio
FREESWITCH_ENABLED_MODULES += endpoints/mod_portaudio
endif
ifeq ($(BR2_PACKAGE_LAME)$(BR2_PACKAGE_LIBSHOUT)$(BR2_PACKAGE_MPG123),yyy)
FREESWITCH_DEPENDENCIES += lame libshout mpg123
FREESWITCH_ENABLED_MODULES += formats/mod_shout
@@ -271,11 +250,6 @@ FREESWITCH_DEPENDENCIES += libsndfile
FREESWITCH_ENABLED_MODULES += formats/mod_sndfile
endif
ifeq ($(BR2_PACKAGE_LIBSOUNDTOUCH),y)
FREESWITCH_DEPENDENCIES += libsoundtouch
FREESWITCH_ENABLED_MODULES += applications/mod_soundtouch
endif
ifeq ($(BR2_PACKAGE_FREESWITCH_OPENCV4),y)
FREESWITCH_DEPENDENCIES += opencv4
FREESWITCH_ENABLED_MODULES += applications/mod_cv