summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO127
-rwxr-xr-x20-quiet-printk.conf2
-rwxr-xr-xPKGBUILD164
-rwxr-xr-xkodi.install23
-rwxr-xr-xkodi.service13
-rwxr-xr-xkodi_permissions.conf32
-rwxr-xr-xpolkit.rules15
7 files changed, 376 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7e85030bc19a
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,127 @@
+# Generated by mksrcinfo v8
+# Sun Dec 6 14:13:49 UTC 2015
+pkgbase = kodi-c1-fb
+ pkgver = 17.0.20151205
+ pkgrel = 1
+ url = http://kodi.tv
+ arch = armv7h
+ license = GPL2
+ makedepends = afpfs-ng
+ makedepends = bluez-libs
+ makedepends = boost
+ makedepends = cmake
+ makedepends = curl
+ makedepends = cwiid
+ makedepends = doxygen
+ makedepends = gcc<5.2.0
+ makedepends = gcc-libs<5.2.0
+ makedepends = git
+ makedepends = glew
+ makedepends = gperf
+ makedepends = hicolor-icon-theme
+ makedepends = jasper
+ makedepends = java-runtime
+ makedepends = libaacs
+ makedepends = libass
+ makedepends = libbluray
+ makedepends = libcdio
+ makedepends = odroid-c1-libgl-fb
+ makedepends = libmariadbclient
+ makedepends = libmicrohttpd
+ makedepends = libmodplug
+ makedepends = libmpeg2
+ makedepends = libnfs
+ makedepends = libplist
+ makedepends = libpulse
+ makedepends = libssh
+ makedepends = libva
+ makedepends = libxrandr
+ makedepends = libxslt
+ makedepends = lzo
+ makedepends = nasm
+ makedepends = nss-mdns
+ makedepends = python2-pillow
+ makedepends = aml-libs-c1
+ makedepends = python2-pybluez
+ makedepends = python2-simplejson
+ makedepends = rtmpdump
+ makedepends = sdl2
+ makedepends = sdl_image
+ makedepends = shairplay
+ makedepends = smbclient
+ makedepends = swig
+ makedepends = taglib
+ makedepends = tinyxml
+ makedepends = unzip
+ makedepends = upower
+ makedepends = yajl
+ makedepends = zip
+ makedepends = dcadec
+ makedepends = libcrossguid-git
+ source = https://github.com/xbmc/xbmc/archive/d6418111ee8baa287ab27658b8037d6ef9a4ce59.tar.gz
+ source = git+https://github.com/mdrjr/c1_mali_libs.git
+ source = kodi.service
+ source = polkit.rules
+ source = kodi_permissions.conf
+ source = 20-quiet-printk.conf
+ sha256sums = 2e702694de69005feb00b776e2339fd9ab7fd65f3e21147699681fb26f18b0a8
+ sha256sums = SKIP
+ sha256sums = 79aa17b475967d97b6c72c850b638705d6feb6d995844476b65d68d33d161114
+ sha256sums = c68ed2bd377f80b606b8815d78239b9132b479eafc1d19797cee5824debe1800
+ sha256sums = ecc413a1cfd4622b79de16010c9d8d269f774ad89d2e547553e36fbd236e8593
+ sha256sums = e3cb9a3a3d814295bdfac6ac325b5560e8ba0a2fb00f11d6dcc9afde49f30990
+
+pkgname = kodi-c1-fb
+ pkgdesc = A software media player and entertainment hub for digital media (ODROID-C1 Framebuffer)
+ install = kodi.install
+ depends = python2-pillow
+ depends = python2-pybluez
+ depends = python2-simplejson
+ depends = mesa-demos
+ depends = xorg-xdpyinfo
+ depends = bluez-libs
+ depends = fribidi
+ depends = glew
+ depends = hicolor-icon-theme
+ depends = libcdio
+ depends = libjpeg-turbo
+ depends = libmariadbclient
+ depends = libmicrohttpd
+ depends = libpulse
+ depends = libssh
+ depends = libva
+ depends = libxrandr
+ depends = libxslt
+ depends = lzo
+ depends = sdl2
+ depends = smbclient
+ depends = taglib
+ depends = tinyxml
+ depends = yajl
+ depends = odroid-c1-libgl-fb
+ depends = aml-libs-c1
+ optdepends = afpfs-ng: Apple shares support
+ optdepends = bluez: Blutooth support
+ optdepends = libnfs: NFS shares support
+ optdepends = libplist: AirPlay support
+ optdepends = lirc: Remote controller support
+ optdepends = pulseaudio: PulseAudio support
+ optdepends = shairplay: AirPlay support
+ optdepends = udisks: Automount external drives
+ optdepends = unrar: Archives support
+ optdepends = unzip: Archives support
+ optdepends = upower: Display battery level
+ optdepends = polkit: Power menu functionality.
+ optdepends = lsb-release: log distro information in crashlog
+ provides = xbmc
+ provides = kodi
+ conflicts = xbmc
+ conflicts = kodi
+ replaces = xbmc
+
+pkgname = kodi-c1-eventclients-fb
+ pkgdesc = Kodi Event Clients (ODROID-C1)
+ depends = cwiid
+ provides = kodi-eventclients
+ conflicts = kodi-eventclients
+
diff --git a/20-quiet-printk.conf b/20-quiet-printk.conf
new file mode 100755
index 000000000000..960e65675e2b
--- /dev/null
+++ b/20-quiet-printk.conf
@@ -0,0 +1,2 @@
+kernel.printk = 3 3 3 3
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100755
index 000000000000..4915e98e4c7e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,164 @@
+# Maintainer: Apokalypzx <apokalypzx at gmail dot com>
+# Contributor: Kevin Mihelich <kevin@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>
+# Contributor: Owersun <shiva at maill dot ru>
+# Contributor: Holzhaus <holthuis dot jan at googlemail dot com>
+# Contributor: Mdrjr <mauro dot ribeiro at hardkernel dot com>
+
+buildarch=4
+
+_prefix=/usr
+
+pkgbase=kodi-c1-fb
+pkgname=('kodi-c1-fb' 'kodi-c1-eventclients-fb')
+_commit='d6418111ee8baa287ab27658b8037d6ef9a4ce59'
+pkgver=17.0.20151205
+pkgrel=1
+_codename=unknown
+arch=('armv7h')
+url="http://kodi.tv"
+license=('GPL2')
+makedepends=(
+ 'afpfs-ng' 'bluez-libs' 'boost' 'cmake' 'curl' 'cwiid' 'doxygen' 'gcc<5.2.0' 'gcc-libs<5.2.0' 'git' 'glew'
+ 'gperf' 'hicolor-icon-theme' 'jasper' 'java-runtime' 'libaacs' 'libass'
+ 'libbluray' 'libcdio' 'odroid-c1-libgl-fb' 'libmariadbclient' 'libmicrohttpd'
+ 'libmodplug' 'libmpeg2' 'libnfs' 'libplist' 'libpulse' 'libssh' 'libva'
+ 'libxrandr' 'libxslt' 'lzo' 'nasm' 'nss-mdns' 'python2-pillow' 'aml-libs-c1'
+ 'python2-pybluez' 'python2-simplejson' 'rtmpdump' 'sdl2' 'sdl_image'
+ 'shairplay' 'smbclient' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower' 'yajl'
+ 'zip' 'dcadec' 'libcrossguid-git'
+)
+source=("https://github.com/xbmc/xbmc/archive/${_commit}.tar.gz"
+ "git+https://github.com/mdrjr/c1_mali_libs.git"
+ 'kodi.service'
+ 'polkit.rules'
+ 'kodi_permissions.conf'
+ '20-quiet-printk.conf')
+
+sha256sums=('2e702694de69005feb00b776e2339fd9ab7fd65f3e21147699681fb26f18b0a8'
+ 'SKIP'
+ '79aa17b475967d97b6c72c850b638705d6feb6d995844476b65d68d33d161114'
+ 'c68ed2bd377f80b606b8815d78239b9132b479eafc1d19797cee5824debe1800'
+ 'ecc413a1cfd4622b79de16010c9d8d269f774ad89d2e547553e36fbd236e8593'
+ 'e3cb9a3a3d814295bdfac6ac325b5560e8ba0a2fb00f11d6dcc9afde49f30990')
+
+prepare() {
+ cd xbmc-${_commit}
+
+ # Use Python 2 instead of Python 3
+ 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
+}
+
+build() {
+ cd xbmc-${_commit}
+ MALI_INCLUDE=$srcdir/c1_mali_libs/fbdev/mali_headers
+ CFLAGS=`echo "$CFLAGS -I$MALI_INCLUDE -ffast-math" | sed -e 's/vfpv3-d16/neon-fp16/'` && CXXFLAGS="$CFLAGS"
+ LDFLAGS+=" -L/usr/lib/mali-egl -L/usr/lib/aml_libs"
+
+ # Bootstrapping
+ MAKEFLAGS=-j8 ./bootstrap
+
+ #./configure --help
+ #return 1
+
+ # Configuring XBMC
+ export PYTHON_VERSION=2 # external python v2
+ ./configure --prefix=$_prefix \
+ gl_cv_func_gettimeofday_clobber=no ac_cv_lib_bluetooth_hci_devid=no \
+ --disable-debug \
+ --enable-optimizations \
+ --enable-libbluray \
+ --disable-texturepacker \
+ --enable-external-libraries \
+ --with-lirc-device=/run/lirc/lircd \
+ --disable-vaapi \
+ --disable-static --enable-shared \
+ --enable-rsxs \
+ --enable-codec=amcodec \
+ --disable-x11 \
+ --enable-gles \
+ --disable-gl \
+ --disable-openmax \
+ --disable-vdpau \
+ --disable-pulse
+
+ # Now (finally) build
+# make
+make -k > build.log 2>&1
+}
+
+package_kodi-c1-fb() {
+ pkgdesc="A software media player and entertainment hub for digital media (ODROID-C1 Framebuffer)"
+
+ # 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'
+ 'mesa-demos' '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' 'odroid-c1-libgl-fb' 'aml-libs-c1'
+ )
+ optdepends=(
+ 'afpfs-ng: Apple shares support'
+ 'bluez: Blutooth support'
+ 'libnfs: NFS shares support'
+ 'libplist: AirPlay support'
+ 'lirc: Remote controller support'
+ 'pulseaudio: PulseAudio support'
+ 'shairplay: AirPlay support'
+ 'udisks: Automount external drives'
+ 'unrar: Archives support'
+ 'unzip: Archives support'
+ 'upower: Display battery level'
+ 'polkit: Power menu functionality.'
+ 'lsb-release: log distro information in crashlog'
+ )
+ install="kodi.install"
+ provides=('xbmc' 'kodi')
+ conflicts=('xbmc' 'kodi')
+ replaces=('xbmc')
+
+ cd xbmc-${_commit}
+ # Running make install
+ make DESTDIR="$pkgdir" install
+
+ # 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
+
+install -Dm0644 $srcdir/20-quiet-printk.conf $pkgdir/etc/sysctl.d/20-quiet-printk.conf
+install -Dm0644 $srcdir/kodi_permissions.conf $pkgdir/etc/tmpfiles.d/kodi_permissions.conf
+install -Dm0644 $srcdir/kodi.service $pkgdir/usr/lib/systemd/system/kodi.service
+install -Dm0644 $srcdir/polkit.rules $pkgdir/etc/polkit-1/rules.d/10-kodi.rules
+}
+
+package_kodi-c1-eventclients-fb() {
+ pkgdesc="Kodi Event Clients (ODROID-C1)"
+ provides=('kodi-eventclients')
+ conflicts=('kodi-eventclients')
+ depends=('cwiid')
+
+ cd xbmc-${_commit}
+
+ make DESTDIR="$pkgdir" eventclients WII_EXTRA_OPTS=-DCWIID_OLD
+
+ install -dm755 "$pkgdir/usr/lib/python2.7/$pkgbase"
+ mv "$pkgdir/kodi"/* "$pkgdir/usr/lib/python2.7/$pkgbase"
+ rmdir "$pkgdir/kodi"
+}
diff --git a/kodi.install b/kodi.install
new file mode 100755
index 000000000000..4e8492c300f6
--- /dev/null
+++ b/kodi.install
@@ -0,0 +1,23 @@
+post_install() {
+ update_icons
+ getent group kodi > /dev/null || groupadd -r kodi
+ getent passwd kodi > /dev/null || useradd -r -m -d /var/lib/kodi -g kodi -s /usr/bin/nologin kodi
+ usermod -a -G kodi,audio,video,power,network,optical,storage,disk kodi
+ mkdir -p var/lib/kodi
+ chown -R kodi:kodi var/lib/kodi
+}
+
+post_upgrade() {
+ update_icons
+}
+
+post_remove() {
+ update_icons
+ getent passwd kodi > /dev/null && userdel kodi
+}
+
+update_icons() {
+ type -p gtk-update-icon-cache > /dev/null 2>&1 && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+ type -p update-desktop-database > /dev/null 2>&1 && usr/bin/update-desktop-database -q usr/share/applications
+ return 0
+}
diff --git a/kodi.service b/kodi.service
new file mode 100755
index 000000000000..2757d8137463
--- /dev/null
+++ b/kodi.service
@@ -0,0 +1,13 @@
+[Unit]
+Description = Starts an instance of Kodi
+After = remote-fs.target
+
+[Service]
+User = kodi
+Group = kodi
+Type = simple
+ExecStart = /usr/bin/kodi
+Restart = on-failure
+
+[Install]
+WantedBy = multi-user.target
diff --git a/kodi_permissions.conf b/kodi_permissions.conf
new file mode 100755
index 000000000000..98ae7ea2f0dc
--- /dev/null
+++ b/kodi_permissions.conf
@@ -0,0 +1,32 @@
+m /sys/class/graphics/fb0/mode 0666 root root - -
+m /sys/class/graphics/fb0/blank 0666 root root - -
+m /sys/class/graphics/fb0/free_scale 0666 root root - -
+m /sys/class/graphics/fb0/free_scale_axis 0666 root root - -
+m /sys/class/graphics/fb0/request2XScale 0666 root root - -
+m /sys/class/graphics/fb0/scale_width 0666 root root - -
+m /sys/class/graphics/fb0/scale_height 0666 root root - -
+m /sys/class/graphics/fb1/blank 0666 root root - -
+m /sys/class/graphics/fb1/scale_width 0666 root root - -
+m /sys/class/graphics/fb1/scale_height 0666 root root - -
+m /sys/class/graphics/fb1/free_scale 0666 root root - -
+m /sys/class/graphics/fb1/scale 0666 root root - -
+m /sys/class/graphics/fb1/scale_axis 0666 root root - -
+m /sys/class/display/mode 0666 root root - -
+m /sys/class/display/axis 0666 root root - -
+m /sys/class/amhdmitx/amhdmitx0/disp_mode 0666 root root - -
+m /sys/class/tsync/pts_pcrscr 0666 root root - -
+m /sys/class/tsync/enable 0666 root root - -
+m /sys/class/video/axis 0666 root root - -
+m /sys/class/video/zoom 0666 root root - -
+m /sys/class/video/contrast 0666 root root - -
+m /sys/class/video/brightness 0666 root root - -
+m /sys/class/video/saturation 0666 root root - -
+m /sys/class/video/blackout_policy 0666 root root - -
+m /sys/class/video/screen_mode 0666 root root - -
+m /sys/class/video/disable_video 0666 root root - -
+m /sys/class/audiodsp/digital_raw 0666 root root - -
+m /sys/class/ppmgr/ppmgr_3d_mode 0666 root root - -
+m /sys/class/ppmgr/ppscaler 0666 root root - -
+m /sys/class/ppmgr/ppscaler_rect 0666 root root - -
+m /sys/class/ppmgr/disp 0666 root root - -
+m /sys/modules/di/parameters/bypass_all 0666 root root - -
diff --git a/polkit.rules b/polkit.rules
new file mode 100755
index 000000000000..670a01a80334
--- /dev/null
+++ b/polkit.rules
@@ -0,0 +1,15 @@
+polkit.addRule(function(action, subject) {
+ if (subject.user == "kodi") {
+ polkit.log("action=" + action);
+ polkit.log("subject=" + subject);
+ if (action.id.indexOf("org.freedesktop.login1.") == 0) {
+ return polkit.Result.YES;
+ }
+ if (action.id.indexOf("org.freedesktop.udisks.") == 0) {
+ return polkit.Result.YES;
+ }
+ if (action.id.indexOf("org.freedesktop.upower.") == 0) {
+ return polkit.Result.YES;
+ }
+ }
+});