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