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