X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=kodi.spec;h=f47ade6df06052cc5a4e04c1fdf5f8b7851a7fa9;hb=221eab18dee0803c3bfa713c57ba510b12de6941;hp=c2b1a7b01de9359149c8d9d9b9e2356ea2d6c351;hpb=ceb94d36b7a9c171e10f2fe9c2e35fae36369032;p=packages%2Fkodi.git diff --git a/kodi.spec b/kodi.spec index c2b1a7b..f47ade6 100644 --- a/kodi.spec +++ b/kodi.spec @@ -1,9 +1,7 @@ # 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: @@ -11,76 +9,83 @@ %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_with libusb # libusb support +%bcond_without libgif # gif support via libgif +%bcond_without libusb # libusb support %bcond_with mdnsembedded # mDNSEmbedded support %bcond_without mysql # MySQL -%bcond_with nfs # NFS support via libnfs +%bcond_without nfs # NFS support via libnfs %bcond_without non_free # componentents with non-compliant licenses %bcond_with openmax # OpenMax decoding, requires OpenGLES %bcond_without optical_drive # optical drive %bcond_without projectm # ProjectM visualisation %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 waveform # Waveform visualisation %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_with system_ffmpeg # build with system ffmpeg +%bcond_without system_ffmpeg # build with system ffmpeg +%bcond_without system_dvdread # build with system dvdread -%define codename Helix +%define codename Jarvis Summary: Kodi is a free and open source media-player and entertainment hub Name: kodi -Version: 14.0 -Release: 0.1 +Version: 16.1 +Release: 3 License: GPL v2+ and GPL v3+ Group: Applications/Multimedia -Source0: http://mirrors.kodi.tv/releases/source/%{version}-%{codename}.tar.gz -# Source0-md5: 9717c539789789b8aeaf1dcfdb9f2c69 -Source1: https://github.com/xbmc/FFmpeg/archive/2.4.4-Helix.tar.gz -# Source1-md5: 19b5d29ef6b5a6fc202c652fe3905d9b +#Source0: http://mirrors.kodi.tv/releases/source/%{version}-%{codename}.tar.gz +Source0: https://github.com/xbmc/xbmc/archive/%{version}-%{codename}.tar.gz +# Source0-md5: 79358ad5f77f42c5498a9412d5a78dd5 Patch0: jpeglib-boolean.patch +Patch1: disable-static.patch +Patch2: dvdread.patch +Patch3: ffmpeg3.patch +Patch4: gcc5.patch URL: http://kodi.tv/ -BuildRequires: Mesa-libGLU-devel +BuildRequires: OpenGL-GLU-devel BuildRequires: OpenGL-devel BuildRequires: SDL2-devel -BuildRequires: SDL_image-devel -BuildRequires: SDL_mixer-devel BuildRequires: alsa-lib-devel -BuildRequires: autoconf +BuildRequires: autoconf >= 2.59 BuildRequires: automake BuildRequires: avahi-devel BuildRequires: bluez-libs-devel >= 4.99 BuildRequires: boost-devel BuildRequires: bzip2-devel BuildRequires: cmake +BuildRequires: crossguid-devel BuildRequires: curl-devel BuildRequires: dbus-devel +BuildRequires: dcadec-devel BuildRequires: doxygen -BuildRequires: ffmpeg-devel +# libavcodec >= 56.26.100 libavfilter >= 5.11.102 libavformat >= 56.25.101 libavutil >= 54.20.100 libpostproc >= 53.3.100 libswscale >= 3.1.101 libswresample >= 1.1.100 +%{?with_system_ffmpeg:BuildRequires: ffmpeg-devel >= 2.4.4} BuildRequires: flac-devel BuildRequires: fontconfig-devel BuildRequires: freetype-devel @@ -88,23 +93,25 @@ BuildRequires: fribidi-devel BuildRequires: gawk BuildRequires: gettext-autopoint BuildRequires: gettext-tools +BuildRequires: giflib-devel +%{?with_libgif:BuildRequires: giflib-devel} BuildRequires: glew-devel BuildRequires: gperf -%{?with_hal:BuildRequires: hal-devel} BuildRequires: jasper-devel BuildRequires: jre BuildRequires: libass-devel -BuildRequires: libbluray-devel >= 0.2.1 +BuildRequires: libbluray-devel >= 0.7.0 BuildRequires: libcap-devel BuildRequires: libcdio-devel -%{?with_libcec:BuildRequires: libcec-devel} +%{?with_libcec:BuildRequires: libcec-devel >= 3.0.0} +BuildRequires: libdrm-devel +%{?with_system_dvdread:BuildRequires: libdvdread-devel} %ifarch i686 pentium4 athlon %{x8664} BuildRequires: libcrystalhd-devel %endif BuildRequires: libgcrypt-devel BuildRequires: libjpeg-devel BuildRequires: libltdl-devel -BuildRequires: libmad-devel BuildRequires: libmicrohttpd-devel BuildRequires: libmodplug-devel BuildRequires: libmpeg2-devel @@ -115,12 +122,15 @@ BuildRequires: librtmp-devel BuildRequires: libsamplerate-devel BuildRequires: libsmbclient-devel BuildRequires: libssh-devel +BuildRequires: libstdc++-devel BuildRequires: libtiff-devel BuildRequires: libtool +BuildRequires: libuuid-devel BuildRequires: libva-devel -BuildRequires: libva-glx-devel +BuildRequires: libva-x11-devel BuildRequires: libvdpau-devel BuildRequires: libvorbis-devel +BuildRequires: libxml2-devel >= 2.0 BuildRequires: libxslt-devel BuildRequires: lzo-devel BuildRequires: mysql-devel @@ -130,35 +140,30 @@ BuildRequires: nasm BuildRequires: openssl-devel BuildRequires: pcre-cxx-devel BuildRequires: pkgconfig -BuildRequires: pulseaudio-devel -BuildRequires: python-devel >= 2.4 +BuildRequires: pulseaudio-devel >= 1.0 +BuildRequires: python-devel >= 1:2.6 BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.566 BuildRequires: sed >= 4.0 BuildRequires: sqlite3-devel BuildRequires: swig BuildRequires: taglib-devel >= 1.8 -BuildRequires: tinyxml-devel +BuildRequires: tinyxml-devel >= 2.6.2 BuildRequires: udev-devel BuildRequires: unzip BuildRequires: xorg-lib-libX11-devel BuildRequires: xorg-lib-libXext-devel -BuildRequires: xorg-lib-libXinerama-devel -BuildRequires: xorg-lib-libXmu-devel BuildRequires: xorg-lib-libXrandr-devel -BuildRequires: xorg-lib-libXt-devel -BuildRequires: xorg-lib-libXtst-devel -BuildRequires: yajl-devel -BuildRequires: yasm +BuildRequires: yajl-devel >= 2 BuildRequires: zip BuildRequires: zlib-devel +# kodi uses it's own, modified squish +BuildConflicts: squish-devel #https://github.com/sahlberg/libnfs -#BuildRequires: libnfs-devel +BuildRequires: libnfs-devel #http://sites.google.com/site/alexthepuffin/home #BuildRequires: afpfs-ng-devel -#http://mirrors.xbmc.org/build-deps/darwin-libs/libshairport-1.2.0.20310_lib.tar.gz -#https://github.com/albertz/shairport -#BuildRequires: libshairport +#BuildRequires: shairplay-devel Requires: /usr/bin/glxinfo Requires: SDL >= 1.2.14-5 Requires: lsb-release @@ -188,14 +193,31 @@ all common digital media files from local and network storage media. %prep %setup -q -n xbmc-%{version}-%{codename} %patch0 -p1 +%patch1 -p1 +%{?with_system_dvdread:%patch2 -p1} +%patch3 -p1 +%patch4 -p1 -%if %{with system_ffmpeg} -ln -s %{SOURCE1} tools/depends/target/ffmpeg +%{__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/libbluray +%{__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 %endif %build +%{__make} -C tools/depends/native/libsquish-native \ + CXX="%{__cxx}" + ./bootstrap %configure \ + ac_cv_type__Bool=yes \ --disable-silent-rules \ --disable-debug \ --disable-ccache \ @@ -204,45 +226,46 @@ ln -s %{SOURCE1} tools/depends/target/ffmpeg %{__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 libgif} \ %{__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 projectm} \ + %{__enable_disable profiling} \ %{__enable_disable pulse} \ - %{__enable_disable rsxs} \ %{__enable_disable rtmp} \ %{__enable_disable samba} \ %{__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 @@ -255,6 +278,10 @@ 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 @@ -272,6 +299,4 @@ 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