Kodi switched to nvidia ffmpeg
This commit is contained in:
191
fedora/SPECS/ffmpeg-nvidia.spec
Normal file
191
fedora/SPECS/ffmpeg-nvidia.spec
Normal file
@@ -0,0 +1,191 @@
|
|||||||
|
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 \
|
||||||
|
--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.
|
||||||
|
|
||||||
@@ -19,8 +19,9 @@
|
|||||||
%global _with_cwiid 1
|
%global _with_cwiid 1
|
||||||
%global _with_libssh 1
|
%global _with_libssh 1
|
||||||
%global _with_libcec 1
|
%global _with_libcec 1
|
||||||
%global _with_external_ffmpeg 1
|
|
||||||
%global _with_wayland 1
|
%global _with_wayland 1
|
||||||
|
# only enable it, if you have a nvidia gpu!
|
||||||
|
%global _with_nvidia_ffmpeg 1
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?_with_wayland}
|
%if 0%{?_with_wayland}
|
||||||
%global kodi_backends x11 wayland gbm
|
%global kodi_backends x11 wayland gbm
|
||||||
@@ -30,7 +31,7 @@
|
|||||||
|
|
||||||
Name: kodi
|
Name: kodi
|
||||||
Version: 18.6
|
Version: 18.6
|
||||||
Release: 99.%{myRELEASE}.%{PRERELEASE}%{?dist}
|
Release: 100.%{myRELEASE}.%{PRERELEASE}%{?dist}
|
||||||
Summary: Media center
|
Summary: Media center
|
||||||
|
|
||||||
License: GPLv2+ and GPLv3+ and LGPLv2+ and BSD and MIT
|
License: GPLv2+ and GPLv3+ and LGPLv2+ and BSD and MIT
|
||||||
@@ -56,11 +57,6 @@ Source3: kodi-libdvdread-6.0.0-Leia-Alpha-3.tar.gz
|
|||||||
Source4: kodi-libdvdcss-1.4.2-Leia-Beta-5.tar.gz
|
Source4: kodi-libdvdcss-1.4.2-Leia-Beta-5.tar.gz
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if ! 0%{?_with_external_ffmpeg}
|
|
||||||
# wget -O ffmpeg-4.0.4-Leia-18.4.tar.gz https://github.com/xbmc/FFmpeg/archive/4.0.4-Leia-18.4.tar.gz
|
|
||||||
Source5: ffmpeg-4.0.4-Leia-18.4.tar.gz
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Set program version parameters
|
# Set program version parameters
|
||||||
Patch1: kodi-18.0-versioning.patch
|
Patch1: kodi-18.0-versioning.patch
|
||||||
|
|
||||||
@@ -104,10 +100,10 @@ BuildRequires: enca-devel
|
|||||||
BuildRequires: expat-devel
|
BuildRequires: expat-devel
|
||||||
BuildRequires: faad2-devel
|
BuildRequires: faad2-devel
|
||||||
BuildRequires: firewalld-filesystem
|
BuildRequires: firewalld-filesystem
|
||||||
%if 0%{?_with_external_ffmpeg}
|
%if 0%{?_with_nvidia_ffmpeg}
|
||||||
BuildRequires: ffmpeg-devel
|
BuildRequires: ffmpeg-nvidia-devel
|
||||||
%else
|
%else
|
||||||
BuildRequires: trousers-devel
|
BuildRequires: ffmpeg-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: flac-devel
|
BuildRequires: flac-devel
|
||||||
BuildRequires: flatbuffers-devel
|
BuildRequires: flatbuffers-devel
|
||||||
@@ -231,6 +227,11 @@ Requires: %{name}-common = %{version}-%{release}
|
|||||||
Requires: (%{name}-wayland = %{version}-%{release} if libwayland-server)
|
Requires: (%{name}-wayland = %{version}-%{release} if libwayland-server)
|
||||||
Requires: (%{name}-x11 = %{version}-%{release} if xorg-x11-server-Xorg)
|
Requires: (%{name}-x11 = %{version}-%{release} if xorg-x11-server-Xorg)
|
||||||
Requires: (%{name}-firewalld = %{version}-%{release} if firewalld)
|
Requires: (%{name}-firewalld = %{version}-%{release} if firewalld)
|
||||||
|
%if 0%{?_with_nvidia_ffmpeg}
|
||||||
|
Requires: ffmpeg-nvidia
|
||||||
|
Requires: ffmpeg-nvidia-libs
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@@ -396,9 +397,6 @@ do
|
|||||||
-DLIBDVDCSS_URL=%{SOURCE4} \
|
-DLIBDVDCSS_URL=%{SOURCE4} \
|
||||||
%else
|
%else
|
||||||
-DENABLE_DVDCSS=OFF \
|
-DENABLE_DVDCSS=OFF \
|
||||||
%endif
|
|
||||||
%if ! 0%{?_with_external_ffmpeg}
|
|
||||||
-DFFMPEG_URL=%{SOURCE5} \
|
|
||||||
%endif
|
%endif
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-GNinja \
|
-GNinja \
|
||||||
@@ -544,6 +542,9 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/kodi-wiiremote.1
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Mar 8 2020 Daniel Steiner <daniel.steiner@greenmail.ch>
|
||||||
|
- Nvidia depend build with ffmpeg-nvidia library.
|
||||||
|
|
||||||
* Fri Mar 3 2020 Daniel Steiner <daniel.steiner@greenmail.ch>
|
* Fri Mar 3 2020 Daniel Steiner <daniel.steiner@greenmail.ch>
|
||||||
- Update to 18.6
|
- Update to 18.6
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user