From 3c24cd2e78a5b5ec40dd8d2d44af13ecab43e801 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Thu, 31 May 2018 13:02:21 -0700 Subject: [PATCH 01/28] chromium: remove package --- .../addons/browser/chromium/changelog.txt | 26 - .../addons/browser/chromium/config/Xdefaults | 1 - .../browser/chromium/config/pango.modules | 13 - .../addons/browser/chromium/config/pangorc | 10 - .../chromium/config/pixbuf.loaders.cache | 125 --- .../addons/browser/chromium/icon/icon.png | Bin 33372 -> 0 bytes packages/addons/browser/chromium/package.mk | 164 ---- .../patches/chromium-0001_widevine.patch | 10 - .../patches/chromium-0002-allow-root.patch | 11 - ...-0003_oe-root-filesystem-is-readonly.patch | 10 - .../chromium-0004-vaapi-on-linux.patch | 722 ------------------ .../chromium-0005-define-toolchains.patch | 48 -- .../chromium-0006-exclude_unwind_tables.patch | 44 -- ...chromium-0007-dont-link-atomic-in-gn.patch | 12 - .../patches/chromium-0008-fix-webrtc.patch | 10 - .../patches/chromium-0009-fix-gtk_ui.patch | 10 - .../patches/chromium-0010-fix-gcc.patch | 16 - .../browser/chromium/source/bin/chromium | 106 --- .../addons/browser/chromium/source/default.py | 163 ---- .../resources/language/English/strings.xml | 17 - .../chromium/source/resources/settings.xml | 21 - 21 files changed, 1539 deletions(-) delete mode 100644 packages/addons/browser/chromium/changelog.txt delete mode 100644 packages/addons/browser/chromium/config/Xdefaults delete mode 100644 packages/addons/browser/chromium/config/pango.modules delete mode 100644 packages/addons/browser/chromium/config/pangorc delete mode 100644 packages/addons/browser/chromium/config/pixbuf.loaders.cache delete mode 100644 packages/addons/browser/chromium/icon/icon.png delete mode 100644 packages/addons/browser/chromium/package.mk delete mode 100644 packages/addons/browser/chromium/patches/chromium-0001_widevine.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0002-allow-root.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0003_oe-root-filesystem-is-readonly.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0004-vaapi-on-linux.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0005-define-toolchains.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0006-exclude_unwind_tables.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0007-dont-link-atomic-in-gn.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0008-fix-webrtc.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0009-fix-gtk_ui.patch delete mode 100644 packages/addons/browser/chromium/patches/chromium-0010-fix-gcc.patch delete mode 100644 packages/addons/browser/chromium/source/bin/chromium delete mode 100644 packages/addons/browser/chromium/source/default.py delete mode 100644 packages/addons/browser/chromium/source/resources/language/English/strings.xml delete mode 100644 packages/addons/browser/chromium/source/resources/settings.xml diff --git a/packages/addons/browser/chromium/changelog.txt b/packages/addons/browser/chromium/changelog.txt deleted file mode 100644 index 5d279814ad..0000000000 --- a/packages/addons/browser/chromium/changelog.txt +++ /dev/null @@ -1,26 +0,0 @@ -108 -- Security Update to 63.0.3239.108 - -107 -- Update to 63.0.3239.84 - -106 -- Update to 55.0.2883.75 - -105 -- Update to 55.0.2883.44 - -104 -- Update to 53.0.2785.92 - -103 -- add xdotool - -102 -- add unclutter - -101 -- update to version 50.0.2661.75 - -100 -- initial LibreELEC release diff --git a/packages/addons/browser/chromium/config/Xdefaults b/packages/addons/browser/chromium/config/Xdefaults deleted file mode 100644 index 95307ee3db..0000000000 --- a/packages/addons/browser/chromium/config/Xdefaults +++ /dev/null @@ -1 +0,0 @@ -Xft.dpi: 96 diff --git a/packages/addons/browser/chromium/config/pango.modules b/packages/addons/browser/chromium/config/pango.modules deleted file mode 100644 index 3a7ae71db4..0000000000 --- a/packages/addons/browser/chromium/config/pango.modules +++ /dev/null @@ -1,13 +0,0 @@ -/storage/.kodi/addons/browser.chromium/pango-modules/pango-arabic-lang.so ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-basic-fc.so BasicScriptEngineFc PangoEngineShape PangoRenderFc common: -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so gujrIndicScriptEngineLang PangoEngineLang PangoRenderNone gujarati:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so oryaIndicScriptEngineLang PangoEngineLang PangoRenderNone oriya:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so tamlIndicScriptEngineLang PangoEngineLang PangoRenderNone tamil:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so teluIndicScriptEngineLang PangoEngineLang PangoRenderNone telugu:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:* -/storage/.kodi/addons/browser.chromium/pango-modules/pango-indic-lang.so sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:* - diff --git a/packages/addons/browser/chromium/config/pangorc b/packages/addons/browser/chromium/config/pangorc deleted file mode 100644 index e7a942d712..0000000000 --- a/packages/addons/browser/chromium/config/pangorc +++ /dev/null @@ -1,10 +0,0 @@ -# -# pangorc file for uninstalled operation. If pango-viewer is run with -# this file in the current directory it will set it as PANGO_RC_FILE -# - -[Pango] -ModuleFiles = /storage/.kodi/addons/browser.chromium/config/pango.modules - -[PangoX] -AliasFiles = /storage/.kodi/addons/browser.chromium/config/pangx.aliases diff --git a/packages/addons/browser/chromium/config/pixbuf.loaders.cache b/packages/addons/browser/chromium/config/pixbuf.loaders.cache deleted file mode 100644 index 62ef3707da..0000000000 --- a/packages/addons/browser/chromium/config/pixbuf.loaders.cache +++ /dev/null @@ -1,125 +0,0 @@ -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-jpeg.so" -"jpeg" 5 "gdk-pixbuf" "The JPEG image format" "LGPL" -"image/jpeg" "" -"jpeg" "jpe" "jpg" "" -"\377\330" "" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-ani.so" -"ani" 4 "gdk-pixbuf" "The ANI image format" "LGPL" -"application/x-navi-animation" "" -"ani" "" -"RIFF ACON" " xxxx " 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-ico.so" -"ico" 5 "gdk-pixbuf" "The ICO image format" "LGPL" -"image/x-icon" "image/x-ico" "image/x-win-bitmap" "" -"ico" "cur" "" -" \001 " "zz znz" 100 -" \002 " "zz znz" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-ras.so" -"ras" 4 "gdk-pixbuf" "The Sun raster image format" "LGPL" -"image/x-cmu-raster" "image/x-sun-raster" "" -"ras" "" -"Y\246j\225" "" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-jasper.so" -"jpeg2000" 4 "gdk-pixbuf" "The JPEG 2000 image format" "LGPL" -"image/jp2" "image/jpeg2000" "image/jpx" "" -"jp2" "jpc" "jpx" "j2k" "jpf" "" -" jP" "!!!! " 100 -"\377O\377Q" "" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-wbmp.so" -"wbmp" 4 "gdk-pixbuf" "The WBMP image format" "LGPL" -"image/vnd.wap.wbmp" "" -"wbmp" "" -" " "zz" 1 -" `" "z " 1 -" @" "z " 1 -" " "z " 1 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-png.so" -"png" 5 "gdk-pixbuf" "The PNG image format" "LGPL" -"image/png" "" -"png" "" -"\211PNG\r\n\032\n" "" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-pcx.so" -"pcx" 4 "gdk-pixbuf" "The PCX image format" "LGPL" -"image/x-pcx" "" -"pcx" "" -"\n \001" "" 100 -"\n\002\001" "" 100 -"\n\003\001" "" 100 -"\n\004\001" "" 100 -"\n\005\001" "" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-qtif.so" -"qtif" 4 "gdk-pixbuf" "The QTIF image format" "LGPL" -"image/x-quicktime" "image/qtif" "" -"qtif" "qif" "" -"abcdidsc" "xxxx " 100 -"abcdidat" "xxxx " 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-tiff.so" -"tiff" 5 "gdk-pixbuf" "The TIFF image format" "LGPL" -"image/tiff" "" -"tiff" "tif" "" -"MM *" " z " 100 -"II* " " z" 100 -"II* \020 CR\002 " " z zzz z" 0 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-icns.so" -"icns" 4 "gdk-pixbuf" "The ICNS image format" "GPL" -"image/x-icns" "" -"icns" "" -"icns" "" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-tga.so" -"tga" 4 "gdk-pixbuf" "The Targa image format" "LGPL" -"image/x-tga" "" -"tga" "targa" "" -" \001\001" "x " 100 -" \001\t" "x " 100 -" \002" "xz " 99 -" \003" "xz " 100 -" \n" "xz " 100 -" \v" "xz " 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-bmp.so" -"bmp" 5 "gdk-pixbuf" "The BMP image format" "LGPL" -"image/bmp" "image/x-bmp" "image/x-MS-bmp" "" -"bmp" "" -"BM" "" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-xbm.so" -"xbm" 4 "gdk-pixbuf" "The XBM image format" "LGPL" -"image/x-xbitmap" "" -"xbm" "" -"#define " "" 100 -"/*" "" 50 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-xpm.so" -"xpm" 4 "gdk-pixbuf" "The XPM image format" "LGPL" -"image/x-xpixmap" "" -"xpm" "" -"/* XPM */" "" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-pnm.so" -"pnm" 4 "gdk-pixbuf" "The PNM/PBM/PGM/PPM image format family" "LGPL" -"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" "" -"pnm" "pbm" "pgm" "ppm" "" -"P1" "" 100 -"P2" "" 100 -"P3" "" 100 -"P4" "" 100 -"P5" "" 100 -"P6" "" 100 - -"/storage/.kodi/addons/browser.chromium/gdk-pixbuf-modules/libpixbufloader-gif.so" -"gif" 4 "gdk-pixbuf" "The GIF image format" "LGPL" -"image/gif" "" -"gif" "" -"GIF8" "" 100 - diff --git a/packages/addons/browser/chromium/icon/icon.png b/packages/addons/browser/chromium/icon/icon.png deleted file mode 100644 index 033fb10f71144cab2d1b1e686c1f9ca7f1cbf000..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33372 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%0A2+Rq~0#g2{z{Gop~E|7PFJ$X!?Ze;-Ll$TC@T7 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 YTKdRq*a0hJ`p+{-iOGxB2pb0e9}sCo8~^|S diff --git a/packages/addons/browser/chromium/package.mk b/packages/addons/browser/chromium/package.mk deleted file mode 100644 index 90c9ae84d7..0000000000 --- a/packages/addons/browser/chromium/package.mk +++ /dev/null @@ -1,164 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# 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 OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="chromium" -PKG_VERSION="63.0.3239.108" -PKG_SHA256="47d80798194da78bdd519b7ce012425b13cf89d6eb287e22a34342a245c31a2b" -PKG_REV="108" -PKG_ARCH="x86_64" -PKG_LICENSE="Mixed" -PKG_SITE="http://www.chromium.org/Home" -PKG_URL="https://commondatastorage.googleapis.com/chromium-browser-official/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_HOST="toolchain ninja:host Python2:host" -PKG_DEPENDS_TARGET="chromium:host node:host pciutils dbus libXcomposite libXcursor libXtst alsa-lib bzip2 yasm nss libXScrnSaver libexif libpng atk gtk+ libva-vdpau-driver unclutter xdotool" -PKG_SECTION="browser" -PKG_SHORTDESC="Chromium Browser: the open-source web browser from Google" -PKG_LONGDESC="Chromium Browser ($PKG_VERSION): the open-source web browser from Google" -PKG_TOOLCHAIN="manual" - -PKG_IS_ADDON="yes" -PKG_ADDON_NAME="Chromium" -PKG_ADDON_TYPE="xbmc.python.script" -PKG_ADDON_PROVIDES="executable" - -post_patch() { - cd $(get_build_dir chromium) - - # Use Python 2 - find . -name '*.py' -exec sed -i -r "s|/usr/bin/python$|$TOOLCHAIN/bin/python|g" {} + - - # set correct widevine - sed -i -e 's/@WIDEVINE_VERSION@/Pinkie Pie/' ./third_party/widevine/cdm/stub/widevine_cdm_version.h -} - -make_host() { - ./tools/gn/bootstrap/bootstrap.py --no-rebuild --no-clean --verbose -} - -make_target() { - export LDFLAGS="$LDFLAGS -ludev" - export LD=$CXX - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for OpenELEC use ONLY. For your own distribution, please - # get your own set of keys. - - local _google_api_key=AIzaSyAQ6L9vt9cnN4nM0weaa6Y38K4eyPvtKgI - local _google_default_client_id=740889307901-4bkm4e0udppnp1lradko85qsbnmkfq3b.apps.googleusercontent.com - local _google_default_client_secret=9TJlhL661hvShQub4cWhANXa - - local _flags=( - "host_toolchain=\"//build/toolchain/linux:x64_host\"" - 'is_clang=false' - 'clang_use_chrome_plugins=false' - 'symbol_level=0' - 'is_debug=false' - 'fatal_linker_warnings=false' - 'treat_warnings_as_errors=false' - 'fieldtrial_testing_like_official_build=true' - 'remove_webcore_debug_symbols=true' - 'ffmpeg_branding="Chrome"' - 'proprietary_codecs=true' - 'link_pulseaudio=true' - 'linux_use_bundled_binutils=false' - 'use_allocator="none"' - 'use_cups=false' - 'use_custom_libcxx=false' - 'use_gconf=false' - 'use_gnome_keyring=false' - 'use_gold=false' - 'use_gtk3=false' - 'use_kerberos=false' - 'use_pulseaudio=false' - 'use_sysroot=true' - 'use_vaapi=true' - 'use_v8_context_snapshot=false' - 'enable_vulkan=false' - "target_sysroot=\"${SYSROOT_PREFIX}\"" - 'exclude_unwind_tables=true' - 'enable_hangout_services_extension=true' - 'enable_widevine=true' - 'enable_nacl=false' - 'enable_nacl_nonsfi=false' - 'enable_swiftshader=false' - 'enable_vulkan=false' - "google_api_key=\"${_google_api_key}\"" - "google_default_client_id=\"${_google_default_client_id}\"" - "google_default_client_secret=\"${_google_default_client_secret}\"" - ) - - ./third_party/libaddressinput/chromium/tools/update-strings.py - - ./out/Release/gn gen out/Release --args="${_flags[*]}" --script-executable=$TOOLCHAIN/bin/python - mkdir -p $PKG_BUILD/third_party/node/linux/node-linux-x64/bin - ln -fs $TOOLCHAIN/bin/node $PKG_BUILD/third_party/node/linux/node-linux-x64/bin/node - - ninja -j${CONCURRENCY_MAKE_LEVEL} -C out/Release chrome chrome_sandbox widevinecdmadapter -} - -addon() { - mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $PKG_BUILD/out/Release/chrome $ADDON_BUILD/$PKG_ADDON_ID/bin/chromium.bin - cp -P $PKG_BUILD/out/Release/chrome_sandbox $ADDON_BUILD/$PKG_ADDON_ID/bin/chrome-sandbox - cp -P $PKG_BUILD/out/Release/{*.pak,*.dat,*.bin,libwidevinecdmadapter.so} $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -PR $PKG_BUILD/out/Release/locales $ADDON_BUILD/$PKG_ADDON_ID/bin/ - cp -PR $PKG_BUILD/out/Release/gen/content/content_resources.pak $ADDON_BUILD/$PKG_ADDON_ID/bin/ - - # config - mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config - cp -P $PKG_DIR/config/* $ADDON_BUILD/$PKG_ADDON_ID/config - - mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib - - # pango - cp -PL $(get_build_dir pango)/.install_pkg/usr/lib/libpangocairo-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - cp -PL $(get_build_dir pango)/.install_pkg/usr/lib/libpango-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - cp -PL $(get_build_dir pango)/.install_pkg/usr/lib/libpangoft2-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - - # cairo - cp -PL $(get_build_dir cairo)/.install_pkg/usr/lib/libcairo.so.2 $ADDON_BUILD/$PKG_ADDON_ID/lib - - # gtk - cp -PL $(get_build_dir gtk+)/.install_pkg/usr/lib/libgdk-x11-2.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - cp -PL $(get_build_dir gtk+)/.install_pkg/usr/lib/libgtk-x11-2.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - - # harfbuzz - cp -PL $(get_build_dir harfbuzz)/.install_pkg/usr/lib/libharfbuzz.so* $ADDON_BUILD/$PKG_ADDON_ID/lib - cp -PL $(get_build_dir harfbuzz)/.install_pkg/usr/lib/libharfbuzz-icu.so* $ADDON_BUILD/$PKG_ADDON_ID/lib - - # gdk-pixbuf - cp -PL $(get_build_dir gdk-pixbuf)/.install_pkg/usr/lib/libgdk_pixbuf-2.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib - - # pixbuf loaders - mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/gdk-pixbuf-modules - cp -PL $(get_build_dir gdk-pixbuf)/.install_pkg/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/* $ADDON_BUILD/$PKG_ADDON_ID/gdk-pixbuf-modules - - # libexif - cp -PL $(get_build_dir libexif)/.install_pkg/usr/lib/* $ADDON_BUILD/$PKG_ADDON_ID/lib - - # libva-vdpau-driver - cp -PL $(get_build_dir libva-vdpau-driver)/.install_pkg/usr/lib/dri/*.so $ADDON_BUILD/$PKG_ADDON_ID/lib - - # unclutter - cp -P $(get_build_dir unclutter)/.install_pkg/usr/bin/unclutter $ADDON_BUILD/$PKG_ADDON_ID/bin - - # xdotool - cp -P $(get_build_dir xdotool)/xdotool $ADDON_BUILD/$PKG_ADDON_ID/bin -} diff --git a/packages/addons/browser/chromium/patches/chromium-0001_widevine.patch b/packages/addons/browser/chromium/patches/chromium-0001_widevine.patch deleted file mode 100644 index a67ae8b1c1..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0001_widevine.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h ---- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200 -+++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200 -@@ -12,4 +12,6 @@ - - #define WIDEVINE_CDM_AVAILABLE - -+#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@" -+ - #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/packages/addons/browser/chromium/patches/chromium-0002-allow-root.patch b/packages/addons/browser/chromium/patches/chromium-0002-allow-root.patch deleted file mode 100644 index eccfbbf87c..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0002-allow-root.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- chromium-59.0.3071.109/./chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.org 2017-06-26 20:32:34.907628561 +0200 -+++ chromium-59.0.3071.109/./chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc 2017-06-26 20:31:05.855206203 +0200 -@@ -99,7 +99,7 @@ - IMEDriver::Register(); - #endif - --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if 0 - // On the Linux desktop, we want to prevent the user from logging in as root, - // so that we don't destroy the profile. Now that we have some minimal ui - // initialized, check to see if we're running as root and bail if we are. diff --git a/packages/addons/browser/chromium/patches/chromium-0003_oe-root-filesystem-is-readonly.patch b/packages/addons/browser/chromium/patches/chromium-0003_oe-root-filesystem-is-readonly.patch deleted file mode 100644 index 4982ee8b0b..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0003_oe-root-filesystem-is-readonly.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/sandbox/linux/suid/client/setuid_sandbox_client.cc 2015-11-13 03:04:19.000000000 -0800 -+++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc 2016-01-12 22:06:26.291831672 -0800 -@@ -123,7 +123,6 @@ - - // We now consider ourselves "fully sandboxed" as far as the - // setuid sandbox is concerned. -- CHECK(IsFileSystemAccessDenied()); - sandboxed_ = true; - return true; - } diff --git a/packages/addons/browser/chromium/patches/chromium-0004-vaapi-on-linux.patch b/packages/addons/browser/chromium/patches/chromium-0004-vaapi-on-linux.patch deleted file mode 100644 index b8dff361a7..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0004-vaapi-on-linux.patch +++ /dev/null @@ -1,722 +0,0 @@ -From 7f29b44224439377592be2b75da0b86d82d8ad6d Mon Sep 17 00:00:00 2001 -From: Daniel Charles -Date: Wed, 18 Oct 2017 17:27:42 -0700 -Subject: [PATCH] Enable VAVDA, VAVEA and VAJDA on linux with VAAPI only - -This patch contains all the changes necessary to use VA-API along with -vaapi-driver to run all media use cases supported with hardware acceleration. - -It is intended to remain as experimental accessible from chrome://flags on linux. -It requires libva/intel-vaapi-driver to be installed on the system path where -chrome is executed. Other drivers could be tested if available. Flags are -kept independent for linux, where this feature has to be enabled before -actually using it. This should not change how other OSes use the flags -already, the new flags will show at the buttom on the section of unavailable -experiments - -The changes cover a range of compiler pre-processor flags to enable the stack. -It moves the presandbox operations to the vaapi_wrapper class as the hook function -is available there. vaInit will open driver on the correct installed folder. - -chrome flags consolidtation into only two flags for linux. Mjpeg and accelerated -video are used. The other flags are kept for ChromeOS and other OSes. - -Developer testing was made on skylake hardware, ChromeOS and Ubuntu. - -BUG=NONE -TEST="subjective testing with VAVDA,VAVEA and VAJDA, autotest for encoder" -TEST="and decoder hardware accelerated" -TEST="have libva/intel-vaapi-driver installed and not installed in the system" -TEST="repeat on different hardware families" -R=posciak@chromium.org -R=kcwu@chromium.org - -Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel -Change-Id: Ifbbf5c9e5221a8b5733fc6d4d0cf984a1f103171 -Signed-off-by: Daniel Charles ---- - -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index 3555293..4c3115f 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1246,12 +1246,14 @@ - flag_descriptions::kUiPartialSwapDescription, kOsAll, - SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)}, - #if BUILDFLAG(ENABLE_WEBRTC) -+#if !defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) - {"disable-webrtc-hw-decoding", flag_descriptions::kWebrtcHwDecodingName, - flag_descriptions::kWebrtcHwDecodingDescription, kOsAndroid | kOsCrOS, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding)}, - {"disable-webrtc-hw-encoding", flag_descriptions::kWebrtcHwEncodingName, - flag_descriptions::kWebrtcHwEncodingDescription, kOsAndroid | kOsCrOS, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWEncoding)}, -+#endif - {"enable-webrtc-hw-h264-encoding", - flag_descriptions::kWebrtcHwH264EncodingName, - flag_descriptions::kWebrtcHwH264EncodingDescription, kOsAndroid | kOsCrOS, -@@ -1557,6 +1559,13 @@ - flag_descriptions::kSpuriousPowerButtonLidAngleChangeDescription, kOsCrOS, - MULTI_VALUE_TYPE(kSpuriousPowerButtonLidAngleChangeChoices)}, - #endif // OS_CHROMEOS -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ { -+ "enable-accelerated-video", flag_descriptions::kAcceleratedVideoName, -+ flag_descriptions::kAcceleratedVideoDescription, kOsLinux, -+ SINGLE_VALUE_TYPE(switches::kEnableAcceleratedVideo), -+ }, -+#else - { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, -@@ -1564,6 +1573,7 @@ - kOsMac | kOsWin | kOsCrOS | kOsAndroid, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, -+#endif - {"mojo-video-encode-accelerator", - flag_descriptions::kMojoVideoEncodeAcceleratorName, - flag_descriptions::kMojoVideoEncodeAcceleratorDescription, -@@ -2229,12 +2239,17 @@ - FEATURE_VALUE_TYPE(features::kWebVrVsyncAlign)}, - #endif // OS_ANDROID - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ {"enable-accelerated-mjpeg-decode", -+ flag_descriptions::kAcceleratedMjpegDecodeName, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsLinux, -+ SINGLE_VALUE_TYPE(switches::kEnableAcceleratedMjpegDecode)}, -+#elif defined(OS_CHROMEOS) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, - flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif - {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, - flag_descriptions::kV8CacheOptionsDescription, kOsAll, - MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, -diff --git a/chrome/browser/chromeos/login/chrome_restart_request.cc b/chrome/browser/chromeos/login/chrome_restart_request.cc -index 3815e79..d5d3712 100644 ---- a/chrome/browser/chromeos/login/chrome_restart_request.cc -+++ b/chrome/browser/chromeos/login/chrome_restart_request.cc -@@ -19,6 +19,7 @@ - #include "base/sys_info.h" - #include "base/timer/timer.h" - #include "base/values.h" -+#include "build/build_config.h" - #include "cc/base/switches.h" - #include "chrome/browser/browser_process.h" - #include "chrome/browser/chromeos/boot_times_recorder.h" -@@ -79,8 +80,13 @@ - ::switches::kDisable2dCanvasImageChromium, - ::switches::kDisableAccelerated2dCanvas, - ::switches::kDisableAcceleratedJpegDecoding, -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ ::switches::kEnableAcceleratedMjpegDecode, -+ ::switches::kEnableAcceleratedVideo, -+#else - ::switches::kDisableAcceleratedMjpegDecode, - ::switches::kDisableAcceleratedVideoDecode, -+#endif - ::switches::kDisableBlinkFeatures, - ::switches::kDisableCastStreamingHWEncoding, - ::switches::kDisableDistanceFieldText, -@@ -166,7 +172,7 @@ - ::switches::kDisableWebGLImageChromium, - ::switches::kEnableWebGLImageChromium, - ::switches::kEnableWebVR, --#if BUILDFLAG(ENABLE_WEBRTC) -+#if BUILDFLAG(ENABLE_WEBRTC) && (defined(OS_CHROMEOS) || defined(OS_ANDROID)) - ::switches::kDisableWebRtcHWDecoding, - ::switches::kDisableWebRtcHWEncoding, - #endif -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 74e6bc7..ab184a5 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -14,6 +14,13 @@ - "Enables the use of the GPU to perform 2d canvas rendering instead of " - "using software rendering."; - -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+const char kAcceleratedVideoName[] = "Hardware-accelerated video"; -+const char kAcceleratedVideoDescription[] = -+ "Hardware-accelerated video where VA-API driver is installed on the" -+ "system."; -+#endif -+ - const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode"; - const char kAcceleratedVideoDecodeDescription[] = - "Hardware-accelerated video decode where available."; -@@ -1478,6 +1485,7 @@ - const char kWebrtcEchoCanceller3Description[] = - "Experimental WebRTC echo canceller (AEC3)."; - -+#if !defined(OS_LINUX) || !defined(OS_CHROMEOS) - const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding"; - const char kWebrtcHwDecodingDescription[] = - "Support in WebRTC for decoding video streams using platform hardware."; -@@ -1485,6 +1493,7 @@ - const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding"; - const char kWebrtcHwEncodingDescription[] = - "Support in WebRTC for encoding video streams using platform hardware."; -+#endif - - const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding"; - const char kWebrtcHwH264EncodingDescription[] = -@@ -2283,14 +2292,16 @@ - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; - const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; -+#endif - -+#if defined(OS_CHROMEOS) - const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click"; - const char kAllowTouchpadThreeFingerClickDescription[] = - "Enables touchpad three-finger-click as middle button."; -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index 54a4950..5ace5e0 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -37,6 +37,10 @@ - extern const char kAccelerated2dCanvasName[]; - extern const char kAccelerated2dCanvasDescription[]; - -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+extern const char kAcceleratedVideoName[]; -+extern const char kAcceleratedVideoDescription[]; -+#endif - extern const char kAcceleratedVideoDecodeName[]; - extern const char kAcceleratedVideoDecodeDescription[]; - -@@ -1401,13 +1405,17 @@ - - #endif // defined(OS_MACOSX) - --// Chrome OS ------------------------------------------------------------------ -- --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+#endif -+ -+// Chrome OS ------------------------------------------------------------------ -+ -+#if defined(OS_CHROMEOS) -+ - extern const char kAllowTouchpadThreeFingerClickName[]; - extern const char kAllowTouchpadThreeFingerClickDescription[]; - -diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc -index 122282d..bc102a3 100644 ---- a/content/browser/gpu/compositor_util.cc -+++ b/content/browser/gpu/compositor_util.cc -@@ -105,7 +105,11 @@ - {"video_decode", - manager->IsFeatureBlacklisted( - gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE), -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ !command_line.HasSwitch(switches::kEnableAcceleratedVideo), -+#else - command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode), -+#endif - "Accelerated video decode has been disabled, either via blacklist," - " about:flags or the command line.", - true}, -@@ -113,7 +117,11 @@ - {"video_encode", - manager->IsFeatureBlacklisted( - gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE), -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ !command_line.HasSwitch(switches::kEnableAcceleratedVideo), -+#else - command_line.HasSwitch(switches::kDisableWebRtcHWEncoding), -+#endif - "Accelerated video encode has been disabled, either via blacklist," - " about:flags or the command line.", - true}, -diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc -index 51aa672..963da85 100644 ---- a/content/browser/gpu/gpu_data_manager_impl_private.cc -+++ b/content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -717,7 +717,11 @@ - DCHECK(command_line); - - if (ShouldDisableAcceleratedVideoDecode(command_line)) -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ command_line->AppendSwitch(switches::kEnableAcceleratedVideo); -+#else - command_line->AppendSwitch(switches::kDisableAcceleratedVideoDecode); -+#endif - - #if defined(USE_AURA) - if (!CanUseGpuBrowserCompositor()) -@@ -748,7 +752,11 @@ - } - - if (ShouldDisableAcceleratedVideoDecode(command_line)) { -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ command_line->AppendSwitch(switches::kEnableAcceleratedVideo); -+#else - command_line->AppendSwitch(switches::kDisableAcceleratedVideoDecode); -+#endif - } - - #if defined(USE_OZONE) -@@ -826,7 +834,12 @@ - const base::CommandLine* command_line = - base::CommandLine::ForCurrentProcess(); - if (!ShouldDisableAcceleratedVideoDecode(command_line) && -- !command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode)) { -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ command_line->HasSwitch(switches::kEnableAcceleratedVideo) -+#else -+ !command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) -+#endif -+ ) { - prefs->pepper_accelerated_video_decode_enabled = true; - } - } -@@ -1016,7 +1029,13 @@ - // to resolve crbug/442039 has been collected. - const std::string group_name = base::FieldTrialList::FindFullName( - "DisableAcceleratedVideoDecode"); -- if (command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode)) { -+ if ( -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ !command_line->HasSwitch(switches::kEnableAcceleratedVideo) -+#else -+ command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) -+#endif -+ ) { - // It was already disabled on the command line. - return false; - } -diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index 95d4dff..9b26d3f 100644 ---- a/content/browser/gpu/gpu_process_host.cc -+++ b/content/browser/gpu/gpu_process_host.cc -@@ -111,7 +111,11 @@ - - // Command-line switches to propagate to the GPU process. - static const char* const kSwitchNames[] = { -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ switches::kEnableAcceleratedVideo, -+#else - switches::kDisableAcceleratedVideoDecode, -+#endif - switches::kDisableBreakpad, - switches::kDisableGpuRasterization, - switches::kDisableGpuSandbox, -@@ -120,7 +124,7 @@ - switches::kDisableLogging, - switches::kDisableSeccompFilterSandbox, - switches::kDisableShaderNameHashing, --#if BUILDFLAG(ENABLE_WEBRTC) -+#if BUILDFLAG(ENABLE_WEBRTC) && !defined(OS_LINUX) - switches::kDisableWebRtcHWEncoding, - #endif - #if defined(OS_WIN) -diff --git a/content/browser/renderer_host/media/video_capture_browsertest.cc b/content/browser/renderer_host/media/video_capture_browsertest.cc -index 8ca0ad0..8c489d0 100644 ---- a/content/browser/renderer_host/media/video_capture_browsertest.cc -+++ b/content/browser/renderer_host/media/video_capture_browsertest.cc -@@ -155,8 +155,13 @@ - base::CommandLine::ForCurrentProcess()->AppendSwitch( - switches::kUseFakeJpegDecodeAccelerator); - } else { -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ base::CommandLine::ForCurrentProcess()->AppendSwitch( -+ switches::kEnableAcceleratedMjpegDecode); -+#else - base::CommandLine::ForCurrentProcess()->AppendSwitch( - switches::kDisableAcceleratedMjpegDecode); -+#endif - } - if (params_.use_mojo_service) { - base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( -diff --git a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc -index 34afec23..ad77490 100644 ---- a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc -+++ b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc -@@ -56,15 +56,21 @@ - bool is_platform_supported = - base::CommandLine::ForCurrentProcess()->HasSwitch( - switches::kUseFakeJpegDecodeAccelerator); --#if defined(OS_CHROMEOS) -- // Non-ChromeOS platforms do not support HW JPEG decode now. Do not establish -- // gpu channel to avoid introducing overhead. -+#if !defined(OS_ANDROID) && defined(OS_LINUX) -+ // Non-ChromeOS or Non-Linux platforms do not support HW JPEG decode now. Do -+ // not establish gpu channel to avoid introducing overhead. - is_platform_supported = true; - #endif - - if (!is_platform_supported || -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+ !base::CommandLine::ForCurrentProcess()->HasSwitch( -+ switches::kEnableAcceleratedMjpegDecode) -+#else - base::CommandLine::ForCurrentProcess()->HasSwitch( -- switches::kDisableAcceleratedMjpegDecode)) { -+ switches::kDisableAcceleratedMjpegDecode) -+#endif -+ ) { - decoder_status_ = FAILED; - RecordInitDecodeUMA_Locked(); - return; -diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index fbe4d21..1be295e 100644 ---- a/content/browser/renderer_host/render_process_host_impl.cc -+++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2506,7 +2506,11 @@ - switches::kDefaultTileHeight, - switches::kDisable2dCanvasImageChromium, - switches::kDisableAcceleratedJpegDecoding, -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+ switches::kEnableAcceleratedVideo, -+#else - switches::kDisableAcceleratedVideoDecode, -+#endif - switches::kDisableBackgroundTimerThrottling, - switches::kDisableBreakpad, - switches::kDisableBrowserSideNavigation, -@@ -2660,8 +2664,10 @@ - switches::kDisableMojoRenderer, - #endif - #if BUILDFLAG(ENABLE_WEBRTC) -+#if !defined(OS_LINUX) || defined(OS_CHROMEOS) - switches::kDisableWebRtcHWDecoding, - switches::kDisableWebRtcHWEncoding, -+#endif - switches::kEnableWebRtcSrtpAesGcm, - switches::kEnableWebRtcSrtpEncryptedHeaders, - switches::kEnableWebRtcStunOrigin, -diff --git a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc -index 3d815a2..2c96048 100644 ---- a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc -+++ b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc -@@ -58,7 +58,12 @@ - return; - // This flag is also used for encoding, https://crbug.com/616640. - base::CommandLine::ForCurrentProcess()->AppendSwitch( -- switches::kDisableAcceleratedVideoDecode); -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+ switches::kEnableAcceleratedVideo -+#else -+ switches::kDisableAcceleratedVideoDecode -+#endif -+ ); - } - - private: -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index a5424bb..b68b802 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -45,7 +45,6 @@ - ] - - configs += [ "//content:content_implementation" ] -- - deps = [ - "//base", - "//base/third_party/dynamic_annotations", -@@ -114,4 +113,8 @@ - if (enable_vulkan) { - deps += [ "//gpu/vulkan" ] - } -+ -+ if (is_desktop_linux) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index 556cf00..730f4ae 100644 ---- a/content/gpu/gpu_main.cc -+++ b/content/gpu/gpu_main.cc -@@ -254,7 +254,7 @@ - // Initializes StatisticsRecorder which tracks UMA histograms. - base::StatisticsRecorder::Initialize(); - --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) - // Set thread priority before sandbox initialization. - base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY); - #endif -@@ -283,7 +283,7 @@ - GetContentClient()->SetGpuInfo(gpu_init->gpu_info()); - - base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) - io_thread_priority = base::ThreadPriority::DISPLAY; - #endif - -diff --git a/content/public/browser/gpu_utils.cc b/content/public/browser/gpu_utils.cc -index 6aafb06..d4ddd8d 100644 ---- a/content/public/browser/gpu_utils.cc -+++ b/content/public/browser/gpu_utils.cc -@@ -7,6 +7,7 @@ - #include "base/command_line.h" - #include "base/single_thread_task_runner.h" - #include "base/strings/string_number_conversions.h" -+#include "build/build_config.h" - #include "content/browser/gpu/gpu_process_host.h" - #include "content/public/common/content_features.h" - #include "content/public/common/content_switches.h" -@@ -57,12 +58,19 @@ - gpu_preferences.ui_prioritize_in_gpu_process = - command_line->HasSwitch(switches::kUIPrioritizeInGpuProcess); - gpu_preferences.disable_accelerated_video_decode = -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+ !command_line->HasSwitch(switches::kEnableAcceleratedVideo); -+#else - command_line->HasSwitch(switches::kDisableAcceleratedVideoDecode); --#if defined(OS_CHROMEOS) -+#endif -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+ gpu_preferences.disable_vaapi_accelerated_video_encode = -+ !command_line->HasSwitch(switches::kEnableAcceleratedVideo); -+#elif defined(OS_CHROMEOS) - gpu_preferences.disable_vaapi_accelerated_video_encode = - command_line->HasSwitch(switches::kDisableVaapiAcceleratedVideoEncode); - #endif --#if BUILDFLAG(ENABLE_WEBRTC) -+#if BUILDFLAG(ENABLE_WEBRTC) && (!defined(OS_LINUX) || defined(OS_CHROMEOS)) - gpu_preferences.disable_web_rtc_hw_encoding = - command_line->HasSwitch(switches::kDisableWebRtcHWEncoding); - #endif -diff --git a/content/public/common/content_switches.cc b/content/public/common/content_switches.cc -index 4e699d1..3a7a2b7 100644 ---- a/content/public/common/content_switches.cc -+++ b/content/public/common/content_switches.cc -@@ -89,12 +89,21 @@ - - // Disable gpu-accelerated 2d canvas. - const char kDisableAccelerated2dCanvas[] = "disable-accelerated-2d-canvas"; -- -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+// Enable hardware accelerated mjpeg decode on linux -+const char kEnableAcceleratedMjpegDecode[] = "enable-accelerated-mjpeg-decode"; -+#else - // Disable hardware acceleration of mjpeg decode for captured frame, where - // available. - const char kDisableAcceleratedMjpegDecode[] = - "disable-accelerated-mjpeg-decode"; -+#endif - -+#if defined(OS_LINUX) -+// Enables hardware acceleration of video for Linux only. VA-API driver -+// is required to be present on the system installation. -+const char kEnableAcceleratedVideo[] = "enable-accelerated-video"; -+#endif - // Disables hardware acceleration of video decode, where available. - const char kDisableAcceleratedVideoDecode[] = - "disable-accelerated-video-decode"; -@@ -932,11 +941,13 @@ - // ignores this switch on its stable and beta channels. - const char kDisableWebRtcEncryption[] = "disable-webrtc-encryption"; - -+#if defined(OS_CHROMEOS) - // Disables HW decode acceleration for WebRTC. - const char kDisableWebRtcHWDecoding[] = "disable-webrtc-hw-decoding"; - - // Disables HW encode acceleration for WebRTC. - const char kDisableWebRtcHWEncoding[] = "disable-webrtc-hw-encoding"; -+#endif - - // Enables negotiation of GCM cipher suites from RFC 7714 for SRTP in WebRTC. - // See https://tools.ietf.org/html/rfc7714 for further information. -diff --git a/content/public/common/content_switches.h b/content/public/common/content_switches.h -index 2704924..67d00bb 100644 ---- a/content/public/common/content_switches.h -+++ b/content/public/common/content_switches.h -@@ -35,7 +35,11 @@ - CONTENT_EXPORT extern const char kDisable3DAPIs[]; - CONTENT_EXPORT extern const char kDisableAccelerated2dCanvas[]; - CONTENT_EXPORT extern const char kDisableAcceleratedJpegDecoding[]; -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+CONTENT_EXPORT extern const char kEnableAcceleratedMjpegDecode[]; -+#else - CONTENT_EXPORT extern const char kDisableAcceleratedMjpegDecode[]; -+#endif - CONTENT_EXPORT extern const char kDisableAcceleratedVideoDecode[]; - CONTENT_EXPORT extern const char kDisableAudioSupportForDesktopShare[]; - extern const char kDisableBackingStoreLimit[]; -@@ -109,6 +113,9 @@ - CONTENT_EXPORT extern const char kDomAutomationController[]; - extern const char kDisable2dCanvasClipAntialiasing[]; - CONTENT_EXPORT extern const char kDumpBlinkRuntimeCallStats[]; -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+CONTENT_EXPORT extern const char kEnableAcceleratedVideo[]; -+#endif - CONTENT_EXPORT extern const char kEnableAggressiveDOMStorageFlushing[]; - CONTENT_EXPORT extern const char kEnableAutomation[]; - CONTENT_EXPORT extern const char kEnablePreferCompositingToLCDText[]; -@@ -256,8 +263,10 @@ - - #if BUILDFLAG(ENABLE_WEBRTC) - CONTENT_EXPORT extern const char kDisableWebRtcEncryption[]; -+#if defined(OS_CHROMEOS) - CONTENT_EXPORT extern const char kDisableWebRtcHWDecoding[]; - CONTENT_EXPORT extern const char kDisableWebRtcHWEncoding[]; -+#endif - CONTENT_EXPORT extern const char kEnableWebRtcSrtpAesGcm[]; - CONTENT_EXPORT extern const char kEnableWebRtcSrtpEncryptedHeaders[]; - CONTENT_EXPORT extern const char kEnableWebRtcStunOrigin[]; -diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc -index 017056c..825bdce 100644 ---- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc -+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc -@@ -239,10 +239,19 @@ - - const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); - if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()) { -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+ if (cmd_line->HasSwitch(switches::kEnableAcceleratedVideo)) -+#else - if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWDecoding)) -+#endif - decoder_factory.reset(new RTCVideoDecoderFactory(gpu_factories)); - -- if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) { -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+ if (cmd_line->HasSwitch(switches::kEnableAcceleratedVideo)) -+#else -+ if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) -+#endif -+ { - encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories)); - } - } -diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc -index dc01117..2f9ee03 100644 ---- a/content/renderer/render_thread_impl.cc -+++ b/content/renderer/render_thread_impl.cc -@@ -1456,7 +1456,11 @@ - scoped_refptr media_task_runner = - GetMediaThreadTaskRunner(); - const bool enable_video_accelerator = -+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+ cmd_line->HasSwitch(switches::kEnableAcceleratedVideo); -+#else - !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode); -+#endif - const bool enable_gpu_memory_buffer_video_frames = - #if defined(OS_MACOSX) || defined(OS_LINUX) - !cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames) && -diff --git a/gpu/command_buffer/service/gpu_preferences.h b/gpu/command_buffer/service/gpu_preferences.h -index b37c2cc..a721eb7 100644 ---- a/gpu/command_buffer/service/gpu_preferences.h -+++ b/gpu/command_buffer/service/gpu_preferences.h -@@ -50,7 +50,7 @@ - // Disables hardware acceleration of video decode, where available. - bool disable_accelerated_video_decode = false; - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - // Disables VA-API accelerated video encode. - bool disable_vaapi_accelerated_video_encode = false; - #endif -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index 1289a55..22e11e5 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -374,17 +374,6 @@ - ] - }, - { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, -- { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", - "cr_bugs": [145531, 332596, 571899, 629434], -diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index 490722c..1cda2fb 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -189,7 +189,7 @@ - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_chromeos) { -+ if (current_cpu != "arm" && (is_chromeos || is_desktop_linux)) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 729c6fa..4878251 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -24,6 +24,14 @@ - import("//build/config/mac/mac_sdk.gni") - } - -+if (is_desktop_linux && use_vaapi) { -+ import("//build/config/linux/pkg_config.gni") -+ -+ pkg_config("libva_config") { -+ packages = [ "libva" ] -+ } -+} -+ - if (use_vaapi) { - action("libva_generate_stubs") { - extra_header = "va_stub_header.fragment" -@@ -334,6 +342,9 @@ - "vaapi_drm_picture.h", - ] - } -+ if (is_desktop_linux) { -+ public_configs = [ ":libva_config" ] -+ } - } - - if (is_win) { -diff --git a/media/gpu/gpu_video_decode_accelerator_factory.cc b/media/gpu/gpu_video_decode_accelerator_factory.cc -index 2cee490..de02414 100644 ---- a/media/gpu/gpu_video_decode_accelerator_factory.cc -+++ b/media/gpu/gpu_video_decode_accelerator_factory.cc -@@ -87,6 +87,7 @@ - // profile (instead of calculating a superset). - // TODO(posciak,henryhsu): improve this so that we choose a superset of - // resolutions and other supported profile parameters. -+ DVLOG(1) << "Get Supported profiles"; - #if defined(OS_WIN) - capabilities.supported_profiles = - DXVAVideoDecodeAccelerator::GetSupportedProfiles(gpu_preferences, -diff --git a/media/gpu/vaapi_wrapper.cc b/media/gpu/vaapi_wrapper.cc -index 1e72893..6495642 100644 ---- a/media/gpu/vaapi_wrapper.cc -+++ b/media/gpu/vaapi_wrapper.cc -@@ -1117,6 +1117,7 @@ - if (drm_file.IsValid()) - GetDisplayState()->SetDrmFd(drm_file.GetPlatformFile()); - #endif -+ GetProfileInfos(); // dlopen all necessary libraries - } - - // static diff --git a/packages/addons/browser/chromium/patches/chromium-0005-define-toolchains.patch b/packages/addons/browser/chromium/patches/chromium-0005-define-toolchains.patch deleted file mode 100644 index b512277a4f..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0005-define-toolchains.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- a/build/toolchain/linux/BUILD.gn 2017-08-30 14:08:06.342205027 +0200 -+++ b/build/toolchain/linux/BUILD.gn 2017-08-30 14:15:18.648503216 +0200 -@@ -129,12 +129,13 @@ - } - - gcc_toolchain("x64") { -- cc = "gcc" -- cxx = "g++" -+ toolchainprefix = "x86_64-libreelec-linux-gnu-" -+ cc = "${toolchainprefix}gcc" -+ cxx = "${toolchainprefix}g++" - -- readelf = "readelf" -- nm = "nm" -- ar = "ar" -+ readelf = "${toolchainprefix}readelf" -+ nm = "${toolchainprefix}nm" -+ ar = "${toolchainprefix}ar" - ld = cxx - - # Output linker map files for binary size analysis. -@@ -147,6 +148,26 @@ - } - } - -+gcc_toolchain("x64_host") { -+ toolchainprefix = "host-" -+ cc = "${toolchainprefix}gcc" -+ cxx = "${toolchainprefix}g++" -+ -+ readelf = "readelf" -+ nm = "nm" -+ ar = "ar" -+ ld = cxx -+ -+ # Output linker map files for binary size analysis. -+ enable_linker_map = true -+ -+ toolchain_args = { -+ current_cpu = "x64" -+ current_os = "linux" -+ is_clang = false -+ } -+} -+ - clang_toolchain("clang_mipsel") { - toolchain_args = { - current_cpu = "mipsel" diff --git a/packages/addons/browser/chromium/patches/chromium-0006-exclude_unwind_tables.patch b/packages/addons/browser/chromium/patches/chromium-0006-exclude_unwind_tables.patch deleted file mode 100644 index 67232595dd..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0006-exclude_unwind_tables.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 1fc37227522ccd314f82ec893ed15c6129296604 Mon Sep 17 00:00:00 2001 -From: Paul Jensen -Date: Wed, 11 Oct 2017 08:37:34 -0400 -Subject: [PATCH] Move exclude_unwind_tables back into declare_args - -There is desire to adjust this flag manually. - -BUG=762629 -R=thakis@chromium.org - -Change-Id: I3bd134c19270cd1f729b3ea078674e734493d4ab ---- - -diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni -index ad40fd9..50e19a4 100644 ---- a/build/config/compiler/compiler.gni -+++ b/build/config/compiler/compiler.gni -@@ -68,18 +68,18 @@ - - # Whether or not we should use position independent code. - use_pic = true -+ -+ # Exclude unwind tables for official builds as unwinding can be done from -+ # stack dumps produced by Crashpad at a later time "offline" in the crash -+ # server. For unofficial (e.g. development) builds and non-Chrome branded -+ # (e.g. Cronet which doesn't use Crashpad, crbug.com/479283) builds it's -+ # useful to be able to unwind at runtime. -+ exclude_unwind_tables = (is_chrome_branded && is_official_build) || -+ (is_chromecast && !is_cast_desktop_build && !is_debug) - } - - assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO") - --# Exclude unwind tables for official builds as unwinding can be done from stack --# dumps produced by Crashpad at a later time "offline" in the crash server. --# For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet --# which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able --# to unwind at runtime. --exclude_unwind_tables = (is_chrome_branded && is_official_build) || -- (is_chromecast && !is_cast_desktop_build && !is_debug) -- - # If true, optimize for size. Does not affect windows builds. - # Linux & Mac favor speed over size. - # TODO(brettw) it's weird that Mac and desktop Linux are different. We should diff --git a/packages/addons/browser/chromium/patches/chromium-0007-dont-link-atomic-in-gn.patch b/packages/addons/browser/chromium/patches/chromium-0007-dont-link-atomic-in-gn.patch deleted file mode 100644 index b271dc7379..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0007-dont-link-atomic-in-gn.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py ---- a/tools/gn/bootstrap/bootstrap.py 2017-08-10 17:18:53.767165155 +0200 -+++ b/tools/gn/bootstrap/bootstrap.py 2017-08-10 17:23:28.668750638 +0200 -@@ -657,7 +657,7 @@ - 'base/allocator/allocator_shim.cc', - 'base/allocator/allocator_shim_default_dispatch_to_glibc.cc', - ]) -- libs.extend(['-lrt', '-latomic']) -+ libs.extend(['-lrt']) - static_libraries['libevent']['include_dirs'].extend([ - os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'linux') - ]) diff --git a/packages/addons/browser/chromium/patches/chromium-0008-fix-webrtc.patch b/packages/addons/browser/chromium/patches/chromium-0008-fix-webrtc.patch deleted file mode 100644 index 7b70999719..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0008-fix-webrtc.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- chromium-63.0.3239.84//third_party/webrtc/p2p/base/port.cc.org 2017-12-09 01:53:55.490672425 +0100 -+++ chromium-63.0.3239.84//third_party/webrtc/p2p/base/port.cc 2017-12-09 01:54:10.826751406 +0100 -@@ -12,6 +12,7 @@ - - #include - #include -+#include - - #include "p2p/base/common.h" - #include "p2p/base/portallocator.h" diff --git a/packages/addons/browser/chromium/patches/chromium-0009-fix-gtk_ui.patch b/packages/addons/browser/chromium/patches/chromium-0009-fix-gtk_ui.patch deleted file mode 100644 index edd53b2b02..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0009-fix-gtk_ui.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/chrome/browser/ui/libgtkui/gtk_ui.h 2017-10-19 00:15:47.451704332 +0200 -+++ b/chrome/browser/ui/libgtkui/gtk_ui.h 2017-10-18 23:53:19.328373980 +0200 -@@ -14,6 +14,7 @@ - #include "base/observer_list.h" - #include "chrome/browser/ui/libgtkui/gtk_signal.h" - #include "chrome/browser/ui/libgtkui/libgtkui_export.h" -+#include "chrome/browser/ui/libgtkui/nav_button_layout_manager.h" - #include "ui/gfx/color_utils.h" - #include "ui/views/linux_ui/linux_ui.h" - #include "ui/views/window/frame_buttons.h" diff --git a/packages/addons/browser/chromium/patches/chromium-0010-fix-gcc.patch b/packages/addons/browser/chromium/patches/chromium-0010-fix-gcc.patch deleted file mode 100644 index 0101dfa03a..0000000000 --- a/packages/addons/browser/chromium/patches/chromium-0010-fix-gcc.patch +++ /dev/null @@ -1,16 +0,0 @@ -Source: https://aur.archlinux.org/packages/chromium-vaapi/ chromium-gcc-r1.patch - -diff --git a/base/numerics/safe_math_shared_impl.h b/base/numerics/safe_math_shared_impl.h -index 99f230ce7e9a..de2415d402f5 100644 ---- a/base/numerics/safe_math_shared_impl.h -+++ b/base/numerics/safe_math_shared_impl.h -@@ -21,8 +21,7 @@ - #if !defined(__native_client__) && \ - ((defined(__clang__) && \ - ((__clang_major__ > 3) || \ -- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ -- (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ == 3 && __clang_minor__ >= 4)))) - #include "base/numerics/safe_math_clang_gcc_impl.h" - #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) - #else diff --git a/packages/addons/browser/chromium/source/bin/chromium b/packages/addons/browser/chromium/source/bin/chromium deleted file mode 100644 index 74f59d8f38..0000000000 --- a/packages/addons/browser/chromium/source/bin/chromium +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/sh -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) -# -# OpenELEC 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 of the License, or -# (at your option) any later version. -# -# OpenELEC 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 OpenELEC. If not, see . -################################################################################ -. /etc/profile -oe_setup_addon browser.chromium -if [ -e $ADDON_HOME/env ] -then - . $ADDON_HOME/env -fi - -# drop profile for testing only -#rm -rf /storage/.kodi/userdata/addon_data/browser.chromium/profile - -# fix file permissons (zip packaging) -chmod +x $ADDON_DIR/bin/chromium $ADDON_DIR/bin/chromium.bin -chmod 4755 $ADDON_DIR/bin/chrome-sandbox - -# make sure we use "own" gtk/pango/nss/etc -export LD_LIBRARY_PATH=$ADDON_DIR/lib - -# configure pango/pixbuf -export PANGO_RC_FILE=$ADDON_DIR/config/pangorc -export GDK_PIXBUF_MODULE_FILE=$ADDON_DIR/config/pixbuf.loaders.cache - -# font rendering in gtk widgets is brokeen with nvidia blob. use our Xdefaults -export XENVIRONMENT=$ADDON_DIR/config/Xdefaults - -# start unclutter -if [ "$HIDE_CURSOR" == "true" ] -then - unclutter & - UNCLUTTER_PID=$! -fi - -# vaapi -LIBVA_DRIVERS_PATH="/usr/lib/dri:$ADDON_DIR/lib" -LIBVA_DRIVER_NAME='' -case $VAAPI_MODE in - 'intel') - LIBVA_DRIVER_NAME='i965' - CHROMIUM_OPTS="$CHROMIUM_OPTS --enable-accelerated-video" - ;; - 'amd') - LIBVA_DRIVER_NAME='vdpau' - CHROMIUM_OPTS="$CHROMIUM_OPTS --enable-accelerated-video" - ;; - 'nvidia') - LIBVA_DRIVER_NAME='vdpau' - CHROMIUM_OPTS="$CHROMIUM_OPTS --enable-accelerated-video --allow-no-sandbox-job --disable-gpu-sandbox" - ;; - *) - LIBGL_ALWAYS_SOFTWARE='1' - export LIBGL_ALWAYS_SOFTWARE -esac -export LIBVA_DRIVER_NAME LIBVA_DRIVERS_PATH - -# windowed -case $WINDOW_MODE in - 'maximized') CHROMIUM_OPTS="$CHROMIUM_OPTS --start-maximized";; - 'kiosk') CHROMIUM_OPTS="$CHROMIUM_OPTS --kiosk";; -esac - -# rasterization -case $RASTER_MODE in - 'off') CHROMIUM_OPTS="$CHROMIUM_OPTS --disable-accelerated-2d-canvas --disable-gpu-compositing";; - 'force') CHROMIUM_OPTS="$CHROMIUM_OPTS --enable-gpu-rasterization --enable-accelerated-2d-canvas --ignore-gpu-blacklist";; -esac - -# flash -if [ -e $ADDON_DIR/PepperFlash/libpepflashplayer.so ]; then - CHROMIUM_OPTS="$CHROMIUM_OPTS --ppapi-flash-path=$ADDON_DIR/PepperFlash/libpepflashplayer.so" -fi - -# alsa -if [ ! -z $ALSA_DEVICE ]; then - CHROMIUM_OPTS="$CHROMIUM_OPTS --alsa-output-device=$ALSA_DEVICE" -fi - -# start chromium -LD_PRELOAD=/usr/lib/libGL.so $ADDON_DIR/bin/chromium.bin \ - $CHROMIUM_OPTS \ - --no-sandbox \ - --user-data-dir=$ADDON_HOME/profile \ - --test-type $@ \ - 2>&1 | tee $ADDON_LOG_FILE - -# kill unclutter -if [ "$HIDE_CURSOR" == "true" ] -then - kill $UNCLUTTER_PID -fi diff --git a/packages/addons/browser/chromium/source/default.py b/packages/addons/browser/chromium/source/default.py deleted file mode 100644 index 02bb7f9bc8..0000000000 --- a/packages/addons/browser/chromium/source/default.py +++ /dev/null @@ -1,163 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# 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 OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -import os -import sys -import time -import xbmcaddon -import subprocess -from xml.dom.minidom import parse - -sys.path.append('/usr/share/kodi/addons/service.libreelec.settings') - -import oe - -__addon__ = xbmcaddon.Addon(); -__path__ = os.path.join(__addon__.getAddonInfo('path'), 'bin') + '/' - -pauseXBMC = __addon__.getSetting("PAUSE_XBMC") - -# widevine and flash stuff -def install_flash(): - __url__ = 'https://fpdownload.adobe.com/pub/flashplayer/pdc/24.0.0.186/flash_player_ppapi_linux.x86_64.tar.gz' - __file__ = __url__.split('/')[-1] - __tmp__ = '/tmp/pepperflash/' - __lib__ = 'libpepflashplayer.so' - try: - if not os.path.isdir(__tmp__): - os.mkdir(__tmp__) - if not os.path.exists(__tmp__ + __file__): - oe.download_file(__url__, __tmp__ + __file__) - if not os.path.exists(__tmp__ + __file__): - oe.notify('Chromium', 'Could not download file') - else: - oe.notify('Chromium', 'Extracting libpepflashplayer.so') - if not os.path.isdir(__tmp__ + __file__): - oe.execute('tar zxf ' + __tmp__ + __file__ + ' -C ' + __tmp__ + '') - if not os.path.isdir(__path__ + 'PepperFlash'): - os.mkdir(__path__ + 'PepperFlash') - oe.copy_file(__tmp__ + __lib__, __path__ + 'PepperFlash/' + __lib__) - oe.notify('Chromium', 'Installation of libpepflashplayer.so succeeded') - except Exception, e: - oe.notify('Chromium', 'Installation of libpepflashplayer.so failed') - -def install_widevine(): - __url__ = 'https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb' - __file__ = __url__.split('/')[-1] - __tar__ = 'data.tar.xz' - __tmp__ = '/tmp/widevine/' - __lib__ = 'opt/google/chrome/libwidevinecdm.so' - try: - if not os.path.isdir(__tmp__): - os.mkdir(__tmp__) - if not os.path.exists(__tmp__ + __file__): - oe.download_file(__url__, __tmp__ + __file__) - if not os.path.exists(__tmp__ + __file__): - oe.notify('Chromium', 'Could not download file') - else: - oe.notify('Chromium', 'Extracting libwidevinecdm.so') - if not os.path.isdir(__tmp__ + __tar__): - oe.execute('cd ' + __tmp__ + ' && ar -x ' + __file__) - oe.execute('tar xf ' + __tmp__ + __tar__ + ' -C ' + __tmp__ + ' ./' + __lib__) - oe.copy_file(__tmp__ + __lib__, __path__ + __lib__.split('/')[-1]) - oe.notify('Chromium', 'Installation of libwidevinecdm.so succeeded') - except Exception, e: - oe.notify('Chromium', 'Installation of libwidevinecdm.so failed') - -def pauseXbmc(): - if pauseXBMC == "true": - xbmc.executebuiltin("PlayerControl(Stop)") - xbmc.audioSuspend() - xbmc.enableNavSounds(False) - -def resumeXbmc(): - if pauseXBMC == "true": - xbmc.audioResume() - xbmc.enableNavSounds(True) - -def startChromium(args): - try: - new_env = os.environ.copy() - new_env['VAAPI_MODE'] = __addon__.getSetting('VAAPI_MODE') - new_env['WINDOW_MODE'] = __addon__.getSetting('WINDOW_MODE') - new_env['RASTER_MODE'] = __addon__.getSetting('RASTER_MODE') - - new_env['ALSA_DEVICE'] = '' - if __addon__.getSetting('USE_CUST_AUDIODEVICE') == 'true': - alsa_device = __addon__.getSetting('CUST_AUDIODEVICE_STR') - else: - alsa_device = getAudioDevice() - if not alsa_device == None and not alsa_device == '': - new_env['ALSA_DEVICE'] = alsa_device - - chrome_params = args + ' ' + \ - __addon__.getSetting('HOMEPAGE') - subprocess.call(__path__ + 'chromium ' + chrome_params, shell=True, env=new_env) - except Exception, e: - oe.dbg_log('chromium', unicode(e)) - -def isRuning(pname): - tmp = os.popen("ps -Af").read() - pcount = tmp.count(pname) - if pcount > 0: - return True - return False - -def getAudioDevice(): - try: - dom = parse("/storage/.kodi/userdata/guisettings.xml") - audiooutput=dom.getElementsByTagName('audiooutput') - for node in audiooutput: - dev = node.getElementsByTagName('audiodevice')[0].childNodes[0].nodeValue - if dev.startswith("ALSA:"): - dev = dev.split("ALSA:")[1] - if dev == "@": - return None - if dev.startswith("@:"): - dev = dev.split("@:")[1] - else: - # not ALSA - return None - except: - return None - if dev.startswith("CARD="): - dev = "plughw:" + dev - return dev - -if (not __addon__.getSetting("firstrun")): - __addon__.setSetting("firstrun", "1") - __addon__.openSettings() - -try: - args = ' '.join(sys.argv[1:]) -except: - args = "" - -if args == 'widevine': - install_widevine() -elif args == 'flash': - install_flash() -else: - if not isRuning('chromium.bin'): - pauseXbmc() - startChromium(args) - while isRuning('chromium.bin'): - time.sleep(1) - resumeXbmc() diff --git a/packages/addons/browser/chromium/source/resources/language/English/strings.xml b/packages/addons/browser/chromium/source/resources/language/English/strings.xml deleted file mode 100644 index c3837d366d..0000000000 --- a/packages/addons/browser/chromium/source/resources/language/English/strings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - General - Actions - Chromium Configuration - Stop Kodi Player and Suspend AudioEngine - HW Acceleration Mode - Rasterization Mode - Window Mode - Default Homepage - Use Custom Audio Device - Audio Device - Hide Cursor - Chromium Actions - Install libwidevinecdm.so (Netflix Support) - Install libpepflashplayer.so (Flash Player Support) - diff --git a/packages/addons/browser/chromium/source/resources/settings.xml b/packages/addons/browser/chromium/source/resources/settings.xml deleted file mode 100644 index 75c56dbba7..0000000000 --- a/packages/addons/browser/chromium/source/resources/settings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - From b93d8557430eae122be845936153ade4dbcb2725 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Thu, 31 May 2018 13:25:45 -0700 Subject: [PATCH 02/28] libva-vdpau-driver: remove package --- .../libva-vdpau-driver/package.mk | 34 ------------------- ...libva-vdpau-driver-0001_drop-formats.patch | 29 ---------------- ...driver-0002_glext-missing-definition.patch | 16 --------- ...libva-vdpau-driver-0003_libvdpau-0.8.patch | 11 ------ 4 files changed, 90 deletions(-) delete mode 100644 packages/addons/addon-depends/libva-vdpau-driver/package.mk delete mode 100644 packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0001_drop-formats.patch delete mode 100644 packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0002_glext-missing-definition.patch delete mode 100644 packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0003_libvdpau-0.8.patch diff --git a/packages/addons/addon-depends/libva-vdpau-driver/package.mk b/packages/addons/addon-depends/libva-vdpau-driver/package.mk deleted file mode 100644 index 282b4a14f3..0000000000 --- a/packages/addons/addon-depends/libva-vdpau-driver/package.mk +++ /dev/null @@ -1,34 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) -# -# OpenELEC 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 of the License, or -# (at your option) any later version. -# -# OpenELEC 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 OpenELEC. If not, see . -################################################################################ - -PKG_NAME="libva-vdpau-driver" -PKG_VERSION="0.7.4" -PKG_SHA256="155c1982f0ac3f5435ba20b221bcaa11be212c37db548cd1f2a030ffa17e9bb9" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://freedesktop.org/wiki/Software/vaapi" -PKG_URL="http://freedesktop.org/software/vaapi/releases/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS_TARGET="toolchain libva libvdpau mesa" -PKG_SECTION="graphics" -PKG_SHORTDESC="VDPAU backend for VA API" -PKG_LONGDESC="VDPAU backend for VA API" -PKG_TOOLCHAIN="autotools" - -post_makeinstall_target() { - rm -rf $INSTALL/usr/lib/va/s3g_drv_video.so -} diff --git a/packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0001_drop-formats.patch b/packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0001_drop-formats.patch deleted file mode 100644 index 74caee3483..0000000000 --- a/packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0001_drop-formats.patch +++ /dev/null @@ -1,29 +0,0 @@ ->From fda3706eb74ba5ad874853969f3df3e372739c8d Mon Sep 17 00:00:00 2001 -From: "Xiang, Haihao" -Date: Fri, 21 Jun 2013 12:55:30 +0800 -Subject: [PATCH] VAEncH264VUIBufferType and VAEncH264SEIBufferType are - dropped from VA API - -The driver doesn't use them indeed - -Signed-off-by: Xiang, Haihao ---- - src/vdpau_dump.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/vdpau_dump.c b/src/vdpau_dump.c -index 899888b..610e7cd 100644 ---- a/src/vdpau_dump.c -+++ b/src/vdpau_dump.c -@@ -59,8 +59,6 @@ const char *string_of_VABufferType(VABufferType type) - _(VAEncSequenceParameterBufferType); - _(VAEncPictureParameterBufferType); - _(VAEncSliceParameterBufferType); -- _(VAEncH264VUIBufferType); -- _(VAEncH264SEIBufferType); - #endif - #if VA_CHECK_VERSION(0,31,1) - _(VAQMatrixBufferType); --- -1.7.9.5 - diff --git a/packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0002_glext-missing-definition.patch b/packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0002_glext-missing-definition.patch deleted file mode 100644 index b56d268343..0000000000 --- a/packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0002_glext-missing-definition.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/src/utils_glx.h~ 2012-10-05 16:02:58.000000000 +0100 -+++ b/src/utils_glx.h 2012-10-19 08:44:12.469642440 +0100 -@@ -48,6 +48,13 @@ - typedef void (*PFNGLXRELEASETEXIMAGEEXTPROC)(Display *, GLXDrawable, int); - #endif - -+#if GL_GLEXT_VERSION >= 85 -+/* XXX: PFNGLMULTITEXCOORD2FPROC got out of the GL_VERSION_1_3_DEPRECATED -+ block and is not defined if GL_VERSION_1_3 is defined in -+ Redefine the type here as an interim solution */ -+typedef void (*PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t); -+#endif -+ - #ifndef GL_FRAMEBUFFER_BINDING - #define GL_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING_EXT - #endif diff --git a/packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0003_libvdpau-0.8.patch b/packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0003_libvdpau-0.8.patch deleted file mode 100644 index ab3a479986..0000000000 --- a/packages/addons/addon-depends/libva-vdpau-driver/patches/libva-vdpau-driver-0003_libvdpau-0.8.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/vdpau_decode.c -+++ b/src/vdpau_decode.c -@@ -1289,7 +1289,7 @@ - driver_data, - obj_context->vdp_decoder, - obj_surface->vdp_surface, -- (VdpPictureInfo)&obj_context->vdp_picture_info, -+ (VdpPictureInfo *)&obj_context->vdp_picture_info, - obj_context->vdp_bitstream_buffers_count, - obj_context->vdp_bitstream_buffers - ); From 01293c8495e5ce018774ecb893141b3b7b279f71 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Thu, 31 May 2018 13:25:45 -0700 Subject: [PATCH 03/28] node: remove package --- packages/addons/addon-depends/node/package.mk | 38 ------------------- 1 file changed, 38 deletions(-) delete mode 100644 packages/addons/addon-depends/node/package.mk diff --git a/packages/addons/addon-depends/node/package.mk b/packages/addons/addon-depends/node/package.mk deleted file mode 100644 index 4e61840ff1..0000000000 --- a/packages/addons/addon-depends/node/package.mk +++ /dev/null @@ -1,38 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) -# -# OpenELEC 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 of the License, or -# (at your option) any later version. -# -# OpenELEC 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 OpenELEC. If not, see . -################################################################################ - -PKG_NAME="node" -PKG_VERSION="8.9.3" -PKG_SHA256="a5042d983f9815ee18a5c6fd75f8b3b2022ed96a2aaa8834300cd1ee81e8870c" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="https://nodejs.org" -PKG_URL="https://github.com/nodejs/node/archive/v$PKG_VERSION.tar.gz" -PKG_DEPENDS_HOST="toolchain" -PKG_SHORTDESC="Node.js JavaScript runtime" -PKG_LONGDESC="Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. The Node.js package ecosystem, npm, is the largest ecosystem of open source libraries in the world." - -HOST_CONFIGURE_OPTS="--prefix=$TOOLCHAIN \ - --fully-static \ - --with-intl=none \ - --without-npm \ - --without-ssl" - -pre_configure_host() { - cd .. -} From d427130791c8348867c29a2006f84dd24c7d512e Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Thu, 31 May 2018 13:25:46 -0700 Subject: [PATCH 04/28] xdotool: remove package --- .../addons/addon-depends/xdotool/package.mk | 43 ------------------- 1 file changed, 43 deletions(-) delete mode 100644 packages/addons/addon-depends/xdotool/package.mk diff --git a/packages/addons/addon-depends/xdotool/package.mk b/packages/addons/addon-depends/xdotool/package.mk deleted file mode 100644 index d848ec088c..0000000000 --- a/packages/addons/addon-depends/xdotool/package.mk +++ /dev/null @@ -1,43 +0,0 @@ -################################################################################ -# This file is part of LibreELEC - https://libreelec.tv -# Copyright (C) 2009-2015 Stephan Raue (stephan@openelec.tv) -# Copyright (C) 2016-present Team LibreELEC -# -# LibreELEC 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 of the License, or -# (at your option) any later version. -# -# LibreELEC 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 LibreELEC. If not, see . -################################################################################ - -PKG_NAME="xdotool" -PKG_VERSION="2.20110530.1" -PKG_SHA256="e7b42c8b1d391970e1c1009b256033f30e57d8e0a2a3de229fd61ecfc27baf67" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.semicomplete.com/projects/xdotool/" -PKG_URL="http://semicomplete.googlecode.com/files/${PKG_NAME}-${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain libXinerama libXtst" -PKG_SECTION="x11/app" -PKG_SHORTDESC="This tool lets you simulate keyboard input and mouse activity, move and resize windows, etc." -PKG_LONGDESC="This tool lets you simulate keyboard input and mouse activity, move and resize windows, etc." - -pre_configure_target() { - LDFLAGS="$LDFLAGS -lXext" -} - -make_target() { - make xdotool.static - mv xdotool.static xdotool -} - -makeinstall_target() { - : # nothing to do here -} From 6a90b69fbcc6dc941cea18424cc3babbf0a7394a Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Thu, 31 May 2018 13:26:45 -0700 Subject: [PATCH 05/28] gtk+: remove package --- packages/addons/addon-depends/gtk+/package.mk | 54 ---------------- .../gtk+/patches/gtk+-01_no-gtk-doc.patch | 64 ------------------- .../gtk+/patches/gtk+-02_meh-glib.patch | 34 ---------- 3 files changed, 152 deletions(-) delete mode 100644 packages/addons/addon-depends/gtk+/package.mk delete mode 100644 packages/addons/addon-depends/gtk+/patches/gtk+-01_no-gtk-doc.patch delete mode 100644 packages/addons/addon-depends/gtk+/patches/gtk+-02_meh-glib.patch diff --git a/packages/addons/addon-depends/gtk+/package.mk b/packages/addons/addon-depends/gtk+/package.mk deleted file mode 100644 index 5ae70ff2f0..0000000000 --- a/packages/addons/addon-depends/gtk+/package.mk +++ /dev/null @@ -1,54 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# 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 OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="gtk+" -PKG_VERSION="2.24.30" -PKG_SHA256="0d15cec3b6d55c60eac205b1f3ba81a1ed4eadd9d0f8e7c508bc7065d0c4ca50" -PKG_ARCH="any" -PKG_LICENSE="OSS" -PKG_SITE="http://www.gtk.org/" -PKG_URL="http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain atk libX11 libXrandr libXi glib pango cairo gdk-pixbuf" -PKG_SECTION="x11/toolkits" -PKG_SHORTDESC="gtk+: The Gimp ToolKit (GTK)" -PKG_LONGDESC="This is GTK+. GTK+, which stands for the Gimp ToolKit, is a library for creating graphical user interfaces for the X Window System. It is designed to be small, efficient, and flexible. GTK+ is written in C with a very object-oriented approach." -PKG_TOOLCHAIN="autotools" - -PKG_CONFIGURE_OPTS_TARGET="ac_cv_path_GLIB_GENMARSHAL=$TOOLCHAIN/bin/glib-genmarshal \ - --disable-glibtest \ - --enable-modules \ - --enable-explicit-deps=no \ - --disable-debug \ - --enable-shm \ - --disable-cups \ - --disable-papi \ - --enable-xkb \ - --disable-xinerama \ - --disable-gtk-doc-html \ - --with-xinput" - -make_target() { - make SRC_SUBDIRS="gdk gtk modules" - $MAKEINSTALL SRC_SUBDIRS="gdk gtk modules" -} - -makeinstall_target() { - make install DESTDIR=$INSTALL SRC_SUBDIRS="gdk gtk modules" -} diff --git a/packages/addons/addon-depends/gtk+/patches/gtk+-01_no-gtk-doc.patch b/packages/addons/addon-depends/gtk+/patches/gtk+-01_no-gtk-doc.patch deleted file mode 100644 index b264b45dbc..0000000000 --- a/packages/addons/addon-depends/gtk+/patches/gtk+-01_no-gtk-doc.patch +++ /dev/null @@ -1,64 +0,0 @@ -From fca2ac06da064b133101f215efd5fbd738fb3ef9 Mon Sep 17 00:00:00 2001 -From: Stefan Saraev -Date: Thu, 27 Mar 2014 14:26:27 +0200 -Subject: [PATCH] no gtk-doc - ---- - Makefile.am | 3 +-- - configure.ac | 12 ------------ - 2 files changed, 1 insertions(+), 14 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 8e3a2f1..35e94d2 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2,7 +2,7 @@ - include $(top_srcdir)/Makefile.decl - - SRC_SUBDIRS = gdk gtk modules demos tests perf --SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build -+SUBDIRS = po po-properties $(SRC_SUBDIRS) m4macros build - - # require automake 1.4 - AUTOMAKE_OPTIONS = 1.7 -@@ -136,7 +136,6 @@ MAINTAINERCLEANFILES = \ - $(srcdir)/mkinstalldirs \ - $(srcdir)/omf.make \ - $(srcdir)/xmldocs.make \ -- $(srcdir)/gtk-doc.make \ - $(srcdir)/ChangeLog \ - `find "$(srcdir)" -type f -name Makefile.in -print` - -diff --git a/configure.ac b/configure.ac -index 245a87f..f6ede8a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1594,8 +1594,6 @@ GOBJECT_INTROSPECTION_CHECK([0.9.3]) - # Checks for gtk-doc and docbook-tools - ################################################## - --GTK_DOC_CHECK([1.11]) -- - AC_CHECK_PROG(DB2HTML, db2html, true, false) - AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML) - -@@ -1727,16 +1725,6 @@ demos/Makefile - demos/gtk-demo/Makefile - demos/gtk-demo/geninclude.pl - tests/Makefile --docs/Makefile --docs/reference/Makefile --docs/reference/gdk/Makefile --docs/reference/gdk/version.xml --docs/reference/gtk/Makefile --docs/reference/gtk/version.xml --docs/reference/libgail-util/Makefile --docs/faq/Makefile --docs/tools/Makefile --docs/tutorial/Makefile - build/Makefile - build/win32/Makefile - build/win32/vs9/Makefile --- -1.7.2.5 - diff --git a/packages/addons/addon-depends/gtk+/patches/gtk+-02_meh-glib.patch b/packages/addons/addon-depends/gtk+/patches/gtk+-02_meh-glib.patch deleted file mode 100644 index 7ea8a7f0c4..0000000000 --- a/packages/addons/addon-depends/gtk+/patches/gtk+-02_meh-glib.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 3cb23c7b05be36e130bd1930dad3382ce8c08c51 Mon Sep 17 00:00:00 2001 -From: Stefan Saraev -Date: Sun, 26 Oct 2014 00:26:09 +0300 -Subject: [PATCH] meh glib - ---- - gdk/Makefile.am | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gdk/Makefile.am b/gdk/Makefile.am -index c880f6e..7661530 100644 ---- a/gdk/Makefile.am -+++ b/gdk/Makefile.am -@@ -307,7 +307,7 @@ lib_LTLIBRARIES = $(gdktargetlib) - - EXTRA_LTLIBRARIES = libgdk-x11-2.0.la libgdk-win32-2.0.la libgdk-quartz-2.0.la libgdk-directfb-2.0.la - --MAINTAINERCLEANFILES = $(gdk_built_sources) stamp-gdkenumtypes.h -+MAINTAINERCLEANFILES = $(gdk_built_sources) - EXTRA_DIST += $(gdk_built_sources) - EXTRA_HEADERS = - -@@ -333,7 +333,7 @@ BUILT_SOURCES = \ - $(gdk_built_sources) \ - gdkconfig.h - --gdkenumtypes.h: stamp-gdkenumtypes.h -+gdkenumtypes.h: - @true - stamp-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) gdkenumtypes.h.template - ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.h.template \ --- -1.7.2.5 - From 9549439e92a5efa005554994d82f4ba6ef86d847 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 06/28] libXi: add +pic --- packages/x11/lib/libXi/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/x11/lib/libXi/package.mk b/packages/x11/lib/libXi/package.mk index 8af4d86387..9fc2de7cf7 100644 --- a/packages/x11/lib/libXi/package.mk +++ b/packages/x11/lib/libXi/package.mk @@ -28,6 +28,7 @@ PKG_DEPENDS_TARGET="toolchain util-macros libX11 libXfixes" PKG_SECTION="x11/lib" PKG_SHORTDESC="libxi: X11 Input extension library" PKG_LONGDESC="LibXi provides an X Window System client interface to the XINPUT extension to the X protocol." +PKG_BUILD_FLAGS="+pic" PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared \ --enable-malloc0returnsnull \ From c13958f9523d5490d7803bae1ead92c1f45b8434 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 07/28] gdk-pixbuf: update to 2.36.12 --- .../chrome-depends/gdk-pixbuf/package.mk | 33 +++++ ...gdk-pixbuf-01-meson-crosscompile-fix.patch | 85 +++++++++++ .../gdk-pixbuf/config/gdk-pixbuf.loaders | 132 ------------------ .../addon-depends/gdk-pixbuf/package.mk | 43 ------ .../patches/gdk-pixbuf-01_meh.patch | 58 -------- 5 files changed, 118 insertions(+), 233 deletions(-) create mode 100644 packages/addons/addon-depends/chrome-depends/gdk-pixbuf/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/gdk-pixbuf/patches/gdk-pixbuf-01-meson-crosscompile-fix.patch delete mode 100644 packages/addons/addon-depends/gdk-pixbuf/config/gdk-pixbuf.loaders delete mode 100644 packages/addons/addon-depends/gdk-pixbuf/package.mk delete mode 100644 packages/addons/addon-depends/gdk-pixbuf/patches/gdk-pixbuf-01_meh.patch diff --git a/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/package.mk b/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/package.mk new file mode 100644 index 0000000000..f8933cc3c8 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/package.mk @@ -0,0 +1,33 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="gdk-pixbuf" +PKG_VERSION="2.36.12" +PKG_SHA256="fff85cf48223ab60e3c3c8318e2087131b590fd6f1737e42cb3759a3b427a334" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.gtk.org/" +PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/${PKG_VERSION:0:4}/gdk-pixbuf-$PKG_VERSION.tar.xz" +PKG_DEPENDS_TARGET="toolchain glib libjpeg-turbo libpng jasper shared-mime-info tiff" +PKG_LONGDESC="GdkPixbuf is a a GNOME library for image loading and manipulation." + +PKG_MESON_OPTS_TARGET="-Ddocs=false \ + -Dgir=false \ + -Dman=false \ + -Drelocatable=false" diff --git a/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/patches/gdk-pixbuf-01-meson-crosscompile-fix.patch b/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/patches/gdk-pixbuf-01-meson-crosscompile-fix.patch new file mode 100644 index 0000000000..e7a28e5612 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/gdk-pixbuf/patches/gdk-pixbuf-01-meson-crosscompile-fix.patch @@ -0,0 +1,85 @@ +diff -Naur a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build +--- a/gdk-pixbuf/meson.build 2018-06-15 20:13:23.593361199 +0200 ++++ b/gdk-pixbuf/meson.build 2018-06-15 20:13:42.601469091 +0200 +@@ -232,15 +232,15 @@ + + # The 'loaders.cache' used for testing, so we don't accidentally + # load the installed cache; we always build it by default +-loaders_cache = custom_target('loaders.cache', +- output: 'loaders.cache', +- capture: true, +- command: [ +- gdk_pixbuf_query_loaders, +- dynamic_loaders, +- ], +- build_by_default: true) +-loaders_dep = declare_dependency(sources: [ loaders_cache ]) ++#loaders_cache = custom_target('loaders.cache', ++# output: 'loaders.cache', ++# capture: true, ++# command: [ ++# gdk_pixbuf_query_loaders, ++# dynamic_loaders, ++# ], ++# build_by_default: true) ++#loaders_dep = declare_dependency(sources: [ loaders_cache ]) + + build_gir = get_option('gir') + if build_gir +diff -Naur a/meson.build b/meson.build +--- a/meson.build 2018-06-15 20:13:23.573361085 +0200 ++++ b/meson.build 2018-06-15 20:13:32.761413236 +0200 +@@ -398,7 +398,7 @@ + # i18n + subdir('po') + +-subdir('tests') ++#subdir('tests') + subdir('thumbnailer') + + # Documentation +diff -Naur a/thumbnailer/meson.build b/thumbnailer/meson.build +--- a/thumbnailer/meson.build 2018-06-15 20:13:23.605361267 +0200 ++++ b/thumbnailer/meson.build 2018-06-15 20:13:50.305512825 +0200 +@@ -12,22 +12,22 @@ + c_args: common_cflags, + dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ]) + +-custom_target('thumbnailer', +- input: 'gdk-pixbuf-thumbnailer.thumbnailer.in', +- output: 'gdk-pixbuf-thumbnailer.thumbnailer', +- command: [ +- gen_thumbnailer, +- '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()), +- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), +- '--loaders=@0@'.format(loaders_cache.full_path()), +- '--bindir=@0@'.format(gdk_pixbuf_bindir), +- '@INPUT@', +- '@OUTPUT@', +- ], +- depends: [ +- gdk_pixbuf_print_mime_types, +- gdk_pixbuf_pixdata, +- loaders_cache, +- ], +- install: true, +- install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) ++#custom_target('thumbnailer', ++# input: 'gdk-pixbuf-thumbnailer.thumbnailer.in', ++# output: 'gdk-pixbuf-thumbnailer.thumbnailer', ++# command: [ ++# gen_thumbnailer, ++# '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()), ++# '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), ++# '--loaders=@0@'.format(loaders_cache.full_path()), ++# '--bindir=@0@'.format(gdk_pixbuf_bindir), ++# '@INPUT@', ++# '@OUTPUT@', ++# ], ++# depends: [ ++# gdk_pixbuf_print_mime_types, ++# gdk_pixbuf_pixdata, ++# loaders_cache, ++# ], ++# install: true, ++# install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) diff --git a/packages/addons/addon-depends/gdk-pixbuf/config/gdk-pixbuf.loaders b/packages/addons/addon-depends/gdk-pixbuf/config/gdk-pixbuf.loaders deleted file mode 100644 index 87a9bb58a6..0000000000 --- a/packages/addons/addon-depends/gdk-pixbuf/config/gdk-pixbuf.loaders +++ /dev/null @@ -1,132 +0,0 @@ -# GdkPixbuf Image Loader Modules file -# Automatically generated file, do not edit -# Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.21.5 -# -# LoaderDir = /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders -# -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so" -"ani" 4 "gdk-pixbuf" "The ANI image format" "LGPL" -"application/x-navi-animation" "" -"ani" "" -"RIFF ACON" " xxxx " 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so" -"bmp" 5 "gdk-pixbuf" "The BMP image format" "LGPL" -"image/bmp" "image/x-bmp" "image/x-MS-bmp" "" -"bmp" "" -"BM" "" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so" -"gif" 4 "gdk-pixbuf" "The GIF image format" "LGPL" -"image/gif" "" -"gif" "" -"GIF8" "" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so" -"icns" 4 "gdk-pixbuf" "The ICNS image format" "GPL" -"image/x-icns" "" -"icns" "" -"icns" "" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so" -"ico" 5 "gdk-pixbuf" "The ICO image format" "LGPL" -"image/x-icon" "image/x-ico" "image/x-win-bitmap" "" -"ico" "cur" "" -" \001 " "zz znz" 100 -" \002 " "zz znz" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jasper.so" -"jpeg2000" 4 "gdk-pixbuf" "The JPEG 2000 image format" "LGPL" -"image/jp2" "image/jpeg2000" "image/jpx" "" -"jp2" "jpc" "jpx" "j2k" "jpf" "" -" jP" "!!!! " 100 -"\377O\377Q" "" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so" -"jpeg" 5 "gdk-pixbuf" "The JPEG image format" "LGPL" -"image/jpeg" "" -"jpeg" "jpe" "jpg" "" -"\377\330" "" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pcx.so" -"pcx" 4 "gdk-pixbuf" "The PCX image format" "LGPL" -"image/x-pcx" "" -"pcx" "" -"\n \001" "" 100 -"\n\002\001" "" 100 -"\n\003\001" "" 100 -"\n\004\001" "" 100 -"\n\005\001" "" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so" -"png" 5 "gdk-pixbuf" "The PNG image format" "LGPL" -"image/png" "" -"png" "" -"\211PNG\r\n\032\n" "" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.so" -"pnm" 4 "gdk-pixbuf" "The PNM/PBM/PGM/PPM image format family" "LGPL" -"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" "" -"pnm" "pbm" "pgm" "ppm" "" -"P1" "" 100 -"P2" "" 100 -"P3" "" 100 -"P4" "" 100 -"P5" "" 100 -"P6" "" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.so" -"qtif" 4 "gdk-pixbuf" "The QTIF image format" "LGPL" -"image/x-quicktime" "image/qtif" "" -"qtif" "qif" "" -"abcdidsc" "xxxx " 100 -"abcdidat" "xxxx " 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ras.so" -"ras" 4 "gdk-pixbuf" "The Sun raster image format" "LGPL" -"image/x-cmu-raster" "image/x-sun-raster" "" -"ras" "" -"Y\246j\225" "" 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.so" -"tga" 4 "gdk-pixbuf" "The Targa image format" "LGPL" -"image/x-tga" "" -"tga" "targa" "" -" \001\001" "x " 100 -" \001\t" "x " 100 -" \002" "xz " 99 -" \003" "xz " 100 -" \n" "xz " 100 -" \013" "xz " 100 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.so" -"tiff" 1 "gdk-pixbuf" "The TIFF image format" "LGPL" -"image/tiff" "" -"tiff" "tif" "" -"MM *" " z " 100 -"II* " " z" 100 -"II* \020 CR\002 " " z zzz z" 0 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-wbmp.so" -"wbmp" 4 "gdk-pixbuf" "The WBMP image format" "LGPL" -"image/vnd.wap.wbmp" "" -"wbmp" "" -" " "zz" 1 -" `" "z " 1 -" @" "z " 1 -" " "z " 1 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.so" -"xbm" 4 "gdk-pixbuf" "The XBM image format" "LGPL" -"image/x-xbitmap" "" -"xbm" "" -"#define " "" 100 -"/*" "" 50 - -"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so" -"xpm" 4 "gdk-pixbuf" "The XPM image format" "LGPL" -"image/x-xpixmap" "" -"xpm" "" -"/* XPM */" "" 100 - - diff --git a/packages/addons/addon-depends/gdk-pixbuf/package.mk b/packages/addons/addon-depends/gdk-pixbuf/package.mk deleted file mode 100644 index cac488929f..0000000000 --- a/packages/addons/addon-depends/gdk-pixbuf/package.mk +++ /dev/null @@ -1,43 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# 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 OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="gdk-pixbuf" -PKG_VERSION="2.34.0" -PKG_SHA256="d55e5b383ee219bd0e23bf6ed4427d56a7db5379729a6e3e0a0e0eba9a8d8879" -PKG_ARCH="any" -PKG_LICENSE="OSS" -PKG_SITE="http://www.gtk.org/" -PKG_URL="http://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.34/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain glib libjpeg-turbo libpng jasper tiff" -PKG_SECTION="x11/toolkits" -PKG_SHORTDESC="gdk-pixbuf: a GNOME library for image loading and manipulation." -PKG_LONGDESC="gdk-pixbuf (GdkPixbuf) is a GNOME library for image loading and manipulation. The GdkPixbuf documentation contains both the programmer's guide and the API reference." -PKG_TOOLCHAIN="autotools" - -PKG_CONFIGURE_OPTS_TARGET="gio_can_sniff=yes \ - --disable-gtk-doc \ - --disable-gtk-doc-html \ - --disable-gtk-doc-pdf \ - --disable-man \ - --with-libpng \ - --with-libjpeg \ - --with-libtiff \ - --enable-introspection=no \ - --with-libjasper" diff --git a/packages/addons/addon-depends/gdk-pixbuf/patches/gdk-pixbuf-01_meh.patch b/packages/addons/addon-depends/gdk-pixbuf/patches/gdk-pixbuf-01_meh.patch deleted file mode 100644 index d43ca77418..0000000000 --- a/packages/addons/addon-depends/gdk-pixbuf/patches/gdk-pixbuf-01_meh.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am -index 8319b49..8f27c5c 100644 ---- a/gdk-pixbuf/Makefile.am -+++ b/gdk-pixbuf/Makefile.am -@@ -617,51 +617,21 @@ MAINTAINERCLEANFILES = \ - # - # gdk-pixbuf-enum-types.h - # --gdk-pixbuf-enum-types.h: s-enum-types-h -+gdk-pixbuf-enum-types.h: - @true - --s-enum-types-h: @REBUILD@ $(gdk_pixbuf_headers) gdk-pixbuf-enum-types.h.template -- $(AM_V_GEN)( cd $(srcdir) && $(GLIB_MKENUMS) --template gdk-pixbuf-enum-types.h.template \ -- $(gdk_pixbuf_headers) ) > tmp-gdk-pixbuf-enum-types.h \ -- && (cmp -s tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h || cp tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h ) \ -- && rm -f tmp-gdk-pixbuf-enum-types.h \ -- && echo timestamp > $(@F) -- - CLEANFILES += tmp-gdk-pixbuf-enum-types.h - MAINTAINERCLEANFILES += s-enum-types-h - - # --# gdk-pixbuf-enum-types.c --# --gdk-pixbuf-enum-types.c: @REBUILD@ $(gdk_pixbuf_headers) gdk-pixbuf-enum-types.c.template -- $(AM_V_GEN)(cd $(srcdir) && $(GLIB_MKENUMS) --template gdk-pixbuf-enum-types.c.template \ -- $(gdk_pixbuf_headers)) > gdk-pixbuf-enum-types.c -- --# - # gdk-pixbuf-marshal.h - # --gdk-pixbuf-marshal.h: @REBUILD@ stamp-gdk-pixbuf-marshal.h -+gdk-pixbuf-marshal.h: - @true - --stamp-gdk-pixbuf-marshal.h: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list -- $(AM_V_GEN)echo "#if !defined(GDK_PIXBUF_DISABLE_DEPRECATED) || defined(GDK_PIXBUF_COMPILATION)" > xgen-gmh \ -- && $(GLIB_GENMARSHAL) --prefix=_gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --header >> xgen-gmh \ -- && echo "#endif /* !GDK_PIXBUF_DISABLE_DEPRECATED || GDK_PIXBUF_COMPILATION */" >> xgen-gmh \ -- && (cmp -s xgen-gmh gdk-pixbuf-marshal.h || cp xgen-gmh gdk-pixbuf-marshal.h) \ -- && rm -f xgen-gmh xgen-gmh~ \ -- && echo timestamp > $(@F) -- - CLEANFILES += xgen-gmh - MAINTAINERCLEANFILES += stamp-gdk-pixbuf-marshal.h - --# --# gdk-pixbuf-marshal.c --# --$(srcdir)/gdk-pixbuf-marshal.c: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list -- $(AM_V_GEN)(echo -e "#include \n" | $(GLIB_GENMARSHAL) --prefix=_gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --body ) >> xgen-gmc \ -- && cp xgen-gmc gdk-pixbuf-marshal.c \ -- && rm -f xgen-gmc xgen-gmc~ -- - CLEANFILES += xgen-gmc - - # if srcdir!=builddir, clean out maintainer-clean files from builddir From c5156c3a2f8bf8553694bb8f004c91b84d9c4083 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 08/28] atk: update to 2.29.1 --- packages/addons/addon-depends/atk/package.mk | 36 ------------------- .../chrome-depends/atk/package.mk | 32 +++++++++++++++++ 2 files changed, 32 insertions(+), 36 deletions(-) delete mode 100644 packages/addons/addon-depends/atk/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/atk/package.mk diff --git a/packages/addons/addon-depends/atk/package.mk b/packages/addons/addon-depends/atk/package.mk deleted file mode 100644 index a32bb6751f..0000000000 --- a/packages/addons/addon-depends/atk/package.mk +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# 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 OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="atk" -PKG_VERSION="2.27.1" -PKG_SHA256="673a953987b301ab1e24e7d11677b6e7ba3226411a168449ba946765b6d44297" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://library.gnome.org/devel/atk/" -PKG_URL="http://ftp.gnome.org/pub/gnome/sources/$PKG_NAME/2.27/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain glib glib:host" -PKG_SECTION="accessibility" -PKG_SHORTDESC="ATK - Accessibility Toolkit" -PKG_LONGDESC="ATK provides the set of accessibility interfaces that are implemented by other toolkits and applications. Using the ATK interfaces, accessibility tools have full access to view and control running applications." -PKG_TOOLCHAIN="autotools" -PKG_BUILD_FLAGS="+pic" - -PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared \ - --disable-rebuilds --enable-introspection=no" diff --git a/packages/addons/addon-depends/chrome-depends/atk/package.mk b/packages/addons/addon-depends/chrome-depends/atk/package.mk new file mode 100644 index 0000000000..4d30daf8c3 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/atk/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="atk" +PKG_VERSION="2.29.1" +PKG_SHA256="1aa7707c6297c1797fe4d79a22a57ede4d5586b0f7a3b30e886d7ca9d75f20da" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://library.gnome.org/devel/atk/" +PKG_URL="https://ftp.gnome.org/pub/gnome/sources/atk/${PKG_VERSION:0:4}/atk-$PKG_VERSION.tar.xz" +PKG_DEPENDS_TARGET="toolchain glib glib:host" +PKG_LONGDESC="ATK provides the set of accessibility interfaces that are implemented by other toolkits and applications." +PKG_BUILD_FLAGS="+pic" + +PKG_MESON_OPTS_TARGET="-Ddocs=false \ + -Dintrospection=false" From 15eda13b5b42a88742a76ee9b9bbc8bd7ba1e313 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 09/28] harfbuzz: update to 1.8.1 --- .../chrome-depends/harfbuzz/package.mk | 38 +++++++++++++++++ .../addons/addon-depends/harfbuzz/package.mk | 41 ------------------- 2 files changed, 38 insertions(+), 41 deletions(-) create mode 100644 packages/addons/addon-depends/chrome-depends/harfbuzz/package.mk delete mode 100644 packages/addons/addon-depends/harfbuzz/package.mk diff --git a/packages/addons/addon-depends/chrome-depends/harfbuzz/package.mk b/packages/addons/addon-depends/chrome-depends/harfbuzz/package.mk new file mode 100644 index 0000000000..de62ae1bab --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/harfbuzz/package.mk @@ -0,0 +1,38 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="harfbuzz" +PKG_VERSION="1.8.1" +PKG_SHA256="fbed6392ddb085e45e6090a9f389f72926d0e355f4b0a2ef51d35cf21686df45" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.freedesktop.org/wiki/Software/HarfBuzz" +PKG_URL="https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-$PKG_VERSION.tar.bz2" +PKG_DEPENDS_TARGET="toolchain cairo freetype glib icu" +PKG_LONGDESC="HarfBuzz is an OpenType text shaping engine." +PKG_TOOLCHAIN="configure" + +PKG_CONFIGURE_OPTS_TARGET="--with-icu \ + --disable-gtk-doc \ + --disable-gtk-doc-html \ + --disable-gtk-doc-pdf" + +pre_configure_target() { + export LDFLAGS="$LDFLAGS -ldl" +} diff --git a/packages/addons/addon-depends/harfbuzz/package.mk b/packages/addons/addon-depends/harfbuzz/package.mk deleted file mode 100644 index 6e28b2ca41..0000000000 --- a/packages/addons/addon-depends/harfbuzz/package.mk +++ /dev/null @@ -1,41 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# 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 OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="harfbuzz" -PKG_VERSION="1.4.5" -PKG_SHA256="d0e05438165884f21658154c709075feaf98c93ee5c694b951533ac425a9a711" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.freedesktop.org/wiki/Software/HarfBuzz" -PKG_URL="http://www.freedesktop.org/software/harfbuzz/release/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS_TARGET="toolchain glib freetype icu" -PKG_SECTION="x11/toolkits" -PKG_SHORTDESC="harfbuzz: an OpenType text shaping engine." -PKG_LONGDESC="HarfBuzz is an OpenType text shaping engine." - -PKG_CONFIGURE_OPTS_TARGET="--with-icu=yes" - -if [ "$DISPLAYSERVER" = "x11" ] ; then - PKG_DEPENDS_TARGET+=" cairo" -fi - -pre_configure_target() { - export LIBS="-ldl" -} From 6ee402080c9584bb668d5119750544b456931fdc Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 10/28] icu: update to 61.1 --- .../{ => chrome-depends}/icu/package.mk | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) rename packages/addons/addon-depends/{ => chrome-depends}/icu/package.mk (64%) diff --git a/packages/addons/addon-depends/icu/package.mk b/packages/addons/addon-depends/chrome-depends/icu/package.mk similarity index 64% rename from packages/addons/addon-depends/icu/package.mk rename to packages/addons/addon-depends/chrome-depends/icu/package.mk index c1acaa318a..727688a572 100644 --- a/packages/addons/addon-depends/icu/package.mk +++ b/packages/addons/addon-depends/chrome-depends/icu/package.mk @@ -17,24 +17,31 @@ ################################################################################ PKG_NAME="icu" -PKG_VERSION="57.1" -PKG_SHA256="ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581" +PKG_VERSION="61.1" +PKG_SHA256="d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef" PKG_ARCH="any" PKG_LICENSE="Custom" PKG_SITE="http://www.icu-project.org" -PKG_URL="http://download.icu-project.org/files/${PKG_NAME}4c/${PKG_VERSION}/${PKG_NAME}4c-${PKG_VERSION//./_}-src.tgz" +PKG_URL="http://download.icu-project.org/files/icu4c/${PKG_VERSION}/icu4c-${PKG_VERSION//./_}-src.tgz" PKG_SOURCE_DIR="icu" PKG_DEPENDS_TARGET="toolchain icu:host" -PKG_SECTION="textproc" -PKG_SHORTDESC="International Components for Unicode library" PKG_LONGDESC="International Components for Unicode library" -PKG_BUILD_FLAGS="+pic" -PKG_CONFIGURE_OPTS_HOST="--enable-static --disable-shared" +PKG_ICU_OPTS="--disable-extras \ + --disable-icuio \ + --disable-layout \ + --disable-renaming \ + --disable-samples \ + --disable-tests \ + --disable-tools" -PKG_CONFIGURE_OPTS_TARGET="--enable-static \ - --disable-shared \ - --with-cross-build=$PKG_BUILD/.$HOST_NAME" + +PKG_CONFIGURE_OPTS_HOST="--enable-static \ + --disable-shared \ + $PKG_ICU_OPTS" + +PKG_CONFIGURE_OPTS_TARGET="--with-cross-build=$PKG_BUILD/.$HOST_NAME \ + $PKG_ICU_OPTS" PKG_CONFIGURE_SCRIPT="source/configure" From 40ff044d5fc25b869dd6f578ed05d7dd0710aec3 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 11/28] libXcursor: update to 1.1.15 --- .../chrome-depends/libXcursor/package.mk | 29 ++++++++++++++++ .../addon-depends/libXcursor/package.mk | 33 ------------------- 2 files changed, 29 insertions(+), 33 deletions(-) create mode 100644 packages/addons/addon-depends/chrome-depends/libXcursor/package.mk delete mode 100644 packages/addons/addon-depends/libXcursor/package.mk diff --git a/packages/addons/addon-depends/chrome-depends/libXcursor/package.mk b/packages/addons/addon-depends/chrome-depends/libXcursor/package.mk new file mode 100644 index 0000000000..c575540b3b --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/libXcursor/package.mk @@ -0,0 +1,29 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="libXcursor" +PKG_VERSION="1.1.15" +PKG_SHA256="294e670dd37cd23995e69aae626629d4a2dfe5708851bbc13d032401b7a3df6b" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.X.org" +PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXcursor-$PKG_VERSION.tar.bz2" +PKG_DEPENDS_TARGET="toolchain libX11 libXfixes libXrender" +PKG_LONGDESC="X11 Cursor management library" +PKG_BUILD_FLAGS="+pic" diff --git a/packages/addons/addon-depends/libXcursor/package.mk b/packages/addons/addon-depends/libXcursor/package.mk deleted file mode 100644 index b9dd67f225..0000000000 --- a/packages/addons/addon-depends/libXcursor/package.mk +++ /dev/null @@ -1,33 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# 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 OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="libXcursor" -PKG_VERSION="1.1.14" -PKG_SHA256="9bc6acb21ca14da51bda5bc912c8955bc6e5e433f0ab00c5e8bef842596c33df" -PKG_ARCH="any" -PKG_LICENSE="OSS" -PKG_SITE="http://www.X.org" -PKG_URL="http://xorg.freedesktop.org/archive/individual/lib/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS_TARGET="toolchain libX11 libXfixes libXrender" -PKG_SECTION="x11/lib" -PKG_SHORTDESC="libXcursor: X Cursor Library" -PKG_LONGDESC="X11 Cursor management library" - -PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static" From 5540059611e7e9db2296ddcbc1e2906b0afd6386 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 12/28] pango: update to 1.42.1 --- .../pango/config/pango.modules | 0 .../{ => chrome-depends}/pango/config/pangorc | 0 .../chrome-depends/pango/package.mk | 32 ++++++++ .../addons/addon-depends/pango/package.mk | 46 ----------- .../pango/patches/pango-01_no-gtk-doc.patch | 46 ----------- .../pango/patches/pango-02_meh.patch | 79 ------------------- 6 files changed, 32 insertions(+), 171 deletions(-) rename packages/addons/addon-depends/{ => chrome-depends}/pango/config/pango.modules (100%) rename packages/addons/addon-depends/{ => chrome-depends}/pango/config/pangorc (100%) create mode 100644 packages/addons/addon-depends/chrome-depends/pango/package.mk delete mode 100644 packages/addons/addon-depends/pango/package.mk delete mode 100644 packages/addons/addon-depends/pango/patches/pango-01_no-gtk-doc.patch delete mode 100644 packages/addons/addon-depends/pango/patches/pango-02_meh.patch diff --git a/packages/addons/addon-depends/pango/config/pango.modules b/packages/addons/addon-depends/chrome-depends/pango/config/pango.modules similarity index 100% rename from packages/addons/addon-depends/pango/config/pango.modules rename to packages/addons/addon-depends/chrome-depends/pango/config/pango.modules diff --git a/packages/addons/addon-depends/pango/config/pangorc b/packages/addons/addon-depends/chrome-depends/pango/config/pangorc similarity index 100% rename from packages/addons/addon-depends/pango/config/pangorc rename to packages/addons/addon-depends/chrome-depends/pango/config/pangorc diff --git a/packages/addons/addon-depends/chrome-depends/pango/package.mk b/packages/addons/addon-depends/chrome-depends/pango/package.mk new file mode 100644 index 0000000000..ce90db7f68 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/pango/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="pango" +PKG_VERSION="1.42.1" +PKG_SHA256="915a6756b298578ff27c7a6393f8c2e62e6e382f9411f2504d7af1a13c7bce32" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.pango.org/" +PKG_URL="https://ftp.gnome.org/pub/gnome/sources/pango/${PKG_VERSION:0:4}/pango-$PKG_VERSION.tar.xz" +PKG_DEPENDS_TARGET="toolchain cairo freetype fontconfig fribidi glib harfbuzz libX11 libXft" +PKG_LONGDESC="The Pango library for layout and rendering of internationalized text." +PKG_TOOLCHAIN="meson" + +PKG_MESON_OPTS_TARGET="-Denable_docs=false \ + -Dgir=false" diff --git a/packages/addons/addon-depends/pango/package.mk b/packages/addons/addon-depends/pango/package.mk deleted file mode 100644 index 338f57ae77..0000000000 --- a/packages/addons/addon-depends/pango/package.mk +++ /dev/null @@ -1,46 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# 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 OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="pango" -PKG_VERSION="1.40.6" -PKG_SHA256="ca152b7383a1e9f7fd74ae96023dc6770dc5043414793bfe768ff06b6759e573" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.pango.org/" -PKG_URL="http://ftp.gnome.org/pub/gnome/sources/pango/1.40/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain glib freetype fontconfig harfbuzz" -PKG_SECTION="x11/toolkits" -PKG_SHORTDESC="pango: Library for layout and rendering of internationalized text" -PKG_LONGDESC="The goal of the Pango project is to provide an open-source framework for the layout and rendering of internationalized text. Pango is an offshoot of the GTK+ and GNOME projects, and the initial focus is operation in those environments, however there is nothing fundamentally GTK+ or GNOME specific about Pango. Pango uses Unicode for all of its encoding, and will eventually support output in all the worlds major languages." -PKG_TOOLCHAIN="autotools" - -PKG_CONFIGURE_OPTS_TARGET="--disable-doc-cross-references \ - --disable-gtk-doc \ - --disable-man \ - --enable-debug=no" - -if [ "$DISPLAYSERVER" = "x11" ] ; then - PKG_DEPENDS_TARGET+=" cairo libX11 libXft" - PKG_CONFIGURE_OPTS_TARGET+=" --with-xft" -fi - -if [ "$DISPLAYSERVER" = "weston" ] ; then - PKG_DEPENDS_TARGET+=" wayland" -fi diff --git a/packages/addons/addon-depends/pango/patches/pango-01_no-gtk-doc.patch b/packages/addons/addon-depends/pango/patches/pango-01_no-gtk-doc.patch deleted file mode 100644 index c4b14271c7..0000000000 --- a/packages/addons/addon-depends/pango/patches/pango-01_no-gtk-doc.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -Naur pango-1.38.1/configure.ac pango-1.38.1.patch/configure.ac ---- pango-1.38.1/configure.ac 2015-10-12 21:13:25.000000000 +0200 -+++ pango-1.38.1.patch/configure.ac 2015-11-14 23:14:05.714344868 +0100 -@@ -483,15 +483,6 @@ - dnl *** Checks for gtk-doc *** - dnl ************************** - --if $have_cairo ; then : ; else -- if test x$enable_gtk_doc = xyes ; then -- AC_MSG_WARN([Cairo not present, disabling doc building]) -- enable_gtk_doc=no -- fi --fi -- --GTK_DOC_CHECK([1.15], [--flavour no-tmpl]) -- - AC_ARG_ENABLE(doc-cross-references, - AC_HELP_STRING([--disable-doc-cross-references], - [cross reference glib and cairo symbols @<:@default=yes@:>@]), -@@ -606,7 +597,6 @@ - pango/pangoxft.rc - pango-view/Makefile - examples/Makefile --docs/Makefile - docs/version.xml - tools/Makefile - tests/Makefile -diff -Naur pango-1.38.1/Makefile.am pango-1.38.1.patch/Makefile.am ---- pango-1.38.1/Makefile.am 2015-04-15 19:37:43.000000000 +0200 -+++ pango-1.38.1.patch/Makefile.am 2015-11-14 23:05:52.738361176 +0100 -@@ -1,6 +1,6 @@ - ## Process this file with automake to create Makefile.in. - --SUBDIRS= pango pango-view examples docs tools tests win32 -+SUBDIRS= pango pango-view examples tools tests win32 - - EXTRA_DIST = \ - autogen.sh \ -@@ -38,7 +38,6 @@ - $(srcdir)/INSTALL \ - $(srcdir)/omf.make \ - $(srcdir)/xmldocs.make \ -- $(srcdir)/gtk-doc.make \ - $(srcdir)/ChangeLog - - ### ChangeLog generation diff --git a/packages/addons/addon-depends/pango/patches/pango-02_meh.patch b/packages/addons/addon-depends/pango/patches/pango-02_meh.patch deleted file mode 100644 index 3b02d3ceca..0000000000 --- a/packages/addons/addon-depends/pango/patches/pango-02_meh.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -Naur pango-1.38.1/Makefile.am pango-1.38.1.patch/Makefile.am ---- pango-1.38.1/Makefile.am 2015-11-14 23:05:52.000000000 +0100 -+++ pango-1.38.1.patch/Makefile.am 2015-11-14 23:19:07.548943525 +0100 -@@ -1,6 +1,6 @@ - ## Process this file with automake to create Makefile.in. - --SUBDIRS= pango pango-view examples tools tests win32 -+SUBDIRS= pango win32 - - EXTRA_DIST = \ - autogen.sh \ -diff -Naur pango-1.38.1/pango/Makefile.am pango-1.38.1.patch/pango/Makefile.am ---- pango-1.38.1/pango/Makefile.am 2015-09-01 00:47:11.000000000 +0200 -+++ pango-1.38.1.patch/pango/Makefile.am 2015-11-14 23:21:14.081145117 +0100 -@@ -31,7 +31,7 @@ - $(LIBTHAI_CFLAGS) \ - $(X_CFLAGS) - --BUILT_SOURCES = pango-enum-types.h pango-enum-types.c pango-features.h -+BUILT_SOURCES = pango-features.h - - pangoincludedir=$(includedir)/pango-1.0/pango - -@@ -127,22 +127,6 @@ - pango-features.h \ - pango-enum-types.h - --pango-enum-types.h: s-enum-types-h --s-enum-types-h: $(pango_headers) Makefile.am pango-enum-types.h.template -- $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) \ -- --template pango-enum-types.h.template \ -- $(pango_headers) ) > pango-enum-types.h.tmp \ -- && mv pango-enum-types.h.tmp pango-enum-types.h \ -- && echo timestamp > $@ -- --pango-enum-types.c: s-enum-types-c --s-enum-types-c: $(pango_headers) Makefile.am pango-enum-types.c.template -- $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) \ -- --template pango-enum-types.c.template \ -- $(pango_headers) ) > pango-enum-types.c.tmp \ -- && mv pango-enum-types.c.tmp pango-enum-types.c \ -- && echo timestamp > $@ -- - pango-features.h: - $(AM_V_GEN) cd $(top_builddir) && ./config.status pango/pango-features.h - -diff -Naur pango-1.38.1/pango/pango-context.c pango-1.38.1.patch/pango/pango-context.c ---- pango-1.38.1/pango/pango-context.c 2015-09-13 17:05:39.000000000 +0200 -+++ pango-1.38.1.patch/pango/pango-context.c 2015-11-14 23:22:57.512225981 +0100 -@@ -38,6 +38,7 @@ - - #include "pango-engine-private.h" - #include "pango-script-private.h" -+#include "pango-enum-types.h" - - /** - * PangoContext: -diff -Naur pango-1.38.1/pango/pangofc-font.c pango-1.38.1.patch/pango/pangofc-font.c ---- pango-1.38.1/pango/pangofc-font.c 2015-04-15 19:37:43.000000000 +0200 -+++ pango-1.38.1.patch/pango/pangofc-font.c 2015-11-14 23:23:49.840316980 +0100 -@@ -45,6 +45,7 @@ - #include "pango-engine.h" - #include "pango-layout.h" - #include "pango-impl-utils.h" -+#include "pango-enum-types.h" - - #include - -diff -Naur pango-1.38.1/pango/pango-layout.c pango-1.38.1.patch/pango/pango-layout.c ---- pango-1.38.1/pango/pango-layout.c 2015-09-01 18:20:54.000000000 +0200 -+++ pango-1.38.1.patch/pango/pango-layout.c 2015-11-14 23:23:19.280262638 +0100 -@@ -77,6 +77,7 @@ - #include - - #include "pango-layout-private.h" -+#include "pango-enum-types.h" - - - typedef struct _Extents Extents; From 2f6e42e2523375ecc73488e91dd4fdb83e6a7c61 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 13/28] at-spi2-core: initial package --- .../chrome-depends/at-spi2-core/package.mk | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 packages/addons/addon-depends/chrome-depends/at-spi2-core/package.mk diff --git a/packages/addons/addon-depends/chrome-depends/at-spi2-core/package.mk b/packages/addons/addon-depends/chrome-depends/at-spi2-core/package.mk new file mode 100644 index 0000000000..add2aa4e2c --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/at-spi2-core/package.mk @@ -0,0 +1,34 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# Copyright (C) 2017 Escalade +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="at-spi2-core" +PKG_VERSION="2.28.0" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.gnome.org/" +PKG_URL="https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/${PKG_VERSION:0:4}/at-spi2-core-$PKG_VERSION.tar.xz" +PKG_DEPENDS_TARGET="toolchain atk dbus glib libXtst" +PKG_LONGDESC="Protocol definitions and daemon for D-Bus at-spi" + +PKG_MESON_OPTS_TARGET="-Denable_docs=false \ + -Denable-introspection=no" + +pre_configure_target() { + LDFLAGS="$LDFLAGS -lXext" +} From 57208bcc19dc2038f88fbb266ec63bcd6665adab Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 14/28] at-spi2-atk: initial package --- .../chrome-depends/at-spi2-atk/package.mk | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 packages/addons/addon-depends/chrome-depends/at-spi2-atk/package.mk diff --git a/packages/addons/addon-depends/chrome-depends/at-spi2-atk/package.mk b/packages/addons/addon-depends/chrome-depends/at-spi2-atk/package.mk new file mode 100644 index 0000000000..1d447a1a46 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/at-spi2-atk/package.mk @@ -0,0 +1,27 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# Copyright (C) 2017 Escalade +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="at-spi2-atk" +PKG_VERSION="2.26.2" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.gnome.org/" +PKG_URL="https://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/${PKG_VERSION:0:4}/at-spi2-atk-$PKG_VERSION.tar.xz" +PKG_DEPENDS_TARGET="toolchain at-spi2-core atk libX11 libxml2" +PKG_SHORTDESC="A GTK+ module that bridges ATK to D-Bus at-spi" From e1e14379b9cfe5c8127f975dca0d9afdc24410d8 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 15/28] cups: initial package --- .../chrome-depends/cups/package.mk | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 packages/addons/addon-depends/chrome-depends/cups/package.mk diff --git a/packages/addons/addon-depends/chrome-depends/cups/package.mk b/packages/addons/addon-depends/chrome-depends/cups/package.mk new file mode 100644 index 0000000000..fc765bb89d --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/cups/package.mk @@ -0,0 +1,45 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# Copyright (C) 2017 Escalade +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="cups" +PKG_VERSION="2.2.8" +PKG_SHA256="8f87157960b9d80986f52989781d9de79235aa060e05008e4cf4c0a6ef6bca72" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.cups.org" +PKG_URL="https://github.com/apple/cups/archive/v$PKG_VERSION.tar.gz" +PKG_DEPENDS_TARGET="toolchain openssl zlib" +PKG_LONGDESC="CUPS printing system" +PKG_BUILD_FLAGS="+pic" + +pre_configure_target() { + cd .. + rm -rf .$TARGET_NAME +} + +PKG_CONFIGURE_OPTS_TARGET="--libdir=/usr/lib \ + --disable-gssapi \ + --disable-avahi \ + --disable-systemd \ + --disable-launchd \ + --disable-unit-tests" + +makeinstall_target() { + make BUILDROOT="$INSTALL/../.INSTALL_PKG" +} From 500961c7b15c19fe18a4bbcf6a2d1219ac8eab1b Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 16/28] gconf: initial package --- .../chrome-depends/gconf/package.mk | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 packages/addons/addon-depends/chrome-depends/gconf/package.mk diff --git a/packages/addons/addon-depends/chrome-depends/gconf/package.mk b/packages/addons/addon-depends/chrome-depends/gconf/package.mk new file mode 100644 index 0000000000..8284e0292e --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/gconf/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="gconf" +PKG_VERSION="3.2.6" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="https://projects-old.gnome.org/gconf/" +PKG_URL="https://download.gnome.org/sources/GConf/3.2/GConf-$PKG_VERSION.tar.xz" +PKG_SOURCE_DIR="GConf-$PKG_VERSION" +PKG_DEPENDS_TARGET="toolchain zlib glib dbus-glib glfw" +PKG_LONGDESC="GConf is a system for storing application preferences." + +PKG_CONFIGURE_OPTS_TARGET="--disable-shared \ + --enable-static \ + --disable-gtk-doc \ + --disable-orbit" From 94d702b0d5e869d49a1eda3d1e0670a66b0e1701 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 17/28] libxss: initial package --- .../chrome-depends/libxss/package.mk | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 packages/addons/addon-depends/chrome-depends/libxss/package.mk diff --git a/packages/addons/addon-depends/chrome-depends/libxss/package.mk b/packages/addons/addon-depends/chrome-depends/libxss/package.mk new file mode 100644 index 0000000000..ea1eacd8b0 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/libxss/package.mk @@ -0,0 +1,30 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="libxss" +PKG_VERSION="1.2.2" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.X.org" +PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXScrnSaver-$PKG_VERSION.tar.bz2" +PKG_SOURCE_DIR="libXScrnSaver-$PKG_VERSION" +PKG_DEPENDS_TARGET="toolchain util-macros libXext scrnsaverproto" +PKG_LONGDESC="X11 Screen Saver extension library" +PKG_BUILD_FLAGS="+pic" + +PKG_CONFIGURE_OPTS_TARGET="--enable-malloc0returnsnull" From 4c1c77622916a83dd8e343f33d1002e1e0b459a5 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 18/28] shared-mime-info: initial package --- .../shared-mime-info/package.mk | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 packages/addons/addon-depends/chrome-depends/shared-mime-info/package.mk diff --git a/packages/addons/addon-depends/chrome-depends/shared-mime-info/package.mk b/packages/addons/addon-depends/chrome-depends/shared-mime-info/package.mk new file mode 100644 index 0000000000..79a781a4ee --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/shared-mime-info/package.mk @@ -0,0 +1,31 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="shared-mime-info" +PKG_VERSION="1.9" +PKG_SHA256="5c0133ec4e228e41bdf52f726d271a2d821499c2ab97afd3aa3d6cf43efcdc83" +PKG_ARCH="any" +PKG_LICENSE="GPL2" +PKG_SITE="https://freedesktop.org/wiki/Software/shared-mime-info/" +PKG_URL="http://freedesktop.org/~hadess/shared-mime-info-$PKG_VERSION.tar.xz" +PKG_DEPENDS_TARGET="toolchain libxml2" +PKG_LONGDESC="The shared-mime-info package contains the core database of common types." +PKG_BUILD_FLAGS="-parallel" + +PKG_CONFIGURE_OPTS_TARGET="--disable-nls \ + --disable-update-mimedb" From e6eef26e6c1d6e9161982081310568f3269bfe28 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 19/28] scrnsaverproto: move to chrome-deps --- .../{ => chrome-depends}/scrnsaverproto/package.mk | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) rename packages/addons/addon-depends/{ => chrome-depends}/scrnsaverproto/package.mk (68%) diff --git a/packages/addons/addon-depends/scrnsaverproto/package.mk b/packages/addons/addon-depends/chrome-depends/scrnsaverproto/package.mk similarity index 68% rename from packages/addons/addon-depends/scrnsaverproto/package.mk rename to packages/addons/addon-depends/chrome-depends/scrnsaverproto/package.mk index a0c8a6a044..8108cf07fc 100644 --- a/packages/addons/addon-depends/scrnsaverproto/package.mk +++ b/packages/addons/addon-depends/chrome-depends/scrnsaverproto/package.mk @@ -1,19 +1,20 @@ ################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC # Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) # -# OpenELEC is free software: you can redistribute it and/or modify +# LibreELEC 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 of the License, or # (at your option) any later version. # -# OpenELEC is distributed in the hope that it will be useful, +# LibreELEC 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 OpenELEC. If not, see . +# along with LibreELEC. If not, see . ################################################################################ PKG_NAME="scrnsaverproto" @@ -22,8 +23,6 @@ PKG_SHA256="8bb70a8da164930cceaeb4c74180291660533ad3cc45377b30a795d1b85bcd65" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://xorg.freedesktop.org/" -PKG_URL="http://xorg.freedesktop.org/releases/individual/proto/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_URL="https://xorg.freedesktop.org/releases/individual/proto/scrnsaverproto-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain" -PKG_SECTION="x11/proto" -PKG_SHORTDESC="X11 Screen Saver extension wire protocol" PKG_LONGDESC="X11 Screen Saver extension wire protocol" From 76a56d6f34203a8d61614d22517d2806600fdeb7 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 20/28] libXScrnSaver: move to chrome-deps --- .../libXScrnSaver/package.mk | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) rename packages/addons/addon-depends/{ => chrome-depends}/libXScrnSaver/package.mk (63%) diff --git a/packages/addons/addon-depends/libXScrnSaver/package.mk b/packages/addons/addon-depends/chrome-depends/libXScrnSaver/package.mk similarity index 63% rename from packages/addons/addon-depends/libXScrnSaver/package.mk rename to packages/addons/addon-depends/chrome-depends/libXScrnSaver/package.mk index 18287192a3..ca1aa9e804 100644 --- a/packages/addons/addon-depends/libXScrnSaver/package.mk +++ b/packages/addons/addon-depends/chrome-depends/libXScrnSaver/package.mk @@ -1,19 +1,20 @@ ################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC # Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) # -# OpenELEC is free software: you can redistribute it and/or modify +# LibreELEC 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 of the License, or # (at your option) any later version. # -# OpenELEC is distributed in the hope that it will be useful, +# LibreELEC 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 OpenELEC. If not, see . +# along with LibreELEC. If not, see . ################################################################################ PKG_NAME="libXScrnSaver" @@ -22,10 +23,10 @@ PKG_SHA256="8ff1efa7341c7f34bcf9b17c89648d6325ddaae22e3904e091794e0b4426ce1d" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://xorg.freedesktop.org/" -PKG_URL="http://xorg.freedesktop.org/releases/individual/lib/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_URL="https://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-$PKG_VERSION.tar.bz2" PKG_DEPENDS_TARGET="toolchain scrnsaverproto" -PKG_SECTION="x11/lib" -PKG_SHORTDESC="X11 Screen Saver extension client library" PKG_LONGDESC="X11 Screen Saver extension client library" -PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared --enable-malloc0returnsnull" +PKG_CONFIGURE_OPTS_TARGET="--disable-static \ + --enable-shared \ + --enable-malloc0returnsnull" From 69307229b2edd3d69f65891d344b1928b2900a21 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 21/28] libXft: move to chrome-deps --- .../{ => chrome-depends}/libXft/package.mk | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) rename packages/addons/addon-depends/{ => chrome-depends}/libXft/package.mk (59%) diff --git a/packages/addons/addon-depends/libXft/package.mk b/packages/addons/addon-depends/chrome-depends/libXft/package.mk similarity index 59% rename from packages/addons/addon-depends/libXft/package.mk rename to packages/addons/addon-depends/chrome-depends/libXft/package.mk index 0e699beb68..a08a5f4a80 100644 --- a/packages/addons/addon-depends/libXft/package.mk +++ b/packages/addons/addon-depends/chrome-depends/libXft/package.mk @@ -1,19 +1,20 @@ ################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC # Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) # -# OpenELEC is free software: you can redistribute it and/or modify +# LibreELEC 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 of the License, or # (at your option) any later version. # -# OpenELEC is distributed in the hope that it will be useful, +# LibreELEC 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 OpenELEC. If not, see . +# along with LibreELEC. If not, see . ################################################################################ PKG_NAME="libXft" @@ -22,10 +23,10 @@ PKG_SHA256="f5a3c824761df351ca91827ac221090943ef28b248573486050de89f4bfcdc4c" PKG_ARCH="any" PKG_LICENSE="OSS" PKG_SITE="http://www.X.org" -PKG_URL="http://xorg.freedesktop.org/archive/individual/lib/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS_TARGET="toolchain util-macros xproto libXrender fontconfig freetype" -PKG_SECTION="x11/lib" -PKG_SHORTDESC="libxft: X FreeType library" +PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXft-$PKG_VERSION.tar.bz2" +PKG_DEPENDS_TARGET="toolchain fontconfig freetype libXrender util-macros xorgproto" PKG_LONGDESC="X FreeType library" +PKG_BUILD_FLAGS="+pic" -PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared" +PKG_CONFIGURE_OPTS_TARGET="--enable-static \ + --disable-shared" From 34a0a6957079ff70df6a88c4b2af5c09ea9d4d13 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 22/28] unclutter: move to chrome-deps --- .../addon-depends/{ => chrome-depends}/unclutter/package.mk | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) rename packages/addons/addon-depends/{ => chrome-depends}/unclutter/package.mk (79%) diff --git a/packages/addons/addon-depends/unclutter/package.mk b/packages/addons/addon-depends/chrome-depends/unclutter/package.mk similarity index 79% rename from packages/addons/addon-depends/unclutter/package.mk rename to packages/addons/addon-depends/chrome-depends/unclutter/package.mk index c7475908d3..0b6c637350 100644 --- a/packages/addons/addon-depends/unclutter/package.mk +++ b/packages/addons/addon-depends/chrome-depends/unclutter/package.mk @@ -22,11 +22,9 @@ PKG_SHA256="3a53575fe2a75a34bc9a2b0ad92ee0f8a7dbedc05d8783f191c500060a40a9bd" PKG_ARCH="any" PKG_LICENSE="Public Domain" PKG_SITE="https://sourceforge.net/projects/unclutter/" -PKG_URL="http://jaist.dl.sourceforge.net/project/unclutter/unclutter/source_$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_URL="https://sourceforge.net/projects/unclutter/unclutter/source_$PKG_VERSION/unclutter-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain libX11" -PKG_SECTION="x11" -PKG_SHORTDESC="Unclutter: Hide X11 Cursor" -PKG_LONGDESC="Unclutter runs in the background of an X11 session and after a specified period of inactivity hides the cursor from display. When the cursor is moved its display is restored. Users may specify specific windows to be ignored by unclutter." +PKG_LONGDESC="Unclutter runs in the background of an X11 session and hides the X11 Cursor." make_target() { rm -f Makefile From 3ce1f6fd88dcf2cf8af0d5f8cf2dab95a3fab32a Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 23/28] cairo: enable gobject --- packages/graphics/cairo/package.mk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/graphics/cairo/package.mk b/packages/graphics/cairo/package.mk index 0ef9d6941c..eb624d4cbf 100644 --- a/packages/graphics/cairo/package.mk +++ b/packages/graphics/cairo/package.mk @@ -90,9 +90,7 @@ PKG_CONFIGURE_OPTS_TARGET="$PKG_CAIRO_CONFIG \ --disable-beos \ --disable-cogl \ --disable-drm \ - --disable-drm-xr \ --disable-gallium \ - --disable-xcb-drm \ --enable-png \ --disable-directfb \ --disable-vg \ @@ -107,7 +105,7 @@ PKG_CONFIGURE_OPTS_TARGET="$PKG_CAIRO_CONFIG \ --disable-tee \ --disable-xml \ --enable-pthread \ - --disable-gobject \ + --enable-gobject=yes \ --disable-full-testing \ --disable-trace \ --enable-interpreter \ From 89a6636a165a9d0cdc9cc15bdcdf1e5854f41675 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 24/28] tiff: update to 4.0.9 --- packages/graphics/tiff/package.mk | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/packages/graphics/tiff/package.mk b/packages/graphics/tiff/package.mk index e5a13734f2..b49923f165 100644 --- a/packages/graphics/tiff/package.mk +++ b/packages/graphics/tiff/package.mk @@ -1,44 +1,42 @@ ################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC # Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) # -# OpenELEC is free software: you can redistribute it and/or modify +# LibreELEC 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 of the License, or # (at your option) any later version. # -# OpenELEC is distributed in the hope that it will be useful, +# LibreELEC 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 OpenELEC. If not, see . +# along with LibreELEC. If not, see . ################################################################################ PKG_NAME="tiff" -#PKG_VERSION="4.0.3" -PKG_VERSION="3.9.7" -PKG_SHA256="f5d64dd4ce61c55f5e9f6dc3920fbe5a41e02c2e607da7117a35eb5c320cef6a" +PKG_VERSION="4.0.9" +PKG_SHA256="6e7bdeec2c310734e734d19aae3a71ebe37a4d842e0e23dbb1b8921c0026cfcd" PKG_ARCH="any" PKG_LICENSE="OSS" PKG_SITE="http://www.remotesensing.org/libtiff/" PKG_URL="http://download.osgeo.org/libtiff/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain libjpeg-turbo zlib" PKG_SECTION="graphics" -PKG_SHORTDESC="libtiff: A library for reading and writing TIFF files" -PKG_LONGDESC="libtiff is a library for reading and writing data files encoded with the Tag Image File format, Revision 6.0 (or revision 5.0 or revision 4.0). This file format is suit- able for archiving multi-color and monochromatic image data." +PKG_LONGDESC="libtiff is a library for reading and writing TIFF files." PKG_BUILD_FLAGS="+pic" +PKG_TOOLCHAIN="configure" PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --disable-shared \ --disable-mdi \ --enable-cxx \ - --with-gl=no \ --with-jpeg-lib-dir=$SYSROOT_PREFIX/usr/lib \ --with-jpeg-include-dir=$SYSROOT_PREFIX/usr/include \ - --without-x \ - --with-gl=no" + --without-x" post_makeinstall_target() { rm -rf $INSTALL/usr/bin From 697eff4f2985ec58dc6423d78f96643ba166afc5 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:16 +0200 Subject: [PATCH 25/28] gtk3: initial package --- .../chrome-depends/gtk3/files/settings.ini | 4 ++ .../chrome-depends/gtk3/package.mk | 45 +++++++++++++++++++ .../gtk3/patches/gtk3-subdirs.patch | 13 ++++++ 3 files changed, 62 insertions(+) create mode 100644 packages/addons/addon-depends/chrome-depends/gtk3/files/settings.ini create mode 100644 packages/addons/addon-depends/chrome-depends/gtk3/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/gtk3/patches/gtk3-subdirs.patch diff --git a/packages/addons/addon-depends/chrome-depends/gtk3/files/settings.ini b/packages/addons/addon-depends/chrome-depends/gtk3/files/settings.ini new file mode 100644 index 0000000000..c6bdb7fa46 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/gtk3/files/settings.ini @@ -0,0 +1,4 @@ +[Settings] +gtk-icon-theme-name = Adwaita +gtk-theme-name = Adwaita +gtk-font-name = Liberation Sans 12 diff --git a/packages/addons/addon-depends/chrome-depends/gtk3/package.mk b/packages/addons/addon-depends/chrome-depends/gtk3/package.mk new file mode 100644 index 0000000000..604c76722a --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/gtk3/package.mk @@ -0,0 +1,45 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# Copyright (C) 2017 Escalade +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="gtk3" +PKG_VERSION="3.22.30" +PKG_SHA256="a1a4a5c12703d4e1ccda28333b87ff462741dc365131fbc94c218ae81d9a6567" +PKG_ARCH="any" +PKG_LICENSE="LGPL" +PKG_SITE="http://www.gtk.org/" +PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gtk+/${PKG_VERSION:0:4}/gtk+-$PKG_VERSION.tar.xz" +PKG_SOURCE_DIR="gtk+-$PKG_VERSION" +PKG_DEPENDS_TARGET="toolchain at-spi2-atk atk cairo gdk-pixbuf glib libX11 libXi libXrandr libepoxy pango" +PKG_LONGDESC="The Gimp ToolKit (GTK) is a library for creating graphical user interfaces for the X Window System." + +PKG_CONFIGURE_OPTS_TARGET="--disable-cups \ + --disable-debug \ + --enable-explicit-deps=no \ + --disable-glibtest \ + --disable-gtk-doc \ + --disable-gtk-doc-html \ + --disable-man \ + --enable-modules \ + --disable-papi \ + --disable-xinerama \ + --enable-xkb" + +pre_configure_target() { + LIBS="$LIBS -lXcursor" +} diff --git a/packages/addons/addon-depends/chrome-depends/gtk3/patches/gtk3-subdirs.patch b/packages/addons/addon-depends/chrome-depends/gtk3/patches/gtk3-subdirs.patch new file mode 100644 index 0000000000..c3be473373 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/gtk3/patches/gtk3-subdirs.patch @@ -0,0 +1,13 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -566,8 +566,8 @@ + || { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } \ + && DISPLAY=:$$XID && export DISPLAY + +-SRC_SUBDIRS = gdk gtk libgail-util modules demos tests testsuite examples +-SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build ++SRC_SUBDIRS = gdk gtk modules ++SUBDIRS = po po-properties $(SRC_SUBDIRS) m4macros build + ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} + MAINTAINERCLEANFILES = \ + $(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \ From dff2142ce9bf7ef89b76597e08bd5f8b04af12a4 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:17 +0200 Subject: [PATCH 26/28] chrome-libs: initial package --- .../chrome-libXcomposite/package.mk | 32 +++++++++++++++++++ .../sources/trigger_unpack | 0 .../chrome-libXdamage/package.mk | 32 +++++++++++++++++++ .../chrome-libXdamage/sources/trigger_unpack | 0 .../chrome-libXfixes/package.mk | 32 +++++++++++++++++++ .../chrome-libXfixes/sources/trigger_unpack | 0 .../chrome-depends/chrome-libXi/package.mk | 32 +++++++++++++++++++ .../chrome-libXi/sources/trigger_unpack | 0 .../chrome-libXrender/package.mk | 32 +++++++++++++++++++ .../chrome-libXrender/sources/trigger_unpack | 0 .../chrome-depends/chrome-libXtst/package.mk | 32 +++++++++++++++++++ .../chrome-libXtst/sources/trigger_unpack | 0 .../chrome-depends/chrome-libxcb/package.mk | 32 +++++++++++++++++++ .../chrome-libxcb/sources/trigger_unpack | 0 14 files changed, 224 insertions(+) create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/sources/trigger_unpack create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXdamage/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXdamage/sources/trigger_unpack create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXfixes/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXfixes/sources/trigger_unpack create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXi/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXi/sources/trigger_unpack create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXrender/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXrender/sources/trigger_unpack create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXtst/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libXtst/sources/trigger_unpack create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libxcb/package.mk create mode 100644 packages/addons/addon-depends/chrome-depends/chrome-libxcb/sources/trigger_unpack diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/package.mk new file mode 100644 index 0000000000..07e3992853 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +. $(get_pkg_directory libXcomposite)/package.mk + +PKG_NAME="chrome-libXcomposite" +PKG_LONGDESC="libXcomposite for chrome" +PKG_URL="" + +unpack() { + mkdir -p $PKG_BUILD + tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD +} + +PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ + --disable-static \ + --enable-shared" diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/sources/trigger_unpack b/packages/addons/addon-depends/chrome-depends/chrome-libXcomposite/sources/trigger_unpack new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXdamage/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXdamage/package.mk new file mode 100644 index 0000000000..c7b171d541 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXdamage/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +. $(get_pkg_directory libXdamage)/package.mk + +PKG_NAME="chrome-libXdamage" +PKG_LONGDESC="libXdamage for chrome" +PKG_URL="" + +unpack() { + mkdir -p $PKG_BUILD + tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD +} + +PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ + --disable-static \ + --enable-shared" diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXdamage/sources/trigger_unpack b/packages/addons/addon-depends/chrome-depends/chrome-libXdamage/sources/trigger_unpack new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXfixes/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXfixes/package.mk new file mode 100644 index 0000000000..182a9ea580 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXfixes/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +. $(get_pkg_directory libXfixes)/package.mk + +PKG_NAME="chrome-libXfixes" +PKG_LONGDESC="libXfixes for chrome" +PKG_URL="" + +unpack() { + mkdir -p $PKG_BUILD + tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD +} + +PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ + --disable-static \ + --enable-shared" diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXfixes/sources/trigger_unpack b/packages/addons/addon-depends/chrome-depends/chrome-libXfixes/sources/trigger_unpack new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXi/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXi/package.mk new file mode 100644 index 0000000000..b98d8d477c --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXi/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +. $(get_pkg_directory libXi)/package.mk + +PKG_NAME="chrome-libXi" +PKG_LONGDESC="libXi for chrome" +PKG_URL="" + +unpack() { + mkdir -p $PKG_BUILD + tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD +} + +PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ + --disable-static \ + --enable-shared" diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXi/sources/trigger_unpack b/packages/addons/addon-depends/chrome-depends/chrome-libXi/sources/trigger_unpack new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXrender/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXrender/package.mk new file mode 100644 index 0000000000..40f3957be9 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXrender/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +. $(get_pkg_directory libXrender)/package.mk + +PKG_NAME="chrome-libXrender" +PKG_LONGDESC="libXrender for chrome" +PKG_URL="" + +unpack() { + mkdir -p $PKG_BUILD + tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD +} + +PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ + --disable-static \ + --enable-shared" diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXrender/sources/trigger_unpack b/packages/addons/addon-depends/chrome-depends/chrome-libXrender/sources/trigger_unpack new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXtst/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libXtst/package.mk new file mode 100644 index 0000000000..ea839368f6 --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/chrome-libXtst/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +. $(get_pkg_directory libXtst)/package.mk + +PKG_NAME="chrome-libXtst" +PKG_LONGDESC="libXtst for chrome" +PKG_URL="" + +unpack() { + mkdir -p $PKG_BUILD + tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD +} + +PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ + --disable-static \ + --enable-shared" diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libXtst/sources/trigger_unpack b/packages/addons/addon-depends/chrome-depends/chrome-libXtst/sources/trigger_unpack new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libxcb/package.mk b/packages/addons/addon-depends/chrome-depends/chrome-libxcb/package.mk new file mode 100644 index 0000000000..ea9364328e --- /dev/null +++ b/packages/addons/addon-depends/chrome-depends/chrome-libxcb/package.mk @@ -0,0 +1,32 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +. $(get_pkg_directory libxcb)/package.mk + +PKG_NAME="chrome-libxcb" +PKG_LONGDESC="libxcb for chrome" +PKG_URL="" + +unpack() { + mkdir -p $PKG_BUILD + tar --strip-components=1 -xf $SOURCES/${PKG_NAME:7}/${PKG_NAME:7}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD +} + +PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET \ + --disable-static \ + --enable-shared" diff --git a/packages/addons/addon-depends/chrome-depends/chrome-libxcb/sources/trigger_unpack b/packages/addons/addon-depends/chrome-depends/chrome-libxcb/sources/trigger_unpack new file mode 100644 index 0000000000..e69de29bb2 From 6b4eac3ba145dd6ae96ea3200f424bd85b2db311 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 10:56:17 +0200 Subject: [PATCH 27/28] chrome: initial add-on --- packages/addons/browser/chrome/changelog.txt | 2 + .../addons/browser/chrome/config/Xdefaults | 1 + .../browser/chrome/config/pango.modules | 13 ++ packages/addons/browser/chrome/config/pangorc | 10 ++ .../chrome/config/pixbuf.loaders.cache | 104 ++++++++++++++++ packages/addons/browser/chrome/icon/icon.png | Bin 0 -> 36803 bytes packages/addons/browser/chrome/package.mk | 117 ++++++++++++++++++ .../chrome/source/bin/chrome-downloader | 94 ++++++++++++++ .../browser/chrome/source/bin/chrome-start | 113 +++++++++++++++++ .../addons/browser/chrome/source/default.py | 116 +++++++++++++++++ .../resources/language/English/strings.po | 46 +++++++ .../chrome/source/resources/settings.xml | 15 +++ .../chrome/source/settings-default.xml | 10 ++ 13 files changed, 641 insertions(+) create mode 100644 packages/addons/browser/chrome/changelog.txt create mode 100644 packages/addons/browser/chrome/config/Xdefaults create mode 100644 packages/addons/browser/chrome/config/pango.modules create mode 100644 packages/addons/browser/chrome/config/pangorc create mode 100644 packages/addons/browser/chrome/config/pixbuf.loaders.cache create mode 100644 packages/addons/browser/chrome/icon/icon.png create mode 100644 packages/addons/browser/chrome/package.mk create mode 100644 packages/addons/browser/chrome/source/bin/chrome-downloader create mode 100644 packages/addons/browser/chrome/source/bin/chrome-start create mode 100644 packages/addons/browser/chrome/source/default.py create mode 100644 packages/addons/browser/chrome/source/resources/language/English/strings.po create mode 100644 packages/addons/browser/chrome/source/resources/settings.xml create mode 100644 packages/addons/browser/chrome/source/settings-default.xml diff --git a/packages/addons/browser/chrome/changelog.txt b/packages/addons/browser/chrome/changelog.txt new file mode 100644 index 0000000000..fbac0f5bdd --- /dev/null +++ b/packages/addons/browser/chrome/changelog.txt @@ -0,0 +1,2 @@ +100 +- initial release diff --git a/packages/addons/browser/chrome/config/Xdefaults b/packages/addons/browser/chrome/config/Xdefaults new file mode 100644 index 0000000000..95307ee3db --- /dev/null +++ b/packages/addons/browser/chrome/config/Xdefaults @@ -0,0 +1 @@ +Xft.dpi: 96 diff --git a/packages/addons/browser/chrome/config/pango.modules b/packages/addons/browser/chrome/config/pango.modules new file mode 100644 index 0000000000..bd3e97457d --- /dev/null +++ b/packages/addons/browser/chrome/config/pango.modules @@ -0,0 +1,13 @@ +/storage/.kodi/addons/browser.chrome/pango-modules/pango-arabic-lang.so ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-basic-fc.so BasicScriptEngineFc PangoEngineShape PangoRenderFc common: +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so gujrIndicScriptEngineLang PangoEngineLang PangoRenderNone gujarati:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so oryaIndicScriptEngineLang PangoEngineLang PangoRenderNone oriya:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so tamlIndicScriptEngineLang PangoEngineLang PangoRenderNone tamil:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so teluIndicScriptEngineLang PangoEngineLang PangoRenderNone telugu:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:* +/storage/.kodi/addons/browser.chrome/pango-modules/pango-indic-lang.so sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:* + diff --git a/packages/addons/browser/chrome/config/pangorc b/packages/addons/browser/chrome/config/pangorc new file mode 100644 index 0000000000..49fb9237bb --- /dev/null +++ b/packages/addons/browser/chrome/config/pangorc @@ -0,0 +1,10 @@ +# +# pangorc file for uninstalled operation. If pango-viewer is run with +# this file in the current directory it will set it as PANGO_RC_FILE +# + +[Pango] +ModuleFiles = /storage/.kodi/addons/browser.chrome/config/pango.modules + +[PangoX] +AliasFiles = /storage/.kodi/addons/browser.chrome/config/pangx.aliases diff --git a/packages/addons/browser/chrome/config/pixbuf.loaders.cache b/packages/addons/browser/chrome/config/pixbuf.loaders.cache new file mode 100644 index 0000000000..9effded69b --- /dev/null +++ b/packages/addons/browser/chrome/config/pixbuf.loaders.cache @@ -0,0 +1,104 @@ +# How to generate those file +# cd /LE/build.LibreELEC-Generic/gdk-pixbuf-2.36.12/.install_pkg/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders +# cp /LE/build.LibreELEC-Generic/gdk-pixbuf-2.36.12/.install_pkg/usr/bin/gdk-pixbuf-query-loaders . +# ./gdk-pixbuf-query-loaders *.so > pixbuf.loaders.cache + + +# GdkPixbuf Image Loader Modules file +# Automatically generated file, do not edit +# Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.36.12 +# +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-ani.so" +"ani" 4 "gdk-pixbuf" "Windows animated cursor" "LGPL" +"application/x-navi-animation" "" +"ani" "" +"RIFF ACON" " xxxx " 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-bmp.so" +"bmp" 5 "gdk-pixbuf" "BMP" "LGPL" +"image/bmp" "image/x-bmp" "image/x-MS-bmp" "" +"bmp" "" +"BM" "" 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-gif.so" +"gif" 4 "gdk-pixbuf" "GIF" "LGPL" +"image/gif" "" +"gif" "" +"GIF8" "" 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-icns.so" +"icns" 4 "gdk-pixbuf" "MacOS X icon" "GPL" +"image/x-icns" "" +"icns" "" +"icns" "" 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-ico.so" +"ico" 5 "gdk-pixbuf" "Windows icon" "LGPL" +"image/x-icon" "image/x-ico" "image/x-win-bitmap" "image/vnd.microsoft.icon" "application/ico" "image/ico" "image/icon" "text/ico" "" +"ico" "cur" "" +" \001 " "zz znz" 100 +" \002 " "zz znz" 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-jpeg.so" +"jpeg" 5 "gdk-pixbuf" "JPEG" "LGPL" +"image/jpeg" "" +"jpeg" "jpe" "jpg" "" +"\377\330" "" 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-png.so" +"png" 5 "gdk-pixbuf" "PNG" "LGPL" +"image/png" "" +"png" "" +"\211PNG\r\n\032\n" "" 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-pnm.so" +"pnm" 4 "gdk-pixbuf" "PNM/PBM/PGM/PPM" "LGPL" +"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" "" +"pnm" "pbm" "pgm" "ppm" "" +"P1" "" 100 +"P2" "" 100 +"P3" "" 100 +"P4" "" 100 +"P5" "" 100 +"P6" "" 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-qtif.so" +"qtif" 4 "gdk-pixbuf" "QuickTime" "LGPL" +"image/x-quicktime" "image/qtif" "" +"qtif" "qif" "" +"abcdidsc" "xxxx " 100 +"abcdidat" "xxxx " 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-tga.so" +"tga" 4 "gdk-pixbuf" "Targa" "LGPL" +"image/x-tga" "" +"tga" "targa" "" +" \001\001" "x " 100 +" \001\t" "x " 100 +" \002" "xz " 99 +" \003" "xz " 100 +" \n" "xz " 100 +" \v" "xz " 100 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-tiff.so" +"tiff" 5 "gdk-pixbuf" "TIFF" "LGPL" +"image/tiff" "" +"tiff" "tif" "" +"MM *" " z " 100 +"II* " " z" 100 +"II* \020 CR\002 " " z zzz z" 0 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-xbm.so" +"xbm" 4 "gdk-pixbuf" "XBM" "LGPL" +"image/x-xbitmap" "" +"xbm" "" +"#define " "" 100 +"/*" "" 50 + +"/storage/.kodi/addons/browser.chrome/gdk-pixbuf-modules/libpixbufloader-xpm.so" +"xpm" 4 "gdk-pixbuf" "XPM" "LGPL" +"image/x-xpixmap" "" +"xpm" "" +"/* XPM */" "" 100 + + diff --git a/packages/addons/browser/chrome/icon/icon.png b/packages/addons/browser/chrome/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0baf8a323497ac26f4c7f143524b16da27eb0a00 GIT binary patch literal 36803 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 Fe*oW|ekuR} literal 0 HcmV?d00001 diff --git a/packages/addons/browser/chrome/package.mk b/packages/addons/browser/chrome/package.mk new file mode 100644 index 0000000000..d1d9755f09 --- /dev/null +++ b/packages/addons/browser/chrome/package.mk @@ -0,0 +1,117 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="chrome" +PKG_VERSION="1.0" +PKG_REV="100" +PKG_ARCH="x86_64" +PKG_LICENSE="Custom" +PKG_SITE="http://www.google.com/chrome" +PKG_DEPENDS_TARGET="toolchain at-spi2-atk atk cairo chrome-libXcomposite \ + chrome-libXdamage chrome-libXfixes chrome-libXi chrome-libXrender \ + chrome-libXtst chrome-libxcb cups gdk-pixbuf gtk3 harfbuzz \ + libXcursor libxss nss pango scrnsaverproto unclutter" +PKG_SECTION="browser" +PKG_SHORTDESC="Google Chrome Browser" +PKG_LONGDESC="Google Chrome Browser" +PKG_TOOLCHAIN="manual" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="Chrome" +PKG_ADDON_TYPE="xbmc.python.script" +PKG_ADDON_PROVIDES="executable" + +make_target() { + : +} + +addon() { + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin \ + $ADDON_BUILD/$PKG_ADDON_ID/config \ + $ADDON_BUILD/$PKG_ADDON_ID/gdk-pixbuf-modules \ + $ADDON_BUILD/$PKG_ADDON_ID/lib + + # config + cp -P $PKG_DIR/config/* $ADDON_BUILD/$PKG_ADDON_ID/config + + # atk + cp -PL $(get_build_dir atk)/.install_pkg/usr/lib/libatk-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # cairo + cp -PL $(get_build_dir cairo)/.install_pkg/usr/lib/libcairo-gobject.so.2 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_build_dir cairo)/.install_pkg/usr/lib/libcairo.so.2 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # gdk-pixbuf + cp -PL $(get_build_dir gdk-pixbuf)/.install_pkg/usr/lib/libgdk_pixbuf-2.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # gdk-pixbuf modules + cp -PL $(get_build_dir gdk-pixbuf)/.install_pkg/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/* $ADDON_BUILD/$PKG_ADDON_ID/gdk-pixbuf-modules + + # gtk3 gdk3 + cp -PL $(get_build_dir gtk3)/.install_pkg/usr/lib/libgtk-3.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_build_dir gtk3)/.install_pkg/usr/lib/libgdk-3.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # harfbuzz + cp -PL $(get_build_dir harfbuzz)/.install_pkg/usr/lib/libharfbuzz.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_build_dir harfbuzz)/.install_pkg/usr/lib/libharfbuzz-icu.so* $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libatk-bridge + cp -PL $(get_build_dir at-spi2-atk)/.install_pkg/usr/lib/libatk-bridge-2.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libatspi + cp -PL $(get_build_dir at-spi2-core)/.install_pkg/usr/lib/libatspi.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libcups + cp -PL $(get_build_dir cups)/cups/libcups.so.2 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libxcb + cp -PL $(get_build_dir chrome-libxcb)/.install_pkg/usr/lib/libxcb.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libXcomposite + cp -PL $(get_build_dir chrome-libXcomposite)/.install_pkg/usr/lib/libXcomposite.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libXcursor + cp -PL $(get_build_dir libXcursor)/.install_pkg/usr/lib/libXcursor.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libXdamage + cp -PL $(get_build_dir chrome-libXdamage)/.install_pkg/usr/lib/libXdamage.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libXfixes + cp -PL $(get_build_dir chrome-libXfixes)/.install_pkg/usr/lib/libXfixes.so.3 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libXi + cp -PL $(get_build_dir chrome-libXi)/.install_pkg/usr/lib/libXi.so.6 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libXrender + cp -PL $(get_build_dir chrome-libXrender)/.install_pkg/usr/lib/libXrender.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libxss + cp -PL $(get_build_dir libxss)/.install_pkg/usr/lib/libXss.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # libXtst + cp -PL $(get_build_dir chrome-libXtst)/.install_pkg/usr/lib/libXtst.so.6 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # pango + cp -PL $(get_build_dir pango)/.install_pkg/usr/lib/libpangocairo-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_build_dir pango)/.install_pkg/usr/lib/libpango-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + cp -PL $(get_build_dir pango)/.install_pkg/usr/lib/libpangoft2-1.0.so.0 $ADDON_BUILD/$PKG_ADDON_ID/lib + + # unclutter + cp -P $(get_build_dir unclutter)/.install_pkg/usr/bin/unclutter $ADDON_BUILD/$PKG_ADDON_ID/bin + +} diff --git a/packages/addons/browser/chrome/source/bin/chrome-downloader b/packages/addons/browser/chrome/source/bin/chrome-downloader new file mode 100644 index 0000000000..6ee97c3cc2 --- /dev/null +++ b/packages/addons/browser/chrome/source/bin/chrome-downloader @@ -0,0 +1,94 @@ +#!/bin/bash +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +. /etc/profile +oe_setup_addon browser.chrome + +ICON=$ADDON_DIR/resources/icon.png +CONTROL_FILE=/tmp/curl.done +DATA_FILE=/tmp/curl.data + +# check chrome version +case "$1" in + 'latest') + CHROME_VER="$(curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | \ + gzip -df | awk -F\" '/pkgid.*-stable/{ print $10 }')" + ;; + 'repo') + CHROME_VER="67.0.3396.87" + ;; + *) + echo "Usage $0 { latest | repo }" + exit 0; + ;; +esac + +# check for enough free disk space +if [ $(df . | awk 'END {print $4}') -lt 400000 ]; then + kodi-send --action="Notification(Not enough disk space, at least 400mb are required,30000,${ICON})" >/dev/null + exit 0; +fi + +# remove install status and folders +if [ -f $ADDON_DIR/extract.ok ]; then + rm $ADDON_DIR/extract.ok +fi + +if [ -d $ADDON_DIR/chrome-bin ]; then + rm -rf $ADDON_DIR/chrome-bin +fi + +if [ -d $ADDON_DIR/tmp_download ]; then + rm -rf $ADDON_DIR/tmp_download +fi + +# create tmp download dir +mkdir -p $ADDON_DIR/tmp_download +cd $ADDON_DIR/tmp_download + +echo "Downloading Chrome version $CHROME_VER" + +# download chrome +rm -f ${CONTROL_FILE} ${DATA_FILE} +( + curl -# -O -C - http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_$CHROME_VER-1_amd64.deb 2>${DATA_FILE} + touch ${CONTROL_FILE} +) | \ + while [ : ]; do + [ -f ${DATA_FILE} ] && prog="$(tr '\r' '\n' < ${DATA_FILE} | tail -n 1 | sed -r 's/^[# ]+/#/;s/^[^0-9]*//g')" || prog= + kodi-send --action="Notification(Downloading Chrome,"${prog:-0.0%}",3000,${ICON})" >/dev/null + [ -f ${CONTROL_FILE} ] && break + sleep 4 + done + +rm -f ${CONTROL_FILE} ${DATA_FILE} + +## extract chrome +# extrat chrome.deb +kodi-send --action="Notification(Extracting Chrome,starting,1000,${ICON})" >/dev/null +ar -x google-chrome-stable_$CHROME_VER-1_amd64.deb + +# extract data.tar.xz to chrome-bin directory +mkdir $ADDON_DIR/chrome-bin +tar xf data.tar.xz --strip-components=4 -C $ADDON_DIR/chrome-bin ./opt/google/chrome + +# cleanup +rm -rf $ADDON_DIR/tmp_download +touch $ADDON_DIR/extract.ok +kodi-send --action="Notification(Extracting Chrome,finished,1000,${ICON})" >/dev/null diff --git a/packages/addons/browser/chrome/source/bin/chrome-start b/packages/addons/browser/chrome/source/bin/chrome-start new file mode 100644 index 0000000000..a03065ac45 --- /dev/null +++ b/packages/addons/browser/chrome/source/bin/chrome-start @@ -0,0 +1,113 @@ +#!/bin/sh +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2016-present Team LibreELEC +# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ +. /etc/profile +oe_setup_addon browser.chrome + +# check if chrome is already successful installed +if [ ! -f "$ADDON_DIR/extract.ok" ]; then + cd $ADDON_DIR + chrome-downloader repo +fi + +if [ -e $ADDON_HOME/env ] +then + . $ADDON_HOME/env +fi + +# fix file permissons (zip packaging) +chmod +x $ADDON_DIR/chrome-bin/chrome +chmod 4755 $ADDON_DIR/chrome-bin/chrome-sandbox + +# make sure we use "own" gtk/pango/nss/etc +export LD_LIBRARY_PATH=$ADDON_DIR/lib + +# configure pango/pixbuf +export PANGO_RC_FILE=$ADDON_DIR/config/pangorc +export GDK_PIXBUF_MODULE_FILE=$ADDON_DIR/config/pixbuf.loaders.cache + +# font rendering in gtk widgets is brokeen with nvidia blob. use our Xdefaults +export XENVIRONMENT=$ADDON_DIR/config/Xdefaults + +# start unclutter +if [ "$HIDE_CURSOR" == "true" ] +then + unclutter & + UNCLUTTER_PID=$! +fi + +# vaapi +LIBVA_DRIVERS_PATH="/usr/lib/dri:$ADDON_DIR/lib" +LIBVA_DRIVER_NAME='' +case $VAAPI_MODE in + 'intel') + LIBVA_DRIVER_NAME='i965' + chrome_OPTS="$chrome_OPTS --enable-accelerated-video" + ;; + 'amd') + LIBVA_DRIVER_NAME='vdpau' + chrome_OPTS="$chrome_OPTS --enable-accelerated-video" + ;; + 'nvidia') + LIBVA_DRIVER_NAME='vdpau' + chrome_OPTS="$chrome_OPTS --enable-accelerated-video --allow-no-sandbox-job --disable-gpu-sandbox" + ;; + *) + LIBGL_ALWAYS_SOFTWARE='1' + export LIBGL_ALWAYS_SOFTWARE +esac +export LIBVA_DRIVER_NAME LIBVA_DRIVERS_PATH + +# windowed +case $WINDOW_MODE in + 'maximized') chrome_OPTS="$chrome_OPTS --start-maximized";; + 'kiosk') chrome_OPTS="$chrome_OPTS --kiosk";; +esac + +# rasterization +case $RASTER_MODE in + 'off') chrome_OPTS="$chrome_OPTS --disable-accelerated-2d-canvas --disable-gpu-compositing";; + 'force') chrome_OPTS="$chrome_OPTS --enable-gpu-rasterization --enable-accelerated-2d-canvas --ignore-gpu-blacklist";; +esac + +# alsa +if [ ! -z $ALSA_DEVICE ]; then + chrome_OPTS="$chrome_OPTS --alsa-output-device=$ALSA_DEVICE" +fi + +# HACK!!! to get sound at Chrome stop pulseaudio +systemctl stop pulseaudio + +# start chrome +LD_PRELOAD=/usr/lib/libGL.so $ADDON_DIR/chrome-bin/chrome \ + $chrome_OPTS \ + --no-sandbox \ + --user-data-dir=$ADDON_HOME/profile \ + --test-type $@ \ + 2>&1 | tee $ADDON_LOG_FILE + +# kill unclutter +if [ "$HIDE_CURSOR" == "true" ] +then + kill $UNCLUTTER_PID +fi + +# HACK!!! to get sound at Kodi start pulseaudio +sleep 5 +systemctl start pulseaudio diff --git a/packages/addons/browser/chrome/source/default.py b/packages/addons/browser/chrome/source/default.py new file mode 100644 index 0000000000..1ac0a2572e --- /dev/null +++ b/packages/addons/browser/chrome/source/default.py @@ -0,0 +1,116 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +import os +import sys +import time +import xbmcaddon +import subprocess +from xml.dom.minidom import parse + +sys.path.append('/usr/share/kodi/addons/service.libreelec.settings') + +import oe + +__addon__ = xbmcaddon.Addon(); +__path__ = os.path.join(__addon__.getAddonInfo('path'), 'bin') + '/' + +pauseXBMC = __addon__.getSetting("PAUSE_XBMC") + +def pauseXbmc(): + if pauseXBMC == "true": + xbmc.executebuiltin("PlayerControl(Stop)") + xbmc.audioSuspend() + xbmc.enableNavSounds(False) + +def resumeXbmc(): + if pauseXBMC == "true": + xbmc.audioResume() + xbmc.enableNavSounds(True) + +def startchrome(args): + try: + new_env = os.environ.copy() + new_env['VAAPI_MODE'] = __addon__.getSetting('VAAPI_MODE') + new_env['WINDOW_MODE'] = __addon__.getSetting('WINDOW_MODE') + new_env['RASTER_MODE'] = __addon__.getSetting('RASTER_MODE') + + new_env['ALSA_DEVICE'] = '' + if __addon__.getSetting('USE_CUST_AUDIODEVICE') == 'true': + alsa_device = __addon__.getSetting('CUST_AUDIODEVICE_STR') + else: + alsa_device = getAudioDevice() + if not alsa_device == None and not alsa_device == '': + new_env['ALSA_DEVICE'] = alsa_device + + chrome_params = args + ' ' + \ + __addon__.getSetting('HOMEPAGE') + subprocess.call(__path__ + 'chrome-start ' + chrome_params, shell=True, env=new_env) + except Exception, e: + oe.dbg_log('chrome', unicode(e)) + +def isRuning(pname): + tmp = os.popen("ps -Af").read() + pcount = tmp.count(pname) + if pcount > 0: + return True + return False + +def getAudioDevice(): + try: + dom = parse("/storage/.kodi/userdata/guisettings.xml") + audiooutput=dom.getElementsByTagName('audiooutput') + for node in audiooutput: + dev = node.getElementsByTagName('audiodevice')[0].childNodes[0].nodeValue + if dev.startswith("ALSA:"): + dev = dev.split("ALSA:")[1] + if dev == "@": + return None + if dev.startswith("@:"): + dev = dev.split("@:")[1] + else: + # not ALSA + return None + except: + return None + if dev.startswith("CARD="): + dev = "plughw:" + dev + return dev + +if (not __addon__.getSetting("firstrun")): + __addon__.setSetting("firstrun", "1") + __addon__.openSettings() + +try: + args = ' '.join(sys.argv[1:]) +except: + args = "" + +if args == 'widevine': + install_widevine() +elif args == 'flash': + install_flash() +else: + if not isRuning('chrome'): + pauseXbmc() + startchrome(args) + while isRuning('chrome'): + time.sleep(1) + resumeXbmc() + diff --git a/packages/addons/browser/chrome/source/resources/language/English/strings.po b/packages/addons/browser/chrome/source/resources/language/English/strings.po new file mode 100644 index 0000000000..c112a7613c --- /dev/null +++ b/packages/addons/browser/chrome/source/resources/language/English/strings.po @@ -0,0 +1,46 @@ +# Kodi Media Center language file +# Addon Name: chrome +# Addon id: browser.chrome +# Addon Provider: Team LibreELEC +msgid "" +msgstr "" + +msgctxt "#30000" +msgid "General" +msgstr "" + +msgctxt "#30001" +msgid "Chrome Configuration" +msgstr "" + +msgctxt "#30002" +msgid "Stop Kodi Player and Suspend AudioEngine" +msgstr "" + +msgctxt "#30003" +msgid "HW Acceleration Mode" +msgstr "" + +msgctxt "#30004" +msgid "Rasterization Mode" +msgstr "" + +msgctxt "#30005" +msgid "Window Mode" +msgstr "" + +msgctxt "#30006" +msgid "Default Homepage" +msgstr "" + +msgctxt "#30007" +msgid "Use Custom Audio Device" +msgstr "" + +msgctxt "#30008" +msgid "Audio Device" +msgstr "" + +msgctxt "#30009" +msgid "Hide Cursor" +msgstr "" diff --git a/packages/addons/browser/chrome/source/resources/settings.xml b/packages/addons/browser/chrome/source/resources/settings.xml new file mode 100644 index 0000000000..d7fa58d4cf --- /dev/null +++ b/packages/addons/browser/chrome/source/resources/settings.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/packages/addons/browser/chrome/source/settings-default.xml b/packages/addons/browser/chrome/source/settings-default.xml new file mode 100644 index 0000000000..4eace1aefb --- /dev/null +++ b/packages/addons/browser/chrome/source/settings-default.xml @@ -0,0 +1,10 @@ + + + false + https://libreelec.tv + true + default + false + intel + maximized + From 0fb68be5d5f6a51930eec8aab16abd409fcd6817 Mon Sep 17 00:00:00 2001 From: CvH Date: Thu, 21 Jun 2018 14:24:43 +0200 Subject: [PATCH 28/28] chromium: initial package (broken) --- packages/addons/browser/chromium/package.mk | 40 +++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 packages/addons/browser/chromium/package.mk diff --git a/packages/addons/browser/chromium/package.mk b/packages/addons/browser/chromium/package.mk new file mode 100644 index 0000000000..749e451253 --- /dev/null +++ b/packages/addons/browser/chromium/package.mk @@ -0,0 +1,40 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2018-present Team LibreELEC +# +# LibreELEC 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 of the License, or +# (at your option) any later version. +# +# LibreELEC 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 LibreELEC. If not, see . +################################################################################ + +PKG_NAME="chromium" +PKG_VERSION="1.0" +PKG_REV="100" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="" +PKG_URL="" +PKG_DEPENDS_TARGET="toolchain" +PKG_SECTION="browser" +PKG_SHORTDESC="Add-on removed" +PKG_LONGDESC="Add-on removed" +PKG_TOOLCHAIN="manual" + +PKG_ADDON_BROKEN="Chromium is no longer maintained and has been superseded by Chrome." + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="Chromium" +PKG_ADDON_TYPE="xbmc.broken" + +addon() { + : +}