1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(ADK_TOPDIR
)/rules.mk
9 PKG_HASH
:= b9d6ecbb8769cdfe00cbbe5da5c330a7624eee50cffb87d87f6271033f1ee74b
10 PKG_DESCR
:= software media player
11 PKG_SECTION
:= mm
/video
12 PKG_DEPENDS
:= python3 libsquish libressl libxz libfmt rapidjson
13 PKG_DEPENDS
+= libass libmpeg2 libmad libmodplug libcurl libxshmfence
14 PKG_DEPENDS
+= libflac libbz2 libtiff libnettle librtmp liblzo
15 PKG_DEPENDS
+= yajl tinyxml libsqlite libpcrecpp libncurses libpng
16 PKG_DEPENDS
+= libpcre libcdio libfreetype libsamplerate libuuid
17 PKG_DEPENDS
+= taglib libjasper libmp3lame libgpg-error giflib
18 PKG_DEPENDS
+= glib libdcadec libffmpeg libxvidcore libiconv harfbuzz
19 PKG_DEPENDS
+= flatbuffers fstrcmp spdlog mesa libinput libxkbcommon
20 PKG_DEPENDS
+= xkeyboard-config tinyxml2 libdisplay-info libudfread
21 PKG_BUILDDEP
:= python3 libass ffmpeg rtmpdump libiconv libudfread
22 PKG_BUILDDEP
+= libmpeg2 libmad libjpeg-turbo fmt rapidjson
23 PKG_BUILDDEP
+= curl flac bzip2 libtiff yajl cmake-host libdisplay-info
24 PKG_BUILDDEP
+= tinyxml tinyxml2 sqlite pcre libcdio freetype libpng
25 PKG_BUILDDEP
+= libsamplerate taglib libjasper giflib xkeyboard-config
26 PKG_BUILDDEP
+= glib libmodplug libgpg-error xvidcore libxshmfence
27 PKG_BUILDDEP
+= swig-host liblzo-host libpng-host libjpeg-turbo-host
28 PKG_BUILDDEP
+= zip-host unzip-host giflib-host libsquish libdcadec
29 PKG_BUILDDEP
+= libcrossguid libressl xz bzip2 liblzo harfbuzz
30 PKG_BUILDDEP
+= flatbuffers fstrcmp spdlog mesa libinput libxkbcommon
31 PKG_NEEDS
:= threads c
++ data iconv
32 PKG_URL
:= http
://kodi.tv
/
33 PKG_SITES
:= https
://github.com
/xbmc
/xbmc
/archive
/
35 DISTFILES
:= $(PKG_VERSION
)-Omega.
tar.gz
36 WRKDIST
= ${WRKDIR}/xbmc-
$(PKG_VERSION
)-Omega
37 WRKBUILD
= $(WRKDIR
)/$(PKG_NAME
)-obj
39 PKG_SYSTEM_DEPENDS
:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi4 raspberry-pi4-64 rockpi4-plus raspberry-pi5
41 PKG_FLAVOURS_KODI
:= WITH_ALSA WITH_CEC WITH_PULSEAUDIO WITH_SMB
42 PKG_FLAVOURS_KODI
+= WITH_MICROHTTPD WITH_SSH WITH_AVAHI
43 PKGFD_WITH_ALSA
:= enable alsa support
44 PKGFS_WITH_ALSA
:= alsa-lib
45 PKGFB_WITH_ALSA
:= alsa-lib
46 PKGFD_WITH_AVAHI
:= enable avahi support
47 PKGFS_WITH_AVAHI
:= libavahi
48 PKGFB_WITH_AVAHI
:= avahi
49 PKGFD_WITH_CEC
:= enable cec support
50 PKGFS_WITH_CEC
:= libcec
51 PKGFB_WITH_CEC
:= libcec
52 PKGFD_WITH_MICROHTTPD
:= enable microhttpd support
53 PKGFS_WITH_MICROHTTPD
:= libmicrohttpd
54 PKGFB_WITH_MICROHTTPD
:= libmicrohttpd
55 PKGFD_WITH_PULSEAUDIO
:= enable pulseaudio support
56 PKGFS_WITH_PULSEAUDIO
:= pulseaudio
57 PKGFB_WITH_PULSEAUDIO
:= pulseaudio
58 PKGFD_WITH_SMB
:= enable smb support
59 PKGFS_WITH_SMB
:= samba
60 PKGFB_WITH_SMB
:= samba
61 PKGFD_WITH_SSH
:= enable ssh support
62 PKGFS_WITH_SSH
:= libssh
63 PKGFB_WITH_SSH
:= libssh
65 include $(ADK_TOPDIR
)/mk
/package.mk
67 $(eval
$(call PKG_template
,KODI
,kodi
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
69 HOST_CXXFLAGS
:= -DTARGET_POSIX
-DTARGET_LINUX
-D_LINUX
-I
$(WRKSRC
)/xbmc
/linux
71 CMAKE_FLAGS
+= -DENABLE_CCACHE
=OFF \
72 -DCMAKE_BUILD_TYPE
=Release \
75 -DENABLE_INTERNAL_CROSSGUID
=OFF \
76 -DENABLE_INTERNAL_FFMPEG
=OFF \
77 -DENABLE_INTERNAL_RapidJSON
=OFF \
78 -DWITH_FFMPEG
=$(STAGING_TARGET_DIR
)/usr \
79 -DPYTHON_EXECUTABLE
=$(STAGING_HOST_DIR
)/usr
/bin
/python3 \
80 -DPYTHON_INCLUDE_DIRS
=$(STAGING_TARGET_DIR
)/usr
/include/python3.11 \
81 -DPYTHON_PATH
=$(STAGING_TARGET_DIR
)/usr
/lib
/python3.11 \
83 -DKODI_DEPENDSBUILD
=OFF \
85 -DENABLE_MYSQLCLIENT
=OFF \
89 -DENABLE_BLUETOOTH
=OFF \
91 -DENABLE_AIRTUNES
=OFF \
95 -DENABLE_OPTICAL
=OFF \
97 -DENABLE_EVENTCLIENTS
=OFF \
100 -DNATIVEPREFIX
=$(STAGING_HOST_DIR
)/usr \
101 -DDEPENDS_PATH
=$(STAGING_TARGET_DIR
)/usr \
102 -DWITH_TEXTUREPACKER
=$(STAGING_HOST_DIR
)/usr
/bin
/TexturePacker \
103 -DWITH_JSONSCHEMABUILDER
=$(STAGING_HOST_DIR
)/usr
/bin
/JsonSchemaBuilder \
104 -DCMAKE_EXE_LINKER_FLAGS
=-latomic \
105 -DLIBDVDCSS_URL
=$(DL_DIR
)/libdvdcss-1.4
.3-Next-Nexus-Alpha2-2.
tar.gz \
106 -DLIBDVDNAV_URL
=$(DL_DIR
)/libdvdnav-6.1
.1-Next-Nexus-Alpha2-2.
tar.gz \
107 -DLIBDVDREAD_URL
=$(DL_DIR
)/libdvdread-6.1
.3-Next-Nexus-Alpha2-2.
tar.gz
109 ifeq ($(ADK_TARGET_ARCH_AARCH64
),y
)
110 CMAKE_FLAGS
+= -DWITH_ARCH
=aarch64 \
114 ifeq ($(ADK_TARGET_ARCH_ARM
),y
)
120 ifeq ($(ADK_TARGET_BOARD_BCM28XX
),y
)
121 CMAKE_FLAGS
+= -DCORE_PLATFORM_NAME
=gbm \
122 -DAPP_RENDER_SYSTEM
=gles \
123 -DENABLE_OPENGL
=OFF \
128 ifeq ($(ADK_PACKAGE_KODI_WITH_ALSA
),y
)
129 CMAKE_FLAGS
+= -DENABLE_ALSA
=ON
131 CMAKE_FLAGS
+= -DENABLE_ALSA
=OFF
133 ifeq ($(ADK_PACKAGE_KODI_WITH_AVAHI
),y
)
134 CMAKE_FLAGS
+= -DENABLE_AVAHI
=ON
136 CMAKE_FLAGS
+= -DENABLE_AVAHI
=OFF
138 ifeq ($(ADK_PACKAGE_KODI_WITH_CEC
),y
)
139 CMAKE_FLAGS
+= -DENABLE_CEC
=ON
141 CMAKE_FLAGS
+= -DENABLE_CEC
=OFF
143 ifeq ($(ADK_PACKAGE_KODI_WITH_MICROHTTPD
),y
)
144 CMAKE_FLAGS
+= -DENABLE_MICROHTTPD
=ON
146 CMAKE_FLAGS
+= -DENABLE_MICROHTTPD
=OFF
148 ifeq ($(ADK_PACKAGE_KODI_WITH_PULSEAUDIO
),y
)
149 CMAKE_FLAGS
+= -DENABLE_PULSEAUDIO
=ON
151 CMAKE_FLAGS
+= -DENABLE_PULSEAUDIO
=OFF
153 ifeq ($(ADK_PACKAGE_KODI_WITH_SMB
),y
)
154 CMAKE_FLAGS
+= -DENABLE_SMBCLIENT
=ON
156 CMAKE_FLAGS
+= -DENABLE_SMBCLIENT
=OFF
158 ifeq ($(ADK_PACKAGE_KODI_WITH_SSH
),y
)
159 CMAKE_FLAGS
+= -DENABLE_SSH
=ON
161 CMAKE_FLAGS
+= -DENABLE_SSH
=OFF
164 XAKE_FLAGS
+= VERBOSE
=1
165 TARGET_LDFLAGS
+= -latomic
-liconv
167 KODI_LIBDVDCSS_VERSION
= 1.4.3-Next-Nexus-Alpha2-2
168 KODI_LIBDVDNAV_VERSION
= 6.1.1-Next-Nexus-Alpha2-2
169 KODI_LIBDVDREAD_VERSION
= 6.1.3-Next-Nexus-Alpha2-2
172 #(cd $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/src && PATH='$(HOST_PATH)' cmake .)
173 #PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/src
174 #cp $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder \
175 # $(STAGING_HOST_DIR)/usr/bin/JsonSchemaBuilder
176 #(cd $(WRKSRC)/tools/depends/native/TexturePacker/src && PATH='$(HOST_PATH)' cmake \
177 # -DKODI_SOURCE_DIR=$(WRKSRC) \
178 # -DCMAKE_MODULE_PATH=$(WRKSRC)/cmake/modules \
179 # -DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" .)
180 #PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/TexturePacker/src
181 #cp $(WRKSRC)/tools/depends/native/TexturePacker/src/TexturePacker \
182 # $(STAGING_HOST_DIR)/usr/bin
183 (cd
$(DL_DIR
) && wget
-O libdvdcss-
$(KODI_LIBDVDCSS_VERSION
).
tar.gz https
://github.com
/xbmc
/libdvdcss
/archive
/refs
/tags/$(KODI_LIBDVDCSS_VERSION
).
tar.gz
)
184 (cd
$(DL_DIR
) && wget
-O libdvdnav-
$(KODI_LIBDVDNAV_VERSION
).
tar.gz https
://github.com
/xbmc
/libdvdnav
/archive
/refs
/tags/$(KODI_LIBDVDNAV_VERSION
).
tar.gz
)
185 (cd
$(DL_DIR
) && wget
-O libdvdread-
$(KODI_LIBDVDREAD_VERSION
).
tar.gz https
://github.com
/xbmc
/libdvdread
/archive
/refs
/tags/$(KODI_LIBDVDREAD_VERSION
).
tar.gz
)
188 $(INSTALL_DIR
) $(STAGING_TARGET_DIR
)/usr
/share
/kodi
189 $(CP
) $(WRKINST
)/usr
/share
/kodi
/* \
190 $(STAGING_TARGET_DIR
)/usr
/share
/kodi
191 # we need a symlink to /data
192 cd
$(IDIR_KODI
)/ && ln
-sf ..
/data
/kodi .kodi
193 $(INSTALL_DIR
) $(IDIR_KODI
)/usr
/lib
/kodi
/addons
194 $(CP
) $(WRKINST
)/usr
/lib
/kodi
/* \
195 $(IDIR_KODI
)/usr
/lib
/kodi
196 $(INSTALL_DIR
) $(IDIR_KODI
)/usr
/share
/kodi
197 $(CP
) $(WRKINST
)/usr
/share
/kodi
/* \
198 $(IDIR_KODI
)/usr
/share
/kodi
199 $(INSTALL_DIR
) $(IDIR_KODI
)/usr
/bin
200 $(INSTALL_BIN
) $(WRKINST
)/usr
/bin
/kodi-standalone \
202 $(INSTALL_BIN
) $(WRKINST
)/usr
/bin
/kodi \
205 include ${ADK_TOPDIR}/mk
/pkg-bottom.mk