From: Gerhard Bräunlich Date: Fri, 23 Sep 2016 10:07:23 +0000 (+0200) Subject: media-tv/kodi: Adding cross-compilation support X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=13f6601b599d575f4f43e9620e1b174f9c10b757;p=gentoo.git media-tv/kodi: Adding cross-compilation support Gentoo-bugs: https://bugs.gentoo.org/show_bug.cgi?id=560196 Package-Manager: portage-2.2.28 Closes: https://github.com/gentoo/gentoo/pull/2392 Signed-off-by: David Seifert --- diff --git a/media-tv/kodi/kodi-16.0.ebuild b/media-tv/kodi/kodi-16.0.ebuild index 47aac929ac75..faa7ec2919b6 100644 --- a/media-tv/kodi/kodi-16.0.ebuild +++ b/media-tv/kodi/kodi-16.0.ebuild @@ -178,7 +178,29 @@ src_prepare() { multijob_finish elibtoolize - if [[ ${PV} == "9999" ]] || use java ; then #558798 + # Cross-compiler support + # We need JsonSchemaBuilder and TexturePacker binaries for the host system + # Later we need libsquish for the target system + if tc-is-cross-compiler ; then + mkdir "${WORKDIR}"/${CBUILD} || die + pushd "${WORKDIR}"/${CBUILD} >/dev/null || die + einfo "Building host tools" + cp -a "$S"/{tools,xbmc} ./ || die + local tools=( JsonSchemaBuilder ) + use texturepacker && tools+=( TexturePacker ) + for tool in "${tools[@]}" ; do + tc-env_build emake -C tools/depends/native/$tool + mkdir "$S"/tools/depends/native/$tool/bin || die + ln -s "${WORKDIR}"/${CBUILD}/tools/depends/native/$tool/bin/$tool "$S"/tools/depends/native/$tool/bin/$tool || die + done + popd >/dev/null || die + + emake -f codegenerator.mk + + # Binary kodi.bin links against libsquish, + # so we need libsquish compiled for the target system + emake -C tools/depends/native/libsquish-native/ CXX=$(tc-getCXX) + elif [[ ${PV} == "9999" ]] || use java ; then #558798 tc-env_build emake -f codegenerator.mk fi diff --git a/media-tv/kodi/kodi-16.1.ebuild b/media-tv/kodi/kodi-16.1.ebuild index 0195f28f329f..0f9bb40de86d 100644 --- a/media-tv/kodi/kodi-16.1.ebuild +++ b/media-tv/kodi/kodi-16.1.ebuild @@ -182,7 +182,29 @@ src_prepare() { multijob_finish elibtoolize - if [[ ${PV} == "9999" ]] || use java ; then #558798 + # Cross-compiler support + # We need JsonSchemaBuilder and TexturePacker binaries for the host system + # Later we need libsquish for the target system + if tc-is-cross-compiler ; then + mkdir "${WORKDIR}"/${CBUILD} || die + pushd "${WORKDIR}"/${CBUILD} >/dev/null || die + einfo "Building host tools" + cp -a "$S"/{tools,xbmc} ./ || die + local tools=( JsonSchemaBuilder ) + use texturepacker && tools+=( TexturePacker ) + for tool in "${tools[@]}" ; do + tc-env_build emake -C tools/depends/native/$tool + mkdir "$S"/tools/depends/native/$tool/bin || die + ln -s "${WORKDIR}"/${CBUILD}/tools/depends/native/$tool/bin/$tool "$S"/tools/depends/native/$tool/bin/$tool || die + done + popd >/dev/null || die + + emake -f codegenerator.mk + + # Binary kodi.bin links against libsquish, + # so we need libsquish compiled for the target system + emake -C tools/depends/native/libsquish-native/ CXX=$(tc-getCXX) + elif [[ ${PV} == "9999" ]] || use java ; then #558798 tc-env_build emake -f codegenerator.mk fi diff --git a/media-tv/kodi/kodi-9999.ebuild b/media-tv/kodi/kodi-9999.ebuild index 58bc54227394..462bb8b6d630 100644 --- a/media-tv/kodi/kodi-9999.ebuild +++ b/media-tv/kodi/kodi-9999.ebuild @@ -183,7 +183,29 @@ src_prepare() { multijob_finish elibtoolize - if [[ ${PV} == "9999" ]] || use java ; then #558798 + # Cross-compiler support + # We need JsonSchemaBuilder and TexturePacker binaries for the host system + # Later we need libsquish for the target system + if tc-is-cross-compiler ; then + mkdir "${WORKDIR}"/${CBUILD} || die + pushd "${WORKDIR}"/${CBUILD} >/dev/null || die + einfo "Building host tools" + cp -a "$S"/{tools,xbmc} ./ || die + local tools=( JsonSchemaBuilder ) + use texturepacker && tools+=( TexturePacker ) + for tool in "${tools[@]}" ; do + tc-env_build emake -C tools/depends/native/$tool + mkdir "$S"/tools/depends/native/$tool/bin || die + ln -s "${WORKDIR}"/${CBUILD}/tools/depends/native/$tool/bin/$tool "$S"/tools/depends/native/$tool/bin/$tool || die + done + popd >/dev/null || die + + emake -f codegenerator.mk + + # Binary kodi.bin links against libsquish, + # so we need libsquish compiled for the target system + emake -C tools/depends/native/libsquish-native/ CXX=$(tc-getCXX) + elif [[ ${PV} == "9999" ]] || use java ; then #558798 tc-env_build emake -f codegenerator.mk fi