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
 

Reply via email to