From 0414bcc7b68c35b1b3733d0415365975d9c1ed57 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Fri, 6 Mar 2020 13:06:52 +0100 Subject: [PATCH 1/7] Kodi and MakeMKV udpates --- fedora/SPECS/kodi.spec | 5 ++++- fedora/SPECS/makemkv.spec | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/fedora/SPECS/kodi.spec b/fedora/SPECS/kodi.spec index 5cc7f6f..3fce3b6 100644 --- a/fedora/SPECS/kodi.spec +++ b/fedora/SPECS/kodi.spec @@ -29,7 +29,7 @@ %endif Name: kodi -Version: 18.5 +Version: 18.6 Release: 99.%{myRELEASE}.%{PRERELEASE}%{?dist} Summary: Media center @@ -544,6 +544,9 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/kodi-wiiremote.1 %changelog +* Fri Mar 3 2020 Daniel Steiner +- Update to 18.6 + * Sat Nov 16 2019 Daniel Steiner - Update to 18.5 diff --git a/fedora/SPECS/makemkv.spec b/fedora/SPECS/makemkv.spec index 13d1a6f..ecc45f6 100644 --- a/fedora/SPECS/makemkv.spec +++ b/fedora/SPECS/makemkv.spec @@ -6,7 +6,7 @@ # wget http://www.makemkv.com/download/makemkv-oss-$v.tar.gz -O makemkv-oss-$v.tar.gz Name: makemkv -Version: 1.14.7 +Version: 1.15.0 Release: 0%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: One click DVD and Blu-ray converter @@ -86,6 +86,9 @@ popd %{_datarootdir}/MakeMKV/* %changelog +* Fri Mar 6 2020 Daniel Steiner +- Update to 1.15.0. + * Mon Dec 30 2019 Daniel Steiner - Update to 1.14.7. From d2339fa204608a2d2bc65fca16abff92353d7b5d Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sun, 8 Mar 2020 13:06:35 +0100 Subject: [PATCH 2/7] Kodi switched to nvidia ffmpeg --- fedora/SPECS/ffmpeg-nvidia.spec | 191 ++++++++++++++++++++++++++++++++ fedora/SPECS/kodi.spec | 27 ++--- 2 files changed, 205 insertions(+), 13 deletions(-) create mode 100644 fedora/SPECS/ffmpeg-nvidia.spec diff --git a/fedora/SPECS/ffmpeg-nvidia.spec b/fedora/SPECS/ffmpeg-nvidia.spec new file mode 100644 index 0000000..535ff51 --- /dev/null +++ b/fedora/SPECS/ffmpeg-nvidia.spec @@ -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 +- Initial build. +- Build with Nvidia Cuda support. + diff --git a/fedora/SPECS/kodi.spec b/fedora/SPECS/kodi.spec index 3fce3b6..3159934 100644 --- a/fedora/SPECS/kodi.spec +++ b/fedora/SPECS/kodi.spec @@ -19,8 +19,9 @@ %global _with_cwiid 1 %global _with_libssh 1 %global _with_libcec 1 -%global _with_external_ffmpeg 1 %global _with_wayland 1 +# only enable it, if you have a nvidia gpu! +%global _with_nvidia_ffmpeg 1 %endif %if 0%{?_with_wayland} %global kodi_backends x11 wayland gbm @@ -30,7 +31,7 @@ Name: kodi Version: 18.6 -Release: 99.%{myRELEASE}.%{PRERELEASE}%{?dist} +Release: 100.%{myRELEASE}.%{PRERELEASE}%{?dist} Summary: Media center 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 %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 Patch1: kodi-18.0-versioning.patch @@ -104,10 +100,10 @@ BuildRequires: enca-devel BuildRequires: expat-devel BuildRequires: faad2-devel BuildRequires: firewalld-filesystem -%if 0%{?_with_external_ffmpeg} -BuildRequires: ffmpeg-devel +%if 0%{?_with_nvidia_ffmpeg} +BuildRequires: ffmpeg-nvidia-devel %else -BuildRequires: trousers-devel +BuildRequires: ffmpeg-devel %endif BuildRequires: flac-devel BuildRequires: flatbuffers-devel @@ -231,6 +227,11 @@ Requires: %{name}-common = %{version}-%{release} Requires: (%{name}-wayland = %{version}-%{release} if libwayland-server) Requires: (%{name}-x11 = %{version}-%{release} if xorg-x11-server-Xorg) Requires: (%{name}-firewalld = %{version}-%{release} if firewalld) +%if 0%{?_with_nvidia_ffmpeg} +Requires: ffmpeg-nvidia +Requires: ffmpeg-nvidia-libs +%endif + %description @@ -396,9 +397,6 @@ do -DLIBDVDCSS_URL=%{SOURCE4} \ %else -DENABLE_DVDCSS=OFF \ -%endif -%if ! 0%{?_with_external_ffmpeg} - -DFFMPEG_URL=%{SOURCE5} \ %endif -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -GNinja \ @@ -544,6 +542,9 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/kodi-wiiremote.1 %changelog +* Sun Mar 8 2020 Daniel Steiner +- Nvidia depend build with ffmpeg-nvidia library. + * Fri Mar 3 2020 Daniel Steiner - Update to 18.6 From 07ef337b3dea3356106733d1ee0dcef63d635c3f Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sun, 8 Mar 2020 13:09:00 +0100 Subject: [PATCH 3/7] Fallback to normal ffmpeg libs added --- fedora/SPECS/kodi.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fedora/SPECS/kodi.spec b/fedora/SPECS/kodi.spec index 3159934..2abd95e 100644 --- a/fedora/SPECS/kodi.spec +++ b/fedora/SPECS/kodi.spec @@ -230,6 +230,9 @@ Requires: (%{name}-firewalld = %{version}-%{release} if firewalld) %if 0%{?_with_nvidia_ffmpeg} Requires: ffmpeg-nvidia Requires: ffmpeg-nvidia-libs +%else +Requires: ffmpeg +Requires: ffmpeg-libs %endif From 39f766141e6015d60fbc2fc040ad352fc978bc6c Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sun, 8 Mar 2020 13:10:25 +0100 Subject: [PATCH 4/7] Bogus date fixed --- fedora/SPECS/kodi.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora/SPECS/kodi.spec b/fedora/SPECS/kodi.spec index 2abd95e..20cdbac 100644 --- a/fedora/SPECS/kodi.spec +++ b/fedora/SPECS/kodi.spec @@ -548,7 +548,7 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/kodi-wiiremote.1 * Sun Mar 8 2020 Daniel Steiner - Nvidia depend build with ffmpeg-nvidia library. -* Fri Mar 3 2020 Daniel Steiner +* Fri Mar 6 2020 Daniel Steiner - Update to 18.6 * Sat Nov 16 2019 Daniel Steiner From a72a59a5cebcf4045be578808f3ff4ed3a4bab1c Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sun, 8 Mar 2020 14:08:50 +0100 Subject: [PATCH 5/7] postproc support added --- fedora/SPECS/ffmpeg-nvidia.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/fedora/SPECS/ffmpeg-nvidia.spec b/fedora/SPECS/ffmpeg-nvidia.spec index 535ff51..c6b97fc 100644 --- a/fedora/SPECS/ffmpeg-nvidia.spec +++ b/fedora/SPECS/ffmpeg-nvidia.spec @@ -153,6 +153,7 @@ This package contains development files for %{ffname} --enable-libzimg \ --enable-libzvbi \ --enable-shared \ + --enable-postproc \ --enable-version3 %install From 2381d85dedf8e364f98cc3aff737496a9aab62d2 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sun, 8 Mar 2020 14:10:04 +0100 Subject: [PATCH 6/7] Release increased --- fedora/SPECS/ffmpeg-nvidia.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora/SPECS/ffmpeg-nvidia.spec b/fedora/SPECS/ffmpeg-nvidia.spec index c6b97fc..b96c4d1 100644 --- a/fedora/SPECS/ffmpeg-nvidia.spec +++ b/fedora/SPECS/ffmpeg-nvidia.spec @@ -1,7 +1,7 @@ Summary: Digital VCR and streaming server Name: ffmpeg-nvidia Version: 4.2.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ URL: http://ffmpeg.org/ Source0: http://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz From 5d8d06722063b9bf0675b4957562e1fac12f79b1 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sun, 8 Mar 2020 21:56:01 +0100 Subject: [PATCH 7/7] More modules enabled --- fedora/SPECS/ffmpeg-nvidia.spec | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/fedora/SPECS/ffmpeg-nvidia.spec b/fedora/SPECS/ffmpeg-nvidia.spec index b96c4d1..d630409 100644 --- a/fedora/SPECS/ffmpeg-nvidia.spec +++ b/fedora/SPECS/ffmpeg-nvidia.spec @@ -9,6 +9,7 @@ Source0: http://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz %define cudav 10-1 %define ffname ffmpeg %define debug_package %{nil} +%define _with_libnpp 1 BuildRequires: cuda-drivers-devel BuildRequires: cuda-minimal-build-%{cudav} @@ -126,9 +127,14 @@ This package contains development files for %{ffname} --mandir=%{_mandir} \ --arch=x86_64 \ --enable-cuda \ + --enable-cuda-sdk \ --enable-cuvid \ --enable-nvenc \ + --enable-libx264 \ + --enable-libx265 \ --enable-nonfree \ + --enable-gpl \ + --enable-libfdk_aac \ --extra-cflags=-I/usr/local/cuda-%{cudav}/include \ --extra-ldflags=-L/usr/local/cuda-%{cudav}/lib64 \ --disable-manpages \ @@ -154,7 +160,27 @@ This package contains development files for %{ffname} --enable-libzvbi \ --enable-shared \ --enable-postproc \ + --enable-libvo-amrwbenc \ + --enable-bzlib \ + --disable-crystalhd \ + --enable-fontconfig \ + --enable-gcrypt \ + --enable-gnutls \ + --enable-ladspa \ + --enable-libaom \ + --enable-libdav1d \ + --enable-libass \ + --enable-libfdk-aac \ + --enable-libjack \ + --enable-libfreetype \ + --enable-libfribidi \ + --enable-libgsm \ + %{?_with_libnpp:--enable-libnpp \} --enable-version3 + + +# interesting: +# https://patchwork.ffmpeg.org/project/ffmpeg/patch/0jvAo3VLhFQ4_4u5oIjRgKWsvUsMNzbFI7uRxyeg3q5DRtwQTeyeAKjnI6vW56j-ckb7etJOBCdiWpXRwMivvzlb9rvRTrZ9UY4ORW1vWww=@protonmail.com/#16559 %install make install DESTDIR=%{?buildroot}