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