PKGBUILDs/alarm/kodi-imx/PKGBUILD
2016-12-29 03:46:19 -07:00

180 lines
6.5 KiB
Bash

# Maintainer: Oleg Rakhmanov <oleg@archlinuxarm.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com >
# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
# Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com >
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Maxime Gauduin <alucryd@gmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - i.MX6 changes
buildarch=4
_prefix=/usr
pkgbase=kodi
pkgname=('kodi-imx' 'kodi-imx-eventclients')
pkgver=16.1
_codename=Jarvis
pkgrel=6
arch=('armv7h')
url="http://kodi.tv"
license=('GPL2')
makedepends=(
'afpfs-ng' 'bluez-libs' 'boost' 'cmake' 'curl' 'cwiid' 'doxygen' 'git'
'gperf' 'hicolor-icon-theme' 'jasper' 'java-runtime' 'libaacs' 'libass'
'libbluray' 'libcdio' 'libmariadbclient' 'libmicrohttpd'
'libmodplug' 'libmpeg2' 'libnfs' 'libplist' 'libpulse' 'libssh' 'libva'
'libxrandr' 'libxslt' 'lzo' 'nasm' 'nss-mdns' 'python2-pillow'
'python2-pybluez' 'python2-simplejson' 'rtmpdump' 'sdl2' 'sdl_image'
'shairplay' 'smbclient' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower' 'yajl' 'zip'
'imx-vpuwrap' 'imx-gpu-viv-fb' 'libcec-imx6' 'firmware-imx' 'imx-gpu-viv-g2d'
'linux-imx6-headers' 'libdcadec.so' 'libcrossguid')
source=(
"$pkgname-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
'imx-hdmi-soc.conf'
'imx-spdif.conf'
'kodi.service'
'polkit.rules'
'kodi.conf'
'gcc6_fix.patch'
'10160.patch'
'10775.patch')
sha256sums=('7d82c8aff2715c83deecdf10c566e26105bec0473af530a1356d4c747ebdfd10'
'6d9822d97b9e1268c04078f6c9b6316eb013f95f96f90034b51fa7473b9752ff'
'0e16e4d2ec0c0e1810fe1ad6a7c4dee99d6fc0f49502f0e836210f5dd537d92d'
'75eae110b6ca1c844505a231b453377afb092ef3969a31c8f4c72a3c3247381a'
'9ea592205023ba861603d74b63cdb73126c56372a366dc4cb7beb379073cbb96'
'db6372248015fa4e663bf789e4f7121b5a9ade323f361994bbd6f135ce169123'
'b0fe75d10b2678894d1dec48f3258c0bec2a4a170f33d76a9a8334bb1969b18f'
'870037ddedc09f161db16df8550e1b0eaaa67a8bdfe47e7151bc9ee25c9bfead'
'75529f0f42e9f84d2b55c86ba48d89f5e1286d84365f3ba6676c5b41fba6a314')
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}/10160.patch
patch -Np1 -i ${srcdir}/10775.patch
}
build() {
cd "$srcdir/xbmc-$pkgver-$_codename"
# Bootstrapping
MAKEFLAGS=-j1 ./bootstrap
#./configure --help
#return 1
# Configuring XBMC
export PYTHON_VERSION=2 # external python v2
CFLAGS="-Ofast -mfloat-abi=hard -mfpu=neon -mtls-dialect=gnu -march=armv7-a -mtune=cortex-a9 -pipe -fstack-protector --param=ssp-buffer-size=4 -I/opt/fsl/include"
CXXFLAGS="${CFLAGS}"
CPPFLAGS+=" -I/opt/fsl/include"
LDFLAGS+=" -Wl,-rpath,/opt/fsl/lib -L/opt/fsl/lib"
./configure --prefix=$_prefix --exec-prefix=$_prefix \
--disable-debug \
--disable-gl \
--enable-gles \
--disable-x11 \
--disable-vdpau \
--enable-optimizations \
--disable-goom \
--disable-pulse \
--enable-libbluray \
--with-lirc-device=/run/lirc/lircd \
--disable-vaapi \
--disable-openmax \
--enable-codec=imxvpu \
--enable-libcec \
ac_cv_lib_bluetooth_hci_devid=no
# Now (finally) build
make
}
package_kodi-imx() {
pkgdesc="A software media player and entertainment hub for digital media (Freescale i.MX6)"
# depends expected for kodi plugins:
# 'python2-pillow' 'python2-pybluez' 'python2-simplejson'
# depends expeced in FEH.py
# 'mesa-demos' 'xorg-xdpyinfo'
depends=(
'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'xorg-xdpyinfo'
'bluez-libs' 'fribidi' 'glew' 'hicolor-icon-theme' 'libcdio'
'libjpeg-turbo' 'libmariadbclient' 'libmicrohttpd' 'libpulse' 'libssh'
'libva' 'libxrandr' 'libxslt' 'lzo' 'sdl2' 'smbclient' 'taglib' 'tinyxml'
'yajl' 'imx-vpuwrap' 'imx-gpu-viv-fb' 'libcec-imx6' 'firmware-imx'
'imx-gpu-viv-g2d' 'freetype2' 'libdcadec.so'
)
optdepends=(
'afpfs-ng: Apple shares support'
'bluez: Blutooth support'
'libnfs: NFS shares support'
'libplist: AirPlay support'
'lirc: Remote controller support'
'polkit: permissions for automounting external drives and power management functionality'
'pulseaudio: PulseAudio support'
'shairplay: AirPlay support'
'udisks: Automount external drives'
'unrar: Archives support'
'unzip: Archives support'
'upower: Display battery level'
'lsb-release: log distro information in crashlog'
)
install="kodi.install"
provides=('xbmc' 'kodi')
conflicts=('xbmc' 'kodi' 'shairplay-git')
replaces=('xbmc')
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 -dm755 ${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
# imx6-specific alsa conf
install -Dm0644 $srcdir/imx-spdif.conf $pkgdir/usr/share/alsa/cards/imx-spdif.conf
install -Dm0644 $srcdir/imx-hdmi-soc.conf $pkgdir/usr/share/alsa/cards/imx-hdmi-soc.conf
install -Dm0644 $srcdir/kodi.service $pkgdir/usr/lib/systemd/system/kodi.service
install -Dm0644 $srcdir/kodi.conf $pkgdir/etc/tmpfiles.d/kodi.conf
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-imx-eventclients() {
pkgdesc="Kodi Event Clients (Freescale i.MX6)"
provides=('kodi-eventclients')
conflicts=('kodi-eventclients')
depends=('cwiid')
cd "$srcdir/xbmc-$pkgver-$_codename"
make DESTDIR="$pkgdir" eventclients WII_EXTRA_OPTS=-DCWIID_OLD
}