Files
rpms/fedora/SPECS/ffmpeg-nvidia.spec

193 lines
5.4 KiB
RPMSpec
Raw Normal View History

2020-03-08 13:06:35 +01:00
Summary: Digital VCR and streaming server
Name: ffmpeg-nvidia
Version: 4.2.2
Release: 1%{?dist}
License: GPLv2+
URL: http://ffmpeg.org/
Source0: http://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz
%define cudav 10-1
%define ffname ffmpeg
%define debug_package %{nil}
BuildRequires: cuda-drivers-devel
BuildRequires: cuda-minimal-build-%{cudav}
BuildRequires: fdk-aac-devel
BuildRequires: gsm-devel
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libaom-devel
BuildRequires: libdav1d-devel
BuildRequires: librsvg2-devel
BuildRequires: libtheora-devel
BuildRequires: libv4l-devel
BuildRequires: libvmaf-devel
BuildRequires: libvpx-devel
BuildRequires: ocl-icd-devel
BuildRequires: openal-soft-devel
BuildRequires: opencl-headers
BuildRequires: opencore-amr-devel
BuildRequires: opus-devel
BuildRequires: soxr-devel
BuildRequires: speex-devel
BuildRequires: vo-amrwbenc-devel
BuildRequires: zimg-devel
BuildRequires: zvbi-devel
BuildRequires: intel-mediasdk-devel
BuildRequires: alsa-lib-devel
BuildRequires: bzip2-devel
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: fribidi-devel
BuildRequires: gnutls-devel
BuildRequires: gsm-devel
BuildRequires: lame-devel
BuildRequires: libavc1394-devel
BuildRequires: libdc1394-devel
BuildRequires: libiec61883-devel
BuildRequires: libdrm-devel
BuildRequires: libgcrypt-devel
BuildRequires: libGL-devel
BuildRequires: libmodplug-devel
BuildRequires: librsvg2-devel
BuildRequires: libssh-devel
BuildRequires: libtheora-devel
BuildRequires: libv4l-devel
BuildRequires: libvdpau-devel
BuildRequires: libvorbis-devel
BuildRequires: nasm
BuildRequires: libxcb-devel
BuildRequires: opencl-headers ocl-icd-devel
BuildRequires: openjpeg2-devel
BuildRequires: perl(Pod::Man)
BuildRequires: soxr-devel
BuildRequires: speex-devel
BuildRequires: texinfo
BuildRequires: zimg-devel >= 2.7.0
BuildRequires: zlib-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Provides: %{ffname}
%description
%{ffname} is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
%package libs
Summary: Libraries for %{name}
Provides: %{ffname}-libs
Provides: %{ffname}-libs(%{arch}) = %{version}-%{release}%{?dist}
%description libs
%{ffname} is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
This package contains the libraries for %{name}
%package -n libavdevice
Summary: Special devices muxing/demuxing library
Requires: %{name}-libs%{_isa} = %{version}-%{release}
%description -n libavdevice%{?flavor}
Libavdevice is a complementary library to libavf "libavformat". It provides
various "special" platform-specific muxers and demuxers, e.g. for grabbing
devices, audio capture and playback etc.
%package devel
Summary: Development package for %{name}
Requires: %{name}-libs%{_isa} = %{version}-%{release}
Requires: libavdevice%{?flavor}%{_isa} = %{version}-%{release}
Requires: pkgconfig
Provides: %{ffname}-devel
%description devel
%{ffname} is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
This package contains development files for %{ffname}
%prep
%setup -q -n %{ffname}-%{version}
%build
# Don't use the %%configure macro as this is not an autotool script
./configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--datadir=%{_datadir}/%{ffname} \
--docdir=%{_docdir}/%{ffname} \
--incdir=%{_includedir}/%{ffname} \
--libdir=%{_libdir} \
--mandir=%{_mandir} \
--arch=x86_64 \
--enable-cuda \
--enable-cuvid \
--enable-nvenc \
--enable-nonfree \
--extra-cflags=-I/usr/local/cuda-%{cudav}/include \
--extra-ldflags=-L/usr/local/cuda-%{cudav}/lib64 \
--disable-manpages \
--enable-libbluray \
--enable-libdrm \
--enable-libmp3lame \
--enable-openal \
--enable-opencl \
--enable-opengl \
--enable-libopenjpeg \
--enable-libopus \
--enable-libpulse \
--enable-librsvg \
--enable-libsoxr \
--enable-libspeex \
--enable-libssh \
--enable-libtheora \
--enable-libvorbis \
--enable-libv4l2 \
--enable-libvmaf \
--enable-libvpx \
--enable-libzimg \
--enable-libzvbi \
--enable-shared \
2020-03-08 14:08:50 +01:00
--enable-postproc \
2020-03-08 13:06:35 +01:00
--enable-version3
%install
make install DESTDIR=%{?buildroot}
rm -f %{ffname}-%{version}/debugsourcefiles.list
rm -rf %{buildroot}/.build-id
%files
%{_bindir}/%{ffname}
%{_bindir}/ffplay
%{_bindir}/ffprobe
%{_datadir}/%{ffname}
%files libs
%doc CREDITS README.md
%license COPYING.*
%{_libdir}/lib*.so.*
%exclude %{_libdir}/libavdevice.so.*
%files -n libavdevice
%{_libdir}/libavdevice.so.*
%files devel
%doc MAINTAINERS doc/APIchanges doc/*.txt
%doc %{_docdir}/%{ffname}/*.html
%{_includedir}/%{ffname}
%{_libdir}/pkgconfig/lib*.pc
%{_libdir}/lib*.so
%{_libdir}/lib*.a
%changelog
* Sun Mar 8 2020 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Initial build.
- Build with Nvidia Cuda support.