mk/image.mk: Ship /init in initramfs
[openadk.git] / package / kodi / Makefile
blob4e9a57a4cba934985124820983b00f99c2e56910
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
6 PKG_NAME:= kodi
7 PKG_VERSION:= 18.0a1
8 PKG_RELEASE:= 1
9 PKG_HASH:= 8892498d5248eea29c30db7c128a5910afc60d1b0b894aea472604bb879a0310
10 PKG_DESCR:= software media player
11 PKG_SECTION:= mm/video
12 PKG_DEPENDS:= python2 libsquish libressl libxz libfmt rapidjson
13 PKG_DEPENDS+= libass libmpeg2 libmad libmodplug libcurl
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 python2-mod-sqlite
18 PKG_DEPENDS+= glib libdcadec bcm28xx-vc-gl-libs libffmpeg libxvidcore
19 PKG_BUILDDEP:= python2 libass ffmpeg rtmpdump bcm28xx-vc
20 PKG_BUILDDEP+= libmpeg2 libmad libjpeg-turbo fmt rapidjson
21 PKG_BUILDDEP+= curl flac bzip2 libtiff yajl cmake-host
22 PKG_BUILDDEP+= tinyxml sqlite pcre libcdio freetype libpng
23 PKG_BUILDDEP+= libsamplerate taglib libjasper
24 PKG_BUILDDEP+= glib libmodplug libgpg-error xvidcore
25 PKG_BUILDDEP+= swig-host liblzo-host libpng-host libjpeg-turbo-host
26 PKG_BUILDDEP+= zip-host unzip-host giflib-host libsquish libdcadec
27 PKG_BUILDDEP+= libcrossguid libressl xz bzip2 liblzo
28 PKG_NEEDS:= threads c++ data iconv
29 PKG_URL:= http://kodi.tv/
30 PKG_SITES:= https://github.com/xbmc/xbmc/archive/
32 DISTFILES:= $(PKG_VERSION)-Leia.tar.gz
33 WRKDIST= ${WRKDIR}/xbmc-$(PKG_VERSION)-Leia
34 WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
36 PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi3p raspberry-pi3p-64
38 PKG_FLAVOURS_KODI:= WITH_ALSA WITH_CEC WITH_PULSEAUDIO WITH_SMB
39 PKG_FLAVOURS_KODI+= WITH_MICROHTTPD WITH_SSH WITH_AVAHI
40 PKGFD_WITH_ALSA:= enable alsa support
41 PKGFS_WITH_ALSA:= alsa-lib
42 PKGFB_WITH_ALSA:= alsa-lib
43 PKGFD_WITH_AVAHI:= enable avahi support
44 PKGFS_WITH_AVAHI:= libavahi
45 PKGFB_WITH_AVAHI:= avahi
46 PKGFD_WITH_CEC:= enable cec support
47 PKGFS_WITH_CEC:= libcec
48 PKGFB_WITH_CEC:= libcec
49 PKGFD_WITH_MICROHTTPD:= enable microhttpd support
50 PKGFS_WITH_MICROHTTPD:= libmicrohttpd
51 PKGFB_WITH_MICROHTTPD:= libmicrohttpd
52 PKGFD_WITH_PULSEAUDIO:= enable pulseaudio support
53 PKGFS_WITH_PULSEAUDIO:= pulseaudio
54 PKGFB_WITH_PULSEAUDIO:= pulseaudio
55 PKGFD_WITH_SMB:= enable smb support
56 PKGFS_WITH_SMB:= samba
57 PKGFB_WITH_SMB:= samba
58 PKGFD_WITH_SSH:= enable ssh support
59 PKGFS_WITH_SSH:= libssh
60 PKGFB_WITH_SSH:= libssh
62 include $(ADK_TOPDIR)/mk/package.mk
64 $(eval $(call PKG_template,KODI,kodi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
66 HOST_CXXFLAGS:= -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -I$(WRKSRC)/xbmc/linux
67 CONFIG_STYLE:= cmake
68 CMAKE_FLAGS+= -DENABLE_CCACHE=OFF \
69 -DCMAKE_BUILD_TYPE=Release \
70 -DVERBOSE=ON \
71 -DENABLE_DVDCSS=ON \
72 -DENABLE_INTERNAL_CROSSGUID=OFF \
73 -DENABLE_INTERNAL_FFMPEG=OFF \
74 -DWITH_FFMPEG=$(STAGING_TARGET_DIR)/usr \
75 -DKODI_DEPENDSBUILD=OFF \
76 -DENABLE_OPENSSL=ON \
77 -DENABLE_MYSQLCLIENT=OFF \
78 -DENABLE_NONFREE=ON \
79 -DENABLE_CAP=OFF \
80 -DENABLE_XSLT=OFF \
81 -DENABLE_BLUETOOTH=OFF \
82 -DENABLE_BLURAY=OFF \
83 -DENABLE_AIRTUNES=OFF \
84 -DENABLE_LCMS2=OFF \
85 -DENABLE_LIRC=OFF \
86 -DENABLE_UPNP=OFF \
87 -DENABLE_OPTICAL=OFF \
88 -DENABLE_DBUS=OFF \
89 -DENABLE_EVENTCLIENTS=OFF \
90 -DENABLE_UDEV=OFF \
91 -DENABLE_PLIST=OFF \
92 -DNATIVEPREFIX=$(STAGING_HOST_DIR)/usr \
93 -DDEPENDS_PATH=$(STAGING_HOST_DIR) \
94 -DWITH_TEXTUREPACKER=$(STAGING_HOST_DIR)/usr/bin/TexturePacker
96 ifeq ($(ADK_TARGET_BOARD_BCM28XX),y)
97 CMAKE_FLAGS+= -DCORE_PLATFORM_NAME=rbpi \
98 -DWITH_ARCH=arm \
99 -DWITH_CPU=arm \
100 -DENABLE_NEON=ON \
101 -DENABLE_OPENGL=OFF \
102 -DENABLE_X11=OFF \
103 -DENABLE_OPENGLES=ON
104 endif
106 ifeq ($(ADK_PACKAGE_KODI_WITH_ALSA),y)
107 CMAKE_FLAGS+= -DENABLE_ALSA=ON
108 else
109 CMAKE_FLAGS+= -DENABLE_ALSA=OFF
110 endif
111 ifeq ($(ADK_PACKAGE_KODI_WITH_AVAHI),y)
112 CMAKE_FLAGS+= -DENABLE_AVAHI=ON
113 else
114 CMAKE_FLAGS+= -DENABLE_AVAHI=OFF
115 endif
116 ifeq ($(ADK_PACKAGE_KODI_WITH_CEC),y)
117 CMAKE_FLAGS+= -DENABLE_CEC=ON
118 else
119 CMAKE_FLAGS+= -DENABLE_CEC=OFF
120 endif
121 ifeq ($(ADK_PACKAGE_KODI_WITH_MICROHTTPD),y)
122 CMAKE_FLAGS+= -DENABLE_MICROHTTPD=ON
123 else
124 CMAKE_FLAGS+= -DENABLE_MICROHTTPD=OFF
125 endif
126 ifeq ($(ADK_PACKAGE_KODI_WITH_PULSEAUDIO),y)
127 CMAKE_FLAGS+= -DENABLE_PULSEAUDIO=ON
128 else
129 CMAKE_FLAGS+= -DENABLE_PULSEAUDIO=OFF
130 endif
131 ifeq ($(ADK_PACKAGE_KODI_WITH_SMB),y)
132 CMAKE_FLAGS+= -DENABLE_SMBCLIENT=ON
133 else
134 CMAKE_FLAGS+= -DENABLE_SMBCLIENT=OFF
135 endif
136 ifeq ($(ADK_PACKAGE_KODI_WITH_SSH),y)
137 CMAKE_FLAGS+= -DENABLE_SSH=ON
138 else
139 CMAKE_FLAGS+= -DENABLE_SSH=OFF
140 endif
142 XAKE_FLAGS+= VERBOSE=1
144 pre-configure:
145 (cd $(WRKSRC)/tools/depends/native/JsonSchemaBuilder && PATH='$(HOST_PATH)' cmake .)
146 PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/JsonSchemaBuilder
147 cp $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/JsonSchemaBuilder \
148 $(STAGING_HOST_DIR)/usr/bin
149 (cd $(WRKSRC)/tools/depends/native/TexturePacker && PATH='$(HOST_PATH)' cmake \
150 -DCORE_SOURCE_DIR=$(WRKSRC) \
151 -DCMAKE_MODULE_PATH=$(WRKSRC)/cmake/modules \
152 -DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" .)
153 PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/TexturePacker
154 cp $(WRKSRC)/tools/depends/native/TexturePacker/TexturePacker \
155 $(STAGING_HOST_DIR)/usr/bin
157 kodi-install:
158 $(INSTALL_DIR) $(STAGING_TARGET_DIR)/usr/share/kodi
159 $(CP) $(WRKINST)/usr/share/kodi/* \
160 $(STAGING_TARGET_DIR)/usr/share/kodi
161 # we need a symlink to /data
162 cd $(IDIR_KODI)/ && ln -sf ../data/kodi .kodi
163 $(INSTALL_DIR) $(IDIR_KODI)/usr/lib/kodi/addons
164 $(CP) $(WRKINST)/usr/lib/kodi/* \
165 $(IDIR_KODI)/usr/lib/kodi
166 $(INSTALL_DIR) $(IDIR_KODI)/usr/share/kodi
167 $(CP) $(WRKINST)/usr/share/kodi/* \
168 $(IDIR_KODI)/usr/share/kodi
169 $(INSTALL_DIR) $(IDIR_KODI)/usr/bin
170 $(INSTALL_BIN) $(WRKINST)/usr/bin/kodi-standalone \
171 $(IDIR_KODI)/usr/bin
172 $(INSTALL_BIN) $(WRKINST)/usr/bin/kodi \
173 $(IDIR_KODI)/usr/bin
175 include ${ADK_TOPDIR}/mk/pkg-bottom.mk