summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD170
1 files changed, 150 insertions, 20 deletions
diff --git a/PKGBUILD b/PKGBUILD
index c1eb61a0c34e..56880df141e3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,8 @@
-# Maintainer: Brent Saner <r00t (at) square-r00t (dot) net>
+# Maintainer: Matt Schultz <matt@qmxtech.com>
+# Contributor: Brent Saner <r00t (at) square-r00t (dot) net>
# Bug reports can be filed at https://bugs.square-r00t.net/index.php?project=3
# News updates for packages can be followed at https://devblog.square-r00t.net
-validpgpkeys=('748231EBCBD808A14F5E85D28C004C2F93481F6B')
+validpgpkeys=('071C6FAFDA426F1F3984C488E56023217FBB112D')
# This builds the FreeSWITCH open source telephone engine
# from the freeswitch git. It enables the following modules
@@ -38,7 +39,113 @@ _enabled_modules=(xml_int/mod_xml_curl
xml_int/mod_xml_cdr
formats/mod_shout
applications/mod_callcenter
- languages/mod_lua)
+ applications/mod_abstraction
+ applications/mod_amvd
+ applications/mod_bert
+ applications/mod_blacklist
+ applications/mod_cidlookup
+ applications/mod_curl
+ #applications/mod_cv # requires aur/opencv2
+ applications/mod_directory
+ applications/mod_distributor
+ applications/mod_dptools
+ applications/mod_easyroute
+ applications/mod_esl
+ applications/mod_fsk
+ #applications/mod_hiredis # requires community/hiredis
+ applications/mod_http_cache
+ #applications/mod_ladspa # requires extra/ladspa
+ applications/mod_lcr
+ #applications/mod_memcache # requires community/libmemcached-awesome
+ #applications/mod_mongo # requires community/mongo-c-driver
+ #applications/mod_mp4 # requires extra/libmp4v2
+ #applications/mod_mp4v2 # requires extra/libmp4v2
+ applications/mod_nibblebill
+ applications/mod_oreka
+ #applications/mod_osp # requires OSP Toolkit from TransNexus http://www.transnexus.com/index.php/osp-toolkit
+ applications/mod_prefix
+ #applications/mod_rad_auth # requires core/libnsl
+ applications/mod_redis
+ applications/mod_rss
+ #applications/mod_signalwire # requires signalwire C library https://github.com/signalwire/signalwire-c
+ #applications/mod_sms_flowroute # requires aur/h2o and flowroute account, see https://blog.flowroute.com/2016/07/28/flowroute-sms-in-freeswitch/
+ applications/mod_snapshot
+ #applications/mod_snom # Useful for controlling the functionality and appearance of the programmable softkeys on a Snom phone. Unnecessary otherwise.
+ applications/mod_sonar
+ #applications/mod_soundtouch # requires extra/soundtouch
+ applications/mod_spy
+ applications/mod_stress
+ applications/mod_translate
+ applications/mod_video_filter
+ applications/mod_voicemail_ivr
+ #asr_tts/mod_cepstral # requires cepstral https://www.cepstral.com/; do not enable mod_cepstral and mod_flite together.
+ #asr_tts/mod_flite # requires community/flite; may need to be custom built
+ #asr_tts/mod_pocketsphinx # requires extra/libpulse, extra/libsamplerate
+ asr_tts/mod_tts_commandline
+ asr_tts/mod_unimrcp
+ #codecs/mod_amrwb # requires aur/vo-amrwbenc
+ #codecs/mod_bv # requires BroadVoice: https://docs.broadcom.com/docs/12358448 and https://docs.broadcom.com/docs/12358447
+ codecs/mod_clearmode
+ #codecs/mod_codec2 # requires community/codec2
+ #codecs/mod_com_g729 # do not enable mod_com_g729 and mod_g729 together.
+ codecs/mod_g729
+ codecs/mod_dahdi_codec
+ #codecs/mod_ilbc # requires signalwire's fork of libilbc: https://github.com/signalwire/libilbc
+ codecs/mod_isac
+ codecs/mod_mp4v
+ #codecs/mod_sangoma_codec # requires Sangoma transcoding cards
+ #codecs/mod_silk # requires libsilk: https://freeswitch.org/stash/projects/SD/repos/libsilk/browse
+ #codecs/mod_siren # requires libg7221: https://github.com/juha-h/libg7221
+ codecs/mod_theora
+ #dialplans/mod_dialplan_asterisk # use asterisk dialplan formatting instead of the default
+ dialplans/mod_dialplan_directory
+ #directories/mod_ldap # requires core/libldap
+ endpoints/mod_alsa
+ endpoints/mod_dingaling
+ #endpoints/mod_gsmopen # requires an unlocked GSM dongle; see https://freeswitch.org/confluence/display/FREESWITCH/mod_gsmopen
+ #endpoints/mod_khomp # endpoint module for khomp boards.
+ #endpoints/mod_opal # requires aur/opal
+ #endpoints/mod_portaudio # requires extra/portaudio
+ endpoints/mod_rtc
+ endpoints/mod_rtmp
+ #endpoints/mod_verto # requires libks https://github.com/signalwire/libks
+ #event_handlers/mod_amqp # requires community/librabbitmq-c
+ event_handlers/mod_cdr_mongodb
+ event_handlers/mod_cdr_pg_csv
+ #event_handlers/mod_erlang_event # requires community/erlang
+ event_handlers/mod_event_multicast
+ event_handlers/mod_fail2ban
+ event_handlers/mod_format_cdr
+ event_handlers/mod_json_cdr
+ #event_handlers/mod_radius_cdr # requires core/libnsl
+ event_handlers/mod_odbc_cdr
+ event_handlers/mod_rayo
+ #event_handlers/mod_smpp # requires aur/libsmpp34-git
+ #event_handlers/mod_snmp # requires extra/net-snmp
+ event_handlers/mod_event_zmq
+ #formats/mod_imagick # requires extra/imagemagick
+ #formats/mod_portaudio_stream # requires extra/portaudio
+ formats/mod_shell_stream
+ formats/mod_ssml
+ #formats/mod_vlc # requires extra/vlc
+ #formats/mod_opusfile # requires community/libopusenc, community/opusfile
+ languages/mod_basic
+ #languages/mod_java # requires a Java Development Kit at build-time, a Java Runtime Environment at runtime
+ languages/mod_lua
+ #languages/mod_perl # requires core/perl
+ languages/mod_python3
+ #languages/mod_v8 # requires aur/v8-6.8
+ #languages/mod_yaml # requires extra/libyaml
+ loggers/mod_graylog2
+ loggers/mod_raven
+ say/mod_say_de
+ say/mod_say_es
+ say/mod_say_en
+ timers/mod_posix_timer
+ timers/mod_timerfd
+ #xml_int/mod_xml_ldap # requires core/libldap
+ #xml_int/mod_xml_radius # requires core/libnsl
+)
# DISABLED MODULES
# Remove from _disabled_modules if you want to build these
@@ -48,14 +155,17 @@ _enabled_modules=(xml_int/mod_xml_curl
# say/mod_say_ru - Russian phrases
# dialplans/mod_dialplan_asterisk - Legacy dialplan
# applications/mod_signalwire - https://freeswitch.org/confluence/display/FREESWITCH/mod_signalwire (requires libks which isn't even packaged)
+# endpoints/mod_verto - also requires libks
_disabled_modules=(languages/mod_spidermonkey
say/mod_say_ru
- dialplans/mod_dialplan_asterisk
- applications/mod_signalwire)
+# dialplans/mod_dialplan_asterisk
+ applications/mod_signalwire
+ endpoints/mod_verto
+)
# BUILD CONFIGURATION ENDS #
pkgname=freeswitch
-pkgver=1.8.7
+pkgver=1.10.9
pkgrel=1
pkgdesc="An opensource and free (libre, price) telephony system, similar to Asterisk."
arch=('i686' 'x86_64')
@@ -71,21 +181,26 @@ depends=('curl'
'libjpeg-turbo'
'postgresql-libs'
'libshout'
+ 'libtiff'
'lua'
+ 'ffmpeg4.4'
'openssl'
'opus'
- 'freetype2')
+ 'pcre'
+ 'freetype2'
+ 'spandsp-fs'
+ 'sofia-sip')
# per https://wiki.freeswitch.org/wiki/FreeSwitch_Dependencies, dependencies are downloaded and built *from upstream*, so thankfully the deps are pretty minimal.
makedepends=('git'
'libjpeg'
'ldns'
'libedit'
'curl'
- 'python2'
+ 'python'
'unixodbc'
'sed'
'make'
- 'libyuv-git'
+ 'libyuv'
'yasm'
'mpg123'
'lame'
@@ -102,7 +217,7 @@ install=freeswitch.install
backup=('etc/freeswitch/private/passwords.xml'
'etc/freeswitch/vars.xml')
#source=("git+https://stash.freeswitch.org/scm/fs/freeswitch.git#tag=v${pkgver}"
-source=("git+https://freeswitch.org/stash/scm/fs/freeswitch.git/#tag=v${pkgver}"
+source=("https://github.com/signalwire/${pkgname}/archive/v${pkgver}.tar.gz"
'freeswitch.conf.d'
'README.freeswitch'
'run.freeswitch'
@@ -110,13 +225,19 @@ source=("git+https://freeswitch.org/stash/scm/fs/freeswitch.git/#tag=v${pkgver}"
'conf_log.freeswitch'
'freeswitch.service'
'freeswitch-arch.patch' # required for 1.6.17
+ 'python-3.11.patch'
+ 'fix-zmq-url.patch'
+ 'spandsp-fix.patch'
'freeswitch.conf.d.sig'
'README.freeswitch.sig'
'run.freeswitch.sig'
'run_log.freeswitch.sig'
'conf_log.freeswitch.sig'
'freeswitch.service.sig'
- 'freeswitch-arch.patch.sig') # required for 1.6.17
+ 'freeswitch-arch.patch.sig'
+ 'python-3.11.patch.sig'
+ 'fix-zmq-url.patch.sig'
+ 'spandsp-fix.patch.sig')
_pkgname="freeswitch"
sha512sums=('SKIP'
'a9c0f8397e9375b26f8c3950c07fff9ce2c60684bd99cfb371cd19cce2bfb2f042a5380a38751bcd212096611d38731a2613a93d037b53f0c1cf356180b98912'
@@ -126,6 +247,12 @@ sha512sums=('SKIP'
'a4fd539de109de3475abfeb2bd8a95670af3f5af83bd6f6b229df19e81da3f121c28a62cff282f9dc152908ebe0f24f76743e00c72fa04dc1fd465a00dc6f976'
'0d71a056de156f5840effabf6fb37a20e64ae011ecd48bf049886d4c073fe251cd6adeb0380784622b570948e1ca30ce7c92a2cade230a7177c97ed697e6f1cb'
'4d4f5237297b298010b8a0b264435cc2c04742ca313272e7558f164b19aef97afaace5cf005eeffcfa6be096daedace67931cc209bccdabd2f3d01a42b643036'
+ '07560ded0f537e256748ed243e06c2072e93679d3e601423a77fbf3b885caeae0f354455b532903f399c7c949841775a49c648fa5189cb19566dc6f7e83e5629'
+ 'cf55641654538af737246f9c838b98c081cf4b00e5713b821b86e0fc02df7b6605ea26fed9b5e9d3740a7766ac33d6effec324d3cc9ed6a7d6faeb9ba744f35f'
+ '7d249589dfaa081f29e8127f3e66beaeb696c15e35ab6d1aecf5ccc497d3b9993336455b612875ae62b04fd1a7ab12ad2d3b65460e5920dfd3adc71ff8b012c0'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
'SKIP'
'SKIP'
'SKIP'
@@ -148,7 +275,11 @@ disable_module() {
}
prepare() {
- cd ${srcdir}/${_pkgname}
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ patch -Np1 -i ../python-3.11.patch
+ patch -Np1 -i ../spandsp-fix.patch
+ patch -Np1 -i ../fix-zmq-url.patch
# BUILD BEGINS
msg "Bootstrapping..."
@@ -172,12 +303,11 @@ prepare() {
# CONFIGURE
# We need to override some things for the ./configure for 1.6.17
#./configure \
- export CFLAGS="${CFLAGS} -Wno-error -D__alloca=alloca"
+ export CFLAGS="${CFLAGS} -Wno-error -D__alloca=alloca -I/usr/include/python3.11" # -I/usr/include/ffmpeg4.4"
export CXXFLAGS="${CFLAGS}"
- #PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig \
+ PKG_CONFIG_PATH="/usr/lib/ffmpeg4.4/pkgconfig" \
./configure \
--prefix=/var/lib/freeswitch \
- --with-python=/usr/bin/python2 \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--localstatedir=/var \
@@ -200,7 +330,7 @@ prepare() {
}
build() {
- cd ${srcdir}/${_pkgname}
+ cd ${srcdir}/${_pkgname}-${pkgver}
# COMPILE
# https://freeswitch.org/jira/browse/FS-11345
@@ -233,7 +363,7 @@ disable_mod_xml() {
}
package() {
- cd "${srcdir}/${_pkgname}"
+ cd "${srcdir}/${_pkgname}-${pkgver}"
make DESTDIR="${pkgdir}/" install
make DESTDIR="${pkgdir}/" ${_sounds}moh-install
make DESTDIR="${pkgdir}/" ${_sounds}sounds-install
@@ -252,11 +382,11 @@ package() {
install -D -m 0644 ${srcdir}/freeswitch.service usr/lib/systemd/system/freeswitch.service
install -D -m 0644 "${srcdir}/freeswitch.conf.d" etc/conf.d/freeswitch
install -D -m 0644 "${srcdir}/README.freeswitch" usr/share/doc/freeswitch/README
- cp -a "${srcdir}/${_pkgname}/docs" usr/share/doc/freeswitch
+ cp -a "${srcdir}/${_pkgname}-${pkgver}/docs" usr/share/doc/freeswitch
install -D -m 0755 -d usr/share/doc/freeswitch/support-d
- cp -a "${srcdir}/${_pkgname}/support-d" usr/share/doc/freeswitch/
+ cp -a "${srcdir}/${_pkgname}-${pkgver}/support-d" usr/share/doc/freeswitch/
install -D -m 0755 -d usr/share/freeswitch/scripts
- cp -a "${srcdir}/${_pkgname}/scripts" usr/share/freeswitch/.
+ cp -a "${srcdir}/${_pkgname}-${pkgver}/scripts" usr/share/freeswitch/.
# Copy upstream confs
install -D -m 0755 -d usr/share/doc/freeswitch/examples/conf.default
install -D -m 0755 -d usr/share/doc/freeswitch/examples/conf.archlinux