]> git.pld-linux.org Git - packages/ffmpeg.git/blob - ffmpeg.spec
- release 2 (by relup.sh)
[packages/ffmpeg.git] / ffmpeg.spec
1 #
2 # How to deal with ffmpeg/opencv checken-egg problem:
3 #       1. make-request -r --with bootstrap ffmpeg.spec
4 #       2. make-request -r opencv.spec
5 #       3. bump release of ffmpeg.spec
6 #       4. make-request -r ffmpeg.spec
7 #
8 # Conditional build:
9 %bcond_with     bootstrap       # disable features to able to build without installed ffmpeg
10 %bcond_with     nonfree         # non free options of package (currently: faac, fdk_aac, nvenc)
11 %bcond_with     fdk_aac         # AAC de/encoding via libfdk_aac (requires nonfree)
12 %bcond_with     faac            # faac (requires nonfree)
13 %bcond_without  bs2b            # BS2B audio filter support
14 %bcond_without  caca            # textual display using libcaca
15 %bcond_without  chromaprint     # audio fingerprinting with chromaprint
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  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  utvideo         # Ut Video decoder
43 %bcond_without  va              # VAAPI (Video Acceleration API)
44 %bcond_without  vidstab         # vid.stab video stabilization support
45 %bcond_without  vpx             # VP8, a high-quality video codec
46 %bcond_without  wavpack         # wavpack encoding support
47 %bcond_without  webp            # WebP encoding support
48 %bcond_without  zimg            # zscale filter based on z.lib
49 %bcond_without  zmq             # 0MQ message passing
50 %bcond_without  zvbi            # teletext via libzvbi
51 %bcond_without  doc             # don't build docs
52 %bcond_with     tests           # "make check" (some tests fail as of 2.5)
53
54 %if %{with bootstrap}
55 %undefine       with_opencv
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.0
68 Release:        2
69 # LGPL or GPL, chosen at configure time (GPL version is more featured)
70 # (postprocessing, some filters, x264, x265, xavs, xvid, x11grab)
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:  ef9b6634bb7c920efc940b4d55adf7b2
76 Source1:        ffserver.init
77 Source2:        ffserver.sysconfig
78 Source3:        ffserver.conf
79 Patch0:         %{name}-utvideo.patch
80 URL:            http://www.ffmpeg.org/
81 %{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK}
82 %{?with_openal:BuildRequires:   OpenAL-devel >= 1.1}
83 %{?with_opencl:BuildRequires:   OpenCL-devel >= 1.2}
84 %{?with_opengl:BuildRequires:   OpenGL-GLX-devel}
85 BuildRequires:  SDL-devel >= 1.2.1
86 BuildRequires:  alsa-lib-devel
87 BuildRequires:  bzip2-devel
88 BuildRequires:  celt-devel >= 0.11.0
89 %{?with_dcadec:BuildRequires:   dcadec-devel >= 0.2.0}
90 %{?with_faac:BuildRequires:     faac-devel}
91 %{?with_fdk_aac:BuildRequires:  fdk-aac-devel}
92 %{?with_flite:BuildRequires:    flite-devel >= 1.4}
93 BuildRequires:  fontconfig-devel
94 BuildRequires:  freetype-devel
95 %{?with_frei0r:BuildRequires:   frei0r-devel}
96 %{?with_fribidi:BuildRequires:  fribidi-devel}
97 %{?with_gme:BuildRequires:      game-music-emu-devel}
98 %ifarch ppc
99 # require version with altivec support fixed
100 BuildRequires:  gcc >= 5:3.3.2-3
101 %endif
102 BuildRequires:  gmp-devel
103 BuildRequires:  gnutls-devel
104 BuildRequires:  jack-audio-connection-kit-devel
105 %{?with_kvazaar:BuildRequires:  kvazaar-devel >= 0.8.1}
106 %{?with_ladspa:BuildRequires:   ladspa-devel}
107 BuildRequires:  lame-libs-devel >= 3.98.3
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 %{?with_chromaprint:BuildRequires:      libchromaprint-devel}
115 BuildRequires:  libdc1394-devel >= 2
116 BuildRequires:  libgsm-devel
117 BuildRequires:  libiec61883-devel
118 BuildRequires:  libmodplug-devel
119 BuildRequires:  libnut-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 %{?with_rubberband:BuildRequires:       rubberband-devel >= 1.8.1}
157 BuildRequires:  schroedinger-devel
158 %{?with_shine:BuildRequires:    shine-devel >= 3.0.0}
159 %{?with_snappy:BuildRequires:   snappy-devel}
160 %{?with_soxr:BuildRequires:     soxr-devel}
161 BuildRequires:  speex-devel >= 1:1.2-rc1
162 %{?with_tesseract:BuildRequires:        tesseract-devel}
163 %{?with_doc:BuildRequires:      tetex}
164 %{?with_doc:BuildRequires:      texi2html}
165 %{?with_doc:BuildRequires:      texinfo}
166 BuildRequires:  twolame-devel
167 %{?with_utvideo:BuildRequires:  utvideo-devel >= 15.4}
168 %{?with_vidstab:BuildRequires:  vid.stab-devel >= 0.98}
169 BuildRequires:  vo-amrwbenc-devel
170 %{?with_wavpack:BuildRequires:  wavpack-devel}
171 %{?with_ilbc:BuildRequires:     webrtc-libilbc-devel}
172 BuildRequires:  xavs-devel
173 BuildRequires:  xorg-lib-libX11-devel
174 BuildRequires:  xorg-lib-libXext-devel
175 BuildRequires:  xorg-lib-libXfixes-devel
176 BuildRequires:  xvid-devel >= 1:1.1.0
177 BuildRequires:  yasm
178 %{?with_zmq:BuildRequires:      zeromq-devel}
179 %{?with_zimg:BuildRequires:     zimg-devel}
180 BuildRequires:  zlib-devel
181 %{?with_zvbi:BuildRequires:     zvbi-devel}
182 %{?with_autoreqdep:BuildConflicts:      libpostproc}
183 # overflows maximum hash table size
184 BuildConflicts: pdksh < 5.2.14-57
185 Requires:       %{name}-libs = %{version}-%{release}
186 %{?with_utvideo:Requires:       utvideo >= 15.4}
187 %{?with_ilbc:Requires:  webrtc-libilbc}
188 Requires:       xvid >= 1:1.1.0
189 Obsoletes:      libpostproc
190 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
191
192 %define         _noautoreqdep   libGL.so.1 libGLU.so.1
193
194 %define         specflags       -fno-strict-aliasing
195
196 # -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
197 %define         specflags_ia32  -fomit-frame-pointer
198 # -mmmx is needed to enable <mmintrin.h> code.
199 %define         specflags_i586  -mmmx
200 %define         specflags_i686  -mmmx
201 %define         specflags_ppc   -fPIC
202
203 %description
204 FFmpeg is a complete solution to record, convert and stream audio and
205 video. It is a command line tool to convert one video file format to
206 another. It also supports grabbing and encoding in real time from a TV
207 card.
208
209 %description -l pl.UTF-8
210 FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji
211 strumieni dźwięku i obrazu. Jest to działające z linii poleceń
212 narzędzie do konwersji obrazu z jednego formatu do innego. Obsługuje
213 także przechwytywanie i kodowanie w czasie rzeczywistym z karty
214 telewizyjnej.
215
216 %package libs
217 Summary:        ffmpeg libraries
218 Summary(pl.UTF-8):      Biblioteki ffmpeg
219 Group:          Libraries
220 %if "%(rpm -q --qf '%{V}' gnutls-devel)" >= "3.0.20"
221 # uses gnutls_certificate_set_x509_system_trust if >= 3.0.20
222 Requires:       gnutls-libs >= 3.0.20
223 %endif
224 %{?with_vpx:Requires:   libvpx >= 1.3.0}
225 %{?with_rubberband:Requires:    rubberband-libs >= 1.8.1}
226
227 %description libs
228 This package contains the ffmpeg shared libraries:
229 - the codec library (libavcodec). It supports most existing encoding
230   formats (MPEG, DivX, MPEG4, AC3, DV...),
231 - demuxer library (libavformat). It supports most existing file
232   formats (AVI, MPEG, OGG, Matroska, ASF...),
233 - video postprocessing library (libpostproc).
234
235 %description libs -l pl.UTF-8
236 Ten pakiet zawiera biblioteki współdzielone ffmpeg:
237 - bibliotekę kodeków (libavcodec); obsługuje większość istniejących
238   formatów kodowania (MPEG, DivX, MPEG4, AC3, DV...),
239 - bibliotekę demuksera (libavformat); obsługuje większość istniejących
240   formatów plików (AVI, MPEG, OGG, Matroska, ASF...),
241 - bibliotekę postprocessingu (libpostproc).
242
243 %package devel
244 Summary:        ffmpeg header files
245 Summary(pl.UTF-8):      Pliki nagłówkowe ffmpeg
246 Group:          Development/Libraries
247 Requires:       %{name}-libs = %{version}-%{release}
248 # Libs.private from *.pc (unreasonably they are all the same)
249 %{?with_opencl:Requires:        OpenCL-devel >= 1.2}
250 %{?with_opengl:Requires:        OpenGL-devel}
251 Requires:       SDL-devel >= 1.2.1
252 Requires:       alsa-lib-devel
253 Requires:       bzip2-devel
254 Requires:       celt-devel >= 0.11.0
255 %{?with_dcadec:Requires:        dcadec-devel >= 0.2.0}
256 %{?with_faac:Requires:  faac-devel}
257 %{?with_fdk_aac:Requires:       fdk-aac-devel}
258 %{?with_flite:Requires: flite-devel >= 1.4}
259 Requires:       fontconfig-devel
260 Requires:       freetype-devel
261 %{?with_fribidi:Requires:       fribidi-devel}
262 %{?with_gme:Requires:   game-music-emu-devel}
263 Requires:       jack-audio-connection-kit-devel
264 %{?with_kvazaar:Requires:       kvazaar-devel >= 0.7}
265 Requires:       lame-libs-devel >= 3.98.3
266 Requires:       libass-devel
267 Requires:       libavc1394-devel
268 Requires:       libbluray-devel
269 %{?with_bs2b:Requires:  libbs2b-devel}
270 %{?with_caca:Requires:  libcaca-devel}
271 Requires:       libcdio-paranoia-devel >= 0.90-2
272 %{?with_chromaprint:Requires:   libchromaprint-devel}
273 Requires:       libdc1394-devel >= 2
274 Requires:       libgsm-devel
275 Requires:       libiec61883-devel
276 Requires:       libmodplug-devel
277 Requires:       libnut-devel
278 Requires:       libraw1394-devel >= 2
279 Requires:       librtmp-devel
280 %{?with_smb:Requires:   libsmbclient-devel}
281 Requires:       libtheora-devel >= 1.0-0.beta3
282 %{?with_va:Requires:    libva-devel >= 1.0.3}
283 Requires:       libvorbis-devel
284 %{?with_vpx:Requires:   libvpx-devel >= 1.3.0}
285 %{?with_webp:Requires:  libwebp-devel >= 0.4.0}
286 %{?with_x264:Requires:  libx264-devel >= 0.1.3-1.20110625_2245}
287 %{?with_x265:Requires:  libx265-devel >= 1.3-0.20150610.1}
288 %{?with_mfx:Requires:   mfx_dispatch-devel}
289 Requires:       opencore-amr-devel
290 %{?with_opencv:Requires:        opencv-devel}
291 %{?with_openh264:Requires:      openh264-devel >= 1.3}
292 Requires:       openjpeg-devel >= 1.5
293 %{?with_rubberband:Requires:    rubberband-devel >= 1.8.1}
294 Requires:       schroedinger-devel
295 %{?with_shine:Requires: shine-devel >= 3.0.0}
296 %{?with_snappy:Requires:        snappy-devel}
297 %{?with_soxr:Requires:  soxr-devel}
298 Requires:       speex-devel >= 1:1.2-rc1
299 %{?with_tesseract:Requires:     tesseract-devel}
300 Requires:       twolame-devel
301 %{?with_utvideo:Requires:       utvideo-devel >= 15.4}
302 %{?with_vidstab:Requires:       vid.stab-devel >= 0.98}
303 Requires:       vo-amrwbenc-devel
304 %{?with_wavpack:Requires:       wavpack-devel}
305 %{?with_ilbc:Requires:  webrtc-libilbc-devel}
306 Requires:       xavs-devel
307 Requires:       xorg-lib-libXext-devel
308 Requires:       xorg-lib-libXfixes-devel
309 Requires:       xvid-devel >= 1:1.1.0
310 %{?with_zmq:Requires:   zeromq-devel}
311 %{?with_zimg:Requires:  zimg-devel}
312 Requires:       zlib-devel
313 Obsoletes:      libpostproc-devel
314
315 %description devel
316 ffmpeg header files.
317
318 %description devel -l pl.UTF-8
319 Pliki nagłówkowe ffmpeg.
320
321 %package static
322 Summary:        ffmpeg static libraries
323 Summary(pl.UTF-8):      Statyczne biblioteki ffmpeg
324 Group:          Development/Libraries
325 Requires:       %{name}-devel = %{version}-%{release}
326
327 %description static
328 ffmpeg static libraries (libavcodec and libavformat).
329
330 %description static -l pl.UTF-8
331 Statyczne biblioteki ffmpeg (libavcodec i libavformat).
332
333 %package ffplay
334 Summary:        FFplay - SDL-based media player
335 Summary(pl.UTF-8):      FFplay - odtwarzacz mediów oparty na SDL
336 Group:          Applications/Multimedia
337 Requires:       %{name}-libs = %{version}-%{release}
338
339 %description ffplay
340 FFplay is a very simple and portable media player using the FFmpeg
341 libraries and the SDL library. It is mostly used as a test bench for
342 the various APIs of FFmpeg.
343
344 %description ffplay -l pl.UTF-8
345 FFplay to bardzo prosty i przenośny odtwarzacz mediów używający
346 bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do
347 testowania różnych API FFmpeg.
348
349 %package ffserver
350 Summary:        FFserver video server
351 Summary(pl.UTF-8):      FFserver - serwer strumieni obrazu
352 Group:          Daemons
353 Requires(post,preun):   /sbin/chkconfig
354 Requires:       %{name}-libs = %{version}-%{release}
355 Requires:       rc-scripts >= 0.4.0.10
356
357 %description ffserver
358 FFserver is a streaming server for both audio and video. It supports
359 several live feeds, streaming from files and time shifting on live
360 feeds (you can seek to positions in the past on each live feed,
361 provided you specify a big enough feed storage in ffserver.conf).
362
363 %description ffserver -l pl.UTF-8
364 FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka
365 źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w
366 czasie dla źródeł na żywo (można przeskakiwać na położenia w
367 przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
368 dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
369
370 %package doc
371 Summary:        FFmpeg documentation in HTML format
372 Summary(pl.UTF-8):      Dokumentacja pakietu FFmpeg w formacie HTML
373 Group:          Documentation
374 %if "%{_rpmversion}" >= "5"
375 BuildArch:      noarch
376 %endif
377
378 %description doc
379 FFmpeg documentation in HTML format.
380
381 %description doc -l pl.UTF-8
382 Dokumentacja pakietu FFmpeg w formacie HTML.
383
384 %prep
385 %setup -q
386 %patch0 -p1
387
388 # package the grep result for mplayer, the result formatted as ./mplayer/configure
389 cat <<EOF > ffmpeg-avconfig
390 #! /bin/sh
391 libavdecoders_all="$(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
392 libavencoders_all="$(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
393 libavparsers_all="$(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
394 libavbsfs_all="$(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
395 libavdemuxers_all="$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
396 libavmuxers_all="$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
397 libavprotocols_all="$(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
398 libavhwaccels_all="$(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
399 libavfilters_all="$(sed -n 's/^[^#]*FILTER.*(.*, *\(.*\),.*).*/\1_filter/p' libavfilter/allfilters.c | tr '[a-z]' '[A-Z]')"
400 EOF
401 cat <<'EOF' >> ffmpeg-avconfig
402
403 case "$1" in
404 --decoders)
405         echo $libavdecoders_all
406         ;;
407 --encoders)
408         echo $libavencoders_all
409         ;;
410 --parsers)
411         echo $libavparsers_all
412         ;;
413 --bsfs)
414         echo $libavbsfs_all
415         ;;
416 --demuxers)
417         echo $libavdemuxers_all
418         ;;
419 --muxers)
420         echo $libavmuxers_all
421         ;;
422 --protocols)
423         echo $libavprotocols_all
424         ;;
425 --hwaccels)
426         echo $libavhwaccels_all
427         ;;
428 --filters)
429         echo $libavfilters_all
430         ;;
431 *)
432         cat <<USAGE
433 Usage: $0 [OPTION]
434 Options:
435   --decoders
436   --encoders
437   --parsers
438   --bsfs
439   --demuxers
440   --muxers
441   --protocols
442   --hwaccels
443   --filters
444 USAGE
445         exit 1;;
446 esac
447
448 exit 0
449 EOF
450
451 %build
452 # notes:
453 # - it's not autoconf configure
454 # - --disable-debug, --disable-optimizations, tune=generic causes not to override our optflags
455 ./configure \
456         --arch=%{_target_base_arch} \
457         --prefix=%{_prefix} \
458         --libdir=%{_libdir} \
459         --shlibdir=%{_libdir} \
460         --mandir=%{_mandir} \
461         --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}%{?with_decklink: -I/usr/include/decklink}" \
462         --extra-ldflags="%{rpmcflags} %{rpmldflags}" \
463         --cc="%{__cc}" \
464         --disable-debug \
465         --disable-optimizations \
466         --disable-stripping \
467         %{!?with_doc:--disable-doc} \
468         --enable-avfilter \
469         --enable-avresample \
470         %{?with_chromaprint:--enable-chromaprint} \
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         --enable-librtmp \
506         %{?with_rubberband:--enable-librubberband} \
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         %{?with_tesseract:--enable-libtesseract} \
515         --enable-libtheora \
516         --enable-libtwolame \
517         %{?with_utvideo:--enable-libutvideo} \
518         --enable-libv4l2 \
519         %{?with_vidstab:--enable-libvidstab} \
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_zimg:--enable-libzimg} \
530         %{?with_zmq:--enable-libzmq} \
531         %{?with_zvbi:--enable-libzvbi} \
532         %{?with_openal:--enable-openal} \
533         %{?with_opencl:--enable-opencl} \
534         %{?with_opengl:--enable-opengl} \
535         --enable-postproc \
536         --enable-pthreads \
537         --enable-shared \
538         --enable-swscale \
539         %{!?with_va:--disable-vaapi} \
540         --enable-x11grab \
541 %ifnarch %{ix86} %{x8664}
542         --disable-mmx \
543 %endif
544 %ifarch i386 i486
545         --disable-mmx \
546 %endif
547 %ifarch x32
548         --disable-asm \
549 %endif
550 %if %{with nonfree}
551         --enable-nonfree \
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 %if %{with doc}
598 %{__rm} $RPM_BUILD_ROOT%{_docdir}/ffmpeg/*.html
599 %endif
600
601 install -d $RPM_BUILD_ROOT%{_examplesdir}
602 %{__mv} $RPM_BUILD_ROOT%{_datadir}/ffmpeg/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
603
604 %clean
605 rm -rf $RPM_BUILD_ROOT
606
607 %post   libs -p /sbin/ldconfig
608 %postun libs -p /sbin/ldconfig
609
610 %pre ffserver
611 %groupadd -g 167 ffserver
612 %useradd -g ffserver -u 167 ffserver
613
614 %post ffserver
615 /sbin/chkconfig --add ffserver
616 %service ffserver restart
617
618 %preun ffserver
619 if [ "$1" = 0 ]; then
620         %service ffserver stop
621         /sbin/chkconfig --del ffserver
622 fi
623
624 %postun ffserver
625 if [ "$1" = 0 ]; then
626         %userremove ffserver
627         %groupremove ffserver
628 fi
629
630 %files
631 %defattr(644,root,root,755)
632 %doc CREDITS LICENSE.md MAINTAINERS README.md RELEASE_NOTES doc/APIchanges
633 %attr(755,root,root) %{_bindir}/ffmpeg
634 %attr(755,root,root) %{_bindir}/ffprobe
635 %attr(755,root,root) %{_bindir}/qt-faststart
636 %dir %{_datadir}/ffmpeg
637 %{_datadir}/ffmpeg/*.ffpreset
638 %{_datadir}/ffmpeg/ffprobe.xsd
639 %if %{with doc}
640 %{_mandir}/man1/ffmpeg.1*
641 %{_mandir}/man1/ffmpeg-all.1*
642 %{_mandir}/man1/ffmpeg-bitstream-filters.1*
643 %{_mandir}/man1/ffmpeg-codecs.1*
644 %{_mandir}/man1/ffmpeg-devices.1*
645 %{_mandir}/man1/ffmpeg-filters.1*
646 %{_mandir}/man1/ffmpeg-formats.1*
647 %{_mandir}/man1/ffmpeg-protocols.1*
648 %{_mandir}/man1/ffmpeg-resampler.1*
649 %{_mandir}/man1/ffmpeg-scaler.1*
650 %{_mandir}/man1/ffmpeg-utils.1*
651 %{_mandir}/man1/ffprobe.1*
652 %{_mandir}/man1/ffprobe-all.1*
653 %endif
654
655 %files libs
656 %defattr(644,root,root,755)
657 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
658 %attr(755,root,root) %ghost %{_libdir}/libavcodec.so.57
659 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
660 %attr(755,root,root) %ghost %{_libdir}/libavdevice.so.57
661 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
662 %attr(755,root,root) %ghost %{_libdir}/libavfilter.so.6
663 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
664 %attr(755,root,root) %ghost %{_libdir}/libavformat.so.57
665 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
666 %attr(755,root,root) %ghost %{_libdir}/libavresample.so.3
667 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
668 %attr(755,root,root) %ghost %{_libdir}/libavutil.so.55
669 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
670 %attr(755,root,root) %ghost %{_libdir}/libpostproc.so.54
671 %attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
672 %attr(755,root,root) %ghost %{_libdir}/libswresample.so.2
673 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
674 %attr(755,root,root) %ghost %{_libdir}/libswscale.so.4
675
676 %files devel
677 %defattr(644,root,root,755)
678 %doc doc/optimization.txt
679 %attr(755,root,root) %{_bindir}/ffmpeg-avconfig
680 %attr(755,root,root) %{_libdir}/libavcodec.so
681 %attr(755,root,root) %{_libdir}/libavdevice.so
682 %attr(755,root,root) %{_libdir}/libavfilter.so
683 %attr(755,root,root) %{_libdir}/libavformat.so
684 %attr(755,root,root) %{_libdir}/libavresample.so
685 %attr(755,root,root) %{_libdir}/libavutil.so
686 %attr(755,root,root) %{_libdir}/libpostproc.so
687 %attr(755,root,root) %{_libdir}/libswresample.so
688 %attr(755,root,root) %{_libdir}/libswscale.so
689 %{_includedir}/ffmpeg
690 %{_includedir}/libavcodec
691 %{_includedir}/libavdevice
692 %{_includedir}/libavfilter
693 %{_includedir}/libavformat
694 %{_includedir}/libavresample
695 %{_includedir}/libavutil
696 %{_includedir}/libpostproc
697 %{_includedir}/libswresample
698 %{_includedir}/libswscale
699 %{_pkgconfigdir}/libavcodec.pc
700 %{_pkgconfigdir}/libavdevice.pc
701 %{_pkgconfigdir}/libavfilter.pc
702 %{_pkgconfigdir}/libavformat.pc
703 %{_pkgconfigdir}/libavresample.pc
704 %{_pkgconfigdir}/libavutil.pc
705 %{_pkgconfigdir}/libpostproc.pc
706 %{_pkgconfigdir}/libswresample.pc
707 %{_pkgconfigdir}/libswscale.pc
708 %if %{with doc}
709 %{_mandir}/man3/libavcodec.3*
710 %{_mandir}/man3/libavdevice.3*
711 %{_mandir}/man3/libavfilter.3*
712 %{_mandir}/man3/libavformat.3*
713 %{_mandir}/man3/libavutil.3*
714 %{_mandir}/man3/libswresample.3*
715 %{_mandir}/man3/libswscale.3*
716 %endif
717 %{_examplesdir}/%{name}-%{version}
718
719 %files static
720 %defattr(644,root,root,755)
721 %{_libdir}/libavcodec.a
722 %{_libdir}/libavdevice.a
723 %{_libdir}/libavfilter.a
724 %{_libdir}/libavformat.a
725 %{_libdir}/libavresample.a
726 %{_libdir}/libavutil.a
727 %{_libdir}/libpostproc.a
728 %{_libdir}/libswresample.a
729 %{_libdir}/libswscale.a
730
731 %files ffplay
732 %defattr(644,root,root,755)
733 %attr(755,root,root) %{_bindir}/ffplay
734 %if %{with doc}
735 %{_mandir}/man1/ffplay.1*
736 %{_mandir}/man1/ffplay-all.1*
737 %endif
738
739 %files ffserver
740 %defattr(644,root,root,755)
741 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
742 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
743 %attr(755,root,root) %{_sbindir}/ffserver
744 %attr(754,root,root) /etc/rc.d/init.d/ffserver
745 %if %{with doc}
746 %{_mandir}/man1/ffserver.1*
747 %{_mandir}/man1/ffserver-all.1*
748 %endif
749 %dir %attr(770,root,ffserver) /var/cache/ffserver
750 %dir %attr(770,root,ffserver) /var/log/ffserver
751
752 %if %{with doc}
753 %files doc
754 %defattr(644,root,root,755)
755 %doc doc/*.html
756 %endif
This page took 0.084401 seconds and 4 git commands to generate.