diff options
author | 2023-07-11 19:14:34 -0700 | |
---|---|---|
committer | 2023-07-11 19:14:34 -0700 | |
commit | cbb88672f217a90db1aa1eb29cd92d5d9035b22b (patch) | |
tree | 43a00501f3cde495967e116f0b660777051551f8 /docs/project | |
parent | 1f900cff453700b19bca2acadfe26da4468c1282 (diff) | |
parent | 34b0e7a2bbd8bf8097341cdb0075d0908283e834 (diff) | |
download | bun-cbb88672f217a90db1aa1eb29cd92d5d9035b22b.tar.gz bun-cbb88672f217a90db1aa1eb29cd92d5d9035b22b.tar.zst bun-cbb88672f217a90db1aa1eb29cd92d5d9035b22b.zip |
Merge branch 'main' into jarred/esm-conditionsjarred/esm-conditions
Diffstat (limited to 'docs/project')
-rw-r--r-- | docs/project/development.md | 55 | ||||
-rw-r--r-- | docs/project/licensing.md | 5 |
2 files changed, 53 insertions, 7 deletions
diff --git a/docs/project/development.md b/docs/project/development.md index 92a414c5f..93327824f 100644 --- a/docs/project/development.md +++ b/docs/project/development.md @@ -41,9 +41,7 @@ $ brew install llvm@15 ``` ```bash#Ubuntu/Debian -# On Ubuntu 22.04 and newer, LLVM 15 is available in the default repositories -$ sudo apt install llvm-15 lld-15 clang-15 -# On older versions, +$ # LLVM has an automatic installation script that is compatible with all versions of Ubuntu $ wget https://apt.llvm.org/llvm.sh -O - | sudo bash -s -- 15 all ``` @@ -85,7 +83,7 @@ $ brew install automake ccache cmake coreutils esbuild gnu-sed go libiconv libto ``` ```bash#Ubuntu/Debian -$ sudo apt install cargo ccache cmake esbuild git golang libtool ninja-build pkg-config rustc +$ sudo apt install cargo ccache cmake git golang libtool ninja-build pkg-config rustc esbuild ``` ```bash#Arch @@ -94,7 +92,19 @@ $ pacman -S base-devel ccache cmake esbuild git go libiconv libtool make ninja p {% /codetabs %} -In addition to this, you will need either `bun` or `npm` installed to install the package.json dependencies. +{% details summary="Ubuntu — Unable to locate package esbuild" %} + +The `apt install esbuild` command may fail with an `Unable to locate package` error if you are using a Ubuntu mirror that does not contain an exact copy of the original Ubuntu server. Note that the same error may occur if you are not using any mirror but have the Ubuntu Universe enabled in the `sources.list`. In this case, you can install esbuild manually: + +```bash +$ curl -fsSL https://esbuild.github.io/dl/latest | sh +$ chmod +x ./esbuild +$ sudo mv ./esbuild /usr/local/bin +``` + +{% /details %} + +In addition to this, you will need an npm package manager (`bun`, `npm`, etc) to install the `package.json` dependencies. ## Install Zig @@ -102,12 +112,12 @@ Zig can be installed either with our npm package [`@oven/zig`](https://www.npmjs ```bash $ bun install -g @oven/zig -$ zigup 0.11.0-dev.2777+b95cdf0ae +$ zigup 0.11.0-dev.3737+9eb008717 ``` ## Building -After cloning the repository, prepare bun to be built: +After cloning the repository, run the following command. The runs ```bash $ make setup @@ -217,6 +227,37 @@ You'll need a very recent version of Valgrind due to DWARF 5 debug symbols. You $ valgrind --fair-sched=try --track-origins=yes bun-debug <args> ``` +## Updating `WebKit` + +The Bun team will occasionally bump the version of WebKit used in Bun. When this happens, you may see something like this with you run `git status`. + +```bash +$ git status +On branch my-branch +Changes not staged for commit: + (use "git add <file>..." to update what will be committed) + (use "git restore <file>..." to discard changes in working directory) + modified: src/bun.js/WebKit (new commits) +``` + +For performance reasons, `bun submodule update` does not automatically update the WebKit submodule. To update, run the following commands from the root of the Bun repo: + +```bash +$ bun install +$ make bindings +``` + +<!-- Check the [Bun repo](https://github.com/oven-sh/bun/tree/main/src/bun.js) to get the hash of the commit of WebKit is currently being used. + +{% image width="270" src="https://github.com/oven-sh/bun/assets/3084745/51730b73-89ef-4358-9a41-9563a60a54be" /%} --> + +<!-- +```bash +$ cd src/bun.js/WebKit +$ git fetch +$ git checkout <hash> +``` --> + ## Troubleshooting ### libarchive diff --git a/docs/project/licensing.md b/docs/project/licensing.md index ea49acb1d..ac7fef774 100644 --- a/docs/project/licensing.md +++ b/docs/project/licensing.md @@ -85,6 +85,11 @@ Bun statically links these libraries: --- +- [`libbase64`](https://github.com/aklomp/base64/blob/master/LICENSE) +- BSD 2-Clause + +--- + - A fork of [`uWebsockets`](https://github.com/jarred-sumner/uwebsockets) - Apache 2.0 licensed |