]> git.pld-linux.org Git - packages/kodi.git/blame - kodi.spec
buildsystem replaced with cmake
[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
e148a10d
ER
12%bcond_without alsa # ALSA support
13%bcond_without avahi # Avahi support
ceb94d36
ER
14%bcond_without dbus # DBUS support
15%bcond_without dvdcss # DVDCSS support
98f23c16 16%bcond_without gl # OpenGL rendering
ceb94d36 17%bcond_with gtest # configure Google Test Framework
98f23c16 18%bcond_without joystick # SDL joystick support
c0d69361
ER
19%bcond_without libcap # libcap support
20%bcond_with libcec # libcec support
296d79de 21%bcond_without libgif # gif support via libgif
8ea15fa3 22%bcond_without libusb # libusb support
c0d69361 23%bcond_with mdnsembedded # mDNSEmbedded support
ceb94d36 24%bcond_without mysql # MySQL
8ea15fa3 25%bcond_without nfs # NFS support via libnfs
ceb94d36 26%bcond_without non_free # componentents with non-compliant licenses
c0d69361 27%bcond_with openmax # OpenMax decoding, requires OpenGLES
ceb94d36 28%bcond_without optical_drive # optical drive
98f23c16 29%bcond_without projectm # ProjectM visualisation
c0d69361 30%bcond_without pulse # PulseAudio support
c0d69361 31%bcond_without rtmp # RTMP support via librtmp
e148a10d 32%bcond_without samba # SAMBA support
c0d69361 33%bcond_without sdl # SDL
e148a10d 34%bcond_without ssh # SSH SFTP support
98f23c16 35%bcond_without texturepacker # texturepacker support
c0d69361 36%bcond_without udev # udev support
e148a10d 37%bcond_without upnp # UPnP support
c0d69361
ER
38%bcond_without vaapi # VAAPI decoding
39%bcond_without vdpau # VDPAU decoding
40%bcond_with vtbdecoder # VTBDecoder decoding (VTB Decoder not supported on this platform)
ceb94d36 41%bcond_without webserver # webserver
98f23c16
ER
42%bcond_without x11 # x11 'Linux Only'
43%bcond_without xrandr # XRandR support
e148a10d
ER
44%bcond_with asap_codec # ASAP ADPCM support
45%bcond_with gles # OpenGLES rendering
46%bcond_without libbluray # libbluray support
47%bcond_without mid # MID support
48%bcond_with profiling # gprof profiling
49%bcond_with tegra # Tegra2 arm
50%bcond_with wayland # wayland
ceb94d36 51# System libs:
6e5f6f0e 52%bcond_without system_ffmpeg # build with system ffmpeg
900271e7 53%bcond_with system_dvdread # build with system dvdread
92b96980 54
2d334bbb
ER
55%define codename Leia
56%define subver a1
d61811e9 57Summary: Kodi is a free and open source media-player and entertainment hub
92b53b2c 58Name: kodi
2d334bbb
ER
59Version: 18.0
60Release: 0.1
68612b1e 61License: GPL v2+ and GPL v3+
18b90c81 62Group: Applications/Multimedia
b7bd3c34 63#Source0: http://mirrors.kodi.tv/releases/source/%{version}-%{codename}.tar.gz
2d334bbb
ER
64Source0: https://github.com/xbmc/xbmc/archive/%{version}%{subver}-%{codename}.tar.gz
65# Source0-md5: c1ae435c2d674262cee9a06791ba94bc
d2f0f4c7 66Patch0: jpeglib-boolean.patch
af2a7b89 67Patch1: disable-static.patch
e25cf996 68Patch2: dvdread.patch
3b89f97e
JR
69Patch3: ffmpeg3.patch
70Patch4: gcc5.patch
900271e7 71Patch5: libdvd.patch
92b53b2c 72URL: http://kodi.tv/
a7c53f4c 73BuildRequires: Mesa-libEGL-devel
8fa5c2e4 74BuildRequires: OpenGL-GLU-devel
b85db44b 75BuildRequires: OpenGL-devel
658b3aff 76BuildRequires: SDL2-devel
18b90c81 77BuildRequires: alsa-lib-devel
18b90c81 78BuildRequires: avahi-devel
b85db44b 79BuildRequires: bluez-libs-devel >= 4.99
18b90c81 80BuildRequires: bzip2-devel
be17bf9f 81BuildRequires: cmake >= 3.4
c3c3c480 82BuildRequires: crossguid-devel
18b90c81
SP
83BuildRequires: curl-devel
84BuildRequires: dbus-devel
8fa5c2e4 85# 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
64d462c0 86%{?with_system_ffmpeg:BuildRequires: ffmpeg-devel >= 2.4.4}
5a2f2b01 87BuildRequires: flac-devel
18b90c81
SP
88BuildRequires: fontconfig-devel
89BuildRequires: freetype-devel
90BuildRequires: fribidi-devel
91BuildRequires: gawk
63ff963e 92BuildRequires: gettext-autopoint
0747666f 93BuildRequires: gettext-tools
a1f637af 94BuildRequires: giflib-devel
3a358a3c 95%{?with_libgif:BuildRequires: giflib-devel}
18b90c81 96BuildRequires: gperf
37fbe511 97BuildRequires: jre
20c6d413 98BuildRequires: lcms2-devel
b85db44b 99BuildRequires: libass-devel
a7c53f4c 100BuildRequires: libatomic-devel
296d79de 101BuildRequires: libbluray-devel >= 0.7.0
37fbe511 102BuildRequires: libcap-devel
18b90c81 103BuildRequires: libcdio-devel
8fa5c2e4
JB
104%{?with_libcec:BuildRequires: libcec-devel >= 3.0.0}
105BuildRequires: libdrm-devel
e25cf996 106%{?with_system_dvdread:BuildRequires: libdvdread-devel}
b85db44b 107BuildRequires: libgcrypt-devel
18b90c81 108BuildRequires: libjpeg-devel
45a200ab 109BuildRequires: libltdl-devel
63ff963e 110BuildRequires: libmicrohttpd-devel
18b90c81 111BuildRequires: libogg-devel
b85db44b 112BuildRequires: libplist-devel
5a2f2b01 113BuildRequires: libpng-devel
b85db44b 114BuildRequires: librtmp-devel
18b90c81 115BuildRequires: libsmbclient-devel
b85db44b 116BuildRequires: libssh-devel
8fa5c2e4 117BuildRequires: libstdc++-devel
5a2f2b01 118BuildRequires: libtool
f99f2533 119BuildRequires: libuuid-devel
b85db44b 120BuildRequires: libva-devel
f99f2533 121BuildRequires: libva-x11-devel
5a2f2b01 122BuildRequires: libvdpau-devel
18b90c81 123BuildRequires: libvorbis-devel
8fa5c2e4 124BuildRequires: libxml2-devel >= 2.0
501e1d3e 125BuildRequires: libxslt-devel
5a2f2b01 126BuildRequires: lzo-devel
127BuildRequires: mysql-devel
c1b45330 128%ifarch %{ix86}
26cae375 129BuildRequires: nasm
c1b45330 130%endif
18b90c81 131BuildRequires: openssl-devel
63ff963e 132BuildRequires: pcre-cxx-devel
5a2f2b01 133BuildRequires: pkgconfig
8fa5c2e4
JB
134BuildRequires: pulseaudio-devel >= 1.0
135BuildRequires: python-devel >= 1:2.6
3a71016a 136BuildRequires: rpm-pythonprov
6f41c837 137BuildRequires: rpmbuild(macros) >= 1.566
c462fd57 138BuildRequires: sed >= 4.0
18b90c81 139BuildRequires: sqlite3-devel
37fbe511
KK
140BuildRequires: swig
141BuildRequires: taglib-devel >= 1.8
8fa5c2e4 142BuildRequires: tinyxml-devel >= 2.6.2
b85db44b 143BuildRequires: udev-devel
5a2f2b01 144BuildRequires: unzip
b85db44b
AF
145BuildRequires: xorg-lib-libX11-devel
146BuildRequires: xorg-lib-libXext-devel
18b90c81 147BuildRequires: xorg-lib-libXrandr-devel
8fa5c2e4 148BuildRequires: yajl-devel >= 2
18b90c81
SP
149BuildRequires: zip
150BuildRequires: zlib-devel
af2a7b89
JR
151# kodi uses it's own, modified squish
152BuildConflicts: squish-devel
b85db44b 153#https://github.com/sahlberg/libnfs
57d594cf 154BuildRequires: libnfs-devel
b85db44b
AF
155#http://sites.google.com/site/alexthepuffin/home
156#BuildRequires: afpfs-ng-devel
8fa5c2e4 157#BuildRequires: shairplay-devel
63ff963e 158Requires: /usr/bin/glxinfo
f4f8f308 159Requires: SDL >= 1.2.14-5
a58652d4
SP
160Requires: lsb-release
161Requires: xorg-app-xdpyinfo
06c1bb12 162# dlopened libraries:
d61811e9 163# grep 'DLL_PATH_.*lib.*\.so' xbmc/DllPaths_generated.h | grep -v special://
06c1bb12
ER
164Requires: curl-libs
165Requires: libass
166Requires: libbluray
167Requires: libmodplug
168Requires: libmpeg2-libs
169Requires: libogg
170Requires: libplist
171Requires: libvorbis
92b53b2c 172Obsoletes: xbmc < 14.0
18b90c81
SP
173BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
174
175%description
d61811e9
ER
176Kodi Entertainment Center (formerly XBMC) is a free and open-source
177media player software developed by the XBMC Foundation, a non-profit
178technology consortium. Kodi is available for multiple operating
179systems and hardware platforms, with a software 10-foot user interface
180for use with televisions and remote controls. It allows users to play
181and view most videos, music, such as podcasts from the internet, and
182all common digital media files from local and network storage media.
18b90c81
SP
183
184%prep
2d334bbb 185%setup -q -n xbmc-%{version}%{?subver}-%{codename}
6b5f5f8f 186#%patch0 -p1
af2a7b89 187%patch1 -p1
900271e7 188%{?with_system_dvdread:%patch2 -p1}
6b5f5f8f
ER
189#%patch3 -p1
190#%patch4 -p1
900271e7 191%{!?with_system_dvdread:%patch5 -p1}
18b90c81 192
6b5f5f8f 193#%{__rm} -r lib/cximage-6.0/zlib
8fa5c2e4 194#%{__rm} -r lib/libhdhomerun
6b5f5f8f
ER
195#%{__rm} -r lib/libmpeg2
196#%{__rm} -r xbmc/cores/dvdplayer/DVDCodecs/Video/libmpeg2
197#%{__rm} -r lib/libbluray
b2628f52 198#%{__rm} -r lib/librtmp
8fa5c2e4 199%{__rm} -r lib/win32
b2628f52 200#%{?with_system_dvdread:%{__rm} -r lib/libdvd/libdvdread}
5d47de93 201
72cf5436 202%if %{without system_ffmpeg}
c3c3c480 203#ln -s %{SOURCE1} tools/depends/target/ffmpeg/ffmpeg-2.4.4-%{codename}.tar.gz
928406b7
ER
204%endif
205
18b90c81 206%build
be17bf9f
ER
207install -d build
208cd build
209%cmake ..
210%if 0
65712ad3 211%configure \
57d594cf 212 ac_cv_type__Bool=yes \
ace9791d 213 --disable-silent-rules \
51b524ca 214 --disable-debug \
ace9791d 215 --disable-ccache \
928406b7 216 --with-ffmpeg=%{!?with_system_ffmpeg:force}%{?with_system_ffmpeg:shared} \
c0d69361
ER
217 %{__enable_disable afpclient} \
218 %{__enable_disable airplay} \
219 %{__enable_disable airtunes} \
ceb94d36 220 %{__enable_disable alsa} \
e148a10d 221 %{__enable_disable asap_codec asap-codec} \
ceb94d36
ER
222 %{__enable_disable avahi} \
223 %{__enable_disable dbus} \
98f23c16 224 %{__enable_disable dvdcss} \
e148a10d 225 %{__enable_disable gles} \
98f23c16 226 %{__enable_disable gl} \
98f23c16 227 %{__enable_disable gtest} \
98f23c16 228 %{__enable_disable joystick} \
e148a10d 229 %{__enable_disable libbluray} \
c0d69361 230 %{__enable_disable libcap} \
98f23c16 231 %{__enable_disable libcec} \
296d79de 232 %{__enable_disable libgif} \
c0d69361
ER
233 %{__enable_disable libusb} \
234 %{__enable_disable mdnsembedded} \
e148a10d 235 %{__enable_disable mid} \
ceb94d36 236 %{__enable_disable mysql} \
c0d69361 237 %{__enable_disable nfs} \
ceb94d36 238 %{__enable_disable non_free non-free} \
c0d69361 239 %{__enable_disable openmax} \
ceb94d36 240 %{__enable_disable optical_drive optical-drive} \
e148a10d 241 %{__enable_disable profiling} \
c0d69361 242 %{__enable_disable pulse} \
c0d69361 243 %{__enable_disable rtmp} \
ceb94d36 244 %{__enable_disable samba} \
c0d69361 245 %{__enable_disable sdl} \
ceb94d36 246 %{__enable_disable ssh} \
e148a10d
ER
247 %{__enable_disable tegra} \
248 %{__enable_disable texturepacker} \
c0d69361 249 %{__enable_disable udev} \
ceb94d36 250 %{__enable_disable upnp} \
c0d69361
ER
251 %{__enable_disable vaapi} \
252 %{__enable_disable vdpau} \
253 %{__enable_disable vtbdecoder} \
e148a10d 254 %{__enable_disable wayland} \
ceb94d36 255 %{__enable_disable webserver} \
98f23c16
ER
256 %{__enable_disable x11} \
257 %{__enable_disable xrandr} \
258 %{nil}
be17bf9f 259%endif
68612b1e 260
be17bf9f 261%{__make}
18b90c81
SP
262
263%install
264rm -rf $RPM_BUILD_ROOT
be17bf9f 265%{__make} -C build install \
92b96980 266 DESTDIR=$RPM_BUILD_ROOT
18b90c81 267
25890c53
ER
268%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
269
270# no -devel package yet
271%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/kodi
272%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/xbmc
273
a5bfc3a3
ER
274# no real use for symlinks to datadir, and make rpm packaging more difficult (symlink vs dir issues)
275%{__rm} $RPM_BUILD_ROOT%{_libdir}/xbmc
276%{__rm} $RPM_BUILD_ROOT%{_datadir}/xbmc
277
18b90c81
SP
278%clean
279rm -rf $RPM_BUILD_ROOT
280
281%files
282%defattr(644,root,root,755)
25890c53
ER
283%doc README.md docs/README.linux
284%attr(755,root,root) %{_bindir}/kodi
285%attr(755,root,root) %{_bindir}/kodi-standalone
18b90c81 286%{_datadir}/%{name}
92b96980 287%attr(755,root,root) %{_libdir}/%{name}
25890c53
ER
288%{_desktopdir}/kodi.desktop
289%{_iconsdir}/hicolor/*/apps/%{name}.png
290%{_datadir}/xsessions/kodi.desktop
291
292# legacy xbmc compatibility links
293%attr(755,root,root) %{_bindir}/xbmc
294%attr(755,root,root) %{_bindir}/xbmc-standalone
25890c53 295%{_datadir}/xsessions/xbmc.desktop
This page took 0.08708 seconds and 4 git commands to generate.