]> git.pld-linux.org Git - packages/ffmpeg.git/blob - ffmpeg.spec
4987575309f6ed7d72830592891cd586ce339d62
[packages/ffmpeg.git] / ffmpeg.spec
1 #
2 # How to deal with ffmpeg/opencv checken-egg problem:
3 #       1. make-request -r --without opencv ffmpeg.spec
4 #       2. make-request -r opencv.spec
5 #       3. bump release of ffmpeg.spec
6 #       4. make-request -r ffmpeg.spec
7 #
8 # Conditional build:
9 %bcond_with     nonfree         # non free options of package (currently: faac)
10 %bcond_with     aacplus         # AAC+ encoding via libaacplus (requires nonfree)
11 %bcond_with     fdk_aac         # AAC de/encoding via libfdk_aac (requires nonfree)
12 %bcond_without  bs2b            # BS2B audio filter support
13 %bcond_without  caca            # textual display using libcaca
14 %bcond_without  decklink        # Blackmagic DeskLink output support
15 %bcond_without  flite           # flite voice synthesis support
16 %bcond_without  frei0r          # frei0r video filtering
17 %bcond_without  fribidi         # fribidi support
18 %bcond_without  gme             # Game Music Emu support
19 %bcond_without  ilbc            # iLBC de/encoding via WebRTC libilbc
20 %bcond_without  ladspa          # LADSPA audio filtering
21 %bcond_without  ssh             # SFTP protocol support via libssh
22 %bcond_without  openal          # OpenAL 1.1 capture support
23 %bcond_without  opencl          # OpenCL 1.2 code
24 %bcond_without  opengl          # OpenGL rendering support
25 %bcond_without  opencv          # OpenCV video filtering
26 %bcond_without  pulseaudio      # PulseAudio input support
27 %bcond_without  quvi            # quvi input support
28 %bcond_without  shine           # shine fixed-point MP3 encoder
29 %bcond_with     smb             # SMB support via libsmbclient
30 %bcond_without  soxr            # SoX Resampler support
31 %bcond_without  x264            # H.264 x264 encoder
32 %bcond_without  x265            # H.265/HEVC x265 encoder
33 %bcond_without  utvideo         # Ut Video decoder
34 %bcond_without  va              # VAAPI (Video Acceleration API)
35 %bcond_without  vidstab         # vid.stab video stabilization support
36 %bcond_without  vpx             # VP8, a high-quality video codec
37 %bcond_without  wavpack         # wavpack encoding support
38 %bcond_without  webp            # WebP encoding support
39 %bcond_without  zmq             # 0MQ message passing
40 %bcond_without  zvbi            # teletext via libzvbi
41 %bcond_without  doc             # don't build docs
42 %bcond_with     tests           # "make check" (some tests fail as of 2.5)
43
44 %ifnarch %{ix86} %{x8664} arm
45 %undefine       with_x265
46 %endif
47 %ifarch i386 i486
48 %undefine       with_x265
49 %endif
50 Summary:        FFmpeg - a very fast video and audio converter
51 Summary(pl.UTF-8):      FFmpeg - szybki konwerter audio/wideo
52 Name:           ffmpeg
53 Version:        2.5.3
54 Release:        3
55 # LGPL or GPL, chosen at configure time (GPL version is more featured)
56 # (postprocessing, some filters, x264, x265, xavs, xvid, x11grab)
57 # using v3 allows Apache-licensed libs (opencore-amr, libvo-*enc)
58 License:        GPL v3+ with LGPL v3+ parts
59 Group:          Applications/Multimedia
60 Source0:        http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2
61 # Source0-md5:  efba7c5cfbea9ce58ff693cd08f90ffa
62 Source1:        ffserver.init
63 Source2:        ffserver.sysconfig
64 Source3:        ffserver.conf
65 URL:            http://www.ffmpeg.org/
66 %{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK}
67 %{?with_openal:BuildRequires:   OpenAL-devel >= 1.1}
68 %{?with_opencl:BuildRequires:   OpenCL-devel >= 1.2}
69 %{?with_opengl:BuildRequires:   OpenGL-GLX-devel}
70 BuildRequires:  SDL-devel >= 1.2.1
71 BuildRequires:  alsa-lib-devel
72 BuildRequires:  bzip2-devel
73 BuildRequires:  celt-devel >= 0.11.0
74 %{?with_nonfree:BuildRequires:  faac-devel}
75 %{?with_fdk_aac:BuildRequires:  fdk-aac-devel}
76 %{?with_flite:BuildRequires:    flite-devel >= 1.4}
77 BuildRequires:  fontconfig-devel
78 BuildRequires:  freetype-devel
79 %{?with_frei0r:BuildRequires:   frei0r-devel}
80 %{?with_fribidi:BuildRequires:  fribidi-devel}
81 %{?with_gme:BuildRequires:      game-music-emu-devel}
82 %ifarch ppc
83 # require version with altivec support fixed
84 BuildRequires:  gcc >= 5:3.3.2-3
85 %endif
86 BuildRequires:  gnutls-devel
87 BuildRequires:  jack-audio-connection-kit-devel
88 %{?with_ladspa:BuildRequires:   ladspa-devel}
89 BuildRequires:  lame-libs-devel >= 3.98.3
90 %{?with_aacplus:BuildRequires:  libaacplus-devel >= 2.0.0}
91 BuildRequires:  libass-devel
92 BuildRequires:  libavc1394-devel
93 %{?with_bs2b:BuildRequires:     libbs2b-devel}
94 BuildRequires:  libbluray-devel
95 %{?with_caca:BuildRequires:     libcaca-devel}
96 BuildRequires:  libcdio-paranoia-devel >= 0.90-2
97 BuildRequires:  libdc1394-devel >= 2
98 BuildRequires:  libgsm-devel
99 BuildRequires:  libiec61883-devel
100 BuildRequires:  libmodplug-devel
101 BuildRequires:  libnut-devel
102 %{?with_quvi:BuildRequires:     libquvi-devel}
103 BuildRequires:  libraw1394-devel >= 2
104 BuildRequires:  librtmp-devel
105 %{?with_ssh:BuildRequires:      libssh-devel}
106 %{?with_smb:BuildRequires:      libsmbclient-devel}
107 BuildRequires:  libtheora-devel >= 1.0-0.beta3
108 BuildRequires:  libtool >= 2:1.4d-3
109 BuildRequires:  libv4l-devel
110 %{?with_va:BuildRequires:       libva-devel >= 1.0.3}
111 BuildRequires:  libvdpau-devel >= 0.2
112 BuildRequires:  libvorbis-devel
113 %{?with_vpx:BuildRequires:      libvpx-devel >= 1.3.0}
114 %{?with_webp:BuildRequires:     libwebp-devel >= 0.2.0}
115 # X264_BUILD >= 118
116 %{?with_x264:BuildRequires:     libx264-devel >= 0.1.3-1.20111212_2245}
117 # X265_BUILD >= 17
118 %{?with_x265:BuildRequires:     libx265-devel >= 1.3}
119 # libxcb xcb-shm xcb-xfixes xcb-shape
120 BuildRequires:  libxcb-devel
121 %ifarch %{ix86}
122 %ifnarch i386 i486
123 BuildRequires:  nasm
124 %endif
125 %endif
126 BuildRequires:  opencore-amr-devel
127 %{?with_opencv:BuildRequires:   opencv-devel}
128 BuildRequires:  openjpeg-devel >= 1.5
129 BuildRequires:  opus-devel
130 BuildRequires:  perl-Encode
131 BuildRequires:  perl-tools-pod
132 BuildRequires:  pkgconfig
133 %{?with_pulseaudio:BuildRequires:       pulseaudio-devel}
134 BuildRequires:  rpmbuild(macros) >= 1.470
135 BuildRequires:  schroedinger-devel
136 %{?with_shine:BuildRequires:    shine-devel >= 3.0.0}
137 %{?with_soxr:BuildRequires:     soxr-devel}
138 BuildRequires:  speex-devel >= 1:1.2-rc1
139 %{?with_doc:BuildRequires:      tetex}
140 %{?with_doc:BuildRequires:      texi2html}
141 %{?with_doc:BuildRequires:      texinfo}
142 BuildRequires:  twolame-devel
143 %{?with_utvideo:BuildRequires:  utvideo-devel >= 12}
144 %{?with_vidstab:BuildRequires:  vid.stab-devel >= 0.98}
145 BuildRequires:  vo-aacenc-devel
146 BuildRequires:  vo-amrwbenc-devel
147 %{?with_wavpack:BuildRequires:  wavpack-devel}
148 %{?with_ilbc:BuildRequires:     webrtc-libilbc-devel}
149 BuildRequires:  xavs-devel
150 BuildRequires:  xorg-lib-libX11-devel
151 BuildRequires:  xorg-lib-libXext-devel
152 BuildRequires:  xorg-lib-libXfixes-devel
153 BuildRequires:  xvid-devel >= 1:1.1.0
154 BuildRequires:  yasm
155 %{?with_zmq:BuildRequires:      zeromq-devel}
156 %{?with_zvbi:BuildRequires:     zvbi-devel}
157 BuildRequires:  zlib-devel
158 %{?with_autoreqdep:BuildConflicts:      libpostproc}
159 # overflows maximum hash table size
160 BuildConflicts: pdksh < 5.2.14-57
161 Requires:       %{name}-libs = %{version}-%{release}
162 %{?with_utvideo:Requires:       utvideo >= 12}
163 %{?with_ilbc:Requires:  webrtc-libilbc}
164 Requires:       xvid >= 1:1.1.0
165 Obsoletes:      libpostproc
166 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
167
168 %define         _noautoreqdep   libGL.so.1 libGLU.so.1
169
170 %define         specflags       -fno-strict-aliasing
171
172 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
173 %define         specflags_ia32  -fomit-frame-pointer
174 # -mmmx is needed to enable <mmintrin.h> code.
175 %define         specflags_i586  -mmmx
176 %define         specflags_i686  -mmmx
177 %define         specflags_ppc   -fPIC
178
179 %description
180 FFmpeg is a complete solution to record, convert and stream audio and
181 video. It is a command line tool to convert one video file format to
182 another. It also supports grabbing and encoding in real time from a TV
183 card.
184
185 %description -l pl.UTF-8
186 FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji
187 strumieni dźwięku i obrazu. Jest to działające z linii poleceń
188 narzędzie do konwersji obrazu z jednego formatu do innego. Obsługuje
189 także przechwytywanie i kodowanie w czasie rzeczywistym z karty
190 telewizyjnej.
191
192 %package libs
193 Summary:        ffmpeg libraries
194 Summary(pl.UTF-8):      Biblioteki ffmpeg
195 Group:          Libraries
196 %if "%(rpm -q --qf '%{V}' gnutls-devel)" >= "3.0.20"
197 # uses gnutls_certificate_set_x509_system_trust if >= 3.0.20
198 Requires:       gnutls-libs >= 3.0.20
199 %endif
200 %{?with_vpx:Requires:   libvpx >= 1.3.0}
201
202 %description libs
203 This package contains the ffmpeg shared libraries:
204 - the codec library (libavcodec). It supports most existing encoding
205   formats (MPEG, DivX, MPEG4, AC3, DV...),
206 - demuxer library (libavformat). It supports most existing file
207   formats (AVI, MPEG, OGG, Matroska, ASF...),
208 - video postprocessing library (libpostproc).
209
210 %description libs -l pl.UTF-8
211 Ten pakiet zawiera biblioteki współdzielone ffmpeg:
212 - bibliotekę kodeków (libavcodec); obsługuje większość istniejących
213   formatów kodowania (MPEG, DivX, MPEG4, AC3, DV...),
214 - bibliotekę demuksera (libavformat); obsługuje większość istniejących
215   formatów plików (AVI, MPEG, OGG, Matroska, ASF...),
216 - bibliotekę postprocessingu (libpostproc).
217
218 %package devel
219 Summary:        ffmpeg header files
220 Summary(pl.UTF-8):      Pliki nagłówkowe ffmpeg
221 Group:          Development/Libraries
222 Requires:       %{name}-libs = %{version}-%{release}
223 # Libs.private from *.pc (unreasonably they are all the same)
224 %{?with_opencl:Requires:        OpenCL-devel >= 1.2}
225 %{?with_opengl:Requires:        OpenGL-devel}
226 Requires:       SDL-devel >= 1.2.1
227 Requires:       alsa-lib-devel
228 Requires:       bzip2-devel
229 Requires:       celt-devel >= 0.11.0
230 %{?with_nonfree:Requires:       faac-devel}
231 %{?with_fdk_aac:Requires:       fdk-aac-devel}
232 %{?with_flite:Requires: flite-devel >= 1.4}
233 Requires:       fontconfig-devel
234 Requires:       freetype-devel
235 %{?with_fribidi:Requires:       fribidi-devel}
236 %{?with_gme:Requires:   game-music-emu-devel}
237 Requires:       jack-audio-connection-kit-devel
238 Requires:       lame-libs-devel >= 3.98.3
239 %{?with_aacplus:Requires:       libaacplus-devel >= 2.0.0}
240 Requires:       libass-devel
241 Requires:       libavc1394-devel
242 Requires:       libbluray-devel
243 %{?with_bs2b:Requires:  libbs2b-devel}
244 %{?with_caca:Requires:  libcaca-devel}
245 Requires:       libcdio-paranoia-devel >= 0.90-2
246 Requires:       libdc1394-devel >= 2
247 Requires:       libgsm-devel
248 Requires:       libiec61883-devel
249 Requires:       libmodplug-devel
250 Requires:       libnut-devel
251 %{?with_quvi:Requires:  libquvi-devel}
252 Requires:       libraw1394-devel >= 2
253 Requires:       librtmp-devel
254 %{?with_smb:Requires:   libsmbclient-devel}
255 Requires:       libtheora-devel >= 1.0-0.beta3
256 %{?with_va:Requires:    libva-devel >= 1.0.3}
257 Requires:       libvorbis-devel
258 %{?with_vpx:Requires:   libvpx-devel >= 1.3.0}
259 %{?with_webp:Requires:  libwebp-devel >= 0.2.0}
260 %{?with_x264:Requires:  libx264-devel >= 0.1.3-1.20110625_2245}
261 %{?with_x265:Requires:  libx265-devel >= 0.7}
262 Requires:       opencore-amr-devel
263 %{?with_opencv:Requires:        opencv-devel}
264 Requires:       openjpeg-devel >= 1.5
265 Requires:       schroedinger-devel
266 %{?with_shine:Requires: shine-devel >= 3.0.0}
267 %{?with_soxr:Requires:  soxr-devel}
268 Requires:       speex-devel >= 1:1.2-rc1
269 Requires:       twolame-devel
270 %{?with_utvideo:Requires:       utvideo-devel >= 12}
271 %{?with_vidstab:Requires:       vid.stab-devel >= 0.98}
272 Requires:       vo-aacenc-devel
273 Requires:       vo-amrwbenc-devel
274 %{?with_wavpack:Requires:       wavpack-devel}
275 %{?with_ilbc:Requires:  webrtc-libilbc-devel}
276 Requires:       xavs-devel
277 Requires:       xorg-lib-libXext-devel
278 Requires:       xorg-lib-libXfixes-devel
279 Requires:       xvid-devel >= 1:1.1.0
280 %{?with_zmq:Requires:   zeromq-devel}
281 Requires:       zlib-devel
282 Obsoletes:      libpostproc-devel
283
284 %description devel
285 ffmpeg header files.
286
287 %description devel -l pl.UTF-8
288 Pliki nagłówkowe ffmpeg.
289
290 %package static
291 Summary:        ffmpeg static libraries
292 Summary(pl.UTF-8):      Statyczne biblioteki ffmpeg
293 Group:          Development/Libraries
294 Requires:       %{name}-devel = %{version}-%{release}
295
296 %description static
297 ffmpeg static libraries (libavcodec and libavformat).
298
299 %description static -l pl.UTF-8
300 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
301
302 %package ffplay
303 Summary:        FFplay - SDL-based media player
304 Summary(pl.UTF-8):      FFplay - odtwarzacz mediów oparty na SDL
305 Group:          Applications/Multimedia
306 Requires:       %{name}-libs = %{version}-%{release}
307
308 %description ffplay
309 FFplay is a very simple and portable media player using the FFmpeg
310 libraries and the SDL library. It is mostly used as a test bench for
311 the various APIs of FFmpeg.
312
313 %description ffplay -l pl.UTF-8
314 FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
315 bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
316 testowania różnych API FFmpeg.
317
318 %package ffserver
319 Summary:        FFserver video server
320 Summary(pl.UTF-8):      FFserver - serwer strumieni obrazu
321 Group:          Daemons
322 Requires(post,preun):   /sbin/chkconfig
323 Requires:       %{name}-libs = %{version}-%{release}
324 Requires:       rc-scripts >= 0.4.0.10
325
326 %description ffserver
327 FFserver is a streaming server for both audio and video. It supports
328 several live feeds, streaming from files and time shifting on live
329 feeds (you can seek to positions in the past on each live feed,
330 provided you specify a big enough feed storage in ffserver.conf).
331
332 %description ffserver -l pl.UTF-8
333 FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
334 źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
335 czasie dla źródeł na żywo (można przeskakiwać na położenia w
336 przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
337 dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
338
339 %package doc
340 Summary:        FFmpeg documentation in HTML format
341 Summary(pl.UTF-8):      Dokumentacja pakietu FFmpeg w formacie HTML
342 Group:          Documentation
343 %if "%{_rpmversion}" >= "5"
344 BuildArch:      noarch
345 %endif
346
347 %description doc
348 FFmpeg documentation in HTML format.
349
350 %description doc -l pl.UTF-8
351 Dokumentacja pakietu FFmpeg w formacie HTML.
352
353 %prep
354 %setup -q
355
356 # package the grep result for mplayer, the result formatted as ./mplayer/configure
357 cat <<EOF > ffmpeg-avconfig
358 #! /bin/sh
359 libavdecoders_all="$(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
360 libavencoders_all="$(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
361 libavparsers_all="$(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
362 libavbsfs_all="$(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
363 libavdemuxers_all="$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
364 libavmuxers_all="$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
365 libavprotocols_all="$(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
366 libavhwaccels_all="$(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
367 libavfilters_all="$(sed -n 's/^[^#]*FILTER.*(.*, *\(.*\),.*).*/\1_filter/p' libavfilter/allfilters.c | tr '[a-z]' '[A-Z]')"
368 EOF
369 cat <<'EOF' >> ffmpeg-avconfig
370
371 case "$1" in
372 --decoders)
373         echo $libavdecoders_all
374         ;;
375 --encoders)
376         echo $libavencoders_all
377         ;;
378 --parsers)
379         echo $libavparsers_all
380         ;;
381 --bsfs)
382         echo $libavbsfs_all
383         ;;
384 --demuxers)
385         echo $libavdemuxers_all
386         ;;
387 --muxers)
388         echo $libavmuxers_all
389         ;;
390 --protocols)
391         echo $libavprotocols_all
392         ;;
393 --hwaccels)
394         echo $libavhwaccels_all
395         ;;
396 --filters)
397         echo $libavfilters_all
398         ;;
399 *)
400         cat <<USAGE
401 Usage: $0 [OPTION]
402 Options:
403   --decoders
404   --encoders
405   --parsers
406   --bsfs
407   --demuxers
408   --muxers
409   --protocols
410   --hwaccels
411   --filters
412 USAGE
413         exit 1;;
414 esac
415
416 exit 0
417 EOF
418
419 %build
420 # notes:
421 # - it's not autoconf configure
422 # - --disable-debug, --disable-optimizations, tune=generic causes not to override our optflags
423 ./configure \
424         --arch=%{_target_base_arch} \
425         --prefix=%{_prefix} \
426         --libdir=%{_libdir} \
427         --shlibdir=%{_libdir} \
428         --mandir=%{_mandir} \
429         --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}%{?with_decklink: -I/usr/include/decklink}" \
430         --extra-ldflags="%{rpmcflags} %{rpmldflags}" \
431         --cc="%{__cc}" \
432         --disable-debug \
433         --disable-optimizations \
434         --disable-stripping \
435         --enable-avfilter \
436         --enable-avresample \
437         %{?with_decklink:--enable-decklink} \
438         --enable-gnutls \
439         --enable-gpl \
440         --enable-version3 \
441         --enable-fontconfig \
442         %{?with_frei0r:--enable-frei0r} \
443         %{?with_ladspa:--enable-ladspa} \
444         %{?with_aacplus:--enable-libaacplus} \
445         --enable-libass \
446         --enable-libbluray \
447         %{?with_bs2b:--enable-libbs2b} \
448         %{?with_caca:--enable-libcaca} \
449         --enable-libcelt \
450         --enable-libcdio \
451         --enable-libdc1394 \
452         %{?with_fdk_aac:--enable-libfdk-aac} \
453         %{?with_flite:--enable-libflite} \
454         --enable-libfreetype \
455         %{?with_fribidi:--enable-libfribidi} \
456         %{?with_gme:--enable-libgme} \
457         --enable-libgsm \
458         --enable-libiec61883 \
459         %{?with_ilbc:--enable-libilbc} \
460         --enable-libmodplug \
461         --enable-libmp3lame \
462         --enable-libnut \
463         --enable-libopencore-amrnb \
464         --enable-libopencore-amrwb \
465         %{?with_opencv:--enable-libopencv} \
466         --enable-libopenjpeg \
467         --enable-libopus \
468         %{?with_pulseaudio:--enable-libpulse} \
469         %{?with_quvi:--enable-libquvi} \
470         --enable-librtmp \
471         --enable-libschroedinger \
472         %{?with_shine:--enable-libshine} \
473         %{?with_smb:--enable-libsmbclient} \
474         %{?with_soxr:--enable-libsoxr} \
475         --enable-libspeex \
476         %{?with_ssh:--enable-libssh} \
477         --enable-libtheora \
478         --enable-libtwolame \
479         %{?with_utvideo:--enable-libutvideo} \
480         --enable-libv4l2 \
481         %{?with_vidstab:--enable-libvidstab} \
482         --enable-libvo-aacenc \
483         --enable-libvo-amrwbenc \
484         --enable-libvorbis \
485         %{?with_vpx:--enable-libvpx} \
486         %{?with_wavpack:--enable-libwavpack} \
487         %{?with_webp:--enable-libwebp} \
488         %{?with_x264:--enable-libx264} \
489         %{?with_x265:--enable-libx265} \
490         --enable-libxavs \
491         --enable-libxvid \
492         %{?with_zmq:--enable-libzmq} \
493         %{?with_zvbi:--enable-libzvbi} \
494         %{?with_openal:--enable-openal} \
495         %{?with_opencl:--enable-opencl} \
496         %{?with_opengl:--enable-opengl} \
497         --enable-postproc \
498         --enable-pthreads \
499         --enable-shared \
500         --enable-swscale \
501         %{!?with_va:--disable-vaapi} \
502         --enable-x11grab \
503 %ifnarch %{ix86} %{x8664}
504         --disable-mmx \
505 %endif
506 %ifarch i386 i486
507         --disable-mmx \
508 %endif
509 %if %{with nonfree}
510         --enable-nonfree \
511         --enable-libfaac \
512 %endif
513         --enable-runtime-cpudetect
514
515 %{__make} \
516         V=1
517
518 # CC_O to add -c to commandline. makefile should be patched
519 %{__make} tools/qt-faststart V=1 CC_O='-c -o $@'
520
521 %{?with_tests:%{__make} check V=1}
522
523 %install
524 rm -rf $RPM_BUILD_ROOT
525 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
526         $RPM_BUILD_ROOT%{_includedir}/ffmpeg \
527         $RPM_BUILD_ROOT/var/{cache,log}/ffserver
528
529 %{__make} install install-headers \
530         DESTDIR=$RPM_BUILD_ROOT \
531         V=1
532
533 # install nonstandard, non-public headers manually
534 cp -a config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
535 for a in libavutil/*/{asm,bswap}.h; do
536         install -Dp $a $RPM_BUILD_ROOT%{_includedir}/$a
537 done
538 cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
539 # for lim-omx ffmpeg components
540 cp -a libavcodec/audioconvert.h $RPM_BUILD_ROOT%{_includedir}/libavcodec
541
542 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
543 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
544 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
545 mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
546 install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
547
548 # install as ffmpeg-avconfig to avoid with possible programs looking for
549 # ffmpeg-config and expecting --libs output from it which is not implemented
550 # simple to do (by querying pkgconfig), but why?
551 install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig
552
553 # packaged as %doc in -doc
554 %{__rm} $RPM_BUILD_ROOT%{_docdir}/ffmpeg/*.html
555
556 install -d $RPM_BUILD_ROOT%{_examplesdir}
557 %{__mv} $RPM_BUILD_ROOT%{_datadir}/ffmpeg/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
558
559 %clean
560 rm -rf $RPM_BUILD_ROOT
561
562 %post   libs -p /sbin/ldconfig
563 %postun libs -p /sbin/ldconfig
564
565 %pre ffserver
566 %groupadd -g 167 ffserver
567 %useradd -g ffserver -u 167 ffserver
568
569 %post ffserver
570 /sbin/chkconfig --add ffserver
571 %service ffserver restart
572
573 %preun ffserver
574 if [ "$1" = 0 ]; then
575         %service ffserver stop
576         /sbin/chkconfig --del ffserver
577 fi
578
579 %postun ffserver
580 if [ "$1" = 0 ]; then
581         %userremove ffserver
582         %groupremove ffserver
583 fi
584
585 %files
586 %defattr(644,root,root,755)
587 %doc CREDITS LICENSE.md MAINTAINERS README.md RELEASE_NOTES doc/APIchanges
588 %attr(755,root,root) %{_bindir}/ffmpeg
589 %attr(755,root,root) %{_bindir}/ffprobe
590 %attr(755,root,root) %{_bindir}/qt-faststart
591 %dir %{_datadir}/ffmpeg
592 %{_datadir}/ffmpeg/*.ffpreset
593 %{_datadir}/ffmpeg/ffprobe.xsd
594 %if %{with doc}
595 %{_mandir}/man1/ffmpeg.1*
596 %{_mandir}/man1/ffmpeg-all.1*
597 %{_mandir}/man1/ffmpeg-bitstream-filters.1*
598 %{_mandir}/man1/ffmpeg-codecs.1*
599 %{_mandir}/man1/ffmpeg-devices.1*
600 %{_mandir}/man1/ffmpeg-filters.1*
601 %{_mandir}/man1/ffmpeg-formats.1*
602 %{_mandir}/man1/ffmpeg-protocols.1*
603 %{_mandir}/man1/ffmpeg-resampler.1*
604 %{_mandir}/man1/ffmpeg-scaler.1*
605 %{_mandir}/man1/ffmpeg-utils.1*
606 %{_mandir}/man1/ffprobe.1*
607 %{_mandir}/man1/ffprobe-all.1*
608 %endif
609
610 %files libs
611 %defattr(644,root,root,755)
612 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
613 %attr(755,root,root) %ghost %{_libdir}/libavcodec.so.56
614 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
615 %attr(755,root,root) %ghost %{_libdir}/libavdevice.so.56
616 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
617 %attr(755,root,root) %ghost %{_libdir}/libavfilter.so.5
618 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
619 %attr(755,root,root) %ghost %{_libdir}/libavformat.so.56
620 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
621 %attr(755,root,root) %ghost %{_libdir}/libavresample.so.2
622 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
623 %attr(755,root,root) %ghost %{_libdir}/libavutil.so.54
624 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
625 %attr(755,root,root) %ghost %{_libdir}/libpostproc.so.53
626 %attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
627 %attr(755,root,root) %ghost %{_libdir}/libswresample.so.1
628 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
629 %attr(755,root,root) %ghost %{_libdir}/libswscale.so.3
630
631 %files devel
632 %defattr(644,root,root,755)
633 %doc doc/optimization.txt
634 %attr(755,root,root) %{_bindir}/ffmpeg-avconfig
635 %attr(755,root,root) %{_libdir}/libavcodec.so
636 %attr(755,root,root) %{_libdir}/libavdevice.so
637 %attr(755,root,root) %{_libdir}/libavfilter.so
638 %attr(755,root,root) %{_libdir}/libavformat.so
639 %attr(755,root,root) %{_libdir}/libavresample.so
640 %attr(755,root,root) %{_libdir}/libavutil.so
641 %attr(755,root,root) %{_libdir}/libpostproc.so
642 %attr(755,root,root) %{_libdir}/libswresample.so
643 %attr(755,root,root) %{_libdir}/libswscale.so
644 %{_includedir}/ffmpeg
645 %{_includedir}/libavcodec
646 %{_includedir}/libavdevice
647 %{_includedir}/libavfilter
648 %{_includedir}/libavformat
649 %{_includedir}/libavresample
650 %{_includedir}/libavutil
651 %{_includedir}/libpostproc
652 %{_includedir}/libswresample
653 %{_includedir}/libswscale
654 %{_pkgconfigdir}/libavcodec.pc
655 %{_pkgconfigdir}/libavdevice.pc
656 %{_pkgconfigdir}/libavfilter.pc
657 %{_pkgconfigdir}/libavformat.pc
658 %{_pkgconfigdir}/libavresample.pc
659 %{_pkgconfigdir}/libavutil.pc
660 %{_pkgconfigdir}/libpostproc.pc
661 %{_pkgconfigdir}/libswresample.pc
662 %{_pkgconfigdir}/libswscale.pc
663 %if %{with doc}
664 %{_mandir}/man3/libavcodec.3*
665 %{_mandir}/man3/libavdevice.3*
666 %{_mandir}/man3/libavfilter.3*
667 %{_mandir}/man3/libavformat.3*
668 %{_mandir}/man3/libavutil.3*
669 %{_mandir}/man3/libswresample.3*
670 %{_mandir}/man3/libswscale.3*
671 %endif
672 %{_examplesdir}/%{name}-%{version}
673
674 %files static
675 %defattr(644,root,root,755)
676 %{_libdir}/libavcodec.a
677 %{_libdir}/libavdevice.a
678 %{_libdir}/libavfilter.a
679 %{_libdir}/libavformat.a
680 %{_libdir}/libavresample.a
681 %{_libdir}/libavutil.a
682 %{_libdir}/libpostproc.a
683 %{_libdir}/libswresample.a
684 %{_libdir}/libswscale.a
685
686 %files ffplay
687 %defattr(644,root,root,755)
688 %attr(755,root,root) %{_bindir}/ffplay
689 %if %{with doc}
690 %{_mandir}/man1/ffplay.1*
691 %{_mandir}/man1/ffplay-all.1*
692 %endif
693
694 %files ffserver
695 %defattr(644,root,root,755)
696 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
697 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
698 %attr(755,root,root) %{_sbindir}/ffserver
699 %attr(754,root,root) /etc/rc.d/init.d/ffserver
700 %if %{with doc}
701 %{_mandir}/man1/ffserver.1*
702 %{_mandir}/man1/ffserver-all.1*
703 %endif
704 %dir %attr(770,root,ffserver) /var/cache/ffserver
705 %dir %attr(770,root,ffserver) /var/log/ffserver
706
707 %if %{with doc}
708 %files doc
709 %defattr(644,root,root,755)
710 %doc doc/*.html
711 %endif
This page took 0.132763 seconds and 3 git commands to generate.