# - pwlib+openh323
# - vpb (libvpb, vpbapi.h)
# - make package for moh sound files
-# - build res_mwi_external, res_mwi_external_ami, res_ari_mailboxes, as
-# an alternative for voicemail subpackages
+# - build res_ari_mailboxes as an alternative for voicemail subpackages
+# - +x missing:
+# ldd: warning: you do not have execution permission for `/usr/lib/libasteriskssl.so.1'
#
# Conditional build:
%bcond_with corosync # res_corosync module (broken in 12.0.0)
%bcond_without odbc # build without ODBC support
%bcond_without radius # build without Radius support
%bcond_without pjsip # build without PJSIP stack
+%bcond_without opus_vp8 # build without Opus codec and VP8 passthrough
%bcond_without apidocs # disable apidocs building
%bcond_without verbose # verbose build
+%define opus_commit 058319d6ad464c79bbea71cf589883af62a18548
+
Summary: Asterisk PBX
Summary(pl.UTF-8): Centralka (PBX) Asterisk
Name: asterisk
-Version: 13.6.0
+Version: 13.8.0
Release: 1
License: GPL v2
Group: Applications/System
Source0: http://downloads.digium.com/pub/asterisk/releases/%{name}-%{version}.tar.gz
-# Source0-md5: 66355aec4336c068f25e7df739786e72
+# Source0-md5: ad48eb4a01df72c8e30d3aec524b1a02
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: %{name}.tmpfiles
# menuselect.* -> make menuconfig; choose options; copy resulting files here
Source6: menuselect.makedeps
Source7: menuselect.makeopts
+# https://github.com/seanbright/asterisk-opus/
+Source8: https://github.com/seanbright/asterisk-opus/archive/%{opus_commit}/asterisk-opus-%{opus_commit}.tar.gz
+# Source8-md5: 2cc55d2036ee4b7e5a44ea5e2d7280f3
Patch0: lua51-path.patch
Patch1: %{name}-ppc.patch
Patch2: FHS-paths.patch
Patch5: %{name}-histedit.patch
Patch6: x32.patch
Patch7: %{name}-ilbc.patch
+Patch8: asterisk-opus.patch
URL: http://www.asterisk.org/
BuildRequires: OSPToolkit-devel >= 4.0.0
%{?with_oss:BuildRequires: SDL-devel}
Dokumentacja API Asteriska.
%prep
-%setup -q
+%setup -q -a 8
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch6 -p1
%patch7 -p1
+%if %{with opus_vp8}
+%patch8 -p1
+
+cp -a asterisk-opus-%{opus_commit}/codecs/* codecs
+cp -a asterisk-opus-%{opus_commit}/formats/* formats
+%endif
+
# Fixup makefile so sound archives aren't downloaded/installed
%{__sed} -i -e 's/^all:.*$/all:/' sounds/Makefile
%{__sed} -i -e 's/^install:.*$/install:/' sounds/Makefile
menuselect/menuselect --enable app_voicemail menuselect.makeopts
+# workaround for build failing with asterisk-devel not installed
+ln -s libasteriskssl.so.1 ./main/libasteriskssl.so
+
%{__make} DEBUG= \
OPTIMIZE= \
ASTVARRUNDIR=%{_localstatedir}/run/asterisk \
%attr(755,root,root) %{_sbindir}/astdb2sqlite3
%attr(755,root,root) %{_sbindir}/asterisk
%attr(755,root,root) %{_sbindir}/astgenkey
+%attr(755,root,root) %{_sbindir}/astversion
%attr(755,root,root) %{_sbindir}/autosupport
%attr(755,root,root) %{_sbindir}/rasterisk
%{_mandir}/man8/astdb2bdb.8*
%attr(755,root,root) %{_libdir}/asterisk/modules/codec_alaw.so
%attr(755,root,root) %{_libdir}/asterisk/modules/codec_g722.so
%attr(755,root,root) %{_libdir}/asterisk/modules/codec_g726.so
+%if %{with opus_vp8}
+%attr(755,root,root) %{_libdir}/asterisk/modules/codec_opus.so
+%endif
%attr(755,root,root) %{_libdir}/asterisk/modules/codec_ulaw.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_g719.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_g723.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_siren7.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_sln.so
%attr(755,root,root) %{_libdir}/asterisk/modules/format_vox.so
+%if %{with opus_vp8}
+%attr(755,root,root) %{_libdir}/asterisk/modules/format_vp8.so
+%endif
%attr(755,root,root) %{_libdir}/asterisk/modules/format_wav.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_aes.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_audiohookinherit.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_global.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_groupcount.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_hangupcause.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/func_holdintercept.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_iconv.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_jitterbuffer.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_lock.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_clioriginate.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_convert.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_crypto.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_endpoint_stats.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_format_attr_celt.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_format_attr_h263.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_format_attr_h264.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_format_attr_opus.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_format_attr_silk.so
+%if %{with opus_vp8}
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_format_attr_vp8.so
+%endif
%attr(755,root,root) %{_libdir}/asterisk/modules/res_http_websocket.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_limit.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_manager_devicestate.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_monitor.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_mutestream.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_musiconhold.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_mwi_external.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_mwi_external_ami.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_parking.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_phoneprov.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pktccops.so
%attr(755,root,root) %{_libdir}/asterisk/modules/func_odbc.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_config_odbc.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_odbc.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_odbc_transaction.so
%endif
%files osp
%if %{with pjsip}
%files pjsip
%defattr(644,root,root,755)
+%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/pjproject.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/pjsip.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/pjsip_notify.conf
%attr(640,root,asterisk) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/pjsip_wizard.conf
%attr(755,root,root) %{_libdir}/asterisk/modules/res_hep.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_hep_pjsip.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_hep_rtcp.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjproject.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_acl.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_authenticator_digest.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_caller_id.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_endpoint_identifier_user.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_exten_state.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_header_funcs.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_history.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_keepalive.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_log_forwarder.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_logger.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_messaging.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_multihomed.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_mwi.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_mwi_body_generator.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_mwi.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_nat.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_notify.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_one_touch_record_info.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_publish_asterisk.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_pubsub.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_refer.so
-%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_registrar.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_registrar_expire.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_registrar.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_rfc3326.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_sdp_rtp.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_send_to_voicemail.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_session.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_sips_contact.so
+%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_t38.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_transport_websocket.so
%attr(755,root,root) %{_libdir}/asterisk/modules/res_pjsip_xpidf_body_generator.so