diff --git a/alarm/xbmc-cubox/0018_fix-lib-vivante.patch b/alarm/xbmc-cubox/0018_fix-lib-vivante.patch deleted file mode 100644 index cc9bea9ff..000000000 --- a/alarm/xbmc-cubox/0018_fix-lib-vivante.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -Naur xbmc-pvr-20120528-git8e5fa796/configure.in xbmc-pvr-20120528-git8e5fa796-new/configure.in ---- xbmc-pvr-20120528-git8e5fa796/configure.in 2012-07-12 23:41:00.463812887 +0200 -+++ xbmc-pvr-20120528-git8e5fa796-new/configure.in 2012-07-12 23:42:59.163986997 +0200 -@@ -684,8 +684,9 @@ - AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.) - LIBS="$LIBS -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm" - else -- AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library)) -- AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library)) -+ AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library),[-lVIVANTE]) -+ AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library),[-lVIVANTE]) -+ LIBS="$LIBS -lVIVANTE" - fi - fi - else diff --git a/alarm/xbmc-cubox/0050+0051+0057-Use-Dove-hardware-graphics-scaler.patch b/alarm/xbmc-cubox/0050+0051+0057-Use-Dove-hardware-graphics-scaler.patch deleted file mode 100644 index 23dcd67f0..000000000 --- a/alarm/xbmc-cubox/0050+0051+0057-Use-Dove-hardware-graphics-scaler.patch +++ /dev/null @@ -1,311 +0,0 @@ -From 9c17370c706e91c22b63e9c0a917c2463c23a091 Mon Sep 17 00:00:00 2001 -From: Rabeeh Khoury -Date: Tue, 15 Jan 2013 16:27:29 +0200 -Subject: [PATCH] Use Dove hardware graphics scaler - -The theory behind this patch is to render to a smaller area and then use the hardware upscaler to upscale the graphics plane to the destination resolution. -For instance, going into system setting->system->Video output and choosing Graphics scaling to 1.5, will make 1080p resolution to rendering 1/1.5 of it's size (720p). -Rendering becomes much more faster, memory bandwidth on the LCD controller becomes half too. - -Using this patch it's now possible to get higher fps on XBMC GUI - -Signed-off-by: Rabeeh Khoury ---- - xbmc/cores/VideoRenderers/DoveOverlayRenderer.cpp | 13 ++++-- - xbmc/guilib/GraphicContext.cpp | 14 +++++++ - xbmc/guilib/Resolution.h | 7 ++++ - xbmc/settings/GUISettings.cpp | 7 ++++ - xbmc/settings/GUIWindowSettingsCategory.cpp | 5 +++ - xbmc/video/windows/GUIWindowFullScreen.cpp | 17 ++++++++ - xbmc/windowing/X11/XRandR.cpp | 45 +++++++++++++++++++++ - xbmc/windowing/X11/XRandR.h | 3 ++ - 8 files changed, 107 insertions(+), 4 deletions(-) - -diff --git a/xbmc/cores/VideoRenderers/DoveOverlayRenderer.cpp b/xbmc/cores/VideoRenderers/DoveOverlayRenderer.cpp -index be37ab5..72343ca 100644 ---- a/xbmc/cores/VideoRenderers/DoveOverlayRenderer.cpp -+++ b/xbmc/cores/VideoRenderers/DoveOverlayRenderer.cpp -@@ -205,11 +205,16 @@ bool CDoveOverlayRenderer::Configure( - return false; - } - -- int interpolation = 3; // bi-linear interpolation -- if (ioctl(m_overlayfd, DOVEFB_IOCTL_SET_INTERPOLATION_MODE, &interpolation) != 0) -+ GRAPHICS_SCALING scale = (GRAPHICS_SCALING) g_guiSettings.GetInt("videoscreen.graphics_scaling"); -+ if (scale == -1) scale=GR_SCALE_100; -+ if (scale == GR_SCALE_100) /* Scaler is set differently when using graphics scaler */ - { -- CLog::Log(LOGERROR, "%s::%s - Failed to setup video interpolation mode", CLASSNAME, __func__); -- return false; -+ int interpolation = 3; // bi-linear interpolation -+ if (ioctl(m_overlayfd, DOVEFB_IOCTL_SET_INTERPOLATION_MODE, &interpolation) != 0) -+ { -+ CLog::Log(LOGERROR, "%s::%s - Failed to setup video interpolation mode", CLASSNAME, __func__); -+ return false; -+ } - } - - struct _sColorKeyNAlpha alpha; -diff --git a/xbmc/guilib/GraphicContext.cpp b/xbmc/guilib/GraphicContext.cpp -index 94f248b..e5edfcd 100644 ---- a/xbmc/guilib/GraphicContext.cpp -+++ b/xbmc/guilib/GraphicContext.cpp -@@ -626,6 +626,19 @@ void CGraphicContext::SetScalingResolution(const RESOLUTION_INFO &res, bool need - float fToWidth; - float fToHeight; - -+#ifdef HAS_MARVELL_DOVE -+ GRAPHICS_SCALING scale = (GRAPHICS_SCALING) g_guiSettings.GetInt("videoscreen.graphics_scaling"); -+ if (scale == -1) /* not configured */ -+ scale = GR_SCALE_100; -+ { -+ fFromWidth = (float)res.iWidth; -+ fFromHeight = (float)res.iHeight; -+ fToPosX = (float)g_settings.m_ResInfo[m_Resolution].Overscan.left*100/scale; -+ fToPosY = (float)g_settings.m_ResInfo[m_Resolution].Overscan.top*100/scale; -+ fToWidth = (float)g_settings.m_ResInfo[m_Resolution].Overscan.right*100/scale - fToPosX; -+ fToHeight = (float)g_settings.m_ResInfo[m_Resolution].Overscan.bottom*100/scale - fToPosY; -+ } -+#else - { - fFromWidth = (float)res.iWidth; - fFromHeight = (float)res.iHeight; -@@ -634,6 +647,7 @@ void CGraphicContext::SetScalingResolution(const RESOLUTION_INFO &res, bool need - fToWidth = (float)g_settings.m_ResInfo[m_Resolution].Overscan.right - fToPosX; - fToHeight = (float)g_settings.m_ResInfo[m_Resolution].Overscan.bottom - fToPosY; - } -+#endif - - if(!g_guiSkinzoom) // lookup gui setting if we didn't have it already - g_guiSkinzoom = (CSettingInt*)g_guiSettings.GetSetting("lookandfeel.skinzoom"); -diff --git a/xbmc/guilib/Resolution.h b/xbmc/guilib/Resolution.h -index 66c4e85..a9b7d6c 100644 ---- a/xbmc/guilib/Resolution.h -+++ b/xbmc/guilib/Resolution.h -@@ -63,6 +63,15 @@ - VSYNC_DRIVER = 3 - }; - -+#ifdef TARGET_MARVELL_DOVE -+enum GRAPHICS_SCALING { -+ GR_SCALE_100 = 100, -+ GR_SCALE_150 = 150, -+ GR_SCALE_200 = 200, -+ GR_SCALE_250 = 250 -+}; -+#endif -+ - struct OVERSCAN - { - int left; -diff --git a/xbmc/settings/GUISettings.cpp b/xbmc/settings/GUISettings.cpp -index bb39c86..6f0ba5e 100644 ---- a/xbmc/settings/GUISettings.cpp -+++ b/xbmc/settings/GUISettings.cpp -@@ -435,6 +435,15 @@ - AddSeparator(vs, "videoscreen.sep1"); - #endif - -+#ifdef TARGET_MARVELL_DOVE -+ map graphics_scaling; -+ graphics_scaling.insert(make_pair(37011,GR_SCALE_100)); -+ graphics_scaling.insert(make_pair(37012,GR_SCALE_150)); -+ graphics_scaling.insert(make_pair(37013,GR_SCALE_200)); -+ graphics_scaling.insert(make_pair(37014,GR_SCALE_250)); -+ AddInt(vs, "videoscreen.graphics_scaling", 37010, GR_SCALE_100, graphics_scaling, SPIN_CONTROL_TEXT); -+#endif -+ - map vsync; - #if defined(_LINUX) && !defined(TARGET_DARWIN) - vsync.insert(make_pair(13101,VSYNC_DRIVER)); -diff --git a/xbmc/settings/GUIWindowSettingsCategory.cpp b/xbmc/settings/GUIWindowSettingsCategory.cpp -index d98107f..0ae1822 100644 ---- a/xbmc/settings/GUIWindowSettingsCategory.cpp -+++ b/xbmc/settings/GUIWindowSettingsCategory.cpp -@@ -1490,6 +1490,11 @@ void CGUIWindowSettingsCategory::OnSettingChanged(BaseSettingControlPtr pSetting - CLog::Log(LOGERROR, "Unable to open vmeta clock settings file on sysfs"); - fclose(Fh); - } -+ else if (strSetting.Equals("videoscreen.graphics_scaling")) -+ { -+ /* Fake as resolution changed - this to refresh aspect ratios of fonts vs. graphics */ -+ g_graphicsContext.SetVideoResolution(g_graphicsContext.GetVideoResolution(), true); -+ } - #endif - else if (strSetting.Equals("videoscreen.vsync")) - { -diff --git a/xbmc/video/windows/GUIWindowFullScreen.cpp b/xbmc/video/windows/GUIWindowFullScreen.cpp -index 7b80926..24e2d98 100644 ---- a/xbmc/video/windows/GUIWindowFullScreen.cpp -+++ b/xbmc/video/windows/GUIWindowFullScreen.cpp -@@ -1082,6 +1082,11 @@ void CGUIWindowFullScreen::RenderTTFSubtitles() - CStdString subtitleText = "How now brown cow"; - if (g_application.m_pPlayer->GetCurrentSubtitle(subtitleText)) - { -+#ifdef HAS_MARVELL_DOVE -+ GRAPHICS_SCALING scale = (GRAPHICS_SCALING) g_guiSettings.GetInt("videoscreen.graphics_scaling"); -+ if (scale == -1) /* not configured */ -+ scale = GR_SCALE_100; -+#endif - // Remove HTML-like tags from the subtitles until - subtitleText.Replace("\\r", ""); - subtitleText.Replace("\r", ""); -@@ -1105,7 +1110,11 @@ void CGUIWindowFullScreen::RenderTTFSubtitles() - RESOLUTION res = g_graphicsContext.GetVideoResolution(); - g_graphicsContext.SetRenderingResolution(g_graphicsContext.GetResInfo(), false); - -+#ifdef HAS_MARVELL_DOVE -+ float maxWidth = (float) g_settings.m_ResInfo[res].Overscan.right*100/scale - g_settings.m_ResInfo[res].Overscan.left; -+#else - float maxWidth = (float) g_settings.m_ResInfo[res].Overscan.right - g_settings.m_ResInfo[res].Overscan.left; -+#endif - m_subsLayout->Update(subtitleText, maxWidth * 0.9f, false, true); // true to force LTR reading order (most Hebrew subs are this format) - - int subalign = g_guiSettings.GetInt("subtitles.align"); -@@ -1115,7 +1124,11 @@ void CGUIWindowFullScreen::RenderTTFSubtitles() - float y = (float) g_settings.m_ResInfo[res].iSubtitles; - - if (subalign == SUBTITLE_ALIGN_MANUAL) -+#ifdef HAS_MARVELL_DOVE -+ y = (float) g_settings.m_ResInfo[res].iSubtitles*100/scale - textHeight; -+#else - y = (float) g_settings.m_ResInfo[res].iSubtitles - textHeight; -+#endif - else - { - CRect SrcRect, DestRect; -@@ -1133,7 +1146,11 @@ void CGUIWindowFullScreen::RenderTTFSubtitles() - y += g_graphicsContext.GetHeight() - g_settings.m_ResInfo[res].iSubtitles; - - y = std::max(y, (float) g_settings.m_ResInfo[res].Overscan.top); -+#ifdef HAS_MARVELL_DOVE -+ y = std::min(y, g_settings.m_ResInfo[res].Overscan.bottom*100/scale - textHeight); -+#else - y = std::min(y, g_settings.m_ResInfo[res].Overscan.bottom - textHeight); -+#endif - } - - m_subsLayout->RenderOutline(x, y, 0, 0xFF000000, XBFONT_CENTER_X, maxWidth); -diff --git a/xbmc/windowing/X11/XRandR.cpp b/xbmc/windowing/X11/XRandR.cpp -index d8e9161..d23b76e 100644 ---- a/xbmc/windowing/X11/XRandR.cpp -+++ b/xbmc/windowing/X11/XRandR.cpp -@@ -26,6 +26,11 @@ - #include - #include "system.h" - #include "PlatformInclude.h" -+#ifdef TARGET_MARVELL_DOVE -+#include -+#include "guilib/Resolution.h" -+#include "settings/GUISettings.h" -+#endif - #include "utils/XBMCTinyXML.h" - #include "../xbmc/utils/log.h" - -@@ -158,8 +163,44 @@ void CXRandR::RestoreState() - } - } - -+#ifdef TARGET_MARVELL_DOVE -+#define MAP_SIZE 4096UL -+#define MAP_MASK (MAP_SIZE - 1) -+void CXRandR::ChangeGraphicsScaler(void) -+{ -+ /* OK. Now this is a seriously ugly hack. Code needs to be re-written to support ioctl to driver !!! */ -+ /* Code below originally from devmem2.c */ -+ int fd; -+ off_t target_page = 0xf1820000; /* LCD Controller base address */ -+ void *map_base; -+ unsigned int zoomed; -+ unsigned int gr_size; -+ int zx,zy; -+ GRAPHICS_SCALING scale = (GRAPHICS_SCALING) g_guiSettings.GetInt("videoscreen.graphics_scaling"); -+ if (scale == -1) scale=GR_SCALE_100; -+ if((fd = open("/dev/mem", O_RDWR | O_SYNC)) == -1) { -+ CLog::Log(LOGERROR, "XRANDR: Unable to open /dev/mem"); -+ return; -+ } -+ fflush(stdout); -+ map_base = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, target_page); -+ zoomed = * (unsigned int *) (map_base + 0x108); -+ zx = zoomed & 0xffff; -+ zy = (zoomed & 0xffff0000) >> 16; -+ CLog::Log(LOGINFO, "XRANDR: Zoomed area is %dx%d, new area should be %dx%d\n",zx,zy,zx*100/scale,zy*100/scale); -+ gr_size = (zy*100/scale) & 0xffff; -+ gr_size = (gr_size << 16) | ((zx*100/scale) & 0xffff); -+ * (unsigned int *) (map_base + 0x104) = gr_size; -+ close(fd); -+} -+#endif -+ - bool CXRandR::SetMode(XOutput output, XMode mode) - { -+#ifdef TARGET_MARVELL_DOVE -+ /* Required both on entrance and exit from SetMode. First entrance is required to get the scaler modified */ -+ ChangeGraphicsScaler (); -+#endif - if ((output.name == m_currentOutput && mode.id == m_currentMode) || (output.name == "" && mode.id == "")) - return true; - -@@ -256,6 +298,9 @@ bool CXRandR::SetMode(XOutput output, XMode mode) - if (WEXITSTATUS(status) != 0) - return false; - -+#ifdef TARGET_MARVELL_DOVE -+ ChangeGraphicsScaler (); -+#endif - return true; - } - -diff --git a/xbmc/windowing/X11/XRandR.h b/xbmc/windowing/X11/XRandR.h -index 2a269d0..95e4a1f 100644 ---- a/xbmc/windowing/X11/XRandR.h -+++ b/xbmc/windowing/X11/XRandR.h -@@ -100,6 +100,9 @@ public: - void LoadCustomModeLinesToAllOutputs(void); - void SaveState(); - void RestoreState(); -+#ifdef TARGET_MARVELL_DOVE -+ void ChangeGraphicsScaler(void); -+#endif - //bool Has1080i(); - //bool Has1080p(); - //bool Has720p(); -diff --git a/language/English/strings.po b/language/English/strings.po -index fcb9255..8f36605 100644 ---- a/language/English/strings.po -+++ b/language/English/strings.po -@@ -11420,3 +11420,23 @@ - msgctxt "#36041" - msgid "* Item folder" - msgstr "" -+ -+msgctxt "#37010" -+msgid "Graphics Scaling" -+msgstr "" -+ -+msgctxt "#37011" -+msgid "x1" -+msgstr "" -+ -+msgctxt "#37012" -+msgid "x1.5" -+msgstr "" -+ -+msgctxt "#37013" -+msgid "x2" -+msgstr "" -+ -+msgctxt "#37014" -+msgid "x2.5" -+msgstr "" ---- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVMETA.cpp 2013-04-22 17:05:37.933955658 +0200 -+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVMETA.cpp 2013-04-22 17:06:19.447874572 +0200 -@@ -43,6 +43,7 @@ - #define CLASSNAME "CDVDVideoCodecVMETA" - - #include "utils/BitstreamConverter.h" -+#include "settings/GUISettings.h" - - - #define ENABLE_MPEG1 // use vMeta for MPEG1 decoding diff --git a/alarm/xbmc-cubox/505_report-cpu-type-and-temp.patch b/alarm/xbmc-cubox/505_report-cpu-type-and-temp.patch deleted file mode 100644 index 7bd3eaada..000000000 --- a/alarm/xbmc-cubox/505_report-cpu-type-and-temp.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff -Naur c/xbmc/utils/CPUInfo.cpp d/xbmc/utils/CPUInfo.cpp ---- c/xbmc/utils/CPUInfo.cpp 2012-10-24 20:28:26.274392014 +0200 -+++ d/xbmc/utils/CPUInfo.cpp 2012-10-24 20:08:08.000000000 +0200 -@@ -154,7 +154,10 @@ - // read from the new location of the temperature data on new kernels, 2.6.39, 3.0 etc - if (m_fProcTemperature == NULL) - m_fProcTemperature = fopen("/sys/class/hwmon/hwmon0/temp1_input", "r"); -- -+ // some systems put this information here ... -+ if (m_fProcTemperature == NULL) -+ m_fProcTemperature = fopen("/sys/class/hwmon/hwmon0/device/temp1_input", "r"); -+ - m_fCPUInfo = fopen("/proc/cpuinfo", "r"); - m_cpuCount = 0; - if (m_fCPUInfo) -@@ -164,7 +167,17 @@ - int nCurrId = 0; - while (fgets(buffer, sizeof(buffer), m_fCPUInfo)) - { -- if (strncmp(buffer, "processor", strlen("processor"))==0) -+ if (strncmp(buffer, "Processor", strlen("Processor"))==0) -+ { -+ char *needle = strstr(buffer, ":"); -+ if (needle) -+ { -+ CStdString s(needle+2); -+ s.Trim(); -+ m_cpuModel = s; -+ } -+ } -+ else if (strncmp(buffer, "processor", strlen("processor"))==0) - { - char *needle = strstr(buffer, ":"); - if (needle) -@@ -383,10 +370,16 @@ - } - } - } -- else -+ -+ if (m_cpuModel.empty()) -+ m_cpuModel = "Unknown"; -+ -+ if (m_cpuCount == 0) - { -+ CoreInfo core; -+ core.m_strModel = m_cpuModel; -+ m_cores[0] = core; - m_cpuCount = 1; -- m_cpuModel = "Unknown"; - } - - #endif -diff -Naur c/xbmc/utils/SystemInfo.cpp d/xbmc/utils/SystemInfo.cpp ---- c/xbmc/utils/SystemInfo.cpp 2012-07-11 21:58:22.000000000 +0200 -+++ d/xbmc/utils/SystemInfo.cpp 2012-10-25 20:48:37.000000000 +0200 -@@ -74,7 +74,8 @@ - { - CStdString strCPUFreq; - double CPUFreq = GetCPUFrequency(); -- strCPUFreq.Format("%4.2fMHz", CPUFreq); -+ if (CPUFreq > 0) -+ strCPUFreq.Format("%4.2fMHz", CPUFreq); - return strCPUFreq; - } - diff --git a/alarm/xbmc-cubox/PKGBUILD b/alarm/xbmc-cubox/PKGBUILD deleted file mode 100644 index 51ba774af..000000000 --- a/alarm/xbmc-cubox/PKGBUILD +++ /dev/null @@ -1,280 +0,0 @@ -# $Id: PKGBUILD 71695 2012-06-01 13:05:36Z dreisner $ -# Maintainer: Sergej Pupykin -# Contributor: Brad Fanella -# Contributor: [vEX] -# Contributor: Zeqadious -# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com > - -# ALARM: -# - --disable-vdpau/xvda, remove from makedepends -# - specify our C/CXXFLAGS in configure -# - removed --disable-external-ffmpeg -# - disable gl and vaapi. enabled gles and with-platform=marvell-dove -# - replace libcec with libcec-cubox -# - additional depends xf86-video-dove, marvell-ipp, ffmpeg -# - added vmeta-clk@667.service requires to systemd sevice -# - Use GeeXboX/SolidRun patcheset - -buildarch=4 - -pkgname=("xbmc-cubox") -provides=("xbmc") -conflicts=("xbmc" "xbmc-cubox-git") -replaces=("xbmc-cubox-git") - -_patches=( - "0001-dove-added-vmeta-library-loader.patch" - "0002-dove-added-vmeta-video-decoder.patch" - "0003-dove-added-dove-overlay-render.patch" - "0004-dove-hook-up-vmeta-video-decoder.patch" - "0005-dove-hook-up-dove-overlay-renderer.patch" - "0006-dove-workaround-for-eglCreateContext.patch" - "0008-dove-missing-typdef-leads-in-XKBlib.h-include-errors.patch" - "0009-dove-hook-up-dove-support-in-the-xbmc-build-system.patch" - "0011-dove-changed-vblank-waiting-is-only-needed-for-DOVEF.patch" - "0014-dove-workaround-for-marvell-dove.-EGL_NO_CONTEXT-cau.patch" - "0015-dove-fixed-typos.patch" - "0017-dove-fixed-exit-hang.-this-is-a-workaround-for-a-bug.patch" - "0018_add-codecs.patch" - "0019_gpu-backoff.patch" - "0020_use-ffmpeg-for-thumbnails.patch" - "0021_big-buck-bunny-480p-fix.patch" - "0032-Sync-frame-directly-on-next-vsync.patch" - "0033-Cached-buffer-allocation.patch" - "0034-Vmeta-queuing-support.patch" - "0035-Add-the-_cached-and-_writecombine-function-APIs.patch" - "0036-vsync-always-enabled.patch" - #"0037-Select-vmeta-speed.patch" - #"0038-Make-vmeta-clock-settings-correct-when-loading-xml.patch" - "0039_WinSystemX11-SDL_CreateRGBSurfaceFrom.patch" - "0040-Reworked-iLineSize-detection.patch" - "0040-hack.patch" - #"0041-Make-vmeta-clock-default-to-667MHz.patch" - "0042-mpeg4-packed-bitstream-unpacking.patch" - "0043-mpeg2-aspect-ratio-detection.patch" - "0045-performance-bitstream-converter.patch" - "0046-performance-vmeta-decoder.patch" - "0047-performance-overlay-renderer.patch" - "0048-drop-first-two-frames-from-vmeta.patch" - "0049-overlay-renderer-streamlined.patch" - #"0050-Use-Dove-hardware-graphics-scaler.patch" - #"0051-Graphics-scaling-text-English.patch" - "0052-Fixed-vmeta-cache-coherency-problem.patch" - "0052-Remove-enabling-vertical-interpolation-smoothing-in-.patch" - "0053-Configure-upscaling-also-on-refresh-adjustment.patch" - "0054-Remove-unsupported-audio-settings.patch" - "0055-vmeta-used-for-mpeg1.patch" - "0056-dove-overlay-setup-fix.patch" - #"0057-graphics-scaling-set-default-to-x1.patch" - #"0058-vmeta-set-clock-only-when-inuse.patch" - "0059-graphics-scaling-cleanup-and-subtitle-pos-fix.patch" - "0060-audioengine-fix-24bit-pcm-output.patch" - "0061-audioengine-improve-saferound.patch" - "0062-vmeta-use-writecombine-alloc.patch" - "0063-vmeta-detect-mp4-flavor.patch" - "0064-vmeta-fix-vc1-playback.patch" - "0065-vmeta-used-for-wmv3.patch" - "0066-vmeta-cleanups-after-wmv3.patch" - "0067-dove-overlay-alignment-fix.patch" - "0068-vmeta-avoid-compiler-warnings.patch" - "0069-overlay-renderer-more-video-settings.patch" - "0070-graphics-scaling-switch-interpolation.patch" - "0071-vmeta-dont-decode-when-draining-queue.patch" - "0072-FLACcodec-improve-performance.patch" - "0073-mathutils-speedup-attempt.patch" - "0074_fix-mpeg1-aspect-ratio.patch" - "0075_avoid-flickering-line-hack.patch" - "0076-audioengine-do-not-transcode-mono.patch" - "0077-vmeta-count-submitted-buffers.patch" - "0078-vmeta-skip-stuffing-byte.patch" - #"0079_use-vmeta-for-jpeg-decoding-v4.patch" - #"505_report-cpu-type.diff" -) - -_prefix=/usr - -pkgver=12.3 -pkgrel=1 -pkgdesc="A software media player and entertainment hub for digital media" -arch=('i686' 'x86_64') -url="http://xbmc.org" -license=('GPL' 'custom') -depends=('libpulse' 'hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' - 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' - 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' - 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' - 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' - 'tinyxml' 'taglib' 'xf86-video-dove' 'marvell-ipp' 'ffmpeg' 'xorg-xinit' 'xorg-server' 'libcec-cubox') -makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libcec-cubox' - 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') -optdepends=('pulseaudio: pulseaudio support' - 'lirc: remote controller support' - 'udisks: automount external drives' - 'upower: used to trigger suspend functionality' - 'unrar: access compressed files without unpacking them') -install="xbmc.install" -source=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz" - "xbmc.service" - "0050+0051+0057-Use-Dove-hardware-graphics-scaler.patch" - "505_report-cpu-type-and-temp.patch" - "${_patches[@]/#/http://hg.openbricks.org/openbricks/raw-file/default/config/platforms/arm/armada5xx/packages/xbmc/patches/}" - "0018_fix-lib-vivante.patch") - -md5sums=('7ae385ebf8e5cfcb917393235e6efbdb' - '1b5d4a888a375df9949e4eed1e060ce5' - 'c3fec98a9a653c7d8efd6b8b159f9fde' - 'a03cc7f313791631543c8fbcbf868fc2' - '8eacd6886116cb8c8a3130150b174988' - '543f3482a4dfa622245e78b44e62d5d2' - '5a7c4303fc4ffd92f0f8e880ccf0076d' - '12bfdd9088ff5d55ddb2ab281881d0e7' - '4dda79437b0295b90ea97693b70291e1' - 'd825bbbad9cdcc74f5bb53d51c9009cc' - 'b82517d1534042cfcbfb8eead00da0a5' - 'c5bc44468663940b7e12bd68c7203b47' - '39fa2198f93f9529c20d28fbdf8e6cc1' - '5c0dd38851694d15927dad21d2b6410c' - '2d0a1b3859408c67efdf7816fc02ad4a' - '9926708a14035d24b023b13eb52fa0ea' - 'd234509aa2de06a7f086dee7585d0e8b' - 'd7b97ba8e4b033a0f8ae82d9069ddd0c' - 'b7a6ec0ba0b1cf586a8148835ee433ed' - '7c7dfa0ad66e40d21c9d3cf34cee6d74' - '1b6462b42b35f21aee9a6bbf15ba5c64' - '5ad567e5c70506d4fc5c930768bd1d5c' - '378205587868e0e974dc50865c3c400f' - 'acb85b649ac0a7f0b35dacb99501e4ad' - 'c53ee283801c004fbc1a960921fb4521' - '319dd19f31459d0342d5d6387831943f' - 'c748c43f11e7024b0ef527ad53e52fce' - '0af00d3d3f726481c209d1287b3f6aab' - '7be7215e47f916f00ce9e03aa0daf1cd' - '5fd9f0f24741172029d9e51c97983fde' - '04c8a05a10a9cc492abdead9ea05cb11' - '6a2d9a3eb6472df43d8463cd75f5051d' - '4e967b7d936d770bd153d02051960ba1' - '9898521e8a2b4c04260a84f7a8864864' - '09a927d16687fdd7a907ab7a2529fb1f' - '383fdf68505b645e755cf9774f72800d' - '7b3ce4ef4f297c25a9ca926816f544ec' - 'f3d3677267074a0e1450af3a17aa0be9' - '702c454aabbf780bffc9f0d2ec39e189' - '3c4cd7316c48776f694b411caf87453d' - '3ca61d4f8a0a36f0d64597f76a2b4fed' - 'fc442d1f155cbdce2bcb1ad722670579' - 'de5a153e75280b207170b699194536b3' - 'b62ef58068a3b4c829e5c2139384473a' - '0fbbc4c6efbe552f2fe18b5d67d4cc02' - '43c1f47ef68e6075f2efb69a3299aa5a' - 'c26eb3393e28be352eb2a472dd35307f' - '25e43b1d98169ba617ddbf866f844382' - 'e71788efb5c23bca01fa190606c62234' - '2757267a5a4270ade6f07ec0c7c95d38' - '5c5ee6c0b316adf277349f6f100dea07' - 'ab19f3b1c6f7436415c0ac559295aae4' - 'd70663fe3ccf4b2bb1d348fb4cc08a2a' - '3668ae2f591ac60899563ce7fc480d11' - '3fc5d78ecd818d899014bc694d1d2444' - 'd296079c26d2782b42170ebfca7367cd' - 'd4c03833471d000f5f410e9c0c1997ac' - '0048d33a23c3bd93d5f28c7c8acbef21' - 'c083036f20ef64ee680ca8b78228aa61' - '2adc790842f7e7d1026c6c425bb23926' - '8e6afeda7607975526543a55716f328d' - '2b69b0db80701aaf5276f1e5d53073e6') - -build() { - cd "${srcdir}/xbmc-$pkgver-Frodo" - - export LDFLAGS="$LDFLAGS -L/opt/marvell-libgfx/lib" - #export CFLAGS="$CFLAGS -I/opt/marvell-libgfx/include" - #export CXXFLAGS="$CXXFLAGS -I/opt/marvell-libgfx/include" - INCLUDES="-I/opt/fsl/include" - export CFLAGS="-Ofast -mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -march=armv7-a -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 $INCLUDES -Wl,-rpath,/opt/marvell-libgfx/lib -L/opt/marvell-libgfx/lib" - export CPPFLAGS="-Ofast -mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -march=armv7-a -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 $INCLUDES -Wl,-rpath,/opt/marvell-libgfx/lib -L/opt/marvell-libgfx/lib" - export CXXFLAGS="-Ofast -mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -march=armv7-a -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 $INCLUDES -Wl,-rpath,/opt/marvell-libgfx/lib -L/opt/marvell-libgfx/lib" - export TEXTUREPACKER_NATIVE_ROOT="/usr" - - sed "20,28d" -i "${srcdir}/0066-vmeta-cleanups-after-wmv3.patch" - - for _patch in "${srcdir}/"*.patch; do - patch -p1 -i "${_patch}" - done - - sed -r "s#(libsmbclient.h>)\$#samba-4.0/\1#" \ - -i xbmc/filesystem/SmbFile.cpp xbmc/filesystem/SMBDirectory.cpp - - # fix lsb_release dependency - sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp - - # Bootstrapping XBMC - ./bootstrap - - # Configuring XBMC - export PYTHON_VERSION=2 # external python v2 - ./configure --prefix=$_prefix --exec-prefix=$_prefix \ - --with-platform="marvell-dove" \ - --disable-debug \ - --enable-optimizations \ - --disable-gl \ - --enable-gles \ - --enable-sdl \ - --disable-vaapi \ - --disable-vdpau \ - --disable-xvba \ - --enable-joystick \ - --enable-xrandr \ - --enable-rsxs \ - --enable-projectm \ - --enable-x11 \ - --enable-pulse \ - --enable-rtmp \ - --enable-samba \ - --enable-nfs \ - --enable-afpclient \ - --enable-airplay \ - --enable-airtunes \ - --disable-external-ffmpeg \ - --enable-ffmpeg-libvorbis \ - --enable-dvdcss \ - --disable-hal \ - --enable-avahi \ - --enable-webserver \ - --enable-optical-drive \ - --enable-libbluray \ - --enable-texturepacker \ - --enable-udev \ - --enable-libusb \ - --enable-libcec \ - --enable-external-libraries \ - CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" - # Now (finally) build - make -} - -package() { - cd "${srcdir}/xbmc-$pkgver-Frodo" - # Running make install - make DESTDIR="${pkgdir}" install - - # run feh with python2 - sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc - - # lsb_release fix - sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc" - sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc" - - # Tools -# install -D -m 0755 "${srcdir}/xbmc-$pkgver/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" - install -D -m 0755 "${srcdir}/xbmc-$pkgver-Frodo/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" - - # Licenses - install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${pkgname}" - for licensef in LICENSE.GPL copying.txt; do - mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${pkgname}" - done - - # systemd stuff - install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service -} - diff --git a/alarm/xbmc-cubox/xbmc.install b/alarm/xbmc-cubox/xbmc.install deleted file mode 100644 index b104b33e8..000000000 --- a/alarm/xbmc-cubox/xbmc.install +++ /dev/null @@ -1,16 +0,0 @@ -post_install() { - [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor - [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications - getent group xbmc > /dev/null || groupadd xbmc - getent passwd xbmc > /dev/null || useradd -m -d /var/lib/xbmc -g xbmc xbmc - usermod -a -G xbmc,audio,video,power,network,optical,storage,disk xbmc -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 - echo "You may want to remove xbmc user and group" -} diff --git a/alarm/xbmc-cubox/xbmc.service b/alarm/xbmc-cubox/xbmc.service deleted file mode 100644 index 60a2a4b96..000000000 --- a/alarm/xbmc-cubox/xbmc.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description = Starts instance of XBMC using xinit -Requires = vmeta-clk@667.service -After = remote-fs.target - -[Service] -User = xbmc -Group = xbmc -Type = simple -ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -- :0 -nolisten tcp -Restart = always - -[Install] -WantedBy = multi-user.target