Permalink
Browse files

Make this buildable again after Chromium SVN turndown

Besides the changes made in trunk, this required cherry-picking
Steve's update of proto (since that also used to come from Chromium SVN),
and picking an older RE2 release since MPS stable doesn't require C++11.
Also updates the travis config to not use the turned down SVN in its
scripts to get depot_tools.
  • Loading branch information...
morlovich committed Sep 8, 2016
2 parents 523e213 + 1bb708b commit 3f47828ca7eeb0611b5f2226016631edc42d1e90
@@ -1,14 +1,9 @@
Makefile
!third_party/libjpeg_turbo/yasm/source/config/linux/Makefile
*.mk
*.Makefile
out/*
testing/*
build/android/*
build/mac/*
build/linux/*
build/internal/*
build/win/*
build/ios/*
build/gyp_helper.pyc
build/landmine_utils.pyc
build/temp_gyp/*
@@ -19,7 +14,7 @@ third_party/boringssl/*
third_party/chromium/src/base/*
third_party/chromium/src/build/*
third_party/chromium/src/net/base/*
third_party/chromium/src/url/*
third_party/chromium/src/googleurl/*
third_party/chromium_deps/*
third_party/closure_library/*
third_party/domain_registry_provider/*
@@ -31,14 +26,13 @@ third_party/httpd24/src/*
third_party/icu/*
third_party/jsoncpp/src/*
third_party/libjpeg_turbo/src/*
third_party/libjpeg_turbo/yasm/*
third_party/libpng/src/*
third_party/libwebp/*
third_party/mod_spdy/*
third_party/modp_b64/*
third_party/optipng/*
third_party/pagespeed*
third_party/protobuf/*
third_party/protobuf/src/*
third_party/re2/src/*
third_party/serf/src/*
third_party/zlib/*
@@ -11,7 +11,7 @@ install:
- sudo sh -c 'echo "image/webp webp" >> /etc/mime.types'
- mkdir -p ~/bin
- cd ~/bin
- svn co https://src.chromium.org/svn/trunk/tools/depot_tools 2>&1 > /dev/null
- git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
- cd ~/build_directory
- ~/bin/depot_tools/gclient config https://github.com/pagespeed/mod_pagespeed.git --unmanaged --name=src
- ~/bin/depot_tools/gclient sync --force --jobs=1
82 DEPS
@@ -17,12 +17,10 @@ vars = {
# that don't end with a trailing slash to http. We therefore try to make sure
# all https URLs include the trailing slash, but it's unclear if SVN actually
# respects this.
"chromium_trunk": "https://src.chromium.org/svn/trunk/",
"chromium_git": "https://chromium.googlesource.com",
# We don't include @ inside the revision here as is customary since
# we want to pass this into a -D flag
"chromium_revision_num": "256281",
"chromium_deps_root": "src/third_party/chromium_deps",

"libpagespeed_svn_root": "https://github.com/pagespeed/page-speed/trunk/",
"libpagespeed_trunk": "https://github.com/pagespeed/page-speed/trunk/lib/trunk/",
@@ -93,37 +91,18 @@ vars = {

"libpng_src": "https://github.com/glennrp/libpng.git",
"libpng_revision": "@a36c4f3f165fb2dd1772603da7f996eb40326621",

"proto_src": "https://github.com/google/protobuf.git",
"protobuf_revision": "v3.0.0",
}

deps = {

# Fetch dependent DEPS so we can sync our other dependencies relative
# to them.
Var("chromium_deps_root"):
File(Var("chromium_trunk") + "src/DEPS@" + Var("chromium_revision_num")),

# Other dependencies.
"src/build/temp_gyp":
Var("libpagespeed_trunk") + "src/build/temp_gyp/" +
Var("libpagespeed_revision"),

# We check 'build/android' out of Chromium repo to get
# 'android/cpufeatures.gypi', which is needed to compile libwebp.
"src/build/android":
Var("chromium_trunk") + "src/build/android/@" +
Var("chromium_revision_num"),
"src/build/ios":
Var("chromium_trunk") + "src/build/ios/@" + Var("chromium_revision_num"),
"src/build/internal":
Var("chromium_trunk") + "src/build/internal/@" +
Var("chromium_revision_num"),
"src/build/linux":
Var("chromium_trunk") + "src/build/linux/@" + Var("chromium_revision_num"),
"src/build/mac":
Var("chromium_trunk") + "src/build/mac/@" + Var("chromium_revision_num"),
"src/build/win":
Var("chromium_trunk") + "src/build/win/@" + Var("chromium_revision_num"),

# TODO(huibao): Remove references to libpagespeed.
"src/third_party/giflib":
Var("libpagespeed_svn_root") + "deps/giflib-4.1.6/",
@@ -132,21 +111,13 @@ deps = {
Var("libpagespeed_svn_root") + "deps/optipng-0.7.4/",
"src/third_party/zlib": Var("libpagespeed_svn_root") + "deps/zlib-1.2.5/",

# Yasm assember is required for libjpeg_turbo.
"src/third_party/libjpeg_turbo/yasm":
Var("chromium_trunk") + "src/third_party/yasm/@" +
Var("chromium_revision_num"),

"src/third_party/libjpeg_turbo/yasm/source/patched-yasm":
Var("chromium_trunk") + "deps/third_party/yasm/patched-yasm/@" +
Var("chromium_revision_num"),

Var("chromium_git") + "/chromium/deps/yasm/patched-yasm@7da28c6c7c6a1387217352ce02b31754deb54d2a",
"src/third_party/libjpeg_turbo/src":
Var("chromium_trunk") + "deps/third_party/libjpeg_turbo/@" +
Var("chromium_revision_num"),
Var("chromium_git") + "/chromium/deps/libjpeg_turbo/@7260e4d8b8e1e40b17f03fafdf1cd83296900f76",

"src/testing":
Var("chromium_trunk") + "src/testing/@" + Var("chromium_revision_num"),
Var("chromium_git") + "/chromium/src/testing/@3207604f790d18c626e9dcb1a09874618c68844b",
"src/testing/gtest": Var("gtest_src") + Var("gtest_revision"),
"src/testing/gmock": Var("gmock_src") + Var("gmock_revision"),

@@ -170,16 +141,14 @@ deps = {
Var("apache_httpd24_src") + "os/" + Var("apache_httpd24_revision"),

"src/third_party/chromium/src/base":
Var("chromium_trunk") + "src/base/@" + Var("chromium_revision_num"),
Var("chromium_git") + "/chromium/src/base@ccf3c2f324c4ae0d1aa878921b7c98f7deca5ee8",

"src/third_party/chromium/src/build":
Var("chromium_trunk") + "src/build/@" + Var("chromium_revision_num"),

"src/third_party/chromium/src/net/base":
Var("chromium_trunk") + "src/net/base@" + Var("chromium_revision_num"),
Var("chromium_git") + "/chromium/src/build/@06b7bd9c7a8adb3708db8df4dc058de94f0d5554",

"src/third_party/chromium/src/url":
Var("chromium_trunk") + "src/url@" + Var("chromium_revision_num"),
# This revision is before headers got moved to main chromium repo.
"src/third_party/chromium/src/googleurl":
Var("chromium_git") + "/external/google-url@405b6e1798f88e85291820b30344723512e0c38f",

"src/third_party/closure_library":
Var("closure_library") + Var("closure_library_revision"),
@@ -193,9 +162,8 @@ deps = {
"src/third_party/google-sparsehash":
Var("google_sparsehash_root") + Var("google_sparsehash_revision"),

"src/third_party/protobuf":
Var("chromium_trunk") + "src/third_party/protobuf/@" +
Var("chromium_revision_num"),
"src/third_party/protobuf/src":
Var("proto_src") + '@' + Var("protobuf_revision"),

# Json cpp.
"src/third_party/jsoncpp/src":
@@ -209,21 +177,21 @@ deps = {
"src/third_party/libwebp": Var("libwebp_src") + Var("libwebp_revision"),

"src/tools/clang":
Var("chromium_trunk") + "src/tools/clang/@" + Var("chromium_revision_num"),
Var("chromium_git") + "/chromium/src/tools/clang/@bf272f7b05896b9a18de8497383f8b873a86cfbc",

# This is the same commit as the version from svn included from chromium_deps,
# but the svn is down, so we take it from chromium-git.
"src/tools/gyp":
Var("chromium_git") + "/external/gyp@" + "0fb31294ae844bbf83eba05876b7a241b66f1e99",

"src/third_party/modp_b64":
Var("chromium_trunk") + "src/third_party/modp_b64/@" +
Var("chromium_revision_num"),
Var("chromium_git") + "/chromium/src/third_party/modp_b64/@aae60754fa997799e8037f5e8ca1f56d58df763d",

# RE2.
# This is release 2016-02-01, the latest that works w/o C++11 (which we don't
# require on this branch).
"src/third_party/re2/src":
Var("chromium_trunk") + "src/third_party/re2/@" +
Var("chromium_revision_num"),
"https://github.com/google/re2.git/@7436831ef39b89b3a2ea50be91cf09732a900239",

# Comment to disable HTTPS fetching via serf. See also the
# references in src/third_party/serf/serf.gyp.
@@ -239,20 +207,6 @@ deps = {
}


deps_os = {
"win": {
"src/third_party/cygwin": From(Var("chromium_deps_root")),
"src/third_party/python_26":
Var("chromium_trunk") + "tools/third_party/python_26/@" +
Var("chromium_revision_num"),
},
"mac": {
},
"unix": {
},
}


include_rules = [
# Everybody can use some things.
"+base",
@@ -0,0 +1,41 @@
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file is meant to be included into an action to provide an action that
# combines a directory of shared libraries and an incomplete APK into a
# standalone APK.
#
# To use this, create a gyp action with the following form:
# {
# 'action_name': 'some descriptive action name',
# 'variables': {
# 'inputs': [ 'input_path1', 'input_path2' ],
# 'input_apk_path': '<(unsigned_apk_path)',
# 'output_apk_path': '<(unsigned_standalone_apk_path)',
# 'libraries_top_dir': '<(libraries_top_dir)',
# },
# 'includes': [ 'relative/path/to/create_standalone_apk_action.gypi' ],
# },

{
'message': 'Creating standalone APK: <(output_apk_path)',
'variables': {
'inputs': [],
},
'inputs': [
'<(DEPTH)/build/android/gyp/util/build_utils.py',
'<(DEPTH)/build/android/gyp/create_standalone_apk.py',
'<(input_apk_path)',
'>@(inputs)',
],
'outputs': [
'<(output_apk_path)',
],
'action': [
'python', '<(DEPTH)/build/android/gyp/create_standalone_apk.py',
'--libraries-top-dir=<(libraries_top_dir)',
'--input-apk-path=<(input_apk_path)',
'--output-apk-path=<(output_apk_path)',
],
}
@@ -0,0 +1,56 @@
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file is meant to be included into an action to provide a rule that dexes
# compiled java files. If proguard_enabled == "true" and CONFIGURATION_NAME ==
# "Release", then it will dex the proguard_enabled_input_path instead of the
# normal dex_input_paths/dex_generated_input_paths.
#
# To use this, create a gyp target with the following form:
# {
# 'action_name': 'some name for the action'
# 'actions': [
# 'variables': {
# 'dex_input_paths': [ 'files to dex (when proguard is not used) and add to input paths' ],
# 'dex_generated_input_dirs': [ 'dirs that contain generated files to dex' ],
#
# # For targets that use proguard:
# 'proguard_enabled': 'true',
# 'proguard_enabled_input_path': 'path to dex when using proguard',
# },
# 'includes': [ 'relative/path/to/dex_action.gypi' ],
# ],
# },
#

{
'message': 'Creating dex file: <(output_path)',
'variables': {
'dex_input_paths': [],
'dex_generated_input_dirs': [],
'proguard_enabled%': 'false',
'proguard_enabled_input_path%': '',
'dex_no_locals%': 0,
},
'inputs': [
'<(DEPTH)/build/android/gyp/util/build_utils.py',
'<(DEPTH)/build/android/gyp/util/md5_check.py',
'<(DEPTH)/build/android/gyp/dex.py',
'>@(dex_input_paths)',
],
'outputs': [
'<(output_path)',
],
'action': [
'python', '<(DEPTH)/build/android/gyp/dex.py',
'--dex-path=<(output_path)',
'--android-sdk-tools=<(android_sdk_tools)',
'--configuration-name=<(CONFIGURATION_NAME)',
'--proguard-enabled=<(proguard_enabled)',
'--proguard-enabled-input-path=<(proguard_enabled_input_path)',
'--no-locals=<(dex_no_locals)',
'>@(dex_input_paths)',
'>@(dex_generated_input_dirs)',
]
}
@@ -0,0 +1,40 @@
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file is meant to be included into an action to provide an action that
# signs and zipaligns an APK.
#
# To use this, create a gyp action with the following form:
# {
# 'action_name': 'some descriptive action name',
# 'variables': {
# 'input_apk_path': 'relative/path/to/input.apk',
# 'output_apk_path': 'relative/path/to/output.apk',
# },
# 'includes': [ '../../build/android/finalize_apk.gypi' ],
# },
#

{
'message': 'Signing/aligning <(_target_name) APK: <(input_apk_path)',
'variables': {
'keystore_path%': '<(DEPTH)/build/android/ant/chromium-debug.keystore',
},
'inputs': [
'<(DEPTH)/build/android/gyp/util/build_utils.py',
'<(DEPTH)/build/android/gyp/finalize_apk.py',
'<(keystore_path)',
'<(input_apk_path)',
],
'outputs': [
'<(output_apk_path)',
],
'action': [
'python', '<(DEPTH)/build/android/gyp/finalize_apk.py',
'--android-sdk-root=<(android_sdk_root)',
'--unsigned-apk-path=<(input_apk_path)',
'--final-apk-path=<(output_apk_path)',
'--keystore-path=<(keystore_path)',
],
}
Oops, something went wrong.

0 comments on commit 3f47828

Please sign in to comment.