FreeBSD Ports

lang/v8 15.5.35.25

Open source JavaScript engine by Google

Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
cbd5f84a25
License
APACHE20, BSD3CLAUSE, MIT, UNICODE30
Categories
lang

Description

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 implements ECMAScript and WebAssembly. V8 can run standalone, or can be embedded into any C++ application.

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's Git repository is located at https://chromium.googlesource.com/v8/v8.git, with an official mirror on GitHub: https://github.com/v8/v8.

Install

As a binary package — by origin, or by package name:

pkg install lang/v8
pkg install v8

From the ports tree:

cd /usr/ports/lang/v8/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	v8>0:lang/v8
LIB_DEPENDS=	libchrome_zlib.so:lang/v8

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest-15.5.35.20_2--15.5.35.25
FreeBSD:14:quarterly-10.4.132.20_4n/a-10.4.132.20_4
FreeBSD:15:latest15.5.35.20_215.5.35.25n/a-10.4.132.20_4
FreeBSD:15:quarterly-10.4.132.20_4n/an/an/a
FreeBSD:16:latest-15.5.35.25n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 3

Library 1

The full lists below include those, and their dependencies in turn.

All build dependencies 26
All run dependencies 1

Configuration

No options to configure.

USES
cargo compiler:c++20-lang cpe elfctl llvm:min=20,build ninja pkgconfig python:build
Service scripts
none
Conflicts with
v8-beta

Files

pkg-plist 127
  • bin/d8
  • bin/mkgrokdump
  • bin/mksnapshot
  • bin/v8_shell
  • 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/explicit-management.h
  • include/cppgc/garbage-collected.h
  • include/cppgc/heap-consistency.h
  • include/cppgc/heap-handle.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
  • include/cppgc/internal/base-page-handle.h
  • include/cppgc/internal/caged-heap-local-data.h
  • include/cppgc/internal/caged-heap.h
  • include/cppgc/internal/compiler-specific.h
  • include/cppgc/internal/conditional-stack-allocated.h
  • include/cppgc/internal/finalizer-trait.h
  • include/cppgc/internal/gc-info.h
  • include/cppgc/internal/logging.h
  • include/cppgc/internal/member-storage.h
  • include/cppgc/internal/name-trait.h
  • include/cppgc/internal/persistent-node.h
  • include/cppgc/internal/pointer-policies.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/tagged-member.h
  • include/cppgc/testing.h
  • include/cppgc/trace-trait.h
  • include/cppgc/type-traits.h
  • include/cppgc/visitor.h
  • include/libplatform/libplatform-export.h
  • include/libplatform/libplatform.h
  • include/libplatform/v8-tracing.h
  • include/v8-array-buffer.h
  • include/v8-callbacks.h
  • include/v8-container.h
  • include/v8-context.h
  • include/v8-cpp-heap-external.h
  • include/v8-cppgc.h
  • include/v8-data.h
  • include/v8-date.h
  • include/v8-debug.h
  • include/v8-embedder-heap.h
  • include/v8-embedder-state-scope.h
  • include/v8-exception.h
  • include/v8-extension.h
  • include/v8-external-memory-accounter.h
  • include/v8-external.h
  • include/v8-fast-api-calls.h
  • include/v8-forward.h
  • include/v8-function-callback.h
  • include/v8-function.h
  • include/v8-handle-base.h
  • include/v8-initialization.h
  • include/v8-inspector-protocol.h
  • include/v8-inspector.h
  • include/v8-internal.h
  • include/v8-isolate.h
  • include/v8-json.h
  • include/v8-local-handle.h
  • include/v8-locker.h
  • include/v8-maybe.h
  • include/v8-memory-span.h
  • include/v8-message.h
  • include/v8-metrics.h
  • include/v8-microtask-queue.h
  • include/v8-microtask.h
  • include/v8-object.h
  • include/v8-persistent-handle.h
  • include/v8-platform.h
  • include/v8-primitive-object.h
  • include/v8-primitive.h
  • include/v8-profiler.h
  • include/v8-promise.h
  • include/v8-proxy.h
  • include/v8-regexp.h
  • include/v8-sandbox.h
  • include/v8-script.h
  • include/v8-snapshot.h
  • include/v8-source-location.h
  • include/v8-statistics.h
  • include/v8-template.h
  • include/v8-trace-categories.h

The first 100 are listed.

distinfo 74
FileSizeSHA256
rust/crates/autocfg-1.5.1.crate18911f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53
rust/crates/calendrical_calculations-0.2.4.crate688755abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26
rust/crates/core_maths-0.1.1.crate652877745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30
rust/crates/diplomat-0.16.1.crate23123f8b37a6cea72eb6df5143d3e091d4c34cb0cf4046dd1ddcc082988886fe1f809
rust/crates/diplomat-runtime-0.15.2.crate1867125b2f28ba90d2ffa95a531ea479769d4a6b2f5f187cd76ab5fd3bdcd64b3603e
rust/crates/diplomat_core-0.16.1.crate15579773b18e806f9ecb92df828d080efe47984ae1193958295d4a84fb8b32c9a1aa1b
rust/crates/displaydoc-0.2.7.crate21343c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8
rust/crates/icu_calendar-2.2.1.crate812916a2b2acc6263f494f1df50685b53ff8e57869e47d5c6fe39c23d518ae9a4f3e45
rust/crates/icu_calendar_data-2.2.0.crate5465118577bcf3a0fa7c6ac0a7d6e951814da84ee56b9b1f68fb4d8d10b08cefaf4d
rust/crates/icu_collections-2.2.0.crate880112984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c
rust/crates/icu_locale-2.2.0.crate34517d5a396343c7208121dc86e35623d3dfe19814a7613cfd14964994cdc9c9a2e26
rust/crates/icu_locale_core-2.3.0.crate80250d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb
rust/crates/icu_locale_data-2.2.0.crate116702d5fdcc9ac77c6d74ff5cf6e65ef3181d6af32003b16fce3a77fb451d2f695993
rust/crates/icu_provider-2.3.1.crate52447d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73
rust/crates/ixdtf-0.6.6.crate344314d3667095d64c3ecffc96463a21157b04bf3e252f6e8d5750b20c02e33c194e3
rust/crates/libm-0.2.16.crate164243b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981
rust/crates/litemap-0.8.3.crate3504547d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae
rust/crates/num-traits-0.2.19.crate51631071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
rust/crates/potential_utf-0.1.6.crate10420d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661
rust/crates/proc-macro2-1.0.107.crate59588985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9

Commit history 6

DateCommitCreditsLog message
cbd5f84a25 Xin LI lang/v8: update to 15.5.35.25
- Initialize the attribute object before passing it to pthread_attr_get_np() in PartitionAlloc's GetStackTop(), which FreeBSD requires.
9c878207a1 Mikael Urankar lang/rust: Bump revisions after 1.99.0
PR: 299016
6cf38ee5e8 Xin LI lang/v8: Misc build fixes
- aarch64: do not enable PartitionAlloc's ARM memory tagging support, which needs Linux's <asm/hwcap.h>. It was enabled because the port makes FreeBSD pass for Linux in GN. - i386: V8 only uses PartitionAlloc together with pointer compression, so its libraries are not built there. Do not try to install them. - d8 refuses to start when the first 4 GB of the address space can not be reserved. Only have it do so when ASLR is active, as position-independent executables are loaded below 4 GB otherwise. - Drop patches for files the build does not use, the EXAMPLES leftovers and a substitution that no longer matches anything.
94e92ea24d Xin LI lang/v8: update to 15.5.35.20 (Chrome 155 stable)
- Enable Temporal. GN can only build the temporal_capi Rust crate with the Chromium Rust toolchain, so build it with cargo as a static library through a small wrapper crate (temporal_capi is no_std) and have GN link that. Crate versions follow Chromium's Cargo.lock. Time zone data is read from devel/icu; use the accessors libicuuc exports instead of ICU's internal udatamem.h, which is not installed. - Use libclang and its Python bindings from the llvm port for the new metagen instance-types generator, and work around Cursor being unhashable in the bindings before LLVM 21. - Ignore check_includes_strict, which devel/gn does not know yet. - Add the licenses of the statically linked crates. - Depend on libicuuc.so, which is what gets linked, instead of …
60f1eb4566 Xin LI lang/v8: Fix fetch by fetching sub-dependencies from GitHub mirror
The +archive tarballs on chromium.googlesource.com are generated on the fly with the time of the request as the mtime of every entry, and the generated tarballs are not reproducible, so their size and checksum change with each download and fetch fails with a size or checksum mismatch. To address this, fetch all sub-dependencies with GH_TUPLE from the unofficial chromium-full-mirror organization on GitHub, which carries the same commits and produces stable tarballs. Because the chromium-full-mirror is an unofficial mirror, a new verify-mirror target is added, which downloads every sub-dependency from chromium.googlesource.com and compares the extracted tree with the mirror distfile. This new target is run as part of "make makesum" so distinfo can only …

The latest 5 of 6 in the history this site was built from.