Skip to content

Commit c36597d

Browse files
authored
electron-25.8.0: enable v8 snapshot (#19)
[skip ci]
1 parent 3030ca6 commit c36597d

File tree

2 files changed

+40
-15
lines changed

2 files changed

+40
-15
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
--- a/build/install-build-deps.sh
2+
+++ b/build/install-build-deps.sh
3+
@@ -395,6 +395,7 @@
4+
msttcorefonts
5+
python-dev
6+
python-setuptools
7+
+ snapcraft
8+
ttf-dejavu-core
9+
ttf-indic-fonts
10+
ttf-kochi-gothic
11+
@@ -580,9 +581,6 @@
12+
if package_exists libinput-dev; then
13+
dev_list="${dev_list} libinput-dev"
14+
fi
15+
-if package_exists snapcraft; then
16+
- dev_list="${dev_list} snapcraft"
17+
-fi
18+
19+
# Cross-toolchain strip is needed for building the sysroots.
20+
if package_exists binutils-arm-linux-gnueabihf; then

tur-electron/electron-25.8.0/build.sh

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ TERMUX_PKG_LICENSE="MIT, BSD 3-Clause"
44
TERMUX_PKG_MAINTAINER="Chongyun Lee <[email protected]>"
55
_CHROMIUM_VERSION=114.0.5735.289
66
TERMUX_PKG_VERSION=25.8.0
7+
TERMUX_PKG_REVISION=1
78
TERMUX_PKG_SRCURL=git+https://github.com/electron/electron
89
TERMUX_PKG_DEPENDS="electron-deps"
910
TERMUX_PKG_BUILD_DEPENDS="libnotify, libffi-static"
@@ -79,8 +80,9 @@ termux_step_configure() {
7980
export PATH="$TERMUX_PKG_TMPDIR/host-pkg-config-bin:$PATH"
8081

8182
env -i PATH="$PATH" sudo apt update
82-
env -i PATH="$PATH" sudo apt install libdrm-dev libjpeg-turbo8-dev libpng-dev fontconfig libfontconfig-dev libfontconfig1-dev libfreetype6-dev zlib1g-dev libcups2-dev libxkbcommon-dev libglib2.0-dev -yq
83-
env -i PATH="$PATH" sudo apt install libdrm-dev:i386 libjpeg-turbo8-dev:i386 libpng-dev:i386 libfontconfig-dev:i386 libfontconfig1-dev:i386 libfreetype6-dev:i386 zlib1g-dev:i386 libcups2-dev:i386 libglib2.0-dev:i386 libxkbcommon-dev:i386 -yq
83+
env -i PATH="$PATH" sudo apt install lsb-release -yq
84+
env -i PATH="$PATH" sudo apt install libfontconfig1 libffi7 libfontconfig1:i386 libffi7:i386 -yq
85+
env -i PATH="$PATH" sudo ./build/install-build-deps.sh --lib32 --no-syms --no-android --no-arm --no-chromeos-fonts --no-nacl --no-prompt
8486

8587
# Install amd64 rootfs if necessary, it should have been installed by source hooks.
8688
build/linux/sysroot_scripts/install-sysroot.py --arch=amd64
@@ -127,8 +129,11 @@ termux_step_configure() {
127129
popd
128130

129131
# Construct args
130-
local _target_cpu _v8_current_cpu _v8_sysroot_path
131-
local _v8_toolchain_name _target_sysroot="$TERMUX_PKG_TMPDIR/sysroot"
132+
local _clang_base_path="/usr/lib/llvm-15"
133+
local _host_cc="$_clang_base_path/bin/clang"
134+
local _host_cxx="$_clang_base_path/bin/clang++"
135+
local _target_cpu _target_sysroot="$TERMUX_PKG_TMPDIR/sysroot"
136+
local _v8_toolchain_name _v8_current_cpu _v8_sysroot_path
132137
if [ "$TERMUX_ARCH" = "aarch64" ]; then
133138
_target_cpu="arm64"
134139
_v8_current_cpu="x64"
@@ -159,7 +164,7 @@ use_sysroot = false
159164
target_cpu = \"$_target_cpu\"
160165
target_rpath = \"$TERMUX_PREFIX/lib\"
161166
target_sysroot = \"$_target_sysroot\"
162-
clang_base_path = \"$TERMUX_STANDALONE_TOOLCHAIN\"
167+
clang_base_path = \"$_clang_base_path\"
163168
custom_toolchain = \"//build/toolchain/linux/unbundle:default\"
164169
host_toolchain = \"$TERMUX_PKG_CACHEDIR/custom-toolchain:host\"
165170
v8_snapshot_toolchain = \"$TERMUX_PKG_CACHEDIR/custom-toolchain:$_v8_toolchain_name\"
@@ -169,13 +174,13 @@ chrome_pgo_phase = 0
169174
treat_warnings_as_errors = false
170175
# Use system libraries as little as possible
171176
use_bundled_fontconfig = false
172-
use_system_freetype = true
177+
use_system_freetype = false
173178
use_system_libdrm = true
174179
use_custom_libcxx = false
175180
use_allocator_shim = false
176181
use_partition_alloc_as_malloc = false
177182
enable_backup_ref_ptr_support = false
178-
enable_mte_checked_ptr_support = false
183+
enable_pointer_compression_support = false
179184
use_nss_certs = true
180185
use_udev = false
181186
use_gnome_keyring = false
@@ -195,7 +200,6 @@ use_vaapi_x11 = false
195200
# See comments on Chromium package
196201
enable_nacl = false
197202
use_thin_lto=false
198-
use_v8_context_snapshot = false
199203
" >> $_common_args_file
200204

201205
if [ "$TERMUX_ARCH" = "arm" ]; then
@@ -206,18 +210,18 @@ use_v8_context_snapshot = false
206210
# Use custom toolchain
207211
mkdir -p $TERMUX_PKG_CACHEDIR/custom-toolchain
208212
cp -f $TERMUX_PKG_BUILDER_DIR/toolchain.gn.in $TERMUX_PKG_CACHEDIR/custom-toolchain/BUILD.gn
209-
sed -i "s|@HOST_CC@|$(command -v clang-15)|g
210-
s|@HOST_CXX@|$(command -v clang++-15)|g
211-
s|@HOST_LD@|$(command -v clang++-15)|g
213+
sed -i "s|@HOST_CC@|$_host_cc|g
214+
s|@HOST_CXX@|$_host_cxx|g
215+
s|@HOST_LD@|$_host_cxx|g
212216
s|@HOST_AR@|$(command -v llvm-ar)|g
213217
s|@HOST_NM@|$(command -v llvm-nm)|g
214218
s|@HOST_IS_CLANG@|true|g
215219
s|@HOST_USE_GOLD@|false|g
216220
s|@HOST_SYSROOT@|$_amd64_sysroot_path|g
217221
" $TERMUX_PKG_CACHEDIR/custom-toolchain/BUILD.gn
218-
sed -i "s|@V8_CC@|$(command -v clang-15)|g
219-
s|@V8_CXX@|$(command -v clang++-15)|g
220-
s|@V8_LD@|$(command -v clang++-15)|g
222+
sed -i "s|@V8_CC@|$_host_cc|g
223+
s|@V8_CXX@|$_host_cxx|g
224+
s|@V8_LD@|$_host_cxx|g
221225
s|@V8_AR@|$(command -v llvm-ar)|g
222226
s|@V8_NM@|$(command -v llvm-nm)|g
223227
s|@V8_TOOLCHAIN_NAME@|$_v8_toolchain_name|g
@@ -235,7 +239,7 @@ use_v8_context_snapshot = false
235239

236240
termux_step_make() {
237241
cd $TERMUX_PKG_BUILDDIR
238-
ninja -C $TERMUX_PKG_BUILDDIR/out/Release electron electron_license chromium_licenses || bash
242+
ninja -C $TERMUX_PKG_BUILDDIR/out/Release electron electron_license chromium_licenses -k 0 || bash
239243
}
240244

241245
termux_step_make_install() {
@@ -258,6 +262,7 @@ termux_step_make_install() {
258262

259263
# V8 Snapshot data
260264
snapshot_blob.bin
265+
v8_context_snapshot.bin
261266

262267
# ICU Data
263268
icudtl.dat

0 commit comments

Comments
 (0)