]> git.pld-linux.org Git - packages/ffmpeg.git/blob - ffmpeg.spec
- release 2
[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.5
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:  b34164bd181f4f81c21da3dd131d919d
74 Source1:        ffserver.init
75 Source2:        ffserver.sysconfig
76 Source3:        ffserver.conf
77 Patch0:         %{name}-kvazaar.patch
78 Patch1:         %{name}-utvideo.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-0.4-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 >= 15.4}
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 >= 15.4}
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-0.4-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 >= 15.4}
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         %{!?with_doc:--disable-doc} \
465         --enable-avfilter \
466         --enable-avresample \
467         %{?with_decklink:--enable-decklink} \
468         --enable-gnutls \
469         --enable-gpl \
470         --enable-version3 \
471         --enable-fontconfig \
472         %{?with_frei0r:--enable-frei0r} \
473         %{?with_ladspa:--enable-ladspa} \
474         --enable-libass \
475         --enable-libbluray \
476         %{?with_bs2b:--enable-libbs2b} \
477         %{?with_caca:--enable-libcaca} \
478         --enable-libcelt \
479         --enable-libcdio \
480         --enable-libdc1394 \
481         %{?with_dcadec:--enable-libdcadec} \
482         %{?with_flite:--enable-libflite} \
483         --enable-libfreetype \
484         %{?with_fribidi:--enable-libfribidi} \
485         %{?with_gme:--enable-libgme} \
486         --enable-libgsm \
487         --enable-libiec61883 \
488         %{?with_ilbc:--enable-libilbc} \
489         %{?with_kvazaar:--enable-libkvazaar} \
490         %{?with_mfx:--enable-libmfx} \
491         --enable-libmodplug \
492         --enable-libmp3lame \
493         --enable-libnut \
494         --enable-libopencore-amrnb \
495         --enable-libopencore-amrwb \
496         %{?with_opencv:--enable-libopencv} \
497         %{?with_openh264:--enable-libopenh264} \
498         --enable-libopenjpeg \
499         --enable-libopus \
500         %{?with_pulseaudio:--enable-libpulse} \
501         %{?with_quvi:--enable-libquvi} \
502         --enable-librtmp \
503         --enable-libschroedinger \
504         %{?with_shine:--enable-libshine} \
505         %{?with_smb:--enable-libsmbclient} \
506         %{?with_snappy:--enable-libsnappy} \
507         %{?with_soxr:--enable-libsoxr} \
508         --enable-libspeex \
509         %{?with_ssh:--enable-libssh} \
510         --enable-libtheora \
511         --enable-libtwolame \
512         %{?with_utvideo:--enable-libutvideo} \
513         --enable-libv4l2 \
514         %{?with_vidstab:--enable-libvidstab} \
515         --enable-libvo-aacenc \
516         --enable-libvo-amrwbenc \
517         --enable-libvorbis \
518         %{?with_vpx:--enable-libvpx} \
519         %{?with_wavpack:--enable-libwavpack} \
520         %{?with_webp:--enable-libwebp} \
521         %{?with_x264:--enable-libx264} \
522         %{?with_x265:--enable-libx265} \
523         --enable-libxavs \
524         --enable-libxvid \
525         %{?with_zmq:--enable-libzmq} \
526         %{?with_zvbi:--enable-libzvbi} \
527         %{?with_openal:--enable-openal} \
528         %{?with_opencl:--enable-opencl} \
529         %{?with_opengl:--enable-opengl} \
530         --enable-postproc \
531         --enable-pthreads \
532         --enable-shared \
533         --enable-swscale \
534         %{!?with_va:--disable-vaapi} \
535         --enable-x11grab \
536 %ifnarch %{ix86} %{x8664}
537         --disable-mmx \
538 %endif
539 %ifarch i386 i486
540         --disable-mmx \
541 %endif
542 %ifarch x32
543         --disable-asm \
544 %endif
545 %if %{with nonfree}
546         --enable-nonfree \
547         %{?with_aacplus:--enable-libaacplus} \
548         %{?with_faac:--enable-libfaac} \
549         %{?with_fdk_aac:--enable-libfdk-aac} \
550         %{?with_nvenc:--enable-nvenc} \
551 %endif
552         --enable-runtime-cpudetect
553
554 %{__make} \
555         V=1
556
557 # CC_O to add -c to commandline. makefile should be patched
558 %{__make} tools/qt-faststart V=1 CC_O='-c -o $@'
559
560 %{?with_tests:%{__make} check V=1}
561
562 %install
563 rm -rf $RPM_BUILD_ROOT
564 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
565         $RPM_BUILD_ROOT%{_includedir}/ffmpeg \
566         $RPM_BUILD_ROOT/var/{cache,log}/ffserver
567
568 %{__make} install install-headers \
569         DESTDIR=$RPM_BUILD_ROOT \
570         V=1
571
572 # install nonstandard, non-public headers manually
573 cp -a config.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
574 for a in libavutil/*/{asm,bswap}.h; do
575         install -Dp $a $RPM_BUILD_ROOT%{_includedir}/$a
576 done
577 cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat
578 # for lim-omx ffmpeg components
579 cp -a libavcodec/audioconvert.h $RPM_BUILD_ROOT%{_includedir}/libavcodec
580
581 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver
582 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver
583 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ffserver.conf
584 mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
585 install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
586
587 # install as ffmpeg-avconfig to avoid with possible programs looking for
588 # ffmpeg-config and expecting --libs output from it which is not implemented
589 # simple to do (by querying pkgconfig), but why?
590 install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig
591
592 # packaged as %doc in -doc
593 %if %{with doc}
594 %{__rm} $RPM_BUILD_ROOT%{_docdir}/ffmpeg/*.html
595 %endif
596
597 install -d $RPM_BUILD_ROOT%{_examplesdir}
598 %{__mv} $RPM_BUILD_ROOT%{_datadir}/ffmpeg/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
599
600 %clean
601 rm -rf $RPM_BUILD_ROOT
602
603 %post   libs -p /sbin/ldconfig
604 %postun libs -p /sbin/ldconfig
605
606 %pre ffserver
607 %groupadd -g 167 ffserver
608 %useradd -g ffserver -u 167 ffserver
609
610 %post ffserver
611 /sbin/chkconfig --add ffserver
612 %service ffserver restart
613
614 %preun ffserver
615 if [ "$1" = 0 ]; then
616         %service ffserver stop
617         /sbin/chkconfig --del ffserver
618 fi
619
620 %postun ffserver
621 if [ "$1" = 0 ]; then
622         %userremove ffserver
623         %groupremove ffserver
624 fi
625
626 %files
627 %defattr(644,root,root,755)
628 %doc CREDITS LICENSE.md MAINTAINERS README.md RELEASE_NOTES doc/APIchanges
629 %attr(755,root,root) %{_bindir}/ffmpeg
630 %attr(755,root,root) %{_bindir}/ffprobe
631 %attr(755,root,root) %{_bindir}/qt-faststart
632 %dir %{_datadir}/ffmpeg
633 %{_datadir}/ffmpeg/*.ffpreset
634 %{_datadir}/ffmpeg/ffprobe.xsd
635 %if %{with doc}
636 %{_mandir}/man1/ffmpeg.1*
637 %{_mandir}/man1/ffmpeg-all.1*
638 %{_mandir}/man1/ffmpeg-bitstream-filters.1*
639 %{_mandir}/man1/ffmpeg-codecs.1*
640 %{_mandir}/man1/ffmpeg-devices.1*
641 %{_mandir}/man1/ffmpeg-filters.1*
642 %{_mandir}/man1/ffmpeg-formats.1*
643 %{_mandir}/man1/ffmpeg-protocols.1*
644 %{_mandir}/man1/ffmpeg-resampler.1*
645 %{_mandir}/man1/ffmpeg-scaler.1*
646 %{_mandir}/man1/ffmpeg-utils.1*
647 %{_mandir}/man1/ffprobe.1*
648 %{_mandir}/man1/ffprobe-all.1*
649 %endif
650
651 %files libs
652 %defattr(644,root,root,755)
653 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
654 %attr(755,root,root) %ghost %{_libdir}/libavcodec.so.56
655 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
656 %attr(755,root,root) %ghost %{_libdir}/libavdevice.so.56
657 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
658 %attr(755,root,root) %ghost %{_libdir}/libavfilter.so.5
659 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
660 %attr(755,root,root) %ghost %{_libdir}/libavformat.so.56
661 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
662 %attr(755,root,root) %ghost %{_libdir}/libavresample.so.2
663 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
664 %attr(755,root,root) %ghost %{_libdir}/libavutil.so.54
665 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
666 %attr(755,root,root) %ghost %{_libdir}/libpostproc.so.53
667 %attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
668 %attr(755,root,root) %ghost %{_libdir}/libswresample.so.1
669 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
670 %attr(755,root,root) %ghost %{_libdir}/libswscale.so.3
671
672 %files devel
673 %defattr(644,root,root,755)
674 %doc doc/optimization.txt
675 %attr(755,root,root) %{_bindir}/ffmpeg-avconfig
676 %attr(755,root,root) %{_libdir}/libavcodec.so
677 %attr(755,root,root) %{_libdir}/libavdevice.so
678 %attr(755,root,root) %{_libdir}/libavfilter.so
679 %attr(755,root,root) %{_libdir}/libavformat.so
680 %attr(755,root,root) %{_libdir}/libavresample.so
681 %attr(755,root,root) %{_libdir}/libavutil.so
682 %attr(755,root,root) %{_libdir}/libpostproc.so
683 %attr(755,root,root) %{_libdir}/libswresample.so
684 %attr(755,root,root) %{_libdir}/libswscale.so
685 %{_includedir}/ffmpeg
686 %{_includedir}/libavcodec
687 %{_includedir}/libavdevice
688 %{_includedir}/libavfilter
689 %{_includedir}/libavformat
690 %{_includedir}/libavresample
691 %{_includedir}/libavutil
692 %{_includedir}/libpostproc
693 %{_includedir}/libswresample
694 %{_includedir}/libswscale
695 %{_pkgconfigdir}/libavcodec.pc
696 %{_pkgconfigdir}/libavdevice.pc
697 %{_pkgconfigdir}/libavfilter.pc
698 %{_pkgconfigdir}/libavformat.pc
699 %{_pkgconfigdir}/libavresample.pc
700 %{_pkgconfigdir}/libavutil.pc
701 %{_pkgconfigdir}/libpostproc.pc
702 %{_pkgconfigdir}/libswresample.pc
703 %{_pkgconfigdir}/libswscale.pc
704 %if %{with doc}
705 %{_mandir}/man3/libavcodec.3*
706 %{_mandir}/man3/libavdevice.3*
707 %{_mandir}/man3/libavfilter.3*
708 %{_mandir}/man3/libavformat.3*
709 %{_mandir}/man3/libavutil.3*
710 %{_mandir}/man3/libswresample.3*
711 %{_mandir}/man3/libswscale.3*
712 %endif
713 %{_examplesdir}/%{name}-%{version}
714
715 %files static
716 %defattr(644,root,root,755)
717 %{_libdir}/libavcodec.a
718 %{_libdir}/libavdevice.a
719 %{_libdir}/libavfilter.a
720 %{_libdir}/libavformat.a
721 %{_libdir}/libavresample.a
722 %{_libdir}/libavutil.a
723 %{_libdir}/libpostproc.a
724 %{_libdir}/libswresample.a
725 %{_libdir}/libswscale.a
726
727 %files ffplay
728 %defattr(644,root,root,755)
729 %attr(755,root,root) %{_bindir}/ffplay
730 %if %{with doc}
731 %{_mandir}/man1/ffplay.1*
732 %{_mandir}/man1/ffplay-all.1*
733 %endif
734
735 %files ffserver
736 %defattr(644,root,root,755)
737 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
738 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
739 %attr(755,root,root) %{_sbindir}/ffserver
740 %attr(754,root,root) /etc/rc.d/init.d/ffserver
741 %if %{with doc}
742 %{_mandir}/man1/ffserver.1*
743 %{_mandir}/man1/ffserver-all.1*
744 %endif
745 %dir %attr(770,root,ffserver) /var/cache/ffserver
746 %dir %attr(770,root,ffserver) /var/log/ffserver
747
748 %if %{with doc}
749 %files doc
750 %defattr(644,root,root,755)
751 %doc doc/*.html
752 %endif
This page took 0.106347 seconds and 4 git commands to generate.