]> git.pld-linux.org Git - packages/kodi.git/blame - kodi.spec
cleanup todo
[packages/kodi.git] / kodi.spec
CommitLineData
18b90c81 1# TODO:
3a71016a 2# - fix build flags - some files are compiled with -O3 and without rpm*flags
92b96980 3# - add and/or fix users/groups permissions
63ff963e 4# - split to subpackages?
928406b7 5# - bundled ffmpeg build (tools/depends/target/ffmpeg/autobuild.sh) enables nonfree & gpl!
18b90c81 6#
92b96980 7# Conditional build:
ceb94d36 8# Features:
c0d69361
ER
9%bcond_with afpclient # AFP support via libafpclient
10%bcond_without airplay # AirPlay support
11%bcond_with airtunes # AirTunes support
ceb94d36
ER
12%bcond_without alsa # ALSA support (only for linux/freebsd)
13%bcond_without avahi # Avahi support (default is enabled if libavahi-common and libavahi-client is found)
14%bcond_without dbus # DBUS support
15%bcond_without dvdcss # DVDCSS support
98f23c16
ER
16%bcond_without fishbmc # FishBMC visualisation
17%bcond_without gl # OpenGL rendering
18%bcond_without goom # GOOM visualisation
ceb94d36 19%bcond_with gtest # configure Google Test Framework
98f23c16 20%bcond_without joystick # SDL joystick support
c0d69361
ER
21%bcond_without libcap # libcap support
22%bcond_with libcec # libcec support
23%bcond_with libusb # libusb support
24%bcond_with mdnsembedded # mDNSEmbedded support
ceb94d36 25%bcond_without mysql # MySQL
c0d69361 26%bcond_with nfs # NFS support via libnfs
ceb94d36 27%bcond_without non_free # componentents with non-compliant licenses
c0d69361 28%bcond_with openmax # OpenMax decoding, requires OpenGLES
ceb94d36 29%bcond_without optical_drive # optical drive
98f23c16 30%bcond_without projectm # ProjectM visualisation
c0d69361 31%bcond_without pulse # PulseAudio support
98f23c16 32%bcond_without rsxs # really slick X screensavers
c0d69361 33%bcond_without rtmp # RTMP support via librtmp
ceb94d36 34%bcond_without samba # SAMBA support (default is enabled)
c0d69361 35%bcond_without sdl # SDL
98f23c16 36%bcond_without spectrum # Spectrum visualisation
ceb94d36 37%bcond_without ssh # SSH SFTP support (default is enabled)
98f23c16 38%bcond_without texturepacker # texturepacker support
c0d69361 39%bcond_without udev # udev support
ceb94d36 40%bcond_without upnp # UPnP support (default is enabled)
c0d69361
ER
41%bcond_without vaapi # VAAPI decoding
42%bcond_without vdpau # VDPAU decoding
43%bcond_with vtbdecoder # VTBDecoder decoding (VTB Decoder not supported on this platform)
98f23c16 44%bcond_without waveform # Waveform visualisation
ceb94d36 45%bcond_without webserver # webserver
98f23c16
ER
46%bcond_without x11 # x11 'Linux Only'
47%bcond_without xrandr # XRandR support
ceb94d36 48# System libs:
6e5f6f0e 49%bcond_without system_ffmpeg # build with system ffmpeg
e25cf996 50%bcond_without system_dvdread # build with system dvdread
92b96980 51
92b53b2c 52%define codename Helix
d61811e9 53Summary: Kodi is a free and open source media-player and entertainment hub
92b53b2c
ER
54Name: kodi
55Version: 14.0
a5bfc3a3 56Release: 0.2
68612b1e 57License: GPL v2+ and GPL v3+
18b90c81 58Group: Applications/Multimedia
92b53b2c
ER
59Source0: http://mirrors.kodi.tv/releases/source/%{version}-%{codename}.tar.gz
60# Source0-md5: 9717c539789789b8aeaf1dcfdb9f2c69
72cf5436 61Source1: https://github.com/xbmc/FFmpeg/archive/2.4.4-%{codename}.tar.gz
928406b7 62# Source1-md5: 19b5d29ef6b5a6fc202c652fe3905d9b
d2f0f4c7 63Patch0: jpeglib-boolean.patch
6e5f6f0e 64Patch1: dvddemux-ffmpeg.patch
e25cf996 65Patch2: dvdread.patch
92b53b2c 66URL: http://kodi.tv/
b85db44b
AF
67BuildRequires: Mesa-libGLU-devel
68BuildRequires: OpenGL-devel
658b3aff 69BuildRequires: SDL2-devel
18b90c81
SP
70BuildRequires: SDL_image-devel
71BuildRequires: SDL_mixer-devel
72BuildRequires: alsa-lib-devel
73BuildRequires: autoconf
74BuildRequires: automake
75BuildRequires: avahi-devel
b85db44b 76BuildRequires: bluez-libs-devel >= 4.99
5a2f2b01 77BuildRequires: boost-devel
18b90c81
SP
78BuildRequires: bzip2-devel
79BuildRequires: cmake
80BuildRequires: curl-devel
81BuildRequires: dbus-devel
501e1d3e 82BuildRequires: doxygen
64d462c0 83%{?with_system_ffmpeg:BuildRequires: ffmpeg-devel >= 2.4.4}
5a2f2b01 84BuildRequires: flac-devel
18b90c81
SP
85BuildRequires: fontconfig-devel
86BuildRequires: freetype-devel
87BuildRequires: fribidi-devel
88BuildRequires: gawk
63ff963e 89BuildRequires: gettext-autopoint
0747666f 90BuildRequires: gettext-tools
18b90c81
SP
91BuildRequires: glew-devel
92BuildRequires: gperf
5a2f2b01 93BuildRequires: jasper-devel
37fbe511 94BuildRequires: jre
b85db44b 95BuildRequires: libass-devel
37fbe511
KK
96BuildRequires: libbluray-devel >= 0.2.1
97BuildRequires: libcap-devel
18b90c81 98BuildRequires: libcdio-devel
c0d69361 99%{?with_libcec:BuildRequires: libcec-devel}
e25cf996 100%{?with_system_dvdread:BuildRequires: libdvdread-devel}
1aef2bca 101%ifarch i686 pentium4 athlon %{x8664}
5f83fc0f 102BuildRequires: libcrystalhd-devel
1aef2bca 103%endif
b85db44b 104BuildRequires: libgcrypt-devel
18b90c81 105BuildRequires: libjpeg-devel
45a200ab 106BuildRequires: libltdl-devel
18b90c81 107BuildRequires: libmad-devel
63ff963e 108BuildRequires: libmicrohttpd-devel
63ff963e 109BuildRequires: libmodplug-devel
c462fd57 110BuildRequires: libmpeg2-devel
18b90c81 111BuildRequires: libogg-devel
b85db44b 112BuildRequires: libplist-devel
5a2f2b01 113BuildRequires: libpng-devel
b85db44b 114BuildRequires: librtmp-devel
18b90c81
SP
115BuildRequires: libsamplerate-devel
116BuildRequires: libsmbclient-devel
b85db44b 117BuildRequires: libssh-devel
5a2f2b01 118BuildRequires: libtiff-devel
119BuildRequires: libtool
b85db44b 120BuildRequires: libva-devel
5f83fc0f 121BuildRequires: libva-glx-devel
5a2f2b01 122BuildRequires: libvdpau-devel
18b90c81 123BuildRequires: libvorbis-devel
501e1d3e 124BuildRequires: libxslt-devel
5a2f2b01 125BuildRequires: lzo-devel
126BuildRequires: mysql-devel
c1b45330 127%ifarch %{ix86}
26cae375 128BuildRequires: nasm
c1b45330 129%endif
18b90c81 130BuildRequires: openssl-devel
63ff963e 131BuildRequires: pcre-cxx-devel
5a2f2b01 132BuildRequires: pkgconfig
18b90c81 133BuildRequires: pulseaudio-devel
b85db44b 134BuildRequires: python-devel >= 2.4
3a71016a 135BuildRequires: rpm-pythonprov
6f41c837 136BuildRequires: rpmbuild(macros) >= 1.566
c462fd57 137BuildRequires: sed >= 4.0
18b90c81 138BuildRequires: sqlite3-devel
37fbe511
KK
139BuildRequires: swig
140BuildRequires: taglib-devel >= 1.8
7613a43d 141BuildRequires: tinyxml-devel
b85db44b 142BuildRequires: udev-devel
5a2f2b01 143BuildRequires: unzip
b85db44b
AF
144BuildRequires: xorg-lib-libX11-devel
145BuildRequires: xorg-lib-libXext-devel
5a2f2b01 146BuildRequires: xorg-lib-libXinerama-devel
b85db44b 147BuildRequires: xorg-lib-libXmu-devel
18b90c81 148BuildRequires: xorg-lib-libXrandr-devel
b85db44b 149BuildRequires: xorg-lib-libXt-devel
5a2f2b01 150BuildRequires: xorg-lib-libXtst-devel
b85db44b 151BuildRequires: yajl-devel
501e1d3e 152BuildRequires: yasm
18b90c81
SP
153BuildRequires: zip
154BuildRequires: zlib-devel
b85db44b
AF
155#https://github.com/sahlberg/libnfs
156#BuildRequires: libnfs-devel
157#http://sites.google.com/site/alexthepuffin/home
158#BuildRequires: afpfs-ng-devel
159#http://mirrors.xbmc.org/build-deps/darwin-libs/libshairport-1.2.0.20310_lib.tar.gz
160#https://github.com/albertz/shairport
161#BuildRequires: libshairport
63ff963e 162Requires: /usr/bin/glxinfo
f4f8f308 163Requires: SDL >= 1.2.14-5
a58652d4
SP
164Requires: lsb-release
165Requires: xorg-app-xdpyinfo
06c1bb12 166# dlopened libraries:
d61811e9 167# grep 'DLL_PATH_.*lib.*\.so' xbmc/DllPaths_generated.h | grep -v special://
06c1bb12
ER
168Requires: curl-libs
169Requires: libass
170Requires: libbluray
171Requires: libmodplug
172Requires: libmpeg2-libs
173Requires: libogg
174Requires: libplist
175Requires: libvorbis
92b53b2c 176Obsoletes: xbmc < 14.0
18b90c81
SP
177BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
178
179%description
d61811e9
ER
180Kodi Entertainment Center (formerly XBMC) is a free and open-source
181media player software developed by the XBMC Foundation, a non-profit
182technology consortium. Kodi is available for multiple operating
183systems and hardware platforms, with a software 10-foot user interface
184for use with televisions and remote controls. It allows users to play
185and view most videos, music, such as podcasts from the internet, and
186all common digital media files from local and network storage media.
18b90c81
SP
187
188%prep
92b53b2c 189%setup -q -n xbmc-%{version}-%{codename}
bfa116d7 190%patch0 -p1
6e5f6f0e 191%patch1 -p0
18b90c81 192
5d47de93
ER
193rm -r lib/cximage-6.0/zlib
194#rm -r lib/libhdhomerun
195rm -r lib/libmpeg2
196rm -r xbmc/cores/dvdplayer/DVDCodecs/Video/libmpeg2
197rm -r lib/enca
198rm -r lib/libbluray
199rm -r lib/libmicrohttpd
200rm -r lib/libmodplug
201rm -r lib/librtmp
202rm -r lib/win32
203
72cf5436
ER
204%if %{without system_ffmpeg}
205ln -s %{SOURCE1} tools/depends/target/ffmpeg/ffmpeg-2.4.4-%{codename}.tar.gz
928406b7 206%endif
e25cf996
ER
207%if %{with system_dvdread}
208#rm -r lib/libdvd/libdvdread
209%endif
928406b7 210
18b90c81
SP
211%build
212./bootstrap
65712ad3 213%configure \
ace9791d 214 --disable-silent-rules \
51b524ca 215 --disable-debug \
ace9791d 216 --disable-ccache \
928406b7 217 --with-ffmpeg=%{!?with_system_ffmpeg:force}%{?with_system_ffmpeg:shared} \
c0d69361
ER
218 %{__enable_disable afpclient} \
219 %{__enable_disable airplay} \
220 %{__enable_disable airtunes} \
ceb94d36
ER
221 %{__enable_disable alsa} \
222 %{__enable_disable avahi} \
223 %{__enable_disable dbus} \
98f23c16
ER
224 %{__enable_disable dvdcss} \
225 %{__enable_disable fishbmc} \
226 %{__enable_disable gl} \
b85db44b 227 %{__enable_disable goom} \
98f23c16 228 %{__enable_disable gtest} \
dc0a03c5 229 %{__enable_disable texturepacker} \
98f23c16 230 %{__enable_disable joystick} \
c0d69361 231 %{__enable_disable libcap} \
98f23c16 232 %{__enable_disable libcec} \
c0d69361
ER
233 %{__enable_disable libusb} \
234 %{__enable_disable mdnsembedded} \
ceb94d36 235 %{__enable_disable mysql} \
c0d69361 236 %{__enable_disable nfs} \
ceb94d36 237 %{__enable_disable non_free non-free} \
c0d69361 238 %{__enable_disable openmax} \
ceb94d36 239 %{__enable_disable optical_drive optical-drive} \
98f23c16 240 %{__enable_disable projectm} \
c0d69361 241 %{__enable_disable pulse} \
98f23c16 242 %{__enable_disable rsxs} \
c0d69361 243 %{__enable_disable rtmp} \
ceb94d36 244 %{__enable_disable samba} \
c0d69361 245 %{__enable_disable sdl} \
98f23c16 246 %{__enable_disable spectrum} \
ceb94d36 247 %{__enable_disable ssh} \
c0d69361 248 %{__enable_disable udev} \
ceb94d36 249 %{__enable_disable upnp} \
c0d69361
ER
250 %{__enable_disable vaapi} \
251 %{__enable_disable vdpau} \
252 %{__enable_disable vtbdecoder} \
98f23c16 253 %{__enable_disable waveform} \
ceb94d36 254 %{__enable_disable webserver} \
98f23c16
ER
255 %{__enable_disable x11} \
256 %{__enable_disable xrandr} \
257 %{nil}
68612b1e 258
00f4b5ab 259%{__make} V=1
18b90c81
SP
260
261%install
262rm -rf $RPM_BUILD_ROOT
18b90c81 263%{__make} install \
92b96980 264 DESTDIR=$RPM_BUILD_ROOT
18b90c81 265
25890c53
ER
266%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
267
268# no -devel package yet
269%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/kodi
270%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/xbmc
271
a5bfc3a3
ER
272# no real use for symlinks to datadir, and make rpm packaging more difficult (symlink vs dir issues)
273%{__rm} $RPM_BUILD_ROOT%{_libdir}/xbmc
274%{__rm} $RPM_BUILD_ROOT%{_datadir}/xbmc
275
18b90c81
SP
276%clean
277rm -rf $RPM_BUILD_ROOT
278
279%files
280%defattr(644,root,root,755)
25890c53
ER
281%doc README.md docs/README.linux
282%attr(755,root,root) %{_bindir}/kodi
283%attr(755,root,root) %{_bindir}/kodi-standalone
18b90c81 284%{_datadir}/%{name}
92b96980 285%attr(755,root,root) %{_libdir}/%{name}
25890c53
ER
286%{_desktopdir}/kodi.desktop
287%{_iconsdir}/hicolor/*/apps/%{name}.png
288%{_datadir}/xsessions/kodi.desktop
289
290# legacy xbmc compatibility links
291%attr(755,root,root) %{_bindir}/xbmc
292%attr(755,root,root) %{_bindir}/xbmc-standalone
25890c53 293%{_datadir}/xsessions/xbmc.desktop
This page took 0.073576 seconds and 4 git commands to generate.