From 1f7fca8e5d9d30137ac347d881985a0090fb0d8f Mon Sep 17 00:00:00 2001 From: Miftah Fauzan Date: Sat, 29 Aug 2026 13:56:33 +0700 Subject: [PATCH] New package: bun-1.4.0 --- srcpkgs/bun/files/LICENSE.md | 84 ++++++++++++++++++++++++++++++++++++ srcpkgs/bun/template | 46 ++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 srcpkgs/bun/files/LICENSE.md create mode 100644 srcpkgs/bun/template diff --git a/srcpkgs/bun/files/LICENSE.md b/srcpkgs/bun/files/LICENSE.md new file mode 100644 index 00000000000000..3ae7d08305e14a --- /dev/null +++ b/srcpkgs/bun/files/LICENSE.md @@ -0,0 +1,84 @@ +Bun itself is MIT-licensed. + +## JavaScriptCore + +Bun statically links JavaScriptCore (and WebKit) which is LGPL-2 licensed. WebCore files from WebKit are also licensed under LGPL2. Per LGPL2: + +> (1) If you statically link against an LGPL’d library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application. + +You can find the patched version of WebKit used by Bun here: . If you would like to relink Bun with changes: + +- `git clone https://github.com/oven-sh/WebKit vendor/WebKit` +- `bun sync-webkit-source` (checks out the version pinned in `WEBKIT_VERSION` in `scripts/build/deps/webkit.ts`) +- `bun run build:local` + +This compiles JavaScriptCore, compiles Bun’s `.cpp` bindings for JavaScriptCore (which are the object files using JavaScriptCore) and outputs a new `bun` binary with your changes. + +## Linked libraries + +Bun statically links these libraries: + +| Library | License | +|---------|---------| +| [`boringssl`](https://boringssl.googlesource.com/boringssl/) | [several licenses](https://boringssl.googlesource.com/boringssl/+/refs/heads/master/LICENSE) | +| [`brotli`](https://github.com/google/brotli) | MIT | +| [`libarchive`](https://github.com/libarchive/libarchive) | [several licenses](https://github.com/libarchive/libarchive/blob/master/COPYING) | +| [`lol-html`](https://github.com/cloudflare/lol-html/tree/master/c-api) | BSD 3-Clause | +| [`ls-hpack`](https://github.com/litespeedtech/ls-hpack) | MIT | +| [`ls-qpack`](https://github.com/litespeedtech/ls-qpack) | MIT | +| [`lsquic`](https://github.com/litespeedtech/lsquic) | MIT (portions derived from [Chromium proto-quic](https://github.com/litespeedtech/lsquic/blob/master/LICENSE.chrome), BSD 3-Clause) | +| [`mimalloc`](https://github.com/microsoft/mimalloc) | MIT | +| [`picohttp`](https://github.com/h2o/picohttpparser) | dual-licensed under the Perl License or the MIT License | +| [`zstd`](https://github.com/facebook/zstd) | dual-licensed under the BSD License or GPLv2 license | +| [`simdutf`](https://github.com/simdutf/simdutf) | Apache 2.0 | +| [`tinycc`](https://github.com/tinycc/tinycc) | LGPL v2.1 | +| [`uSockets`](https://github.com/uNetworking/uSockets) | Apache 2.0 | +| [`zlib-ng`](https://github.com/zlib-ng/zlib-ng) | zlib | +| [`c-ares`](https://github.com/c-ares/c-ares) | MIT licensed | +| [`libicu`](https://github.com/unicode-org/icu) 78 | [license here](https://github.com/unicode-org/icu/blob/main/icu4c/LICENSE) | +| [`libbase64`](https://github.com/aklomp/base64/blob/master/LICENSE) | BSD 2-Clause | +| [`libuv`](https://github.com/libuv/libuv) (on Windows) | MIT | +| [`libdeflate`](https://github.com/ebiggers/libdeflate) | MIT | +| [`libjpeg-turbo`](https://github.com/libjpeg-turbo/libjpeg-turbo) | [BSD 3-Clause / IJG / zlib](https://github.com/libjpeg-turbo/libjpeg-turbo/blob/main/LICENSE.md) | +| [`libspng`](https://github.com/randy408/libspng) | BSD 2-Clause | +| [`libwebp`](https://github.com/webmproject/libwebp) | BSD 3-Clause | +| [`highway`](https://github.com/google/highway) | Apache 2.0 | +| [`uucode`](https://github.com/jacobsandlund/uucode) | MIT | +| A fork of [`uWebsockets`](https://github.com/jarred-sumner/uwebsockets) | Apache 2.0 licensed | +| Parts of [Tigerbeetle's IO code](https://github.com/tigerbeetle/tigerbeetle/blob/532c8b70b9142c17e07737ab6d3da68d7500cbca/src/io/windows.zig#L1) | Apache 2.0 licensed | +| `__cxa_thread_atexit` fallback from [LLVM libc++abi](https://github.com/llvm/llvm-project/blob/llvmorg-19.1.0/libcxxabi/src/cxa_thread_atexit.cpp) | Apache 2.0 with LLVM exception | + +## Polyfills + +For compatibility reasons, the following packages are embedded into Bun's binary and injected if imported. + +| Package | License | +|---------|---------| +| [`acorn`](https://github.com/acornjs/acorn) | MIT | +| [`acorn-walk`](https://github.com/acornjs/acorn) | MIT | +| [`assert`](https://npmjs.com/package/assert) | MIT | +| [`browserify-zlib`](https://npmjs.com/package/browserify-zlib) | MIT | +| [`buffer`](https://npmjs.com/package/buffer) | MIT | +| [`constants-browserify`](https://npmjs.com/package/constants-browserify) | MIT | +| [`crypto-browserify`](https://npmjs.com/package/crypto-browserify) | MIT | +| [`domain-browser`](https://npmjs.com/package/domain-browser) | MIT | +| [`events`](https://npmjs.com/package/events) | MIT | +| [`https-browserify`](https://npmjs.com/package/https-browserify) | MIT | +| [`os-browserify`](https://npmjs.com/package/os-browserify) | MIT | +| [`path-browserify`](https://npmjs.com/package/path-browserify) | MIT | +| [`process`](https://npmjs.com/package/process) | MIT | +| [`punycode`](https://npmjs.com/package/punycode) | MIT | +| [`querystring-es3`](https://npmjs.com/package/querystring-es3) | MIT | +| [`stream-browserify`](https://npmjs.com/package/stream-browserify) | MIT | +| [`stream-http`](https://npmjs.com/package/stream-http) | MIT | +| [`string_decoder`](https://npmjs.com/package/string_decoder) | MIT | +| [`timers-browserify`](https://npmjs.com/package/timers-browserify) | MIT | +| [`tty-browserify`](https://npmjs.com/package/tty-browserify) | MIT | +| [`url`](https://npmjs.com/package/url) | MIT | +| [`util`](https://npmjs.com/package/util) | MIT | +| [`vm-browserify`](https://npmjs.com/package/vm-browserify) | MIT | + +## Additional credits + +- Bun's JS transpiler, CSS lexer, and Node.js module resolver source code is a port of [@evanw](https://github.com/evanw)’s [esbuild](https://github.com/evanw/esbuild) project. +- Credit to [@kipply](https://github.com/kipply) for the name "Bun"! \ No newline at end of file diff --git a/srcpkgs/bun/template b/srcpkgs/bun/template new file mode 100644 index 00000000000000..6eb622aa260e5b --- /dev/null +++ b/srcpkgs/bun/template @@ -0,0 +1,46 @@ +# Template file for 'bun' +pkgname=bun +version=1.4.0 +revision=1 +archs="x86_64* aarch64*" +short_desc="A fast all-in-one JavaScript runtime" +maintainer="Miftah Fauzan " +license="MIT AND LGPL-2.0-only" +homepage="https://bun.com" +changelog="https://bun.com/blog/bun-v1.4" +nopie=yes +nostrip=yes + +case "$XBPS_TARGET_MACHINE" in + x86_64-musl) + _bun_arch="x64-musl" + noverifyrdeps=yes + depends="libstdc++>=4.4.0_1" + ;; + x86_64) _bun_arch="x64" ;; + aarch64-musl) + _bun_arch="aarch64-musl" + noverifyrdeps=yes + depends="libstdc++>=4.4.0_1" + ;; + aarch64) _bun_arch="aarch64" ;; +esac + +wrksrc="bun-linux-${_bun_arch}" +distfiles="https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-${_bun_arch}.zip" + + +case "$XBPS_TARGET_MACHINE" in + x86_64-musl) checksum=83b5f12fd258dd8d4fdcaea65ede954366aa717dab399e20093ecab280d54e7a ;; + x86_64) checksum=2d03fb5fb83ac8b567aca0a281b2ce1a1a19d488f56c2968d88c3f25e92fe452 ;; + aarch64-musl) checksum=576300ce33ff16ffcd455bf178c2f095f9df845c6cc3d0284ba1c96ca0e80473 ;; + aarch64) checksum=4b1a332ee861983eb93bcfe6f770fff94e3e31b2c388bdaea3c8ed35e58eed0e ;; +esac + + +do_install() { + vbin bun + ln -sfr $DESTDIR/usr/bin/bun $DESTDIR/usr/bin/bunx + vlicense $FILESDIR/LICENSE.md +} +