summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/electron/files/electron-1.6.15-vendor-libchromiumcontent.patch')
-rw-r--r--dev-util/electron/files/electron-1.6.15-vendor-libchromiumcontent.patch202
1 files changed, 202 insertions, 0 deletions
diff --git a/dev-util/electron/files/electron-1.6.15-vendor-libchromiumcontent.patch b/dev-util/electron/files/electron-1.6.15-vendor-libchromiumcontent.patch
new file mode 100644
index 000000000000..9360646ff681
--- /dev/null
+++ b/dev-util/electron/files/electron-1.6.15-vendor-libchromiumcontent.patch
@@ -0,0 +1,202 @@
+From 0352e8df546c58b85e79714f77c616832c8c72ac Mon Sep 17 00:00:00 2001
+From: Elvis Pranskevichus <elvis@magic.io>
+Date: Fri, 28 Apr 2017 17:22:38 -0400
+Subject: [PATCH] Gentoo build fixes
+
+---
+ chromiumcontent/BUILD.gn | 9 +++------
+ chromiumcontent/build_libs.py | 2 +-
+ script/create-dist | 39 ++++++++++++++++++++++++++-------------
+ script/lib/config.py | 2 +-
+ 4 files changed, 31 insertions(+), 21 deletions(-)
+
+diff --git a/chromiumcontent/BUILD.gn b/chromiumcontent/BUILD.gn
+index e4e4166..f88fab3 100644
+--- a/chromiumcontent/BUILD.gn
++++ b/chromiumcontent/BUILD.gn
+@@ -343,12 +343,9 @@ if (is_electron_build && !is_component_build) {
+ }
+ }
+
+- static_library("v8") {
+- complete_static_lib = true
+- sources = []
+- if (defined(obj_v8)) {
+- sources += obj_v8
+- }
++ shared_library("v8") {
++ deps = [ "//v8:v8", "//v8:v8_libplatform" ]
++ ldflags = [ "-Wl,-rpath=\$ORIGIN/" ]
+ }
+
+ } else {
+diff --git a/chromiumcontent/build_libs.py b/chromiumcontent/build_libs.py
+index e10f320..716c5f2 100644
+--- a/chromiumcontent/build_libs.py
++++ b/chromiumcontent/build_libs.py
+@@ -82,7 +82,7 @@ with open(args.out, 'w') as out:
+ "third_party/usrsctp",
+ "third_party/woff2",
+ "third_party/zlib",
+- "tools",
++ "tools/battor_agent",
+ "ui",
+ "url",
+ ])
+diff --git a/script/create-dist b/script/create-dist
+index aec75e5..cf2f62c 100755
+--- a/script/create-dist
++++ b/script/create-dist
+@@ -45,7 +45,6 @@ COMPONENTS = ['static_library', 'shared_library']
+ BINARIES = {
+ 'all': [
+ 'content_shell.pak',
+- 'icudtl.dat',
+ 'natives_blob.bin',
+ 'snapshot_blob.bin',
+ os.path.join('gen', 'blink', 'public', 'resources', 'blink_image_resources_200_percent.pak'),
+@@ -59,7 +58,6 @@ BINARIES = {
+ 'libffmpeg.dylib',
+ ],
+ 'linux': [
+- 'libffmpeg.so',
+ ],
+ 'win32': [
+ 'd3dcompiler_47.dll',
+@@ -308,12 +306,11 @@ def main():
+
+ for component in COMPONENTS:
+ if args.component == 'all' or args.component == component:
+- copy_binaries(target_arch, component, create_debug_archive)
++ copy_binaries(target_arch, component, create_debug_archive,
++ args.system_icu)
+ copy_generated_sources(target_arch, component)
+ copy_locales(target_arch, component)
+
+- copy_ffmpeg(target_arch)
+- copy_sources()
+ generate_licenses()
+ if not args.no_zip:
+ create_zip(create_debug_archive)
+@@ -331,6 +328,8 @@ def parse_args():
+ help='static_library or shared_library or all')
+ parser.add_argument('--no_zip', action='store_true',
+ help='Do not create zip distribution')
++ parser.add_argument('--system-icu', action='store_true', dest='system_icu',
++ help='Use system icu.')
+ return parser.parse_args()
+
+
+@@ -355,15 +354,17 @@ def check_create_debug_archive(target_arch):
+ def copy_with_blacklist(target_arch, src, dest):
+ if os.path.basename(src) in ARCH_BLACKLIST[target_arch]:
+ return
+- shutil.copy2(src, dest)
++ link_or_copy(src, dest)
+
+
+-def copy_binaries(target_arch, component, create_debug_archive):
++def copy_binaries(target_arch, component, create_debug_archive, system_icu):
+ output_dir = get_output_dir(SOURCE_ROOT, target_arch, component)
+ target_dir = os.path.join(MAIN_DIR, component)
+ mkdir_p(target_dir)
+
+ binaries = BINARIES['all'] + BINARIES[TARGET_PLATFORM]
++ if not system_icu:
++ binaries.append('icudtl.dat')
+ if component == 'shared_library':
+ binaries += BINARIES_SHARED_LIBRARY[TARGET_PLATFORM]
+ for binary in binaries:
+@@ -371,7 +372,7 @@ def copy_binaries(target_arch, component, create_debug_archive):
+
+ # Copy all static libraries from chromiumcontent
+ for library in glob.glob(os.path.join(output_dir, 'obj', 'chromiumcontent', '*.' + STATIC_LIBRARY_SUFFIX)):
+- shutil.copy2(library, target_dir)
++ link_or_copy(library, target_dir)
+
+ if component == 'shared_library':
+ match = '*.{0}'.format(SHARED_LIBRARY_SUFFIX)
+@@ -396,7 +397,7 @@ def copy_binaries(target_arch, component, create_debug_archive):
+ for root, _, filenames in os.walk(output_dir):
+ for pdb in filenames:
+ if pdb.endswith('.pdb'):
+- shutil.copy2(os.path.join(root, pdb), target_dir)
++ link_or_copy(os.path.join(root, pdb), target_dir)
+
+ if TARGET_PLATFORM == 'linux':
+ if component == 'shared_library':
+@@ -433,7 +434,7 @@ def copy_binaries(target_arch, component, create_debug_archive):
+
+ ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'ffmpeg')
+ for binary in binaries:
+- shutil.copy2(os.path.join(ffmpeg_output_dir, binary), target_dir)
++ link_or_copy(os.path.join(ffmpeg_output_dir, binary), target_dir)
+
+
+ def copy_generated_sources(target_arch, component):
+@@ -452,7 +453,7 @@ def copy_locales(target_arch, component):
+ for src_file in glob.glob(os.path.join(src_dir, 'content_strings_*.pak')):
+ filename = os.path.basename(src_file)
+ new_name = re.sub('content_strings_', '', filename)
+- shutil.copy2(src_file, os.path.join(target_dir, new_name))
++ link_or_copy(src_file, os.path.join(target_dir, new_name))
+
+ def copy_sources():
+ for include_path in INCLUDE_DIRS:
+@@ -477,7 +478,7 @@ def copy_ffmpeg(target_arch):
+
+ target_dir = os.path.join(MAIN_DIR, 'ffmpeg')
+ mkdir_p(target_dir)
+- shutil.copy2(os.path.join(output_dir, binary), target_dir)
++ link_or_copy(os.path.join(output_dir, binary), target_dir)
+
+
+
+@@ -494,7 +495,7 @@ def copy_source_file(absolute_path, relative_to, destination):
+ relative_path = os.path.relpath(absolute_path, start=relative_to)
+ final_path = os.path.join(destination, relative_path)
+ mkdir_p(os.path.dirname(final_path))
+- shutil.copy2(absolute_path, final_path)
++ link_or_copy(absolute_path, final_path)
+
+
+ def copy_dir(relative_path, relative_to, destination):
+@@ -531,6 +532,7 @@ def link_binary_to_debug_file(objcopy, binfile, symfile, dirname):
+ def run_strip(target_arch, filename, create_debug_archive):
+ # Static libraries are not stripped because it would remove
+ # all the symbols in it.
++ return
+ if filename.endswith('.a'):
+ return
+
+@@ -620,6 +622,17 @@ def rm_rf(path):
+ raise
+
+
++def link_or_copy(src, dst):
++ if os.path.isfile(src):
++ if os.path.isdir(dst):
++ dst = os.path.join(dst, os.path.basename(src))
++ try:
++ os.link(src, dst)
++ except OSError:
++ shutil.copy2(src, dst)
++ else:
++ shutil.copy2(src, dst)
++
+ def safe_unlink(path):
+ try:
+ os.unlink(path)
+diff --git a/script/lib/config.py b/script/lib/config.py
+index 3455161..195b2a1 100644
+--- a/script/lib/config.py
++++ b/script/lib/config.py
+@@ -4,4 +4,4 @@ import os
+
+
+ def get_output_dir(source_root, target_arch, component):
+- return os.path.join(source_root, 'src', 'out-' + target_arch, component)
++ return os.environ.get('CHROMIUM_BUILD_DIR')
+--
+2.13.6
+