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