]> git.pld-linux.org Git - packages/pjproject.git/blob - pjproject.spec
d7baadd3fe09a4ac3833b49126996b5953bf4cd4
[packages/pjproject.git] / pjproject.spec
1 #
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
5 #
6 # If we have another package using this library we may need to change bcond
7 # defaults.
8 #
9 # TODO:
10 #       - fix --with opencore_amr
11 #       - libresample.so conflicts with the libresample-devel package
12 #
13
14 # Conditional build:
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)
19
20 Summary:        PJSIP - free and open source multimedia communication library
21 Name:           pjproject
22 Version:        2.6
23 Release:        1
24 License:        GPL v2+
25 Group:          Libraries
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)
56
57 # dependency loop between libpjmedia-videodev.so and libpjmedia.so
58 %define         skip_post_check_so      libpjmedia-videodev.so.*
59
60 %ifarch x32
61 %define         libsuffix       x86_64-pld-linux-gnux32
62 %else
63 %define         libsuffix       %{_arch}-pld-linux-gnu
64 %endif
65
66 %description
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
73 handsets.
74
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.
80
81 %package devel
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
87
88 %description devel
89 Header files for %{name} library.
90
91 %description devel -l pl.UTF-8
92 Pliki nagłówkowe biblioteki %{name}.
93
94 %package static
95 Summary:        Static %{name} library
96 Summary(pl.UTF-8):      Statyczna biblioteka %{name}
97 Group:          Development/Libraries
98 Requires:       %{name}-devel = %{version}-%{release}
99
100 %description static
101 Static %{name} library.
102
103 %description static -l pl.UTF-8
104 Statyczna biblioteka %{name}.
105
106 %prep
107 %setup -q
108 %patch0 -p1
109 %patch1 -p1
110
111 %patch100 -p1
112 %patch101 -p1
113 %patch102 -p1
114 %patch103 -p1
115 %patch104 -p1
116 %patch105 -p1
117 %patch106 -p1
118
119 cp -p %{SOURCE1} pjlib/include/pj/config_site.h
120
121 %build
122 %{__autoconf} -o configure aconfigure.ac
123
124 %configure \
125         CFLAGS="%{rpmcflags} %{?with_video:-DPJMEDIA_HAS_VIDEO=1}" \
126         --enable-shared \
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} \
132         --without-libyuv \
133         --disable-libyuv \
134         --with-external-speex \
135         --with-external-srtp \
136         --with-external-gsm
137 %{__make} -j1
138
139 %install
140 rm -rf $RPM_BUILD_ROOT
141
142 %{__make} -j1 install \
143         DESTDIR=$RPM_BUILD_ROOT
144
145 %clean
146 rm -rf $RPM_BUILD_ROOT
147
148 %post   -p /sbin/ldconfig
149 %postun -p /sbin/ldconfig
150
151 %files
152 %defattr(644,root,root,755)
153 %doc README.txt
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
170
171 %files devel
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
189 %{_includedir}/pj*
190 %{_pkgconfigdir}/lib%{name}.pc
191
192 %files static
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
This page took 0.067845 seconds and 2 git commands to generate.