From 13f6601b599d575f4f43e9620e1b174f9c10b757 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gerhard=20Br=C3=A4unlich?= Date: Fri, 23 Sep 2016 12:07:23 +0200 Subject: [PATCH] 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 --- media-tv/kodi/kodi-16.0.ebuild | 24 +++++++++++++++++++++++- media-tv/kodi/kodi-16.1.ebuild | 24 +++++++++++++++++++++++- media-tv/kodi/kodi-9999.ebuild | 24 +++++++++++++++++++++++- 3 files changed, 69 insertions(+), 3 deletions(-) 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 -- 2.26.2