]> git.pld-linux.org Git - packages/kodi.git/blame - kodi.spec
dav1d required for internal ffmpeg only
[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 9%bcond_with airtunes # AirTunes support
ceb94d36 10%bcond_without dvdcss # DVDCSS support
9ba2f18c 11%bcond_without gbm # GBM platform
ceb94d36 12%bcond_without optical_drive # optical drive
e148a10d 13%bcond_without upnp # UPnP support
9ba2f18c 14%bcond_without x11 # X11 platform
3b778467
JP
15%ifarch %{arm} aarch64
16%bcond_without gles # OpenGL rendering
17%else
e148a10d 18%bcond_with gles # OpenGLES rendering
3b778467 19%endif
9ba2f18c 20%bcond_without wayland # Wayland platform
ceb94d36 21# System libs:
6e5f6f0e 22%bcond_without system_ffmpeg # build with system ffmpeg
9ba2f18c
JP
23# CPU instructions
24%bcond_with avx # use AVX instructions
25%bcond_with avx2 # use AVX2 instructions
26%bcond_with neon # use NEON instructions
27%bcond_with sse # use SSE instructions
28%bcond_with sse2 # use SSE2 instructions
29%bcond_with sse3 # use SSE3 instructions
30%bcond_with ssse3 # use SSSE3 instructions
31%bcond_with sse41 # use SSE4.1 instructions
32%bcond_with sse42 # use SSE4.2 instructions
92b96980 33
9ba2f18c
JP
34%ifarch %{arm_with_neon}
35%define with_neon 1
36%endif
37%ifarch %{x86_with_sse}
38%define with_sse 1
39%endif
40%ifarch %{x86_with_sse2}
41%define with_sse2 1
42%endif
43
44%define codename Matrix
0ac32cd1 45#define subver rc1
d61811e9 46Summary: Kodi is a free and open source media-player and entertainment hub
92b53b2c 47Name: kodi
9ba2f18c
JP
48Version: 19.3
49Release: 1
68612b1e 50License: GPL v2+ and GPL v3+
18b90c81 51Group: Applications/Multimedia
caf463a3 52#Source0Download: https://github.com/xbmc/xbmc/releases
0ac32cd1 53Source0: https://github.com/xbmc/xbmc/archive/%{version}-%{codename}.tar.gz
9ba2f18c
JP
54# Source0-md5: 623583e6eac14668468d6c5628b8f1c5
55Patch0: disable-static.patch
56Patch1: libdvd.patch
0ac32cd1 57URL: https://kodi.tv/
a983002d 58BuildRequires: EGL-devel
9ba2f18c
JP
59%{?with_gbm:BuildRequires: Mesa-libgbm-devel}
60# for eglextchromium.h
61%{?with_x11:BuildRequires: Mesa-libEGL-devel}
62%if %{without gles}
8fa5c2e4 63BuildRequires: OpenGL-GLU-devel
b85db44b 64BuildRequires: OpenGL-devel
9ba2f18c
JP
65%if %{with x11}
66BuildRequires: OpenGL-GLX-devel
67%endif
68%endif
69%{?with_gles:BuildRequires: OpenGLES-devel}
70BuildRequires: alsa-lib-devel >= 1.0.27
18b90c81 71BuildRequires: avahi-devel
b85db44b 72BuildRequires: bluez-libs-devel >= 4.99
be17bf9f 73BuildRequires: cmake >= 3.4
c3c3c480 74BuildRequires: crossguid-devel
18b90c81 75BuildRequires: curl-devel
9de0d888 76%{!?with_system_ffmpeg:BuildRequires: dav1d-devel}
18b90c81 77BuildRequires: dbus-devel
9ba2f18c
JP
78# libavcodec >= 58.91.100 libavfilter >= 7.85.100 libavformat >= 58.45.100 libavutil >= 56.51.100 libpostproc >= 55.7.100 libswscale >= 5.7.100 libswresample >= 3.7.100
79%{?with_system_ffmpeg:BuildRequires: ffmpeg-devel >= 4.3}
60818254 80BuildRequires: flatbuffers-devel >= 1.9.0
18b90c81
SP
81BuildRequires: fontconfig-devel
82BuildRequires: freetype-devel
83BuildRequires: fribidi-devel
9ba2f18c 84BuildRequires: fstrcmp-devel >= 0.7
0747666f 85BuildRequires: gettext-tools
9ba2f18c 86BuildRequires: giflib-devel >= 5
20c6d413 87BuildRequires: lcms2-devel
b85db44b 88BuildRequires: libass-devel
a7c53f4c 89BuildRequires: libatomic-devel
9ba2f18c 90BuildRequires: libbluray-devel >= 0.9.3
37fbe511 91BuildRequires: libcap-devel
9ba2f18c
JP
92BuildRequires: libcdio-c++-devel >= 2.1.0
93BuildRequires: libcdio-devel >= 2.1.0
94BuildRequires: libcec-devel >= 3.0.0
95BuildRequires: libdrm-devel >= 2.4.95
96%{?with_dvdcss:BuildRequires: libdvdcss-devel >= 1.4.1}
97BuildRequires: libdvdnav-devel
98BuildRequires: libdvdread-devel
99BuildRequires: libfmt-devel >= 6.1.2
100%{?with_gbm:BuildRequires: libinput-devel}
18b90c81 101BuildRequires: libjpeg-devel
88da6d7b 102BuildRequires: libmicrohttpd-devel >= 0.9.40
9ba2f18c
JP
103BuildRequires: libnfs-devel
104BuildRequires: libplist-devel >= 2.0
5a2f2b01 105BuildRequires: libpng-devel
18b90c81 106BuildRequires: libsmbclient-devel
9ba2f18c
JP
107BuildRequires: libstdc++-devel >= 6:5
108BuildRequires: libudfread-devel >= 1.0.0
f99f2533 109BuildRequires: libuuid-devel
b85db44b 110BuildRequires: libva-devel
9ba2f18c
JP
111BuildRequires: libva-drm-devel
112%{?with_wayland:BuildRequires: libva-wayland-devel}
113%{?with_x11:BuildRequires: libva-x11-devel}
114%if %{with x11} && %{without gles}
5a2f2b01 115BuildRequires: libvdpau-devel
9ba2f18c 116%endif
8fa5c2e4 117BuildRequires: libxml2-devel >= 2.0
501e1d3e 118BuildRequires: libxslt-devel
9ba2f18c
JP
119BuildRequires: lirc-devel
120BuildRequires: lzo-devel >= 2
5a2f2b01 121BuildRequires: mysql-devel
9ba2f18c 122BuildRequires: openssl-devel >= 1.0.2
63ff963e 123BuildRequires: pcre-cxx-devel
5a2f2b01 124BuildRequires: pkgconfig
9ba2f18c
JP
125BuildRequires: pulseaudio-devel >= 11.0.0
126BuildRequires: python3-devel >= 1:3.8
127BuildRequires: rapidjson-devel >= 1.1.0
3a71016a 128BuildRequires: rpm-pythonprov
9ba2f18c 129BuildRequires: rpmbuild(macros) >= 2.007
c462fd57 130BuildRequires: sed >= 4.0
9ba2f18c 131BuildRequires: spdlog-devel >= 1.5.0
18b90c81 132BuildRequires: sqlite3-devel
37fbe511 133BuildRequires: swig
9ba2f18c 134BuildRequires: taglib-devel >= 1.9.0
8fa5c2e4 135BuildRequires: tinyxml-devel >= 2.6.2
b85db44b 136BuildRequires: udev-devel
9ba2f18c
JP
137%if %{with wayland}
138BuildRequires: wayland-protocols >= 1.7
139BuildRequires: waylandpp-devel >= 0.2.2
140%endif
141%if %{with x11}
b85db44b
AF
142BuildRequires: xorg-lib-libX11-devel
143BuildRequires: xorg-lib-libXext-devel
18b90c81 144BuildRequires: xorg-lib-libXrandr-devel
9ba2f18c
JP
145%endif
146%if %{with gbm} || %{with wayland}
147BuildRequires: xorg-lib-libxkbcommon-devel >= 0.4.1
148%endif
18b90c81 149BuildRequires: zlib-devel
9ba2f18c 150Requires: %{name}-common = %{version}-%{release}
63ff963e 151Requires: /usr/bin/glxinfo
9ba2f18c
JP
152Requires: alsa-lib >= 1.0.27
153Requires: desktop-file-utils
154Requires: ffmpeg-libs >= 4.3
155Requires: flatbuffers >= 1.9.0
156Requires: hicolor-icon-theme
157Requires: libbluray >= 0.9.3
158Requires: libcdio >= 2.1.0
159Requires: libcdio-c++ >= 2.1.0
160Requires: libcec >= 3.0.0
161Requires: libdrm >= 2.4.95
162%{?with_dvdcss:Requires: libdvdcss >= 1.4.1}
163Requires: libfmt >= 6.1.2
164Requires: libmicrohttpd >= 0.9.40
165Requires: libplist >= 2.0
166Requires: libudfread >= 1.0.0
a58652d4 167Requires: lsb-release
9ba2f18c
JP
168Requires: openssl >= 1.0.2
169Requires: pulseaudio-libs >= 11.0.0
170Requires: spdlog >= 1.5.0
171Requires: taglib >= 1.9.0
172Requires: tinyxml >= 2.6.2
173%{?with_wayland:Requires: waylandpp >= 0.2.2}
174%if %{with gbm} || %{with wayland}
175Requires: xorg-lib-libxkbcommon >= 0.4.1
176%endif
92b53b2c 177Obsoletes: xbmc < 14.0
18b90c81
SP
178BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
179
180%description
d61811e9
ER
181Kodi Entertainment Center (formerly XBMC) is a free and open-source
182media player software developed by the XBMC Foundation, a non-profit
183technology consortium. Kodi is available for multiple operating
184systems and hardware platforms, with a software 10-foot user interface
185for use with televisions and remote controls. It allows users to play
186and view most videos, music, such as podcasts from the internet, and
187all common digital media files from local and network storage media.
18b90c81 188
9ba2f18c
JP
189%package common
190Summary: Common files for Kodi
191BuildArch: noarch
192
193%description common
194Common files for Kodi.
195
196%package devel
197Summary: Header files for Kodi
198Group: Development/Libraries
199Requires: %{name}-common = %{version}-%{release}
200
201%description devel
202Header files for Kodi.
203
18b90c81 204%prep
2d334bbb 205%setup -q -n xbmc-%{version}%{?subver}-%{codename}
9ba2f18c 206%patch0 -p1
af2a7b89 207%patch1 -p1
18b90c81 208
8fa5c2e4 209%{__rm} -r lib/win32
5d47de93 210
72cf5436 211%if %{without system_ffmpeg}
c3c3c480 212#ln -s %{SOURCE1} tools/depends/target/ffmpeg/ffmpeg-2.4.4-%{codename}.tar.gz
928406b7
ER
213%endif
214
18b90c81 215%build
9ba2f18c
JP
216%cmake -B build \
217 -DAPP_RENDER_SYSTEM=%{!?with_gles:gl}%{?with_gles:gles} \
218 -DCORE_PLATFORM_NAME="%{?with_gbm:GBM;}%{?with_x11:X11;}%{?with_wayland:WAYLAND;}" \
219 %{cmake_on_off airtunes ENABLE_AIRTUNES} \
220 %{cmake_on_off dvdcss ENABLE_DVDCSS} \
221 -DENABLE_INTERNAL_CROSSGUID:BOOL=OFF \
222 -DENABLE_INTERNAL_DAV1D:BOOL=OFF \
9b1af85b 223 -DENABLE_INTERNAL_FFMPEG:BOOL=%{?with_system_ffmpeg:OFF}%{!?with_system_ffmpeg:ON} \
9ba2f18c
JP
224 -DENABLE_INTERNAL_FLATBUFFERS:BOOL=OFF \
225 -DENABLE_INTERNAL_FMT:BOOL=OFF \
226 -DENABLE_INTERNAL_FSTRCMP:BOOL=OFF \
227 -DENABLE_INTERNAL_LIBDVD:BOOL=OFF \
228 -DENABLE_INTERNAL_RapidJSON:BOOL=OFF \
229 -DENABLE_INTERNAL_SPDLOG:BOOL=OFF \
230 -DENABLE_INTERNAL_UDFREAD:BOOL=OFF \
231 -DENABLE_LDGOLD:BOOL=OFF \
232 -DENABLE_TESTING:BOOL=OFF \
233 %{cmake_on_off optical_drive ENABLE_OPTICAL} \
234 %{cmake_on_off upnp ENABLE_UPNP} \
235 %{cmake_on_off avx ENABLE_AVX} \
236 %{cmake_on_off avx2 ENABLE_AVX2} \
237 %{cmake_on_off neon ENABLE_NEON} \
238 %{cmake_on_off sse ENABLE_SSE} \
239 %{cmake_on_off sse2 ENABLE_SSE2} \
240 %{cmake_on_off sse3 ENABLE_SSE3} \
241 %{cmake_on_off ssse3 ENABLE_SSSE3} \
242 %{cmake_on_off sse41 ENABLE_SSE4_1} \
243 %{cmake_on_off sse42 ENABLE_SSE4_2}
68612b1e 244
9ba2f18c 245%{__make} -C build
18b90c81
SP
246
247%install
248rm -rf $RPM_BUILD_ROOT
9ba2f18c 249
be17bf9f 250%{__make} -C build install \
92b96980 251 DESTDIR=$RPM_BUILD_ROOT
18b90c81 252
005f83ba 253%{__rm} $RPM_BUILD_ROOT%{_docdir}/{version.txt,README.Linux.md,LICENSE.md}
e36884e8
ER
254
255# not packaged
256%{__rm} $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/kodi-*.xml
25890c53 257
18b90c81
SP
258%clean
259rm -rf $RPM_BUILD_ROOT
260
9ba2f18c
JP
261%post
262%update_icon_cache hicolor
263%update_desktop_database
264
265%postun
266%update_icon_cache hicolor
267%update_desktop_database_postun
268
18b90c81
SP
269%files
270%defattr(644,root,root,755)
005f83ba 271%doc README.md docs/README.Linux.md
9ba2f18c 272%attr(755,root,root) %{_bindir}/JsonSchemaBuilder
e36884e8 273%attr(755,root,root) %{_bindir}/TexturePacker
25890c53
ER
274%attr(755,root,root) %{_bindir}/kodi
275%attr(755,root,root) %{_bindir}/kodi-standalone
9ba2f18c
JP
276%{_datadir}/%{name}/addons
277%{_datadir}/%{name}/media
278%{_datadir}/%{name}/privacy-policy.txt
279%{_datadir}/%{name}/system
280%{_datadir}/%{name}/userdata
92b96980 281%attr(755,root,root) %{_libdir}/%{name}
25890c53
ER
282%{_desktopdir}/kodi.desktop
283%{_iconsdir}/hicolor/*/apps/%{name}.png
9ba2f18c 284%{_datadir}/metainfo/org.xbmc.kodi.metainfo.xml
25890c53 285%{_datadir}/xsessions/kodi.desktop
9ba2f18c
JP
286
287%files common
288%defattr(644,root,root,755)
289%dir %{_datadir}/%{name}
290
291%files devel
292%defattr(644,root,root,755)
293%{_includedir}/kodi
294%{_datadir}/%{name}/cmake
This page took 0.161091 seconds and 4 git commands to generate.