net-www/inox*: bump to 54.0.2840.100

This commit is contained in:
Julian Ospald 2016-12-04 16:21:30 +01:00
parent d79dd8aba3
commit 3e60327bba
No known key found for this signature in database
GPG Key ID: 511B62C09D50CD28
8 changed files with 351 additions and 190 deletions

View File

@ -1,5 +1,7 @@
# Copyright 2009, 2010 Elias Pipping <pipping@exherbo.org>
# Copyright 2009 Heiko Przybyl <zuxez@cs.tu-berlin.de>
# Copyright 2016 Timo Gurr <tgurr@exherbo.org>
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
# You'll find new releases here:
@ -69,24 +71,31 @@ MYOPTIONS="
# currently does not use system openssl but a bundled version from third_party/openssl!
# There is use_system_ssl for that
# 46.0.2490.86 fails with the latest libvpx-1.5.0
# media-libs/libvpx[>=1.?.0]
# TODO: GN build with system speech dispatcher and libevent
# app-speech/speechd[>=0.8]
# dev-libs/libevent[>=1.4.13]
DEPENDENCIES="
build:
dev-lang/python:*[>=2.5&<3]
dev-lang/yasm
dev-perl/Switch
dev-python/Jinja2[python_abis:2.7]
dev-python/beautifulsoup4[python_abis:2.7]
dev-python/html5lib[python_abis:2.7]
dev-python/ply[python_abis:2.7]
dev-python/simplejson[python_abis:2.7]
dev-scm/git [[ note = [ https://bugs.gentoo.org/show_bug.cgi?id=593476 ] ]]
dev-util/gperf[>=3.0.4]
media-libs/libexif
sys-devel/bison
sys-devel/ninja
build+run:
app-speech/speechd[>=0.8]
app-arch/gzip[>=1.8]
app-arch/snappy
dev-libs/atk
dev-libs/dbus-glib:1[>=0.84]
dev-libs/expat
dev-libs/glib:2[>=2.26] [[ note = [ for gsettings ] ]]
dev-libs/libevent[>=1.4.13]
dev-libs/libxml2:2.0[>=2.6.32]
dev-libs/libxslt[>=1.1.26]
dev-libs/nspr[>=4.0]
@ -96,6 +105,7 @@ DEPENDENCIES="
media-libs/fontconfig
media-libs/freetype:2
media-libs/libpng:=[>=1.2.37]
media-libs/libvpx[>=1.6.0-r1]
media-libs/libwebp[>=0.4]
media-libs/opus[>=1.1-r1]
media-libs/speex
@ -115,6 +125,7 @@ DEPENDENCIES="
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
@ -153,7 +164,6 @@ eninja() {
}
inox_pkg_setup() {
export BUILDTYPE=Release
export V=1
# For ffmpeg's linking
@ -172,177 +182,251 @@ inox_src_prepare() {
default
edo sed \
-e '/-O>(debug_optimize)/d' \
-e '/-O>(release_optimize)/d' \
-i build/common.gypi
local keeplibs=(
base/third_party/dmg_fp
base/third_party/dynamic_annotations
base/third_party/icu
base/third_party/nspr
base/third_party/superfasthash
base/third_party/symbolize
base/third_party/valgrind
base/third_party/xdg_mime
base/third_party/xdg_user_dirs
breakpad/src/third_party/curl
chrome/third_party/mozilla_security_manager
courgette/third_party
net/third_party/mozilla_security_manager
net/third_party/nss
third_party/WebKit
third_party/analytics
third_party/angle
third_party/angle/src/common/third_party/numerics
third_party/angle/src/third_party/compiler
third_party/angle/src/third_party/libXNVCtrl
third_party/angle/src/third_party/murmurhash
third_party/angle/src/third_party/trace_event
third_party/boringssl
third_party/brotli
third_party/cacheinvalidation
third_party/catapult
third_party/catapult/third_party/polymer
third_party/catapult/third_party/py_vulcanize
third_party/catapult/third_party/py_vulcanize/third_party/rcssmin
third_party/catapult/third_party/py_vulcanize/third_party/rjsmin
third_party/catapult/tracing/third_party/d3
third_party/catapult/tracing/third_party/gl-matrix
third_party/catapult/tracing/third_party/jszip
third_party/catapult/tracing/third_party/mannwhitneyu
third_party/ced
third_party/cld_2
third_party/cld_3
third_party/cros_system_api
third_party/cython/python_flags.py
third_party/devscripts
third_party/dom_distiller_js
third_party/fips181
third_party/flatbuffers
third_party/flot
third_party/google_input_tools
third_party/google_input_tools/third_party/closure_library
third_party/google_input_tools/third_party/closure_library/third_party/closure
third_party/hunspell
third_party/iccjpeg
third_party/icu
third_party/jstemplate
third_party/khronos
third_party/leveldatabase
third_party/libXNVCtrl
third_party/libaddressinput
third_party/libjingle
third_party/libphonenumber
third_party/libsecret
third_party/libsrtp
third_party/libudev
third_party/libusb
third_party/libwebm
third_party/libxml/chromium
third_party/libyuv
third_party/lss
third_party/lzma_sdk
third_party/mesa
third_party/modp_b64
third_party/mt19937ar
third_party/openh264
third_party/openmax_dl
third_party/opus
third_party/ots
third_party/pdfium
third_party/pdfium/third_party/agg23
third_party/pdfium/third_party/base
third_party/pdfium/third_party/bigint
third_party/pdfium/third_party/freetype
third_party/pdfium/third_party/lcms2-2.6
third_party/pdfium/third_party/libjpeg
third_party/pdfium/third_party/libopenjpeg20
third_party/pdfium/third_party/libpng16
third_party/pdfium/third_party/libtiff
third_party/pdfium/third_party/zlib_v128
third_party/polymer
third_party/protobuf
third_party/protobuf/third_party/six
third_party/qcms
third_party/sfntly
third_party/skia
third_party/smhasher
third_party/sqlite
third_party/tcmalloc
third_party/usrsctp
third_party/web-animations-js
third_party/webdriver
third_party/webrtc
third_party/widevine
third_party/woff2
third_party/x86inc
third_party/zlib/google
url/third_party/mozilla
v8/src/third_party/valgrind
)
# chromium uses hardcoded calls to ar, pkg-config, and it doesn't even always
# respect its own AR_target variable. Fix this for multiarch by adding
# appropriate symlinks here and adding this directory to the PATH
# TODO: keep for GN builds
keeplibs+=(
base/third_party/libevent
third_party/adobe
third_party/speech-dispatcher
third_party/usb_ids
third_party/xdg-utils
third_party/yasm/run_yasm.py
)
# TODO: keep FFmpeg
keeplibs+=( third_party/ffmpeg )
# TODO: package re2
keeplibs+=( third_party/re2 )
# remove some of the bundled libraries
edo build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove
# TODO: Find out how to properly do this for GN and/or report upstream
edo sed \
-e "s:pkg_config = \"\":pkg_config = \"$(exhost --tool-prefix)pkg-config\":g" \
-i build/config/linux/pkg_config.gni
# TODO: Find out how to properly do this for GN and/or report upstream
# Fix this for multiarch by adding appropriate symlinks here and adding this directory to
# the PATH
local dir=${WORKBASE}/symlinked-build-tools
edo mkdir -p ${dir}
edo ln -s /usr/$(exhost --target)/bin/$(exhost --target)-pkg-config ${dir}/pkg-config
edo ln -s /usr/$(exhost --target)/bin/$(exhost --target)-ar ${dir}/ar
edo ln -s /usr/$(exhost --target)/bin/$(exhost --target)-cc ${dir}/gcc
edo ln -s /usr/$(exhost --target)/bin/$(exhost --target)-c++ ${dir}/g++
# Build error: FAILED: x64/obj/third_party/brotli/libbrotli.a
edo ln -s /usr/host/bin/$(exhost --target)-ar ${dir}/ar
# Build error: FAILED: x64/obj/third_party/brotli/brotli/decode.o
edo ln -s /usr/host/bin/$(exhost --target)-cc ${dir}/gcc
# Build error: FAILED: x64/obj/third_party/brotli/bro/encode_parallel.o
edo ln -s /usr/host/bin/$(exhost --target)-c++ ${dir}/g++
# Build error: strip is hardcoded somewhere
edo ln -s /usr/host/bin/$(exhost --target)-strip ${dir}/strip
# Build error: FAILED: libGLESv2.so libGLESv2.so.TOC
edo ln -s /usr/host/bin/$(exhost --target)-readelf ${dir}/readelf
# and, they assume python is python2!
edo ln -s /usr/$(exhost --target)/bin/python2 ${dir}/python
edo ln -s /usr/host/bin/python2 ${dir}/python
export PATH="${dir}:${PATH}"
}
inox_src_configure() {
# re2: not yet packaged
# libevent: https://bugs.gentoo.org/593458
# ffmpeg: unknown
local gn_system_libraries="
flac
harfbuzz-ng
libjpeg
libpng
libvpx
libwebp
libxml
libxslt
snappy
yasm
zlib
"
edo build/linux/unbundle/replace_gn_files.py --system-libraries ${gn_system_libraries}
local myconf_gn=""
export AR="${AR}"
export CC="${CC}"
export CXX="${CXX}"
export NM="${NM}"
# Define a custom toolchain for GN
myconf_gn+=" custom_toolchain=\"${FILES}/toolchain:default\""
# GN needs explicit config for Debug/Release as opposed to inferring it from build directory
myconf_gn+=" is_debug=false"
# Disable nacl, we can't build without pnacl (http://crbug.com/269560)
myconf_gn+=" enable_nacl=false"
# Trying to use gold results in linker crash
myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false"
# Don't try to build with Clang for now
myconf_gn+=" is_clang=false"
# Make sure that -Werror doesn't get added to CFLAGS by the build system.
# Depending on GCC version the warnings are different and we don't want
# the build to fail because of that.
myconf_gn+=" treat_warnings_as_errors=false"
# Disable fatal linker warnings, Gentoo bug 506268
myconf_gn+=" fatal_linker_warnings=false"
myconf_gn+=" fieldtrial_testing_like_official_build=true"
# FFmpeg handling
ffmpeg_branding="$(option bindist Chromium Chrome)"
myconf_gn+=" proprietary_codecs=$(option bindist false true)"
myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
# Options
# TODO: link_pulseaudio=true for GN
myconf_gn+=" enable_widevine=true"
myconf_gn+=" use_cups=$(option cups true false)"
myconf_gn+=" use_gconf=$(option gconf true false)"
myconf_gn+=" use_gnome_keyring=$(option keyring true false)"
myconf_gn+=" use_pulseaudio=$(option pulseaudio true false)"
# hard disable kerberos support (requires heimdal)
myconf_gn+=" use_kerberos=false"
myconf_gn+=" use_gtk3=$(option providers:gtk3 true false)"
# inox specific
myconf_gn+=" enable_google_now=false"
myconf_gn+=" enable_hangout_services_extension=false"
myconf_gn+=" enable_hotwording=false"
myconf_gn+=" enable_print_preview=false"
myconf_gn+=" enable_remoting=false"
myconf_gn+=" enable_webrtc=false"
myconf_gn+=" safe_browsing_mode=0"
myconf_gn+=" use_allocator=\"none\""
# Update strings
edo third_party/libaddressinput/chromium/tools/update-strings.py
# 46.0.2490.86 fails with Exception: Failed to open test/data/webui/i18n_process_css_test.html while
# trying to flatten test/data/webui/i18n_process_css_test.html
edo touch chrome/test/data/webui/i18n_process_css_test.html
}
# See http://code.google.com/p/chromium/wiki/LinuxBuildInstructions
inox_src_configure() {
local myconf=(
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys
# Note: These are for Exherbo use ONLY. For your own distribution, please get
# your own set of keys.
google_api_key=AIzaSyBEuNWzExJ_qIX-NT8OY_RGN6d6ZLWnExA
google_default_client_id=750749113475.apps.googleusercontent.com
google_default_client_secret=hw21UnHlcmzSMxzS6VACbPTq
# Build against local system libraries instead of using a provided sysroot
$(ever at_least 49 && echo use_sysroot=0 )
# Disable the voice-recognition support (Ok Google) hotwords plugin. It downloads a binary
# blob with which has access to the microphone, see debian bug #786909.
enable_hotwording=0
# Always available on amd64, no reason to force it on x86
disable_sse2=$(option platform:amd64 0 $(option x86_cpu_features:sse2 0 1))
disable_nacl=1
no_strict_aliasing=1
use_cups=$(option cups 1 0)
use_gtk3=$(option providers:gtk3 1 0)
use_gconf=$(option gconf 1 0)
use_gnome_keyring=$(option keyring 1 0)
use_pulseaudio=$(option pulseaudio 1 0)
# hard disable kerberos support (requires heimdal)
use_kerberos=0
# Note: libmtp appears to be unused
use_system_bzip2=1
use_system_expat=1
use_system_ffmpeg=0
use_system_flac=1
use_system_harfbuzz=1
# our version is too recent; unicode/{bms,bmsearch,colldata}.h have been removed
use_system_icu=0
use_system_libevent=1
# Note: We can choose between (B) bundled jpeg, (BT) bundled jpeg-turbo and (S{,T}) system jpeg{,-turbo}.
# If the system jpeg lib is libjpeg-turbo we use it, otherwise we fall back to (BT).
use_system_libjpeg=$(option providers:jpeg-turbo 1 0)
# If use_system_libjpeg is enabled, use_libjpeg_turbo is ignored
use_libjpeg_turbo=1
use_system_libpng=1
use_system_libsrtp=1
# http://crbug.com/266149
use_system_libusb=0
# 46.0.2490.86: Build error with libvpx-1.5.0
use_system_libvpx=0
use_system_libwebp=1
use_system_libxml=1
use_system_libxslt=1
use_system_minizip=1
use_system_nspr=1
use_system_opus=1
# http://crbug.com/351093
use_system_protobuf=0
use_system_speex=1
# http://crbug.com/22208
use_system_sqlite=0
use_system_v8=0
use_system_xdg_utils=1
use_system_yasm=1
# Linking failure with system zlib
use_system_zlib=0
# Do not try using (bundled) gold
linux_use_bundled_binutils=0
linux_use_bundled_gold=0
linux_use_gold_flags=0
# Do not try using (bundled) clang
clang=0
host_clang=0
# Link instead of using dlopen()
linux_link_gnome_keyring=1
linux_link_gsettings=1
linux_link_libpci=1
linux_link_libspeechd=1
linux_link_pulseaudio=1
# Tell chromium to look in the prefixed speech-dispatcher include directory, as is the
# case for speechd[>=0.8]
libspeechd_h_prefix='speech-dispatcher/'
werror=
disable_fatal_linker_warnings=1
python_ver=$(python_get_abi)
$(option platform:amd64 && echo target_arch=x64)
$(option platform:x86 && echo target_arch=ia32)
# gcc_version is actually the version of g++,
# similarly changes to cflags affect C and C++ code
$(cxx_is_gxx || echo gcc_version=unknown)
# Build ffmpeg as a shared library
ffmpeg_component=shared_library
# Declare that we support H.264, etc.
proprietary_codecs=$(option bindist 0 1)
# Compile in H.264, etc.
ffmpeg_branding=$(option bindist Chromium Chrome)
# Disable HiDPI support until someone needs and can test it
enable_hidpi=0
# inox specific
enable_webrtc=0
enable_google_now=0
enable_remoting=0
safe_browsing_mode=0
enable_rlz=0
enable_hangout_services_extension=0
branding=Chromium
google_chrome_build=0
enable_web_speech=1
enable_wifi_bootstrapping=0
enable_speech_input=0
enable_pre_sync_backup=0
enable_print_preview=0
)
if [[ ${CHROMIUM_CHANNEL} == "stable" ]]; then
myconf+=(
enable_pepper_cdms=1
enable_widevine=1
)
fi
local mc myconf_concat
for mc in "${myconf[@]}"; do
myconf_concat+="-D${mc} "
done
edo ./build/linux/unbundle/replace_gyp_files.py ${myconf_concat}
# Pass --depth because of this:
# Exception: Could not automatically locate src directory.
# This is a temporary Chromium feature that will be removed. Use --depth as a workaround.
edo env GYP_GENERATORS=ninja build/gyp_chromium --depth "${WORK}" ${myconf_concat}
# GN configure
edo tools/gn/bootstrap/bootstrap.py -v --gn-gen-args "${myconf_gn}"
edo out/Release/gn gen --args="${myconf_gn}" out/Release
}
inox_src_compile() {
eninja -C out/${BUILDTYPE} chrome chrome_sandbox
eninja -C out/Release chrome chrome_sandbox
}
inox_src_test() {
@ -430,15 +514,15 @@ inox_src_test() {
for t in ${suites[@]}; do
tv=disabled_${t}_tests[*]
eninja -C out/${BUILDTYPE} ${t}_unittests
edo out/${BUILDTYPE}/${t}_unittests --gtest_filter=$(IFS=:; echo "-${!tv}")
eninja -C out/Release ${t}_unittests
edo out/Release/${t}_unittests --gtest_filter=$(IFS=:; echo "-${!tv}")
done
}
inox_src_install() {
# Install into /opt
local dest=/opt/inox
edo cd out/${BUILDTYPE}
edo cd out/Release
exeinto ${dest}
newexe chrome inox
@ -451,15 +535,7 @@ inox_src_install() {
doins icudtl.dat
doins -r *.bin
dosym /opt/netscape/plugins ${dest}
if [[ ${CHROMIUM_CHANNEL} == "stable" ]]; then
doins libwidevinecdmadapter.so
fi
dodir ${dest}/lib
insinto ${dest}/lib
doins lib/libffmpeg.so
doins libwidevinecdmadapter.so
newman chrome.1 inox.1

View File

@ -0,0 +1,18 @@
Source: https://bugzilla.redhat.com/show_bug.cgi?id=1361157
Upstream: Reported, https://bugs.chromium.org/p/chromium/issues/detail?id=604652
Reason: Fix crashing tabs and extensions when chromium is build against glibc 2.24
--- a/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2016-08-03 21:02:37.000000000 +0200
+++ b/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2016-08-14 10:59:51.395354850 +0200
@@ -41,6 +41,11 @@
#include <errno.h>
#include <sys/mman.h>
+#if OS(LINUX) && defined(MADV_FREE)
+// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime
+#undef MADV_FREE
+#endif
+
#ifndef MADV_FREE
#define MADV_FREE MADV_DONTNEED
#endif

View File

@ -0,0 +1,59 @@
--- a/third_party/WebKit/Source/bindings/scripts/scripts.gyp.orig 2014-08-19 09:55:10.330972228 +0000
+++ b/third_party/WebKit/Source/bindings/scripts/scripts.gyp 2014-08-19 09:55:26.387286232 +0000
@@ -54,7 +54,6 @@
'actions': [{
'action_name': 'cache_jinja_templates',
'inputs': [
- '<@(jinja_module_files)',
'code_generator_v8.py',
'<@(code_generator_template_files)',
],
--- a/third_party/WebKit/Source/build/scripts/scripts.gypi.orig 2014-08-19 10:00:00.216521733 +0000
+++ b/third_party/WebKit/Source/build/scripts/scripts.gypi 2014-08-19 10:00:11.464735099 +0000
@@ -2,10 +2,6 @@
{
'variables': {
'scripts_for_in_files': [
- # jinja2/__init__.py contains version string, so sufficient as
- # dependency for whole jinja2 package
- '<(DEPTH)/third_party/jinja2/__init__.py',
- '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep
'hasher.py',
'in_file.py',
'in_generator.py',
--- a/third_party/WebKit/Source/bindings/scripts/scripts.gypi.orig 2014-08-19 10:53:02.824618979 +0000
+++ b/third_party/WebKit/Source/bindings/scripts/scripts.gypi 2014-08-19 10:53:20.784957370 +0000
@@ -12,9 +12,6 @@
'<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep
],
'idl_lexer_parser_files': [
- # PLY (Python Lex-Yacc)
- '<(DEPTH)/third_party/ply/lex.py',
- '<(DEPTH)/third_party/ply/yacc.py',
# Web IDL lexer/parser (base parser)
'<(DEPTH)/tools/idl_parser/idl_lexer.py',
'<(DEPTH)/tools/idl_parser/idl_node.py',
--- a/third_party/WebKit/Source/build/scripts/scripts.gni.orig 2016-06-02 09:54:28.510152077 +0000
+++ b/third_party/WebKit/Source/build/scripts/scripts.gni 2016-06-02 09:54:50.966612510 +0000
@@ -9,10 +9,6 @@
_scripts_dir = "//third_party/WebKit/Source/build/scripts"
scripts_for_in_files = [
- # jinja2/__init__.py contains version string, so sufficient as
- # dependency for whole jinja2 package
- "//third_party/jinja2/__init__.py",
- "//third_party/markupsafe/__init__.py", # jinja2 dep
"$_scripts_dir/hasher.py",
"$_scripts_dir/in_file.py",
"$_scripts_dir/in_generator.py",
--- a/third_party/WebKit/Source/bindings/scripts/BUILD.gn.orig 2016-06-02 10:03:01.100658943 +0000
+++ b/third_party/WebKit/Source/bindings/scripts/BUILD.gn 2016-06-02 10:03:13.240907715 +0000
@@ -36,7 +36,7 @@
action("cached_jinja_templates") {
script = "code_generator_v8.py"
- inputs = jinja_module_files + [ "code_generator_v8.py" ] +
+ inputs = [ "code_generator_v8.py" ] +
code_generator_template_files
# Dummy file to track dependency.

View File

@ -1,13 +0,0 @@
Index: printing/backend/print_backend_cups.cc
diff --git a/printing/backend/print_backend_cups.cc b/printing/backend/print_backend_cups.cc
index 8bacfd76a7b0d891bd542ee19187c5b2701f0dbe..b469a1c657e5d383ed80961abb11a081ea8c8dce 100644
--- a/printing/backend/print_backend_cups.cc
+++ b/printing/backend/print_backend_cups.cc
@@ -4,6 +4,7 @@
#include "printing/backend/print_backend_cups.h"
+#include <cups/ppd.h>
#include <dlfcn.h>
#include <errno.h>
#include <pthread.h>

View File

@ -0,0 +1,20 @@
import("//build/toolchain/gcc_toolchain.gni")
gcc_toolchain("default") {
cc = getenv("CC")
cxx = getenv("CXX")
ar = getenv("AR")
nm = getenv("NM")
ld = cxx
extra_cflags = getenv("CFLAGS")
extra_cppflags = getenv("CPPFLAGS")
extra_cxxflags = getenv("CXXFLAGS")
extra_ldflags = getenv("LDFLAGS")
toolchain_args = {
current_cpu = current_cpu
current_os = current_os
}
}

View File

@ -2,7 +2,7 @@
# Copyright 2009 Heiko Przybyl <zuxez@cs.tu-berlin.de>
# Distributed under the terms of the GNU General Public License v2
require inox [ patchset="53.0.2785.101" ]
require inox [ patchset="54.0.2840.100" ]
DESCRIPTION+="
Chromium has three release channels: Stable, Beta, and Dev. This package corresponds to the Stable
@ -16,10 +16,11 @@ RESTRICT=test
# http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${PV}-1_{amd64,i386}.deb
# $ strings ./opt/google/chrome/chrome | grep -C 1 " (version:" | head -1
WIDEVINE_VERSION=1.4.8.893
WIDEVINE_VERSION=1.4.8.903
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/issue2248343002_1.patch
"${FILES}"/${PN}-53.0.2785.116-glibc-2.24-crash.patch
"${FILES}"/${PN}-54.0.2840.90-system-jinja-r13.patch
)
src_prepare() {