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