331 lines
9.7 KiB
RPMSpec
331 lines
9.7 KiB
RPMSpec
# 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 -Matrix
|
||
%define ffmpeg_ver 4.3.2%{codenameadd}-19.1
|
||
|
||
Name: kodi
|
||
Version: 19.1
|
||
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
|
||
#http://ftp.df.lth.se/pub/xbmc/releases/source/%{version}%{?codenameadd}.tar.gz
|
||
Source1: https://github.com/xbmc/FFmpeg/archive/%{ffmpeg_ver}.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
|
||
License: GPL
|
||
## AUTOBUILDREQ-BEGIN
|
||
BuildRequires: glibc-devel
|
||
BuildRequires: libGLU-devel
|
||
BuildRequires: libX11-devel
|
||
BuildRequires: libXext-devel
|
||
BuildRequires: libXrandr-devel
|
||
BuildRequires: libalsa-devel
|
||
BuildRequires: libass-devel
|
||
BuildRequires: libavahi-devel
|
||
BuildRequires: libavcodec-ffmpeg-devel
|
||
BuildRequires: libavfilter-ffmpeg-devel
|
||
BuildRequires: libavformat-ffmpeg-devel
|
||
BuildRequires: libavutil-ffmpeg-devel
|
||
BuildRequires: libbluetooth-devel
|
||
BuildRequires: libbluray-devel
|
||
BuildRequires: libcap-devel
|
||
BuildRequires: libcdio-devel
|
||
BuildRequires: libcec-devel
|
||
BuildRequires: libcurl-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: libinput-devel
|
||
BuildRequires: libjpeg-devel
|
||
BuildRequires: liblcms2-devel
|
||
BuildRequires: liblzo-devel
|
||
BuildRequires: libmariadb-devel
|
||
BuildRequires: libmesa-devel
|
||
BuildRequires: libmicrohttpd-devel
|
||
BuildRequires: libnfs-devel
|
||
BuildRequires: libopenssl-devel
|
||
BuildRequires: libpcre-devel
|
||
BuildRequires: libplist-devel
|
||
BuildRequires: libpng-devel
|
||
BuildRequires: libpostproc-ffmpeg-devel
|
||
BuildRequires: libpulseaudio-devel
|
||
BuildRequires: libpulseaudio-glib-devel
|
||
BuildRequires: libpython3-devel
|
||
BuildRequires: libpython39-devel
|
||
BuildRequires: libsmbclient-devel
|
||
BuildRequires: libspdlog-devel
|
||
BuildRequires: libsqlite-devel
|
||
BuildRequires: libstdc++6-devel
|
||
BuildRequires: libswresample-ffmpeg-devel
|
||
BuildRequires: libswscale-ffmpeg-devel
|
||
BuildRequires: libtag-devel
|
||
BuildRequires: libtinyxml-devel
|
||
BuildRequires: libudev-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: lirc-devel
|
||
## AUTOBUILDREQ-END
|
||
BuildRequires: doxygen
|
||
BuildRequires: gperf
|
||
BuildRequires: nasm
|
||
BuildRequires: swig
|
||
BuildRequires: unzip
|
||
BuildRequires: libdvdcss-devel
|
||
BuildRequires: libflac-devel
|
||
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
|
||
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}"
|
||
%patch3 -p1
|
||
%patch4 -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
|
||
|
||
%build
|
||
#:<< ___EOF
|
||
%cmake -d build \
|
||
\
|
||
%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}/JsonSchemaBuilder
|
||
%{_bindir}/TexturePacker
|
||
%dir %{_datadir}/kodi
|
||
%{_datadir}/kodi/*
|
||
%attr(0644,root,root) %{_datadir}/applications/kodi.desktop
|
||
%{_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
|
||
* 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
|