]> git.pld-linux.org Git - packages/ffmpeg.git/blame - ffmpeg.spec
- cosmetics
[packages/ffmpeg.git] / ffmpeg.spec
CommitLineData
94447fde
ER
1# TODO
2# - libnut enabled no
197f4211 3#
2b3b2117 4# Conditional build:
e756f355 5%bcond_with amr # build 3GPP Adaptive Multi Rate (AMR) speech codec
294c9b1e
JB
6%bcond_without autoreqdep # don't care about package name deps generated by rpm
7%bcond_without imlib2 # don't build imlib2 vhook module
874f67c9 8#
15c15700 9%define _snap 2007-03-12
2305d791 10%define snap %(echo %{_snap} | tr -d -)
15c15700 11%define _rel 1
76243dbd 12Summary: Realtime audio/video encoder and streaming server
adcc0f76 13Summary(pl.UTF-8): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni
9fc4ad22 14Name: ffmpeg
c32b589f 15Version: 0.4.9
839e806f 16Release: 3.%{snap}.%{_rel}
9cf4d8a4 17# LGPL or GPL, chosen at configure time (GPL version is more featured)
fc8de229 18# (postprocessing, a52, xvid, x264, dts, faad)
f68a4dcc 19License: GPL with LGPL parts
fde29260 20Group: Applications/Multimedia
d7493de8 21#Source0: http://dl.sourceforge.net/ffmpeg/%{name}-%{version}-pre1.tar.gz
2305d791 22Source0: http://ffmpeg.mplayerhq.hu/%{name}-export-snapshot.tar.bz2
15c15700 23# Source0-md5: 5ab68c1ca93207b9de76eddc841a2325
fde29260
ER
24Source1: ffserver.init
25Source2: ffserver.sysconfig
38cf6de3 26Source3: ffserver.conf
ee032235 27Patch0: %{name}-link.patch
7a286645 28Patch2: %{name}-gcc4.patch
fc8de229 29Patch3: %{name}-system-amr.patch
2305d791 30Patch4: %{name}-x264-symbol.patch
892bb830 31Patch5: %{name}-kill-mabi_altivec.patch
b01a61a0 32Patch6: %{name}-img_convert_symbol.patch
d2fa6a1d 33URL: http://ffmpeg.mplayerhq.hu/
2a60eebe 34BuildRequires: SDL-devel
fc8de229
JB
35%if %{with amr}
36BuildRequires: amrnb-devel
37BuildRequires: amrwb-devel >= 5.3.0
38%endif
e380e18a 39BuildRequires: faac-devel
b959c224 40BuildRequires: faad2-devel
2a60eebe 41BuildRequires: freetype-devel
4bee03f0
JB
42%ifarch ppc
43# require version with altivec support fixed
44BuildRequires: gcc >= 5:3.3.2-3
45%endif
15c15700 46%{?with_imlib2:BuildRequires: imlib2-devel >= 1.3.0}
e380e18a 47BuildRequires: lame-libs-devel
b959c224 48BuildRequires: libdts-devel
f3692243 49BuildRequires: libgsm-devel
94447fde
ER
50BuildRequires: libogg-devel
51BuildRequires: libraw1394-devel
3e95d354 52BuildRequires: libtheora >= 1.0-0.alpha7
4814ac84 53BuildRequires: libtool >= 2:1.4d-3
e380e18a 54BuildRequires: libvorbis-devel
42dd6e0f 55BuildRequires: libx264-devel >= 0.1.2-1.20061024_2245.1
e1fe03f7 56%ifarch %{ix86}
57%ifnarch i386 i486
76243dbd
JB
58BuildRequires: nasm
59%endif
e1fe03f7 60%endif
1463656a 61BuildRequires: perl-tools-pod
593d3a64 62BuildRequires: rpmbuild(macros) >= 1.268
1463656a 63BuildRequires: tetex
9cf4d8a4 64BuildRequires: texinfo
872de59d 65%{?with_amr:BuildRequires: unzip}
46f2a56b 66BuildRequires: xvid-devel >= 1:1.1.0
33a1c0f3 67BuildRequires: zlib-devel
57ebb8ad 68%{?with_autoreqdep:BuildConflicts: libpostproc}
54ec280e 69Requires: %{name}-libs = %{version}-%{release}
839e806f 70Requires: xvid >= 1:1.1.0
af49d6ab 71Obsoletes: libpostproc
539b540f 72BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
9fc4ad22 73
2a60eebe
JB
74%define _noautoreqdep libGL.so.1 libGLU.so.1
75
c01d7857
PS
76%define specflags -fno-strict-aliasing
77
78# -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
79%define specflags_ia32 -fomit-frame-pointer
80# -mmmx is needed to enable <mmintrin.h> code.
81%define specflags_i586 -mmmx
82%define specflags_i686 -mmmx
83
9fc4ad22
AM
84%description
85ffmpeg is a hyper fast realtime audio/video encoder and streaming
86server. It can grab from a standard Video4Linux video source and
87convert it into several file formats based on DCT/motion compensation
88encoding. Sound is compressed in MPEG audio layer 2 or using an AC3
fda3e16d 89compatible stream.
9fc4ad22 90
cdb7b42e 91%description -l pl.UTF-8
fda3e16d 92ffmpeg jest bardzo szybkim koderem audio/wideo w czasie rzeczywistym
cdb7b42e
JR
93oraz serwerem strumieni multimedialnych. ffmpeg potrafi zrzucać dane
94ze standardowego urządzenia Video4Linux i przekonwertować je w kilka
95formatów plików bazujących na kodowaniu DCT/kompensacji ruchu. Dźwięk
96jest kompresowany do strumienia MPEG audio layer 2 lub używając
fda3e16d 97strumienia kompatybilnego z AC3.
9fc4ad22 98
54ec280e
PG
99%package libs
100Summary: ffmpeg libraries
adcc0f76 101Summary(pl.UTF-8): Biblioteki ffmpeg
54ec280e
PG
102Group: Libraries
103
104%description libs
5e173375 105This package contains ffmpeg shared libraries.
54ec280e 106
cdb7b42e
JR
107%description libs -l pl.UTF-8
108Ten pakiet zawiera biblioteki współdzielone ffmpeg.
54ec280e 109
af49d6ab
JB
110%package devel
111Summary: ffmpeg header files
adcc0f76 112Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg
af49d6ab 113Group: Development/Libraries
54ec280e 114Requires: %{name}-libs = %{version}-%{release}
33a1c0f3 115# for libavcodec:
fc8de229
JB
116%if %{with amr}
117Requires: amrnb-devel
118Requires: amrwb-devel >= 5.3.0
119%endif
33a1c0f3 120Requires: faac-devel
96182eea 121Requires: faad2-devel
33a1c0f3 122Requires: lame-libs-devel
d4094e53 123Requires: libdts-devel
bf479bc6 124Requires: libgsm-devel
3e95d354 125Requires: libtheora-devel >= 1.0-0.alpha7
33a1c0f3 126Requires: libvorbis-devel
7bf6921d 127Requires: libx264-devel >= 0.1.2-1.20060828_2245.1
46f2a56b 128Requires: xvid-devel >= 1:1.1.0
33a1c0f3 129Requires: zlib-devel
8152d6a2 130Obsoletes: libpostproc-devel
af49d6ab
JB
131
132%description devel
133ffmpeg header files.
134
cdb7b42e
JR
135%description devel -l pl.UTF-8
136Pliki nagłówkowe ffmpeg.
af49d6ab
JB
137
138%package static
139Summary: ffmpeg static libraries
adcc0f76 140Summary(pl.UTF-8): Statyczne biblioteki ffmpeg
af49d6ab
JB
141Group: Development/Libraries
142Requires: %{name}-devel = %{version}-%{release}
143
144%description static
145ffmpeg static libraries (libavcodec and libavformat).
146
cdb7b42e 147%description static -l pl.UTF-8
af49d6ab
JB
148Statyczne biblioteki ffmpeg (libavcodec i libavformat).
149
2a60eebe
JB
150%package ffplay
151Summary: FFplay - SDL-based media player
adcc0f76 152Summary(pl.UTF-8): FFplay - odtwarzacz mediów oparty na SDL
2a60eebe 153Group: Applications/Multimedia
54ec280e 154Requires: %{name}-libs = %{version}-%{release}
2a60eebe
JB
155
156%description ffplay
157FFplay is a very simple and portable media player using the FFmpeg
158libraries and the SDL library. It is mostly used as a test bench for
159the various APIs of FFmpeg.
160
cdb7b42e
JR
161%description ffplay -l pl.UTF-8
162FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
163bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
164testowania różnych API FFmpeg.
2a60eebe 165
539b540f
JB
166%package vhook-imlib2
167Summary: imlib2 based hook
adcc0f76 168Summary(pl.UTF-8): Moduł przejściowy oparty o imlib2
539b540f 169Group: Libraries
54ec280e 170Requires: %{name}-libs = %{version}-%{release}
539b540f
JB
171
172%description vhook-imlib2
173This module implements a text overlay for a video image. Currently it
174supports a fixed overlay or reading the text from a file. The string
175is passed through strftime so that it is easy to imprint the date and
176time onto the image.
177
cdb7b42e
JR
178%description vhook-imlib2 -l pl.UTF-8
179Ten moduł implementuje tekstową nakładkę dla obrazu. Aktualnie
180obsługuje stałą nakładkę lub wczytywanie tekstu z pliku. Łańcuch jest
181przepuszczany przez strftime, więc łatwo umieścić datę i czas na
539b540f
JB
182obrazie.
183
fde29260
ER
184%package ffserver
185Summary: FFserver video server
adcc0f76 186Summary(pl.UTF-8): FFserver - serwer strumieni obrazu
fde29260 187Group: Daemons
593d3a64 188Requires(post,preun): /sbin/chkconfig
67103923 189Requires: %{name}-libs = %{version}-%{release}
2305d791 190Requires: rc-scripts >= 0.4.0.10
fde29260
ER
191
192%description ffserver
193FFserver is a streaming server for both audio and video. It supports
194several live feeds, streaming from files and time shifting on live
195feeds (you can seek to positions in the past on each live feed,
196provided you specify a big enough feed storage in ffserver.conf).
197
cdb7b42e
JR
198%description ffserver -l pl.UTF-8
199FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
200źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
201czasie dla źródeł na żywo (można przeskakiwać na położenia w
202przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
203dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
4e0bd1da 204
9fc4ad22 205%prep
2305d791 206%setup -q -n %{name}-export-%{_snap}
ee032235 207%patch0 -p1
7a286645 208%patch2 -p1
b5371548 209%patch3 -p1
7bf6921d 210%patch4 -p1
892bb830 211%patch5 -p1
b01a61a0 212%patch6 -p1
9fc4ad22
AM
213
214%build
05e1eb2f
JB
215# notes:
216# - it's not autoconf configure
05e1eb2f 217# - --disable-debug, --disable-opts, tune=generic causes not to override our optflags
2080d1d3 218./configure \
539b540f 219 --prefix=%{_prefix} \
9cf4d8a4 220 --libdir=%{_libdir} \
d81dfa95 221 --shlibdir=%{_libdir} \
2a60eebe 222 --mandir=%{_mandir} \
d7493de8 223 --disable-strip \
15c15700
ER
224 --enable-liba52 \
225 --enable-liba52bin \
226 --enable-libdts \
227 --enable-libfaac \
228 --enable-libfaad \
229 --enable-libfaadbin \
9cf4d8a4 230 --enable-gpl \
f3692243 231 --enable-libgsm \
d7493de8 232 --enable-libogg \
3e95d354 233 --enable-libtheora \
15c15700 234 --enable-libmp3lame \
9cf4d8a4 235 --enable-pp \
d7493de8 236 --enable-pthreads \
9cf4d8a4 237 --enable-shared \
ee032235 238 --enable-swscaler \
15c15700 239 --enable-libvorbis \
8b2a8e66 240 --enable-x264 \
114b5e6e 241 --enable-xvid \
7a286645 242%ifnarch %{ix86} %{x8664}
e1fe03f7 243 --disable-mmx \
244%endif
245%ifarch i386 i486
05e1eb2f 246 --disable-mmx \
b524cd99 247%endif
248%if %{with amr}
249 --enable-amr_nb \
250 --enable-amr_wb \
76243dbd 251%endif
05e1eb2f 252 --cc="%{__cc}" \
c01d7857 253 --extra-cflags="%{rpmcflags}" \
05e1eb2f
JB
254 --extra-ldflags="%{rpmldflags}" \
255 --disable-debug \
256 --disable-opts \
2305d791 257
873cd1c3 258%{__make}
9fc4ad22
AM
259
260%install
261rm -rf $RPM_BUILD_ROOT
38cf6de3
ER
262install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
263 $RPM_BUILD_ROOT/var/{cache,log}/ffserver
9fc4ad22 264
539b540f 265%{__make} install \
9cf4d8a4 266 DESTDIR=$RPM_BUILD_ROOT
539b540f 267
ece24152
ER
268install config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
269install libavformat/allformats.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
fde29260
ER
270install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
271install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
38cf6de3 272install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
539b540f 273mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
9fc4ad22 274
9fc4ad22
AM
275%clean
276rm -rf $RPM_BUILD_ROOT
277
3146af55
KK
278%post libs -p /sbin/ldconfig
279%postun libs -p /sbin/ldconfig
539b540f 280
38cf6de3
ER
281%pre ffserver
282%groupadd -g 167 ffserver
283%useradd -g ffserver -u 167 ffserver
284
593d3a64
ER
285%post ffserver
286/sbin/chkconfig --add ffserver
287%service ffserver restart
288
38cf6de3 289%preun ffserver
593d3a64
ER
290if [ "$1" = 0 ]; then
291 %service ffserver stop
292 /sbin/chkconfig --del ffserver
293fi
294
38cf6de3
ER
295%postun ffserver
296if [ "$1" = 0 ]; then
297 %userremove ffserver
298 %groupremove ffserver
299fi
300
9fc4ad22
AM
301%files
302%defattr(644,root,root,755)
54ec280e 303%doc Changelog README doc/*.html doc/TODO
2a60eebe 304%attr(755,root,root) %{_bindir}/ffmpeg
54ec280e 305%{_mandir}/man1/ffmpeg.1*
54ec280e
PG
306
307%files libs
308%defattr(644,root,root,755)
f50f7d7c
JB
309%attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
310%attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
311%attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
d7493de8 312%attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
ee032235 313%attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
539b540f 314%dir %{_libdir}/vhook
2a60eebe 315%attr(755,root,root) %{_libdir}/vhook/drawtext.so
539b540f 316%attr(755,root,root) %{_libdir}/vhook/fish.so
2a60eebe 317%attr(755,root,root) %{_libdir}/vhook/null.so
d2af4612 318%attr(755,root,root) %{_libdir}/vhook/ppm.so
d7493de8 319%attr(755,root,root) %{_libdir}/vhook/watermark.so
2a60eebe 320
539b540f
JB
321%files devel
322%defattr(644,root,root,755)
54ec280e 323%doc doc/optimization.txt
539b540f
JB
324%attr(755,root,root) %{_libdir}/libavcodec.so
325%attr(755,root,root) %{_libdir}/libavformat.so
d7493de8 326%attr(755,root,root) %{_libdir}/libavutil.so
d2af4612 327%attr(755,root,root) %{_libdir}/libpostproc.so
ee032235 328%attr(755,root,root) %{_libdir}/libswscale.so
539b540f 329%{_includedir}/ffmpeg
c32b589f 330%{_includedir}/postproc
d7493de8 331%{_pkgconfigdir}/*.pc
539b540f 332
9cf4d8a4
JB
333%files static
334%defattr(644,root,root,755)
335%{_libdir}/lib*.a
af49d6ab
JB
336
337%files ffplay
338%defattr(644,root,root,755)
339%attr(755,root,root) %{_bindir}/ffplay
340%{_mandir}/man1/ffplay.1*
341
342%if %{with imlib2}
343%files vhook-imlib2
344%defattr(644,root,root,755)
345%attr(755,root,root) %{_libdir}/vhook/imlib2.so
346%endif
fde29260
ER
347
348%files ffserver
349%defattr(644,root,root,755)
350%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
351%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
352%attr(755,root,root) %{_sbindir}/ffserver
353%attr(754,root,root) /etc/rc.d/init.d/ffserver
354%{_mandir}/man1/ffserver.1*
38cf6de3
ER
355%dir %attr(770,root,ffserver) /var/cache/ffserver
356%dir %attr(770,root,ffserver) /var/log/ffserver
This page took 0.396068 seconds and 4 git commands to generate.