--- /usr/portage/media-tv/kodi/kodi-15.1.ebuild 2015-09-11 17:01:02.000000000 +0200 +++ kodi-15.1.ebuild 2015-10-04 22:04:23.720936965 +0200 @@ -9,7 +9,7 @@ PYTHON_COMPAT=( python2_7 ) PYTHON_REQ_USE="sqlite" -inherit eutils linux-info python-single-r1 multiprocessing autotools +inherit eutils linux-info python-single-r1 multiprocessing autotools flag-o-matic toolchain-funcs CODENAME="Isengard" case ${PV} in @@ -34,7 +34,7 @@ LICENSE="GPL-2" SLOT="0" -IUSE="airplay alsa avahi bluetooth bluray caps cec css dbus debug +fishbmc gles goom java joystick midi mysql nfs +opengl profile +projectm pulseaudio +rsxs rtmp +samba sftp +spectrum test texturepacker udisks upnp upower +usb vaapi vdpau +waveform webserver +X" +IUSE="airplay alsa avahi bluetooth bluray caps cec css dbus debug +fishbmc gles goom java joystick midi mysql nfs +opengl profile +projectm pulseaudio -raspberry-pi +rsxs rtmp +samba sftp +spectrum test texturepacker udisks upnp upower +usb vaapi vdpau +waveform webserver +X" REQUIRED_USE=" rsxs? ( X ) udisks? ( dbus ) @@ -117,7 +117,9 @@ x11-libs/libXinerama x11-libs/libXrandr x11-libs/libXrender - )" + ) + raspberry-pi? ( >media-libs/raspberrypi-userland-0_pre20141006 ) + texturepacker? ( media-libs/giflib )" RDEPEND="${COMMON_DEPEND} !media-tv/xbmc udisks? ( sys-fs/udisks:0 ) @@ -140,6 +142,11 @@ In some cases Kodi needs to access multicast addresses. Please consider enabling IP_MULTICAST under Networking options. " +pkg_config() { + if use raspberry-pi; then + elog "Rember to set \"eselect opengl set raspberrypi\" if you want to run kodi without X" + fi +} pkg_setup() { check_extra_config @@ -190,6 +197,29 @@ # Tweak autotool timestamps to avoid regeneration find . -type f -exec touch -r configure {} + + + #libsquish is needed for packing textures on the build host and for unpacking on target host, + # but is not compiled when crosscompiling (if crosscompile != yes) + if tc-is-cross-compiler; then + if use texturepacker; then + #for the build host + + #squish + cp -a tools/depends/native/libsquish-native tools/depends/native/libsquish-native-build || die + CFLAGS="-O2 -pipe" CXXFLAGS=$CFLAGS make -C tools/depends/native/libsquish-native-build || die + + #texturepacker + CFLAGS="-O2 -pipe" CXXFLAGS=$CFLAGS \ + SQUISH_LIBS="-L${S}/tools/depends/native/libsquish-native-build/squish-install/lib -lsquish" \ + SQUISH_CFLAGS="-I${S}/tools/depends/native/libsquish-native-build/squish-install/include" \ + make -C tools/depends/native/TexturePacker || die + make -C tools/depends/native/TexturePacker/native install || die + fi + + #build squish for target host (is needed even without texturepacker (bug?)) + emake -C tools/depends/native/libsquish-native clean #clean from build above + emake -C tools/depends/native/libsquish-native CXX=$(tc-getCXX) + fi } src_configure() { @@ -202,6 +232,23 @@ # Requiring java is asine #434662 [[ ${PV} != "9999" ]] && export ac_cv_path_JAVA_EXE=$(which $(usex java java true)) + if use raspberry-pi; then + append-ldflags -L$ROOT/usr/lib/opengl/raspberrypi/lib || die + append-flags -I$ROOT/usr/lib/opengl/raspberrypi/include || die + append-flags -I${S}/tools/depends/native/libsquish-native/squish-install/include || die + append-ldflags -L${S}/tools/depends/native/libsquish-native/squish-install/lib || die + append-flags -I$ROOT/usr/include || die + append-flags -I$ROOT/usr/include/python2.7 || die + fi + + #TINYXML_*: override pkg-config-detection: tinyxml doens't ship pkg-config files + #SQUISH_*: pkg-config would fail here without it, alternativly add libsquish-path to PKG_CONFIG_PATH + #PYTHON_*: python-detection in configure is incompatible with cross compilation, so override it here + #TEXTUREPACKER: TexturePacker binary is needed for packing Skins during build + TINYXML_LIBS="-ltinyxml" TINYXML_CFLAGS=" " \ + PYTHON_VERSION="2.7" PYTHON_NOVERSIONCHECK="no-check" PYTHON_LDFLAGS="-L$ROOT/usr/lib -L$ROOT/usr/lib64 -lpython2.7" \ + SQUISH_LIBS="-lsquish" SQUISH_CFLAGS=" " \ + TEXTUREPACKER="${S}/tools/depends/native/TexturePacker/bin/TexturePacker" \ econf \ --docdir=/usr/share/doc/${PF} \ --disable-ccache \ @@ -227,6 +274,8 @@ $(use_enable profile profiling) \ $(use_enable projectm) \ $(use_enable pulseaudio pulse) \ + $(use_with raspberry-pi platform raspberry-pi) \ + $(use_enable raspberry-pi player omxplayer) \ $(use_enable rsxs) \ $(use_enable rtmp) \ $(use_enable samba) \