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