Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:aevseev:desktop
ffmpeg
ffmpeg.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ffmpeg.spec of Package ffmpeg
%define realname ffmpeg %define realver 6.1.1 %define srcext tar.xz %define gen %(awk -F. '{print $1}' <<< %{realver}) # To get versions of libraries run in sorce tree: # egrep '^#define LIB\w+_VERSION_MAJOR' lib*/version.h # or see the realeases page: https://www.ffmpeg.org/download.html %define avutil_pkg_ver 58_29 %define avcodec_pkg_ver 60_31 %define avformat_pkg_ver 60_16 %define avdevice_pkg_ver 60_3 %define avfilter_pkg_ver 9_12 %define swscale_pkg_ver 7_5 %define swresample_pkg_ver 4_12 %define postproc_pkg_ver 57_3 # turn off the generation of debuginfo rpm (RH9) ?? %global debug_package %{nil} # Common info Name: %{realname} Version: %{realver} Release: wiz%{?extraver:0.}1%{?dist} License: GPL-2.0+ and LGPL-2.1+ Group: Productivity/Multimedia/Other URL: https://www.ffmpeg.org/ Summary: A complete solution to record, convert and stream audio and video # Install-time parameters Provides: %{realname}-%{gen} = %{version}-%{release} Obsoletes: %{realname}-%{gen} < %{version}-%{release} # Build-time parameters BuildRequires: gcc-c++ pkg-config nasm perl%{?suse_version:-base} BuildRequires: lzo-devel BuildRequires: pkgconfig(zlib) xz-devel BuildRequires: gmp-devel BuildRequires: ladspa-devel BuildRequires: pkgconfig(fdk-aac) BuildRequires: pkgconfig(fontconfig) pkgconfig(freetype2) BuildRequires: glslang-devel BuildRequires: %{?suse_version:lib}gsm-devel BuildRequires: libopencore-amr-devel BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(libpulse) BuildRequires: libsnappy-devel BuildRequires: pkgconfig(speex) BuildRequires: libtheora-devel BuildRequires: libvorbis-devel BuildRequires: pkgconfig(vpx) >= 1.4.0 BuildRequires: pkgconfig(libwebp) >= 0.2.0 BuildRequires: pkgconfig(x264) pkgconfig(x265) BuildRequires: libxvidcore-devel BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(OpenCL) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(xcb) >= 1.4 BuildRequires: pkgconfig(xcb-shm) pkgconfig(xcb-shape) pkgconfig(xcb-xfixes) BuildRequires: libvdpau-devel BuildRequires: pkgconfig(vulkan) >= 1.2.189 BuildRequires: glslang-devel BuildRequires: spirv-tools-devel BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libva) >= 0.35.0 pkgconfig(libva-drm) pkgconfig(libva-x11) %if 0%{?suse_version} BuildRequires: pkgconfig(libbluray) BuildRequires: pkgconfig(libass) BuildRequires: libbz2-devel BuildRequires: libcelt-devel >= 0.11.0 %else BuildRequires: bzip2-devel # Required by OpenGL BuildRequires: libX11-devel %endif BuildRoot: %{_tmppath}/%{name}-root Source: http://ffmpeg.org/releases/%{realname}-%{realver}%{?extraver}.%{srcext} Patch1: soversion.patch %description FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It contains ffmpeg, ffserver, ffplay and ffprobe which can be used by end users for transcoding, streaming and playing. %package -n libavcodec%{?avcodec_pkg_ver} Group: System/Libraries Summary: Library containing decoders and encoders for audio/video codecs %description -n libavcodec%{?avcodec_pkg_ver} libavcodec is a library containing decoders and encoders for audio/video codecs. %package -n libavdevice%{?avdevice_pkg_ver} Group: System/Libraries Summary: Library for use many common multimedia input/output software frameworks %description -n libavdevice%{?avdevice_pkg_ver} libavdevice is a library containing input and output devices for grabbing from and rendering to many common multimedia input/output software frameworks, including Video4Linux, Video4Linux2, VfW, and ALSA. %package -n libavfilter%{?avfilter_pkg_ver} Group: System/Libraries Summary: Library containing media filters %description -n libavfilter%{?avfilter_pkg_ver} libavfilter is a library containing media filters. %package -n libavformat%{?avformat_pkg_ver} Group: System/Libraries Summary: Library containing demuxers and muxers for multimedia container formats %description -n libavformat%{?avformat_pkg_ver} libavformat is a library containing demuxers and muxers for multimedia container formats. %package -n libavutil%{?avutil_pkg_ver} Group: System/Libraries Summary: Library containing functions for simplifying programming %description -n libavutil%{?avutil_pkg_ver} libavutil is a library containing functions for simplifying programming, including random number generators, data structures, mathematics routines, core multimedia utilities, and much more. %package -n libpostproc%{?postproc_pkg_ver} Group: System/Libraries Summary: External postprocessing API %description -n libpostproc%{?postproc_pkg_ver} External postprocessing API. %package -n libswresample%{?swresample_pkg_ver} Group: System/Libraries Summary: Library for audio resampling, rematrixing and sample format conversion %description -n libswresample%{?swresample_pkg_ver} libswresample is a library performing highly optimized audio resampling, rematrixing and sample format conversion operations. %package -n libswscale%{?swscale_pkg_ver} Group: System/Libraries Summary: Library containing decoders and encoders for audio/video codecs %description -n libswscale%{?swscale_pkg_ver} libavcodec is a library containing decoders and encoders for audio/video codecs. %package -n libavcodec-devel Group: Development/Languages/C and C++ Summary: Development files for libavcodec Provides: ffmpeg-%{gen}-libavcodec-devel = %{version}-%{release} Obsoletes: ffmpeg-%{gen}-libavcodec-devel < %{version}-%{release} Requires: libavcodec%{?avcodec_pkg_ver} = %{version}-%{release} %description -n libavcodec-devel Development files for libavcodec. libavcodec is a library containing decoders and encoders for audio/video codecs. %package -n libavdevice-devel Group: Development/Languages/C and C++ Summary: Development files for libavdevice Provides: ffmpeg-%{gen}-libavdevice-devel = %{version}-%{release} Obsoletes: ffmpeg-%{gen}-libavdevice-devel < %{version}-%{release} Requires: libavdevice%{?avdevice_pkg_ver} = %{version}-%{release} %description -n libavdevice-devel Development files for libavdevice. libavdevice is a library containing input and output devices for grabbing from and rendering to many common multimedia input/output software frameworks, including Video4Linux, Video4Linux2, VfW, and ALSA. %package -n libavfilter-devel Group: Development/Languages/C and C++ Summary: Development files for libavfilter Provides: ffmpeg-%{gen}-libavfilter-devel = %{version}-%{release} Obsoletes: ffmpeg-%{gen}-libavfilter-devel < %{version}-%{release} Requires: libavfilter%{?avfilter_pkg_ver} = %{version}-%{release} %description -n libavfilter-devel Development files for libavfilter. libavfilter is a library containing media filters. %package -n libavformat-devel Group: Development/Languages/C and C++ Summary: Development files for libavformat Provides: ffmpeg-%{gen}-libavformat-devel = %{version}-%{release} Obsoletes: ffmpeg-%{gen}-libavformat-devel < %{version}-%{release} Requires: libavformat%{?avformat_pkg_ver} = %{version}-%{release} %description -n libavformat-devel Development files for libavformat. libavformat is a library containing demuxers and muxers for multimedia container formats. %package -n libavutil-devel Group: Development/Languages/C and C++ Summary: Development files for libavutil Provides: ffmpeg-%{gen}-libavutil-devel = %{version}-%{release} Obsoletes: ffmpeg-%{gen}-libavutil-devel < %{version}-%{release} Requires: libavutil%{?avutil_pkg_ver} = %{version}-%{release} %description -n libavutil-devel Development files for libavutil. libavutil is a library containing functions for simplifying programming, including random number generators, data structures, mathematics routines, core multimedia utilities, and much more. %package -n libpostproc-devel Group: Development/Languages/C and C++ Summary: Development files for libpostproc Provides: ffmpeg-%{gen}-libpostproc-devel = %{version}-%{release} Obsoletes: ffmpeg-%{gen}-libpostproc-devel < %{version}-%{release} Requires: libpostproc%{?postproc_pkg_ver} = %{version}-%{release} %description -n libpostproc-devel Development files for external postprocessing API. %package -n libswresample-devel Group: Development/Languages/C and C++ Summary: Development files for libswresample Provides: ffmpeg-%{gen}-libswresample-devel = %{version}-%{release} Obsoletes: ffmpeg-%{gen}-libswresample-devel < %{version}-%{release} Requires: libswresample%{?swresample_pkg_ver} = %{version}-%{release} %description -n libswresample-devel Development files for libswresample. libswresample is a library performing highly optimized audio resampling, rematrixing and sample format conversion operations. %package -n libswscale-devel Group: Development/Languages/C and C++ Summary: Development files for libswscale Provides: ffmpeg-%{gen}-libswscale-devel = %{version}-%{release} Obsoletes: ffmpeg-%{gen}-libswscale-devel < %{version}-%{release} Requires: libswscale%{?swscale_pkg_ver} = %{version}-%{release} %description -n libswscale-devel Development files for libswscale. libavcodec is a library containing decoders and encoders for audio/video codecs. %package devel Group: Development/Languages/C and C++ Summary: Development files for %{name} Requires: libavcodec-devel Requires: libavdevice-devel Requires: libavfilter-devel Requires: libavformat-devel Requires: libavutil-devel Requires: libpostproc-devel Requires: libswresample-devel Requires: libswscale-devel %description devel Development files for %{name} # Preparation step (unpackung and patching if necessary) %prep %setup -q -n %{realname}-%{realver}%{?extraver} %patch1 -p1 %build ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --shlibdir=%{_libdir} \ --enable-gpl \ --enable-version3 \ --enable-nonfree \ --disable-static \ --enable-shared \ \ --enable-gmp \ --enable-ladspa \ %if 0%{?suse_version} --enable-libass \ --enable-libbluray \ %endif --enable-libfdk-aac \ --enable-libfontconfig \ --enable-libfreetype \ --enable-libglslang \ --enable-libgsm \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --enable-libopus \ --enable-libpulse \ --enable-libsnappy \ --enable-libspeex \ --enable-libtheora \ --enable-libvorbis \ --enable-libvpx \ --enable-libwebp \ --enable-libx264 \ --enable-libx265 \ --enable-libxvid \ --enable-libxml2 \ --enable-opencl \ --enable-opengl \ --enable-openssl \ --disable-vulkan \ %if 0%{?suse_version} || 0%{?rhel} >= 7 --enable-libdrm \ %endif --enable-pic \ --enable-lto \ %if 0%{?suse_version} --enable-libcelt \ %endif \ --extra-cflags="%{optflags}" \ --extra-cxxflags="%{optflags}" \ --extra-ldflags="-Wl,--as-needed -Wl,--strip-all -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro" \ \ --disable-debug \ --disable-demuxer='hls,applehttp' # Last thing disables HTTP Live Streaming that can be used for data leakage %{__make} %{?_smp_mflags} %{__make} %{?_smp_mflags} tools/qt-faststart %install %{__make} install DESTDIR=%{buildroot} %{__install} -m755 tools/qt-faststart %{buildroot}%{_bindir}/qt-faststart [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}%{_datadir}/doc/%{name}/* %clean [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot} %files %defattr(-,root,root) %license COPYING.* LICENSE.md %doc CREDITS MAINTAINERS README.md RELEASE_NOTES %{_bindir}/* %dir %{_datadir}/%{name}/ %{_datadir}/%{name}/* %exclude %{_datadir}/%{name}/examples %doc %{_mandir}/man1/* %files -n libavcodec%{?avcodec_pkg_ver} %defattr(-,root,root) %{_libdir}/libavcodec.so.* %files -n libavdevice%{?avdevice_pkg_ver} %defattr(-,root,root) %{_libdir}/libavdevice.so.* %files -n libavfilter%{?avfilter_pkg_ver} %defattr(-,root,root) %{_libdir}/libavfilter.so.* %files -n libavformat%{?avformat_pkg_ver} %defattr(-,root,root) %{_libdir}/libavformat.so.* %files -n libavutil%{?avutil_pkg_ver} %defattr(-,root,root) %{_libdir}/libavutil.so.* %files -n libpostproc%{?postproc_pkg_ver} %defattr(-,root,root) %{_libdir}/libpostproc.so.* %files -n libswresample%{?swresample_pkg_ver} %defattr(-,root,root) %{_libdir}/libswresample.so.* %files -n libswscale%{?swscale_pkg_ver} %defattr(-,root,root) %{_libdir}/libswscale.so.* # Development stuff %files -n libavcodec-devel %defattr(-,root,root) %{_libdir}/pkgconfig/libavcodec.pc %{_libdir}/libavcodec.so %dir %{_includedir}/libavcodec %{_includedir}/libavcodec/*.h %doc %{_mandir}/man3/libavcodec.3* %files -n libavdevice-devel %defattr(-,root,root) %{_libdir}/pkgconfig/libavdevice.pc %{_libdir}/libavdevice.so %dir %{_includedir}/libavdevice %{_includedir}/libavdevice/*.h %doc %{_mandir}/man3/libavdevice.3* %files -n libavfilter-devel %defattr(-,root,root) %{_libdir}/pkgconfig/libavfilter.pc %{_libdir}/libavfilter.so %dir %{_includedir}/libavfilter %{_includedir}/libavfilter/*.h %doc %{_mandir}/man3/libavfilter.3* %files -n libavformat-devel %defattr(-,root,root) %{_libdir}/pkgconfig/libavformat.pc %{_libdir}/libavformat.so %dir %{_includedir}/libavformat %{_includedir}/libavformat/*.h %doc %{_mandir}/man3/libavformat.3* %files -n libavutil-devel %defattr(-,root,root) %{_libdir}/pkgconfig/libavutil.pc %{_libdir}/libavutil.so %dir %{_includedir}/libavutil %{_includedir}/libavutil/*.h %doc %{_mandir}/man3/libavutil.3* %files -n libpostproc-devel %defattr(-,root,root) %{_libdir}/pkgconfig/libpostproc.pc %{_libdir}/libpostproc.so %dir %{_includedir}/libpostproc %{_includedir}/libpostproc/*.h %files -n libswresample-devel %defattr(-,root,root) %{_libdir}/pkgconfig/libswresample.pc %{_libdir}/libswresample.so %dir %{_includedir}/libswresample %{_includedir}/libswresample/*.h %doc %{_mandir}/man3/libswresample.3* %files -n libswscale-devel %defattr(-,root,root) %{_libdir}/pkgconfig/libswscale.pc %{_libdir}/libswscale.so %dir %{_includedir}/libswscale %{_includedir}/libswscale/*.h %doc %{_mandir}/man3/libswscale.3* %files devel %defattr(-,root,root) %license COPYING.* LICENSE.md %doc CREDITS MAINTAINERS README.md RELEASE_NOTES %post -n libavcodec%{?avcodec_pkg_ver} -p /sbin/ldconfig %post -n libavdevice%{?avdevice_pkg_ver} -p /sbin/ldconfig %post -n libavfilter%{?avfilter_pkg_ver} -p /sbin/ldconfig %post -n libavformat%{?avformat_pkg_ver} -p /sbin/ldconfig %post -n libavutil%{?avutil_pkg_ver} -p /sbin/ldconfig %post -n libpostproc%{?postproc_pkg_ver} -p /sbin/ldconfig %post -n libswresample%{?swresample_pkg_ver} -p /sbin/ldconfig %post -n libswscale%{?swscale_pkg_ver} -p /sbin/ldconfig %postun -n libavcodec%{?avcodec_pkg_ver} -p /sbin/ldconfig %postun -n libavdevice%{?avdevice_pkg_ver} -p /sbin/ldconfig %postun -n libavfilter%{?avfilter_pkg_ver} -p /sbin/ldconfig %postun -n libavformat%{?avformat_pkg_ver} -p /sbin/ldconfig %postun -n libavutil%{?avutil_pkg_ver} -p /sbin/ldconfig %postun -n libpostproc%{?postproc_pkg_ver} -p /sbin/ldconfig %postun -n libswresample%{?swresample_pkg_ver} -p /sbin/ldconfig %postun -n libswscale%{?swscale_pkg_ver} -p /sbin/ldconfig %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor