]> git.pld-linux.org Git - packages/linphone.git/blob - linphone.spec
upstream fix to a use-after-free
[packages/linphone.git] / linphone.spec
1 # TODO:
2 # - --enable-tunnel (BR: pkgconfig(tunnel) >= 0.3.3)
3 # - fill in dependencies for !system_ortp, !system_mediastreamer
4 # - check if all this configure option I've set are really needed
5 # - separate libraries that do not require gnome into subpackages for Jingle support in kopete
6 # - if system_mediastreamerpackages copies for "libmediastreamer.so.1", "libortp.so.8" libraries
7 #   those should be installed to private path and LD_LIBARY_PATH setup with wrappers.
8 #   without doing so do not stbr it to Th!
9 #
10 # Conditional build:
11 %bcond_without  ldap                    # LDAP support
12 %bcond_without  openssl                 # SSL support
13 %bcond_without  system_ortp             # use custom ortp
14 %bcond_without  system_mediastreamer    # use custom mediastreamer
15
16 Summary:        Linphone Internet Phone
17 Summary(pl.UTF-8):      Linphone - telefon internetowy
18 Name:           linphone
19 Version:        3.7.0
20 Release:        2
21 License:        GPL v2+
22 Group:          Applications/Communications
23 Source0:        http://download-mirror.savannah.gnu.org/releases/linphone/3.7.x/sources/%{name}-%{version}.tar.gz
24 # Source0-md5:  6978492712bdacd452e375254d6033ae
25 Patch0:         %{name}-imgdir.patch
26 Patch1:         %{name}-sh.patch
27 Patch2:         displayname_use_after_free.patch
28 URL:            http://www.linphone.org/
29 BuildRequires:  alsa-lib-devel >= 0.9.0
30 BuildRequires:  autoconf >= 2.50
31 BuildRequires:  automake >= 1:1.9
32 BuildRequires:  belle-sip-devel >= 1.3.0
33 %{?with_ldap:BuildRequires:     cyrus-sasl-devel >= 2}
34 BuildRequires:  doxygen
35 BuildRequires:  ffmpeg-devel >= 0.4.5
36 BuildRequires:  gettext-devel
37 BuildRequires:  gnome-common >= 2.8.0
38 BuildRequires:  gtk+2-devel >= 2:2.22.0
39 BuildRequires:  intltool >= 0.40
40 BuildRequires:  libnotify-devel >= 0.7.0
41 BuildRequires:  libsoup-devel >= 2.26
42 BuildRequires:  libstdc++-devel
43 BuildRequires:  libtool >= 2:2
44 BuildRequires:  libupnp-devel < 1.7
45 BuildRequires:  libupnp-devel >= 1.6
46 BuildRequires:  libv4l-devel
47 BuildRequires:  libxml2-devel >= 2.0
48 %{?with_system_mediastreamer:BuildRequires:     mediastreamer-devel >= 2.10.0}
49 BuildRequires:  ncurses-devel
50 %{?with_ldap:BuildRequires:     openldap-devel}
51 %{?with_openssl:BuildRequires:  openssl-devel >= 0.9.8}
52 %{?with_system_ortp:BuildRequires:      ortp-devel >= 0.23.0}
53 BuildRequires:  pkgconfig
54 BuildRequires:  readline-devel
55 BuildRequires:  rpmbuild(macros) >= 1.98
56 BuildRequires:  scrollkeeper
57 BuildRequires:  speex-devel >= 1.1.6
58 BuildRequires:  sqlite3-devel >= 3.7.0
59 %{!?with_system_ortp:BuildRequires:     srtp-devel}
60 BuildRequires:  udev-devel
61 BuildRequires:  xorg-lib-libX11-devel
62 BuildRequires:  xorg-lib-libXv-devel
63 %if %{without system_mediastreamer}
64 BuildRequires:  libgsm-devel >= 1.0.10
65 BuildRequires:  pulseaudio-devel
66 %endif
67 Requires(post,postun):  /usr/bin/scrollkeeper-update
68 Requires:       %{name}-libs = %{version}-%{release}
69 Requires:       gtk+2 >= 2:2.22.0
70 Requires:       libnotify >= 0.7.0
71 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
72
73 %if %{without system_ortp}
74 %define         _noautoreq_1    libortp\.so.*
75 %endif
76 %if %{without system_mediastreamer}
77 %define         _noautoreq_2    libmediastreamer\.so.*
78 %endif
79
80 %define         _noautoreq      %{?_noautoreq_1} %{?_noautoreq_2}
81 %define         _noautoprov     %{?_noautoreq}
82
83 %description
84 Linphone is a web phone: it let you phone to your friends anywhere in
85 the whole world, freely, simply by using the internet. The cost of the
86 phone call is the cost that you spend connected to the internet.
87
88 Here are the main features of linphone:
89 - Works with the GNOME Desktop under linux.
90 - Works as simply as a cellular phone. Two buttons, no more.
91 - Understands the SIP protocol.
92 - You just require a soundcard to use linphone.
93 - Linphone is free software, released under the General Public
94   Licence.
95 - Linphone is documented: there is a complete user manual readable
96   from the application that explains you all you need to know.
97
98 %description -l pl.UTF-8
99 Linphone to telefon internetowy - pozwala dzwonić do znajomych na
100 całym świecie bez dodatkowych opłat, używając tylko Internetu.
101
102 Główne cechy linphone:
103 - działanie ze środowiskiem GNOME
104 - naśladowanie prostego telefonu komórkowego - tylko dwa przyciski
105 - obsługa protokołu SIP
106 - wymaga karty dźwiękowej
107 - jest wolnodostępnym oprogramowaniem (na licencji GPL)
108 - ma dokumentację: pełny podręcznik dostępny z aplikacji.
109
110 %package -n linphonec
111 Summary:        Linphone Internet Phone console interface
112 Summary(pl.UTF-8):      Linphone - telefon internetowy, interfejs konsolowy
113 Group:          Applications/Communications
114 Requires:       %{name}-libs = %{version}-%{release}
115
116 %description -n linphonec
117 Linphonec is the console version of originally GNOME Internet phone
118 Linphone.
119
120 %description -n linphonec -l pl.UTF-8
121 Linphonec to konsolowa wersja telefonu internetowego Linphone
122 pochodzącego z GNOME.
123
124 %package libs
125 Summary:        Linphone libraries
126 Summary(pl.UTF-8):      Biblioteki Linphone
127 Group:          Libraries
128 Requires(post,postun):  /sbin/ldconfig
129 Requires:       belle-sip >= 1.3.0
130 Requires:       libsoup-devel >= 2.26
131 %{?with_system_mediastreamer:Requires:  mediastreamer >= 2.10.0}
132 %{?with_system_ortp:Requires:   ortp >= 0.23.0}
133 Requires:       sqlite3 >= 3.7.0
134
135 %description libs
136 Linphone libraries.
137
138 %description libs -l pl.UTF-8
139 Biblioteki Linphone.
140
141 %package devel
142 Summary:        Linphone Internet Phone - header files
143 Summary(pl.UTF-8):      Telefon internetowy Linphone - pliki nagłówkowe
144 Group:          Development/Libraries
145 Requires:       %{name}-libs = %{version}-%{release}
146 Requires:       alsa-lib-devel >= 0.9.0
147 Requires:       belle-sip-devel >= 1.3.0
148 Requires:       glib2-devel >= 2.0.0
149 Requires:       gtk-doc-common
150 Requires:       libsoup-devel >= 2.26
151 Requires:       libstdc++-devel
152 Requires:       libupnp-devel < 1.7
153 Requires:       libupnp-devel >= 1.6
154 Requires:       libxml2-devel >= 2.0
155 %{?with_system_mediastreamer:Requires:  mediastreamer-devel >= 2.10.0}
156 %{?with_system_ortp:Requires:   ortp-devel >= 0.23.0}
157 Requires:       speex-devel >= 1.1.6
158 Requires:       sqlite3-devel >= 3.7.0
159 Requires:       srtp-devel
160 Requires:       xorg-lib-libX11-devel
161 Requires:       xorg-lib-libXv-devel
162 %if %{without system_mediastreamer}
163 Requires:       libgsm-devel >= 1.0.10
164 %endif
165
166 %description devel
167 Development files for the Linphone Internet Phone.
168
169 %description devel -l pl.UTF-8
170 Pliki dla programistów używających telefonu internetowego Linphone.
171
172 %package static
173 Summary:        Linphone static libraries
174 Summary(pl.UTF-8):      Statyczne biblioteki Linphone
175 Group:          Development/Libraries
176 Requires:       %{name}-devel = %{version}-%{release}
177
178 %description static
179 Static version of Linphone libraries.
180
181 %description static -l pl.UTF-8
182 Statyczne wersje bibliotek Linphone.
183
184 %prep
185 %setup -q
186
187 find '(' -name '*.c' -o -name '*.h' ')' -print0 | xargs -0 %{__sed} -i -e 's,\r$,,'
188
189 %patch0 -p1
190 %patch1 -p1
191 %patch2 -p1
192
193 %build
194 %{__libtoolize}
195 %{__aclocal} -I m4
196 %{__autoconf}
197 %{__autoheader}
198 %{__automake}
199 %if %{without system_ortp}
200 cd oRTP
201 %{__libtoolize}
202 %{__aclocal}
203 %{__autoconf}
204 %{__autoheader}
205 %{__automake}
206 cd ..
207 %endif
208 %if %{without system_ortp}
209 cd mediastreamer2
210 %{__libtoolize}
211 %{__aclocal}
212 %{__autoconf}
213 %{__autoheader}
214 %{__automake}
215 cd ..
216 %endif
217
218 %configure \
219         --with-html-dir=%{_gtkdocdir} \
220         --enable-alsa \
221         %{?with_system_mediastreamer:--enable-external-mediastreamer} \
222         %{?with_system_ortp:--enable-external-ortp} \
223         --enable-ipv6 \
224         %{?with_ldap:--enable-ldap} \
225         --disable-silent-rules \
226         %{?with_openssl:--enable-ssl} \
227         --enable-static \
228         --disable-strict
229
230 # although main configure already calls {oRTP,mediastreamer2}/configure,
231 # reconfigure them with different dirs
232 %if %{without system_ortp}
233 cd oRTP
234 %configure \
235         --enable-static \
236         --enable-ipv6 \
237         --libdir=%{_libdir}/%{name} \
238         --includedir=%{_libdir}/%{name}/include
239 cd ..
240 %endif
241 %if %{without system_ortp}
242 cd mediastreamer2
243 %configure \
244         --enable-static \
245         --disable-libv4l \
246         --libdir=%{_libdir}/%{name} \
247         --includedir=%{_libdir}/%{name}/include
248 cd ..
249 %endif
250
251 %{__make} \
252         GITDESCRIBE=/bin/true \
253         GIT_TAG=%{version}
254
255
256 %install
257 rm -rf $RPM_BUILD_ROOT
258 install -d $RPM_BUILD_ROOT%{_desktopdir} \
259         $RPM_BUILD_ROOT%{_pixmapsdir}
260
261 %{__make} install \
262         GITDESCRIBE=/bin/true \
263         GIT_TAG=%{version} \
264         DESTDIR=$RPM_BUILD_ROOT
265
266 install pixmaps/%{name}.png $RPM_BUILD_ROOT%{_pixmapsdir}
267
268 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
269 %{!?with_system_mediastreamer:%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/mediastreamer}
270 %{!?with_system_ortp:%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/ortp}
271
272 mv $RPM_BUILD_ROOT%{_localedir}/{nb_NO,nb}
273
274 # the executable is missing, so the manual is useless
275 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/sipomatic.1*
276 %{__rm} $RPM_BUILD_ROOT%{_mandir}/cs/man1/sipomatic.1*
277
278 # some tests
279 %{__rm} $RPM_BUILD_ROOT%{_bindir}/*_test
280
281 install -d $RPM_BUILD_ROOT%{_examplesdir}
282 mv $RPM_BUILD_ROOT%{_datadir}/tutorials/%{name} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
283
284 %find_lang %{name} --with-gnome --all-name
285
286 %clean
287 rm -rf $RPM_BUILD_ROOT
288
289 %post
290 %{_bindir}/scrollkeeper-update
291
292 %if %{without system_mediastreamer} || %{without system_ortp}
293 %post libs
294 /sbin/ldconfig %{_libdir}/%{name}
295 %else
296 %post libs -p /sbin/ldconfig
297 %endif
298
299 %postun
300 %{_bindir}/scrollkeeper-update
301
302 %postun libs -p /sbin/ldconfig
303
304 %files -f %{name}.lang
305 %defattr(644,root,root,755)
306 %doc AUTHORS BUGS ChangeLog NEWS README TODO
307 %attr(755,root,root) %{_bindir}/linphone
308 %{_desktopdir}/linphone.desktop
309 %{_pixmapsdir}/linphone.png
310 %{_pixmapsdir}/linphone
311 %{_datadir}/linphone
312 %{_mandir}/man1/linphone.1*
313 %lang(cs) %{_mandir}/cs/man1/linphone.1*
314
315 %files -n linphonec
316 %defattr(644,root,root,755)
317 %doc AUTHORS BUGS ChangeLog NEWS README TODO
318 %attr(755,root,root) %{_bindir}/linphonec
319 %attr(755,root,root) %{_bindir}/linphonecsh
320 %{_mandir}/man1/linphonec.1*
321 %{_mandir}/man1/linphonecsh.1*
322 %lang(cs) %{_mandir}/cs/man1/linphonec.1*
323
324 %files libs
325 %defattr(644,root,root,755)
326 %attr(755,root,root) %{_libdir}/liblinphone.so.*.*.*
327 %attr(755,root,root) %ghost %{_libdir}/liblinphone.so.6
328 %if %{without system_mediastreamer} || %{without system_ortp}
329 %dir %{_libdir}/%{name}
330 %endif
331 %if %{without system_mediastreamer}
332 %attr(755,root,root) %{_libdir}/%{name}/libmediastreamer.so.*.*.*
333 %attr(755,root,root) %ghost %{_libdir}/%{name}/libmediastreamer.so.?
334 %{_libdir}/%{name}/mediastream
335 %endif
336 %if %{without system_ortp}
337 %attr(755,root,root) %{_libdir}/%{name}/libortp.so.*.*.*
338 %attr(755,root,root) %ghost %{_libdir}/%{name}/libortp.so.?
339 %endif
340 %{_datadir}/sounds/linphone
341
342 %files devel
343 %defattr(644,root,root,755)
344 %doc coreapi/help/doc/html
345 %attr(755,root,root) %{_libdir}/liblinphone.so
346 %attr(755,root,root) %{_bindir}/lp-gen-wrappers
347 %{_includedir}/linphone
348 %{_pkgconfigdir}/linphone.pc
349 %{_libdir}/liblinphone.la
350 %if %{without system_mediastreamer} || %{without system_ortp}
351 %dir %{_libdir}/%{name}/include
352 %dir %{_libdir}/%{name}/pkgconfig
353 %endif
354 %if %{without system_mediastreamer}
355 %attr(755,root,root) %{_libdir}/%{name}/libmediastreamer.so
356 %{_libdir}/%{name}/libmediastreamer.la
357 %{_libdir}/%{name}/include/mediastreamer2
358 %{_libdir}/%{name}/pkgconfig/mediastreamer.pc
359 %endif
360 %if %{without system_ortp}
361 %attr(755,root,root) %{_libdir}/%{name}/libortp.so
362 %{_libdir}/%{name}/libortp.la
363 %{_libdir}/%{name}/include/ortp
364 %{_libdir}/%{name}/pkgconfig/ortp.pc
365 %endif
366 %{_examplesdir}/%{name}-%{version}
367
368 %files static
369 %defattr(644,root,root,755)
370 %{_libdir}/liblinphone.a
371 %if %{without system_mediastreamer}
372 %{_libdir}/%{name}/libmediastreamer.a
373 %endif
374 %if %{without system_ortp}
375 %{_libdir}/%{name}/libortp.a
376 %endif
This page took 0.05617 seconds and 3 git commands to generate.