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