mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
c913a3fd0b
* Fixes transparent black boarders when used as systemd service * Added gdb as optional dependency for stack traces * Start kodi after lircd service to ensure lircd runs first * Fixed a polkit permission warning when installing the package
164 lines
6.5 KiB
Bash
164 lines
6.5 KiB
Bash
# Maintainer: Oleg Rakhmanov <oleg@archlinuxarm.org>
|
|
# Contributor tomasgroth at yahoo.dk
|
|
# Contributor WarheadsSE <max@warheads.net>
|
|
# Contributor Romzetron <asromzek@gmail.com>
|
|
# Contributor Holzhaus <holthuis.jan@googlemail.com>
|
|
|
|
buildarch=20
|
|
|
|
_prefix=/usr
|
|
|
|
pkgbase=kodi-rbp
|
|
pkgname=('kodi-rbp' 'kodi-rbp-eventclients')
|
|
pkgver=16.1
|
|
_codename=Jarvis
|
|
pkgrel=5
|
|
pkgdesc="A software media player and entertainment hub for digital media for the Raspberry Pi"
|
|
arch=('armv6h' 'armv7h')
|
|
url="http://kodi.tv"
|
|
license=('GPL2')
|
|
makedepends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' 'libpng' 'libcdio'
|
|
'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' 'libssh' 'libmicrohttpd'
|
|
'sdl_image' 'python2' 'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'libass'
|
|
'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'xorg-xdpyinfo' 'libbluray'
|
|
'libnfs' 'afpfs-ng' 'avahi' 'bluez-libs' 'tinyxml' 'raspberrypi-firmware' 'libcec-rpi'
|
|
'libplist' 'swig' 'taglib' 'libxslt' 'shairplay' 'boost' 'cmake' 'gperf' 'nasm' 'zip'
|
|
'udisks' 'upower' 'git' 'autoconf' 'java-environment' 'libdcadec.so' 'libcrossguid')
|
|
source=("https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
|
|
'kodi.service'
|
|
'polkit.rules'
|
|
'gcc6_fix.patch'
|
|
'hifiberry_digi.patch')
|
|
|
|
sha256sums=('7d82c8aff2715c83deecdf10c566e26105bec0473af530a1356d4c747ebdfd10'
|
|
'5235068d5800d69f0287087815990e7fe8d6572733d60c8800546d35f608e87f'
|
|
'9ea592205023ba861603d74b63cdb73126c56372a366dc4cb7beb379073cbb96'
|
|
'b0fe75d10b2678894d1dec48f3258c0bec2a4a170f33d76a9a8334bb1969b18f'
|
|
'0b9d951911a8576c26dec8a31f394282677e48afff49b9579448121d27b8509e')
|
|
prepare() {
|
|
cd "$srcdir/xbmc-$pkgver-$_codename"
|
|
|
|
find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" +
|
|
sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl
|
|
sed 's/python/python2/' -i tools/Linux/kodi.sh.in
|
|
sed 's/shell python/shell python2/' -i tools/EventClients/Makefile.in
|
|
# disable wiiremote due to incompatibility with bluez-5.29
|
|
sed '/WiiRemote/d' -i tools/EventClients/Makefile.in
|
|
sed '/mkdir -p $(DESTDIR)$(bindir)/i \
|
|
install:' -i tools/EventClients/Makefile.in
|
|
|
|
patch -Np1 -i ${srcdir}/gcc6_fix.patch
|
|
patch -Np1 -i ${srcdir}/hifiberry_digi.patch
|
|
}
|
|
|
|
build() {
|
|
cd "$srcdir/xbmc-$pkgver-$_codename"
|
|
|
|
# Bootstrapping
|
|
MAKEFLAGS=-j1 ./bootstrap
|
|
|
|
# Configuring Kodi
|
|
export PYTHON_VERSION=2 # external python v2
|
|
# we need to compile for armv6 instead of armv5 to avoid problems compiling assembler code
|
|
FLAGS="-Ofast -fexcess-precision=fast -mfloat-abi=hard -mabi=aapcs-linux -pipe -fstack-protector --param=ssp-buffer-size=4\
|
|
-I/opt/vc/include/ -I/opt/vc/include/IL -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux"
|
|
[[ $CARCH == "armv6h" ]] && export CFLAGS="$FLAGS -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfpu=vfp" && export CXXFLAGS="$FLAGS -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfpu=vfp"
|
|
[[ $CARCH == "armv7h" ]] && export CFLAGS="$FLAGS -mcpu=cortex-a7 -mtune=cortex-a7 -mfpu=neon-vfpv4 -mvectorize-with-neon-quad" && export CXXFLAGS="$FLAGS -mcpu=cortex-a7 -mtune=cortex-a7 -mfpu=neon-vfpv4 -mvectorize-with-neon-quad"
|
|
|
|
export LDFLAGS="$LDFLAGS -L/opt/vc/lib"
|
|
|
|
# If build fails try uncommenting the line below first
|
|
# export MAKEFLAGS="-j1"
|
|
|
|
./configure --prefix=$_prefix --exec-prefix=$_prefix \
|
|
--with-platform=raspberry-pi \
|
|
--disable-gl \
|
|
--enable-gles \
|
|
--disable-x11 \
|
|
--disable-sdl \
|
|
--enable-optimizations \
|
|
--disable-goom \
|
|
--disable-vaapi \
|
|
--disable-vdpau \
|
|
--disable-xrandr \
|
|
--enable-airplay \
|
|
--enable-airtunes \
|
|
--enable-avahi \
|
|
--enable-libbluray \
|
|
--enable-dvdcss \
|
|
--disable-debug \
|
|
--disable-joystick \
|
|
--disable-mid \
|
|
--enable-nfs \
|
|
--disable-profiling \
|
|
--disable-projectm \
|
|
--enable-rsxs \
|
|
--enable-rtmp \
|
|
--disable-vaapi \
|
|
--enable-optical-drive \
|
|
--enable-player=omxplayer \
|
|
--with-lirc-device=/run/lirc/lircd \
|
|
ac_cv_lib_bluetooth_hci_devid=no
|
|
make
|
|
}
|
|
|
|
package_kodi-rbp() {
|
|
pkgdesc="A software media player and entertainment hub for digital media (Raspberry Pi)"
|
|
|
|
# depends expected for kodi plugins:
|
|
# 'python2-pillow' 'python2-pybluez' 'python2-simplejson'
|
|
# depends expeced in FEH.py
|
|
# 'mesa-demos' 'xorg-xdpyinfo'
|
|
depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' 'libpng' 'libcdio'
|
|
'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' 'libssh' 'libmicrohttpd'
|
|
'sdl_image' 'python2' 'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'libass'
|
|
'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'xorg-xdpyinfo' 'libbluray'
|
|
'libnfs' 'avahi' 'bluez-libs' 'tinyxml' 'raspberrypi-firmware' 'libcec-rpi'
|
|
'libplist' 'swig' 'taglib' 'libxslt' 'shairplay' 'libdcadec.so')
|
|
|
|
optdepends=(
|
|
'afpfs-ng: Apple shares support'
|
|
'lirc: remote controller support'
|
|
'polkit: permissions for automounting external drives and power management functionality'
|
|
'udisks: automount external drives'
|
|
'upower: used to trigger power management functionality'
|
|
'unrar: access compressed files without unpacking them'
|
|
'lsb-release: log distro information in crashlog'
|
|
'gdb: stack trace in crashlog')
|
|
|
|
install="kodi.install"
|
|
provides=('xbmc' 'kodi')
|
|
conflicts=('xbmc' 'kodi' 'arm-mem-git' 'shairplay-git')
|
|
replaces=('xbmc-rbp')
|
|
|
|
cd "$srcdir/xbmc-$pkgver-$_codename"
|
|
# Running make install
|
|
make DESTDIR="${pkgdir}" install
|
|
|
|
# We will no longer support the xbmc name
|
|
rm "$pkgdir/usr/share/xsessions/xbmc.desktop"
|
|
rm "$pkgdir/usr/bin/"xbmc{,-standalone}
|
|
# we will leave /usr/{include,lib,share}/xbmc for now
|
|
|
|
# Licenses
|
|
install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${pkgname}"
|
|
for licensef in LICENSE.GPL copying.txt; do
|
|
mv "${pkgdir}${_prefix}/share/doc/kodi/${licensef}" "${pkgdir}${_prefix}/share/licenses/${pkgname}"
|
|
done
|
|
|
|
install -Dm0644 $srcdir/kodi.service $pkgdir/usr/lib/systemd/system/kodi.service
|
|
mkdir -m700 -p $pkgdir/usr/share/polkit-1/rules.d/
|
|
install -Dm0644 $srcdir/polkit.rules $pkgdir/usr/share/polkit-1/rules.d/10-kodi.rules
|
|
chmod 0750 $pkgdir/usr/share/polkit-1/rules.d/
|
|
}
|
|
|
|
package_kodi-rbp-eventclients() {
|
|
pkgdesc="Kodi Event Clients (Raspberry Pi)"
|
|
provides=('kodi-eventclients')
|
|
conflicts=('kodi-eventclients')
|
|
depends=('cwiid')
|
|
|
|
cd "$srcdir/xbmc-$pkgver-$_codename"
|
|
|
|
make DESTDIR="$pkgdir" eventclients WII_EXTRA_OPTS=-DCWIID_OLD
|
|
}
|