From: schon Date: Mon, 22 May 2017 02:18:30 +0000 (+1000) Subject: Merge branch 'master' of code.vuplus.com:/opt/repository/openvuplus_3.0 X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_openvuplus_3.0;a=commitdiff_plain;h=c9ed66bf614df579a6c2ce4c30058c02abfac40d;hp=b1d6c2dfb528ce4d528a379fc74d6864d5054674 Merge branch 'master' of code.vuplus.com:/opt/repository/openvuplus_3.0 --- diff --git a/meta-bsp/recipes-graphics/directfb/directfb-1.7.7/disable_linux_input_patch.diff b/meta-bsp/recipes-graphics/directfb/directfb-1.7.7/disable_linux_input_patch.diff new file mode 100644 index 0000000..bd2a8cc --- /dev/null +++ b/meta-bsp/recipes-graphics/directfb/directfb-1.7.7/disable_linux_input_patch.diff @@ -0,0 +1,15 @@ +diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c +index 2d5d8fe..dd419f9 100644 +--- a/inputdrivers/linux_input/linux_input.c ++++ b/inputdrivers/linux_input/linux_input.c +@@ -1911,8 +1911,10 @@ driver_open_device( CoreInputDevice *device, + goto driver_open_device_error; + } + ++if (getenv("DISABLE_LINUX_INPUT") == 0) { + /* start input thread */ + data->thread = direct_thread_create( DTT_INPUT, linux_input_EventThread, data, "Linux Input" ); ++} + + /* set private data pointer */ + *driver_data = data; diff --git a/meta-bsp/recipes-graphics/directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc b/meta-bsp/recipes-graphics/directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc index f65f54b..36564f2 100644 --- a/meta-bsp/recipes-graphics/directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc +++ b/meta-bsp/recipes-graphics/directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc @@ -2,11 +2,12 @@ require directfb-${MACHINE}.inc GFX_FILE = "directfb_1.7-7_gfxdriver_${MACHINE}_${GFXPR}.tar.gz" -PR .= "-vuplus1_${GFXPR}" +PR .= "-vuplus2_${GFXPR}" SRC_URI += " \ file://vuplus-conf.patch \ file://vuplus-prevent-VT.patch \ + file://disable_linux_input_patch.diff \ http://archive.vuplus.com/download/build_support/vuplus/${GFX_FILE};name=gfxdriver \ " diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28.inc b/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28.inc index d6108f6..147559e 100644 --- a/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28.inc +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28.inc @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" PE = "1" KV = "3.14.28" -INC_PR = "r4" +INC_PR = "r5" SRCREV = "" MODULE = "linux-3.14.28" diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vusolo4k/vusolo4k_defconfig b/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vusolo4k/vusolo4k_defconfig index 8d35b09..bb6f6bd 100644 --- a/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vusolo4k/vusolo4k_defconfig +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vusolo4k/vusolo4k_defconfig @@ -2810,56 +2810,70 @@ CONFIG_USB_STORAGE=y # USB port drivers # CONFIG_USB_SERIAL=m -# CONFIG_USB_SERIAL_GENERIC is not set -# CONFIG_USB_SERIAL_SIMPLE is not set -# CONFIG_USB_SERIAL_AIRCABLE is not set -# CONFIG_USB_SERIAL_ARK3116 is not set -# CONFIG_USB_SERIAL_BELKIN is not set -# CONFIG_USB_SERIAL_CH341 is not set -# CONFIG_USB_SERIAL_WHITEHEAT is not set -# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set -# CONFIG_USB_SERIAL_CP210X is not set -# CONFIG_USB_SERIAL_CYPRESS_M8 is not set -# CONFIG_USB_SERIAL_EMPEG is not set -# CONFIG_USB_SERIAL_FTDI_SIO is not set -# CONFIG_USB_SERIAL_VISOR is not set -# CONFIG_USB_SERIAL_IPAQ is not set -# CONFIG_USB_SERIAL_IR is not set -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -# CONFIG_USB_SERIAL_F81232 is not set -# CONFIG_USB_SERIAL_GARMIN is not set -# CONFIG_USB_SERIAL_IPW is not set -# CONFIG_USB_SERIAL_IUU is not set -# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set -# CONFIG_USB_SERIAL_KEYSPAN is not set -# CONFIG_USB_SERIAL_KLSI is not set -# CONFIG_USB_SERIAL_KOBIL_SCT is not set -# CONFIG_USB_SERIAL_MCT_U232 is not set -# CONFIG_USB_SERIAL_METRO is not set -# CONFIG_USB_SERIAL_MOS7720 is not set -# CONFIG_USB_SERIAL_MOS7840 is not set -# CONFIG_USB_SERIAL_MXUPORT is not set -# CONFIG_USB_SERIAL_NAVMAN is not set -# CONFIG_USB_SERIAL_PL2303 is not set -# CONFIG_USB_SERIAL_OTI6858 is not set -# CONFIG_USB_SERIAL_QCAUX is not set -# CONFIG_USB_SERIAL_QUALCOMM is not set -# CONFIG_USB_SERIAL_SPCP8X5 is not set -# CONFIG_USB_SERIAL_SAFE is not set -# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set -# CONFIG_USB_SERIAL_SYMBOL is not set -# CONFIG_USB_SERIAL_TI is not set -# CONFIG_USB_SERIAL_CYBERJACK is not set -# CONFIG_USB_SERIAL_XIRCOM is not set -# CONFIG_USB_SERIAL_OPTION is not set -# CONFIG_USB_SERIAL_OMNINET is not set -# CONFIG_USB_SERIAL_OPTICON is not set -# CONFIG_USB_SERIAL_XSENS_MT is not set -# CONFIG_USB_SERIAL_WISHBONE is not set -# CONFIG_USB_SERIAL_ZTE is not set -# CONFIG_USB_SERIAL_SSU100 is not set -# CONFIG_USB_SERIAL_QT2 is not set +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_ZTE=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_QT2=m # CONFIG_USB_SERIAL_DEBUG is not set # diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vuultimo4k/vuultimo4k_defconfig b/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vuultimo4k/vuultimo4k_defconfig index 77d56b4..13e015d 100644 --- a/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vuultimo4k/vuultimo4k_defconfig +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vuultimo4k/vuultimo4k_defconfig @@ -2821,56 +2821,70 @@ CONFIG_USB_STORAGE=y # USB port drivers # CONFIG_USB_SERIAL=m -# CONFIG_USB_SERIAL_GENERIC is not set -# CONFIG_USB_SERIAL_SIMPLE is not set -# CONFIG_USB_SERIAL_AIRCABLE is not set -# CONFIG_USB_SERIAL_ARK3116 is not set -# CONFIG_USB_SERIAL_BELKIN is not set -# CONFIG_USB_SERIAL_CH341 is not set -# CONFIG_USB_SERIAL_WHITEHEAT is not set -# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set -# CONFIG_USB_SERIAL_CP210X is not set -# CONFIG_USB_SERIAL_CYPRESS_M8 is not set -# CONFIG_USB_SERIAL_EMPEG is not set -# CONFIG_USB_SERIAL_FTDI_SIO is not set -# CONFIG_USB_SERIAL_VISOR is not set -# CONFIG_USB_SERIAL_IPAQ is not set -# CONFIG_USB_SERIAL_IR is not set -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -# CONFIG_USB_SERIAL_F81232 is not set -# CONFIG_USB_SERIAL_GARMIN is not set -# CONFIG_USB_SERIAL_IPW is not set -# CONFIG_USB_SERIAL_IUU is not set -# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set -# CONFIG_USB_SERIAL_KEYSPAN is not set -# CONFIG_USB_SERIAL_KLSI is not set -# CONFIG_USB_SERIAL_KOBIL_SCT is not set -# CONFIG_USB_SERIAL_MCT_U232 is not set -# CONFIG_USB_SERIAL_METRO is not set -# CONFIG_USB_SERIAL_MOS7720 is not set -# CONFIG_USB_SERIAL_MOS7840 is not set -# CONFIG_USB_SERIAL_MXUPORT is not set -# CONFIG_USB_SERIAL_NAVMAN is not set -# CONFIG_USB_SERIAL_PL2303 is not set -# CONFIG_USB_SERIAL_OTI6858 is not set -# CONFIG_USB_SERIAL_QCAUX is not set -# CONFIG_USB_SERIAL_QUALCOMM is not set -# CONFIG_USB_SERIAL_SPCP8X5 is not set -# CONFIG_USB_SERIAL_SAFE is not set -# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set -# CONFIG_USB_SERIAL_SYMBOL is not set -# CONFIG_USB_SERIAL_TI is not set -# CONFIG_USB_SERIAL_CYBERJACK is not set -# CONFIG_USB_SERIAL_XIRCOM is not set -# CONFIG_USB_SERIAL_OPTION is not set -# CONFIG_USB_SERIAL_OMNINET is not set -# CONFIG_USB_SERIAL_OPTICON is not set -# CONFIG_USB_SERIAL_XSENS_MT is not set -# CONFIG_USB_SERIAL_WISHBONE is not set -# CONFIG_USB_SERIAL_ZTE is not set -# CONFIG_USB_SERIAL_SSU100 is not set -# CONFIG_USB_SERIAL_QT2 is not set +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_ZTE=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_QT2=m # CONFIG_USB_SERIAL_DEBUG is not set # @@ -3260,11 +3274,6 @@ CONFIG_JFFS2_RTIME=y # CONFIG_LOGFS is not set # CONFIG_CRAMFS is not set # CONFIG_SQUASHFS is not set -# CONFIG_SQUASHFS_FILE_CACHE is not set -# CONFIG_SQUASHFS_FILE_DIRECT is not set -# CONFIG_SQUASHFS_DECOMP_SINGLE is not set -# CONFIG_SQUASHFS_DECOMP_MULTI is not set -# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set # CONFIG_VXFS_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_OMFS_FS is not set diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vuuno4k/vuuno4k_defconfig b/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vuuno4k/vuuno4k_defconfig index 19eef6c..c7f5c4b 100644 --- a/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vuuno4k/vuuno4k_defconfig +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-3.14.28/vuuno4k/vuuno4k_defconfig @@ -2821,56 +2821,70 @@ CONFIG_USB_STORAGE=y # USB port drivers # CONFIG_USB_SERIAL=m -# CONFIG_USB_SERIAL_GENERIC is not set -# CONFIG_USB_SERIAL_SIMPLE is not set -# CONFIG_USB_SERIAL_AIRCABLE is not set -# CONFIG_USB_SERIAL_ARK3116 is not set -# CONFIG_USB_SERIAL_BELKIN is not set -# CONFIG_USB_SERIAL_CH341 is not set -# CONFIG_USB_SERIAL_WHITEHEAT is not set -# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set -# CONFIG_USB_SERIAL_CP210X is not set -# CONFIG_USB_SERIAL_CYPRESS_M8 is not set -# CONFIG_USB_SERIAL_EMPEG is not set -# CONFIG_USB_SERIAL_FTDI_SIO is not set -# CONFIG_USB_SERIAL_VISOR is not set -# CONFIG_USB_SERIAL_IPAQ is not set -# CONFIG_USB_SERIAL_IR is not set -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -# CONFIG_USB_SERIAL_F81232 is not set -# CONFIG_USB_SERIAL_GARMIN is not set -# CONFIG_USB_SERIAL_IPW is not set -# CONFIG_USB_SERIAL_IUU is not set -# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set -# CONFIG_USB_SERIAL_KEYSPAN is not set -# CONFIG_USB_SERIAL_KLSI is not set -# CONFIG_USB_SERIAL_KOBIL_SCT is not set -# CONFIG_USB_SERIAL_MCT_U232 is not set -# CONFIG_USB_SERIAL_METRO is not set -# CONFIG_USB_SERIAL_MOS7720 is not set -# CONFIG_USB_SERIAL_MOS7840 is not set -# CONFIG_USB_SERIAL_MXUPORT is not set -# CONFIG_USB_SERIAL_NAVMAN is not set -# CONFIG_USB_SERIAL_PL2303 is not set -# CONFIG_USB_SERIAL_OTI6858 is not set -# CONFIG_USB_SERIAL_QCAUX is not set -# CONFIG_USB_SERIAL_QUALCOMM is not set -# CONFIG_USB_SERIAL_SPCP8X5 is not set -# CONFIG_USB_SERIAL_SAFE is not set -# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set -# CONFIG_USB_SERIAL_SYMBOL is not set -# CONFIG_USB_SERIAL_TI is not set -# CONFIG_USB_SERIAL_CYBERJACK is not set -# CONFIG_USB_SERIAL_XIRCOM is not set -# CONFIG_USB_SERIAL_OPTION is not set -# CONFIG_USB_SERIAL_OMNINET is not set -# CONFIG_USB_SERIAL_OPTICON is not set -# CONFIG_USB_SERIAL_XSENS_MT is not set -# CONFIG_USB_SERIAL_WISHBONE is not set -# CONFIG_USB_SERIAL_ZTE is not set -# CONFIG_USB_SERIAL_SSU100 is not set -# CONFIG_USB_SERIAL_QT2 is not set +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_ZTE=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_QT2=m # CONFIG_USB_SERIAL_DEBUG is not set # @@ -3260,11 +3274,6 @@ CONFIG_JFFS2_RTIME=y # CONFIG_LOGFS is not set # CONFIG_CRAMFS is not set # CONFIG_SQUASHFS is not set -# CONFIG_SQUASHFS_FILE_CACHE is not set -# CONFIG_SQUASHFS_FILE_DIRECT is not set -# CONFIG_SQUASHFS_DECOMP_SINGLE is not set -# CONFIG_SQUASHFS_DECOMP_MULTI is not set -# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set # CONFIG_VXFS_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_OMFS_FS is not set diff --git a/meta-bsp/recipes-multimedia/kodi/files/xbmc-17.0-vuplus-patch.diff b/meta-bsp/recipes-multimedia/kodi/files/xbmc-17.0-vuplus-patch.diff new file mode 100644 index 0000000..ad055a1 --- /dev/null +++ b/meta-bsp/recipes-multimedia/kodi/files/xbmc-17.0-vuplus-patch.diff @@ -0,0 +1,1174 @@ +diff --git a/.gitignore b/.gitignore +index c0631de..8392f6b 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -371,6 +371,7 @@ lib/cpluff/stamp-h1 + + # /tools/Linux/ + /tools/Linux/kodi.sh ++/tools/Linux/kodi.run + /tools/Linux/kodi-standalone.sh + /tools/Linux/kodi-xsession.desktop + +diff --git a/Makefile.in b/Makefile.in +index 0d70e9b..a6ee74b 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -237,7 +237,7 @@ INCLUDES=$(sort @INCLUDES@) + + CLEAN_FILES=@APP_NAME_LC@.bin @APP_NAME_LC@-xrandr lib@APP_NAME_LC@.so + +-DISTCLEAN_FILES=config.h config.log config.status tools/Linux/kodi.sh \ ++DISTCLEAN_FILES=config.h config.log config.status tools/Linux/kodi.sh tools/Linux/kodi.run \ + tools/Linux/kodi-standalone.sh autom4te.cache config.h.in~ \ + system/libcpluff-@ARCH@.so + +@@ -273,9 +273,12 @@ CHECK_LIBS = xbmc/addons/test/addonsTest.a \ + xbmc/video/test/videoTest.a \ + xbmc/threads/test/threadTest.a \ + xbmc/interfaces/python/test/pythonSwigTest.a \ +- xbmc/cores/AudioEngine/Sinks/test/AESinkTest.a \ + xbmc/test/xbmc-test.a + ++ifneq (@VUPLUS_COMPILE@,yes) ++CHECK_LIBS += xbmc/cores/AudioEngine/Sinks/test/AESinkTest.a ++endif ++ + ifeq (@HAVE_SSE4@,1) + LIBSSE4+=sse4 + sse4 : force +@@ -407,6 +410,10 @@ FFMPEGOBJS = @FFMPEG_LIBDIR@/libavcodec.a \ + DYNOBJSXBMC+= $(FFMPEGOBJS) + LIBS+= @GNUTLS_ALL_LIBS@ + ++ifeq (@VUPLUS_COMPILE@,yes) ++LIBS+= -lKodiGLESPL -ldvb_base -lnxpl -ldvb_client ++endif ++ + $(FFMPEGOBJS): dvdpcodecs + endif + +@@ -522,6 +529,9 @@ install-scripts: + @install -d $(DESTDIR)$(datarootdir)/xsessions + @install -m 0644 tools/Linux/kodi-xsession.desktop $(DESTDIR)$(datarootdir)/xsessions/@APP_NAME_LC@.desktop + @cd $(DESTDIR)$(datarootdir)/xsessions; [ -L xbmc.desktop ] || [ -f xbmc.desktop ] || ln -s @APP_NAME_LC@.desktop xbmc.desktop ++ @install -d $(DESTDIR)$(libdir) ++ @install -d $(DESTDIR)$(libdir)/@APP_NAME_LC@ ++ @install tools/Linux/@APP_NAME_LC@.run $(DESTDIR)$(libdir)/@APP_NAME_LC@/@APP_NAME_LC@.run + + install-datas: install-scripts + @echo "Copying support and legal files..." +diff --git a/addons/skin.estouchy/xml/Home.xml b/addons/skin.estouchy/xml/Home.xml +index 971f04b..4d96119 100644 +--- a/addons/skin.estouchy/xml/Home.xml ++++ b/addons/skin.estouchy/xml/Home.xml +@@ -181,7 +181,7 @@ + + + +- Shutdown ++ XBMC.Quit() + icon_button_shutdown.png + + +diff --git a/addons/skin.estuary/xml/Home.xml b/addons/skin.estuary/xml/Home.xml +index 16187cc..89feb5b 100644 +--- a/addons/skin.estuary/xml/Home.xml ++++ b/addons/skin.estuary/xml/Home.xml +@@ -915,7 +915,7 @@ + justify + + +- ++ + + + +diff --git a/configure.ac b/configure.ac +index 0609390..f223baf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -681,6 +681,16 @@ case $use_platform in + use_neon=yes + use_cpu=cortex-a7 + ;; ++ vuplus-arm) ++ target_platform=target_vuplus ++ ARCH="arm" ++ use_arch="arm" ++ ;; ++ vuplus-mips) ++ target_platform=target_vuplus ++ ARCH="mips" ++ use_arch="mips" ++ ;; + esac + + if test "$target_platform" = "target_raspberry_pi" ; then +@@ -696,6 +706,22 @@ if test "$target_platform" = "target_raspberry_pi" ; then + CXXFLAGS="$CXXFLAGS" + fi + ++if test "$target_platform" = "target_vuplus" ; then ++ ffmpeg_target_os=linux ++ use_joystick=no ++ use_gles=yes ++ use_sdl=no ++ use_x11=no ++ use_wayland=no ++ use_wayland=no ++ use_optical_drive=no ++ USE_STATIC_FFMPEG=1 ++ AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer]) ++ VUPLUS_COMPILE=yes ++ CFLAGS="$CFLAGS" ++ CXXFLAGS="$CXXFLAGS" ++fi ++ + if test "$host_vendor" = "apple"; then + use_avahi=no + use_alsa=no +@@ -1056,7 +1082,7 @@ int main() { + )]) + AC_LANG_POP([C++]) + +-if test "${target_platform}" = "target_linux" || test "${target_platform}" = "target_raspberry_pi" || test "${target_platform}" = "target_android"; then ++if test "${target_platform}" = "target_linux" || test "${target_platform}" = "target_raspberry_pi" || test "${target_platform}" = "target_android" || test "${target_platform}" = "target_vuplus"; then + PKG_CHECK_MODULES([UUID], [uuid],, AC_MSG_ERROR(libuuid not found)) + fi + +@@ -1556,7 +1582,21 @@ if test "${USE_STATIC_FFMPEG}" = "1"; then + pkg_cfg_prefix=${SYSROOT} + fi + +- if test "$cross_compiling" != "yes"; then ++ if test "${target_platform}" = "target_vuplus"; then ++ # always build our ffmpeg ++ if test "$use_debug" != "yes"; then ++ FFMPEG_OPTS="-r" ++ fi ++ if test "$use_optimizations" != "yes"; then ++ FFMPEG_OPTS="${FFMPEG_OPTS} --disable-optimizations" ++ fi ++ AC_MSG_NOTICE("FFmpeg installation forced by user - installing our version") ++ CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" NM="$NM" AR="$AR" \ ++ AS="$AS" STRIP="$STRIP" CC="$CC" CXX="$CXX" LD="$CCLD" RANLIB="$RANLIB" \ ++ ${ffmpeg_build}/autobuild.sh ${FFMPEG_OPTS} ${PARALLEL_MAKE} --arch=generic ++ export PKG_CONFIG_PATH="${ffmpeg_build}/ffmpeg-install/lib/pkgconfig:$PKG_CONFIG_PATH" ++ ++ elif test "$cross_compiling" != "yes"; then + if test "$use_debug" != "yes"; then + FFMPEG_OPTS="-r" + fi +@@ -1589,14 +1629,18 @@ if test "${USE_STATIC_FFMPEG}" = "1"; then + if test "$with_ffmpeg" = "yes" || test "$FFMPEG_FOUND" = "false"; then + # ffmpeg not found with pkg-config, lets install it + AC_MSG_NOTICE("Installing FFmpeg") +- CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ${ffmpeg_build}/autobuild.sh ${FFMPEG_OPTS} ++ CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" NM="$NM" AR="$AR" \ ++ AS="$AS" STRIP="$STRIP" CC="$CC" CXX="$CXX" LD="$CCLD" RANLIB="$RANLIB" \ ++ ${ffmpeg_build}/autobuild.sh ${FFMPEG_OPTS} + export PKG_CONFIG_PATH="${ffmpeg_build}/ffmpeg-install/lib/pkgconfig:$PKG_CONFIG_PATH" + fi + + elif test "$with_ffmpeg" = "force"; then + # always build our ffmpeg + AC_MSG_NOTICE("FFmpeg installation forced by user - installing our version") +- CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ${ffmpeg_build}/autobuild.sh ${FFMPEG_OPTS} ++ CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" NM="$NM" AR="$AR" \ ++ AS="$AS" STRIP="$STRIP" CC="$CC" CXX="$CXX" LD="$CCLD" RANLIB="$RANLIB" \ ++ ${ffmpeg_build}/autobuild.sh ${FFMPEG_OPTS} + export PKG_CONFIG_PATH="${ffmpeg_build}/ffmpeg-install/lib/pkgconfig:$PKG_CONFIG_PATH" + + elif test "$with_ffmpeg" != "no"; then +@@ -1609,13 +1653,17 @@ fi + + if test "$FFMPEG_FOUND" != "true"; then + PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES], +- [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"; FFMPEG_FOUND="true"], ++ [FFMPEG_FOUND="true"], + [AC_MSG_ERROR("ffmpeg not found")]) ++ FFMPEG_LIBS=$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --libs libavcodec 2>/dev/null) ++ FFMPEG_CFLAGS=$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --cflags libavcodec 2>/dev/null) ++ INCLUDES="$INCLUDES $FFMPEG_CFLAGS" ++ LIBS="$LIBS $FFMPEG_LIBS" + fi + + if test "${USE_STATIC_FFMPEG}" = "1"; then + # get the libdir for static linking +- FFMPEG_LIBDIR=${pkg_cfg_prefix}$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --static --variable=libdir libavcodec) ++ FFMPEG_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --static --variable=libdir libavcodec) + GNUTLS_ALL_LIBS=$(${PKG_CONFIG} --static --libs-only-l --silence-errors gnutls) + + # check if static libs are available +@@ -2200,6 +2248,7 @@ OUTPUT_FILES="Makefile \ + lib/addons/library.kodi.inputstream/Makefile \ + tools/Linux/kodi.sh \ + tools/Linux/kodi-standalone.sh \ ++ tools/Linux/kodi.run \ + tools/Linux/kodi-xsession.desktop \ + tools/EventClients/Makefile \ + tools/EventClients/Clients/OSXRemote/Makefile \ +@@ -2329,6 +2378,7 @@ AC_SUBST(HAVE_SSE4) + AC_SUBST(USE_MMAL) + AC_SUBST(USE_X11) + AC_SUBST(USE_OPTICAL_DRIVE) ++AC_SUBST(VUPLUS_COMPILE) + + # pushd and popd are not available in other shells besides bash, so implement + # our own pushd/popd functions +diff --git a/lib/libdvd/Makefile.in b/lib/libdvd/Makefile.in +index 5a4508b..11cb139 100644 +--- a/lib/libdvd/Makefile.in ++++ b/lib/libdvd/Makefile.in +@@ -4,6 +4,12 @@ ARCH=@ARCH@ + CC=@CC@ + CXX=@CXX@ + ++ifeq (@VUPLUS_COMPILE@,yes) ++ DVDNAV_A = @abs_top_srcdir@/tools/depends/target/libdvdnav/dvdnav-install/lib/libdvdnav.a ++ DVDREAD_A = @abs_top_srcdir@/tools/depends/target/libdvdread/dvdread-install/lib/libdvdread.a ++ DVDCSS_A = @abs_top_srcdir@/tools/depends/target/libdvdcss/dvdcss-install/lib/libdvdcss.a ++else ++ + ifeq (@CROSS_COMPILING@,yes) + DEPENDS_DIR = $(shell grep "^PREFIX=/" @abs_top_srcdir@/tools/depends/Makefile.include | sed 's/PREFIX=//g') + DVDNAV_A = $(DEPENDS_DIR)/lib/libdvdnav.a +@@ -15,6 +21,8 @@ else + DVDCSS_A = @abs_top_srcdir@/tools/depends/target/libdvdcss/dvdcss-install/lib/libdvdcss.a + endif + ++endif ++ + SYSDIR = @abs_top_srcdir@/system/players/VideoPlayer + SOS = libdvdnav-$(ARCH).so + +diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4 +index d28f263..a51286d 100644 +--- a/m4/xbmc_arch.m4 ++++ b/m4/xbmc_arch.m4 +@@ -80,4 +80,14 @@ fi + if test "$target_platform" = "target_raspberry_pi" ; then + AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_ARMEL -DTARGET_RASPBERRY_PI") + fi ++ ++case $use_platform in ++ vuplus-arm) ++ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_VUPLUS") ++ ;; ++ vuplus-mips) ++ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_VUPLUS -D_MIPSEL") ++ ;; ++esac ++ + ]) +diff --git a/system/playercorefactory.xml b/system/playercorefactory.xml +index be6b721..3e50877 100644 +--- a/system/playercorefactory.xml ++++ b/system/playercorefactory.xml +@@ -8,6 +8,13 @@ + placeholder for MPlayer + + --> ++ ++ xbmc.helper ++ --url="{1}" --owner="$PPID" ++ true ++ true ++ none ++ + + + +@@ -36,5 +43,7 @@ + + + ++ ++ + + +diff --git a/tools/Linux/kodi.run.in b/tools/Linux/kodi.run.in +new file mode 100644 +index 0000000..f1091ca +--- /dev/null ++++ b/tools/Linux/kodi.run.in +@@ -0,0 +1,4 @@ ++#!/bin/sh ++ ++/usr/bin/kodi > /dev/null 2>&1 & ++ +diff --git a/tools/Linux/kodi.sh.in b/tools/Linux/kodi.sh.in +index 9fc75dd..66946fe 100644 +--- a/tools/Linux/kodi.sh.in ++++ b/tools/Linux/kodi.sh.in +@@ -25,7 +25,23 @@ prefix="@prefix@" + exec_prefix="@exec_prefix@" + datarootdir="@datarootdir@" + LIBDIR="@libdir@" +-CRASHLOG_DIR=${CRASHLOG_DIR:-$HOME} ++ ++HDD_MOUNT_POINT="$(grep '/media/hdd' /proc/mounts)" ++if [ "$HDD_MOUNT_POINT" != "" ]; then ++ export HOME="/media/hdd" ++else ++ export HOME="/home/root" ++fi ++ ++export KODI_TEMP="/tmp/kodi" ++CRASHLOG_DIR=${CRASHLOG_DIR:-$KODI_TEMP} ++ ++echo "-----------------+ XBMC ENVIRONMENTS +" ++echo " + CRASHLOG_DIR : "$CRASHLOG_DIR ++echo " + HOME : "$HOME ++echo " + HDD_MOUNT_POINT : "$HDD_MOUNT_POINT ++echo "" ++ + USERDATA_DIR="${HOME}/.${bin_name}" + + +@@ -161,14 +177,14 @@ while [ $(( $LOOP )) = "1" ] + do + LOOP=0 + "$LIBDIR/${bin_name}/${bin_name}.bin" $SAVED_ARGS +- RET=$? +- if [ $(( $RET == 65 )) = "1" ] +- then # User requested to restart app +- LOOP=1 +- elif [ $(( ($RET >= 131 && $RET <= 136) || $RET == 139 )) = "1" ] +- then # Crashed with core dump +- print_crash_report +- fi ++# RET=$? ++# if [ $(( $RET == 65 )) = "1" ] ++# then # User requested to restart app ++# LOOP=1 ++# elif [ $(( ($RET >= 131 && $RET <= 136) || $RET == 139 )) = "1" ] ++# then # Crashed with core dump ++# print_crash_report ++# fi + done + + exit $RET +diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac +index 3626ea5..0da8d18 100644 +--- a/tools/depends/configure.ac ++++ b/tools/depends/configure.ac +@@ -186,6 +186,14 @@ case $host in + #android builds are always cross + cross_compiling="yes" + ;; ++ mipsel-*-linux*) ++ use_cpu=$host_cpu ++ use_toolchain="${use_toolchain:-/usr}" ++ platform_cflags="-Os -fPIC -DPIC" ++ platform_ldflags="-Wl,-rpath-link=$prefix/$deps_dir/lib" ++ platform_cxxflags="$platform_cflags" ++ platform_os="linux" ++ ;; + arm*-*-linux-gnu*|arm*-*-linux-uclibc*) + if test "$use_platform" = "auto"; then + if test "x$use_cpu" = "xauto"; then +diff --git a/tools/depends/native/JsonSchemaBuilder/Makefile b/tools/depends/native/JsonSchemaBuilder/Makefile +index cf5d20b..0bca981 100644 +--- a/tools/depends/native/JsonSchemaBuilder/Makefile ++++ b/tools/depends/native/JsonSchemaBuilder/Makefile +@@ -1,3 +1,7 @@ ++LD=ld ++CC=gcc ++CXX=g++ ++ + ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) + -include ../../Makefile.include + +@@ -21,6 +25,7 @@ APPBIN=$(PREFIX)/bin/JsonSchemaBuilder + + all: .installed-$(PLATFORM) + ++.PHONY:$(PLATFORM) + $(PLATFORM): + -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); cp -a $(SOURCE)/* . +diff --git a/tools/depends/target/ffmpeg/autobuild.sh b/tools/depends/target/ffmpeg/autobuild.sh +index 5c29762..a3e7806 100755 +--- a/tools/depends/target/ffmpeg/autobuild.sh ++++ b/tools/depends/target/ffmpeg/autobuild.sh +@@ -134,6 +134,20 @@ tar --strip-components=1 -xf $MYDIR/${ARCHIVE} + + CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" \ + ./configure --prefix=$FFMPEG_PREFIX \ ++ --bindir="$FFMPEG_PREFIX/bin" \ ++ --libdir="$FFMPEG_PREFIX/lib" \ ++ --incdir="$FFMPEG_PREFIX/include" \ ++ --pkgconfigdir="$FFMPEG_PREFIX/lib/pkgconfig" \ ++ --target-os=linux \ ++ --enable-cross-compile \ ++ --nm="$NM" \ ++ --ar="$AR" \ ++ --as="$AS" \ ++ --strip="$STRIP" \ ++ --cc="$CC" \ ++ --cxx="$CXX" \ ++ --ld="$CCLD" \ ++ --ranlib="$RANLIB" \ + --extra-version="kodi-${VERSION}" \ + --disable-devices \ + --disable-ffplay \ +diff --git a/tools/depends/target/libdvdcss/Makefile b/tools/depends/target/libdvdcss/Makefile +index 518ce2b..6a66382 100644 +--- a/tools/depends/target/libdvdcss/Makefile ++++ b/tools/depends/target/libdvdcss/Makefile +@@ -3,7 +3,7 @@ include DVDCSS-VERSION + DEPS= DVDCSS-VERSION Makefile + + ifeq ($(CROSS_COMPILING), yes) +- DEPS += ../../Makefile.include ++ + else + ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) + PREFIX := $(ROOT_DIR)/dvdcss-install +@@ -19,8 +19,7 @@ RETRIEVE_TOOL := curl -Ls --create-dirs --retry 10 --retry-delay 3 + ARCHIVE_TOOL := tar --strip-components=1 -xf + + # configuration settings +-config = --prefix=$(PREFIX) --disable-shared --enable-static --with-pic +- ++config = --build=$(BUILD_SYS) --host=$(HOST_SYS) --prefix=$(PREFIX) --disable-shared --enable-static --with-pic + CLEAN_FILES=$(ARCHIVE) $(PLATFORM) + + GITREV=$(shell git ls-remote $(BASE_URL) $(VERSION) | awk '{print $$1}') +diff --git a/tools/depends/target/libdvdnav/Makefile b/tools/depends/target/libdvdnav/Makefile +index cd44351..1a27e12 100644 +--- a/tools/depends/target/libdvdnav/Makefile ++++ b/tools/depends/target/libdvdnav/Makefile +@@ -3,11 +3,11 @@ include DVDNAV-VERSION + DEPS = DVDNAV-VERSION Makefile + + # configuration settings +-config = --prefix=$(PREFIX) --disable-shared --enable-static --with-pic ++config = --build=$(BUILD_SYS) --host=$(HOST_SYS) --prefix=$(PREFIX) --disable-shared --enable-static --with-pic + EXTRA_CFLAGS = -D_XBMC -DHAVE_DVDCSS_DVDCSS_H + + ifeq ($(CROSS_COMPILING), yes) +- DEPS += ../../Makefile.include ++ + else + ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) + PREFIX := $(ROOT_DIR)/dvdnav-install +diff --git a/tools/depends/target/libdvdread/Makefile b/tools/depends/target/libdvdread/Makefile +index 3652f1b..4ef12ac 100644 +--- a/tools/depends/target/libdvdread/Makefile ++++ b/tools/depends/target/libdvdread/Makefile +@@ -3,11 +3,11 @@ include DVDREAD-VERSION + DEPS = DVDREAD-VERSION Makefile + + # configuration settings +-config = --prefix=$(PREFIX) --disable-shared --enable-static --with-pic ++config = --build=$(BUILD_SYS) --host=$(HOST_SYS) --prefix=$(PREFIX) --disable-shared --enable-static --with-pic + EXTRA_CFLAGS = -D_XBMC + + ifeq ($(CROSS_COMPILING), yes) +- DEPS += ../../Makefile.include ++ + else + ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) + PREFIX := $(ROOT_DIR)/dvdread-install +diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp +index 2ad960c..7d273ff 100644 +--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp ++++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAESink.cpp +@@ -672,8 +672,11 @@ void CActiveAESink::EnumerateSinkList(bool force) + { + if (!m_sinkInfoList.empty() && !force) + return; +- ++#if defined(TARGET_VUPLUS) ++ unsigned int c_retry = 0; ++#else + unsigned int c_retry = 4; ++#endif + m_sinkInfoList.clear(); + CAESinkFactory::EnumerateEx(m_sinkInfoList); + while(m_sinkInfoList.empty() && c_retry > 0) +diff --git a/xbmc/cores/DllLoader/ldt_keeper.h b/xbmc/cores/DllLoader/ldt_keeper.h +index 8f14576..b0fcf06 100644 +--- a/xbmc/cores/DllLoader/ldt_keeper.h ++++ b/xbmc/cores/DllLoader/ldt_keeper.h +@@ -32,9 +32,14 @@ typedef struct { + int fd; + } ldt_fs_t; + ++ ++#if !defined(__mips__) + void Setup_FS_Segment(void); + ldt_fs_t* Setup_LDT_Keeper(void); + void Restore_LDT_Keeper(ldt_fs_t* ldt_fs); ++#endif ++ ++ + #ifdef __cplusplus + } + #endif +diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/OpenMaxVideo.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/OpenMaxVideo.cpp +index 3d5744b..011316a 100644 +--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/OpenMaxVideo.cpp ++++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/OpenMaxVideo.cpp +@@ -68,8 +68,10 @@ using namespace KODI::MESSAGING; + #define OMX_VC1_DECODER "OMX.Nvidia.vc1.decode" + + // EGL extension functions ++#ifndef EGL_EGLEXT_PROTOTYPES + static PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR; + static PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR; ++#endif + + #if defined(EGL_KHR_reusable_sync) + static PFNEGLCREATESYNCKHRPROC eglCreateSyncKHR; +@@ -77,6 +79,7 @@ static PFNEGLDESTROYSYNCKHRPROC eglDestroySyncKHR; + static PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHR; + #endif + ++#ifndef EGL_EGLEXT_PROTOTYPES + #define GETEXTENSION(type, ext) \ + do \ + { \ +@@ -86,6 +89,7 @@ do \ + CLog::Log(LOGERROR, "%s::%s - ERROR getting proc addr of " #ext "\n", CLASSNAME, __func__); \ + } \ + } while (0); ++#endif + + #define OMX_INIT_STRUCTURE(a) \ + memset(&(a), 0, sizeof(a)); \ +@@ -718,10 +722,12 @@ void OpenMaxDeleteTextures(void *userdata) + EGLDisplay eglDisplay = eglGetCurrentDisplay(); + EGLContext eglContext = eglGetCurrentContext(); + ++#ifndef EGL_EGLEXT_PROTOTYPES + if (!eglDestroyImageKHR) + { + GETEXTENSION(PFNEGLDESTROYIMAGEKHRPROC, eglDestroyImageKHR); + } ++#endif + + DeleteImageInfo *deleteInfo = (DeleteImageInfo*)userdata; + +@@ -784,6 +790,7 @@ OMX_ERRORTYPE COpenMaxVideo::AllocOMXOutputEGLTextures(void) + { + OMX_ERRORTYPE omx_err; + ++#ifndef EGL_EGLEXT_PROTOTYPES + if (!eglCreateImageKHR) + { + GETEXTENSION(PFNEGLCREATEIMAGEKHRPROC, eglCreateImageKHR); +@@ -793,6 +800,7 @@ OMX_ERRORTYPE COpenMaxVideo::AllocOMXOutputEGLTextures(void) + GETEXTENSION(PFNEGLCLIENTWAITSYNCKHRPROC, eglClientWaitSyncKHR); + #endif + } ++#endif + + EGLint attrib = EGL_NONE; + OpenMaxVideoBuffer *egl_buffer; +@@ -1213,7 +1221,9 @@ void OpenMaxVideoBuffer::ReleaseTexture() + // add egl resources to deletion info + //! @todo delete from constructor! + deleteInfo->egl_image = egl_image; ++#if defined(EGL_KHR_reusable_sync) + deleteInfo->egl_sync = eglSync; ++#endif + deleteInfo->texture_id = texture_id; + + if ( g_application.IsCurrentThread() ) +diff --git a/xbmc/filesystem/FileCache.h b/xbmc/filesystem/FileCache.h +index cd3b5c2..082ac33 100644 +--- a/xbmc/filesystem/FileCache.h ++++ b/xbmc/filesystem/FileCache.h +@@ -24,7 +24,6 @@ + #include "threads/CriticalSection.h" + #include "File.h" + #include "threads/Thread.h" +-#include + + namespace XFILE + { +@@ -78,7 +77,7 @@ namespace XFILE + unsigned m_writeRate; + unsigned m_writeRateActual; + int64_t m_forwardCacheSize; +- std::atomic m_fileSize; ++ int64_t m_fileSize; + unsigned int m_flags; + CCriticalSection m_sync; + }; +diff --git a/xbmc/input/InputManager.cpp b/xbmc/input/InputManager.cpp +index 80c89f0..3957144 100644 +--- a/xbmc/input/InputManager.cpp ++++ b/xbmc/input/InputManager.cpp +@@ -511,6 +511,18 @@ bool CInputManager::OnKey(const CKey& key) + useKeyboard = true; + } + } ++#if defined(TARGET_VUPLUS) ++ switch(key.GetVKey()) { ++ case 0x0d: ++ case 0x80: ++ case 0x81: ++ case 0x82: ++ case 0x83: ++ if (iWin == WINDOW_DIALOG_KEYBOARD) ++ useKeyboard = false; ++ break; ++ } ++#endif + if (useKeyboard) + { + // use the virtualkeyboard section of the keymap, and send keyboard-specific or navigation +diff --git a/xbmc/input/linux/LinuxInputDevices.cpp b/xbmc/input/linux/LinuxInputDevices.cpp +index 3875138..e3397d2 100644 +--- a/xbmc/input/linux/LinuxInputDevices.cpp ++++ b/xbmc/input/linux/LinuxInputDevices.cpp +@@ -275,6 +275,27 @@ KeyMap keyMap[] = { + { 378 , XBMCK_RIGHT }, // Green + { 381 , XBMCK_UP }, // Yellow + { 366 , XBMCK_DOWN }, // Blue ++#if defined(TARGET_VUPLUS) ++ { KEY_OK , XBMCK_RETURN }, // Ok ++ { KEY_EXIT , XBMCK_ESCAPE }, // EXIT ++ { 139 , XBMCK_MENU }, // Menu ++ { 358 , XBMCK_e }, // EPG ++ { 370 , XBMCK_l }, // Subtitle ++ { 377 , XBMCK_z }, // TV ++ { 385 , XBMCK_j }, // Radio ++ { 388 , XBMCK_y }, // Teletext ++ { 392 , XBMCK_o }, // Audio ++ { 393 , XBMCK_x }, // Unknown ++ { 398 , XBMCK_F1 }, // Red ++ { 399 , XBMCK_F2 }, // Green ++ { 400 , XBMCK_F3 }, // Yellow ++ { 401 , XBMCK_F4 }, // Blue ++ { 402 , XBMCK_PAGEUP }, // PageUP ++ { 403 , XBMCK_PAGEDOWN }, // PageDown ++ { 407 , XBMCK_MEDIA_NEXT_TRACK }, // Next ++ { 412 , XBMCK_MEDIA_PREV_TRACK }, // Prev ++#endif ++ + }; + + typedef enum +@@ -416,13 +437,14 @@ unsigned short CLinuxInputDevice::KeyboardReadValue(unsigned char table, unsigne + entry.kb_index = index; + entry.kb_value = 0; + ++#if !defined(TARGET_VUPLUS) + if (ioctl(m_vt_fd, KDGKBENT, &entry)) + { + CLog::Log(LOGWARNING, "CLinuxInputDevice::KeyboardReadValue: KDGKBENT (table: %d, index: %d) " + "failed!\n", table, index); + return 0; + } +- ++#endif + return entry.kb_value; + } + +@@ -552,6 +574,15 @@ bool CLinuxInputDevice::KeyEvent(const struct input_event& levt, XBMC_Event& dev + + KeymapEntry entry; + entry.code = code; ++ ++ int keyMapValue; ++#if defined(TARGET_VUPLUS) ++ if (devt.key.keysym.mod & (XBMCKMOD_SHIFT | XBMCKMOD_CAPS)) keyMapValue = entry.shift; ++ else if (devt.key.keysym.mod & XBMCKMOD_ALT) keyMapValue = entry.alt; ++ else if (devt.key.keysym.mod & XBMCKMOD_META) keyMapValue = entry.altShift; ++ else keyMapValue = entry.base; ++ devt.key.keysym.unicode = devt.key.keysym.sym; ++#else + if (GetKeymapEntry(entry)) + { + int keyMapValue; +@@ -569,6 +600,7 @@ bool CLinuxInputDevice::KeyEvent(const struct input_event& levt, XBMC_Event& dev + } + } + } ++#endif + } + + return true; +@@ -857,6 +889,12 @@ XBMC_Event CLinuxInputDevice::ReadEvent() + break; + } + ++#if defined(TARGET_VUPLUS) ++ if (access("/tmp/playing.lock", F_OK) == 0) { ++ break; ++ } ++#endif ++ + //printf("read event readlen = %d device name %s m_fileName %s\n", readlen, m_deviceName, m_fileName.c_str()); + + // sanity check if we realy read the event +@@ -1194,6 +1232,7 @@ bool CLinuxInputDevices::CheckDevice(const char *device) + return false; + } + ++#if !defined(TARGET_VUPLUS) + if (ioctl(fd, EVIOCGRAB, 1) && errno != EINVAL) + { + close(fd); +@@ -1201,6 +1240,7 @@ bool CLinuxInputDevices::CheckDevice(const char *device) + } + + ioctl(fd, EVIOCGRAB, 0); ++#endif + + close(fd); + +@@ -1293,6 +1333,7 @@ bool CLinuxInputDevice::Open() + return false; + } + ++#if !defined(TARGET_VUPLUS) + /* grab device */ + ret = ioctl(fd, EVIOCGRAB, 1); + if (ret && errno != EINVAL) +@@ -1301,6 +1342,7 @@ bool CLinuxInputDevice::Open() + close(fd); + return false; + } ++#endif + + // Set the socket to non-blocking + int opts = 0; +@@ -1327,7 +1369,7 @@ bool CLinuxInputDevice::Open() + + m_fd = fd; + m_vt_fd = -1; +- ++#if !defined(TARGET_VUPLUS) + if (m_deviceMinKeyCode >= 0 && m_deviceMaxKeyCode >= m_deviceMinKeyCode) + { + if (m_vt_fd < 0) +@@ -1339,7 +1381,7 @@ bool CLinuxInputDevice::Open() + if (m_vt_fd < 0) + CLog::Log(LOGWARNING, "no keymap support (requires /dev/tty0 - CONFIG_VT)"); + } +- ++#endif + /* check if the device has LEDs */ + ret = ioctl(fd, EVIOCGBIT(EV_LED, sizeof(ledbit)), ledbit); + if (ret < 0) +@@ -1367,13 +1409,14 @@ bool CLinuxInputDevice::Open() + return true; + + driver_open_device_error: +- ++#if !defined(TARGET_VUPLUS) + ioctl(fd, EVIOCGRAB, 0); + if (m_vt_fd >= 0) + { + close(m_vt_fd); + m_vt_fd = -1; + } ++#endif + close(fd); + m_fd = -1; + +@@ -1442,11 +1485,12 @@ bool CLinuxInputDevice::GetKeymapEntry(KeymapEntry& entry) + */ + void CLinuxInputDevice::Close() + { ++#if !defined(TARGET_VUPLUS) + /* release device */ + ioctl(m_fd, EVIOCGRAB, 0); +- + if (m_vt_fd >= 0) + close(m_vt_fd); ++#endif + + /* close file */ + close(m_fd); +diff --git a/xbmc/platform/xbmc.cpp b/xbmc/platform/xbmc.cpp +index 34e5ea6..52cb33a 100644 +--- a/xbmc/platform/xbmc.cpp ++++ b/xbmc/platform/xbmc.cpp +@@ -117,5 +117,9 @@ extern "C" int XBMC_Run(bool renderGUI, CFileItemList &playlist) + g_RBP.Deinitialize(); + #endif + ++#if defined(TARGET_VUPLUS) ++ system("xbmc.helper --stop"); ++#endif ++ + return status; + } +diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp +index 5e2ebbd..89aecbd 100644 +--- a/xbmc/utils/CPUInfo.cpp ++++ b/xbmc/utils/CPUInfo.cpp +@@ -272,8 +272,11 @@ CCPUInfo::CCPUInfo(void) + m_fProcTemperature = fopen("/sys/class/hwmon/hwmon0/temp1_input", "r"); + if (m_fProcTemperature == NULL) + m_fProcTemperature = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); // On Raspberry PIs +- ++#if defined(TARGET_VUPLUS) ++ m_fCPUFreq = fopen ("/sys/devices/platform/brcmstb/cpu_khz", "r"); ++#else + m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r"); ++#endif + if (!m_fCPUFreq) + { + m_cpuInfoForFreq = true; +@@ -325,6 +328,29 @@ CCPUInfo::CCPUInfo(void) + StringUtils::Trim(m_cores[nCurrId].m_strModel); + } + } ++#if defined(TARGET_VUPLUS) ++ else if (strncmp(buffer, "system type", strlen("system type"))==0) ++ { ++ char *needle = strstr(buffer, ":"); ++ if (needle && strlen(needle)>3) ++ { ++ needle+=2; ++ m_cpuModel = needle; ++ m_cores[nCurrId].m_strModel = m_cpuModel; ++ StringUtils::Trim(m_cores[nCurrId].m_strModel); ++ } ++ } ++ else if (strncmp(buffer, "cpu model", strlen("cpu model"))==0) ++ { ++ char *needle = strstr(buffer, ":"); ++ if (needle && strlen(needle)>3) ++ { ++ needle+=2; ++ m_cores[nCurrId].m_strVendor = needle; ++ StringUtils::Trim(m_cores[nCurrId].m_strVendor); ++ } ++ } ++#endif + else if (strncmp(buffer, "BogoMIPS", strlen("BogoMIPS"))==0) + { + char *needle = strstr(buffer, ":"); +diff --git a/xbmc/utils/posix/PosixInterfaceForCLog.cpp b/xbmc/utils/posix/PosixInterfaceForCLog.cpp +index a3d4983..0daee19 100644 +--- a/xbmc/utils/posix/PosixInterfaceForCLog.cpp ++++ b/xbmc/utils/posix/PosixInterfaceForCLog.cpp +@@ -48,11 +48,19 @@ bool CPosixInterfaceForCLog::OpenLogFile(const std::string &logFilename, const s + { + if (m_file) + return false; // file was already opened ++#if defined(TARGET_VUPLUS) ++ if (getenv("SUPPORT_CONSOLE_LOG")) { ++ m_file = (FILEWRAP*) stdout; ++ } ++ else { ++#endif ++ (void)remove(backupOldLogToFilename.c_str()); // if it's failed, try to continue ++ (void)rename(logFilename.c_str(), backupOldLogToFilename.c_str()); // if it's failed, try to continue ++ m_file = (FILEWRAP*)fopen(logFilename.c_str(), "wb"); ++#if defined(TARGET_VUPLUS) ++ } ++#endif + +- (void)remove(backupOldLogToFilename.c_str()); // if it's failed, try to continue +- (void)rename(logFilename.c_str(), backupOldLogToFilename.c_str()); // if it's failed, try to continue +- +- m_file = (FILEWRAP*)fopen(logFilename.c_str(), "wb"); + if (!m_file) + return false; // error, can't open log file + +diff --git a/xbmc/windowing/egl/EGLNativeTypeVuplus.cpp b/xbmc/windowing/egl/EGLNativeTypeVuplus.cpp +new file mode 100644 +index 0000000..84e72af +--- /dev/null ++++ b/xbmc/windowing/egl/EGLNativeTypeVuplus.cpp +@@ -0,0 +1,181 @@ ++/* ++ * Copyright (C) 2011-2017 Team XBMC ++ * http://xbmc.org ++ * ++ * This Program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This Program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with XBMC; see the file COPYING. If not, see ++ * . ++ * ++ */ ++ ++#if defined(TARGET_VUPLUS) ++ ++#include "system.h" ++#include "EGLNativeTypeVuplus.h" ++#include "utils/StringUtils.h" ++#include "utils/log.h" ++#include "guilib/gui3d.h" ++#include "linux/DllBCM.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "KodiGLESPL.h" ++ ++using namespace std; ++ ++bool CEGLNativeTypeVuplus::CheckCompatibility() ++{ ++ return true; ++} ++ ++void CEGLNativeTypeVuplus::Initialize() ++{ ++} ++ ++void CEGLNativeTypeVuplus::Destroy() ++{ ++} ++ ++bool CEGLNativeTypeVuplus::CreateNativeDisplay() ++{ ++ GLES_Native_Init(); ++ return GLES_Native_CreateNativeDisplay(&m_nativeDisplay); ++} ++ ++bool CEGLNativeTypeVuplus::CreateNativeWindow() ++{ ++ m_nativeWindow = GLES_Native_CreateNativeWindow(); ++ if (!m_nativeWindow) { ++ return false; ++ } ++ return true; ++} ++ ++bool CEGLNativeTypeVuplus::GetNativeDisplay(XBNativeDisplayType **nativeDisplay) const ++{ ++ *nativeDisplay = (XBNativeDisplayType*) &m_nativeDisplay; ++ return true; ++} ++ ++bool CEGLNativeTypeVuplus::GetNativeWindow(XBNativeDisplayType **nativeWindow) const ++{ ++ *nativeWindow = (XBNativeWindowType*) &m_nativeWindow; ++ return true; ++} ++ ++bool CEGLNativeTypeVuplus::DestroyNativeDisplay() ++{ ++ GLES_Native_DestroyNativeDisplay(); ++ return true; ++} ++ ++bool CEGLNativeTypeVuplus::DestroyNativeWindow() ++{ ++ GLES_Native_DestroyNativeWindow(); ++ return true; ++} ++ ++bool CEGLNativeTypeVuplus::GetNativeResolution(RESOLUTION_INFO *res) const ++{ ++ *res = m_desktopRes; ++ return true; ++} ++ ++bool CEGLNativeTypeVuplus::SetNativeResolution(const RESOLUTION_INFO &res) ++{ ++ m_desktopRes = res; ++ return true; ++} ++ ++bool CEGLNativeTypeVuplus::ProbeResolutions(std::vector &resolutions) ++{ ++ resolutions.clear(); ++ ++ m_desktopResAll[0].iScreen = 0; ++ m_desktopResAll[0].bFullScreen = true; ++ m_desktopResAll[0].iWidth = 1280; ++ m_desktopResAll[0].iHeight = 720; ++ m_desktopResAll[0].iScreenWidth = 1280; ++ m_desktopResAll[0].iScreenHeight= 720; ++ m_desktopResAll[0].dwFlags = D3DPRESENTFLAG_PROGRESSIVE; ++ m_desktopResAll[0].fRefreshRate = 50; ++ m_desktopResAll[0].strMode = StringUtils::Format("%dx%d", 1280, 720); ++ m_desktopResAll[0].strMode = StringUtils::Format("%s @ %.2f%s - Full Screen", m_desktopRes.strMode.c_str(), (float)50,m_desktopRes.dwFlags & D3DPRESENTFLAG_INTERLACED ? "i" : ""); ++ ++ m_desktopResAll[0].iSubtitles = (int)(0.965 * m_desktopResAll[0].iHeight); ++ ++ CLog::Log(LOGDEBUG, "EGL initial desktop resolution %s\n", m_desktopResAll[0].strMode.c_str()); ++ ++ resolutions.push_back(m_desktopResAll[0]); ++ ++ m_desktopResAll[1].iScreen = 0; ++ m_desktopResAll[1].bFullScreen = true; ++ m_desktopResAll[1].iWidth = 1280; ++ m_desktopResAll[1].iHeight = 720; ++ m_desktopResAll[1].iScreenWidth = 1280; ++ m_desktopResAll[1].iScreenHeight= 720; ++ m_desktopResAll[1].dwFlags = D3DPRESENTFLAG_PROGRESSIVE; ++ ++ m_desktopResAll[1].dwFlags |= D3DPRESENTFLAG_MODE3DSBS; ++ m_desktopResAll[1].fRefreshRate = 50; ++ m_desktopResAll[1].strMode = StringUtils::Format("%dx%d", 1280, 720); ++ m_desktopResAll[1].strMode = StringUtils::Format("%s @ %.2f%s - Full Screen 3DSBS", m_desktopResAll[1].strMode.c_str(), (float)50,m_desktopResAll[1].dwFlags & D3DPRESENTFLAG_INTERLACED ? "i" : ""); ++ ++ m_desktopResAll[1].iSubtitles = (int)(0.965 * m_desktopResAll[1].iHeight); ++ ++ CLog::Log(LOGDEBUG, "EGL initial desktop resolution %s\n", m_desktopResAll[1].strMode.c_str()); ++ ++ resolutions.push_back(m_desktopResAll[1]); ++ ++ m_desktopResAll[2].iScreen = 0; ++ m_desktopResAll[2].bFullScreen = true; ++ m_desktopResAll[2].iWidth = 1280; ++ m_desktopResAll[2].iHeight = 720; ++ m_desktopResAll[2].iScreenWidth = 1280; ++ m_desktopResAll[2].iScreenHeight= 720; ++ m_desktopResAll[2].dwFlags = D3DPRESENTFLAG_PROGRESSIVE; ++ ++ m_desktopResAll[2].dwFlags |= D3DPRESENTFLAG_MODE3DTB; ++ m_desktopResAll[2].fRefreshRate = 50; ++ m_desktopResAll[2].strMode = StringUtils::Format("%dx%d", 1280, 720); ++ m_desktopResAll[2].strMode = StringUtils::Format("%s @ %.2f%s - Full Screen 3DTB", m_desktopResAll[2].strMode.c_str(), (float)50,m_desktopResAll[2].dwFlags & D3DPRESENTFLAG_INTERLACED ? "i" : ""); ++ ++ m_desktopResAll[2].iSubtitles = (int)(0.965 * m_desktopResAll[2].iHeight); ++ ++ CLog::Log(LOGDEBUG, "EGL initial desktop resolution %s\n", m_desktopResAll[2].strMode.c_str()); ++ ++ resolutions.push_back(m_desktopResAll[2]); ++ ++ m_desktopRes = m_desktopResAll[0]; ++ ++ return true; ++} ++ ++bool CEGLNativeTypeVuplus::GetPreferredResolution(RESOLUTION_INFO *res) const ++{ ++ *res = m_desktopResAll[0]; ++ return true; ++} ++ ++bool CEGLNativeTypeVuplus::ShowWindow(bool show) ++{ ++ return false; ++} ++ ++#endif /*TARGET_VUPLUS*/ ++ +diff --git a/xbmc/windowing/egl/EGLNativeTypeVuplus.h b/xbmc/windowing/egl/EGLNativeTypeVuplus.h +new file mode 100644 +index 0000000..aa65dc8 +--- /dev/null ++++ b/xbmc/windowing/egl/EGLNativeTypeVuplus.h +@@ -0,0 +1,65 @@ ++#pragma once ++ ++/* ++ * Copyright (C) 2011-2017 Team XBMC ++ * http://xbmc.org ++ * ++ * This Program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This Program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with XBMC; see the file COPYING. If not, see ++ * . ++ * ++ */ ++ ++#if defined(TARGET_VUPLUS) ++ ++#include "EGLNativeType.h" ++ ++#include ++#include ++ ++class CEGLNativeTypeVuplus : public CEGLNativeType ++{ ++public: ++ CEGLNativeTypeVuplus() ++ { ++ m_nativeWindow = 0; ++ m_nativeDisplay = 0; ++ }; ++ virtual ~CEGLNativeTypeVuplus() {}; ++ virtual std::string GetNativeName() const { return "vuplus"; }; ++ virtual bool CheckCompatibility(); ++ virtual void Initialize(); ++ virtual void Destroy(); ++ virtual int GetQuirks() { return EGL_QUIRK_NONE; }; ++ ++ virtual bool CreateNativeDisplay(); ++ virtual bool CreateNativeWindow(); ++ virtual bool GetNativeDisplay(XBNativeDisplayType **nativeDisplay) const; ++ virtual bool GetNativeWindow(XBNativeWindowType **nativeWindow) const; ++ ++ virtual bool DestroyNativeWindow(); ++ virtual bool DestroyNativeDisplay(); ++ ++ virtual bool GetNativeResolution(RESOLUTION_INFO *res) const; ++ virtual bool SetNativeResolution(const RESOLUTION_INFO &res); ++ virtual bool ProbeResolutions(std::vector &resolutions); ++ virtual bool GetPreferredResolution(RESOLUTION_INFO *res) const; ++ ++ virtual bool ShowWindow(bool show); ++private: ++ RESOLUTION_INFO m_desktopRes; ++ RESOLUTION_INFO m_desktopResAll[3]; ++}; ++ ++#endif /*TARGET_VUPLUS*/ ++ +diff --git a/xbmc/windowing/egl/EGLWrapper.cpp b/xbmc/windowing/egl/EGLWrapper.cpp +index 30f5757..ca05ae7 100644 +--- a/xbmc/windowing/egl/EGLWrapper.cpp ++++ b/xbmc/windowing/egl/EGLWrapper.cpp +@@ -37,6 +37,9 @@ + #if defined(TARGET_LINUX) && defined(HAS_LIBAMCODEC) + #include "EGLNativeTypeAmlogic.h" + #endif ++#if defined(TARGET_VUPLUS) ++ #include "EGLNativeTypeVuplus.h" ++#endif + #include "EGLWrapper.h" + + #define CheckError() m_result = eglGetError(); if(m_result != EGL_SUCCESS) CLog::Log(LOGERROR, "EGL error in %s: %x",__FUNCTION__, m_result); +@@ -101,6 +104,8 @@ bool CEGLWrapper::Initialize(const std::string &implementation) + (nativeGuess = CreateEGLNativeType(implementation)) + #elif defined(TARGET_LINUX) && defined(HAS_LIBAMCODEC) + (nativeGuess = CreateEGLNativeType(implementation)) ++#elif defined(TARGET_VUPLUS) ++ (nativeGuess = CreateEGLNativeType(implementation)) + #endif + ) + { +diff --git a/xbmc/windowing/egl/Makefile.in b/xbmc/windowing/egl/Makefile.in +index 68f7862..7fc6144 100644 +--- a/xbmc/windowing/egl/Makefile.in ++++ b/xbmc/windowing/egl/Makefile.in +@@ -12,6 +12,9 @@ endif + ifeq (@USE_IMXVPU@,1) + SRCS+= EGLNativeTypeIMX.cpp + endif ++ifeq (@VUPLUS_COMPILE@,yes) ++SRCS+= EGLNativeTypeVuplus.cpp ++endif + SRCS+= EGLWrapper.cpp + + LIB = windowing_egl.a diff --git a/meta-bsp/recipes-multimedia/kodi/kodi-16.x.inc b/meta-bsp/recipes-multimedia/kodi/kodi-16.x.inc new file mode 100644 index 0000000..efd004b --- /dev/null +++ b/meta-bsp/recipes-multimedia/kodi/kodi-16.x.inc @@ -0,0 +1,208 @@ +SUMMARY = "Kodi Media Center" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46" + +DEPENDS = "\ + libgles \ + libxslt \ + libusb1 \ + libcec \ + libplist \ + expat \ + yajl \ + gperf-native \ + fribidi \ + mpeg2dec \ + samba \ + fontconfig \ + curl \ + python \ + libass \ + libmodplug \ + libmicrohttpd \ + wavpack \ + libmms\ + cmake-native \ + libsdl-image \ + libsdl-mixer \ + mysql5 \ + sqlite3 \ + libmms \ + faad2 \ + libcdio \ + libpcre \ + boost \ + lzo \ + enca \ + avahi \ + libsamplerate0 \ + bzip2 \ + virtual/libsdl \ + jasper \ + zip-native \ + zlib \ + libtinyxml \ + taglib \ + libbluray \ + libshairport \ + librtmp \ + zlib \ + libnfs \ + libxslt \ + libsquish \ + libdcadec \ + libcrossguid \ +" + +PROVIDES += "kodi" +RPROVIDES_${PN} += "kodi" + +RDEPENDS_${PN} = "python" +RDEPENDS_${PN} += "\ + python-distutils \ + python-subprocess \ + python-robotparser \ + python-mechanize \ + python-threading \ + python-shell \ + python-zlib \ + python-sqlite3 \ + python-json \ + python-xml \ + python-html \ + python-netserver \ + python-misc \ + python-pygobject \ + python-pygobject-lib \ + python-textutils \ + python-simplejson \ + python-xmlrpc \ + python-pprint \ + python-difflib \ + python-email \ + python-compression \ + python-compile \ + python-compiler \ + python-numbers \ + nfs-utils-client \ + libshairport \ + glibc-gconv-utf-32 \ + xz \ + tiff \ + yajl \ + libxslt \ + libupnp \ + libplist \ + librtmp \ + libbluray \ + libnfs \ + libtinyxml \ + alsa-lib \ + shairplay \ +" + +BRANCH = "jarvis_vuplus" +SRCREV = "528f9f8abfc045b8cf8edea013aaf19fd02dba09" + +PV = "16.1.rc2" +PR = "${BUILD_PR}_${GLPR}_${SRCREV}" + +SRC_URI = "\ + git://code.vuplus.com/git/xbmc.git;protocol=http;branch=${BRANCH};tag=${SRCREV} \ + http://archive.vuplus.com/download/build_support/kodi/xbmc-support_${MACHINE}_${GLPR}.tar.gz;name=xbmc-support \ +" + +inherit autotools-brokensep autotools lib_package pkgconfig gettext python-dir + +S = "${WORKDIR}/git" + +CACHED_CONFIGUREVARS += " \ + ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \ +" + +EXTRA_OECONF = " \ + --enable-gles \ + --enable-libusb \ + --enable-airplay \ + --enable-rtmp \ + --enable-optimizations \ + --disable-optical-drive \ + --disable-ssh \ + --disable-x11 \ + --disable-dbus \ + --disable-pulse \ + --disable-gtest \ + --disable-joystick \ + --disable-alsa \ + --disable-lirc \ + --disable-libcec \ + --disable-texturepacker \ + --disable-debug \ +" + +FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math" +BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" + +# for python modules +export HOST_SYS +export BUILD_SYS +export STAGING_LIBDIR +export STAGING_INCDIR +export PYTHON_DIR + +do_configure() { + cp -av ${WORKDIR}/xbmc-support/gles_init.* ${WORKDIR}/git/xbmc/windowing/egl/ + sh bootstrap + sed -i 's/-V -qversion//' configure + oe_runconf +} + +do_compile_prepend() { + for i in $(find . -name "Makefile") ; do + sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i + done + + for i in $(find . -name "*.mak*" -o -name "Makefile") ; do + sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i + done +} + +INSANE_SKIP_${PN} = "rpaths" + +# on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly +#do_install_append_arm() { +# sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop +#} + +do_install_append(){ + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/xbmc-support/xbmc.helper ${D}${bindir} + install -m 0755 ${WORKDIR}/xbmc-support/libxbmc_base.so ${D}${libdir} +} + +do_package_qa(){ +} + +FILES_${PN} = "${libdir}/kodi ${libdir}/xbmc" +FILES_${PN} += "${bindir}/kodi ${bindir}/xbmc ${bindir}/xbmc.helper" +FILES_${PN} += "${datadir}/icons ${datadir}/kodi ${datadir}/xbmc" +FILES_${PN} += "${libdir}/libxbmc_base.so" +FILES_${PN}-dev = "${includedir}" +FILES_${PN}-bin = "${bindir}/kodi-standalone ${bindir}/xbmc-standalone ${datadir}/xsessions" +FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug ${datadir}/applications" + +# xbmc uses some kind of dlopen() method for libcec so we need to add it manually +RRECOMMENDS_${PN}_append = " libcec \ + python \ + python-lang \ + python-re \ + python-netclient \ + libcurl \ + " +RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850" + +INSANE_SKIP_${PN} = "already-stripped" + +PACKAGE_ARCH := "${MACHINE_ARCH}" + diff --git a/meta-bsp/recipes-multimedia/kodi/kodi-17.x.inc b/meta-bsp/recipes-multimedia/kodi/kodi-17.x.inc new file mode 100644 index 0000000..025d53b --- /dev/null +++ b/meta-bsp/recipes-multimedia/kodi/kodi-17.x.inc @@ -0,0 +1,239 @@ +SUMMARY = "Kodi Media Center" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46" + +DEFAULT_PREFERENCE = "-1" +#FILESPATH =. "${FILE_DIRNAME}/kodi-${PV}:" +PACKAGE_ARCH = "${MACHINE}" + +PROVIDES += "kodi" +RPROVIDES_${PN} += "kodi" + +BRANCH = "Krypton" +PV = "17.0" +PR = "r0" + +SRC_URI = " \ + https://github.com/xbmc/xbmc/archive/${PV}-Krypton.tar.gz;name=Src \ + http://archive.vuplus.com/download/build_support/kodi/xbmc-${PV}-Util.tar.gz;name=Util \ + file://xbmc-${PV}-vuplus-patch.diff \ + " + +SRC_URI[Src.md5sum] = "86ebb2f148090f12beb1e573dfd55e53" +SRC_URI[Src.sha256sum] = "4bfffa2493973ae15ab1d922632c09a2583908d6140bc4f58ec8f9314e4f6545" + +SRC_URI[Util.md5sum] = "8f1b23f87d8e64c9b59cf49ff23652e0" +SRC_URI[Util.sha256sum] = "2bc48ecd8ea2886ca13b483066dee16e5390e1a6733adc00b719b7f2d9e810f4" + +DEPENDS = " \ + libgles \ + cmake-native \ + curl-native \ + gperf-native \ + nasm-native \ + swig-native \ + yasm-native \ + zip-native \ + avahi \ + boost \ + bzip2 \ + curl \ + libdcadec \ + enca \ + expat \ + faad2 \ + ffmpeg \ + fontconfig \ + fribidi \ + giflib \ + jasper \ + libass \ + libcdio \ + libcec \ + libmad \ + libmicrohttpd \ + libmms \ + libmodplug \ + libpcre \ + libplist \ + libsamplerate0 \ + libsdl-image \ + libsdl-mixer \ + libsquish \ + libssh \ + libtinyxml \ + libusb1 \ + libxslt \ + lzo \ + mpeg2dec \ + python \ + samba \ + sqlite3 \ + taglib \ + virtual/libsdl \ + wavpack \ + yajl \ + zlib \ + kodiegl \ + " + +RDEPENDS_${PN} = "python" +RDEPENDS_${PN} += "\ + python-distutils \ + python-subprocess \ + python-robotparser \ + python-mechanize \ + python-threading \ + python-shell \ + python-zlib \ + python-sqlite3 \ + python-json \ + python-xml \ + python-html \ + python-netserver \ + python-misc \ + python-pygobject \ + python-pygobject-lib \ + python-textutils \ + python-simplejson \ + python-xmlrpc \ + python-pprint \ + python-difflib \ + python-email \ + python-compression \ + python-compile \ + python-compiler \ + python-numbers \ + python-pkgutil \ + nfs-utils-client \ + libshairport \ + glibc-gconv-utf-32 \ + xz \ + tiff \ + yajl \ + libxslt \ + libupnp \ + libplist \ + librtmp \ + libbluray \ + libnfs \ + libtinyxml \ + alsa-lib \ + shairplay \ + kodiegl \ +" + +inherit autotools-brokensep gettext pythonnative + +ACCEL ?= "" +ACCEL_x86 = "vaapi vdpau" +ACCEL_x86-64 = "vaapi vdpau" + +PACKAGECONFIG ??= "${ACCEL}" +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}" +PACKAGECONFIG_append += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}" + +PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles," +PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl" +PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst" +PACKAGECONFIG[lcms] = "--enable-lcms2,--disable-lcms2,lcms" + +EXTRA_OECONF_append_rpi = " --disable-openmax --enable-player=omxplayer --with-platform=raspberry-pi2" +EXTRA_OECONF_remove_aarch64 = "--with-platform=raspberry-pi2" +LDFLAGS_append_rpi = " -lvchostif " + +S = "${WORKDIR}/xbmc-${PV}-${BRANCH}" + +EXTRA_OECONF = " \ + --disable-debug \ + --disable-libcap \ + --disable-ccache \ + --disable-mid \ + --enable-libusb \ + --disable-alsa \ + --enable-airplay \ + --disable-optical-drive \ + --enable-texturepacker=no \ + --enable-optimizations \ + --disable-lirc \ + --disable-dbus \ + --disable-gtest \ + --enable-libusb \ + --disable-ssh \ + --enable-pulse=no \ + --disable-libcec \ + " + +FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math" +FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math" +BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" + +EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool" + +# for python modules +export HOST_SYS +export BUILD_SYS +export STAGING_LIBDIR +export STAGING_INCDIR +export PYTHON_DIR +export PARALLEL_MAKE + +do_configure() { + cp -af ${WORKDIR}/xbmc-${PV}-Util/ffmpeg-3.1.6-Krypton.tar.gz ${S}/tools/depends/target/ffmpeg/ + cp -af ${WORKDIR}/xbmc-${PV}-Util/crossguid-8f399e8bd4.tar.gz ${S}/tools/depends/target/crossguid/ + cp -af ${WORKDIR}/xbmc-${PV}-Util/libdvdcss-2f12236bc1c92f73c21e973363f79eb300de603f.tar.gz ${S}/tools/depends/target/libdvdcss/ + cp -af ${WORKDIR}/xbmc-${PV}-Util/libdvdnav-981488f7f27554b103cca10c1fbeba027396c94a.tar.gz ${S}/tools/depends/target/libdvdnav/ + cp -af ${WORKDIR}/xbmc-${PV}-Util/libdvdread-17d99db97e7b8f23077b342369d3c22a6250affd.tar.gz ${S}/tools/depends/target/libdvdread/ + + ( for i in $(find ${S} -name "configure.*" ) ; do + cd $(dirname $i) && gnu-configize --force || true + done ) + make -C tools/depends/native/JsonSchemaBuilder + make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix} BASE_URL=http://ftp.vim.org/mediaplayer/xbmc/build-deps/sources + BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${S}/tools/depends/native/JsonSchemaBuilder/bin/JsonSchemaBuilder" + BOOTSTRAP_STANDALONE=1 make -f codegenerator.mk JSON_BUILDER="${S}/tools/depends/native/JsonSchemaBuilder/bin/JsonSchemaBuilder" + oe_runconf +} + +INSANE_SKIP_${PN} = "rpaths" + +FILES_${PN} = "${libdir}/kodi ${libdir}/xbmc" +FILES_${PN} += "${bindir}/kodi ${bindir}/xbmc" +FILES_${PN} += "${datadir}/icons ${datadir}/kodi ${datadir}/xbmc" +FILES_${PN} += "${bindir}/kodi-standalone ${bindir}/xbmc-standalone ${datadir}/xsessions" +FILES_${PN}-dev = "${includedir}" +FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug ${datadir}/applications" + +# xbmc uses some kind of dlopen() method for libcec so we need to add it manually +# OpenGL builds need glxinfo, that's in mesa-demos +RRECOMMENDS_${PN}_append = " \ + libcec \ + python \ + python-lang \ + python-re \ + python-netclient \ + python-html \ + python-difflib \ + python-json \ + python-zlib \ + python-shell \ + python-sqlite3 \ + python-compression \ + libcurl \ + lsb \ + os-release \ + ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \ + " + +RRECOMMENDS_${PN}_append_libc-glibc = " \ + glibc-charmap-ibm850 \ + glibc-gconv-ibm850 \ + glibc-gconv-unicode \ + glibc-gconv-utf-32 \ + glibc-charmap-utf-8 \ + glibc-localedata-en-us \ + " diff --git a/meta-bsp/recipes-multimedia/kodi/kodi-vuduo2.bb b/meta-bsp/recipes-multimedia/kodi/kodi-vuduo2.bb index 7480235..22a181a 100644 --- a/meta-bsp/recipes-multimedia/kodi/kodi-vuduo2.bb +++ b/meta-bsp/recipes-multimedia/kodi/kodi-vuduo2.bb @@ -1,4 +1,4 @@ -require kodi.inc +require kodi-16.x.inc COMPATIBLE_MACHINE = "^(vuduo2)$" diff --git a/meta-bsp/recipes-multimedia/kodi/kodi-vusolo2.bb b/meta-bsp/recipes-multimedia/kodi/kodi-vusolo2.bb index 2caf592..02d0caf 100644 --- a/meta-bsp/recipes-multimedia/kodi/kodi-vusolo2.bb +++ b/meta-bsp/recipes-multimedia/kodi/kodi-vusolo2.bb @@ -1,4 +1,4 @@ -require kodi.inc +require kodi-16.x.inc COMPATIBLE_MACHINE = "^(vusolo2)$" diff --git a/meta-bsp/recipes-multimedia/kodi/kodi-vusolo4k.bb b/meta-bsp/recipes-multimedia/kodi/kodi-vusolo4k.bb index f642370..64491f4 100644 --- a/meta-bsp/recipes-multimedia/kodi/kodi-vusolo4k.bb +++ b/meta-bsp/recipes-multimedia/kodi/kodi-vusolo4k.bb @@ -1,11 +1,6 @@ -require kodi.inc +require kodi-17.x.inc COMPATIBLE_MACHINE = "^(vusolo4k)$" -BUILD_PR = "r0" -GLPR = "20160331_r0" +EXTRA_OECONF += " --with-platform=vuplus-arm " -EXTRA_OECONF += " --with-platform=vuplus-arm --with-ffmpeg=force_vuplus_arm " - -SRC_URI[xbmc-support.md5sum] = "1ae0c982f8db9625a7f831874f6f0605" -SRC_URI[xbmc-support.sha256sum] = "1be88ba6d4cbc0a0b1f10c83995132aa9bd5a088cf5b7080e1b0ef90170d96f7" diff --git a/meta-bsp/recipes-multimedia/kodi/kodi-vusolose.bb b/meta-bsp/recipes-multimedia/kodi/kodi-vusolose.bb index 1a0204d..bdbecd9 100644 --- a/meta-bsp/recipes-multimedia/kodi/kodi-vusolose.bb +++ b/meta-bsp/recipes-multimedia/kodi/kodi-vusolose.bb @@ -1,4 +1,4 @@ -require kodi.inc +require kodi-16.x.inc COMPATIBLE_MACHINE = "^(vusolose)$" diff --git a/meta-bsp/recipes-multimedia/kodi/kodi-vuultimo4k.bb b/meta-bsp/recipes-multimedia/kodi/kodi-vuultimo4k.bb index 76c9cf2..584414c 100644 --- a/meta-bsp/recipes-multimedia/kodi/kodi-vuultimo4k.bb +++ b/meta-bsp/recipes-multimedia/kodi/kodi-vuultimo4k.bb @@ -1,11 +1,6 @@ -require kodi.inc +require kodi-17.x.inc COMPATIBLE_MACHINE = "^(vuultimo4k)$" -BUILD_PR = "r0" -GLPR = "20161206_r0" +EXTRA_OECONF += " --with-platform=vuplus-arm " -EXTRA_OECONF += " --with-platform=vuplus-arm --with-ffmpeg=force_vuplus_arm " - -SRC_URI[xbmc-support.md5sum] = "765b8c18ca1e452cbb4b387a01cdefa8" -SRC_URI[xbmc-support.sha256sum] = "e4e469dd6cd21fa9d5fd59a662aa526169ace6ec59854ad0ee416baa66af45ae" diff --git a/meta-bsp/recipes-multimedia/kodi/kodi-vuuno4k.bb b/meta-bsp/recipes-multimedia/kodi/kodi-vuuno4k.bb index 4274b0a..84414cf 100644 --- a/meta-bsp/recipes-multimedia/kodi/kodi-vuuno4k.bb +++ b/meta-bsp/recipes-multimedia/kodi/kodi-vuuno4k.bb @@ -1,11 +1,6 @@ -require kodi.inc +require kodi-17.x.inc COMPATIBLE_MACHINE = "^(vuuno4k)$" -BUILD_PR = "r0" -GLPR = "20161206_r1" +EXTRA_OECONF += " --with-platform=vuplus-arm " -EXTRA_OECONF += " --with-platform=vuplus-arm --with-ffmpeg=force_vuplus_arm " - -SRC_URI[xbmc-support.md5sum] = "b0f62cb425b0f5bc5dc6ebcbe76f0890" -SRC_URI[xbmc-support.sha256sum] = "b2b91ec85cc7edfef86218906a8743868e372fb5f2736fa1ce066335a23c6bb1" diff --git a/meta-bsp/recipes-multimedia/kodi/kodi.inc b/meta-bsp/recipes-multimedia/kodi/kodi.inc deleted file mode 100644 index efd004b..0000000 --- a/meta-bsp/recipes-multimedia/kodi/kodi.inc +++ /dev/null @@ -1,208 +0,0 @@ -SUMMARY = "Kodi Media Center" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46" - -DEPENDS = "\ - libgles \ - libxslt \ - libusb1 \ - libcec \ - libplist \ - expat \ - yajl \ - gperf-native \ - fribidi \ - mpeg2dec \ - samba \ - fontconfig \ - curl \ - python \ - libass \ - libmodplug \ - libmicrohttpd \ - wavpack \ - libmms\ - cmake-native \ - libsdl-image \ - libsdl-mixer \ - mysql5 \ - sqlite3 \ - libmms \ - faad2 \ - libcdio \ - libpcre \ - boost \ - lzo \ - enca \ - avahi \ - libsamplerate0 \ - bzip2 \ - virtual/libsdl \ - jasper \ - zip-native \ - zlib \ - libtinyxml \ - taglib \ - libbluray \ - libshairport \ - librtmp \ - zlib \ - libnfs \ - libxslt \ - libsquish \ - libdcadec \ - libcrossguid \ -" - -PROVIDES += "kodi" -RPROVIDES_${PN} += "kodi" - -RDEPENDS_${PN} = "python" -RDEPENDS_${PN} += "\ - python-distutils \ - python-subprocess \ - python-robotparser \ - python-mechanize \ - python-threading \ - python-shell \ - python-zlib \ - python-sqlite3 \ - python-json \ - python-xml \ - python-html \ - python-netserver \ - python-misc \ - python-pygobject \ - python-pygobject-lib \ - python-textutils \ - python-simplejson \ - python-xmlrpc \ - python-pprint \ - python-difflib \ - python-email \ - python-compression \ - python-compile \ - python-compiler \ - python-numbers \ - nfs-utils-client \ - libshairport \ - glibc-gconv-utf-32 \ - xz \ - tiff \ - yajl \ - libxslt \ - libupnp \ - libplist \ - librtmp \ - libbluray \ - libnfs \ - libtinyxml \ - alsa-lib \ - shairplay \ -" - -BRANCH = "jarvis_vuplus" -SRCREV = "528f9f8abfc045b8cf8edea013aaf19fd02dba09" - -PV = "16.1.rc2" -PR = "${BUILD_PR}_${GLPR}_${SRCREV}" - -SRC_URI = "\ - git://code.vuplus.com/git/xbmc.git;protocol=http;branch=${BRANCH};tag=${SRCREV} \ - http://archive.vuplus.com/download/build_support/kodi/xbmc-support_${MACHINE}_${GLPR}.tar.gz;name=xbmc-support \ -" - -inherit autotools-brokensep autotools lib_package pkgconfig gettext python-dir - -S = "${WORKDIR}/git" - -CACHED_CONFIGUREVARS += " \ - ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \ -" - -EXTRA_OECONF = " \ - --enable-gles \ - --enable-libusb \ - --enable-airplay \ - --enable-rtmp \ - --enable-optimizations \ - --disable-optical-drive \ - --disable-ssh \ - --disable-x11 \ - --disable-dbus \ - --disable-pulse \ - --disable-gtest \ - --disable-joystick \ - --disable-alsa \ - --disable-lirc \ - --disable-libcec \ - --disable-texturepacker \ - --disable-debug \ -" - -FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math" -BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" - -# for python modules -export HOST_SYS -export BUILD_SYS -export STAGING_LIBDIR -export STAGING_INCDIR -export PYTHON_DIR - -do_configure() { - cp -av ${WORKDIR}/xbmc-support/gles_init.* ${WORKDIR}/git/xbmc/windowing/egl/ - sh bootstrap - sed -i 's/-V -qversion//' configure - oe_runconf -} - -do_compile_prepend() { - for i in $(find . -name "Makefile") ; do - sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i - done - - for i in $(find . -name "*.mak*" -o -name "Makefile") ; do - sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i - done -} - -INSANE_SKIP_${PN} = "rpaths" - -# on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly -#do_install_append_arm() { -# sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop -#} - -do_install_append(){ - install -d ${D}${bindir} - install -m 0755 ${WORKDIR}/xbmc-support/xbmc.helper ${D}${bindir} - install -m 0755 ${WORKDIR}/xbmc-support/libxbmc_base.so ${D}${libdir} -} - -do_package_qa(){ -} - -FILES_${PN} = "${libdir}/kodi ${libdir}/xbmc" -FILES_${PN} += "${bindir}/kodi ${bindir}/xbmc ${bindir}/xbmc.helper" -FILES_${PN} += "${datadir}/icons ${datadir}/kodi ${datadir}/xbmc" -FILES_${PN} += "${libdir}/libxbmc_base.so" -FILES_${PN}-dev = "${includedir}" -FILES_${PN}-bin = "${bindir}/kodi-standalone ${bindir}/xbmc-standalone ${datadir}/xsessions" -FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug ${datadir}/applications" - -# xbmc uses some kind of dlopen() method for libcec so we need to add it manually -RRECOMMENDS_${PN}_append = " libcec \ - python \ - python-lang \ - python-re \ - python-netclient \ - libcurl \ - " -RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850" - -INSANE_SKIP_${PN} = "already-stripped" - -PACKAGE_ARCH := "${MACHINE_ARCH}" - diff --git a/meta-bsp/recipes-multimedia/kodi/kodiegl-vusolo4k.bb b/meta-bsp/recipes-multimedia/kodi/kodiegl-vusolo4k.bb new file mode 100644 index 0000000..488d9e5 --- /dev/null +++ b/meta-bsp/recipes-multimedia/kodi/kodiegl-vusolo4k.bb @@ -0,0 +1,12 @@ +require kodiegl.inc + +COMPATIBLE_MACHINE = "^(vusolo4k)$" + +PV = "1.0" +PR_append = ".r0" + +PKGDATE="20170411p0" + +SRC_URI[md5sum] = "0517f06dc09b9c3a9fa63503a8966098" +SRC_URI[sha256sum] = "a00feeab515fa229823ae47ad45c12c542287aa6aaae610d442182846ce643af" + diff --git a/meta-bsp/recipes-multimedia/kodi/kodiegl-vuultimo4k.bb b/meta-bsp/recipes-multimedia/kodi/kodiegl-vuultimo4k.bb new file mode 100644 index 0000000..6fd51b5 --- /dev/null +++ b/meta-bsp/recipes-multimedia/kodi/kodiegl-vuultimo4k.bb @@ -0,0 +1,12 @@ +require kodiegl.inc + +COMPATIBLE_MACHINE = "^(vuultimo4k)$" + +PV = "1.0" +PR_append = ".r0" + +PKGDATE="20170411p0" + +SRC_URI[md5sum] = "a659349d1d57b1f87ae4a2df981c7cdf" +SRC_URI[sha256sum] = "42cb2af344eb26c7c1dcbc6539d3b87c85b5506f8bb3731527f8670504671712" + diff --git a/meta-bsp/recipes-multimedia/kodi/kodiegl-vuuno4k.bb b/meta-bsp/recipes-multimedia/kodi/kodiegl-vuuno4k.bb new file mode 100644 index 0000000..2c91469 --- /dev/null +++ b/meta-bsp/recipes-multimedia/kodi/kodiegl-vuuno4k.bb @@ -0,0 +1,12 @@ +require kodiegl.inc + +COMPATIBLE_MACHINE = "^(vuuno4k)$" + +PV = "1.0" +PR_append = ".r0" + +PKGDATE="20170411p0" + +SRC_URI[md5sum] = "2011c39ee03836da3eb10648d3f5be50" +SRC_URI[sha256sum] = "4d2926209040d72be1d3a071d4da3a3c1a94b764f93e792ffba9e28c1c1ed3b4" + diff --git a/meta-bsp/recipes-multimedia/kodi/kodiegl.inc b/meta-bsp/recipes-multimedia/kodi/kodiegl.inc new file mode 100644 index 0000000..e476993 --- /dev/null +++ b/meta-bsp/recipes-multimedia/kodi/kodiegl.inc @@ -0,0 +1,32 @@ +SECTION = "base" +LICENSE = "CLOSED" +require conf/license/license-close.inc + +PR = "${PKGDATE}" + +PROVIDES += "kodiegl" +RPROVIDES_${PN} += "kodiegl" + +SRC_URI = "http://archive.vuplus.com/download/build_support/kodi/KodiGLESPL_${MACHINE}_${PKGDATE}.tar.gz" + +S = "${WORKDIR}/KodiGLESPL_${MACHINE}" + +do_install() { + install -d ${D}/usr/bin + install -m 0755 ${S}/bin/* ${D}/usr/bin + + install -d ${D}/usr/lib + install -m 0755 ${S}/lib/*.so ${D}/usr/lib + + install -d ${D}/usr/include + install -m 0755 ${S}/include/*.h ${D}/usr/include +} + +do_package_qa() { +} + +FILES_${PN}="${libdir} ${bindir}" +FILES_${PN}-dev = "${includedir}" + +PACKAGE_ARCH = "${MACHINE}" + diff --git a/meta-bsp/recipes-vuplus/chromium/chromium-browser-vusolo4k.bb b/meta-bsp/recipes-vuplus/chromium/chromium-browser-vusolo4k.bb index 023e68b..5f0d6e9 100644 --- a/meta-bsp/recipes-vuplus/chromium/chromium-browser-vusolo4k.bb +++ b/meta-bsp/recipes-vuplus/chromium/chromium-browser-vusolo4k.bb @@ -1,8 +1,8 @@ -SRCDATE = "20161117_r0" +SRCDATE = "20170406_r0" require chromium-browser.inc COMPATIBLE_MACHINE = "^(vusolo4k)$" -SRC_URI[md5sum] = "4fdbcb2ea2b8590e76533f8bcf7f1d19" -SRC_URI[sha256sum] = "6b852b1a57201bcd84423e15d36039ffc1eb45c99627f191ed92367c05bb1288" +SRC_URI[md5sum] = "a244f461ef6f91343949c8174de1cf9f" +SRC_URI[sha256sum] = "5d3b9f29ae6a2e7cbdddb0f04b1fd771ed5a19ccc121af2a2d01cd9893beb461" diff --git a/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuultimo4k.bb b/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuultimo4k.bb index e7816a7..461801b 100644 --- a/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuultimo4k.bb +++ b/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuultimo4k.bb @@ -1,8 +1,8 @@ -SRCDATE = "20161020_r0" +SRCDATE = "20170406_r0" require chromium-browser.inc COMPATIBLE_MACHINE = "^(vuultimo4k)$" -SRC_URI[md5sum] = "c9b3d35f632757deae9aedf6b61b4357" -SRC_URI[sha256sum] = "784e696914b090748ea3c4b3a183fd22bd77bec5a3c035585797c64adc92cfb2" +SRC_URI[md5sum] = "af7b8fb03164df129c77c82dc764f47e" +SRC_URI[sha256sum] = "16092fdc1b2da87be84ffde74c69cd5cccb7f0605cc429fabae2bf3c86a8d658" diff --git a/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuuno4k.bb b/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuuno4k.bb index 6bb3e7c..a9baa73 100644 --- a/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuuno4k.bb +++ b/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuuno4k.bb @@ -1,8 +1,8 @@ -SRCDATE = "20161019_r0" +SRCDATE = "20170406_r0" require chromium-browser.inc COMPATIBLE_MACHINE = "^(vuuno4k)$" -SRC_URI[md5sum] = "19b966e4d5fa48bdaab6b42d7ce33055" -SRC_URI[sha256sum] = "b01227cf352096a6a1796f0cc8529e2667f41ddbc05a1c8f4675da10765595f3" +SRC_URI[md5sum] = "6dfd417c905a3edf7e31cdd6b77bb890" +SRC_URI[sha256sum] = "3b125738d175c094bc081beec75b1000354d504b44285d69866454ebee9a92e7" diff --git a/meta-bsp/recipes-vuplus/chromium/chromium-browser.inc b/meta-bsp/recipes-vuplus/chromium/chromium-browser.inc index e0ec247..969c085 100644 --- a/meta-bsp/recipes-vuplus/chromium/chromium-browser.inc +++ b/meta-bsp/recipes-vuplus/chromium/chromium-browser.inc @@ -8,6 +8,9 @@ PV = "1.0" PR = "${SRCDATE}" SRC_URI = "http://code.vuplus.com/download/chromium/chromium-vuplus_${MACHINE}_${SRCDATE}.tar.gz" +# Added to support the OE-Alliance. +PREFERRED_VERSION_nss = "3.17.3" + DEPENDS_${PN} = "nss" RDEPENDS_${PN} = "nspr nss" diff --git a/meta-bsp/recipes-vuplus/chromium/enigma2-plugin-extensions-chromium.bb b/meta-bsp/recipes-vuplus/chromium/enigma2-plugin-extensions-chromium.bb index 874d52d..d9ce3af 100644 --- a/meta-bsp/recipes-vuplus/chromium/enigma2-plugin-extensions-chromium.bb +++ b/meta-bsp/recipes-vuplus/chromium/enigma2-plugin-extensions-chromium.bb @@ -5,7 +5,7 @@ LICENSE = "CLOSED" require conf/license/license-close.inc PV = "1.0" -PR = "20160516_r1" +PR = "20170324_r0" SRC_URI = "http://code.vuplus.com/download/chromium/e2plugin-chromium-vuplus_${PR}.tar.gz" DEPENDS_${PN} = "chromium-browser" @@ -24,5 +24,5 @@ RPROVIDES_${PN} += "enigma2-plugin-extensions-chromium" FILES_${PN} = "/" -SRC_URI[md5sum] = "463adfde95d9c0677adcb89b4bb1b9da" -SRC_URI[sha256sum] = "efaa40792935e240f2d91b9fe3bf4d28835fadef62e28d2ac1fb260d9ed23903" +SRC_URI[md5sum] = "525ab918ae8c5e41ffec3e57d748da25" +SRC_URI[sha256sum] = "d671f1dfeaefd8f3d05a79348e86c7debd40403cc5f9d59780ccb04c7fa655cf" diff --git a/meta-bsp/recipes-vuplus/vuplus-blindscan-utils/vuplus-blindscan-utils.bb b/meta-bsp/recipes-vuplus/vuplus-blindscan-utils/vuplus-blindscan-utils.bb index a0f7ee5..b96f90e 100755 --- a/meta-bsp/recipes-vuplus/vuplus-blindscan-utils/vuplus-blindscan-utils.bb +++ b/meta-bsp/recipes-vuplus/vuplus-blindscan-utils/vuplus-blindscan-utils.bb @@ -6,8 +6,8 @@ RDEPENDS_${PN} = "ncurses" LICENSE = "CLOSED" require conf/license/license-close.inc -PV = "4.2" -PV_arm = "4.6" +PV = "4.3" +PV_arm = "4.7" PR = "r10" PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -89,11 +89,11 @@ do_install_arm() { done } -SRC_URI[md5sum] = "8e5b2f437b8d3f2b112300ca2e1539d5" -SRC_URI[sha256sum] = "d9b9fcfcafb8f89ded56c2bdd4c7bc6639bfdd93b8c8b78a23a40f4fa6219c2b" +SRC_URI[md5sum] = "a8ca2f8ce06d37b7d01b729b1e4e4abb" +SRC_URI[sha256sum] = "ec9b5dd552e72a0d775a77212350b71f5ea6f3619687c40c2bf97b12c5d7abd9" -SRC_URI[arm.md5sum] = "f61f4096570ff8fe7ed4d46acc7ba6fb" -SRC_URI[arm.sha256sum] = "1a9e8fd98c8aace692a66e1150db55bad80a5274650d618d3ad91c38ec67dc55" +SRC_URI[arm.md5sum] = "003d552f3c62f84f00a9bad288e131be" +SRC_URI[arm.sha256sum] = "27c30a9e332032b525af5a506e1337d5f2e68124035f6907a440b1836e084aa6" INSANE_SKIP_${PN} = "already-stripped" diff --git a/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util-vuultimo4k.bb b/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util-vuultimo4k.bb index 58b8e5f..08aefa7 100644 --- a/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util-vuultimo4k.bb +++ b/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util-vuultimo4k.bb @@ -5,9 +5,9 @@ COMPATIBLE_MACHINE = "^(vuultimo4k)$" FIRMWARE_PATH="bcm43569" FIRMWARE_FILE="BCM43569A2_001.003.004.0060.0109.hcd" -SRCDATE = "20161115" +SRCDATE = "20170327" SRCDATE_PR = "r0" -SRC_URI[md5sum] = "411c213563c690aa46da8f7d45426e2c" -SRC_URI[sha256sum] = "a871ca49a28302cdb461839497ab9e0a1623f9f9a647e39cc827d26363714110" +SRC_URI[md5sum] = "3f170652eb09e97377fbbf4d1655f6ae" +SRC_URI[sha256sum] = "364e1042f0d6e842ec45b984d796ecba8a35595d77ae4cac642b13f90a486d4f" diff --git a/meta-bsp/recipes-vuplus/webkit-hbbtv/enigma2-plugin-extensions-webkithbbtv.bb b/meta-bsp/recipes-vuplus/webkit-hbbtv/enigma2-plugin-extensions-webkithbbtv.bb index 09aa1d7..2a1e866 100644 --- a/meta-bsp/recipes-vuplus/webkit-hbbtv/enigma2-plugin-extensions-webkithbbtv.bb +++ b/meta-bsp/recipes-vuplus/webkit-hbbtv/enigma2-plugin-extensions-webkithbbtv.bb @@ -5,7 +5,7 @@ LICENSE = "CLOSED" require conf/license/license-close.inc PV = "1.0" -PR = "20151228.r0" +PR = "20170105.r0" SRC_URI = "http://archive.vuplus.com/download/build_support/webkit-hbbtv-plugin_${PR}.tar.gz" do_install_append() { @@ -25,5 +25,5 @@ RPROVIDES_${PN} += "enigma2-plugin-extensions-webkithbbtv" FILES_${PN} = "/" -SRC_URI[md5sum] = "d0b4dbbb074064ec17c9d76e639ddbc3" -SRC_URI[sha256sum] = "1aa76e29f7f850fd4744e639c63bd79e3b2b51a7e251f26e39e6cb21d2b48fb9" +SRC_URI[md5sum] = "8b93c2f013934658daa2162cf58e3b71" +SRC_URI[sha256sum] = "b6322cbfc06abe19052cfff0ae1f76d00d6a6f185fdc09fd10085823f9203c26" diff --git a/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vusolo4k.bb b/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vusolo4k.bb index f2c792f..867a65d 100644 --- a/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vusolo4k.bb +++ b/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vusolo4k.bb @@ -1,9 +1,9 @@ -SRCDATE = "20151228.r0" +SRCDATE = "20170324.r0" require webkit-hbbtv-browser.inc COMPATIBLE_MACHINE = "^(vusolo4k)$" -SRC_URI[md5sum] = "507cf22f00847285bb3ce186bedbbdcc" -SRC_URI[sha256sum] = "648b7c088305e9e806f76230deab85258ab0888249b2c13b6d9d8149fe19d454" +SRC_URI[md5sum] = "44ef1594ac1ea01344e70602ce4a24ee" +SRC_URI[sha256sum] = "fbd93d672e25d0e4a341d25b0089f94ee92a010c2102eb415347e6e1f3736f46" diff --git a/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuultimo4k.bb b/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuultimo4k.bb index e57f22e..05e5cca 100644 --- a/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuultimo4k.bb +++ b/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuultimo4k.bb @@ -1,9 +1,9 @@ -SRCDATE = "20161018.r0" +SRCDATE = "20170324.r0" require webkit-hbbtv-browser.inc COMPATIBLE_MACHINE = "^(vuultimo4k)$" -SRC_URI[md5sum] = "ae069cbbfeafb228f58374a17e9c1ef9" -SRC_URI[sha256sum] = "3171a57a2c2abc80aaaca9dd52fdaa6fe549008feadb04975dab476fc8674a02" +SRC_URI[md5sum] = "d310a2beeda59a1f0783dfff74690bea" +SRC_URI[sha256sum] = "aef08a79f55426ab10268b83a36e4778bd46752791ef9ba31f25a622bf59d4f6" diff --git a/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuuno4k.bb b/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuuno4k.bb index c656b4c..917c167 100644 --- a/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuuno4k.bb +++ b/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuuno4k.bb @@ -1,9 +1,9 @@ -SRCDATE = "20161018.r0" +SRCDATE = "20170324.r0" require webkit-hbbtv-browser.inc COMPATIBLE_MACHINE = "^(vuuno4k)$" -SRC_URI[md5sum] = "9eb98848424720f6e6c97a4253230fd5" -SRC_URI[sha256sum] = "66580fc3e8d5cd8971577fd333c0cdb29169ceccd44b37e27a5ed79660994adf" +SRC_URI[md5sum] = "6f6e621aae41cfe6c7a1ac07524415a1" +SRC_URI[sha256sum] = "b7e408dc8996f75b69d32cd8b0f626031764986e1869415e845ab008928ef2a8" diff --git a/meta-openvuplus/conf/distro/vuplus.conf b/meta-openvuplus/conf/distro/vuplus.conf index 26162c1..72b8e83 100644 --- a/meta-openvuplus/conf/distro/vuplus.conf +++ b/meta-openvuplus/conf/distro/vuplus.conf @@ -39,7 +39,7 @@ PREFERRED_VERSION_elfutils ?= "0.148" PREFERRED_VERSION_libmicrohttpd ?= "0.9.34" PREFERRED_VERSION_libdvdcss ?= "1.2.10" -PREFERRED_VERSION_taglib ?= "1.8" +#PREFERRED_VERSION_taglib ?= "1.8" PREFERRED_PROVIDER_jpeg = "jpeg" PREFERRED_PROVIDER_jpeg-native = "jpeg-native" diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-subsink.bb b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-subsink.bb index 2d171db..b5ea091 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-subsink.bb +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-subsink.bb @@ -5,7 +5,7 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" -SRC_URI = "git://git.code.sf.net/p/openpli/gstsubsink;protocol=git;branch=gst-1.0" +SRC_URI = "git://github.com/OpenPLi/gst-plugin-subsink.git;protocol=git;branch=master" SRCREV = "${AUTOREV}" S = "${WORKDIR}/git" diff --git a/meta-openvuplus/recipes-support/taglib/taglib_1.11.1.bb b/meta-openvuplus/recipes-support/taglib/taglib_1.11.1.bb new file mode 100644 index 0000000..6eb8265 --- /dev/null +++ b/meta-openvuplus/recipes-support/taglib/taglib_1.11.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "Library for reading and editing the meta-data of popular audio formats" +SECTION = "libs/multimedia" +HOMEPAGE = "http://taglib.github.io/" +LICENSE = "LGPLv2.1 | MPL-1" +LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \ + file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee" + +DEPENDS = "zlib" + +SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz" +SRC_URI[md5sum] = "cee7be0ccfc892fa433d6c837df9522a" +SRC_URI[sha256sum] = "b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b" + +UPSTREAM_CHECK_URI = "http://github.com/taglib/taglib/releases/" + +BINCONFIG = "${bindir}/taglib-config" + +inherit cmake pkgconfig binconfig + +PACKAGES =+ "${PN}-c" +FILES_${PN}-c = "${libdir}/libtag_c.so.*" + +EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \ + -DHAVE_BOOST_BYTESWAP=FALSE \ + -DCMAKE_CXX_STANDARD=11 \ + -DCMAKE_CXX_STANDARD_REQUIRED=OFF \ +" +CXXFLAGS += "-std=c++11" + +do_configure_prepend () { + rm -f ${S}/admin/ltmain.sh + rm -f ${S}/admin/libtool.m4.in +} + +# without -fPIC depending packages failed with many error like: +# | <...>/ld: error: <...>/usr/lib/libtag.a(modfilebase.cpp.o): requires unsupported dynamic reloc R_ARM_THM_MOVW_ABS_NC; recompile with -fPIC +CXXFLAGS += "-fPIC" diff --git a/meta-openvuplus/recipes-support/taglib/taglib_1.8.bb b/meta-openvuplus/recipes-support/taglib/taglib_1.8.bb deleted file mode 100644 index b032c92..0000000 --- a/meta-openvuplus/recipes-support/taglib/taglib_1.8.bb +++ /dev/null @@ -1,30 +0,0 @@ -DESCRIPTION = "TagLib is a library for reading and editing the meta-data of several popular audio formats" -SECTION = "libs/multimedia" -HOMEPAGE = "http://developer.kde.org/~wheeler/taglib.html" -LICENSE = "LGPLv2.1 | MPL-1" -LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ - file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \ - file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee" - -DEPENDS = "zlib" - -PR = "r0" -# http://developer.kde.org/~wheeler/files/src/taglib-${PV}.tar.gz -SRC_URI = "https://github.com/downloads/taglib/taglib/taglib-1.8.tar.gz \ - " - -SRC_URI[md5sum] = "dcb8bd1b756f2843e18b1fdf3aaeee15" -SRC_URI[sha256sum] = "66d33481703c90236a0a9d1c38fd81b584ca7109ded049225f5463dcaffc209a" - -S = "${WORKDIR}/taglib-${PV}" - -inherit cmake pkgconfig binconfig - -PACKAGES =+ "${PN}-c" -FILES_${PN}-c = "${libdir}/libtag_c.so.*" - -do_configure_prepend () { - rm -f ${S}/admin/ltmain.sh - rm -f ${S}/admin/libtool.m4.in -} - diff --git a/meta-openvuplus/recipes-vuplus/bluetoothsetup/enigma2-plugin-systemplugins-bluetoothsetup.bb b/meta-openvuplus/recipes-vuplus/bluetoothsetup/enigma2-plugin-systemplugins-bluetoothsetup.bb index 3b133ed..09bd9a5 100644 --- a/meta-openvuplus/recipes-vuplus/bluetoothsetup/enigma2-plugin-systemplugins-bluetoothsetup.bb +++ b/meta-openvuplus/recipes-vuplus/bluetoothsetup/enigma2-plugin-systemplugins-bluetoothsetup.bb @@ -5,7 +5,7 @@ LICENSE = "CLOSED" DEPENDS = "python-native" RDEPENDS_${PN} = "vuplus-bluetooth-util" -SRCDATE="20161128" +SRCDATE="20170327" SRCDATE_PR = "r0" PR="${SRCDATE}.${SRCDATE_PR}" @@ -34,5 +34,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" INSANE_SKIP_${PN} = "already-stripped" -SRC_URI[md5sum] = "af348a34715e380329b2618103bf3498" -SRC_URI[sha256sum] = "634e39992eabd6a3146bd8ed59cc85bb019da33019ee2e356ca77ff607321493" +SRC_URI[md5sum] = "a1d19dd1a8b739b4073f4da07b6c1ccc" +SRC_URI[sha256sum] = "94ec17b623fc8178b8d6083e516d12b047d698107c19eda39c9b0250a637df46" + diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb b/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb index ae58f48..868ba24 100644 --- a/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb @@ -231,7 +231,7 @@ DEPENDS += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libgles libvugle RDEPENDS_${PN}_append_vuplus += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libvugles2" , "", d)}" PN = "enigma2" -PR = "r150" +PR = "r152" inherit gitpkgv pythonnative diff --git a/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb index 4db0e55..3d3d6ca 100644 --- a/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb +++ b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb @@ -2,7 +2,7 @@ SUMMARY = "Enigma2 set of packages for Vuplus" SECTION = "vuplus/base" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" -PR = "r17" +PR = "r18" PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -78,6 +78,7 @@ RDEPENDS_${PN} += " \ ${@base_conditional("MACHINE", "vusolo4k", "enigma2-plugin-systemplugins-solo4kmisccontrol", "", d)} \ ${@base_contains("VUPLUS_FEATURES", "fcc", "enigma2-plugin-systemplugins-fastchannelchange", "", d)} \ ${@base_contains("VUPLUS_FEATURES", "bluetooth", "enigma2-plugin-systemplugins-bluetoothsetup", "", d)} \ + ${@base_contains("VUPLUS_FEATURES", "bluetooth", "enigma2-plugin-extensions-witaispeechtotext", "", d)} \ ${@base_conditional("MACHINE", "vuultimo4k", "enigma2-plugin-systemplugins-ultimo4kmisccontrol", "", d)} \ " diff --git a/meta-openvuplus/recipes-vuplus/vuplus-skin/vuplus-skins.bb b/meta-openvuplus/recipes-vuplus/vuplus-skin/vuplus-skins.bb index 6384068..07a3db4 100644 --- a/meta-openvuplus/recipes-vuplus/vuplus-skin/vuplus-skins.bb +++ b/meta-openvuplus/recipes-vuplus/vuplus-skin/vuplus-skins.bb @@ -3,7 +3,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" PV = "1.0" -PR = "r4" +PR = "r5" RDEPENDS_${PN} = "enigma2" diff --git a/meta-openvuplus/recipes-vuplus/witaistt/enigma2-plugin-extensions-witaispeechtotext.bb b/meta-openvuplus/recipes-vuplus/witaistt/enigma2-plugin-extensions-witaispeechtotext.bb new file mode 100644 index 0000000..82f7cc5 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/witaistt/enigma2-plugin-extensions-witaispeechtotext.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "Vuplus wit.ai speech to text plugin" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +DEPENDS = "python-native" +RDEPENDS_${PN} = "python-requests enigma2-plugin-systemplugins-bluetoothsetup" + +SRCDATE="20170327" +SRCDATE_PR = "r0" +PR="${SRCDATE}.${SRCDATE_PR}" + +SRC_URI = " \ + http://archive.vuplus.com/download/build_support/vuplus/enigma2-plugin-witaispeechtotext-${PR}.tar.gz \ +" + +S = "${WORKDIR}/enigma2-plugin-witaispeechtotext" + +WITAISPEECHTOTEXT_PLUGIN_PATH = "/usr/lib/enigma2/python/Plugins/Extensions/WitAiSpeechToText" + +do_compile() { + python -O -m compileall ${S} +} + +do_install() { + install -d ${D}${WITAISPEECHTOTEXT_PLUGIN_PATH} + cp -rp ${S}/* ${D}${WITAISPEECHTOTEXT_PLUGIN_PATH} +} + +FILES_${PN} = "${WITAISPEECHTOTEXT_PLUGIN_PATH}" + +do_populate_sysroot[noexec] = "1" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +INSANE_SKIP_${PN} = "already-stripped" + +SRC_URI[md5sum] = "6b1fe4fd6f921a08721e4613b88da485" +SRC_URI[sha256sum] = "cfb889fc95a3223783d9448abeaa37b5d17144d19c6278c8d9f24851f51dddb9" +