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