2 # NOTE: the package is prepared mainly for Asterisk needs, so it is configured
3 # the way Asterisk wiki suggests:
4 # https://wiki.asterisk.org/wiki/display/AST/Building+and+Installing+pjproject
6 # If we have another package using this library we may need to change bcond
10 # - fix --with opencore_amr
11 # - libresample.so conflicts with the libresample-devel package
15 %bcond_with sound # enable sound support (AST wiki suggests disabling it)
16 %bcond_with video # enable video support (AST wiki suggests disabling it)
17 %bcond_with resample # enable resample support (AST wiki suggests disabling it)
18 %bcond_with opencore_amr # enable opencore-arm support (AST wiki suggests disabling it)
20 Summary: PJSIP - free and open source multimedia communication library
26 Source0: http://www.pjsip.org/release/%{version}/%{name}-%{version}.tar.bz2
27 # Source0-md5: c347a672679e7875ce572e18517884b2
28 Source1: config_site.h
29 Patch0: %{name}-ilbc-link.patch
30 Patch1: webrtc_build.patch
31 # patches from Asterisk
32 Patch100: 0010-evsub-Add-pjsip_evsub_set_uas_timeout.patch
33 Patch101: 0011-r5554-svn-backport-Increase-SENDER_WIDTH-column-size.patch
34 Patch102: 0013-r5559-svn-backport-Fix-to-resolve-DNS-SRV-crashes.patch
35 Patch103: 0014-Add-pjsip-transport-register-type-ipv6.patch
36 Patch104: 0025-fix-print-xml-crash.patch
37 Patch105: 0058-Parse-zero-length-multipart-body-parts-correctly.patch
38 Patch106: 0059-Ensure-2543-transaction-key-buffer-is-large-enough.patch
39 URL: http://www.pjsip.org/
40 %{?with_video:BuildRequires: SDL2-devel}
41 BuildRequires: SILK_SDK-devel
42 BuildRequires: autoconf
43 %{?with_video:BuildRequires: ffmpeg-devel}
44 BuildRequires: libgsm-devel
45 %{?with_video:BuildRequires: libv4l-devel}
46 %{?with_opencore_amr:BuildRequires: opencore-amr-devel}
47 BuildRequires: openssl-devel
48 BuildRequires: pkgconfig
49 %{?with_sound:BuildRequires: portaudio-devel}
50 BuildRequires: python-modules
51 BuildRequires: rpmbuild(macros) >= 1.583
52 BuildRequires: speex-devel
53 BuildRequires: speexdsp-devel
54 BuildRequires: srtp-devel
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 # dependency loop between libpjmedia-videodev.so and libpjmedia.so
58 %define skip_post_check_so libpjmedia-videodev.so.*
61 %define libsuffix x86_64-pld-linux-gnux32
63 %define libsuffix %{_arch}-pld-linux-gnu
67 PJSIP is a free and open source multimedia communication library
68 written in C language implementing standard based protocols such as
69 SIP, SDP, RTP, STUN, TURN, and ICE. It combines signaling protocol
70 (SIP) with rich multimedia framework and NAT traversal functionality
71 into high level API that is portable and suitable for almost any type
72 of systems ranging from desktops, embedded systems, to mobile
75 PJSIP is both compact and feature rich. It supports audio, video,
76 presence, and instant messaging, and has extensive documentation.
77 PJSIP is very portable. On mobile devices, it abstracts system
78 dependent features and in many cases is able to utilize the native
79 multimedia capabilities of the device.
82 Summary: Header files for %{name} library
83 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki %{name}
84 Group: Development/Libraries
85 Requires: %{name} = %{version}-%{release}
86 Requires: SILK_SDK-devel
89 Header files for %{name} library.
91 %description devel -l pl.UTF-8
92 Pliki nagłówkowe biblioteki %{name}.
95 Summary: Static %{name} library
96 Summary(pl.UTF-8): Statyczna biblioteka %{name}
97 Group: Development/Libraries
98 Requires: %{name}-devel = %{version}-%{release}
101 Static %{name} library.
103 %description static -l pl.UTF-8
104 Statyczna biblioteka %{name}.
119 cp -p %{SOURCE1} pjlib/include/pj/config_site.h
122 %{__autoconf} -o configure aconfigure.ac
125 CFLAGS="%{rpmcflags} %{?with_video:-DPJMEDIA_HAS_VIDEO=1}" \
127 %{__enable_disable sound sound} \
128 %{__enable_disable video video} \
129 %{__enable_disable resample resample} \
130 %{__enable_disable opencore_amr opencore-amr} \
131 %{__with sound external-pa} \
134 --with-external-speex \
135 --with-external-srtp \
140 rm -rf $RPM_BUILD_ROOT
142 %{__make} -j1 install \
143 DESTDIR=$RPM_BUILD_ROOT
146 rm -rf $RPM_BUILD_ROOT
148 %post -p /sbin/ldconfig
149 %postun -p /sbin/ldconfig
152 %defattr(644,root,root,755)
154 %attr(755,root,root) %{_libdir}/libg7221codec.so.2
155 %attr(755,root,root) %{_libdir}/libilbccodec.so.2
156 %attr(755,root,root) %{_libdir}/libpj.so.2
157 %attr(755,root,root) %{_libdir}/libpjlib-util.so.2
158 %attr(755,root,root) %{_libdir}/libpjmedia-audiodev.so.2
159 %attr(755,root,root) %{_libdir}/libpjmedia-codec.so.2
160 %attr(755,root,root) %{_libdir}/libpjmedia-videodev.so.2
161 %attr(755,root,root) %{_libdir}/libpjmedia.so.2
162 %attr(755,root,root) %{_libdir}/libpjnath.so.2
163 %attr(755,root,root) %{_libdir}/libpjsip-simple.so.2
164 %attr(755,root,root) %{_libdir}/libpjsip-ua.so.2
165 %attr(755,root,root) %{_libdir}/libpjsip.so.2
166 %attr(755,root,root) %{_libdir}/libpjsua.so.2
167 %attr(755,root,root) %{_libdir}/libpjsua2.so.2
168 %{?with_resample:%attr(755,root,root) %{_libdir}/libresample.so.2}
169 %attr(755,root,root) %{_libdir}/libwebrtc.so.2
172 %defattr(644,root,root,755)
173 %attr(755,root,root) %{_libdir}/libg7221codec.so
174 %attr(755,root,root) %{_libdir}/libilbccodec.so
175 %attr(755,root,root) %{_libdir}/libpj.so
176 %attr(755,root,root) %{_libdir}/libpjlib-util.so
177 %attr(755,root,root) %{_libdir}/libpjmedia-audiodev.so
178 %attr(755,root,root) %{_libdir}/libpjmedia-codec.so
179 %attr(755,root,root) %{_libdir}/libpjmedia-videodev.so
180 %attr(755,root,root) %{_libdir}/libpjmedia.so
181 %attr(755,root,root) %{_libdir}/libpjnath.so
182 %attr(755,root,root) %{_libdir}/libpjsip-simple.so
183 %attr(755,root,root) %{_libdir}/libpjsip-ua.so
184 %attr(755,root,root) %{_libdir}/libpjsip.so
185 %attr(755,root,root) %{_libdir}/libpjsua.so
186 %attr(755,root,root) %{_libdir}/libpjsua2.so
187 %{?with_resample:%attr(755,root,root) %{_libdir}/libresample.so}
188 %attr(755,root,root) %{_libdir}/libwebrtc.so
190 %{_pkgconfigdir}/lib%{name}.pc
193 %defattr(644,root,root,755)
194 %{_libdir}/libg7221codec-%{libsuffix}.a
195 %{_libdir}/libilbccodec-%{libsuffix}.a
196 %{_libdir}/libpj-%{libsuffix}.a
197 %{_libdir}/libpjlib-util-%{libsuffix}.a
198 %{_libdir}/libpjmedia-audiodev-%{libsuffix}.a
199 %{_libdir}/libpjmedia-codec-%{libsuffix}.a
200 %{_libdir}/libpjmedia-%{libsuffix}.a
201 %{_libdir}/libpjmedia-videodev-%{libsuffix}.a
202 %{_libdir}/libpjnath-%{libsuffix}.a
203 %{_libdir}/libpjsip-%{libsuffix}.a
204 %{_libdir}/libpjsip-simple-%{libsuffix}.a
205 %{_libdir}/libpjsip-ua-%{libsuffix}.a
206 %{_libdir}/libpjsua-%{libsuffix}.a
207 %{_libdir}/libpjsua2-%{libsuffix}.a
208 %{?with_resample:%{_libdir}/libresample-%{libsuffix}.a}
209 %{_libdir}/libwebrtc-%{libsuffix}.a