blob: 1ffc7f0dd7e3edd3411f34b517c975b1cd48ea12 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
|
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=kodi
pkgver=18.5
_realname=Leia
pkgrel=0
_libdvdcss_pkgver="1.4.2-Leia-Beta-5"
_libdvdread_pkgver="6.0.0-Leia-Alpha-3"
_libdvdnav_pkgver="6.0.0-Leia-Alpha-3"
_crossguid_hash="8f399e8bd4"
pkgdesc="A software media player and entertainment hub for digital media"
url="https://kodi.tv"
arch="armv7"
license="GPL-2.0-only"
depends="python2
hicolor-icon-theme
xdpyinfo
curl
py-pillow
py-bluez
py-simplejson"
# Required dependencies
depends_dev="libass-dev
libcdio-dev
curl-dev
ffmpeg-dev
flatbuffers-dev
fmt-dev
freetype-dev
fribidi-dev
fstrcmp-dev
libdvdcss-dev
lzo-dev
openssl-dev
pcre-dev
rapidjson-dev
sqlite-dev
taglib-dev
tinyxml-dev
zlib-dev
giflib-dev
libjpeg-turbo-dev
"
# Required for Wayland
depends_dev="$depends_dev
libxkbcommon-dev
"
# Required for gbm
depends_dev="$depends_dev
libinput-dev
"
# Required for Raspberry Pi
depends_dev="$depends_dev
raspberrypi-dev
"
# Optional for extra features
depends_dev="$depends_dev
alsa-lib-dev
avahi-dev
bluez-dev
libbluray-dev
libcap-dev
libcec-dev
dbus-dev
libmicrohttpd-dev
libnfs-dev
libplist-dev
pulseaudio-dev
python2-dev
samba-dev
eudev-dev
libxslt-dev
mariadb-connector-c-dev
libshairport-dev"
makedepends="$depends_dev
cmake
swig
autoconf
automake
binutils-gold
libtool
doxygen
graphviz
xz
tar
openjdk8-jre-base"
#subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc $pkgname-dbg $pkgname-bin $pkgname-wayland $pkgname-gbm $pkgname-rpi $pkgname-polkit::noarch"
subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc $pkgname-dbg $pkgname-rpi3::armv7 $pkgname-polkit::noarch"
replaces="xbmc"
options="ldpath-recursive !check" # No testsuite
source="https://github.com/xbmc/xbmc/archive/$pkgver-$_realname.tar.gz
libdvdcss-$_libdvdcss_pkgver.tar.gz::https://github.com/xbmc/libdvdcss/archive/$_libdvdcss_pkgver.tar.gz
libdvdread-$_libdvdread_pkgver.tar.gz::https://github.com/xbmc/libdvdread/archive/$_libdvdread_pkgver.tar.gz
libdvdnav-$_libdvdnav_pkgver.tar.gz::https://github.com/xbmc/libdvdnav/archive/$_libdvdnav_pkgver.tar.gz
crossguid-$_crossguid_hash.tar.gz::https://mirrors.kodi.tv/build-deps/sources/crossguid-$_crossguid_hash.tar.gz
set-default-stacksize.patch
fix-musl-incompability.patch
cassert.patch
kodi.initd
60-kodi.rules
"
builddir="$srcdir/xbmc-$pkgver-$_realname"
# secfixes:
# 18.2-r0:
# - CVE-2018-8831
prepare() {
default_prepare
mkdir "$builddir"/build-x11
mkdir "$builddir"/build-wayland
mkdir "$builddir"/build-gbm
mkdir "$builddir"/build-rpi3
}
build() {
make -C tools/depends/target/crossguid PREFIX="$PWD"/usr
# X11
#cd "$builddir"/build-x11
#cmake "$builddir" \
# -DCMAKE_BUILD_TYPE=RelWithDebInfo \
# -DCMAKE_INSTALL_PREFIX=/usr \
# -DCMAKE_INSTALL_LIBDIR=lib \
# -DENABLE_INTERNAL_CROSSGUID=ON \
# -DENABLE_INTERNAL_FFMPEG=OFF \
# -DENABLE_INTERNAL_RapidJSON=OFF \
# -DENABLE_INTERNAL_FMT=OFF \
# -DENABLE_INTERNAL_FSTRCMP=OFF \
# -DENABLE_INTERNAL_FLATBUFFERS=OFF \
# -Dlibdvdcss_URL="$srcdir"/libdvdcss-$_libdvdcss_pkgver.tar.gz \
# -Dlibdvdread_URL="$srcdir"/libdvdread-$_libdvdread_pkgver.tar.gz \
# -Dlibdvdnav_URL="$srcdir"/libdvdnav-$_libdvdnav_pkgver.tar.gz \
# -DCROSSGUID_URL="$srcdir"/crossguid-$_crossguid_hash.tar.gz
#make
#make preinstall
## Wayland
#cd "$builddir"/build-wayland
#cmake "$builddir" \
# -DCMAKE_BUILD_TYPE=RelWithDebInfo \
# -DCMAKE_INSTALL_PREFIX=/usr \
# -DCMAKE_INSTALL_LIBDIR=lib \
# -DENABLE_INTERNAL_CROSSGUID=ON \
# -DENABLE_INTERNAL_FFMPEG=OFF \
# -DENABLE_INTERNAL_RapidJSON=OFF \
# -DENABLE_INTERNAL_FMT=OFF \
# -DENABLE_INTERNAL_FSTRCMP=OFF \
# -DENABLE_INTERNAL_FLATBUFFERS=OFF \
# -Dlibdvdcss_URL="$srcdir"/libdvdcss-$_libdvdcss_pkgver.tar.gz \
# -Dlibdvdread_URL="$srcdir"/libdvdread-$_libdvdread_pkgver.tar.gz \
# -Dlibdvdnav_URL="$srcdir"/libdvdnav-$_libdvdnav_pkgver.tar.gz \
# -DCROSSGUID_URL="$srcdir"/crossguid-$_crossguid_hash.tar.gz \
# -DCORE_PLATFORM_NAME=wayland \
# -DWAYLAND_RENDER_SYSTEM=gl
#make
#make preinstall
## GBM
#cd "$builddir"/build-gbm
#cmake "$builddir" \
# -DCMAKE_BUILD_TYPE=RelWithDebInfo \
# -DCMAKE_INSTALL_PREFIX=/usr \
# -DCMAKE_INSTALL_LIBDIR=lib \
# -DENABLE_INTERNAL_CROSSGUID=ON \
# -DENABLE_INTERNAL_FFMPEG=OFF \
# -DENABLE_INTERNAL_RapidJSON=OFF \
# -DENABLE_INTERNAL_FMT=OFF \
# -DENABLE_INTERNAL_FSTRCMP=OFF \
# -DENABLE_INTERNAL_FLATBUFFERS=OFF \
# -Dlibdvdcss_URL="$srcdir"/libdvdcss-$_libdvdcss_pkgver.tar.gz \
# -Dlibdvdread_URL="$srcdir"/libdvdread-$_libdvdread_pkgver.tar.gz \
# -Dlibdvdnav_URL="$srcdir"/libdvdnav-$_libdvdnav_pkgver.tar.gz \
# -DCROSSGUID_URL="$srcdir"/crossguid-$_crossguid_hash.tar.gz \
# -DCORE_PLATFORM_NAME=gbm \
# -DGBM_RENDER_SYSTEM=gles
#make
#make preinstall
# Raspberry Pi (3)
# NOTE: CPU for Raspberry Pi 2 should be cortex-a7
cd "$builddir"/build-rpi3
cmake "$builddir" \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_PREFIX_PATH=/opt/vc \
-DENABLE_EVENTCLIENTS=ON \
-DENABLE_INTERNAL_FFMPEG=ON \
-DENABLE_INTERNAL_FMT=OFF \
-DENABLE_INTERNAL_CROSSGUID=ON \
-DENABLE_INTERNAL_FSTRCMP=OFF \
-DENABLE_INTERNAL_FLATBUFFERS=OFF \
-DENABLE_INTERNAL_RapidJSON=OFF \
-Dlibdvdcss_URL="$srcdir"/libdvdcss-$_libdvdcss_pkgver.tar.gz \
-Dlibdvdread_URL="$srcdir"/libdvdread-$_libdvdread_pkgver.tar.gz \
-Dlibdvdnav_URL="$srcdir"/libdvdnav-$_libdvdnav_pkgver.tar.gz \
-DCROSSGUID_URL="$srcdir"/crossguid-$_crossguid_hash.tar.gz \
-DWITH_CPU="cortex-a53" \
-DCORE_PLATFORM_NAME=rbpi
make
make preinstall
}
package() {
depends="$pkgname-rpi"
cd "$builddir"/build-rpi3
make DESTDIR="$pkgdir" install
install -Dm755 "$srcdir"/kodi.initd "$pkgdir"/etc/init.d/kodi
#rm \
# "$pkgdir"/usr/lib/kodi/kodi-x11 \
# "$pkgdir"/usr/lib/kodi/kodi-xrandr
}
bin() {
pkgdesc="X11 Kodi binary"
cd "$builddir"/build-x11
install -Dm755 kodi-x11 "$subpkgdir"/usr/lib/kodi/kodi-x11
install -Dm755 kodi-xrandr "$subpkgdir"/usr/lib/kodi/kodi-xrandr
}
wayland() {
pkgdesc="Wayland Kodi binary"
provides="$pkgname-bin"
cd "$builddir"/build-wayland
install -Dm755 kodi-wayland "$subpkgdir"/usr/lib/kodi/kodi-wayland
}
gbm() {
pkgdesc="GBM Kodi binary"
provides="$pkgname-bin"
depends="$pkgname-openrc"
install="$subpkgname.pre-install"
cd "$builddir"/build-gbm
install -Dm755 kodi-gbm "$subpkgdir"/usr/lib/kodi/kodi-gbm
}
rpi3() {
pkgdesc="Raspberry Pi 3 Kodi binary"
provides="$pkgname-bin"
cd "$builddir"/build-rpi3
ls
#install -Dm755 kodi-x11 "$subpkgdir"/usr/lib/kodi/kodi-x11
#install -Dm755 kodi-xrandr "$subpkgdir"/usr/lib/kodi/kodi-xrandr
}
polkit() {
pkgdesc="Polkit rules for Kodi in combination with GBM"
install_if="$pkgname-gbm polkit"
install -Dm644 "$srcdir"/60-kodi.rules "$subpkgdir"/etc/polkit-1/rules.d/60-kodi.rules
}
sha512sums="6fe70d8ee5b6ffd3d43b89487554e41eed8dbf95bb017b82578b547ec248ae94f4dda298f0d85c5896019f7032eba4e1e2494c8140dde9c9b9cb21802acfd029 18.5-Leia.tar.gz
5185dbdbeb1bd13ea9d8723f1f4ab599d6f3102f5ba1096cd085aa1cda252c045f327c719227bba8e1b742352ade5e335106c8d0c1637a5a6b93ce661620dd7e libdvdcss-1.4.2-Leia-Beta-5.tar.gz
b3419ba0a1a2dd70f1bb6236afdfe1c6e88c9ad4264198b289e3bba9375e077cecf7f89848c7b09debaa445327f3507101f3d157e692f7a7163b2bb52643e1e7 libdvdread-6.0.0-Leia-Alpha-3.tar.gz
11c93eaacd156f8fd7dec7c43d366438b201f31ad55b2870463a9e286912b6ada08882319a021fb7992190f87b909a49f2b83e0321cc17aedc29f7fe5898fa72 libdvdnav-6.0.0-Leia-Alpha-3.tar.gz
2682d63609d3dcdfcd8136be632e45df26ad88ce93b9c49745cf728bbd2e6254a7b05c8b059ab581d532372e504206a525a52564b64d076dfdae9c965a09fd16 crossguid-8f399e8bd4.tar.gz
3fd97e9fa22e59b3cd30fdad19474e177a9d062598765fa8ba4955f1da4e10581ff1463dd0794d3ee3cefebf753007a4d445b2bc47a257574d3927c1408b8876 set-default-stacksize.patch
65b78a96bef33cec975b371f1a930d551d7b224955d6075b7edc7e51ec30fec9c77d34f622abbaf827c60df6029206b72c02ee2d2f138d276c1b843336fd14ab fix-musl-incompability.patch
7348495a805d07730dc569b091f15765ca9d86fa28987a343dfc7fa36cd6ecbb52ac4ea76d7c9fe9eab90ed8552ef6aeae7ffd72edd11f8d780c1de2e9ffe49d cassert.patch
7e2a2289da3098e0007e461ad538dcd6435e908283caf1719788248fe736615890175e11392ca0cd68002872217bbf7b70cf909f228307828aa82467d5502ed4 kodi.initd
465a2079d598bf909a458d8e9d0ddd2b2a41dff83ba736542cffec7811c044295d5af092928f20aaa6cd3bc8b13bb03ede5c7ded1783680f890464e103392787 60-kodi.rules"
|