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
This commit is contained in:
Po-Chuan Hsieh
2021-05-12 05:14:34 +08:00
parent 0b84b9ab39
commit 4b783f69ff
23 changed files with 171 additions and 320 deletions

View File

@@ -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
BINARY_ALIAS= python=${PYTHON_CMD}
MAKE_ARGS= -C out/Release
USE_LDCONFIG= yes
SUB_FILES= v8.pc v8_libbase.pc v8_libplatform.pc
USE_GITHUB= yes
# We follow the stable channel on https://omahaproxy.appspot.com/
PORTSCOUT= ignore:1
# 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
BUILDTYPE= Release
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>

View File

@@ -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

View File

@@ -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",
]

View File

@@ -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",
]

View File

@@ -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"

View File

@@ -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" &&

View File

@@ -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" ||

View File

@@ -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) {

View File

@@ -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:
- *;

View File

@@ -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) {

View File

@@ -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

View File

@@ -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") {

View File

@@ -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.
+//

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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());

View File

@@ -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),

View File

@@ -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/

View File

@@ -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