%define kodi_arch %{_target_base_arch}
%endif
-%define dvdread_ver 6.1.3-Next-Nexus-Alpha2-2
-%define dvdcss_ver 1.4.3-Next-Nexus-Alpha2-2
-%define dvdnav_ver 6.1.1-Next-Nexus-Alpha2-2
+%define dvdread_ver 6.1.3-Next-Nexus-Alpha2-2
+%define dvdcss_ver 1.4.3-Next-Nexus-Alpha2-2
+%define dvdnav_ver 6.1.1-Next-Nexus-Alpha2-2
+%define groovy_ver 4.0.16
+%define commons_lang_ver 3.14.0
+%define commons_text_ver 1.11.0
-%define codename Nexus
-#define subver rc1
+%define codename Omega
Summary: Kodi is a free and open source media-player and entertainment hub
Name: kodi
-Version: 20.1
+Version: 21.0
Release: 1
License: GPL v2+ and GPL v3+
Group: Applications/Multimedia
#Source0Download: https://github.com/xbmc/xbmc/releases
Source0: https://github.com/xbmc/xbmc/archive/%{version}-%{codename}.tar.gz
-# Source0-md5: ed115f2fac4d425fdd4fd228065ef2c4
+# Source0-md5: 74501a89f0ea23d2908a9b983ab3d6f8
Source1: https://github.com/xbmc/libdvdread/archive/%{dvdread_ver}/libdvdread-%{dvdread_ver}.tar.gz
# Source1-md5: 0d24c950abfef9dc02e231dda56912ac
Source2: https://github.com/xbmc/libdvdcss/archive/%{dvdcss_ver}/libdvdcss-%{dvdcss_ver}.tar.gz
# Source2-md5: 42dc3770ae928103e8033a18b007e79d
Source3: https://github.com/xbmc/libdvdnav/archive/%{dvdnav_ver}/libdvdnav-%{dvdnav_ver}.tar.gz
# Source3-md5: 2349cde54d950af21fa4936371ad3349
+Source4: http://mirrors.kodi.tv/build-deps/sources/apache-groovy-binary-%{groovy_ver}.zip
+# Source4-md5: bd9eb761a11372dd659da8c2cf1ae692
+Source5: http://mirrors.kodi.tv/build-deps/sources/commons-lang3-%{commons_lang_ver}-bin.tar.gz
+# Source5-md5: 88c83b3fa007ae35d4f82a2466cad423
+Source6: http://mirrors.kodi.tv/build-deps/sources/commons-text-%{commons_text_ver}-bin.tar.gz
+# Source6-md5: ae1f7607159b192e12f9c8eaaaf3d927
Patch0: disable-static.patch
+Patch1: xbmc-libfmt.patch
URL: https://kodi.tv/
BuildRequires: EGL-devel
%{?with_gbm:BuildRequires: Mesa-libgbm-devel}
BuildRequires: automake
BuildRequires: avahi-devel
BuildRequires: bluez-libs-devel >= 4.99
-BuildRequires: cmake >= 3.12
+BuildRequires: cmake >= 3.15
BuildRequires: crossguid-devel
BuildRequires: curl-devel
%{!?with_system_ffmpeg:BuildRequires: dav1d-devel}
BuildRequires: dbus-devel
-# libavcodec >= 58.91.100 libavfilter >= 7.85.100 libavformat >= 58.45.100 libavutil >= 56.51.100 libpostproc >= 55.7.100 libswscale >= 5.7.100 libswresample >= 3.7.100
-%{?with_system_ffmpeg:BuildRequires: ffmpeg-devel >= 4.3}
+# libavcodec >= 60.2.100 libavfilter >= 9.3.100 libavformat >= 60.3.100 libavutil >= 58.2.100 libpostproc >= 57.1.100 libswscale >= 7.1.100 libswresample >= 4.10.100
+%{?with_system_ffmpeg:BuildRequires: ffmpeg-devel >= 6.0.0}
BuildRequires: flatbuffers-devel >= 1.9.0
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: harfbuzz-devel
BuildRequires: jre
BuildRequires: lcms2-devel
-BuildRequires: libass-devel
+BuildRequires: libass-devel >= 0.15.0
BuildRequires: libatomic-devel
BuildRequires: libbluray-devel >= 0.9.3
BuildRequires: libcap-devel
BuildRequires: libcdio-c++-devel >= 2.1.0
BuildRequires: libcdio-devel >= 2.1.0
-BuildRequires: libcec-devel >= 3.0.0
+BuildRequires: libcec-devel >= 4.0.0
+BuildRequires: libdisplay-info-devel
BuildRequires: libdrm-devel >= 2.4.95
BuildRequires: libfmt-devel >= 6.1.2
%{?with_gbm:BuildRequires: libinput-devel}
BuildRequires: mysql-devel
BuildRequires: openssl-devel >= 1.1.0
BuildRequires: pcre-cxx-devel
-BuildRequires: pipewire-devel
+BuildRequires: pipewire-devel >= 0.3.50
BuildRequires: pkgconfig
BuildRequires: pulseaudio-devel >= 11.0.0
BuildRequires: python3-devel >= 1:3.8
BuildRequires: sqlite3-devel
BuildRequires: swig
BuildRequires: taglib-devel >= 1.9.0
-BuildRequires: tinyxml-devel >= 2.6.2
+BuildRequires: tinyxml-devel
+BuildRequires: tinyxml2-devel
BuildRequires: udev-devel
%if %{with wayland}
BuildRequires: wayland-protocols >= 1.7
Requires: %{name}-common = %{version}-%{release}
Requires: alsa-lib >= 1.0.27
Requires: desktop-file-utils
-Requires: ffmpeg-libs >= 4.3
+Requires: ffmpeg-libs >= 6.0.0
Requires: hicolor-icon-theme
+Requires: libass >= 0.15.0
Requires: libbluray >= 0.9.3
Requires: libcdio >= 2.1.0
Requires: libcdio-c++ >= 2.1.0
-Requires: libcec >= 3.0.0
+Requires: libcec >= 4.0.0
Requires: libdrm >= 2.4.95
Requires: libfmt >= 6.1.2
Requires: libmicrohttpd >= 0.9.40
Requires: libudfread >= 1.0.0
Requires: lsb-release
Requires: openssl >= 1.1.0
+Requires: pipewire-libs >= 0.3.50
Requires: pulseaudio-libs >= 11.0.0
Requires: spdlog >= 1.5.0
Requires: taglib >= 1.9.0
Header files for Kodi.
%prep
-%setup -q -n xbmc-%{version}%{?subver}-%{codename} -a1 -a2 -a3
-%patch0 -p1
+%setup -q -n xbmc-%{version}-%{codename} -a1 -a2 -a3
+#%patch0 -p1
+#%patch1 -p1
%{__rm} -r lib/win32
#ln -s %{SOURCE1} tools/depends/target/ffmpeg/ffmpeg-2.4.4-%{codename}.tar.gz
%endif
-%build
grep -q '^VERSION=%{dvdread_ver}$' tools/depends/target/libdvdread/LIBDVDREAD-VERSION
grep -q '^VERSION=%{dvdcss_ver}$' tools/depends/target/libdvdcss/LIBDVDCSS-VERSION
grep -q '^VERSION=%{dvdnav_ver}$' tools/depends/target/libdvdnav/LIBDVDNAV-VERSION
+grep -q 'GROOVY_VER %{groovy_ver}' xbmc/interfaces/swig/CMakeLists.txt
+grep -q 'APACHE_COMMONS_LANG_VER %{commons_lang_ver}' xbmc/interfaces/swig/CMakeLists.txt
+grep -q 'APACHE_COMMONS_TEXT_VER %{commons_text_ver}' xbmc/interfaces/swig/CMakeLists.txt
+install -d build/build/download
+cp -p %{SOURCE4} %{SOURCE5} %{SOURCE6} build/build/download
+%build
%cmake -B build \
+ -DHOST_CAN_EXECUTE_TARGET:BOOL=TRUE \
-DLIBDVDREAD_SOURCE_DIR=$(pwd)/libdvdread-%{dvdread_ver} \
-DLIBDVDCSS_SOURCE_DIR=$(pwd)/libdvdcss-%{dvdcss_ver} \
-DLIBDVDNAV_SOURCE_DIR=$(pwd)/libdvdnav-%{dvdnav_ver} \
-DCORE_PLATFORM_NAME="%{?with_gbm:GBM;}%{?with_x11:X11;}%{?with_wayland:WAYLAND;}" \
%{cmake_on_off airtunes ENABLE_AIRTUNES} \
%{cmake_on_off dvdcss ENABLE_DVDCSS} \
+ -DENABLE_INTERNAL_CEC:BOOL=OFF \
-DENABLE_INTERNAL_CROSSGUID:BOOL=OFF \
-DENABLE_INTERNAL_DAV1D:BOOL=OFF \
-DENABLE_INTERNAL_FFMPEG:BOOL=%{?with_system_ffmpeg:OFF}%{!?with_system_ffmpeg:ON} \
# not packaged
%{__rm} $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/kodi-*.xml
+# same as kodi-TexturePacker
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/TexturePacker
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc README.md docs/README.Linux.md
-%attr(755,root,root) %{_bindir}/JsonSchemaBuilder
%attr(755,root,root) %{_bindir}/kodi
%attr(755,root,root) %{_bindir}/kodi-TexturePacker
%attr(755,root,root) %{_bindir}/kodi-standalone
%{_iconsdir}/hicolor/*/apps/%{name}.png
%{_datadir}/metainfo/org.xbmc.kodi.metainfo.xml
%{_datadir}/xsessions/kodi.desktop
+%{_datadir}/wayland-sessions/kodi-gbm.desktop
%files common
%defattr(644,root,root,755)