# TODO:
# - fix build flags - some files are compiled with -O3 and without rpm*flags
-# - fix linking argument order
# - add and/or fix users/groups permissions
# - split to subpackages?
-# - system ffmpeg (--with-ffmpeg=shared), DVDDemuxFFmpeg.cpp:542:41: error: 'av_read_frame_flush' was not declared in this scope
# - bundled ffmpeg build (tools/depends/target/ffmpeg/autobuild.sh) enables nonfree & gpl!
#
# Conditional build:
%bcond_with afpclient # AFP support via libafpclient
%bcond_without airplay # AirPlay support
%bcond_with airtunes # AirTunes support
-%bcond_without alsa # ALSA support (only for linux/freebsd)
-%bcond_without avahi # Avahi support (default is enabled if libavahi-common and libavahi-client is found)
+%bcond_without alsa # ALSA support
+%bcond_without avahi # Avahi support
%bcond_without dbus # DBUS support
%bcond_without dvdcss # DVDCSS support
%bcond_without fishbmc # FishBMC visualisation
%bcond_without gl # OpenGL rendering
%bcond_without goom # GOOM visualisation
%bcond_with gtest # configure Google Test Framework
-%bcond_with hal # build with HAL
%bcond_without joystick # SDL joystick support
%bcond_without libcap # libcap support
%bcond_with libcec # libcec support
%bcond_without pulse # PulseAudio support
%bcond_without rsxs # really slick X screensavers
%bcond_without rtmp # RTMP support via librtmp
-%bcond_without samba # SAMBA support (default is enabled)
+%bcond_without samba # SAMBA support
%bcond_without sdl # SDL
%bcond_without spectrum # Spectrum visualisation
-%bcond_without ssh # SSH SFTP support (default is enabled)
+%bcond_without ssh # SSH SFTP support
%bcond_without texturepacker # texturepacker support
%bcond_without udev # udev support
-%bcond_without upnp # UPnP support (default is enabled)
+%bcond_without upnp # UPnP support
%bcond_without vaapi # VAAPI decoding
%bcond_without vdpau # VDPAU decoding
%bcond_with vtbdecoder # VTBDecoder decoding (VTB Decoder not supported on this platform)
%bcond_without webserver # webserver
%bcond_without x11 # x11 'Linux Only'
%bcond_without xrandr # XRandR support
+%bcond_with asap_codec # ASAP ADPCM support
+%bcond_with gles # OpenGLES rendering
+%bcond_without libbluray # libbluray support
+%bcond_without mid # MID support
+%bcond_with profiling # gprof profiling
+%bcond_with tegra # Tegra2 arm
+%bcond_with wayland # wayland
# System libs:
%bcond_without system_ffmpeg # build with system ffmpeg
+%bcond_without system_dvdread # build with system dvdread
%define codename Helix
Summary: Kodi is a free and open source media-player and entertainment hub
Name: kodi
Version: 14.0
-Release: 0.1
+Release: 0.3
License: GPL v2+ and GPL v3+
Group: Applications/Multimedia
Source0: http://mirrors.kodi.tv/releases/source/%{version}-%{codename}.tar.gz
# Source1-md5: 19b5d29ef6b5a6fc202c652fe3905d9b
Patch0: jpeglib-boolean.patch
Patch1: dvddemux-ffmpeg.patch
+Patch2: dvdread.patch
URL: http://kodi.tv/
BuildRequires: Mesa-libGLU-devel
BuildRequires: OpenGL-devel
BuildRequires: curl-devel
BuildRequires: dbus-devel
BuildRequires: doxygen
-BuildRequires: ffmpeg-devel
+%{?with_system_ffmpeg:BuildRequires: ffmpeg-devel >= 2.4.4}
BuildRequires: flac-devel
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: gettext-tools
BuildRequires: glew-devel
BuildRequires: gperf
-%{?with_hal:BuildRequires: hal-devel}
BuildRequires: jasper-devel
BuildRequires: jre
BuildRequires: libass-devel
BuildRequires: libcap-devel
BuildRequires: libcdio-devel
%{?with_libcec:BuildRequires: libcec-devel}
+%{?with_system_dvdread:BuildRequires: libdvdread-devel}
%ifarch i686 pentium4 athlon %{x8664}
BuildRequires: libcrystalhd-devel
%endif
%prep
%setup -q -n xbmc-%{version}-%{codename}
%patch0 -p1
-%patch1 -p0
+%{?with_system_ffmpeg:%patch1 -p0}
+%{?with_system_dvdread:%patch2 -p1}
+
+rm -r lib/cximage-6.0/zlib
+#rm -r lib/libhdhomerun
+rm -r lib/libmpeg2
+rm -r xbmc/cores/dvdplayer/DVDCodecs/Video/libmpeg2
+rm -r lib/enca
+rm -r lib/libbluray
+rm -r lib/libmicrohttpd
+rm -r lib/libmodplug
+rm -r lib/librtmp
+rm -r lib/win32
+%{?with_system_dvdread:rm -r lib/libdvd/libdvdread}
%if %{without system_ffmpeg}
ln -s %{SOURCE1} tools/depends/target/ffmpeg/ffmpeg-2.4.4-%{codename}.tar.gz
%{__enable_disable airplay} \
%{__enable_disable airtunes} \
%{__enable_disable alsa} \
+ %{__enable_disable asap_codec asap-codec} \
%{__enable_disable avahi} \
%{__enable_disable dbus} \
%{__enable_disable dvdcss} \
%{__enable_disable fishbmc} \
+ %{__enable_disable gles} \
%{__enable_disable gl} \
%{__enable_disable goom} \
%{__enable_disable gtest} \
- %{__enable_disable gtexturepacker} \
- %{__enable_disable hal} \
%{__enable_disable joystick} \
+ %{__enable_disable libbluray} \
%{__enable_disable libcap} \
%{__enable_disable libcec} \
%{__enable_disable libusb} \
%{__enable_disable mdnsembedded} \
+ %{__enable_disable mid} \
%{__enable_disable mysql} \
%{__enable_disable nfs} \
%{__enable_disable non_free non-free} \
%{__enable_disable openmax} \
%{__enable_disable optical_drive optical-drive} \
+ %{__enable_disable profiling} \
%{__enable_disable projectm} \
%{__enable_disable pulse} \
%{__enable_disable rsxs} \
%{__enable_disable sdl} \
%{__enable_disable spectrum} \
%{__enable_disable ssh} \
+ %{__enable_disable tegra} \
+ %{__enable_disable texturepacker} \
%{__enable_disable udev} \
%{__enable_disable upnp} \
%{__enable_disable vaapi} \
%{__enable_disable vdpau} \
%{__enable_disable vtbdecoder} \
%{__enable_disable waveform} \
+ %{__enable_disable wayland} \
%{__enable_disable webserver} \
%{__enable_disable x11} \
%{__enable_disable xrandr} \
%{nil}
-%{__make}
+%{__make} V=1
%install
rm -rf $RPM_BUILD_ROOT
%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/kodi
%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/xbmc
+# no real use for symlinks to datadir, and make rpm packaging more difficult (symlink vs dir issues)
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/xbmc
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/xbmc
+
%clean
rm -rf $RPM_BUILD_ROOT
# legacy xbmc compatibility links
%attr(755,root,root) %{_bindir}/xbmc
%attr(755,root,root) %{_bindir}/xbmc-standalone
-%{_libdir}/xbmc
-%{_datadir}/xbmc
%{_datadir}/xsessions/xbmc.desktop