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