diff options
-rw-r--r-- | .SRCINFO | 127 | ||||
-rwxr-xr-x | 20-quiet-printk.conf | 2 | ||||
-rwxr-xr-x | PKGBUILD | 164 | ||||
-rwxr-xr-x | kodi.install | 23 | ||||
-rwxr-xr-x | kodi.service | 13 | ||||
-rwxr-xr-x | kodi_permissions.conf | 32 | ||||
-rwxr-xr-x | polkit.rules | 15 |
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; + } + } +}); |