]> git.pld-linux.org Git - packages/kodi.git/blame - kodi.spec
- unified gif bcond name
[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
c1382e42 16%bcond_without opengl # 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
85f5f657 21%bcond_without gif # GIF support via giflib
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 55%define codename Leia
0ac32cd1 56#define subver rc1
d61811e9 57Summary: Kodi is a free and open source media-player and entertainment hub
92b53b2c 58Name: kodi
f0d932e5 59Version: 18.4
3372f7f6 60Release: 3
68612b1e 61License: GPL v2+ and GPL v3+
18b90c81 62Group: Applications/Multimedia
0ac32cd1 63Source0: https://github.com/xbmc/xbmc/archive/%{version}-%{codename}.tar.gz
f0d932e5 64# Source0-md5: 5e5e1e2527c2619785597b04e35fda6c
d2f0f4c7 65Patch0: jpeglib-boolean.patch
af2a7b89 66Patch1: disable-static.patch
e25cf996 67Patch2: dvdread.patch
3b89f97e
JR
68Patch3: ffmpeg3.patch
69Patch4: gcc5.patch
900271e7 70Patch5: libdvd.patch
0ac32cd1 71URL: https://kodi.tv/
a7c53f4c 72BuildRequires: Mesa-libEGL-devel
8fa5c2e4 73BuildRequires: OpenGL-GLU-devel
b85db44b 74BuildRequires: OpenGL-devel
658b3aff 75BuildRequires: SDL2-devel
18b90c81 76BuildRequires: alsa-lib-devel
18b90c81 77BuildRequires: avahi-devel
b85db44b 78BuildRequires: bluez-libs-devel >= 4.99
18b90c81 79BuildRequires: bzip2-devel
be17bf9f 80BuildRequires: cmake >= 3.4
c3c3c480 81BuildRequires: crossguid-devel
18b90c81
SP
82BuildRequires: curl-devel
83BuildRequires: dbus-devel
c30f67e9 84BuildRequires: libfmt-devel >= 3.0.1
24867dbb 85BuildRequires: rapidjson-devel >= 1.1.0
8fa5c2e4 86# 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 87%{?with_system_ffmpeg:BuildRequires: ffmpeg-devel >= 2.4.4}
5a2f2b01 88BuildRequires: flac-devel
60818254 89BuildRequires: flatbuffers-devel >= 1.9.0
18b90c81
SP
90BuildRequires: fontconfig-devel
91BuildRequires: freetype-devel
92BuildRequires: fribidi-devel
93BuildRequires: gawk
63ff963e 94BuildRequires: gettext-autopoint
0747666f 95BuildRequires: gettext-tools
85f5f657 96%{?with_gif:BuildRequires: giflib-devel}
18b90c81 97BuildRequires: gperf
37fbe511 98BuildRequires: jre
20c6d413 99BuildRequires: lcms2-devel
b85db44b 100BuildRequires: libass-devel
a7c53f4c 101BuildRequires: libatomic-devel
296d79de 102BuildRequires: libbluray-devel >= 0.7.0
37fbe511 103BuildRequires: libcap-devel
18b90c81 104BuildRequires: libcdio-devel
8fa5c2e4
JB
105%{?with_libcec:BuildRequires: libcec-devel >= 3.0.0}
106BuildRequires: libdrm-devel
b8db9144 107BuildRequires: libdvdcss-devel >= 1.4.1
e25cf996 108%{?with_system_dvdread:BuildRequires: libdvdread-devel}
b85db44b 109BuildRequires: libgcrypt-devel
18b90c81 110BuildRequires: libjpeg-devel
45a200ab 111BuildRequires: libltdl-devel
88da6d7b 112BuildRequires: libmicrohttpd-devel >= 0.9.40
18b90c81 113BuildRequires: libogg-devel
b85db44b 114BuildRequires: libplist-devel
5a2f2b01 115BuildRequires: libpng-devel
b85db44b 116BuildRequires: librtmp-devel
18b90c81 117BuildRequires: libsmbclient-devel
b85db44b 118BuildRequires: libssh-devel
8fa5c2e4 119BuildRequires: libstdc++-devel
5a2f2b01 120BuildRequires: libtool
f99f2533 121BuildRequires: libuuid-devel
b85db44b 122BuildRequires: libva-devel
f99f2533 123BuildRequires: libva-x11-devel
5a2f2b01 124BuildRequires: libvdpau-devel
18b90c81 125BuildRequires: libvorbis-devel
8fa5c2e4 126BuildRequires: libxml2-devel >= 2.0
501e1d3e 127BuildRequires: libxslt-devel
5a2f2b01 128BuildRequires: lzo-devel
129BuildRequires: mysql-devel
c1b45330 130%ifarch %{ix86}
26cae375 131BuildRequires: nasm
c1b45330 132%endif
005f83ba 133BuildRequires: fstrcmp-devel >= 0.7
18b90c81 134BuildRequires: openssl-devel
63ff963e 135BuildRequires: pcre-cxx-devel
5a2f2b01 136BuildRequires: pkgconfig
8fa5c2e4
JB
137BuildRequires: pulseaudio-devel >= 1.0
138BuildRequires: python-devel >= 1:2.6
3a71016a 139BuildRequires: rpm-pythonprov
6f41c837 140BuildRequires: rpmbuild(macros) >= 1.566
c462fd57 141BuildRequires: sed >= 4.0
18b90c81 142BuildRequires: sqlite3-devel
37fbe511
KK
143BuildRequires: swig
144BuildRequires: taglib-devel >= 1.8
8fa5c2e4 145BuildRequires: tinyxml-devel >= 2.6.2
b85db44b 146BuildRequires: udev-devel
5a2f2b01 147BuildRequires: unzip
b85db44b
AF
148BuildRequires: xorg-lib-libX11-devel
149BuildRequires: xorg-lib-libXext-devel
18b90c81 150BuildRequires: xorg-lib-libXrandr-devel
8fa5c2e4 151BuildRequires: yajl-devel >= 2
18b90c81
SP
152BuildRequires: zip
153BuildRequires: zlib-devel
af2a7b89
JR
154# kodi uses it's own, modified squish
155BuildConflicts: squish-devel
b85db44b 156#https://github.com/sahlberg/libnfs
57d594cf 157BuildRequires: libnfs-devel
b85db44b
AF
158#http://sites.google.com/site/alexthepuffin/home
159#BuildRequires: afpfs-ng-devel
8fa5c2e4 160#BuildRequires: shairplay-devel
63ff963e 161Requires: /usr/bin/glxinfo
f4f8f308 162Requires: SDL >= 1.2.14-5
a58652d4
SP
163Requires: lsb-release
164Requires: xorg-app-xdpyinfo
06c1bb12 165# dlopened libraries:
d61811e9 166# grep 'DLL_PATH_.*lib.*\.so' xbmc/DllPaths_generated.h | grep -v special://
06c1bb12
ER
167Requires: curl-libs
168Requires: libass
169Requires: libbluray
170Requires: libmodplug
171Requires: libmpeg2-libs
172Requires: libogg
173Requires: libplist
174Requires: libvorbis
92b53b2c 175Obsoletes: xbmc < 14.0
18b90c81
SP
176BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
177
4d53158d
ER
178# extracting debug info from /home/users/glen/tmp/kodi-18.0-root-glen/usr/lib64/kodi/kodi-x11
179# /usr/lib/rpm/bin/debugedit: canonicalization unexpectedly shrank by one character
180%define _noautostrip kodi-x11
181%define _enable_debug_packages 0
182
18b90c81 183%description
d61811e9
ER
184Kodi Entertainment Center (formerly XBMC) is a free and open-source
185media player software developed by the XBMC Foundation, a non-profit
186technology consortium. Kodi is available for multiple operating
187systems and hardware platforms, with a software 10-foot user interface
188for use with televisions and remote controls. It allows users to play
189and view most videos, music, such as podcasts from the internet, and
190all common digital media files from local and network storage media.
18b90c81
SP
191
192%prep
2d334bbb 193%setup -q -n xbmc-%{version}%{?subver}-%{codename}
6b5f5f8f 194#%patch0 -p1
af2a7b89 195%patch1 -p1
900271e7 196%{?with_system_dvdread:%patch2 -p1}
6b5f5f8f
ER
197#%patch3 -p1
198#%patch4 -p1
b8db9144 199%patch5 -p1
18b90c81 200
6b5f5f8f 201#%{__rm} -r lib/cximage-6.0/zlib
8fa5c2e4 202#%{__rm} -r lib/libhdhomerun
6b5f5f8f
ER
203#%{__rm} -r lib/libmpeg2
204#%{__rm} -r xbmc/cores/dvdplayer/DVDCodecs/Video/libmpeg2
205#%{__rm} -r lib/libbluray
b2628f52 206#%{__rm} -r lib/librtmp
8fa5c2e4 207%{__rm} -r lib/win32
b2628f52 208#%{?with_system_dvdread:%{__rm} -r lib/libdvd/libdvdread}
5d47de93 209
72cf5436 210%if %{without system_ffmpeg}
c3c3c480 211#ln -s %{SOURCE1} tools/depends/target/ffmpeg/ffmpeg-2.4.4-%{codename}.tar.gz
928406b7
ER
212%endif
213
18b90c81 214%build
be17bf9f
ER
215install -d build
216cd build
3257b104
ER
217# cmake not picking up include path from pkgconfig
218# https://trac.kodi.tv/ticket/16861
219%define specflags -I/usr/include/freetype2
220%cmake \
ea5464ac 221 -DENABLE_INTERNAL_LIBDVD=OFF \
fa48c382 222 -DENABLE_INTERNAL_CROSSGUID=OFF \
b8db9144 223 -DENABLE_DVDCSS=%{__true_false dvdcss} \
96ce92fc
ER
224 -DENABLE_UPNP=%{__true_false upnp} \
225 -DENABLE_AIRTUNES=%{__true_false airtunes} \
226 -DENABLE_OPTICAL=%{__true_false optical_drive} \
227 -DENABLE_INTERNAL_FFMPEG=%{!?with_system_ffmpeg:ON}%{?with_system_ffmpeg:OFF} \
3257b104 228 ..
be17bf9f 229%if 0
65712ad3 230%configure \
57d594cf 231 ac_cv_type__Bool=yes \
ace9791d 232 --disable-silent-rules \
51b524ca 233 --disable-debug \
ace9791d 234 --disable-ccache \
928406b7 235 --with-ffmpeg=%{!?with_system_ffmpeg:force}%{?with_system_ffmpeg:shared} \
c0d69361
ER
236 %{__enable_disable afpclient} \
237 %{__enable_disable airplay} \
ceb94d36 238 %{__enable_disable alsa} \
e148a10d 239 %{__enable_disable asap_codec asap-codec} \
ceb94d36
ER
240 %{__enable_disable avahi} \
241 %{__enable_disable dbus} \
e148a10d 242 %{__enable_disable gles} \
c1382e42 243 %{__enable_disable opengl gl} \
98f23c16 244 %{__enable_disable gtest} \
98f23c16 245 %{__enable_disable joystick} \
e148a10d 246 %{__enable_disable libbluray} \
c0d69361 247 %{__enable_disable libcap} \
98f23c16 248 %{__enable_disable libcec} \
85f5f657 249 %{__enable_disable gif libgif} \
c0d69361
ER
250 %{__enable_disable libusb} \
251 %{__enable_disable mdnsembedded} \
e148a10d 252 %{__enable_disable mid} \
ceb94d36 253 %{__enable_disable mysql} \
c0d69361 254 %{__enable_disable nfs} \
ceb94d36 255 %{__enable_disable non_free non-free} \
c0d69361 256 %{__enable_disable openmax} \
e148a10d 257 %{__enable_disable profiling} \
c0d69361 258 %{__enable_disable pulse} \
c0d69361 259 %{__enable_disable rtmp} \
ceb94d36 260 %{__enable_disable samba} \
c0d69361 261 %{__enable_disable sdl} \
ceb94d36 262 %{__enable_disable ssh} \
e148a10d
ER
263 %{__enable_disable tegra} \
264 %{__enable_disable texturepacker} \
c0d69361 265 %{__enable_disable udev} \
ceb94d36 266 %{__enable_disable upnp} \
c0d69361
ER
267 %{__enable_disable vaapi} \
268 %{__enable_disable vdpau} \
269 %{__enable_disable vtbdecoder} \
e148a10d 270 %{__enable_disable wayland} \
ceb94d36 271 %{__enable_disable webserver} \
98f23c16
ER
272 %{__enable_disable x11} \
273 %{__enable_disable xrandr} \
274 %{nil}
be17bf9f 275%endif
68612b1e 276
be17bf9f 277%{__make}
18b90c81
SP
278
279%install
280rm -rf $RPM_BUILD_ROOT
be17bf9f 281%{__make} -C build install \
92b96980 282 DESTDIR=$RPM_BUILD_ROOT
18b90c81 283
005f83ba 284%{__rm} $RPM_BUILD_ROOT%{_docdir}/{version.txt,README.Linux.md,LICENSE.md}
e36884e8
ER
285
286# not packaged
287%{__rm} $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/kodi-*.xml
25890c53
ER
288
289# no -devel package yet
290%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/kodi
a5bfc3a3 291
18b90c81
SP
292%clean
293rm -rf $RPM_BUILD_ROOT
294
295%files
296%defattr(644,root,root,755)
005f83ba 297%doc README.md docs/README.Linux.md
e36884e8 298%attr(755,root,root) %{_bindir}/TexturePacker
25890c53
ER
299%attr(755,root,root) %{_bindir}/kodi
300%attr(755,root,root) %{_bindir}/kodi-standalone
18b90c81 301%{_datadir}/%{name}
92b96980 302%attr(755,root,root) %{_libdir}/%{name}
25890c53
ER
303%{_desktopdir}/kodi.desktop
304%{_iconsdir}/hicolor/*/apps/%{name}.png
305%{_datadir}/xsessions/kodi.desktop
This page took 0.145245 seconds and 4 git commands to generate.