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