aboutsummaryrefslogtreecommitdiff
path: root/lang/v8
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-05-11 21:14:34 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-05-11 21:46:59 +0000
commit4b783f69ff097b9008ff177d3946004cbddf176d (patch)
treeeeb690d164610b66d01049daa7695cd1028a2ef0 /lang/v8
parent0b84b9ab3946f528bcf462aabd81553f4c5ff34c (diff)
downloadports-4b783f69ff097b9008ff177d3946004cbddf176d.tar.gz
ports-4b783f69ff097b9008ff177d3946004cbddf176d.zip
lang/v8: Update to 9.0.257.23
- Use SUB_FILES for pkgconfig files (v8*.pc) - Sort PLIST - Update pkg-descr - Update WWW Changes: https://v8.dev/blog/v8-release-89 https://v8.dev/blog/v8-release-90
Diffstat (limited to 'lang/v8')
-rw-r--r--lang/v8/Makefile192
-rw-r--r--lang/v8/distinfo34
-rw-r--r--lang/v8/files/patch-BUILD.gn (renamed from lang/v8/files/patch-v8_BUILD.gn)12
-rw-r--r--lang/v8/files/patch-build_config_BUILD.gn12
-rw-r--r--lang/v8/files/patch-build_config_BUILDCONFIG.gn14
-rw-r--r--lang/v8/files/patch-build_config_compiler_BUILD.gn34
-rw-r--r--lang/v8/files/patch-build_config_compiler_compiler.gni16
-rw-r--r--lang/v8/files/patch-build_config_linux_BUILD.gn4
-rw-r--r--lang/v8/files/patch-build_linux_chrome.map8
-rw-r--r--lang/v8/files/patch-build_toolchain_gcc__toolchain.gni6
-rw-r--r--lang/v8/files/patch-build_toolchain_get__concurrent__links.py4
-rw-r--r--lang/v8/files/patch-build_toolchain_linux_BUILD.gn4
-rw-r--r--lang/v8/files/patch-include_v8config.h (renamed from lang/v8/files/patch-v8_include_v8config.h)8
-rw-r--r--lang/v8/files/patch-src_api_api.cc (renamed from lang/v8/files/patch-v8_src_api_api.cc)6
-rw-r--r--lang/v8/files/patch-src_base_cpu.cc (renamed from lang/v8/files/patch-v8_src_base_cpu.cc)6
-rw-r--r--lang/v8/files/patch-src_base_platform_platform-freebsd.cc (renamed from lang/v8/files/patch-v8_src_base_platform_platform-freebsd.cc)2
-rw-r--r--lang/v8/files/patch-src_base_platform_platform-posix.cc (renamed from lang/v8/files/patch-v8_src_base_platform_platform-posix.cc)6
-rw-r--r--lang/v8/files/patch-src_objects_js-list-format.cc83
-rw-r--r--lang/v8/files/v8.pc.in (renamed from lang/v8/files/v8.pc)0
-rw-r--r--lang/v8/files/v8_libbase.pc.in (renamed from lang/v8/files/v8_libbase.pc)0
-rw-r--r--lang/v8/files/v8_libplatform.pc.in (renamed from lang/v8/files/v8_libplatform.pc)0
-rw-r--r--lang/v8/pkg-descr20
-rw-r--r--lang/v8/pkg-plist18
23 files changed, 170 insertions, 319 deletions
diff --git a/lang/v8/Makefile b/lang/v8/Makefile
index 1900cca003da..298d61a713cb 100644
--- a/lang/v8/Makefile
+++ b/lang/v8/Makefile
@@ -1,38 +1,16 @@
-# To update the port:
-# The stable v8 version follows the chromium browser
-# https://chromereleases.googleblog.com/search/label/Desktop%20Update
-# search for "The stable channel has been updated to" XX.X.XXXX.XXX
-# -> https://github.com/chromium/chromium/blob/87.0.4280.60/DEPS
-# -> 'v8_revision': 'd2fef9fb0ac356d6cf6759f29e2b56ebea8bc58d'
-# https://github.com/v8/v8/commit/d2fef9fb0ac356d6cf6759f29e2b56ebea8bc58d
-# -> Version 8.7.220.23
-# then:
-# - make makesum
-# - update the various hashes (BUILD_HASH...), see below:
-# egrep "build.git|buildtools.git|clang.git|common.git|googletest.git|icu.git|zlib.git" ${WRKSRC}/DEPS
-# - make MAINTAINER_MODE=yes fetch (warning, it'll try to upload them on my account on freefall)
-# - make makesum (to update the various deps hashes)
-# - make clean ; make (and fix the patches if needed)
-
PORTNAME= v8
-DISTVERSION= 8.7.220.23
-PORTREVISION= 1
+PORTVERSION= 9.0.257.23
CATEGORIES= lang
-MASTER_SITES= LOCAL/mikael/v8/:build \
- LOCAL/mikael/v8/:buildtools \
- LOCAL/mikael/v8/:clang \
- LOCAL/mikael/v8/:common \
- LOCAL/mikael/v8/:googletest \
- LOCAL/mikael/v8/:icu \
- LOCAL/mikael/v8/:zlib
-DISTFILES= build-${BUILD_HASH}.tar.gz:build \
- buildtools-${BUILDTOOLS_HASH}.tar.gz:buildtools \
- clang-${CLANG_HASH}.tar.gz:clang \
- common-${COMMON_HASH}.tar.gz:common \
- googletest-${GOOGLETEST_HASH}.tar.gz:googletest \
- icu-${ICU_HASH}.tar.gz:icu \
- zlib-${ZLIB_HASH}.tar.gz:zlib
+MASTER_SITES= LOCAL/sunpoet/v8/${PORTVERSION:R:R}
+DISTFILES= build-${BUILD_REV}.tar.gz \
+ buildtools-${BUILDTOOLS_REV}.tar.gz \
+ clang-${CLANG_REV}.tar.gz \
+ common-${COMMON_REV}.tar.gz \
+ googletest-${GOOGLETEST_REV}.tar.gz \
+ icu-${ICU_REV}.tar.gz \
+ zlib-${ZLIB_REV}.tar.gz
EXTRACT_ONLY= ${DISTNAME}.tar.gz
+DIST_SUBDIR= v8/${PORTVERSION:R:R}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Open source JavaScript engine by Google
@@ -40,139 +18,85 @@ COMMENT= Open source JavaScript engine by Google
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= binutils>0:devel/binutils \
+BUILD_DEPENDS= binutils>=0:devel/binutils \
gn:devel/gn \
- ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
- libunwind>0:devel/libunwind
+ ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR}
LIB_DEPENDS= libicudata.so:devel/icu
USES= gnome ninja pkgconfig python:3.5+,build tar:xz
-USE_GITHUB= yes
-USE_LDCONFIG= yes
USE_GNOME= glib20
-# new release every minutes
-PORTSCOUT= ignore:1
+BINARY_ALIAS= python=${PYTHON_CMD}
+MAKE_ARGS= -C out/Release
+USE_LDCONFIG= yes
+
+SUB_FILES= v8.pc v8_libbase.pc v8_libplatform.pc
-# egrep "build.git|buildtools.git|clang.git|common.git|googletest.git|icu.git|zlib.git" ${WRKSRC}/DEPS
-BUILD_HASH= 38a49c12ded01dd8c4628b432cb7eebfb29e77f1
-BUILDTOOLS_HASH= 3ff4f5027b4b81a6c9c36d64d71444f2709a4896
-CLANG_HASH= 3017edade60658a699be776d9e282509a902ffe9
-COMMON_HASH= 23ef5333a357fc7314630ef88b44c3a545881dee
-GOOGLETEST_HASH= 4fe018038f87675c083d0cfb6a6b57c274fb1753
-ICU_HASH= aef20f06d47ba76fdf13abcdb033e2a408b5a94d
-ZLIB_HASH= 4668feaaa47973a6f9d9f9caeb14cd03731854f1
+USE_GITHUB= yes
-BUILDTYPE= Release
+# We follow the stable channel on https://omahaproxy.appspot.com/
+PORTSCOUT= ignore:1
-BINARY_ALIAS= python=${PYTHON_CMD}
+BUILD_REV= 446bf3e5a00bfe4fd99d91cb76ec3b3a7b34d226
+BUILDTOOLS_REV= 4c78ef9c38b683c5c5cbac70445378c2362cebfc
+CLANG_REV= cfd0f628093b7382ac054fb33e23fa9d9a278bc3
+COMMON_REV= 7af6071eddf11ad91fbd5df54138f9d3c6d980d5
+GOOGLETEST_REV= 1e315c5b1a62707fac9b8f1d4e03180ee7507f98
+ICU_REV= e05b663d1c50b4e9ecc3ff9325f5158f1d071471
+ZLIB_REV= 348acca950b1d6de784a954f4fda0952046c652c
# Run "gn args out/Release --list" for all variables.
# Some parts don't have use_system_* flag, and can be turned on/off by using
# replace_gn_files.py script, some parts just turned on/off for target host
# OS "target_os == is_bsd", like libusb, libpci.
GN_ARGS+= clang_use_chrome_plugins=false \
+ extra_cxxflags="${CXXFLAGS}" \
+ extra_ldflags="${LDFLAGS}" \
is_clang=true \
treat_warnings_as_errors=false \
use_aura=true \
use_lld=true \
use_custom_libcxx=false \
- v8_use_external_startup_data=false \
- extra_cxxflags="${CXXFLAGS}" \
- extra_ldflags="${LDFLAGS}"
-
-MAKE_ARGS= -C out/${BUILDTYPE}
-
-# sha256 changes everytime you download the archive, need to host them on
-# freefall
-# To download distfiles : as sunpoet: make MAINTAINER_MODE=yes fetch
-.if defined(MAINTAINER_MODE)
-do-fetch:
- ${FETCH_CMD} -o ${DISTDIR}/build-${BUILD_HASH}.tar.gz \
- https://chromium.googlesource.com/chromium/src/build.git/+archive/${BUILD_HASH}.tar.gz
- ${FETCH_CMD} -o ${DISTDIR}/buildtools-${BUILDTOOLS_HASH}.tar.gz \
- https://chromium.googlesource.com/chromium/src/buildtools.git/+archive/${BUILDTOOLS_HASH}.tar.gz
- ${FETCH_CMD} -o ${DISTDIR}/clang-${CLANG_HASH}.tar.gz \
- https://chromium.googlesource.com/chromium/src/tools/clang.git/+archive/${CLANG_HASH}.tar.gz
- ${FETCH_CMD} -o ${DISTDIR}/common-${COMMON_HASH}.tar.gz \
- https://chromium.googlesource.com/chromium/src/base/trace_event/common.git/+archive/${COMMON_HASH}.tar.gz
- ${FETCH_CMD} -o ${DISTDIR}/googletest-${GOOGLETEST_HASH}.tar.gz \
- https://chromium.googlesource.com/external/github.com/google/googletest.git/+archive/${GOOGLETEST_HASH}.tar.gz
- ${FETCH_CMD} -o ${DISTDIR}/icu-${ICU_HASH}.tar.gz \
- https://chromium.googlesource.com/chromium/deps/icu.git/+archive/${ICU_HASH}.tar.gz
- ${FETCH_CMD} -o ${DISTDIR}/zlib-${ZLIB_HASH}.tar.gz \
- https://chromium.googlesource.com/chromium/src/third_party/zlib.git/+archive/${ZLIB_HASH}.tar.gz
-
-. if ${USER} == ${MAINTAINER:C/@.*//}
-. for f in build-${BUILD_HASH} buildtools-${BUILDTOOLS_HASH} \
- clang-${CLANG_HASH} common-${COMMON_HASH} \
- googletest-${GOOGLETEST_HASH} icu-${ICU_HASH} \
- zlib-${ZLIB_HASH}
- scp ${DISTDIR}/${f}.tar.gz \
- sunpoet@freefall.freebsd.org:public_distfiles/v8
-. endfor
-. endif
-.endif # defined(MAINTAINER_MODE)
+ v8_use_external_startup_data=false
post-extract:
- ${MKDIR} \
- ${WRKSRC}/base/trace_event/common \
- ${WRKSRC}/build \
- ${WRKSRC}/buildtools \
- ${WRKSRC}/third_party/googletest/src \
- ${WRKSRC}/third_party/icu \
- ${WRKSRC}/third_party/zlib \
- ${WRKSRC}/tools/clang
- ${TAR} -xf ${DISTDIR}/build-${BUILD_HASH}.tar.gz -C ${WRKSRC}/build
- ${TAR} -xf ${DISTDIR}/buildtools-${BUILDTOOLS_HASH}.tar.gz -C ${WRKSRC}/buildtools
- ${TAR} -xf ${DISTDIR}/clang-${CLANG_HASH}.tar.gz -C ${WRKSRC}/tools/clang
- ${TAR} -xf ${DISTDIR}/common-${COMMON_HASH}.tar.gz -C ${WRKSRC}/base/trace_event/common
- ${TAR} -xf ${DISTDIR}/googletest-${GOOGLETEST_HASH}.tar.gz -C ${WRKSRC}/third_party/googletest/src
- ${TAR} -xf ${DISTDIR}/icu-${ICU_HASH}.tar.gz -C ${WRKSRC}/third_party/icu
- ${TAR} -xf ${DISTDIR}/zlib-${ZLIB_HASH}.tar.gz -C ${WRKSRC}/third_party/zlib
+ @${MKDIR} ${WRKSRC}/base/trace_event/common ${WRKSRC}/build ${WRKSRC}/buildtools ${WRKSRC}/third_party/googletest/src ${WRKSRC}/third_party/icu ${WRKSRC}/third_party/zlib ${WRKSRC}/tools/clang
+ @${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/build-${BUILD_REV}.tar.gz -C ${WRKSRC}/build
+ @${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/buildtools-${BUILDTOOLS_REV}.tar.gz -C ${WRKSRC}/buildtools
+ @${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/clang-${CLANG_REV}.tar.gz -C ${WRKSRC}/tools/clang
+ @${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/common-${COMMON_REV}.tar.gz -C ${WRKSRC}/base/trace_event/common
+ @${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/googletest-${GOOGLETEST_REV}.tar.gz -C ${WRKSRC}/third_party/googletest/src
+ @${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/icu-${ICU_REV}.tar.gz -C ${WRKSRC}/third_party/icu
+ @${TAR} -xf ${DISTDIR}/${DIST_SUBDIR}/zlib-${ZLIB_REV}.tar.gz -C ${WRKSRC}/third_party/zlib
post-patch:
- ${REINPLACE_CMD} "s|%%LOCALBASE%%|${LOCALBASE}|" \
- ${WRKSRC}/build/toolchain/gcc_toolchain.gni \
- ${WRKSRC}/buildtools/third_party/libc++/BUILD.gn
-
-# google sucks, this file is needed but absent in the build* archive
-# https://github.com/klzgrad/naiveproxy/blob/master/src/build/config/gclient_args.gni
- ${TOUCH} ${WRKSRC}/build/config/gclient_args.gni
- ${ECHO} "checkout_google_benchmark = false" >> ${WRKSRC}/build/config/gclient_args.gni
+ @${REINPLACE_CMD} -i '' 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/build/toolchain/gcc_toolchain.gni ${WRKSRC}/buildtools/third_party/libc++/BUILD.gn
+ # https://github.com/klzgrad/naiveproxy/blob/master/src/build/config/gclient_args.gni
+ ${ECHO_CMD} 'checkout_google_benchmark = false' > ${WRKSRC}/build/config/gclient_args.gni
+# Use ICU from ports and create needed directory
pre-configure:
- # use system libraries for ICU
- cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \
- ./build/linux/unbundle/replace_gn_files.py --system-libraries \
- icu || ${FALSE}
- # google build system is too stupid to create needed directory and
- # use system headers for ICU
- ${MKDIR} ${WRKSRC}/out/${BUILDTYPE}/gen/shim_headers/icuuc_shim/third_party/icu/source/common/unicode \
- ${WRKSRC}/out/${BUILDTYPE}/gen/shim_headers/icui18n_shim/third_party/icu/source/i18n/unicode \
- ${WRKSRC}/out/${BUILDTYPE}/gen/include
- ${CP} -R ${LOCALBASE}/include/unicode ${WRKSRC}/out/${BUILDTYPE}/gen/include
+ @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} ./build/linux/unbundle/replace_gn_files.py --system-libraries icu # || ${FALSE}
+ @${MKDIR} ${WRKSRC}/out/Release/gen/shim_headers/icui18n_shim/third_party/icu/source/i18n/unicode ${WRKSRC}/out/Release/gen/shim_headers/icuuc_shim/third_party/icu/source/common/unicode
+ @${MKDIR} ${WRKSRC}/out/Release/gen/include
+ @${CP} -R ${LOCALBASE}/include/unicode ${WRKSRC}/out/Release/gen/include/unicode
do-configure:
- cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out/${BUILDTYPE} --args='${GN_ARGS}'
+ @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out/Release --args='${GN_ARGS}'
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/d8 ${STAGEDIR}${PREFIX}/bin/d8
-# ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/d8 ${STAGEDIR}${PREFIX}/bin/cctest
-# ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/mksnapshot ${STAGEDIR}${PREFIX}/bin/mksnapshot
-# ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/mkgrokdump ${STAGEDIR}${PREFIX}/bin/mkgrokdump
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libv8.so ${STAGEDIR}${PREFIX}/lib/libv8.so
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libv8_libbase.so ${STAGEDIR}${PREFIX}/lib/libv8_libbase.so
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libv8_libplatform.so ${STAGEDIR}${PREFIX}/lib/libv8_libplatform.so
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libchrome_zlib.so ${STAGEDIR}${PREFIX}/lib/libchrome_zlib.so
-
+ ${MKDIR} ${STAGEDIR}${PREFIX}/include/cppgc ${STAGEDIR}${PREFIX}/include/libplatform
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/Release/d8 ${STAGEDIR}${PREFIX}/bin/d8
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/Release/mkgrokdump ${STAGEDIR}${PREFIX}/bin/mkgrokdump
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/Release/mksnapshot ${STAGEDIR}${PREFIX}/bin/mksnapshot
+ ${INSTALL_LIB} ${WRKSRC}/out/Release/libchrome_zlib.so ${STAGEDIR}${PREFIX}/lib/libchrome_zlib.so
+ ${INSTALL_LIB} ${WRKSRC}/out/Release/libcppgc.so ${STAGEDIR}${PREFIX}/lib/libcppgc.so
+ ${INSTALL_LIB} ${WRKSRC}/out/Release/libv8.so ${STAGEDIR}${PREFIX}/lib/libv8.so
+ ${INSTALL_LIB} ${WRKSRC}/out/Release/libv8_libbase.so ${STAGEDIR}${PREFIX}/lib/libv8_libbase.so
+ ${INSTALL_LIB} ${WRKSRC}/out/Release/libv8_libplatform.so ${STAGEDIR}${PREFIX}/lib/libv8_libplatform.so
${INSTALL_DATA} ${WRKSRC}/include/*.h ${STAGEDIR}${PREFIX}/include/
- ${MKDIR} ${STAGEDIR}${PREFIX}/include/libplatform \
- ${STAGEDIR}${PREFIX}/include/cppgc
+ cd ${WRKSRC}/include/cppgc && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/cppgc '-name *\.h'
${INSTALL_DATA} ${WRKSRC}/include/libplatform/*.h ${STAGEDIR}${PREFIX}/include/libplatform/
- cd ${WRKSRC}/include/cppgc && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/cppgc " -name *\.h"
- ${INSTALL_DATA} ${FILESDIR}/*.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig
- ${REINPLACE_CMD} "s|%%PREFIX%%|${PREFIX}|" \
- ${STAGEDIR}${PREFIX}/libdata/pkgconfig/*
+ ${INSTALL_DATA} ${WRKDIR}/v8*.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/
.include <bsd.port.mk>
diff --git a/lang/v8/distinfo b/lang/v8/distinfo
index 5c7bf03541dd..9a2b9324002a 100644
--- a/lang/v8/distinfo
+++ b/lang/v8/distinfo
@@ -1,17 +1,17 @@
-TIMESTAMP = 1605533489
-SHA256 (build-38a49c12ded01dd8c4628b432cb7eebfb29e77f1.tar.gz) = 9101b1fdbbfe46daa6b73bc9d2bcb06530791b1c11862207aebe25b368cb4634
-SIZE (build-38a49c12ded01dd8c4628b432cb7eebfb29e77f1.tar.gz) = 1240608
-SHA256 (buildtools-3ff4f5027b4b81a6c9c36d64d71444f2709a4896.tar.gz) = c6c910d9c8ccaaf5ffa942c7eef9611db08aaead17dee6bacf3635c7d3bd966e
-SIZE (buildtools-3ff4f5027b4b81a6c9c36d64d71444f2709a4896.tar.gz) = 86341
-SHA256 (clang-3017edade60658a699be776d9e282509a902ffe9.tar.gz) = 68c0b692589f838f22b6d1588b121d0ab556b13d6d24d029856a292b07d77eb0
-SIZE (clang-3017edade60658a699be776d9e282509a902ffe9.tar.gz) = 264892
-SHA256 (common-23ef5333a357fc7314630ef88b44c3a545881dee.tar.gz) = f9ffda89fbdb21ace09ac308cf396bb57bdbcc65e41d298be0fa71df95611cd9
-SIZE (common-23ef5333a357fc7314630ef88b44c3a545881dee.tar.gz) = 9982
-SHA256 (googletest-4fe018038f87675c083d0cfb6a6b57c274fb1753.tar.gz) = 5c3d94f5c4b636b343e4d0e5f7d6885927cbc46cdc3063b8ed94e18c00d55072
-SIZE (googletest-4fe018038f87675c083d0cfb6a6b57c274fb1753.tar.gz) = 863456
-SHA256 (icu-aef20f06d47ba76fdf13abcdb033e2a408b5a94d.tar.gz) = 065544e46981968793737abe35a7de0d651a6a017be60fb778a7ab7bcb915645
-SIZE (icu-aef20f06d47ba76fdf13abcdb033e2a408b5a94d.tar.gz) = 43355045
-SHA256 (zlib-4668feaaa47973a6f9d9f9caeb14cd03731854f1.tar.gz) = 14093560cb4bf089704b78f7976f7b86b68bdbe49b1fe79e62feb373a542609a
-SIZE (zlib-4668feaaa47973a6f9d9f9caeb14cd03731854f1.tar.gz) = 306550
-SHA256 (v8-v8-8.7.220.23_GH0.tar.gz) = 7c8da23593d815ef3b043976897b22821adca6ca5a925fdde34f33e8eb90f5b5
-SIZE (v8-v8-8.7.220.23_GH0.tar.gz) = 25355323
+TIMESTAMP = 1620405349
+SHA256 (v8/9.0/build-446bf3e5a00bfe4fd99d91cb76ec3b3a7b34d226.tar.gz) = 59d9e28fa0ad2786de81dbfae197e42735852aae19c0b487dcd1cc5e8f88f3f4
+SIZE (v8/9.0/build-446bf3e5a00bfe4fd99d91cb76ec3b3a7b34d226.tar.gz) = 1292231
+SHA256 (v8/9.0/buildtools-4c78ef9c38b683c5c5cbac70445378c2362cebfc.tar.gz) = 396a63c34bb66ba907688dde75d539c7a0a8eb26abd5f3e6560af262edd1d9dd
+SIZE (v8/9.0/buildtools-4c78ef9c38b683c5c5cbac70445378c2362cebfc.tar.gz) = 87113
+SHA256 (v8/9.0/clang-cfd0f628093b7382ac054fb33e23fa9d9a278bc3.tar.gz) = d80b5bce57636ced70025ae5d4788e28c8c3e846aeda0cda40c05cd1fc0ca313
+SIZE (v8/9.0/clang-cfd0f628093b7382ac054fb33e23fa9d9a278bc3.tar.gz) = 279457
+SHA256 (v8/9.0/common-7af6071eddf11ad91fbd5df54138f9d3c6d980d5.tar.gz) = 4b59d47ac6821abb847640821f8e289de5b2b33fadeaa32bd366d053ef1b2727
+SIZE (v8/9.0/common-7af6071eddf11ad91fbd5df54138f9d3c6d980d5.tar.gz) = 10417
+SHA256 (v8/9.0/googletest-1e315c5b1a62707fac9b8f1d4e03180ee7507f98.tar.gz) = 65783bd41ab59df3760c9590049507c490e73ba25df4f867382748b870b23f5f
+SIZE (v8/9.0/googletest-1e315c5b1a62707fac9b8f1d4e03180ee7507f98.tar.gz) = 866766
+SHA256 (v8/9.0/icu-e05b663d1c50b4e9ecc3ff9325f5158f1d071471.tar.gz) = 78a812ba28510cc8b4b8256155cc1eaf5f0f3d404bf712562e57f344a96ae8b5
+SIZE (v8/9.0/icu-e05b663d1c50b4e9ecc3ff9325f5158f1d071471.tar.gz) = 43787352
+SHA256 (v8/9.0/zlib-348acca950b1d6de784a954f4fda0952046c652c.tar.gz) = 2bfc65e6699d960a3152fa06a41e4ac6dd5bd186cb2fe7e4fa9df24a9e207c7b
+SIZE (v8/9.0/zlib-348acca950b1d6de784a954f4fda0952046c652c.tar.gz) = 308614
+SHA256 (v8/9.0/v8-v8-9.0.257.23_GH0.tar.gz) = 820b36daeadb2e2317458aeef868c97216fe2db4ef15827ba109926c63a03a21
+SIZE (v8/9.0/v8-v8-9.0.257.23_GH0.tar.gz) = 26083837
diff --git a/lang/v8/files/patch-v8_BUILD.gn b/lang/v8/files/patch-BUILD.gn
index e0fe44d86a02..f4cf17f479ab 100644
--- a/lang/v8/files/patch-v8_BUILD.gn
+++ b/lang/v8/files/patch-BUILD.gn
@@ -1,6 +1,6 @@
---- BUILD.gn.orig 2020-09-18 23:49:09 UTC
+--- BUILD.gn.orig 2021-04-22 15:00:28 UTC
+++ BUILD.gn
-@@ -4069,7 +4069,7 @@ v8_component("v8_libbase") {
+@@ -4438,7 +4438,7 @@ v8_component("v8_libbase") {
}
}
@@ -9,10 +9,10 @@
sources += [
"src/base/debug/stack_trace_posix.cc",
"src/base/platform/platform-linux.cc",
-@@ -4089,6 +4089,12 @@ v8_component("v8_libbase") {
- "dl",
- "rt",
+@@ -4455,6 +4455,12 @@ v8_component("v8_libbase") {
]
+
+ libs = [ "dl" ]
+ } else if (is_bsd) {
+ sources += [
+ "src/base/debug/stack_trace_posix.cc",
@@ -22,7 +22,7 @@
} else if (is_android) {
if (current_toolchain == host_toolchain) {
libs = [
-@@ -4431,6 +4437,7 @@ if (v8_monolithic) {
+@@ -4890,6 +4896,7 @@ if (v8_monolithic) {
":v8_libsampler",
"//build/win:default_exe_manifest",
]
diff --git a/lang/v8/files/patch-build_config_BUILD.gn b/lang/v8/files/patch-build_config_BUILD.gn
index 964e6821a3a3..78876659bd55 100644
--- a/lang/v8/files/patch-build_config_BUILD.gn
+++ b/lang/v8/files/patch-build_config_BUILD.gn
@@ -1,15 +1,15 @@
---- build/config/BUILD.gn.orig 2020-09-19 19:50:44 UTC
+--- build/config/BUILD.gn.orig 2021-05-01 21:15:31 UTC
+++ build/config/BUILD.gn
@@ -133,7 +133,7 @@ config("debug") {
# builds, and we have to tell it to turn it off.
defines += [ "_HAS_ITERATOR_DEBUGGING=0" ]
}
-- } else if ((is_linux || is_chromeos) && current_cpu == "x64" && enable_iterator_debugging) {
-+ } else if ((is_linux || is_chromeos || is_bsd) && current_cpu == "x64" && enable_iterator_debugging) {
+- } else if ((is_linux || is_chromeos) && current_cpu == "x64" &&
++ } else if ((is_linux || is_chromeos || is_bsd) && current_cpu == "x64" &&
+ enable_iterator_debugging) {
# Enable libstdc++ debugging facilities to help catch problems early, see
# http://crbug.com/65151 .
- # TODO(phajdan.jr): Should we enable this for all of POSIX?
-@@ -231,9 +231,7 @@ config("default_libs") {
+@@ -232,9 +232,7 @@ config("default_libs") {
]
} else if (is_linux || is_chromeos) {
libs = [
@@ -19,7 +19,7 @@
]
}
}
-@@ -316,7 +314,7 @@ config("executable_config") {
+@@ -313,7 +311,7 @@ config("executable_config") {
"//build/config/ios:ios_dynamic_flags",
"//build/config/ios:ios_executable_flags",
]
diff --git a/lang/v8/files/patch-build_config_BUILDCONFIG.gn b/lang/v8/files/patch-build_config_BUILDCONFIG.gn
index d06fbd3ddec1..a58edd5f70e8 100644
--- a/lang/v8/files/patch-build_config_BUILDCONFIG.gn
+++ b/lang/v8/files/patch-build_config_BUILDCONFIG.gn
@@ -1,19 +1,15 @@
---- build/config/BUILDCONFIG.gn.orig 2020-11-16 14:30:51 UTC
+--- build/config/BUILDCONFIG.gn.orig 2021-05-01 21:15:31 UTC
+++ build/config/BUILDCONFIG.gn
-@@ -131,10 +131,10 @@ declare_args() {
+@@ -131,7 +131,7 @@ declare_args() {
is_official_build = false
- # Whether we're a traditional desktop unix.
-- is_desktop_linux = current_os == "linux"
-+ is_desktop_linux = current_os == "linux" || current_os == "freebsd"
-
# Set to true when compiling with the Clang compiler.
- is_clang = current_os != "linux" ||
+ is_clang = current_os != "linux" || current_os == "freebsd" ||
(current_cpu != "s390x" && current_cpu != "s390" &&
current_cpu != "ppc64" && current_cpu != "ppc" &&
current_cpu != "mips" && current_cpu != "mips64")
-@@ -186,8 +186,8 @@ if (host_toolchain == "") {
+@@ -183,8 +183,8 @@ if (host_toolchain == "") {
# TODO(dpranke): Add some sort of assert here that verifies that
# no toolchain omitted host_toolchain from its toolchain_args().
@@ -24,7 +20,7 @@
host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
} else if (is_clang) {
host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
-@@ -224,7 +224,7 @@ if (target_os == "android") {
+@@ -221,7 +221,7 @@ if (target_os == "android") {
assert(host_os == "linux" || host_os == "mac",
"Android builds are only supported on Linux and Mac hosts.")
_default_toolchain = "//build/toolchain/android:android_clang_$target_cpu"
@@ -33,7 +29,7 @@
# See comments in build/toolchain/cros/BUILD.gn about board compiles.
if (is_clang) {
_default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
-@@ -288,10 +288,11 @@ is_android = current_os == "android"
+@@ -285,10 +285,11 @@ is_android = current_os == "android"
is_chromeos = current_os == "chromeos"
is_fuchsia = current_os == "fuchsia"
is_ios = current_os == "ios"
diff --git a/lang/v8/files/patch-build_config_compiler_BUILD.gn b/lang/v8/files/patch-build_config_compiler_BUILD.gn
index 35cd606c4e03..9f75619ad3f6 100644
--- a/lang/v8/files/patch-build_config_compiler_BUILD.gn
+++ b/lang/v8/files/patch-build_config_compiler_BUILD.gn
@@ -1,6 +1,6 @@
---- build/config/compiler/BUILD.gn.orig 2020-11-16 14:30:51 UTC
+--- build/config/compiler/BUILD.gn.orig 2021-05-01 21:15:31 UTC
+++ build/config/compiler/BUILD.gn
-@@ -128,7 +128,7 @@ declare_args() {
+@@ -132,7 +132,7 @@ declare_args() {
#
# TODO(crbug.com/977230): Enabling this when 'use_xcode_clang' is true may
# call an old clang that doesn't support auto-init.
@@ -9,7 +9,7 @@
# This argument is to control whether enabling text section splitting in the
# final binary. When enabled, the separated text sections with prefix
-@@ -291,7 +291,7 @@ config("compiler") {
+@@ -324,7 +324,7 @@ config("compiler") {
}
# Linker warnings.
@@ -17,8 +17,8 @@
+ if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix") {
ldflags += [ "-Wl,--fatal-warnings" ]
}
- if (fatal_linker_warnings && is_apple &&
-@@ -389,7 +389,7 @@ config("compiler") {
+ if (fatal_linker_warnings && is_apple) {
+@@ -419,7 +419,7 @@ config("compiler") {
# Compiler instrumentation can introduce dependencies in DSOs to symbols in
# the executable they are loaded into, so they are unresolved at link-time.
@@ -27,7 +27,7 @@
ldflags += [
"-Wl,-z,defs",
"-Wl,--as-needed",
-@@ -480,7 +480,7 @@ config("compiler") {
+@@ -509,7 +509,7 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
@@ -36,7 +36,7 @@
cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
cflags += [
-@@ -776,7 +776,7 @@ config("compiler_cpu_abi") {
+@@ -841,7 +841,7 @@ config("compiler_cpu_abi") {
cflags += [ "-mtune=$arm_tune" ]
}
} else if (current_cpu == "arm64") {
@@ -45,7 +45,7 @@
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
}
-@@ -1129,7 +1129,7 @@ config("compiler_deterministic") {
+@@ -1191,7 +1191,7 @@ config("compiler_deterministic") {
"-Xclang",
".",
]
@@ -54,7 +54,7 @@
# We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
}
-@@ -1512,7 +1512,7 @@ config("default_warnings") {
+@@ -1574,7 +1574,7 @@ config("default_warnings") {
cflags += [ "-Wno-nonportable-include-path" ]
}
@@ -63,16 +63,16 @@
# Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not
# recognize.
cflags += [
-@@ -1764,7 +1764,7 @@ config("thin_archive") {
- # Mac and iOS use the mac-specific "libtool" command, not ar, which doesn't
- # have a "thin archive" mode (it does accept -T, but it means truncating
- # archive names to 16 characters, which is not what we want).
-- if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
-+ if ((is_posix && !is_nacl && !is_apple && !is_bsd) || is_fuchsia) {
+@@ -1822,7 +1822,7 @@ config("export_dynamic") {
+ config("thin_archive") {
+ # The macOS and iOS default linker ld64 does not support reading thin
+ # archives.
+- if ((is_posix && !is_nacl && (!is_apple || use_lld)) || is_fuchsia) {
++ if ((is_posix && !is_nacl && (!is_apple || use_lld) && !is_bsd) || is_fuchsia) {
arflags = [ "-T" ]
} else if (is_win && use_lld) {
arflags = [ "/llvmlibthin" ]
-@@ -2297,7 +2297,7 @@ config("symbols") {
+@@ -2367,7 +2367,7 @@ config("symbols") {
# flag, so we can use use -g1 for pnacl and nacl-clang compiles.
# gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang.
if (!is_nacl || is_clang) {
@@ -81,7 +81,7 @@
}
# TODO(https://crbug.com/1050118): Investigate missing debug info on mac.
-@@ -2339,7 +2339,7 @@ config("symbols") {
+@@ -2400,7 +2400,7 @@ config("symbols") {
# DWARF info may be corrupt; offsets in a range list entry are in different
# sections" there. Maybe just a bug in nacl_switch_32.S.
if (!is_apple && !is_nacl && current_cpu != "x86" &&
diff --git a/lang/v8/files/patch-build_config_compiler_compiler.gni b/lang/v8/files/patch-build_config_compiler_compiler.gni
index 1106d32da150..aad060a3ebc4 100644
--- a/lang/v8/files/patch-build_config_compiler_compiler.gni
+++ b/lang/v8/files/patch-build_config_compiler_compiler.gni
@@ -1,11 +1,11 @@
---- build/config/compiler/compiler.gni.orig 2020-06-13 18:27:18 UTC
+--- build/config/compiler/compiler.gni.orig 2021-05-01 21:15:31 UTC
+++ build/config/compiler/compiler.gni
-@@ -176,7 +176,7 @@ declare_args() {
+@@ -201,7 +201,7 @@ declare_args() {
+
declare_args() {
# Whether to use the gold linker from binutils instead of lld or bfd.
- use_gold =
-- !use_lld && !(is_chromecast && is_linux &&
-+ !is_bsd && !use_lld && !(is_chromecast && is_linux &&
- (current_cpu == "arm" || current_cpu == "mipsel")) &&
- ((is_linux && (current_cpu == "x64" || current_cpu == "x86" ||
- current_cpu == "arm" || current_cpu == "arm64" ||
+- use_gold = !use_lld && !(is_chromecast && is_linux &&
++ use_gold = !use_lld && !is_bsd && !(is_chromecast && is_linux &&
+ (current_cpu == "arm" || current_cpu == "mipsel")) &&
+ (((is_linux || is_chromeos_lacros) &&
+ (current_cpu == "x64" || current_cpu == "x86" ||
diff --git a/lang/v8/files/patch-build_config_linux_BUILD.gn b/lang/v8/files/patch-build_config_linux_BUILD.gn
index e1ce0cbb1905..171a343ed558 100644
--- a/lang/v8/files/patch-build_config_linux_BUILD.gn
+++ b/lang/v8/files/patch-build_config_linux_BUILD.gn
@@ -1,8 +1,8 @@
---- build/config/linux/BUILD.gn.orig 2020-05-13 18:39:36 UTC
+--- build/config/linux/BUILD.gn.orig 2021-05-01 21:15:31 UTC
+++ build/config/linux/BUILD.gn
@@ -30,7 +30,7 @@ config("runtime_library") {
- if ((!(is_chromeos || chromeos_is_browser_only) ||
+ if ((!(is_chromeos_ash || is_chromeos_lacros) ||
default_toolchain != "//build/toolchain/cros:target") &&
- (!use_custom_libcxx || current_cpu == "mipsel")) {
+ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) {
diff --git a/lang/v8/files/patch-build_linux_chrome.map b/lang/v8/files/patch-build_linux_chrome.map
index 7465bc9773c5..f540509b3054 100644
--- a/lang/v8/files/patch-build_linux_chrome.map
+++ b/lang/v8/files/patch-build_linux_chrome.map
@@ -1,4 +1,4 @@
---- build/linux/chrome.map.orig 2019-03-11 22:00:52 UTC
+--- build/linux/chrome.map.orig 2021-05-01 21:15:31 UTC
+++ build/linux/chrome.map
@@ -1,4 +1,7 @@
{
@@ -19,10 +19,10 @@
# Memory allocation symbols. We want chrome and any libraries to
# share the same heap, so it is correct to export these symbols.
calloc;
-@@ -81,7 +88,4 @@ global:
- localtime64;
- localtime64_r;
+@@ -83,7 +90,4 @@ global:
localtime_r;
+
+ v8dbg_*;
-
-local:
- *;
diff --git a/lang/v8/files/patch-build_toolchain_gcc__toolchain.gni b/lang/v8/files/patch-build_toolchain_gcc__toolchain.gni
index 1c051a3a9547..b4ccef3ae135 100644
--- a/lang/v8/files/patch-build_toolchain_gcc__toolchain.gni
+++ b/lang/v8/files/patch-build_toolchain_gcc__toolchain.gni
@@ -1,6 +1,6 @@
---- build/toolchain/gcc_toolchain.gni.orig 2020-11-16 14:30:51 UTC
+--- build/toolchain/gcc_toolchain.gni.orig 2021-05-01 21:15:31 UTC
+++ build/toolchain/gcc_toolchain.gni
-@@ -50,6 +50,11 @@ if (enable_resource_allowlist_generation) {
+@@ -51,6 +51,11 @@ if (enable_resource_allowlist_generation) {
"enable_resource_allowlist_generation=true does not work for target_os=$target_os")
}
@@ -12,7 +12,7 @@
# This template defines a toolchain for something that works like gcc
# (including clang).
#
-@@ -641,13 +646,23 @@ template("clang_toolchain") {
+@@ -646,13 +651,23 @@ template("clang_toolchain") {
}
gcc_toolchain(target_name) {
diff --git a/lang/v8/files/patch-build_toolchain_get__concurrent__links.py b/lang/v8/files/patch-build_toolchain_get__concurrent__links.py
index 45bc3d0a520e..edf94a0e06b7 100644
--- a/lang/v8/files/patch-build_toolchain_get__concurrent__links.py
+++ b/lang/v8/files/patch-build_toolchain_get__concurrent__links.py
@@ -1,6 +1,6 @@
---- build/toolchain/get_concurrent_links.py.orig 2019-06-04 18:55:15 UTC
+--- build/toolchain/get_concurrent_links.py.orig 2021-05-01 21:15:31 UTC
+++ build/toolchain/get_concurrent_links.py
-@@ -48,6 +48,14 @@ def _GetTotalMemoryInBytes():
+@@ -53,6 +53,14 @@ def _GetTotalMemoryInBytes():
return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']))
except Exception:
return 0
diff --git a/lang/v8/files/patch-build_toolchain_linux_BUILD.gn b/lang/v8/files/patch-build_toolchain_linux_BUILD.gn
index 29b9160f7b07..08d5cf924d40 100644
--- a/lang/v8/files/patch-build_toolchain_linux_BUILD.gn
+++ b/lang/v8/files/patch-build_toolchain_linux_BUILD.gn
@@ -1,6 +1,6 @@
---- build/toolchain/linux/BUILD.gn.orig 2019-04-30 22:22:28 UTC
+--- build/toolchain/linux/BUILD.gn.orig 2021-05-01 21:15:31 UTC
+++ build/toolchain/linux/BUILD.gn
-@@ -22,7 +22,6 @@ clang_toolchain("clang_arm") {
+@@ -23,7 +23,6 @@ clang_toolchain("clang_arm") {
}
clang_toolchain("clang_arm64") {
diff --git a/lang/v8/files/patch-v8_include_v8config.h b/lang/v8/files/patch-include_v8config.h
index abb2e3cc1749..5b3e5a7df644 100644
--- a/lang/v8/files/patch-v8_include_v8config.h
+++ b/lang/v8/files/patch-include_v8config.h
@@ -1,8 +1,8 @@
---- include/v8config.h.orig 2020-03-03 18:55:34 UTC
+--- include/v8config.h.orig 2021-04-22 15:00:28 UTC
+++ include/v8config.h
-@@ -273,7 +273,18 @@
- # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
- (__has_attribute(warn_unused_result))
+@@ -293,7 +293,18 @@ path. Add it with -I<path> to the command line
+
+ # define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard))
+// Work around Clang bug present in 9.0.1, at least.
+//
diff --git a/lang/v8/files/patch-v8_src_api_api.cc b/lang/v8/files/patch-src_api_api.cc
index b583f93e3123..47244c44d1b6 100644
--- a/lang/v8/files/patch-v8_src_api_api.cc
+++ b/lang/v8/files/patch-src_api_api.cc
@@ -1,6 +1,6 @@
---- src/api/api.cc.orig 2020-05-13 18:41:59 UTC
+--- src/api/api.cc.orig 2021-04-22 15:00:28 UTC
+++ src/api/api.cc
-@@ -5726,7 +5726,7 @@ bool v8::V8::Initialize() {
+@@ -5694,7 +5694,7 @@ bool v8::V8::Initialize(const int build_config) {
return true;
}
@@ -8,4 +8,4 @@
+#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_FREEBSD
bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info,
void* context) {
- #if V8_TARGET_ARCH_X64 && !V8_OS_ANDROID
+ // When the target code runs on the V8 arm simulator, the trap handler does
diff --git a/lang/v8/files/patch-v8_src_base_cpu.cc b/lang/v8/files/patch-src_base_cpu.cc
index 1ee0e5c1abcc..65f51266f753 100644
--- a/lang/v8/files/patch-v8_src_base_cpu.cc
+++ b/lang/v8/files/patch-src_base_cpu.cc
@@ -1,6 +1,6 @@
---- src/base/cpu.cc.orig 2020-05-13 18:41:59 UTC
+--- src/base/cpu.cc.orig 2021-04-22 15:00:28 UTC
+++ src/base/cpu.cc
-@@ -427,6 +427,7 @@ CPU::CPU()
+@@ -545,6 +545,7 @@ CPU::CPU()
#if V8_OS_LINUX
@@ -8,7 +8,7 @@
CPUInfo cpu_info;
// Extract implementor from the "CPU implementer" field.
-@@ -460,6 +461,7 @@ CPU::CPU()
+@@ -578,6 +579,7 @@ CPU::CPU()
}
delete[] part;
}
diff --git a/lang/v8/files/patch-v8_src_base_platform_platform-freebsd.cc b/lang/v8/files/patch-src_base_platform_platform-freebsd.cc
index ed3a93e17053..0af7a6ed208b 100644
--- a/lang/v8/files/patch-v8_src_base_platform_platform-freebsd.cc
+++ b/lang/v8/files/patch-src_base_platform_platform-freebsd.cc
@@ -1,4 +1,4 @@
---- src/base/platform/platform-freebsd.cc.orig 2020-05-13 18:41:59 UTC
+--- src/base/platform/platform-freebsd.cc.orig 2021-04-22 15:00:28 UTC
+++ src/base/platform/platform-freebsd.cc
@@ -82,8 +82,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
lib_name = std::string(path);
diff --git a/lang/v8/files/patch-v8_src_base_platform_platform-posix.cc b/lang/v8/files/patch-src_base_platform_platform-posix.cc
index 60b6aa2f5eb4..1dc9654483a7 100644
--- a/lang/v8/files/patch-v8_src_base_platform_platform-posix.cc
+++ b/lang/v8/files/patch-src_base_platform_platform-posix.cc
@@ -1,6 +1,6 @@
---- src/base/platform/platform-posix.cc.orig 2020-05-13 18:41:59 UTC
+--- src/base/platform/platform-posix.cc.orig 2021-04-22 15:00:28 UTC
+++ src/base/platform/platform-posix.cc
-@@ -433,7 +433,7 @@ bool OS::DiscardSystemPages(void* address, size_t size
+@@ -478,7 +478,7 @@ bool OS::DiscardSystemPages(void* address, size_t size
// static
bool OS::HasLazyCommits() {
@@ -9,7 +9,7 @@
return true;
#else
// TODO(bbudge) Return true for all POSIX platforms.
-@@ -564,6 +564,12 @@ int OS::GetCurrentThreadId() {
+@@ -611,6 +611,12 @@ int OS::GetCurrentThreadId() {
return static_cast<int>(syscall(__NR_gettid));
#elif V8_OS_ANDROID
return static_cast<int>(gettid());
diff --git a/lang/v8/files/patch-src_objects_js-list-format.cc b/lang/v8/files/patch-src_objects_js-list-format.cc
deleted file mode 100644
index 6b78534db47e..000000000000
--- a/lang/v8/files/patch-src_objects_js-list-format.cc
+++ /dev/null
@@ -1,83 +0,0 @@
-https://github.com/v8/v8/commit/035c305ce7761f51328b45f1bd83e26aef267c9d
-
-../../src/objects/js-list-format.cc:145:55: error: 'createInstance' is a private member of 'icu::ListFormatter'
- icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
- ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
-/usr/local/include/unicode/listformatter.h:267:27: note: declared private here
- static ListFormatter* createInstance(const Locale& locale, const char* style, UErrorCode& errorCode);
- ^
-
---- src/objects/js-list-format.cc.orig 2020-11-11 06:36:03 UTC
-+++ src/objects/js-list-format.cc
-@@ -29,46 +29,27 @@ namespace v8 {
- namespace internal {
-
- namespace {
--const char* kStandard = "standard";
--const char* kOr = "or";
--const char* kUnit = "unit";
--const char* kStandardShort = "standard-short";
--const char* kOrShort = "or-short";
--const char* kUnitShort = "unit-short";
--const char* kStandardNarrow = "standard-narrow";
--const char* kOrNarrow = "or-narrow";
--const char* kUnitNarrow = "unit-narrow";
-
--const char* GetIcuStyleString(JSListFormat::Style style,
-- JSListFormat::Type type) {
-+UListFormatterWidth GetIcuWidth(JSListFormat::Style style) {
-+ switch (style) {
-+ case JSListFormat::Style::LONG:
-+ return ULISTFMT_WIDTH_WIDE;
-+ case JSListFormat::Style::SHORT:
-+ return ULISTFMT_WIDTH_SHORT;
-+ case JSListFormat::Style::NARROW:
-+ return ULISTFMT_WIDTH_NARROW;
-+ }
-+ UNREACHABLE();
-+}
-+
-+UListFormatterType GetIcuType(JSListFormat::Type type) {
- switch (type) {
- case JSListFormat::Type::CONJUNCTION:
-- switch (style) {
-- case JSListFormat::Style::LONG:
-- return kStandard;
-- case JSListFormat::Style::SHORT:
-- return kStandardShort;
-- case JSListFormat::Style::NARROW:
-- return kStandardNarrow;
-- }
-+ return ULISTFMT_TYPE_AND;
- case JSListFormat::Type::DISJUNCTION:
-- switch (style) {
-- case JSListFormat::Style::LONG:
-- return kOr;
-- case JSListFormat::Style::SHORT:
-- return kOrShort;
-- case JSListFormat::Style::NARROW:
-- return kOrNarrow;
-- }
-+ return ULISTFMT_TYPE_OR;
- case JSListFormat::Type::UNIT:
-- switch (style) {
-- case JSListFormat::Style::LONG:
-- return kUnit;
-- case JSListFormat::Style::SHORT:
-- return kUnitShort;
-- case JSListFormat::Style::NARROW:
-- return kUnitNarrow;
-- }
-+ return ULISTFMT_TYPE_UNITS;
- }
- UNREACHABLE();
- }
-@@ -143,7 +124,7 @@ MaybeHandle<JSListFormat> JSListFormat::New(Isolate* i
- icu::Locale icu_locale = r.icu_locale;
- UErrorCode status = U_ZERO_ERROR;
- icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
-- icu_locale, GetIcuStyleString(style_enum, type_enum), status);
-+ icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status);
- if (U_FAILURE(status) || formatter == nullptr) {
- delete formatter;
- THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError),
diff --git a/lang/v8/files/v8.pc b/lang/v8/files/v8.pc.in
index 8d9970831e04..8d9970831e04 100644
--- a/lang/v8/files/v8.pc
+++ b/lang/v8/files/v8.pc.in
diff --git a/lang/v8/files/v8_libbase.pc b/lang/v8/files/v8_libbase.pc.in
index 171cd2e2112d..171cd2e2112d 100644
--- a/lang/v8/files/v8_libbase.pc
+++ b/lang/v8/files/v8_libbase.pc.in
diff --git a/lang/v8/files/v8_libplatform.pc b/lang/v8/files/v8_libplatform.pc.in
index 43708a89a9bd..43708a89a9bd 100644
--- a/lang/v8/files/v8_libplatform.pc
+++ b/lang/v8/files/v8_libplatform.pc.in
diff --git a/lang/v8/pkg-descr b/lang/v8/pkg-descr
index 8992a1120350..5741ecfbf224 100644
--- a/lang/v8/pkg-descr
+++ b/lang/v8/pkg-descr
@@ -1,14 +1,14 @@
-V8 is Google's open source JavaScript engine.
+V8 is Google's open source high-performance JavaScript and WebAssembly engine,
+written in C++. It is used in Chrome and in Node.js, among others.
-V8 is written in C++ and is used in Google Chrome, the open source browser from
-Google.
+V8 implements ECMAScript and WebAssembly. V8 can run standalone, or can be
+embedded into any C++ application.
-V8 implements ECMAScript as specified in ECMA-262, 5th edition, and runs on
-Windows (XP or newer), Mac OS X (10.5 or newer), and Linux systems that use
-IA-32, x64, or ARM processors.
+V8 compiles and executes JavaScript source code, handles memory allocation for
+objects, and garbage collects objects it no longer needs. V8's stop-the-world,
+generational, accurate garbage collector is one of the keys to V8's performance.
-V8 can run standalone, or can be embedded into any C++ application.
+V8's Git repository is located at https://chromium.googlesource.com/v8/v8.git,
+with an official mirror on GitHub: https://github.com/v8/v8.
-Git repository at https://github.com/v8/v8
-
-WWW: http://code.google.com/p/v8/
+WWW: https://v8.dev/
diff --git a/lang/v8/pkg-plist b/lang/v8/pkg-plist
index 6eea3be81c3d..a40ffaf02766 100644
--- a/lang/v8/pkg-plist
+++ b/lang/v8/pkg-plist
@@ -1,9 +1,16 @@
bin/d8
+bin/mkgrokdump
+bin/mksnapshot
include/cppgc/allocation.h
include/cppgc/common.h
+include/cppgc/cross-thread-persistent.h
include/cppgc/custom-space.h
include/cppgc/default-platform.h
+include/cppgc/ephemeron-pair.h
include/cppgc/garbage-collected.h
+include/cppgc/heap-consistency.h
+include/cppgc/heap-state.h
+include/cppgc/heap-statistics.h
include/cppgc/heap.h
include/cppgc/internal/api-constants.h
include/cppgc/internal/atomic-entry-flag.h
@@ -12,18 +19,23 @@ include/cppgc/internal/compiler-specific.h
include/cppgc/internal/finalizer-trait.h
include/cppgc/internal/gc-info.h
include/cppgc/internal/logging.h
+include/cppgc/internal/name-trait.h
include/cppgc/internal/persistent-node.h
include/cppgc/internal/pointer-policies.h
include/cppgc/internal/prefinalizer-handler.h
-include/cppgc/internal/process-heap.h
include/cppgc/internal/write-barrier.h
include/cppgc/liveness-broker.h
include/cppgc/macros.h
include/cppgc/member.h
+include/cppgc/name-provider.h
+include/cppgc/object-size-trait.h
include/cppgc/persistent.h
include/cppgc/platform.h
include/cppgc/prefinalizer.h
+include/cppgc/process-heap-statistics.h
+include/cppgc/sentinel-pointer.h
include/cppgc/source-location.h
+include/cppgc/testing.h
include/cppgc/trace-trait.h
include/cppgc/type-traits.h
include/cppgc/visitor.h
@@ -38,6 +50,7 @@ include/v8-internal.h
include/v8-metrics.h
include/v8-platform.h
include/v8-profiler.h
+include/v8-unwinder-state.h
include/v8-util.h
include/v8-value-serializer-version.h
include/v8-version-string.h
@@ -46,10 +59,11 @@ include/v8-wasm-trap-handler-posix.h
include/v8-wasm-trap-handler-win.h
include/v8.h
include/v8config.h
+lib/libchrome_zlib.so
+lib/libcppgc.so
lib/libv8.so
lib/libv8_libbase.so
lib/libv8_libplatform.so
-lib/libchrome_zlib.so
libdata/pkgconfig/v8.pc
libdata/pkgconfig/v8_libbase.pc
libdata/pkgconfig/v8_libplatform.pc