%define major 2 %define libname %mklibname %{name} %{major} %define libnamedev %mklibname %{name} -d Name: pjproject Version: 2.5.5 %define subrel 1 Release: %mkrel 4 Summary: Libraries for building embedded/non-embedded VoIP applications Group: System/Libraries License: GPLv2+ URL: http://www.pjsip.org Source0: http://www.pjsip.org/release/%{version}/%{name}-%{version}.tar.bz2 # Tell the build system not to use most of the third_party directory Patch1: pjproject_no_third_party.patch # Keep the .pc file clean # see https://bugzilla.redhat.com/show_bug.cgi?id=728302#c66 Patch2: pjproject_fixup_pc_file.patch # Fix ARMv7 endianness Patch3: pjproject-armv7.patch # Add aarch64 Patch4: pjproject-aarch64.patch # Fix ppc64 endiannes Patch5: pjproject-ppc64.patch # Add a config_site.h file to increase performance and set reasonable server # configuration for running as a server and not just a client Patch6: pjproject_config_site.patch Patch7: gnutls.patch Patch8: add_dtls_transport.patch Patch9: pj_ice_sess.patch Patch10: pjproject-2.5.5-parallel.patch Patch11: pjproject-2.5.5-CVE-2017-9359_CVE-2017-9372.patch BuildRequires: gsm-devel BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(libsrtp) BuildRequires: pkgconfig(uuid) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(portaudio-2.0) BuildRequires: pkgconfig(python2) BuildRequires: pkgconfig(speex) BuildRequires: pkgconfig(speexdsp) %description This package provides the Open Source, comprehensive, high performance, small footprint multimedia communication libraries written in C language for building embedded/non-embedded VoIP applications. It contains: - PJSIP - Open Source SIP Stack - PJMEDIA - Open Source Media Stack - PJNATH - Open Source NAT Traversal Helper Library - PJLIB-UTIL - Auxiliary Library - PJLIB - Ultra Portable Base Framework Library - PJSUA2 - Object Oriented abstractions layer for PJSUA %package -n %{libname} Summary: Libraries for building embedded/non-embedded VoIP applications Group: System/Libraries %description -n %{libname} This package provides the Open Source, comprehensive, high performance, small footprint multimedia communication libraries written in C language for building embedded/non-embedded VoIP applications. It contains: - PJSIP - Open Source SIP Stack - PJMEDIA - Open Source Media Stack - PJNATH - Open Source NAT Traversal Helper Library - PJLIB-UTIL - Auxiliary Library - PJLIB - Ultra Portable Base Framework Library - PJSUA2 - Object Oriented abstractions layer for PJSUA This package contains the shared library part of ccrtp. %package -n %{libnamedev} Summary: Development files to use pjproject Group: Development/Other Provides: %{name}-devel = %{version}-%{release} Requires: %{libname} = %{version}-%{release} %description -n %{libnamedev} Header information for: - PJSIP - Open Source SIP Stack - PJMEDIA - Open Source Media Stack - PJNATH - Open Source NAT Traversal Helper Library - PJLIB-UTIL - Auxiliary Library - PJLIB - Ultra Portable Base Framework Library %package -n pjsua Summary: command line SIP user agent Group: System/Libraries %description -n pjsua pjsua is an open source command line SIP user agent (softphone) that is used as the reference implementation for PJSIP, PJNATH, and PJMEDIA. Despite its simple command line appearance, it does pack many features! %package -n python-pjsua Summary: PJSUA Python Module Group: Development/Python %description -n python-pjsua The PJSUA for Python Module is an object oriented Python wrapper/abstraction/modules for PJSUA API. %prep %setup -q %autopatch -p1 # make sure we don't bundle these third-party libraries # (They're excluded through ./configure, but this is an # additional safety net) rm -rf third_party/BaseClasses rm -rf third_party/bdsound rm -rf third_party/bin rm -rf third_party/g7221 rm -rf third_party/gsm rm -rf third_party/milenage rm -rf third_party/mp3 rm -rf third_party/portaudio rm -rf third_party/resample rm -rf third_party/speex rm -rf third_party/srtp rm -rf third_party/ilbc rm -rf third_party/build/baseclasses rm -rf third_party/build/g7221 rm -rf third_party/build/gsm rm -rf third_party/build/milenage rm -rf third_party/build/portaudio/src rm -rf third_party/build/resample rm -rf third_party/build/samplerate rm -rf third_party/build/speex rm -rf third_party/build/srtp rm -rf third_party/build/ilbc %build # We're building without audio or video support, as Asterisk isn't using # that functionality, and it made it easier to ensure that we don't # bundle any unnecessary libraries. Please contact me if your project # needs this support, and I'll re-enable it export CFLAGS="-DPJ_HAS_IPV6=1 -DNDEBUG ${ARCHFLAGS} %{optflags}" %configure2_5x \ --enable-shared \ --with-external-gsm \ --with-external-pa \ --with-external-speex \ --with-external-srtp \ --disable-opencore-amr \ --disable-resample \ --disable-sound \ --disable-video \ --disable-v4l2 \ --disable-ilbc-codec \ --disable-libyuv \ --disable-g7221-codec %make_build dep %make_build pushd pjsip-apps/src/python %py2_build popd %install %make_install pushd pjsip-apps/src/python %py2_install popd install -p -D -m 0755 pjsip-apps/bin/pjsua-* %{buildroot}%{_bindir}/pjsua # Remove the static libraries, as they aren't wanted find %{buildroot} -type f -name "*.a" -delete %files -n %{libname} %doc README.txt README-RTEMS INSTALL.txt %license COPYING %{_libdir}/lib*.so.* %files -n %{libnamedev} %{_libdir}/lib*.so %{_includedir}/pj++/ %{_includedir}/pj/ %{_includedir}/pjlib-util/ %{_includedir}/pjmedia-audiodev/ %{_includedir}/pjmedia-codec/ %{_includedir}/pjmedia-videodev/ %{_includedir}/pjmedia/ %{_includedir}/pjnath/ %{_includedir}/pjsip-simple/ %{_includedir}/pjsip-ua/ %{_includedir}/pjsip/ %{_includedir}/pjsua-lib/ %{_includedir}/pjsua2/ %{_includedir}/*.h %{_includedir}/*.hpp %{_libdir}/pkgconfig/libpjproject.pc %files -n python-pjsua %doc pjsip-apps/src/python/samples %{python2_sitearch}/_pjsua.so %{python2_sitearch}/pjsua-*.egg-info %{python2_sitearch}/pjsua.py* %files -n pjsua %{_bindir}/pjsua %changelog * Sat Aug 12 2017 daviddavid <daviddavid> 2.5.5-4.1.mga6 + Revision: 1139885 - add and rediff upstream patch to fix CVE-2017-9359 and CVE-2017-9372 (mga#21505) * Thu Jun 15 2017 pterjan <pterjan> 2.5.5-4.mga6 + Revision: 1107738 - Fix a parallel build problem * Mon Jan 02 2017 neoclust <neoclust> 2.5.5-3.mga6 + Revision: 1079590 - Add pj_ice_strans_get_ice_sess function ( needed for ring-daemon) - Add PJSIP_TRANSPORT_DTLS ( needed for ring-daemon) * Sun Jan 01 2017 neoclust <neoclust> 2.5.5-1.mga6 + Revision: 1079427 - New version 2.5.5 * Wed Apr 13 2016 daviddavid <daviddavid> 2.4.5-5.mga6 + Revision: 1001039 - rebuild against libsrtp (srtp was removed) - use new python macros - include config_site.h file to improve performance from fedora - add -DNDEBUG to CFLAGS at request of Asterisk developers from fedora * Thu Mar 03 2016 umeabot <umeabot> 2.4.5-4.mga6 + Revision: 983909 - Rebuild for openssl * Tue Feb 16 2016 umeabot <umeabot> 2.4.5-3.mga6 + Revision: 962102 - Mageia 6 Mass Rebuild * Sun Nov 08 2015 daviddavid <daviddavid> 2.4.5-2.mga6 + Revision: 899113 - remove nonexistent requires * Sat Nov 07 2015 daviddavid <daviddavid> 2.4.5-1.mga6 + Revision: 898483 - new version: 2.4.5 - create sub-packages for pjsua and python bindings - fix endian support for aarch64 - add missing BuildRequires on speexdsp to fix build * Sun Feb 08 2015 alien <alien> 2.3-1.mga5 + Revision: 814093 - imported package pjproject