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