Index: lang/v8/Makefile =================================================================== --- lang/v8/Makefile (revision 539541) +++ lang/v8/Makefile (working copy) @@ -1,67 +1,125 @@ -# Created by: siasia # $FreeBSD$ PORTNAME= v8 -PORTVERSION= 3.18.5 -PORTREVISION= 8 +DISTVERSION= 8.5.145 CATEGORIES= lang -MASTER_SITES= LOCAL/vanilla +MASTER_SITES= http://mikael.urankar.free.fr/FreeBSD/v8/:build \ + http://mikael.urankar.free.fr/FreeBSD/v8/:buildtools \ + http://mikael.urankar.free.fr/FreeBSD/v8/:clang \ + http://mikael.urankar.free.fr/FreeBSD/v8/:common \ + http://mikael.urankar.free.fr/FreeBSD/v8/:gmock \ + http://mikael.urankar.free.fr/FreeBSD/v8/:icu \ + http://mikael.urankar.free.fr/FreeBSD/v8/:perfetto \ + http://mikael.urankar.free.fr/FreeBSD/v8/:zlib +# # XXX sha256 changes everytime you download the archive +#MASTER_SITES= https://chromium.googlesource.com/chromium/src/build.git/+archive/:build \ +# https://chromium.googlesource.com/chromium/src/buildtools.git/+archive/:buildtools \ +# https://chromium.googlesource.com/chromium/src/tools/clang.git/+archive/:clang \ +# https://chromium.googlesource.com/chromium/src/base/trace_event/common.git/+archive/:common \ +# https://chromium.googlesource.com/external/github.com/google/googletest.git/+archive/:gmock \ +# https://chromium.googlesource.com/chromium/deps/icu.git/+archive/:icu \ +# https://android.googlesource.com/platform/external/perfetto.git/+archive/:perfetto \ +# https://chromium.googlesource.com/chromium/src/third_party/zlib.git/+archive/:zlib +DISTFILES= build-${BUILD_REV}.tar.gz:build \ + buildtools-${BUILDTOOLS_REV}.tar.gz:buildtools \ + clang-${CLANG_REV}.tar.gz:clang \ + common-${COMMON_REV}.tar.gz:common \ + gmock-${GMOCK_REV}.tar.gz:gmock \ + icu-${ICU_REV}.tar.gz:icu \ + perfetto-${PERFETTO_REV}.tar.gz:perfetto \ + zlib-${ZLIB_REV}.tar.gz:zlib +EXTRACT_ONLY= ${DISTNAME}.tar.gz MAINTAINER= sunpoet@FreeBSD.org COMMENT= Open source JavaScript engine by Google LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE -CONFLICTS_INSTALL= v8-devel-[0-9]* +# clang10+ is required, hardcoded in files/patch-build_toolchain_gcc__toolchain.gni +BUILD_DEPENDS= binutils>0:devel/binutils \ + gn:devel/chromium-gn \ + glib>0:devel/glib20 \ + ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ + llvm10>0:devel/llvm10 -ONLY_FOR_ARCHS= i386 amd64 +USES= pkgconfig ninja python:2.7,build tar:xz +USE_GITHUB= yes +USE_LDCONFIG= yes -PORTSCOUT= limit:^3.18.* +# see ${WRKSRC}/DEPS +BUILD_REV= 8038ef2827d0bc23ac85450a91b0a2a413944a24 +BUILDTOOLS_REV= 574cbd5df82c6ae48805b2aa8d75e0ef76aa15aa +CLANG_REV= 5e1d63a7e37e51596de0d3c01e239ff8919b5d6e +COMMON_REV= ef3586804494b7e402b6c1791d5dccdf2971afff +GMOCK_REV= 4fe018038f87675c083d0cfb6a6b57c274fb1753 +ICU_REV= 46f53dfc09c520b7c520a089ca473bb0ee29c07e +PERFETTO_REV= ff70e0d273ed10995866c803f23e11250eb3dc52 +ZLIB_REV= a68151fd9b9f5ad11b96a3765f706361ff22dbc8 -ALL_TARGET= native -MAKE_ARGS= library=shared -MAKE_ENV= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} -USE_LDCONFIG= yes -USES= alias compiler cpe gmake python:2.7 shebangfix tar:xz +BUILDTYPE= Release -CPE_VENDOR= google +BINARY_ALIAS= python=${PYTHON_CMD} -SHEBANG_FILES= build/gyp/gyp +# 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 \ + is_clang=true \ + treat_warnings_as_errors=false \ + use_aura=true \ + use_lld=true \ + extra_cxxflags="${CXXFLAGS}" \ + extra_ldflags="${LDFLAGS}" -.include +MAKE_ARGS= -C out/${BUILDTYPE} -.if ${COMPILER_TYPE} == clang -CXXFLAGS+= -Wno-nested-anon-types -Wno-unused-function -Wno-unused-private-field -MAKE_ENV+= LINK=clang++ -.if ${COMPILER_VERSION} >= 34 -CXXFLAGS+= -Wno-unused-const-variable -.if ${COMPILER_VERSION} >= 35 -CXXFLAGS+= -Wno-tautological-undefined-compare -.if ${COMPILER_VERSION} >= 36 -CXXFLAGS+= -Wno-unused-local-typedef -.if ${COMPILER_VERSION} >= 60 -CXXFLAGS+= -Wno-null-pointer-arithmetic -Wno-vexing-parse -EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-stub-cache.cc -.endif -.endif -.endif -.endif -.else -MAKE_ARGS+= strictaliasing=off -USE_GCC= any -.endif +post-extract: + ${MKDIR} \ + ${WRKSRC}/base/trace_event/common \ + ${WRKSRC}/build \ + ${WRKSRC}/buildtools \ + ${WRKSRC}/third_party/googletest/src \ + ${WRKSRC}/third_party/icu \ + ${WRKSRC}/third_party/perfetto \ + ${WRKSRC}/third_party/zlib \ + ${WRKSRC}/tools/clang + ${TAR} -xf ${DISTDIR}/build-${BUILD_REV}.tar.gz -C ${WRKSRC}/build + ${TAR} -xf ${DISTDIR}/buildtools-${BUILDTOOLS_REV}.tar.gz -C ${WRKSRC}/buildtools + ${TAR} -xf ${DISTDIR}/clang-${CLANG_REV}.tar.gz -C ${WRKSRC}/tools/clang + ${TAR} -xf ${DISTDIR}/common-${COMMON_REV}.tar.gz -C ${WRKSRC}/base/trace_event/common + ${TAR} -xf ${DISTDIR}/gmock-${GMOCK_REV}.tar.gz -C ${WRKSRC}/third_party/googletest/src + ${TAR} -xf ${DISTDIR}/icu-${ICU_REV}.tar.gz -C ${WRKSRC}/third_party/icu + ${TAR} -xf ${DISTDIR}/zlib-${ZLIB_REV}.tar.gz -C ${WRKSRC}/third_party/zlib post-patch: - @${REINPLACE_CMD} -e 's|test/cctest/cctest.gyp||' ${WRKSRC}/Makefile - @${REINPLACE_CMD} -e '/test\/cctest\/cctest.gyp/d' ${WRKSRC}/build/all.gyp - @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/build/common.gypi ${WRKSRC}/tools/gyp/v8.gyp - @${REINPLACE_CMD} -e 's, | MAP_NORESERVE,,' ${WRKSRC}/src/platform-freebsd.cc - @${REINPLACE_CMD} -e 's|python|${PYTHON_CMD}|' ${WRKSRC}/tools/gyp/v8.gyp + ${REINPLACE_CMD} "s|%%LOCALBASE%%|${LOCALBASE}|" \ + ${WRKSRC}/build/toolchain/gcc_toolchain.gni +do-configure: + @${ECHO_CMD} 'is_clang=true' > ${WRKSRC}/build/args/release.gn + @${ECHO_CMD} 'treat_warnings_as_errors=false' >> ${WRKSRC}/build/args/release.gn + @${ECHO_CMD} 'use_custom_libcxx=false' >> ${WRKSRC}/build/args/release.gn + @${ECHO_CMD} 'use_lld=true' >> ${WRKSRC}/build/args/release.gn + @${ECHO_CMD} 'extra_cxxflags="-I${PREFIX}/include"' >> ${WRKSRC}/build/args/release.gn + @${ECHO_CMD} 'extra_ldflags="-L${PREFIX}/lib"' >> ${WRKSRC}/build/args/release.gn + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out/${BUILDTYPE} \ + --args='import("//build/args/release.gn") ${GN_ARGS}' do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/out/native/d8 ${STAGEDIR}${PREFIX}/bin/d8 - cd ${WRKSRC}/include/ && ${INSTALL_DATA} *.h ${STAGEDIR}${PREFIX}/include/ - ${INSTALL_LIB} ${WRKSRC}/out/native/lib.target/libv8.so ${STAGEDIR}${PREFIX}/lib/libv8.so.1 - ${LN} -fs ${PREFIX}/lib/libv8.so.1 ${STAGEDIR}${PREFIX}/lib/libv8.so + ${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 -.include + ${INSTALL_DATA} ${WRKSRC}/include/*.h ${STAGEDIR}${PREFIX}/include/ + ${MKDIR} ${STAGEDIR}${PREFIX}/include/libplatform/ + ${INSTALL_DATA} ${WRKSRC}/include/libplatform/*.h ${STAGEDIR}${PREFIX}/include/libplatform/ + ${INSTALL_DATA} ${FILESDIR}/*.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig + ${REINPLACE_CMD} "s|%%PREFIX%%|${PREFIX}|" \ + ${STAGEDIR}${PREFIX}/libdata/pkgconfig/* + +.include Index: lang/v8/distinfo =================================================================== --- lang/v8/distinfo (revision 539541) +++ lang/v8/distinfo (working copy) @@ -1,2 +1,19 @@ -SHA256 (v8-3.18.5.tar.xz) = badfa55867887e4fef68161dc877aac5e9d19c6dddb7e96b8d6f7084de711b71 -SIZE (v8-3.18.5.tar.xz) = 8727400 +TIMESTAMP = 1592416014 +SHA256 (build-8038ef2827d0bc23ac85450a91b0a2a413944a24.tar.gz) = 4aed0dd7e22ce04c2ca9a494c72fbb3cb700ecb8e7c2a784cc6915f05ac3e355 +SIZE (build-8038ef2827d0bc23ac85450a91b0a2a413944a24.tar.gz) = 1204344 +SHA256 (buildtools-574cbd5df82c6ae48805b2aa8d75e0ef76aa15aa.tar.gz) = 56ce3c7d545ee6b9629ca470f2ee716c809047e78819153f5702ee7331e31b66 +SIZE (buildtools-574cbd5df82c6ae48805b2aa8d75e0ef76aa15aa.tar.gz) = 86391 +SHA256 (clang-5e1d63a7e37e51596de0d3c01e239ff8919b5d6e.tar.gz) = 6fb2cb105a1a262d29b5740b8216b3428492b33c03930af495a17e071edbc004 +SIZE (clang-5e1d63a7e37e51596de0d3c01e239ff8919b5d6e.tar.gz) = 263915 +SHA256 (common-ef3586804494b7e402b6c1791d5dccdf2971afff.tar.gz) = 112f2d82316830cbbbdfd4a89b0df647676753ed654e0351f0db99c9b23139f1 +SIZE (common-ef3586804494b7e402b6c1791d5dccdf2971afff.tar.gz) = 9980 +SHA256 (gmock-4fe018038f87675c083d0cfb6a6b57c274fb1753.tar.gz) = c407b7cdcb9b762ee3ee266f11a8243a4c2450f000bf14e1933d75ceb8ddd76c +SIZE (gmock-4fe018038f87675c083d0cfb6a6b57c274fb1753.tar.gz) = 863491 +SHA256 (icu-46f53dfc09c520b7c520a089ca473bb0ee29c07e.tar.gz) = 8198f22522d33e0339ecd6a114876c47d6c864c7a96319d0d035ed235e24f1d3 +SIZE (icu-46f53dfc09c520b7c520a089ca473bb0ee29c07e.tar.gz) = 43209997 +SHA256 (perfetto-ff70e0d273ed10995866c803f23e11250eb3dc52.tar.gz) = 7040abc5c8f5628ec540b208b1ff0cf458baeaf09ad445d30280175c213f1779 +SIZE (perfetto-ff70e0d273ed10995866c803f23e11250eb3dc52.tar.gz) = 4198649 +SHA256 (zlib-a68151fd9b9f5ad11b96a3765f706361ff22dbc8.tar.gz) = 3613d81827e569f1b6fb873933586204460b3c374189d549f332375b7e5431b7 +SIZE (zlib-a68151fd9b9f5ad11b96a3765f706361ff22dbc8.tar.gz) = 301126 +SHA256 (v8-v8-8.5.145_GH0.tar.gz) = 0c5d78927f7d43271176c2518f436056cba6b7b7ea13bac83aceb1d1644533b6 +SIZE (v8-v8-8.5.145_GH0.tar.gz) = 25662202 Index: lang/v8/files/patch-build_config_BUILD.gn =================================================================== --- lang/v8/files/patch-build_config_BUILD.gn (nonexistent) +++ lang/v8/files/patch-build_config_BUILD.gn (working copy) @@ -0,0 +1,30 @@ +--- build/config/BUILD.gn.orig 2020-05-13 18:39:35 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 && current_cpu == "x64" && enable_iterator_debugging) { ++ } else if ((is_linux || 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") { + ] + } else if (is_linux) { + libs = [ +- "dl", + "pthread", +- "rt", + ] + } + } +@@ -316,7 +314,7 @@ config("executable_config") { + "//build/config/ios:ios_dynamic_flags", + "//build/config/ios:ios_executable_flags", + ] +- } else if (is_linux || is_android || current_os == "aix") { ++ } else if (is_linux || is_bsd || is_android || current_os == "aix") { + configs += [ "//build/config/gcc:executable_config" ] + if (is_chromecast) { + configs += [ "//build/config/chromecast:executable_config" ] Property changes on: lang/v8/files/patch-build_config_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_config_BUILDCONFIG.gn =================================================================== --- lang/v8/files/patch-build_config_BUILDCONFIG.gn (nonexistent) +++ lang/v8/files/patch-build_config_BUILDCONFIG.gn (working copy) @@ -0,0 +1,48 @@ +--- build/config/BUILDCONFIG.gn.orig 2019-06-04 18:55:15 UTC ++++ build/config/BUILDCONFIG.gn +@@ -131,10 +131,10 @@ 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 == "") { + # TODO(dpranke): Add some sort of assert here that verifies that + # no toolchain omitted host_toolchain from its toolchain_args(). + +- if (host_os == "linux") { +- if (target_os != "linux") { ++ if (host_os == "linux" || host_os == "freebsd") { ++ if (target_os != "linux" && target_os != "freebsd") { + 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") { + 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" +-} else if (target_os == "chromeos" || target_os == "linux") { ++} else if (target_os == "chromeos" || target_os == "linux" || target_os == "freebsd") { + # 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" + is_chromeos = current_os == "chromeos" + is_fuchsia = current_os == "fuchsia" + is_ios = current_os == "ios" +-is_linux = current_os == "chromeos" || current_os == "linux" ++is_linux = current_os == "chromeos" || current_os == "linux" || current_os == "freebsd" + is_mac = current_os == "mac" + is_nacl = current_os == "nacl" + is_win = current_os == "win" || current_os == "winuwp" ++is_bsd = current_os == "freebsd" + + is_posix = !is_win && !is_fuchsia + Property changes on: lang/v8/files/patch-build_config_BUILDCONFIG.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_config_compiler_BUILD.gn =================================================================== --- lang/v8/files/patch-build_config_compiler_BUILD.gn (nonexistent) +++ lang/v8/files/patch-build_config_compiler_BUILD.gn (working copy) @@ -0,0 +1,92 @@ +--- build/config/compiler/BUILD.gn.orig 2020-06-03 18:40:10 UTC ++++ build/config/compiler/BUILD.gn +@@ -138,7 +138,7 @@ declare_args() { + # 'is_android' breaks content_shell_test_apk on android-kitkat-arm-rel. + # 'use_xcode_clang' may call old clang. + init_stack_vars = +- !is_android && !use_xcode_clang && (!is_official_build || is_linux) ++ !is_android && !use_xcode_clang && (!is_official_build || is_linux) && !is_bsd + + # This argument is to control whether enabling text section splitting in the + # final binary. When enabled, the separated text sections with prefix +@@ -307,7 +307,7 @@ config("compiler") { + } + + # Linker warnings. +- if (fatal_linker_warnings && !is_mac && !is_ios && current_os != "aix") { ++ if (fatal_linker_warnings && !is_mac && !is_ios && !is_bsd && current_os != "aix") { + ldflags += [ "-Wl,--fatal-warnings" ] + } + if (fatal_linker_warnings && (is_mac || is_ios)) { +@@ -401,7 +401,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. +- if (!using_sanitizer) { ++ if (!using_sanitizer && !is_bsd) { + ldflags += [ + "-Wl,-z,defs", + "-Wl,--as-needed", +@@ -500,7 +500,7 @@ config("compiler") { + ldflags += [ "-Wl,-z,keep-text-section-prefix" ] + } + +- if (is_clang && !is_nacl && !use_xcode_clang) { ++ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) { + cflags += [ "-fcrash-diagnostics-dir=" + + rebase_path("//tools/clang/crashreports", root_build_dir) ] + +@@ -770,7 +770,7 @@ config("compiler_cpu_abi") { + cflags += [ "-mtune=$arm_tune" ] + } + } else if (current_cpu == "arm64") { +- if (is_clang && !is_android && !is_nacl && !is_fuchsia) { ++ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) { + cflags += [ "--target=aarch64-linux-gnu" ] + ldflags += [ "--target=aarch64-linux-gnu" ] + } +@@ -1120,7 +1120,7 @@ config("compiler_deterministic") { + "-Xclang", + ".", + ] +- if (!is_win) { ++ if (!is_win && !is_bsd) { + # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) + asmflags = [ "-Wa,-fdebug-compilation-dir,." ] + } +@@ -1503,7 +1503,7 @@ config("default_warnings") { + cflags += [ "-Wno-nonportable-include-path" ] + } + +- if (current_toolchain == host_toolchain || !use_xcode_clang) { ++ if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) { + # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not + # recognize. + cflags += [ +@@ -1753,7 +1753,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_mac && !is_ios) || is_fuchsia) { ++ if ((is_posix && !is_nacl && !is_mac && !is_ios && !is_bsd) || is_fuchsia) { + arflags = [ "-T" ] + } else if (is_win && use_lld) { + arflags = [ "/llvmlibthin" ] +@@ -2277,7 +2277,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) { +- cflags += [ "-g2" ] ++ cflags += [ "-g0" ] + } + + if (is_clang && !is_nacl && !use_xcode_clang) { +@@ -2305,7 +2305,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_mac && !is_ios && !is_nacl && current_cpu != "x86" && +- (use_gold || use_lld)) { ++ (use_gold || use_lld) && !is_bsd) { + if (is_clang) { + # This flag enables the GNU-format pubnames and pubtypes sections, + # which lld needs in order to generate a correct GDB index. Property changes on: lang/v8/files/patch-build_config_compiler_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_config_compiler_compiler.gni =================================================================== --- lang/v8/files/patch-build_config_compiler_compiler.gni (nonexistent) +++ lang/v8/files/patch-build_config_compiler_compiler.gni (working copy) @@ -0,0 +1,11 @@ +--- build/config/compiler/compiler.gni.orig 2020-06-13 18:27:18 UTC ++++ build/config/compiler/compiler.gni +@@ -176,7 +176,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" || Property changes on: lang/v8/files/patch-build_config_compiler_compiler.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_config_features.gni =================================================================== --- lang/v8/files/patch-build_config_features.gni (nonexistent) +++ lang/v8/files/patch-build_config_features.gni (working copy) @@ -0,0 +1,11 @@ +--- build/config/features.gni.orig 2019-10-21 19:06:18 UTC ++++ build/config/features.gni +@@ -26,7 +26,7 @@ declare_args() { + proprietary_codecs = is_chrome_branded || is_chromecast + + # libudev usage. This currently only affects the content layer. +- use_udev = is_linux && !is_chromecast ++ use_udev = is_linux && !is_chromecast && !is_bsd + + use_dbus = is_linux && !is_chromecast + Property changes on: lang/v8/files/patch-build_config_features.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_config_freetype_freetype.gni =================================================================== --- lang/v8/files/patch-build_config_freetype_freetype.gni (nonexistent) +++ lang/v8/files/patch-build_config_freetype_freetype.gni (working copy) @@ -0,0 +1,9 @@ +--- build/config/freetype/freetype.gni.orig 2019-03-18 08:59:45 UTC ++++ build/config/freetype/freetype.gni +@@ -10,5 +10,5 @@ declare_args() { + # than version 2.7.1 and have color bitmap support compiled in. WARNING: + # System FreeType configurations other than as described WILL INTRODUCE TEXT + # RENDERING AND SECURITY REGRESSIONS. +- use_system_freetype = false ++ use_system_freetype = true + } Property changes on: lang/v8/files/patch-build_config_freetype_freetype.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_config_linux_BUILD.gn =================================================================== --- lang/v8/files/patch-build_config_linux_BUILD.gn (nonexistent) +++ lang/v8/files/patch-build_config_linux_BUILD.gn (working copy) @@ -0,0 +1,11 @@ +--- build/config/linux/BUILD.gn.orig 2020-05-13 18:39:36 UTC ++++ build/config/linux/BUILD.gn +@@ -30,7 +30,7 @@ config("runtime_library") { + + if ((!(is_chromeos || chromeos_is_browser_only) || + default_toolchain != "//build/toolchain/cros:target") && +- (!use_custom_libcxx || current_cpu == "mipsel")) { ++ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { + libs = [ "atomic" ] + } + } Property changes on: lang/v8/files/patch-build_config_linux_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_config_linux_pkg-config.py =================================================================== --- lang/v8/files/patch-build_config_linux_pkg-config.py (nonexistent) +++ lang/v8/files/patch-build_config_linux_pkg-config.py (working copy) @@ -0,0 +1,26 @@ +--- build/config/linux/pkg-config.py.orig 2019-07-24 18:58:02 UTC ++++ build/config/linux/pkg-config.py +@@ -59,8 +59,12 @@ def SetConfigPath(options): + print("You must specify an architecture via -a if using a sysroot.") + sys.exit(1) + +- libdir = sysroot + '/usr/' + options.system_libdir + '/pkgconfig' +- libdir += ':' + sysroot + '/usr/share/pkgconfig' ++ if "linux" in sys.platform: ++ libdir = sysroot + '/libdata/' + options.system_libdir + '/pkgconfig' ++ libdir += ':' + sysroot + '/usr/share/pkgconfig' ++ elif "bsd" in sys.platform: ++ libdir = sysroot + '/libdata/pkgconfig' ++ libdir += ':' + '/usr/libdata/pkgconfig' + os.environ['PKG_CONFIG_LIBDIR'] = libdir + return libdir + +@@ -109,7 +113,7 @@ def main(): + # If this is run on non-Linux platforms, just return nothing and indicate + # success. This allows us to "kind of emulate" a Linux build from other + # platforms. +- if "linux" not in sys.platform: ++ if "bsd" not in sys.platform: + print("[[],[],[],[],[]]") + return 0 + Property changes on: lang/v8/files/patch-build_config_linux_pkg-config.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_config_sysroot.gni =================================================================== --- lang/v8/files/patch-build_config_sysroot.gni (nonexistent) +++ lang/v8/files/patch-build_config_sysroot.gni (working copy) @@ -0,0 +1,14 @@ +--- build/config/sysroot.gni.orig 2020-05-13 18:39:36 UTC ++++ build/config/sysroot.gni +@@ -21,9 +21,9 @@ declare_args() { + + # Controls default is_linux sysroot. If set to true, and sysroot + # is empty, default sysroot is calculated. +- use_sysroot = current_cpu == "x86" || current_cpu == "x64" || ++ use_sysroot = !is_bsd && (current_cpu == "x86" || current_cpu == "x64" || + current_cpu == "arm" || current_cpu == "arm64" || +- current_cpu == "mipsel" || current_cpu == "mips64el" ++ current_cpu == "mipsel" || current_cpu == "mips64el") + } + + if (sysroot == "") { Property changes on: lang/v8/files/patch-build_config_sysroot.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_detect__host__arch.py =================================================================== --- lang/v8/files/patch-build_detect__host__arch.py (nonexistent) +++ lang/v8/files/patch-build_detect__host__arch.py (working copy) @@ -0,0 +1,11 @@ +--- build/detect_host_arch.py.orig 2019-07-24 18:58:02 UTC ++++ build/detect_host_arch.py +@@ -21,6 +21,8 @@ def HostArch(): + host_arch = 'ia32' + elif host_arch in ['x86_64', 'amd64']: + host_arch = 'x64' ++ elif host_arch.startswith('arm64'): ++ host_arch = 'arm64' + elif host_arch.startswith('arm'): + host_arch = 'arm' + elif host_arch.startswith('aarch64'): Property changes on: lang/v8/files/patch-build_detect__host__arch.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_gn__run__binary.py =================================================================== --- lang/v8/files/patch-build_gn__run__binary.py (nonexistent) +++ lang/v8/files/patch-build_gn__run__binary.py (working copy) @@ -0,0 +1,11 @@ +--- build/gn_run_binary.py.orig 2019-07-24 18:58:02 UTC ++++ build/gn_run_binary.py +@@ -24,7 +24,7 @@ if not os.path.isabs(path): + # The rest of the arguments are passed directly to the executable. + args = [path] + sys.argv[2:] + +-ret = subprocess.call(args) ++ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome"}) + if ret != 0: + if ret <= -100: + # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to Property changes on: lang/v8/files/patch-build_gn__run__binary.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_linux_chrome.map =================================================================== --- lang/v8/files/patch-build_linux_chrome.map (nonexistent) +++ lang/v8/files/patch-build_linux_chrome.map (working copy) @@ -0,0 +1,29 @@ +--- build/linux/chrome.map.orig 2019-03-11 22:00:52 UTC ++++ build/linux/chrome.map +@@ -1,4 +1,7 @@ + { ++local: ++ *; ++ + global: + __bss_start; + __data_start; +@@ -20,6 +23,10 @@ global: + # Program entry point. + _start; + ++ # FreeBSD specific variables. ++ __progname; ++ environ; ++ + # 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; + localtime_r; +- +-local: +- *; + }; Property changes on: lang/v8/files/patch-build_linux_chrome.map ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_linux_libpci_BUILD.gn =================================================================== --- lang/v8/files/patch-build_linux_libpci_BUILD.gn (nonexistent) +++ lang/v8/files/patch-build_linux_libpci_BUILD.gn (working copy) @@ -0,0 +1,53 @@ +--- build/linux/libpci/BUILD.gn.orig 2019-03-11 22:00:52 UTC ++++ build/linux/libpci/BUILD.gn +@@ -3,20 +3,36 @@ + # found in the LICENSE file. + + import("//tools/generate_library_loader/generate_library_loader.gni") ++import("//build/config/linux/pkg_config.gni") + +-# This generates a target named "libpci". +-generate_library_loader("libpci") { +- name = "LibPciLoader" +- output_h = "libpci.h" +- output_cc = "libpci_loader.cc" +- header = "" ++declare_args() { ++ use_system_libpci = is_bsd ++} + +- functions = [ +- "pci_alloc", +- "pci_init", +- "pci_cleanup", +- "pci_scan_bus", +- "pci_fill_info", +- "pci_lookup_name", +- ] ++if (use_system_libpci) { ++ pkg_config("system_libpci") { ++ packages = [ "libpci" ] ++ } ++ ++ source_set("libpci") { ++ public_configs = [ ":system_libpci" ] ++ } ++ ++} else { ++ # This generates a target named "libpci". ++ generate_library_loader("libpci") { ++ name = "LibPciLoader" ++ output_h = "libpci.h" ++ output_cc = "libpci_loader.cc" ++ header = "" ++ ++ functions = [ ++ "pci_alloc", ++ "pci_init", ++ "pci_cleanup", ++ "pci_scan_bus", ++ "pci_fill_info", ++ "pci_lookup_name", ++ ] ++ } + } Property changes on: lang/v8/files/patch-build_linux_libpci_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_linux_unbundle_libusb.gn =================================================================== --- lang/v8/files/patch-build_linux_unbundle_libusb.gn (nonexistent) +++ lang/v8/files/patch-build_linux_unbundle_libusb.gn (working copy) @@ -0,0 +1,27 @@ +--- build/linux/unbundle/libusb.gn.orig 2019-03-17 01:47:13 UTC ++++ build/linux/unbundle/libusb.gn +@@ -0,0 +1,24 @@ ++# Copyright 2016 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("system_libusb") { ++ packages = [ "libusb-1.0" ] ++} ++ ++shim_headers("libusb_shim") { ++ root_path = "src/libusb" ++ headers = [ ++ "libusb.h", ++ ] ++} ++ ++source_set("libusb") { ++ deps = [ ++ ":libusb_shim", ++ ] ++ public_configs = [ ":system_libusb" ] ++} Property changes on: lang/v8/files/patch-build_linux_unbundle_libusb.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_linux_unbundle_replace__gn__files.py =================================================================== --- lang/v8/files/patch-build_linux_unbundle_replace__gn__files.py (nonexistent) +++ lang/v8/files/patch-build_linux_unbundle_replace__gn__files.py (working copy) @@ -0,0 +1,10 @@ +--- build/linux/unbundle/replace_gn_files.py.orig 2019-03-11 22:00:52 UTC ++++ build/linux/unbundle/replace_gn_files.py +@@ -27,6 +27,7 @@ REPLACEMENTS = { + 'libevent': 'base/third_party/libevent/BUILD.gn', + 'libjpeg': 'third_party/libjpeg.gni', + 'libpng': 'third_party/libpng/BUILD.gn', ++ 'libusb': 'third_party/libusb/BUILD.gn', + 'libvpx': 'third_party/libvpx/BUILD.gn', + 'libwebp': 'third_party/libwebp/BUILD.gn', + 'libxml': 'third_party/libxml/BUILD.gn', Property changes on: lang/v8/files/patch-build_linux_unbundle_replace__gn__files.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_toolchain_gcc__toolchain.gni =================================================================== --- lang/v8/files/patch-build_toolchain_gcc__toolchain.gni (nonexistent) +++ lang/v8/files/patch-build_toolchain_gcc__toolchain.gni (working copy) @@ -0,0 +1,45 @@ +--- build/toolchain/gcc_toolchain.gni.orig 2020-05-13 18:40:16 UTC ++++ build/toolchain/gcc_toolchain.gni +@@ -36,6 +36,11 @@ if (is_linux && target_os == "android") { + enable_resource_whitelist_generation = false + } + ++declare_args() { ++ extra_cxxflags = "" ++ extra_ldflags = "" ++} ++ + # This template defines a toolchain for something that works like gcc + # (including clang). + # +@@ -589,13 +594,23 @@ template("clang_toolchain") { + } + + gcc_toolchain(target_name) { +- prefix = rebase_path("$clang_base_path/bin", root_build_dir) +- cc = "$prefix/clang" +- cxx = "$prefix/clang++" +- ld = cxx +- readelf = "${toolprefix}readelf" +- ar = "${prefix}/llvm-ar" +- nm = "${toolprefix}nm" ++ if (is_bsd) { ++ prefix = "%%LOCALBASE%%/bin" ++ cc = "clang10" ++ cxx = "clang++10" ++ ld = cxx ++ readelf = "readelf" ++ ar = "${prefix}/ar" ++ nm = "${toolprefix}nm" ++ } else { ++ prefix = rebase_path("$clang_base_path/bin", root_build_dir) ++ cc = "$prefix/clang" ++ cxx = "$prefix/clang++" ++ ld = cxx ++ readelf = "${toolprefix}readelf" ++ ar = "${prefix}/llvm-ar" ++ nm = "${toolprefix}nm" ++ } + + forward_variables_from(invoker, + [ Property changes on: lang/v8/files/patch-build_toolchain_gcc__toolchain.gni ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_toolchain_get__concurrent__links.py =================================================================== --- lang/v8/files/patch-build_toolchain_get__concurrent__links.py (nonexistent) +++ lang/v8/files/patch-build_toolchain_get__concurrent__links.py (working copy) @@ -0,0 +1,17 @@ +--- build/toolchain/get_concurrent_links.py.orig 2019-06-04 18:55:15 UTC ++++ build/toolchain/get_concurrent_links.py +@@ -48,6 +48,14 @@ def _GetTotalMemoryInBytes(): + return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'])) + except Exception: + return 0 ++ elif sys.platform.startswith('freebsd'): ++ try: ++ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.physmem'])) ++ # With -fuse-lld it doesn't take a lot of ram, feel free to change that ++ # 1 * ... to needed amount ++ return max(1, avail_bytes / (1 * (2 ** 30))) # total / 4GB ++ except Exception: ++ return 1 + # TODO(scottmg): Implement this for other platforms. + return 0 + Property changes on: lang/v8/files/patch-build_toolchain_get__concurrent__links.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-build_toolchain_linux_BUILD.gn =================================================================== --- lang/v8/files/patch-build_toolchain_linux_BUILD.gn (nonexistent) +++ lang/v8/files/patch-build_toolchain_linux_BUILD.gn (working copy) @@ -0,0 +1,10 @@ +--- build/toolchain/linux/BUILD.gn.orig 2019-04-30 22:22:28 UTC ++++ build/toolchain/linux/BUILD.gn +@@ -22,7 +22,6 @@ clang_toolchain("clang_arm") { + } + + clang_toolchain("clang_arm64") { +- toolprefix = "aarch64-linux-gnu-" + toolchain_args = { + current_cpu = "arm64" + current_os = "linux" Property changes on: lang/v8/files/patch-build_toolchain_linux_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-src_d8_d8-posix.cc =================================================================== --- lang/v8/files/patch-src_d8_d8-posix.cc (nonexistent) +++ lang/v8/files/patch-src_d8_d8-posix.cc (working copy) @@ -0,0 +1,19 @@ +--- src/d8/d8-posix.cc.orig 2020-06-13 18:02:18 UTC ++++ src/d8/d8-posix.cc +@@ -4,6 +4,8 @@ + + #include + #include ++#include ++#include + #include + #include + #include +@@ -12,7 +14,6 @@ + #include + #include + #include +-#include + #include + #include + Property changes on: lang/v8/files/patch-src_d8_d8-posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-v8_BUILD.gn =================================================================== --- lang/v8/files/patch-v8_BUILD.gn (nonexistent) +++ lang/v8/files/patch-v8_BUILD.gn (working copy) @@ -0,0 +1,32 @@ +--- BUILD.gn.orig 2020-05-13 18:41:59 UTC ++++ BUILD.gn +@@ -3742,7 +3742,7 @@ v8_component("v8_libbase") { + } + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-linux.cc", +@@ -3762,6 +3762,12 @@ v8_component("v8_libbase") { + "dl", + "rt", + ] ++ } else if (is_bsd) { ++ sources += [ ++ "src/base/debug/stack_trace_posix.cc", ++ "src/base/platform/platform-freebsd.cc", ++ ] ++ libs = [ "rt", "execinfo" ] + } else if (is_android) { + if (current_toolchain == host_toolchain) { + libs = [ +@@ -4064,6 +4070,7 @@ if (current_toolchain == v8_snapshot_toolchain) { + "src/snapshot/mksnapshot.cc", + "src/snapshot/snapshot-empty.cc", + ] ++ libs = ["execinfo"] + + configs = [ ":internal_config" ] + Property changes on: lang/v8/files/patch-v8_BUILD.gn ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-v8_include_v8config.h =================================================================== --- lang/v8/files/patch-v8_include_v8config.h (nonexistent) +++ lang/v8/files/patch-v8_include_v8config.h (working copy) @@ -0,0 +1,21 @@ +--- include/v8config.h.orig 2020-03-03 18:55:34 UTC ++++ include/v8config.h +@@ -273,7 +273,18 @@ + # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \ + (__has_attribute(warn_unused_result)) + ++// Work around Clang bug present in 9.0.1, at least. ++// ++// Clang stores alignment as a 32-bit unsigned integer, but V8 only uses ++// V8_ASSUME_ALIGNED() for a 4GB (2^32) alignment ++// (kPtrComprIsolateRootAlignment). As such, the alignment overflows and ++// becomes zero, triggering an internal Clang assertion that alignment must not ++// be zero. ++#if 0 + # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned)) ++#else ++# define V8_HAS_BUILTIN_ASSUME_ALIGNED 0 ++#endif + # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16)) + # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32)) + # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64)) Property changes on: lang/v8/files/patch-v8_include_v8config.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-v8_src_api_api.cc =================================================================== --- lang/v8/files/patch-v8_src_api_api.cc (nonexistent) +++ lang/v8/files/patch-v8_src_api_api.cc (working copy) @@ -0,0 +1,11 @@ +--- src/api/api.cc.orig 2020-05-13 18:41:59 UTC ++++ src/api/api.cc +@@ -5726,7 +5726,7 @@ bool v8::V8::Initialize() { + return true; + } + +-#if V8_OS_LINUX || V8_OS_MACOSX ++#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 Property changes on: lang/v8/files/patch-v8_src_api_api.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-v8_src_base_cpu.cc =================================================================== --- lang/v8/files/patch-v8_src_base_cpu.cc (nonexistent) +++ lang/v8/files/patch-v8_src_base_cpu.cc (working copy) @@ -0,0 +1,18 @@ +--- src/base/cpu.cc.orig 2020-05-13 18:41:59 UTC ++++ src/base/cpu.cc +@@ -427,6 +427,7 @@ CPU::CPU() + + #if V8_OS_LINUX + ++#if V8_OS_LINUX + CPUInfo cpu_info; + + // Extract implementor from the "CPU implementer" field. +@@ -460,6 +461,7 @@ CPU::CPU() + } + delete[] part; + } ++#endif + + // Extract architecture from the "CPU Architecture" field. + // The list is well-known, unlike the the output of Property changes on: lang/v8/files/patch-v8_src_base_cpu.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-v8_src_base_platform_platform-freebsd.cc =================================================================== --- lang/v8/files/patch-v8_src_base_platform_platform-freebsd.cc (nonexistent) +++ lang/v8/files/patch-v8_src_base_platform_platform-freebsd.cc (working copy) @@ -0,0 +1,13 @@ +--- src/base/platform/platform-freebsd.cc.orig 2020-05-13 18:41:59 UTC ++++ src/base/platform/platform-freebsd.cc +@@ -81,8 +82,8 @@ std::vector OS::GetSharedLib + lib_name = std::string(path); + } + result.push_back(SharedLibraryAddress( +- lib_name, reinterpret_cast(map->kve_start), +- reinterpret_cast(map->kve_end))); ++ lib_name, static_cast(map->kve_start), ++ static_cast(map->kve_end))); + } + + start += ssize; Property changes on: lang/v8/files/patch-v8_src_base_platform_platform-freebsd.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/patch-v8_src_base_platform_platform-posix.cc =================================================================== --- lang/v8/files/patch-v8_src_base_platform_platform-posix.cc (nonexistent) +++ lang/v8/files/patch-v8_src_base_platform_platform-posix.cc (working copy) @@ -0,0 +1,24 @@ +--- src/base/platform/platform-posix.cc.orig 2020-05-13 18:41:59 UTC ++++ src/base/platform/platform-posix.cc +@@ -433,7 +433,7 @@ bool OS::DiscardSystemPages(void* address, size_t size + + // static + bool OS::HasLazyCommits() { +-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX ++#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD + return true; + #else + // TODO(bbudge) Return true for all POSIX platforms. +@@ -564,6 +564,12 @@ int OS::GetCurrentThreadId() { + return static_cast(syscall(__NR_gettid)); + #elif V8_OS_ANDROID + return static_cast(gettid()); ++#elif V8_OS_DRAGONFLYBSD || defined(__DragonFly__) ++ return static_cast(lwp_gettid()); ++#elif V8_OS_FREEBSD ++ return static_cast(pthread_getthreadid_np()); ++#elif V8_OS_NETBSD ++ return static_cast(_lwp_self()); + #elif V8_OS_AIX + return static_cast(thread_self()); + #elif V8_OS_FUCHSIA Property changes on: lang/v8/files/patch-v8_src_base_platform_platform-posix.cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/v8.pc =================================================================== --- lang/v8/files/v8.pc (nonexistent) +++ lang/v8/files/v8.pc (working copy) @@ -0,0 +1,11 @@ +prefix=%%PREFIX%% +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: v8 +Description: V8 JavaScript Engine +Version: @VERSION@ +Requires: icu-uc, icu-i18n, v8_libbase = @VERSION@ +Libs: -L${libdir} -lv8 -pthread +Cflags: -I${includedir} Property changes on: lang/v8/files/v8.pc ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/v8_libbase.pc =================================================================== --- lang/v8/files/v8_libbase.pc (nonexistent) +++ lang/v8/files/v8_libbase.pc (working copy) @@ -0,0 +1,10 @@ +prefixr=%%PREFIX%% +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: v8 +Description: V8 JavaScript Engine - Base library +Version: @VERSION@ +Libs: -L${libdir} -lv8_libbase +Cflags: -I${includedir} Property changes on: lang/v8/files/v8_libbase.pc ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/files/v8_libplatform.pc =================================================================== --- lang/v8/files/v8_libplatform.pc (nonexistent) +++ lang/v8/files/v8_libplatform.pc (working copy) @@ -0,0 +1,10 @@ +prefix=%%PREFIX%% +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: v8 +Description: V8 JavaScript Engine - Platform library +Version: @VERSION@ +Libs: -L${libdir} -lv8_libplatform -pthread +Cflags: -I${includedir} Property changes on: lang/v8/files/v8_libplatform.pc ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: lang/v8/pkg-descr =================================================================== --- lang/v8/pkg-descr (revision 539541) +++ lang/v8/pkg-descr (working copy) @@ -1,14 +1,7 @@ -V8 is Google's open source JavaScript engine. - -V8 is written in C++ and is used in Google Chrome, the open source browser from -Google. - -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 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. +It implements ECMAScript and WebAssembly, and runs on Windows 7 or later, +macOS 10.12+, and Linux systems that use x64, IA-32, ARM, or MIPS processors. V8 can run standalone, or can be embedded into any C++ application. -Git repository at https://github.com/v8/v8 - -WWW: http://code.google.com/p/v8/ +WWW: https://v8.dev/ Index: lang/v8/pkg-plist =================================================================== --- lang/v8/pkg-plist (revision 539541) +++ lang/v8/pkg-plist (working copy) @@ -1,9 +1,24 @@ bin/d8 -include/v8-debug.h -include/v8-preparser.h +include/libplatform/libplatform-export.h +include/libplatform/libplatform.h +include/libplatform/v8-tracing.h +include/v8-fast-api-calls.h +include/v8-inspector-protocol.h +include/v8-inspector.h +include/v8-internal.h +include/v8-platform.h include/v8-profiler.h -include/v8-testing.h +include/v8-util.h +include/v8-value-serializer-version.h +include/v8-version-string.h +include/v8-version.h +include/v8-wasm-trap-handler-posix.h +include/v8-wasm-trap-handler-win.h include/v8.h -include/v8stdint.h +include/v8config.h lib/libv8.so -lib/libv8.so.1 +lib/libv8_libbase.so +lib/libv8_libplatform.so +libdata/pkgconfig/v8_libbase.pc +libdata/pkgconfig/v8_libplatform.pc +libdata/pkgconfig/v8.pc