- build/gyp_chromium -f make build/all.gyp --depth=. \
- -Dtarget_arch=arm \
- -Darm_float_abi=hard \
- -Darmv7=$USE_ARMV7 \
- -Darm_thumb=$USE_ARM_THUMB \
- -Darm_neon=$USE_ARM_NEON \
- -Dv8_target_arch=arm \
- -Dv8_use_arm_eabi_hardfloat=1 \
- -Dsysroot= \
- -Dpython_ver="2.7" \
- -Dno_strict_aliasing=1 \
- -Dwerror= \
- -Dlinux_sandbox_path=/usr/lib/chromium/chrome-sandbox \
- -Dlinux_strip_binary=1 \
- -Dlinux_use_gold_binary=0 \
- -Dlinux_use_gold_flags=0 \
- -Dlinux_use_tmalloc=0 \
- -Drelease_extra_cflags="$CFLAGS" \
- -Dproprietary_codecs=1 \
- -Dffmpeg_branding=Chrome \
- -Duse_system_libjpeg=1 \
- -Duse_system_libxslt=1 \
- -Duse_system_libxml=1 \
- -Duse_system_bzip2=1 \
- -Duse_system_zlib=0 \
- -Duse_system_libpng=0 \
- -Duse_system_ffmpeg=0 \
- -Duse_system_yasm=0 \
- -Duse_system_libevent=1 \
- -Duse_system_sqlite=0 \
- -Dremove_webcore_debug_symbols=1 \
- -Duse_gconf=0 \
- -Duse_cups=0 \
- -Duse_gnome_keyring=0 \
- -Duse_kerberos=0 \
- -Duse_pulseaudio=0 \
- -Dlinux_link_gnome_keyring=0 \
- -Dlinux_link_libpci=1 \
- -Dlinux_link_libspeechd=1 \
- -Denable_webrtc=1 \
- -Ddisable_nacl=1
-
- # fix issue with nspr libs
- sed -e "s|LIBS := |LIBS := $LDFLAGS |" -i chrome/chrome.target.mk
-
- make chrome chrome_sandbox BUILDTYPE=Release
-
- install -m 0755 -D out/Release/chrome $PKG/usr/lib/chromium/chromium
- install -m 4755 -o root -g root -D out/Release/chrome_sandbox $PKG/usr/lib/chromium/chrome-sandbox
- install -m 0644 -D out/Release/*.pak $PKG/usr/lib/chromium
- install -m 0755 -D out/Release/libffmpegsumo.so $PKG/usr/lib/chromium
- install -d $PKG/usr/lib/chromium/locales
- install -m 0644 out/Release/locales/en-US.pak $PKG/usr/lib/chromium/locales
- cp -a out/Release/resources $PKG/usr/lib/chromium
- install -m 0644 -D out/Release/chrome.1 $PKG/usr/man/man1/chromium.1
-
- for size in 22 24 48 128 256; do
- install -m 0644 -D chrome/app/theme/chromium/product_logo_${size}.png \
- $PKG/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png
+ # we don't use git sources
+ patch -p1 -i $SRC/last-commit-position.patch
+
+ # Corrects error call to non-constexpr function
+ patch -p1 -i $SRC/chromium-64.0.3282.119-constexpr-1.patch
+
+ wget https://chromium.googlesource.com/chromium/src.git/+/$version?format=TEXT -O ../chromium-$version.txt
+ # https://crbug.com/710701
+ local _chrome_build_hash=$(base64 -d ../chromium-$version.txt |
+ grep -Po '^parent \K[0-9a-f]{40}$')
+ if [[ -z $_chrome_build_hash ]]; then
+ error "Unable to find Chrome build hash."
+ return 1
+ fi
+ echo "LASTCHANGE=$_chrome_build_hash-" >build/util/LASTCHANGE
+
+ # https://chromium-review.googlesource.com/c/chromium/src/+/712575
+ patch -p1 -i $SRC/chromium-exclude_unwind_tables.patch
+
+ # https://crbug.com/772655
+ patch -p1 -i $SRC/chromium-use-fromUTF8-for-UnicodeString-construction.patch
+
+ # https://crbug.com/789163
+ patch -p1 -i $SRC/chromium-omnibox-unescape-fragment.patch
+
+ # https://crbug.com/skia/6663#c10
+ patch -p4 -i $SRC/chromium-skia-harmony.patch
+
+ # Fixes from Gentoo
+ patch -p1 -i $SRC/chromium-memcpy-r0.patch
+ patch -p1 -i $SRC/chromium-clang-r2.patch
+ patch -p1 -i $SRC/chromium-cups-r0.patch
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin
+ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
+
+ # Let's fix the toolchain
+ patch -p0 -i $SRC/$name-build-toolchain.patch
+
+ _gn_args=(
+ 'blink_gc_plugin=false'
+ 'clang_use_chrome_plugins=false'
+ 'enable_hangout_services_extension=true'
+ 'enable_nacl=false'
+ 'enable_swiftshader=false'
+ 'fatal_linker_warnings=false'
+ 'ffmpeg_branding="Chrome"'
+ 'is_clang=false'
+ 'is_debug=false'
+ 'linux_use_bundled_binutils=false'
+ 'use_custom_libcxx=false'
+ 'proprietary_codecs=true'
+ 'remove_webcore_debug_symbols=true'
+ 'symbol_level=0'
+ 'treat_warnings_as_errors=false'
+ 'use_allocator="none"'
+ 'use_cups=false'
+ 'use_gconf=false'
+ 'use_gnome_keyring=false'
+ 'use_gold=false'
+ 'use_gtk3=true'
+ 'use_kerberos=false'
+ 'use_pulseaudio=false'
+ 'use_sysroot=false'
+ )
+
+ /usr/bin/python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args="${_gn_args[*]}"
+ out/Release/gn gen out/Release --args="${_gn_args[*]}" --script-executable=/usr/bin/python2
+
+ ninja -j ${JOBS-1} -C out/Release chrome chrome_sandbox
+
+ install -m 0755 -D out/Release/chrome $PKG/usr/lib/$name/$name
+ install -m 4755 -o root -g root -D out/Release/chrome_sandbox $PKG/usr/lib/$name/chrome-sandbox
+ install -m 0644 -D out/Release/*.pak $PKG/usr/lib/$name
+ install -d $PKG/usr/lib/$name/locales
+ install -m 0644 out/Release/locales/en-US.pak $PKG/usr/lib/$name/locales
+ cp -a out/Release/resources $PKG/usr/lib/$name
+
+ install -m 0644 -D chrome/installer/linux/common/desktop.template $PKG/usr/share/applications/$name.desktop
+ install -m 0644 -D chrome/app/resources/manpage.1.in $PKG/usr/share/man/man1/$name.1
+
+ sed -i \
+ -e "s/@@MENUNAME@@/Chromium/g" \
+ -e "s/@@PACKAGE@@/chromium/g" \
+ -e "s/@@USR_BIN_SYMLINK_NAME@@/chromium/g" \
+ $PKG/usr/share/applications/$name.desktop \
+ $PKG/usr/share/man/man1/$name.1
+
+ # fix v8 natives
+ cp -a out/Release/{natives,snapshot}_blob.bin $PKG/usr/lib/$name
+
+ for size in 16 32; do
+ install -m 0644 -D chrome/app/theme/default_100_percent/$name/product_logo_${size}.png \
+ $PKG/usr/share/icons/hicolor/${size}x${size}/apps/$name.png
+ done
+
+ for size in 22 24 48 64 128 256; do
+ install -m 0644 -D chrome/app/theme/$name/product_logo_${size}.png \
+ $PKG/usr/share/icons/hicolor/${size}x${size}/apps/$name.png