commit: 13f6601b599d575f4f43e9620e1b174f9c10b757 Author: Gerhard Bräunlich <wippbox <AT> gmx <DOT> net> AuthorDate: Fri Sep 23 10:07:23 2016 +0000 Commit: David Seifert <soap <AT> gentoo <DOT> org> CommitDate: Thu Nov 17 07:35:45 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13f6601b
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 <soap <AT> gentoo.org> 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 47aac92..faa7ec2 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 0195f28..0f9bb40 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 58bc542..462bb8b 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