kodi/kodi.spec

372 lines
11 KiB
RPMSpec
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# note: build for raspberrypi
# autospec --define _with_raspberrypi=1 xbmc.spec
# -or-
# rpmbuild --with raspberrypi xbmc.spec
%if "%{?_with_raspberrypi}"
%define pckname %{name}-rpi
%else
%define pckname %name
%endif
%define pkgver %(echo %version | cut -d_ -f1)
%define pkgrel %(echo %version | cut -d_ -f2)
%define codenameadd -Nexus
#%define ffmpeg_ver 4.3.2%{codenameadd}-19.1
Name: kodi
Version: 20.2
Release: 1mamba
Summary: A media player and entertainment hub for digital media
Group: Graphical Desktop/Applications/Multimedia
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://kodi.tv/
Source: https://github.com/xbmc/xbmc/archive/%{version}%{?codenameadd}.tar.gz
Source1: https://github.com/xbmc/FFmpeg/archive/4.4.1-Nexus-Alpha1.tar.gz
#Source2: http://mirrors.kodi.tv/build-deps/sources/fmt-6.1.2.tar.gz
#Source3: http://mirrors.kodi.tv/build-deps/sources/spdlog-1.5.0.tar.gz
Patch0: xbmc-12.0-do_not_require_lsb_release.patch
Patch1: xbmc-12.0-inconsistent_operand_constraints_in_an_asm.patch
Patch2: xbmc-12.0-systeminfo.patch
Patch3: xbmc-12.0-set_native_cxxflags.patch
Patch4: xbmc-12.0-relax_badcolordepth_check.patch
Patch5: xbmc-12.0-arm-no-fp.patch
Patch6: xbmc-13.1-libnfs-1.9.4.patch
Patch7: kodi-15.2-ffmpeg-x86-asm-impossible-contraints-fix.patch
Patch8: kodi-16.1-gcc-6.1.0.patch
Patch9: kodi-20.2-binutils-2.41.patch
Patch10: kodi-20.2-fmt-10.1.0.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libXrandr-devel
BuildRequires: libXv-devel
BuildRequires: libalsa-devel
BuildRequires: libass-devel
BuildRequires: libatomic-devel
BuildRequires: libavahi-devel
BuildRequires: libbluetooth-devel
BuildRequires: libbluray-devel
BuildRequires: libbrotli-devel
BuildRequires: libbzip2-devel
BuildRequires: libcap-devel
BuildRequires: libcdio-devel
BuildRequires: libcec-devel
%ifarch x86_64 %{ix86}
BuildRequires: libcrystalhd-devel
%endif
BuildRequires: libcurl-devel
BuildRequires: libdav1d-devel
BuildRequires: libdbus-devel
BuildRequires: libdrm-devel
BuildRequires: libfmt-devel
BuildRequires: libfreetype-devel
BuildRequires: libfribidi-devel
BuildRequires: libfstrcmp-devel
BuildRequires: libgcc
BuildRequires: libgif-devel
BuildRequires: libglvnd-devel
BuildRequires: libgmp-devel
BuildRequires: libgnutls-devel
BuildRequires: libharfbuzz-devel
BuildRequires: libidn2-devel
BuildRequires: libinput-devel
BuildRequires: libjpeg-devel
BuildRequires: liblcms2-devel
BuildRequires: liblzma-devel
BuildRequires: liblzo-devel
BuildRequires: libmariadb-devel
BuildRequires: libmesa-devel
BuildRequires: libmicrohttpd-devel
BuildRequires: libnettle-devel
BuildRequires: libnfs-devel
BuildRequires: libopenssl-devel
BuildRequires: libp11-kit-devel
BuildRequires: libpcre-devel
BuildRequires: libpipewire-devel
BuildRequires: libplist-devel
BuildRequires: libpng-devel
BuildRequires: libpulseaudio-devel
BuildRequires: libpulseaudio-glib-devel
BuildRequires: libpython310-devel
BuildRequires: libsmbclient-devel
BuildRequires: libspdlog-devel
BuildRequires: libsqlite-devel
BuildRequires: libstdc++6-devel
BuildRequires: libtag-devel
BuildRequires: libtasn1-devel
BuildRequires: libtinyxml-devel
BuildRequires: libudev-devel
BuildRequires: libunistring-devel
BuildRequires: libuuid-devel
BuildRequires: libva-devel
BuildRequires: libvdpau-devel
BuildRequires: libwaylandpp-devel
BuildRequires: libxkbcommon-devel
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: libz-devel
BuildRequires: libzstd-devel
BuildRequires: lirc-devel
BuildRequires: trousers-devel
## AUTOBUILDREQ-END
BuildRequires: doxygen
BuildRequires: gperf
BuildRequires: nasm
BuildRequires: swig
BuildRequires: unzip
BuildRequires: libdvdcss-devel
BuildRequires: libflac-devel
BuildRequires: libfmt-devel >= 10.1.0
BuildRequires: libGLESv2-devel
BuildRequires: liblame-devel
BuildRequires: libmad-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpeg2-devel
BuildRequires: libogg-devel
BuildRequires: librtmp-devel
#BuildRequires: libSDL-devel
#BuildRequires: libSDL_gfx-devel
#BuildRequires: libSDL_image-devel
BuildRequires: libusb-devel
BuildRequires: libvorbis-devel
BuildRequires: libzip-devel
%if "%{?_with_raspberrypi}"
BuildRequires: libraspberrypi-devel
%endif
BuildRequires: libprojectM-devel
BuildRequires: libdcadec-devel
BuildRequires: libcrossguid-devel
BuildRequires: libflatbuffers-devel
BuildRequires: librapidjson-devel
BuildRequires: libwaylandpp-devel >= 1.0.0
Requires: mesa-tests
Requires: xdpyinfo
Requires: libprojectM
Provides: xbmc
Obsoletes: xbmc < 18.9
%description
XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media.
%package devel
Summary: Development package for %{name}
Group: Development/Libraries
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Provides: xbmc-devel
Obsoletes: xbmc-devel < 18.9
%description devel
XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media.
This package contains headers for %{name} development.
%if "%{?_with_raspberrypi}"
%package -n %{name}-rpi
Summary: A media player and entertainment hub for digital media
Group: Graphical Desktop/Applications/Multimedia
Provides: xbmc-rpi
Obsoletes: xbmc-rpi < 18.9
%description -n %{name}-rpi
XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media.
%endif
%debug_package
%prep
%setup -q -n xbmc-%{pkgver}%{?codenameadd}
#-D -T
#:<< ___EOF
%if "%{?_with_raspberrypi}"
%patch 3 -p1
%patch 4 -p1
%endif
#ln -s %{SOURCE1} tools/depends/target/ffmpeg/
#%ifarch %{ix86}
#cd tools/depends/target/ffmpeg/
#tar xf %{ffmpeg_ver}.tar.gz
#cd FFmpeg-%{ffmpeg_ver}
#%patch7 -p1
#%endif
%patch 9 -p1
%patch 10 -p1 -b .fmt-10.1.0
%build
#:<< ___EOF
%cmake -d build \
-DENABLE_INTERNAL_FFMPEG=ON \
-DFFMPEG_URL="%{SOURCE1}" \
%ifarch x86_64 %{ix86}
-DAPP_RENDER_SYSTEM="gl"
%endif
%ifarch aarch64 arm
-DAPP_RENDER_SYSTEM="gles"
%endif
%if "%{?_with_raspberrypi}"
# -Wno-psabi: just to avoid the annoying flooding of gcc warnings
# "the mangling of va_list has changed in GCC 4.4"
# We cannot use pipes rather than intermediate files ('-pipe') because
# this option requires too much memory and the build will end with an error
# (xbmc/music/MusicDatabase.o -- Error: unknown pseudo-op: '.uleb')
BUILD_FLAGS="\
-O2 -fomit-frame-pointer -Wno-psabi \
-lvchostif \
-I/opt/vc/include \
-I/opt/vc/include/IL \
-I/opt/vc/include/interface/vcos/pthreads \
-I/opt/vc/include/interface/vmcs_host/linux"
export CXXFLAGS="$BUILD_FLAGS"
export LDFLAGS="$LDFLAGS -L/opt/vc/lib"
%endif
%make
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall -C build
rm -fr %{buildroot}%{_datadir}/doc
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%pre
if [ $1 -ge 1 ]; then
[ -L %{_libdir}/xbmc ] || rm -rf %{_libdir}/xbmc
fi
exit 0
%post -n %{pckname}
/bin/touch --no-create %{_datadir}/icons/hicolor >/dev/null 2>&1
:
%postun -n %{pckname}
if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/icons/hicolor >/dev/null 2>&1
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null 2>&1
fi
:
%posttrans -n %{pckname}
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null 2>&1
:
%files -n %{pckname}
%defattr(-,root,root)
%{_bindir}/kodi
%{_bindir}/kodi-standalone
%{_bindir}/kodi-TexturePacker
%{_bindir}/JsonSchemaBuilder
%dir %{_datadir}/kodi
%{_datadir}/kodi/*
%{_datadir}/applications/kodi.desktop
%{_datadir}/metainfo/org.xbmc.kodi.metainfo.xml
%{_datadir}/xsessions/kodi.desktop
%{_datadir}/icons/hicolor/*/*/*.png
%{_prefix}/lib/firewalld/services/kodi-*.xml
%dir %{_libdir}/kodi
%{_libdir}/kodi/*
%doc LICENSE.md
%files devel
%defattr(-,root,root)
%dir %{_includedir}/kodi
%{_includedir}/kodi/*
%doc README.md
%changelog
* Sat Aug 26 2023 Automatic Build System <autodist@mambasoft.it> 20.2-1mamba
- automatic version update by autodist
* Sun Mar 12 2023 Automatic Build System <autodist@mambasoft.it> 20.1-1mamba
- automatic version update by autodist
* Mon Jan 23 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 20.0-1mamba
- update to 20.0
* Sun Dec 25 2022 Automatic Build System <autodist@mambasoft.it> 19.5-1mamba
- automatic version update by autodist
* Sat Jun 04 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 19.4-1mamba
- update to 19.4
* Tue Oct 26 2021 Automatic Build System <autodist@mambasoft.it> 19.3-1mamba
- automatic version update by autodist
* Thu Oct 14 2021 Automatic Build System <autodist@mambasoft.it> 19.2-1mamba
- automatic version update by autodist
* Wed Jun 02 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 19.1-1mamba
- update to 19.1
* Thu Mar 25 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 18.9-1mamba
- update to 18.9
* Sun Dec 08 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 18.5-1mamba
- update to 18.5
* Sun Jul 29 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 17.6-1mamba
- update to 17.6
* Thu May 19 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 16.1-1mamba
- update to 16.1
* Mon Mar 14 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 16.0-1mamba
- update to 16.0
* Sun Feb 14 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 15.2-3mamba
- rebuilt with gcc 5.3.0
* Wed Nov 18 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 15.2-2mamba
- fix kodi vs xbmc libdir weirdness
* Sun Nov 15 2015 Automatic Build System <autodist@mambasoft.it> 15.2-1mamba
- automatic version update by autodist
* Tue Sep 22 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 15.1-1mamba
- update to 15.1
* Fri Sep 19 2014 Automatic Build System <autodist@mambasoft.it> 13.2-1mamba
- automatic update by autodist
* Mon Jun 23 2014 Automatic Build System <autodist@mambasoft.it> 13.1-1mamba
- automatic update by autodist
* Wed Jun 04 2014 Automatic Build System <autodist@mambasoft.it> 13.0_r2-1mamba
- automatic update by autodist
* Sat Jan 04 2014 Automatic Build System <autodist@mambasoft.it> 12.3-1mamba
- automatic version update by autodist
* Sat Jun 01 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 12.2-2mamba
- python 2.7 mass rebuild
* Tue May 07 2013 Automatic Build System <autodist@mambasoft.it> 12.2-1mamba
- automatic version update by autodist
* Tue Mar 26 2013 Automatic Build System <autodist@mambasoft.it> 12.1-1mamba
- automatic version update by autodist
* Sat Mar 09 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 12.0-4mamba
- require libprojectM
- raspberrypi: don't disable libprojectM
* Mon Feb 25 2013 openmamba WebBuild System <webbuild@openmamba.org> 12.0-3mamba
- - simplify the conditional statements by using a syntax that autospec can understand
* Sun Feb 24 2013 openmamba WebBuild System <webbuild@openmamba.org> 12.0-2mamba
- make raspberrypi a conditional build target
* Fri Feb 15 2013 Davide Madrisan <davide.madrisan@gmail.com> 12.0-1mamba
- package created by autospec