2019-07-21 09:11:03 +00:00
|
|
|
#!/bin/sh -e
|
|
|
|
|
2019-07-30 14:29:13 +00:00
|
|
|
pkg_dir=$1
|
|
|
|
|
|
|
|
set -- \
|
|
|
|
blink_symbol_level=0 \
|
|
|
|
clang_use_chrome_plugins=false \
|
|
|
|
closure_compile=false \
|
|
|
|
custom_toolchain=\"//build/toolchain/linux/unbundle:default\" \
|
2019-08-01 21:23:51 +00:00
|
|
|
enable_background_contents=false \
|
2019-08-01 21:39:47 +00:00
|
|
|
enable_background_mode=false \
|
|
|
|
enable_basic_print_dialog=false \
|
|
|
|
enable_basic_printing=false \
|
|
|
|
enable_captive_portal_detection=false \
|
2019-08-01 21:41:14 +00:00
|
|
|
enable_hangout_services_extension=false \
|
2019-08-01 21:39:47 +00:00
|
|
|
enable_ipc_logging=false \
|
|
|
|
enable_iterator_debugging=false \
|
|
|
|
enable_media_remoting=false \
|
2019-08-01 21:41:14 +00:00
|
|
|
enable_nacl=false \
|
|
|
|
enable_nacl_nonsfi=false \
|
2019-08-01 21:39:47 +00:00
|
|
|
enable_native_notifications=false \
|
|
|
|
enable_one_click_signin=false \
|
2019-08-01 21:41:14 +00:00
|
|
|
enable_print_preview=false \
|
2019-07-30 14:29:13 +00:00
|
|
|
enable_reading_list=false \
|
|
|
|
enable_remoting=false \
|
|
|
|
enable_reporting=false \
|
|
|
|
enable_service_discovery=false \
|
|
|
|
enable_swiftshader=false \
|
2019-08-01 21:19:42 +00:00
|
|
|
enable_vr=false \
|
2019-07-30 14:29:13 +00:00
|
|
|
fatal_linker_warnings=false \
|
2019-08-01 21:41:14 +00:00
|
|
|
fieldtrial_testing_like_official_build=true \
|
2019-07-30 14:29:13 +00:00
|
|
|
host_toolchain=\"//build/toolchain/linux/unbundle:default\" \
|
2019-08-01 21:41:14 +00:00
|
|
|
icu_use_data_file=false \
|
2019-07-31 22:53:53 +00:00
|
|
|
is_clang=true \
|
2019-08-01 21:41:14 +00:00
|
|
|
is_component_build=false \
|
2019-07-30 14:29:13 +00:00
|
|
|
is_debug=false \
|
2019-08-01 21:39:47 +00:00
|
|
|
is_desktop_linux=true \
|
2019-07-30 14:29:13 +00:00
|
|
|
linux_use_bundled_binutils=false \
|
2019-08-01 21:41:14 +00:00
|
|
|
proprietary_codecs=false \
|
2019-07-30 14:29:13 +00:00
|
|
|
rtc_use_x11=true \
|
|
|
|
safe_browsing_mode=0 \
|
|
|
|
symbol_level=0 \
|
2019-08-01 21:41:14 +00:00
|
|
|
target_cpu=\"x64\" \
|
2019-07-30 14:29:13 +00:00
|
|
|
treat_warnings_as_errors=false \
|
|
|
|
use_allocator=\"none\" \
|
|
|
|
use_allocator_shim=false \
|
|
|
|
use_atk=false \
|
|
|
|
use_cups=false \
|
|
|
|
use_custom_libcxx=false \
|
|
|
|
use_dbus=false \
|
|
|
|
use_gnome_keyring=false \
|
|
|
|
use_gold=false \
|
2019-08-01 22:03:07 +00:00
|
|
|
use_jumbo_build=false \
|
2019-07-30 14:29:13 +00:00
|
|
|
use_kerberos=false \
|
2019-08-01 21:16:53 +00:00
|
|
|
use_lld=false \
|
2019-08-01 21:41:14 +00:00
|
|
|
use_official_google_api_keys=false \
|
2019-07-30 14:29:13 +00:00
|
|
|
use_pulseaudio=false \
|
|
|
|
use_sysroot=false \
|
|
|
|
use_system_harfbuzz=true \
|
2019-08-02 05:03:41 +00:00
|
|
|
rtc_use_pipewire = false
|
2019-07-30 14:29:13 +00:00
|
|
|
|
2019-07-28 15:49:11 +00:00
|
|
|
for patch in *.patch; do
|
|
|
|
patch -p1 < "$patch"
|
|
|
|
done
|
2019-07-28 15:07:09 +00:00
|
|
|
|
2019-07-31 22:53:53 +00:00
|
|
|
# Use 'clang' instead of 'gcc'.
|
2019-08-01 22:03:07 +00:00
|
|
|
# Clang is the officially supported compiler and builds chromium faster.
|
2019-08-01 21:55:01 +00:00
|
|
|
export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm LD=clang++
|
2019-07-28 07:34:14 +00:00
|
|
|
export PATH=$PWD/fix-python-bin:$PATH
|
|
|
|
|
|
|
|
# Make a temporary script to cause 'python' to resolve to python 2 and not 3.
|
|
|
|
mkdir -p fix-python-bin
|
|
|
|
cat << EOF > ./fix-python-bin/python
|
|
|
|
#!/bin/sh
|
2019-07-28 07:44:02 +00:00
|
|
|
exec python2 "\$@"
|
2019-07-28 07:34:14 +00:00
|
|
|
EOF
|
|
|
|
chmod +x ./fix-python-bin/python
|
2019-07-28 06:36:10 +00:00
|
|
|
|
2019-07-28 21:38:37 +00:00
|
|
|
# Use system nodejs.
|
|
|
|
mkdir -p third_party/node/linux/node-linux-x64/bin
|
|
|
|
ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
|
|
|
|
|
2019-07-28 20:54:27 +00:00
|
|
|
# Use system libraries.
|
2019-08-01 12:30:34 +00:00
|
|
|
for dep in fontconfig harfbuzz-ng libdrm libevent libjpeg \
|
2019-07-28 20:59:52 +00:00
|
|
|
libpng libwebp libxml libxslt opus re2 snappy yasm; do
|
2019-07-28 20:54:27 +00:00
|
|
|
find . -type f -path "*third_party/$dep/*" \
|
|
|
|
\! -path "*third_party/$dep/chromium/*" \
|
|
|
|
\! -path "*third_party/$dep/google/*" \
|
|
|
|
\! -path './base/third_party/icu/*' \
|
|
|
|
\! -path './third_party/pdfium/third_party/freetype/include/pstables.h' \
|
|
|
|
\! -path './third_party/yasm/run_yasm.py' \
|
|
|
|
\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
|
|
|
|
-delete
|
|
|
|
done
|
|
|
|
|
|
|
|
# Switch to system provided dependencies.
|
|
|
|
python2 build/linux/unbundle/replace_gn_files.py \
|
2019-08-01 12:30:34 +00:00
|
|
|
--system-libraries fontconfig harfbuzz-ng libdrm libevent \
|
2019-08-01 12:24:41 +00:00
|
|
|
libjpeg libpng libwebp libxml libxslt opus re2 \
|
|
|
|
snappy yasm
|
2019-07-28 20:54:27 +00:00
|
|
|
|
2019-07-30 14:29:13 +00:00
|
|
|
python2 tools/gn/bootstrap/bootstrap.py -s -v --gn-gen-args "$*"
|
2019-07-28 07:07:52 +00:00
|
|
|
|
2019-07-30 15:10:35 +00:00
|
|
|
# All shells seem to support this despite the lack of a POSIX spec for it.
|
|
|
|
# shellcheck disable=2039
|
2019-08-01 16:27:30 +00:00
|
|
|
ulimit -n 4096 ||:
|
2019-07-30 15:10:35 +00:00
|
|
|
|
2019-07-28 06:32:06 +00:00
|
|
|
out/Release/gn gen out/Release \
|
2019-07-28 06:48:09 +00:00
|
|
|
--script-executable=/usr/bin/python2
|
2019-07-28 05:49:13 +00:00
|
|
|
|
2019-07-28 06:32:06 +00:00
|
|
|
ninja -C out/Release chrome chromedriver
|
2019-07-28 15:49:11 +00:00
|
|
|
|
2019-07-28 16:08:35 +00:00
|
|
|
cd out/Release
|
|
|
|
|
|
|
|
for bin in chrome chromedriver *.bin; do
|
2019-07-30 14:29:13 +00:00
|
|
|
install -Dm755 "$bin" "$pkg_dir/usr/lib/chromium/$bin"
|
2019-07-28 16:08:35 +00:00
|
|
|
done
|
2019-07-30 14:29:13 +00:00
|
|
|
|
|
|
|
mkdir -p "$pkg_dir/usr/bin"
|
|
|
|
ln -s /usr/lib/chromium/chrome "$pkg_dir/usr/bin/chrome"
|
|
|
|
ln -s /usr/lib/chromium/chromedriver "$pkg_dir/usr/bin/chromedriver"
|