diff options
Diffstat (limited to 'abs/extra/kodi/PKGBUILD')
-rw-r--r-- | abs/extra/kodi/PKGBUILD | 234 |
1 files changed, 166 insertions, 68 deletions
diff --git a/abs/extra/kodi/PKGBUILD b/abs/extra/kodi/PKGBUILD index 6623868..14c19f9 100644 --- a/abs/extra/kodi/PKGBUILD +++ b/abs/extra/kodi/PKGBUILD @@ -2,121 +2,154 @@ # $Id$ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: BlackIkeEagle < ike DOT devolder AT gmail DOT com > +# Contributor: graysky <graysky AT archlinux DOT us> +# Contributor: DonVla <donvla@users.sourceforge.net> +# Contributor: Ulf Winkelvos <ulf [at] winkelvos [dot] de> +# Contributor: Ralf Barth <archlinux dot org at haggy dot org> +# Contributor: B & monty - Thanks for your hints :) +# Contributor: marzoul +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.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> +# +# Original credits go to Edgar Hucek <gimli at dark-green dot com> +# for his xbmc-vdpau-vdr PKGBUILD at https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-vdpau-vdr/PKGBUILD pkgbase=kodi -pkgname=('kodi' 'kodi-eventclients') -pkgver=16.1 -_codename=Jarvis -pkgrel=2 -arch=('i686' 'x86_64') +pkgname=('kodi' 'kodi-eventclients' 'kodi-tools-texturepacker' 'kodi-dev') +pkgver=17.6 +_codename=Krypton +pkgrel=5 +arch=('x86_64') url="http://kodi.tv" license=('GPL2') makedepends=( - 'afpfs-ng' 'bluez-libs' 'boost' 'cmake' 'curl' 'cwiid' 'doxygen' 'git' 'glew' + 'afpfs-ng' 'bluez-libs' 'cmake' 'curl' 'doxygen' 'glew' 'gperf' 'hicolor-icon-theme' 'jasper' 'java-runtime' 'libaacs' 'libass' 'libbluray' 'libcdio' 'libcec' 'libgl' 'libmysqlclient' 'libmicrohttpd' 'libmodplug' 'libmpeg2' 'libnfs' 'libplist' 'libssh' 'libva' 'libvdpau' 'libxrandr' 'libxslt' 'lzo' 'mesa' 'nasm' 'nss-mdns' - 'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'rtmpdump' 'sdl2' - 'sdl_image' 'shairplay' 'smbclient' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower' - 'yajl' 'zip' 'mesa' 'dcadec' 'libcrossguid' + 'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'rtmpdump' + 'shairplay' 'smbclient' 'speex' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower' + 'yajl' 'zip' 'git' 'giflib' ) +_libdvdcss_commit="2f12236bc1c92f73c21e973363f79eb300de603f" +_libdvdnav_commit="981488f7f27554b103cca10c1fbeba027396c94a" +_libdvdread_commit="17d99db97e7b8f23077b342369d3c22a6250affd" +_ffmpeg_version="3.1.11-$_codename-17.5" source=( - "$pkgname-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz" + "$pkgbase-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz" + "$pkgbase-libdvdcss-$_libdvdcss_commit.tar.gz::https://github.com/xbmc/libdvdcss/archive/$_libdvdcss_commit.tar.gz" + "$pkgbase-libdvdnav-$_libdvdnav_commit.tar.gz::https://github.com/xbmc/libdvdnav/archive/$_libdvdnav_commit.tar.gz" + "$pkgbase-libdvdread-$_libdvdread_commit.tar.gz::https://github.com/xbmc/libdvdread/archive/$_libdvdread_commit.tar.gz" + "$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz::https://github.com/xbmc/FFmpeg/archive/$_ffmpeg_version.tar.gz" + 'fix-python-lib-path.patch' + 'cheat-sse-build.patch' + 'cpuinfo' 'kodi.sh' 'kodi_lib.conf' ) - +noextract=( + "$pkgbase-libdvdcss-$_libdvdcss_commit.tar.gz" + "$pkgbase-libdvdnav-$_libdvdnav_commit.tar.gz" + "$pkgbase-libdvdread-$_libdvdread_commit.tar.gz" + "$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz" +) +sha512sums=('1f1ba91e6129ab423f9ad47b63d7bb75775dbf18638a96413a572aaa790f4f0d738ca35486513e158a7f55d501f78f08dd9d68aabe2fbb80a729c6091b264111' + '12ba7aa653fcb26d5336bf2a8110c924d634cec79f684bbf19dc38ea33f69fb68c22c97f4c09e5ca7c35f95f6c324a6d70ccc2c501a99122a9321cafd33b2cd9' + '005355da5e3d34f69737f7c3fe7884e82ffdc8f654f337e97d4a4d1e486c9f346f63b4dee74de2765e7a8d94925de5d25c3c82da732d2e8d4f58fcfeb9dd2586' + 'e59ae0bfdc62698e407e3d70503c6a7c5e308545c9dae7843e25db3b5b62d9b26256be77ef4e884263add6b4abec3438c324bfd5715f6ca2ce7fa5962d43a6c2' + 'b28bb6970c6767213f34e5f4f3e48ad5219a6c668a5264ff7de0a42712cb7393f389ddd88f56785a2dc8089f8231ae5fd05adfa10dbf15ea3e0ad7bc2ccd4d73' + '0f41604e38648969572a66d1124d6e090c3bfca4f9d8ccabcd1806254c38b178ee08df35e1bbbd1228f820729df52353321b3257122af601c3233dbc6405c6d2' + 'be8d6b77088373d0173dee6434ebd04c9382fb00190641b392a6f9f5338b35d186f6d871aaea4a01908f283a452b23de3a1113947d9070e77fde531e32458f7e' + '539b33f30f6735caaf57fb9f19de449b8a8902362ae9e66a6fceabd530d02888533d2ab262fb187670780c997e5c1d23bd715a3c6860fd50280c1031f47865f7' + '554a2f1f82fdf93f6b2f0c0bd3947e17660d728a0d53fcb3592fb0dfb992c9174ad741e3aa1c04ae0ec534a6c4b78423effc39428a58cab8750663644679b988' + 'f4085fbc75c0a0df4ca4cdd5356e6214f2a2e81895d410a8c3181708b91bd34de64719e4cac1e9fe3496b82e950839937ec0438a9cf6ce91cb3eacc29f81cb3b') 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 - - # patches + [[ -d kodi-build ]] && rm -rf kodi-build + mkdir kodi-build + + cd "xbmc-$pkgver-$_codename" + patch -p1 -i "$srcdir/fix-python-lib-path.patch" + # detect if building in arch chroot + if [[ "$srcdir" =~ ^\/build.* ]]; then + patch -p1 -i "$srcdir/cheat-sse-build.patch" + fi } build() { - cd "$srcdir/xbmc-$pkgver-$_codename" - - # Bootstrapping - MAKEFLAGS=-j1 ./bootstrap - - #./configure --help - #return 1 - - # Configuring XBMC - export PYTHON_VERSION=2 # external python v2 - ./configure --prefix=/usr --exec-prefix=/usr \ - --disable-debug \ - --enable-optimizations \ - --enable-libbluray \ - --enable-shared-libraries \ - --with-lirc-device=/run/lirc/lircd \ - ac_cv_type__Bool=yes - - # Now (finally) build + cd kodi-build + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DENABLE_EVENTCLIENTS=ON \ + -DLIRC_DEVICE=/run/lirc/lircd \ + -Dlibdvdcss_URL="$srcdir/$pkgbase-libdvdcss-$_libdvdcss_commit.tar.gz" \ + -Dlibdvdnav_URL="$srcdir/$pkgbase-libdvdnav-$_libdvdnav_commit.tar.gz" \ + -Dlibdvdread_URL="$srcdir/$pkgbase-libdvdread-$_libdvdread_commit.tar.gz" \ + -DFFMPEG_URL="$srcdir/$pkgbase-ffmpeg-$_ffmpeg_version.tar.gz" \ + ../"xbmc-$pkgver-$_codename"/project/cmake make + make preinstall } +# kodi +# components: kodi, kodi-bin + package_kodi() { pkgdesc="A software media player and entertainment hub for digital media" - - # 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' 'libass' 'libcdio' - 'libjpeg-turbo' 'libmysqlclient' 'libmicrohttpd' 'libssh' - 'libva' 'libxrandr' 'libxslt' 'lzo' 'sdl2' 'smbclient' 'taglib' 'tinyxml' - 'yajl' 'mesa' 'dcadec' 'desktop-file-utils' + 'bluez-libs' 'desktop-file-utils' 'freetype2' 'fribidi' + 'hicolor-icon-theme' 'libass' 'libcdio' 'libjpeg-turbo' 'libmariadbclient' + 'libmicrohttpd' 'libssh' 'libva' 'libvdpau' 'libxrandr' + 'libxslt' 'lzo' 'mesa' 'python2-pillow' 'python2-simplejson' 'smbclient' + 'speex' 'taglib' 'tinyxml' 'xorg-xdpyinfo' 'yajl' ) optdepends=( 'afpfs-ng: Apple shares support' 'bluez: Blutooth support' + 'python2-pybluez: Bluetooth support' 'libnfs: NFS shares support' 'libplist: AirPlay support' 'libcec: Pulse-Eight USB-CEC adapter support' 'lirc: Remote controller support' + 'lsb-release: log distro information in crashlog' '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') conflicts=('xbmc') replaces=('xbmc') - cd "$srcdir/xbmc-$pkgver-$_codename" - # Running make install - make DESTDIR="$pkgdir" install + _components=( + 'kodi' + 'kodi-bin' + ) - # 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 + cd kodi-build + # install eventclients + for _cmp in ${_components[@]}; do + DESTDIR="$pkgdir" /usr/bin/cmake \ + -DCMAKE_INSTALL_COMPONENT="$_cmp" \ + -P cmake_install.cmake + done # Licenses - install -dm755 ${pkgdir}/usr/share/licenses/${pkgname} + install -dm755 "$pkgdir/usr/share/licenses/$pkgname" for licensef in LICENSE.GPL copying.txt; do - mv ${pkgdir}/usr/share/doc/kodi/${licensef} \ - ${pkgdir}/usr/share/licenses/${pkgname} + mv "$pkgdir/usr/share/doc/kodi/$licensef" \ + "$pkgdir/usr/share/licenses/$pkgname" done + # python2 is being used + cd "$pkgdir" + grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done + # LinHES stuff mkdir -p ${pkgdir}/usr/LH/bin install -D -m 0755 ${srcdir}/kodi.sh ${pkgdir}/usr/LH/bin @@ -124,16 +157,81 @@ package_kodi() { install -D -m0744 ${srcdir}/kodi_lib.conf ${pkgdir}/etc/gen_lib_xml.d/kodi_lib.conf } +# kodi-eventclients +# components: kodi-eventclients-common kodi-eventclients-ps3 kodi-eventclients-wiiremote kodi-eventclients-xbmc-send + package_kodi-eventclients() { pkgdesc="Kodi Event Clients" + conflicts=('kodi-eventclients') + optdepends=('python2: most eventclients are implemented in python2') - depends=('cwiid') + _components=( + 'kodi-eventclients-common' + 'kodi-eventclients-ps3' + 'kodi-eventclients-xbmc-send' + ) - cd "$srcdir/xbmc-$pkgver-$_codename" + cd kodi-build + # install eventclients + for _cmp in ${_components[@]}; do + DESTDIR="$pkgdir" /usr/bin/cmake \ + -DCMAKE_INSTALL_COMPONENT="$_cmp" \ + -P cmake_install.cmake + done - make DESTDIR="$pkgdir" eventclients WII_EXTRA_OPTS=-DCWIID_OLD + # python2 is being used + cd "$pkgdir" + grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done } -md5sums=('79358ad5f77f42c5498a9412d5a78dd5' - 'f6adc8e06d7076143ca2ad118126b158' - 'f04d1c89f5108c6aba36cf708a74cc95') +# kodi-tools-texturepacker +# components: kodi-tools-texturepacker + +package_kodi-tools-texturepacker() { + pkgdesc="Kodi Texturepacker tool" + depends=('libpng' 'giflib' 'libjpeg-turbo' 'lzo') + + _components=( + 'kodi-tools-texturepacker' + ) + + cd kodi-build + # install eventclients + for _cmp in ${_components[@]}; do + DESTDIR="$pkgdir" /usr/bin/cmake \ + -DCMAKE_INSTALL_COMPONENT="$_cmp" \ + -P cmake_install.cmake + done +} + +# kodi-dev +# components: kodi-addon-dev kodi-audio-dev kodi-eventclients-dev kodi-game-dev kodi-inputstream-dev kodi-peripheral-dev kodi-pvr-dev kodi-screensaver-dev kodi-visualization-dev + +package_kodi-dev() { + pkgdesc="Kodi dev files" + depends=('kodi') + + _components=( + 'kodi-addon-dev' + 'kodi-audio-dev' + 'kodi-eventclients-dev' + 'kodi-game-dev' + 'kodi-inputstream-dev' + 'kodi-peripheral-dev' + 'kodi-pvr-dev' + 'kodi-screensaver-dev' + 'kodi-visualization-dev' + ) + + cd kodi-build + # install eventclients + for _cmp in ${_components[@]}; do + DESTDIR="$pkgdir" /usr/bin/cmake \ + -DCMAKE_INSTALL_COMPONENT="$_cmp" \ + -P cmake_install.cmake + done + + # python2 is being used + cd "$pkgdir" + grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done +} |