Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates-src > by-pkgid > 8922238eda28e5e08b0a38cfb06949eb > files > 10

pjproject-2.5.5-4.1.mga6.src.rpm

%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