# Contributor: Carlo Landmeter # Maintainer: Natanael Copa global pkgname := 'kodi' global pkgver := '17.4' global _realname := 'Krypton' global pkgrel := '0' global pkgdesc := '"A software media player and entertainment hub for digital media'" global url := '"http://kodi.tv'" global arch := '"x86 x86_64'" global license := '"GPL'" global depends := '"python2 hicolor-icon-theme xdpyinfo unrar mesa-demos curl py-pillow py-bluez py-simplejson'" global depends_dev := '"gettext-dev boost-dev mesa-dev glew-dev glu-dev mariadb-dev libass-dev libogg-dev libvorbis-dev libmodplug-dev curl-dev flac-dev libgcrypt-dev bzip2-dev tiff-dev lzo-dev yajl-dev bluez-dev tinyxml-dev fribidi-dev sqlite-dev libpng-dev libcdio-dev pcre-dev freetype-dev taglib-dev jasper-dev alsa-lib-dev dbus-dev sdl-dev sdl_image-dev lame-dev libmicrohttpd-dev libbluray-dev avahi-dev libxrandr-dev libxt-dev libxmu-dev samba-dev gawk libssh-dev libva-dev libnfs-dev yasm-dev libmpeg2-dev libmad-dev libsamplerate-dev rtmpdump-dev libjpeg-turbo-dev eudev-dev libcap-dev udisks2-dev faac-dev gnutls-dev libxslt-dev libplist-dev libshairport-dev ffmpeg-dev afpfs-ng-dev libcec-dev x264-dev bsd-compat-headers curl-dev python2-dev dcadec-dev libdvdcss-dev'" global makedepends := ""$depends_dev automake autoconf m4 libtool swig findutils openjdk8-jre-base boost-thread zip gperf cmake coreutils nasm tar git"" global subpackages := ""$pkgname-dev $pkgname-doc $pkgname-dbg"" global install := ''"" global replaces := '"xbmc'" global options := '"ldpath-recursive'" global source := ""https://github.com/xbmc/xbmc/archive/$pkgver-$_realname.tar.gz fix-musl.patch fix-fileemu.patch fortify-source-fix.patch remove-filewrap.patch add-missing-includes.patch set-default-stacksize.patch "" global builddir := ""$srcdir/xbmc-$pkgver-$_realname"" proc prepare { var i = '' cd $builddir for i in [$source] { matchstr $i { *.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1} } } env MAKEFLAGS="-j1" ./bootstrap || return 1 mkdir -p crossguid make -j1 -C tools/depends/target/crossguid PREFIX="$PWD"/crossguid } proc build { cd $builddir env LDFLAGS="$LDFLAGS -L$PWD/crossguid/lib" \ CXXFLAGS="$CXXFLAGS -I$PWD/crossguid/include" \ ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --disable-non-free \ --disable-debug \ --with-ffmpeg=shared \ --enable-static=no \ --enable-libbluray \ --enable-external-libraries \ || return 1 make || return 1 } proc package { cd $builddir make DESTDIR="$pkgdir" install || return 1 } global sha512sums := '"5cc5707b84a566d5a130c10e1d03ec0dfcf4349d1f4671ad31f088a867407ab1eb1bcc22277ec8c07da867551130356e8d0c4bfe32cb359aa05c617fe0ecb5ef 17.4-Krypton.tar.gz f225073ca75647581463094c0a9d1dd1fa3e1a58353292e1c99da30eb6f97026f4647853da2bbdc7777c6c1b13a16b368b09c93f5d4c1be13f8a11b4bbfbabbf fix-musl.patch 7dea044f77d9a38a4bccc9d542ba62d0146f2bf60f92999ddada1a4fc020b88e054c7f047ba9b8b21639889b31c3f117308f38aa50fab759f941cc014cb0e69d fix-fileemu.patch 5e972e6f6ad13f5dc8ac5e9d593171988e0cc93879178aa7621af44d41b89b5b86429af4d0c2e6516b626d042f247bcf0b1f957f647138a03ce73c5c7b3311b9 fortify-source-fix.patch 118a4e10ac5abdd9b6cfc87ad1b91cf03b3641023337571250beb5125c2c830e678eced1e42703253d66af61ec9fe3ce6c44cf7c0012d457f9bebc0ddfe992d2 remove-filewrap.patch 378a0e8fd9676dd76cfb30d62085b953625dd0185e2673de2331fc7ae0802dae4f56d0b74e878e4d313942fda8831e9669bff284dbe974db5ad16fe07af884d6 add-missing-includes.patch 3fd97e9fa22e59b3cd30fdad19474e177a9d062598765fa8ba4955f1da4e10581ff1463dd0794d3ee3cefebf753007a4d445b2bc47a257574d3927c1408b8876 set-default-stacksize.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(kodi)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(17.4)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_realname) op:Equal rhs:{(Krypton)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A software media player and entertainment hub for digital media"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:url) op:Equal rhs:{(DQ ("http://kodi.tv"))} spids:[23])] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ ("x86 x86_64"))} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: { (DQ ("python2 hicolor-icon-theme xdpyinfo unrar mesa-demos curl py-pillow\n") ("\tpy-bluez py-simplejson") ) } spids: [38] ) ] spids: [38] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends_dev) op: Equal rhs: { (DQ ("gettext-dev boost-dev mesa-dev glew-dev glu-dev mariadb-dev\n") ("\tlibass-dev libogg-dev libvorbis-dev libmodplug-dev curl-dev flac-dev\n") ("\tlibgcrypt-dev bzip2-dev tiff-dev lzo-dev yajl-dev bluez-dev tinyxml-dev\n") ("\tfribidi-dev sqlite-dev libpng-dev libcdio-dev pcre-dev freetype-dev\n") ("\ttaglib-dev jasper-dev alsa-lib-dev dbus-dev sdl-dev sdl_image-dev\n") ("\tlame-dev libmicrohttpd-dev libbluray-dev avahi-dev libxrandr-dev\n") ("\tlibxt-dev libxmu-dev samba-dev gawk libssh-dev libva-dev libnfs-dev\n") ("\tyasm-dev libmpeg2-dev libmad-dev libsamplerate-dev rtmpdump-dev\n") ("\tlibjpeg-turbo-dev eudev-dev libcap-dev udisks2-dev faac-dev gnutls-dev\n") ("\tlibxslt-dev libplist-dev libshairport-dev ffmpeg-dev afpfs-ng-dev\n") ("\tlibcec-dev x264-dev bsd-compat-headers curl-dev python2-dev dcadec-dev\n") ("\tlibdvdcss-dev") ) } spids: [44] ) ] spids: [44] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ($ VSub_Name "$depends_dev") (" automake autoconf m4 libtool swig findutils\n") ("\topenjdk8-jre-base boost-thread zip gperf cmake coreutils nasm tar\n") ("\tgit") ) } spids: [60] ) ] spids: [60] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") (-dbg) ) } spids: [68] ) ] spids: [68] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[78])] spids: [78] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:replaces) op:Equal rhs:{(DQ (xbmc))} spids:[82])] spids: [82] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: {(DQ (ldpath-recursive))} spids: [87] ) ] spids: [87] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("https://github.com/xbmc/xbmc/archive/") ($ VSub_Name "$pkgver") (-) ($ VSub_Name "$_realname") (".tar.gz\n") ("\tfix-musl.patch\n") ("\tfix-fileemu.patch\n") ("\tfortify-source-fix.patch\n") ("\tremove-filewrap.patch\n") ("\tadd-missing-includes.patch\n") ("\tset-default-stacksize.patch\n") ("\t") ) } spids: [92] ) ] spids: [92] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: { (DQ ($ VSub_Name "$srcdir") (/xbmc-) ($ VSub_Name "$pkgver") (-) ($ VSub_Name "$_realname")) } spids: [109] ) ] spids: [109] ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[128])] spids: [126] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (ForEach iter_name: i iter_words: [{($ VSub_Name "$source")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$i")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.patch)}] action: [ (Sentence child: (C {(msg)} {($ VSub_Name "$i")}) terminator: ) (AndOr children: [ (C {(patch)} {(-p1)} {(-i)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [157 159 183 -1] ) ] spids: [150 154 186] ) ] spids: [147 189] ) spids: [143 145] ) (AndOr children: [ (SimpleCommand words: [{(./bootstrap)}] more_env: [(env_pair name:MAKEFLAGS val:{(DQ (-j1))} spids:[192])] ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mkdir)} {(-p)} {(crossguid)}) (C {(make)} {(-j1)} {(-C)} {(tools/depends/target/crossguid)} {(Lit_VarLike "PREFIX=") (DQ ($ VSub_Name "$PWD")) (/crossguid)} ) ] spids: [123] ) spids: [119 122] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (SimpleCommand words: [ {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)} {(--sysconfdir) (Lit_Other "=") (/etc)} {(--mandir) (Lit_Other "=") (/usr/share/man)} {(--infodir) (Lit_Other "=") (/usr/share/info)} {(--localstatedir) (Lit_Other "=") (/var)} {(--disable-non-free)} {(--disable-debug)} {(--with-ffmpeg) (Lit_Other "=") (shared)} {(--enable-static) (Lit_Other "=") (no)} {(--enable-libbluray)} {(--enable-external-libraries)} ] more_env: [ (env_pair name: LDFLAGS val: {(DQ ($ VSub_Name "$LDFLAGS") (" -L") ($ VSub_Name "$PWD") (/crossguid/lib))} spids: [244] ) (env_pair name: CXXFLAGS val: { (DQ ($ VSub_Name "$CXXFLAGS") (" -I") ($ VSub_Name "$PWD") (/crossguid/include) ) } spids: [254] ) ] ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [(C {(make)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) ] spids: [234] ) spids: [230 233] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [360] ) spids: [356 359] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "5cc5707b84a566d5a130c10e1d03ec0dfcf4349d1f4671ad31f088a867407ab1eb1bcc22277ec8c07da867551130356e8d0c4bfe32cb359aa05c617fe0ecb5ef 17.4-Krypton.tar.gz\n" ) ( "f225073ca75647581463094c0a9d1dd1fa3e1a58353292e1c99da30eb6f97026f4647853da2bbdc7777c6c1b13a16b368b09c93f5d4c1be13f8a11b4bbfbabbf fix-musl.patch\n" ) ( "7dea044f77d9a38a4bccc9d542ba62d0146f2bf60f92999ddada1a4fc020b88e054c7f047ba9b8b21639889b31c3f117308f38aa50fab759f941cc014cb0e69d fix-fileemu.patch\n" ) ( "5e972e6f6ad13f5dc8ac5e9d593171988e0cc93879178aa7621af44d41b89b5b86429af4d0c2e6516b626d042f247bcf0b1f957f647138a03ce73c5c7b3311b9 fortify-source-fix.patch\n" ) ( "118a4e10ac5abdd9b6cfc87ad1b91cf03b3641023337571250beb5125c2c830e678eced1e42703253d66af61ec9fe3ce6c44cf7c0012d457f9bebc0ddfe992d2 remove-filewrap.patch\n" ) ( "378a0e8fd9676dd76cfb30d62085b953625dd0185e2673de2331fc7ae0802dae4f56d0b74e878e4d313942fda8831e9669bff284dbe974db5ad16fe07af884d6 add-missing-includes.patch\n" ) ( "3fd97e9fa22e59b3cd30fdad19474e177a9d062598765fa8ba4955f1da4e10581ff1463dd0794d3ee3cefebf753007a4d445b2bc47a257574d3927c1408b8876 set-default-stacksize.patch" ) ) } spids: [388] ) ] spids: [388] ) ] )