Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package bun for openSUSE:Factory checked in 
at 2026-10-28 17:45:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bun (Old)
 and      /work/SRC/openSUSE:Factory/.bun.new.2252680 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "bun"

Wed Oct 28 17:45:57 2026 rev:5 rq:1392776 version:1.4.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/bun/bun.changes  2026-09-08 16:55:58.983636987 
+0200
+++ /work/SRC/openSUSE:Factory/.bun.new.2252680/bun.changes     2026-10-28 
17:46:23.369666820 +0100
@@ -1,0 +2,76 @@
+Mon Oct 26 07:27:49 UTC 2026 - Khang Lê <[email protected]>
+
+- Update to 1.4.4:
+  * `bun fmt`: Prettier-compatible built-in code formatter that is
+    3x-6x faster than oxfmt and up to 286x faster than Prettier
+  * `bun check`: 1.4x to 7.8x faster on large projects with lower
+    peak memory; `bun check -b` up to 15x faster in monorepos
+  * `bun install`:
+    - Migrates Yarn Berry (v2+) `yarn.lock` to `bun.lock`
+    - Retries network requests with exponential backoff and jitter
+    - Hoisted installs from warm cache up to 3.2x faster on Linux
+    - Respects `"libc": ["glibc"]` vs `["musl"]` optional
+      dependencies
+    - Adds `packageExtensions`, `link:` path syntax,
+      `bun pm fetch`, `bun pm cache pack/unpack/prune`, and
+      `bun publish --recursive`
+  * `Bun.SQL` and `bun:sqlite`:
+    - Up to 48% less client CPU and memory per query
+    - Adds `query.cancel()`, PostgreSQL `COPY` web streams, and
+      column name transforms (`SQL.camel`)
+    - Adds user-defined functions (`db.function()`,
+      `db.aggregate()`) and table update hooks (`db.onInsert`,
+      `db.onUpdate`, `db.onDelete`)
+  * `WebSocket` and `ws`:
+    - Rewritten `ws` module matching npm `ws` 8.22.0 behavior
+    - Adds `ws.pause()` and `ws.resume()` backpressure controls
+      in `Bun.serve`
+  * JavaScriptCore upgrade (commit d6375c72) with 54x faster
+    `toLocaleString`, optimized array allocations, and runtime
+    bugfixes
+  * See upstream's release notes for the rest
+- Refresh downstream patches for 1.4.4 source layout and verify
+  clean application with zero fuzz
+- Refresh bun-rust-type-info.patch for Rust 1.99: patch
+  MultiArrayList reflection calls because type_info::of is not
+  available yet
+- Add bun-rust-once-default.patch: implement Default for Start in
+  lint_js.rs (std::sync::Once lacks Default in Rust 1.99)
+- Re-vendor libjpeg-turbo: Bun requires patched
+  tj3BunCompletedWithWarning symbol missing from system
+  libturbojpeg; restore nasm on x86_64, bundled provides and IJG
+  license
+- Let bun_webkit use ${TMPDIR:-/var/tmp} or custom --tmpdir to
+  avoid filling small /tmp tmpfs mounts
+
+-------------------------------------------------------------------
+Sun Oct 11 11:49:34 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 1.4.3:
+  * `bun check`: a TypeScript type checker passing TypeScript
+    7.0.2's conformance suite at 3x-6.4x tsc speed; also as
+    `bun run --check`, `bun test --check`, `bun build --check`
+  * CVE-2026-48618: TLS server identity is matched on the IDNA
+    mapping alone and IP literals are parsed strictly
+  * CVE-2026-48615: node:http no longer prints proxy credentials
+    in proxy error messages
+  * CVE-2023-44487: node:http2 servers rate-limit stream resets
+    (rapid reset)
+  * CVE-2025-8671: node:http2 servers rate-limit stream resets
+    (MadeYouReset)
+  * TLS clients (fetch, WebSocket, SQL, Redis) verify the server
+    certificate during the handshake instead of after it
+  * node:http server follows Node on framing, pipelining, response
+    lifecycle and close() semantics
+  * The bundler orders shared chunks by first evaluation
+  * WebKit 0c06faad, mimalloc 3.5.3, bundled sqlite 3.53.4
+  * See upstream's release notes for the rest
+- Drop bun-llvm-22.patch: upstream's LLVM pin moved 21 -> 23 with
+  the distribution default, so the check passes unpatched
+- Rebase bun-offline-build.patch for the 1.4.3 sources and fix its
+  hunk context to apply with --fuzz=0
+- Build with clang23, rust >= 1.99 and rust-src: 1.4.3 requires
+  matching clang/rustc LLVM majors and builds std from source;
+  keep rust-toolchain.toml as a placeholder since ninja tracks it
+
+-------------------------------------------------------------------

Old:
----
  bun-1.4.2.tar.gz
  bun-llvm-22.patch
  bun-node-modules-1.4.2.tar.zst
  bun-prefetch-1.4.2.tar.zst
  bun-vendor-1.4.2.tar.zst
  webkit-1.4.2.tar.zst

New:
----
  bun-1.4.4.tar.gz
  bun-node-modules-1.4.4.tar.zst
  bun-prefetch-1.4.4.tar.zst
  bun-rust-once-default.patch
  bun-rust-type-info.patch
  bun-vendor-1.4.4.tar.zst
  webkit-1.4.4.tar.zst

----------(Old B)----------
  Old:  * See upstream's release notes for the rest
- Drop bun-llvm-22.patch: upstream's LLVM pin moved 21 -> 23 with
  the distribution default, so the check passes unpatched
----------(Old E)----------

----------(New B)----------
  New:  available yet
- Add bun-rust-once-default.patch: implement Default for Start in
  lint_js.rs (std::sync::Once lacks Default in Rust 1.99)
  New:  clean application with zero fuzz
- Refresh bun-rust-type-info.patch for Rust 1.99: patch
  MultiArrayList reflection calls because type_info::of is not
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ bun.spec ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:45.698601424 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:45.700601508 +0100
@@ -17,17 +17,17 @@
 
 
 # 1.4.0 is the first release written in Rust (1.3.14 was the last in Zig).
-# git_commit is the bun-v1.4.2 tag peel, used as GIT_SHA for bun --revision;
-# it is not part of the RPM version.
-%define git_commit 744846f844374847c902b5e7fd59b4342a51ef99
-%define git_short 744846f8
+# git_commit is the bun-v1.4.4 tag peel (38afee6c), used as GIT_SHA for
+# bun --revision; it is not part of the RPM version.
+%define git_commit 38afee6c84fcf48c0edb2466aa4b27d287a59c30
+%define git_short 38afee6c8
 # The WebKit revision Source1 was made from, for reference; it is read out of
 # the Bun tarball by bun_webkit, not set here.
-# 2e2aa2290fac856d6f451ceacb58f7f5b44dd057
+# d6375c72affe0f70222cdcb45012b10f0bf3a9d5
 # The SQLite amalgamation in Bun's tree. Used for both the bundled() Provides
 # and the %%check that asserts it against sqlite_version(), so the two cannot
 # drift apart on a version bump.
-%define bundled_sqlite 3.53.2
+%define bundled_sqlite 3.53.4
 %define bootstrap_version 1.3.14
 %define dl_boot 
https://github.com/oven-sh/bun/releases/download/bun-v%{bootstrap_version}
 # Building Bun requires an existing Bun. The build driver runs on Node, but 24
@@ -51,7 +51,7 @@
 # slower but keeps the package free of foreign binaries.
 %bcond_without webkit_source
 Name:           bun
-Version:        1.4.2
+Version:        1.4.4
 Release:        0
 Summary:        Fast all-in-one JavaScript runtime and toolkit
 # Bun itself is MIT, but it is one statically linked executable and everything
@@ -61,12 +61,11 @@
 # Unicode-3.0 from unicode-ident, BSD-3-Clause from lol-html and lsquic.
 # picohttpparser (MIT OR Artistic-1.0-Perl) is taken under its permissive half.
 # See LICENSE.md, which upstream keeps current, and re-check this on every
-# version bump. IJG is gone with libjpeg-turbo, the only thing that carried it,
-# now that Patch4 links it from the distribution.
+# version bump. IJG is carried by the bundled libjpeg-turbo source.
 #
 # LGPL-2.1 section 6 is satisfied by shipping the engine's source: WebKit is
 # Source1 and is part of the src.rpm.
-License:        Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND 
LGPL-2.1-or-later AND MIT AND MPL-2.0 AND Unicode-3.0 AND Zlib AND blessing
+License:        Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND IJG AND 
LGPL-2.1-or-later AND MIT AND MPL-2.0 AND Unicode-3.0 AND Zlib AND blessing
 URL:            https://bun.sh/
 Source0:        
https://github.com/oven-sh/bun/archive/refs/tags/bun-v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 # JavaScriptCore source. Upstream's fork, at the revision Bun is developed
@@ -126,28 +125,36 @@
 # each and drops the rest, leaving .debug_str_offsets entries no unit refers to
 # any more, and debugedit asserts on the first of those.
 Patch3:         bun-webkit-no-type-units.patch
-# Link zstd, brotli, libdeflate, libspng, libwebp and libjpeg-turbo from the
-# distribution instead of the vendored copies. These are the bundled C
+# Link zstd, brotli, libdeflate, libspng and libwebp from the distribution
+# instead of the vendored copies. These are the bundled C
 # libraries whose pin is an unmodified upstream release rather than a fork and
 # that Bun reaches through their installed public headers, so each can be
 # tracked like any other shared library. See the patch header for the details
 # that are specific to each of them.
 Patch4:         bun-system-libs.patch
-# Raise the LLVM version bun pins from 21 to the distribution default.
-Patch5:         bun-llvm-22.patch
+# Rust 1.99 has TypeId reflection methods, but not the type_info::of
+# convenience function used by upstream. Call the compiler intrinsic directly.
+Patch5:         bun-rust-type-info.patch
+# std::sync::Once has no Default implementation in the shipped Rust compiler.
+Patch6:         bun-rust-once-default.patch
 BuildRequires:  cargo
-# LLVM 22.1.x, per Patch5. scripts/build/tools.ts enforces this for the C
-# compiler and the linker only; see the PATH shim in %%build for the C++
-# compiler, which it looks up without a version check.
-BuildRequires:  clang22
+# LLVM 23.1.x: upstream pins 23.1.1 (scripts/build/ci-images/spec.ts) and
+# scripts/build/tools.ts accepts the same major.minor, so the distribution's
+# 23.1.x needs no patch. It also requires clang's LLVM and rustc's LLVM to be
+# the same major version - both are 23 here. (bun-llvm-22.patch is gone with
+# 1.4.3: upstream moved 21 -> 23 and the distribution default moved 22 -> 23.)
+BuildRequires:  clang23
 BuildRequires:  cmake >= 3.24
 BuildRequires:  gcc-c++
 # Bun patches several of its vendored C dependencies with `git apply`.
 BuildRequires:  git-core
-BuildRequires:  lld22
-BuildRequires:  llvm22
+BuildRequires:  lld23
+BuildRequires:  llvm23
 BuildRequires:  ninja
-# The build driver runs on Node, and 1.4.2 refuses anything below 25
+%ifarch x86_64
+BuildRequires:  nasm
+%endif
+# The build driver runs on Node, and 1.4.4 refuses anything below 25
 # (scripts/build/configure.ts): the codegen scripts gate on import.meta.main,
 # and upstream set the floor at the release after the one that added it rather
 # than at 24.2. 26 is what upstream CI installs and what bun's own node headers
@@ -158,10 +165,15 @@
 BuildRequires:  perl
 BuildRequires:  pkgconfig
 BuildRequires:  python3
-# Not a floor upstream states - upstream pins a nightly - but the oldest
-# release this was actually built with. An older compiler fails deep in the
-# workspace instead of here.
-BuildRequires:  rust >= 1.97
+# Not a floor upstream states - upstream pins a nightly - but 1.4.4 needs it
+# twice over: the build refuses a clang whose LLVM major differs from rustc's
+# own (scripts/build/config.ts), and rust 1.99 is the first release whose
+# bundled LLVM is 23, to go with the distribution's clang23. An older
+# compiler fails deep in the workspace instead of here.
+BuildRequires:  rust >= 1.99
+# 1.4.4 builds the standard library from source in every profile
+# (scripts/build/rust.ts), which needs the rust-src component.
+BuildRequires:  rust-src
 BuildRequires:  unzip
 BuildRequires:  zstd
 # Unbundled by Patch4. brotlicommon has no header of its own but is a separate
@@ -171,7 +183,6 @@
 BuildRequires:  pkgconfig(libbrotlidec)
 BuildRequires:  pkgconfig(libbrotlienc)
 BuildRequires:  pkgconfig(libdeflate)
-BuildRequires:  pkgconfig(libturbojpeg)
 BuildRequires:  pkgconfig(libwebp)
 BuildRequires:  pkgconfig(libwebpdemux)
 BuildRequires:  pkgconfig(libwebpmux)
@@ -184,7 +195,7 @@
 # Bun is a single statically linked executable and everything still listed here
 # ends up inside it. Each is pinned to an exact commit, several are upstream
 # forks (boringssl, tinycc, mimalloc, lol-html) and the JavaScript engine is a
-# fork of WebKit, so none of them can be unbundled the way the six in Patch4
+# fork of WebKit, so none of them can be unbundled the way the five in Patch4
 # were. Unversioned because upstream pins commits rather than releases.
 # Regenerate from bun-prefetch.manifest, LICENSE.md and the crates.io
 # dependencies in Cargo.toml on a version bump - the manifest and LICENSE.md
@@ -195,6 +206,7 @@
 Provides:       bundled(hdr_histogram)
 Provides:       bundled(highway)
 Provides:       bundled(libarchive)
+Provides:       bundled(libjpeg-turbo)
 Provides:       bundled(lol-html)
 Provides:       bundled(ls-hpack)
 Provides:       bundled(ls-qpack)
@@ -290,34 +302,35 @@
 
 %if %{without rust_nightly}
 # Bun pins a Rust nightly. Use the distribution compiler instead and open the
-# unstable-feature gate, as rustc's own bootstrap does.
-rm -f rust-toolchain.toml
+# unstable-feature gate, as rustc's own bootstrap does. Keep a placeholder:
+# 1.4.4 tracks the file as a ninja input, so deleting it breaks the build.
+echo '# distro build uses system rust' > rust-toolchain.toml
 %endif
 
 %build
 # Bun resolves its own toolchain (scripts/build/tools.ts) and never reads CC,
 # CXX, AR or RANLIB - those are for the cc crate in the Rust workspace. Its
 # resolver looks up "clang" with a version check, so an unversioned clang of a
-# different major is rejected and clang-22 is found instead; but it looks up
+# different major is rejected and clang-23 is found instead; but it looks up
 # "clang++" with checkVersion:false ("clang++ is the same binary from the same
 # install", which does not hold here) and takes the first hit in PATH.
 # /usr/bin/clang++ is whatever major the unversioned clang package currently
 # points at, so every C++ unit - JavaScriptCore and Bun's own bindings alike -
 # can end up built by a different compiler than the C units. Put the right one
 # first in PATH; the resolver tries each name across all of PATH before moving
-# to the next name variant, so this wins. It is needed even while 22 is the
+# to the next name variant, so this wins. It is needed even while 23 is the
 # distribution default, because that default moves on its own.
 mkdir -p _clangshim
-ln -sf %{_bindir}/clang-22 _clangshim/clang
-ln -sf %{_bindir}/clang++-22 _clangshim/clang++
+ln -sf %{_bindir}/clang-23 _clangshim/clang
+ln -sf %{_bindir}/clang++-23 _clangshim/clang++
 export PATH="$PWD/_clangshim:$PATH"
 # llvm-ar, llvm-ranlib, llvm-nm and llvm-strip are looked up unversioned too,
 # but openSUSE ships no unversioned names for those, so they already resolve to
-# the 22 variants. ld.lld is version-checked like clang.
-export CC=clang-22
-export CXX=clang++-22
-export AR=llvm-ar-22
-export RANLIB=llvm-ranlib-22
+# the 23 variants. ld.lld is version-checked like clang.
+export CC=clang-23
+export CXX=clang++-23
+export AR=llvm-ar-23
+export RANLIB=llvm-ranlib-23
 export GIT_SHA="%{git_commit}"
 # process.versions.zstd and .libdeflate are generated from the vendored commit
 # hashes, which say nothing once the distribution libraries are linked instead
@@ -407,7 +420,7 @@
 # still pass every test above.
 ldd %{buildroot}%{_bindir}/bun
 for lib in libzstd libbrotlienc libbrotlidec libbrotlicommon libdeflate \
-           libspng libwebp libwebpmux libwebpdemux libturbojpeg; do
+           libspng libwebp libwebpmux libwebpdemux; do
     ldd %{buildroot}%{_bindir}/bun | grep -qE "\<$lib\.so" || \
         { echo "$lib is not linked - Patch4 did not take effect"; exit 1; }
 done

++++++ README.SUSE-maint ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:45.742603266 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:45.745603392 +0100
@@ -106,6 +106,15 @@
 be a crates.io crate; 1.4.0 vendors it to apply
 patches/rust-argon2/legacy-low-memory.patch.
 
+Since 1.4.3 the tree also carries the standard library's own registry
+dependencies: every profile builds std from source (-Zbuild-std), so the
+workspace resolve alone is short hashbrown, rustc-demangle, a newer libc
+than the workspace pins and their transitive closures. bun_prefetch vendors
+the rust-src library/ workspace (step 2b, same lockfile the build resolves)
+and merges it into cargo-vendor/; the two trees overlap and the workspace
+copy wins, while differing versions coexist as versioned dirs. Needs
+rust-src installed next to the rustc that runs the generator.
+
 The crates unpack to cargo-vendor/ rather than vendor/, which in Bun's tree
 already holds WebKit and lol-html; cargo requires every entry of its vendor
 directory to be a crate and rejects the ones that are not. The [source]
@@ -209,14 +218,22 @@
 Patches
 -------
 
-bun-offline-build.patch stops release builds from rebuilding the Rust standard
-library. Upstream rebuilds it to get -Ctarget-cpu into it and to feed
-cross-language LTO, but doing so resolves std's own dependencies from 
crates.io,
-which a build environment cannot reach. The distribution compiler's prebuilt
-std is what the rest of the system links against anyway, and cross-language LTO
-is off in this build. The patch also passes --offline to cargo (--locked is
-upstream's own since 1.4.0), and reduces the `bun install` ninja rule to
-touching its stamp - see "Source4 - the npm packages".
+bun-offline-build.patch passes --offline to cargo (--locked is upstream's own
+since 1.4.0), so the workspace and the standard library resolve from the
+pre-vendored crate tree and rust-src instead of crates.io, and reduces the
+`bun install` ninja rule to touching its stamp - see "Source4 - the npm
+packages". (Up to 1.4.2 the patch also kept release builds off rebuilding
+the Rust standard library; 1.4.3 builds std from source unconditionally -
+its link consumes each crate's rlib as a ninja edge, so there is no
+prebuilt-std path left to take.)
+
+bun-llvm-22.patch is gone as of 1.4.3. Upstream moved its LLVM pin 21 -> 23
+(scripts/build/ci-images/spec.ts) and the distribution default moved
+22 -> 23 with it, so the version check passes unpatched. 1.4.3 also
+requires clang's LLVM and rustc's LLVM to share a major version
+(scripts/build/config.ts); rust 1.99 is the first release whose bundled
+LLVM is 23, hence BuildRequires: rust >= 1.99. Building std from source
+needs the rust-src component.
 
 bun-unknown-lint.patch adds unknown_lints to two allow() attributes that name a
 lint newer than the released compiler. The workspace denies warnings, so an

++++++ bun-1.4.2.tar.gz -> bun-1.4.4.tar.gz ++++++
/work/SRC/openSUSE:Factory/bun/bun-1.4.2.tar.gz 
/work/SRC/openSUSE:Factory/.bun.new.2252680/bun-1.4.4.tar.gz differ: char 12, 
line 1

++++++ bun-node-modules-1.4.2.tar.zst -> bun-node-modules-1.4.4.tar.zst ++++++
/work/SRC/openSUSE:Factory/bun/bun-node-modules-1.4.2.tar.zst 
/work/SRC/openSUSE:Factory/.bun.new.2252680/bun-node-modules-1.4.4.tar.zst 
differ: char 7, line 1

++++++ bun-offline-build.patch ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:45.845607578 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:45.850607787 +0100
@@ -1,39 +1,25 @@
 diff --git a/scripts/build/rust.ts b/scripts/build/rust.ts
 --- a/scripts/build/rust.ts
 +++ b/scripts/build/rust.ts
-@@ -413,18 +413,22 @@
+@@ -281,6 +281,14 @@
      "--profile",
-     profile.name,
+     profile,
      "--locked",
-+    // Distribution builds have no network and a pre-vendored crate tree.
++    // Distribution builds have no network: resolve everything from the
++    // pre-vendored crate tree (workspace crates) and rust-src (-Zbuild-std
++    // below) instead. CARGO_NET_OFFLINE is set in the environment too; this
++    // states the requirement at the invocation that needs it. (1.4.3 builds
++    // std from source unconditionally - the link consumes each crate's rlib
++    // as a ninja edge - so unlike before there is no prebuilt-std path left
++    // to gate on the profile here.)
 +    "--offline",
    ];
--  if (tier3 || cfg.release || cfg.asan) {
-+  if (tier3 || cfg.asan) {
-     // Rebuild std from source (cargoBuildStdArg) because:
-     // tier3:   no prebuilt `rust-std` exists.
--    // release: prebuilt std is native code built for generic x86-64 with no
--    //          `.llvm_addrsig`. Rebuilding with our RUSTFLAGS gets it
--    //          `-Ctarget-cpu=` (AVX2/BMI in core::str / hashbrown), and under
--    //          `cfg.lto` it becomes bitcode that joins the cross-language LTO
--    //          unit + safe ICF instead of being an opaque blob in the link.
-     // asan:    prebuilt std is uninstrumented; rebuilding applies
-     //          `-Zsanitizer=address` so OOB/UAF inside Vec/String/HashMap are
-     //          visible instead of stopping at the std boundary.
-+    //
-+    // Release builds used to rebuild std here too, to get `-Ctarget-cpu=` 
into
-+    // it and to feed cross-language LTO. That is dropped when packaging for a
-+    // distribution: rebuilding std means resolving its own dependencies from
-+    // crates.io, which a build environment cannot reach, and the distribution
-+    // compiler's prebuilt std is the one the rest of the system links against
-+    // anyway. Cross-language LTO is off for the same build (--lto=off).
-     args.push(cargoBuildStdArg);
-     if (cfg.release && !cfg.asan) {
-       // Cargo's default build-std feature set is 
`panic-unwind,backtrace,default`.
+   // std is compiled from source (cargoBuildStdArg) in every build: the link 
is bun's own and takes each crate's rlib
+   // as the output of an edge (rust/units.ts linkedRlibs), so std's crates 
have to be units of the graph like the
 diff --git a/scripts/build/codegen.ts b/scripts/build/codegen.ts
 --- a/scripts/build/codegen.ts
 +++ b/scripts/build/codegen.ts
-@@ -146,11 +146,14 @@
+@@ -159,11 +159,14 @@
    //
    // CMake only tracked package.json as input; we add bun.lock so lockfile
    // version bumps actually reinstall.

++++++ bun-prefetch-1.4.2.tar.zst -> bun-prefetch-1.4.4.tar.zst ++++++
/work/SRC/openSUSE:Factory/bun/bun-prefetch-1.4.2.tar.zst 
/work/SRC/openSUSE:Factory/.bun.new.2252680/bun-prefetch-1.4.4.tar.zst differ: 
char 23, line 1

++++++ bun-prefetch.manifest ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:45.886609294 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:45.889609419 +0100
@@ -1,23 +1,23 @@
 0f29c74cc80722ca0638c95a101d9a1a  
93bb95e613d8c324e673607282fac0ae25a07368eabcc12c0e2539eaa95b0ecc  
https://github.com/oven-sh/libuv/archive/8023581113b276e7c1aee3f82da57ca0893faab1.tar.gz
+139477488b3dc2393923a45b4ddc8b95  
1e708b1730b96b21b9daad43cd67b10cb4af138a73daf549db5fdc0caac69510  
https://github.com/oven-sh/mimalloc/archive/92ef6587c57b262f6e6abf513f7776a2f8d12aeb.tar.gz
 1685a3355527fdec398ccf10f79b3f75  
c9ea1b3029b23b04376c229bd519489cee180874ec48cd863a5dcba628c0fe03  
https://github.com/c-ares/c-ares/archive/c7a3138dcfe3bb0eaaf10c0c24c36dc66dc790ab.tar.gz
-297099166a01f75e9a0caaa17f7b74f3  
440f3a94390c78eab88f74b92944d2f6b248e592e984412e389885dfb5796bf0  
https://github.com/libjpeg-turbo/libjpeg-turbo/archive/e352b02f794f701407b39af08576035ba3360d60.tar.gz
+1a3a126350c6e47f0402de7081b73f7e  
81e981eff4746da4c80e6622dc827b232e6333ff2e27320a6ee8fde86c891b92  
https://github.com/libarchive/libarchive/archive/27cbc7827172698143e440801fc0ba39ccb4f1f5.tar.gz
+24fd48c0f630f603958fa46681b8f832  
1e8f7a69a9aee3970cb3fa8fbc22e2df00b7daf8f2b51daf35f50001e6c6943c  
https://github.com/litespeedtech/ls-qpack/archive/91567706c41c0d97ab8dc576873ecd472d7869fa.tar.gz
+27f9ec806f9750c65c7b7f8b22534437  
113b9685dfc14dd2f3360d077283266eec2fbdfb0fe3e5600f11be151da0d68e  
https://github.com/google/brotli/archive/db24a98aed38a16de78cc05ca15cdd8dc2a0d92d.tar.gz
 2ced709f169b40bd84b3e0dc2765aff8  
76fb89b4454ff2161bb0cca2cf832e19b8b4001b0ef42fbcc2b4a437c945b2b6  
https://github.com/webmproject/libwebp/archive/b7e29b9d75bd31422b00c2a446d49d7af06c328d.tar.gz
-4296b191210d6b1b3f6c85bbce59eddf  
042f0efe7147063ff9ba10f1a38ed080e949bcbd04bdbf3592b8846dd11b1da2  
https://github.com/libarchive/libarchive/archive/ded82291ab41d5e355831b96b0e1ff49e24d8939.tar.gz
 45e9cfbefdc7f69b2e025785c7bd7616  
fca113c5d5add8bfb1aa31129a24acb8d49aa69ab3c22a2cc569aec88960526d  
https://nodejs.org/dist/v26.3.0/node-v26.3.0-headers.tar.gz
-46af79b3cf5b69771234ee14b41700ca  
f36343416ad823dfcca61bd18ad4bb7f0d8814ab77e0fd5ef169f4a9cddeb8b8  
https://github.com/oven-sh/mimalloc/archive/6a64e1ba7f5b2130d4efccb67ec87fd0003f0f6a.tar.gz
+57f11d39f91979cb9431ecf2faa3695d  
b138d8fc71e5f7f353b5784942cf08ad57050d7b321121f095627f696757f9f8  
https://github.com/litespeedtech/ls-hpack/archive/cf0f70dd10b352194c97448eb5d00b4aa484f531.tar.gz
 655c6ecdb6fc9cd5621eb37cad3758da  
a0d2a5d122c84b56a793a1553a9c3327fb2eb7469bf7a86b79e3c7be5d92e8d6  
https://github.com/zlib-ng/zlib-ng/archive/12731092979c6d07f42da27da673a9f6c7b13586.tar.gz
-723494d4c3a9902a1edf3613ad3d0cdb  
e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff  
https://github.com/google/brotli/archive/v1.1.0.tar.gz
-73e0c55d12ea4fc2665ba0e3b1461100  
07d8bf901bb1b15543f38eabd23938519e1210eebadb52f3d651d6ef130ef973  
https://github.com/litespeedtech/ls-hpack/archive/8905c024b6d052f083a3d11d0a169b3c2735c8a1.tar.gz
 87c5404c7fc9aa9ce3a44b8b1929b357  
e77c797444f191faf488d49c76c4f45c10b3d9275e0364ee10b6d05cfbe57baf  
https://github.com/sru-systems/rust-argon2/archive/ed81866f163f0c7026aa6fd8388adf37242eb32a.tar.gz
-97084f213075a65efe2e2346b2ee6c5c  
811c5e5ae5303a75ade50688880af6aad5d2f951ec5785f68186bd18635cdfc9  
https://github.com/HdrHistogram/HdrHistogram_c/archive/be60a9987ee48d0abf0d7b6a175bad8d6c1585d1.tar.gz
+89207ecaa5b6a22fd346c16e33024fe6  
427290c2067ec4c919632f9ba372ec2aac9005418578f32ef392db5f98a12a32  
https://github.com/HdrHistogram/HdrHistogram_c/archive/18c7a324383dded1451d15621cd018b0048057d0.tar.gz
+9113bd7317ae5193fe0a9b1c2aef56b1  
af56498149827f5a5e3f1ffb653c79c8c75557f3dc2caf6002cac38a59b844b7  
https://github.com/ebiggers/libdeflate/archive/92e6a0db9fa848d742f9eb286c92afc60f2c3dda.tar.gz
+a7b6d7c73979a459058fe59c1177b036  
45209a3f315ed6156dac8d7fa451b8be62d83f2daa5581cb6b94ee9f3f82cf6f  
https://github.com/libjpeg-turbo/libjpeg-turbo/archive/c85e6b905bf237038faa936dab160ebfc5da0344.tar.gz
 b2dcc6002e95cc474624da9a4aaea204  
741d705781e0b3e406beda8f1f994fbae01321237ce8023a1ad90fbaf7940c25  
https://github.com/google/highway/archive/2607d3b5b0113992fe84d3848859eae13b3b52c1.tar.gz
-ce0e2d9805b30dcc2686113111c1dfba  
1e5cc06bdbf3e1245d8b89c9e3588f507e3c8bc53fe8b8229770a9e8661dea81  
https://github.com/ebiggers/libdeflate/archive/c8c56a20f8f621e6a966b716b31f1dedab6a41e3.tar.gz
 ce854d7300ee8a356e6889a0f6a965ee  
a5028d5475f1eaf0ad785c18666b330027a923121d601129f4a61e7bfc89a1dd  
https://github.com/oven-sh/boringssl/archive/41bf9b59c2ebf277a7aa427e1ecad5cc80dd4d4f.tar.gz
-ceeb8e315778b9385bcaa3d3cd60390b  
e9d8abe5b7c1e35b9908a9521e2acd7c1d17547babc01d73c7297e02aebbcc2d  
https://github.com/litespeedtech/ls-qpack/archive/1e9c5b8e59f8161c54f168a570c8bfdc59ded0c3.tar.gz
-d3ef6cf1fbedd7f9d706da665bc05f6b  
f8cb90fb327eb91597c23163bf596c0d1882560be35b661d9ba84891cc461735  
https://github.com/litespeedtech/lsquic/archive/3181911301b1aa4f54c1ed690901abc674ee08fb.tar.gz
 d63099fc6ce4f6e5281d442e8feb24e9  
afd83edbe1a2d4accb72e869cd4218bb8665fda2b7cb2c5106fc4be80001a748  
https://github.com/oven-sh/lol-html/archive/725ce499aa9b71e38b7a2d0a9fbb6d7294a4079e.tar.gz
 e010993a240724688a560d14f80491f4  
4b0bd1f0cfb25e61b9103c35f27395530ff5b4c0d2513a00fd745849e85ea52c  
https://github.com/facebook/zstd/archive/f8745da6ff1ad1e7bab384bd1f9d742439278e99.tar.gz
 e6aca86c593b51adc54a86edcb58b3ce  
d656813290d70a750b69e768323ff3b3875adf8c2e8c2fdb4e57ca1467abf86a  
https://github.com/randy408/libspng/archive/fb768002d4288590083a476af628e51c3f1d47cd.tar.gz
 e715321533b32b832912e41f2813ea01  
50750680312923a59fdd36ae41f7091d8e35e51909d0e0b25b0b33ea9534bc08  
https://github.com/oven-sh/tinycc/archive/05f0fafaa3be31e31d7b4b5c17dc60f62c991171.tar.gz
-fad59b16ad4752cc63c8a23339da36f5  
637ff2ab6f5c7f7e05a5b5dc393d5cf2fea8d4754fcaceaaf935ffff5c1323ee  
https://github.com/h2o/picohttpparser/archive/066d2b1e9ab820703db0837a7255d92d30f0c9f5.tar.gz
+ecd56644a06346dbcdab87fb0c284afa  
c5a81d0b810e85d35ed9460e17576c71f0281ebfaba05d859c0bdfd8c96df73d  
https://github.com/litespeedtech/lsquic/archive/f812ceb9529e26717df78c6064a2ff648b949f3e.tar.gz
+f0abcbe6c6083ef3938eb3a305c433f9  
bd773fad1e2c6532b7a65ef6b60dec3612a3e566e3c844272cc2cbab89dc7e9c  
https://github.com/h2o/picohttpparser/archive/f4d94b48b31e0abae029ebeafcfd9ca0680ede58.tar.gz
 

++++++ bun-rust-once-default.patch ++++++
--- a/src/runtime/cli/lint_js.rs
+++ b/src/runtime/cli/lint_js.rs
@@ -407,7 +407,6 @@
 }
 
 /// Startup state that all VMs share.
-#[derive(Default)]
 struct Start {
     initialize: std::sync::Once,
     /// Set if the run won't have more than a few VMs. Stays unset if a VM 
starts before the files are known.
@@ -415,6 +414,16 @@
     memory: std::sync::OnceLock<usize>,
 }
 
+impl Default for Start {
+    fn default() -> Self {
+        Self {
+            initialize: std::sync::Once::new(),
+            is_for_few: AtomicBool::default(),
+            memory: std::sync::OnceLock::default(),
+        }
+    }
+}
+
 impl Start {
     /// [`memory_for_engines`]
     fn memory(&self) -> usize {

++++++ bun-rust-type-info.patch ++++++
--- a/src/collections/multi_array_list.rs
+++ b/src/collections/multi_array_list.rs
@@ -47,7 +47,7 @@
 
 use core::alloc::Layout;
 use core::marker::PhantomData;
-use core::mem::type_info;
+use core::intrinsics::type_id;
 use core::mem::{ManuallyDrop, MaybeUninit};
 use core::ptr::{self, NonNull};
 use std::alloc::{Allocator, Global};
@@ -253,7 +253,7 @@
 
 // The reflection methods on `TypeId` are compile-time-only functions: they can
 // be called from a `const` item or an inline `const { }` block, not from a
-// `const fn` body. `type_info::of::<F>()` is `TypeId::of` without the 
`'static`
+// `const fn` body. `type_id::<F>()` is `TypeId::of` without the `'static`
 // bound — reflected field ids are not `'static`-restricted, and column callers
 // routinely use lifetime-carrying field types (`&'a [u8]`, `Ref<'a>`).
 
@@ -318,7 +318,7 @@
     /// fields cannot sum past `size_of::<T>()`). A single-variant enum with an
     /// explicit `#[repr(int)]` still passes; its tag would never be written.
     const COUNT: usize = {
-        let id = type_info::of::<T>();
+        let id = type_id::<T>();
         assert!(
             id.variants() == 1,
             "MultiArrayList<T>: T must be a struct with named fields",
@@ -352,7 +352,7 @@
 
     /// `[FieldMeta; COUNT]` in declaration order.
     const META: [FieldMeta; MAX_FIELDS] = {
-        let id = type_info::of::<T>();
+        let id = type_id::<T>();
         let n = Self::COUNT;
         assert!(
             n <= MAX_FIELDS,
@@ -443,7 +443,7 @@
     #[cfg(test)]
     const fn index_of<const NAME: &'static str>() -> usize {
         const {
-            let id = type_info::of::<T>();
+            let id = type_id::<T>();
             let mut i = 0;
             while i < Self::COUNT {
                 if const_str_eq(id.field(0, i).name(), NAME) {
@@ -466,12 +466,12 @@
     /// rejected.
     const fn check<const NAME: &'static str, F>() -> usize {
         const {
-            let id = type_info::of::<T>();
+            let id = type_id::<T>();
             let mut i = 0;
             while i < Self::COUNT {
                 let f = id.field(0, i);
                 if const_str_eq(f.name(), NAME) {
-                    if !(f.type_id() == type_info::of::<F>()) {
+                    if !(f.type_id() == type_id::<F>()) {
                         assert!(
                             Self::META[i].size == core::mem::size_of::<F>(),
                             "MultiArrayList: column type does not match field 
type",
--- a/src/collections/lib.rs
+++ b/src/collections/lib.rs
@@ -2,13 +2,14 @@
 
 #![feature(
     type_info,
+    core_intrinsics,
     adt_const_params,
     unsized_const_params,
     const_cmp,
     const_trait_impl,
     allocator_api
 )]
-#![allow(incomplete_features)]
+#![allow(incomplete_features, internal_features)]
 #![warn(unused_must_use)]
 
 pub mod hive_array;

++++++ bun-system-libs.patch ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:45.927611010 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:45.929611094 +0100
@@ -1,6 +1,5 @@
 From: Martin Pluskal <[email protected]>
-Subject: Link zstd, brotli, libdeflate, libspng, libwebp and libjpeg-turbo
- from the distribution
+Subject: Link zstd, brotli, libdeflate, libspng and libwebp from the 
distribution
 
 Bun's build system has no USE_SYSTEM_* switch; the only precedent for a
 distribution library is the ICU block in systemLibs() (scripts/build/bun.ts),
@@ -9,7 +8,7 @@
 no compile and no -l for the vendored copy; the link flags are then added by
 hand in the same place ICU's are.
 
-These six are the vendored C libraries whose pin is an unmodified upstream
+These five are the vendored C libraries whose pin is an unmodified upstream
 release rather than a fork, that bun reaches through their installed public
 headers, and that no other dependency fetchDeps on. Each dep file carries the
 specific reasoning; the recurring points are:
@@ -20,13 +19,10 @@
   - libspng and libwebp: the Rust codecs mirror C structs and ABI version
     constants by hand. The distribution versions equal the vendored pins
     (0.7.4 and 1.6.0), so the layouts and constants agree.
-  - libjpeg-turbo: 8bit-only.patch and jbun_stubs.c only compile out the 12-
-    and 16-bit precisions to save size, which the distribution library simply
-    has.
   - libspng's fetchDeps on zlib goes away with it, since resolveDep() returns
     before reading them.
 
-All six stay vendored for Android, whose NDK sysroot ships none of them.
+All five stay vendored for Android, whose NDK sysroot ships none of them.
 
 process.versions.zstd and .libdeflate are generated from the vendored commit
 hashes, so depVersionsHeader.ts learns to take the real linked version from
@@ -35,12 +31,12 @@
 index ae2fdef..28a1e4e 100644
 --- a/scripts/build/bun.ts
 +++ b/scripts/build/bun.ts
-@@ -78,6 +78,25 @@ function systemLibs(cfg: Config): string[] {
+@@ -78,6 +78,24 @@ function systemLibs(cfg: Config): string[] {
          libs.push("-latomic");
        }
      }
 +    // openSUSE: these are unbundled - see the enabled() predicate in each of
-+    // deps/{zstd,brotli,libdeflate,libspng,libwebp,libjpeg-turbo}.ts for why
++    // deps/{zstd,brotli,libdeflate,libspng,libwebp}.ts for why
 +    // that one can go where the rest of the vendored list cannot.
 +    // brotlicommon comes last: static archives resolve left to right and the
 +    // encoder and decoder both draw symbols from it.
@@ -55,7 +51,6 @@
 +        "-lwebp",
 +        "-lwebpmux",
 +        "-lwebpdemux",
-+        "-lturbojpeg",
 +      );
 +    }
      // Linux local WebKit: link system ICU (prebuilt bundles its own).
@@ -116,27 +111,6 @@
    source: () => ({
      kind: "github-archive",
      repo: "ebiggers/libdeflate",
-diff --git a/scripts/build/deps/libjpeg-turbo.ts 
b/scripts/build/deps/libjpeg-turbo.ts
-index 224d1f3..e8eb699 100644
---- a/scripts/build/deps/libjpeg-turbo.ts
-+++ b/scripts/build/deps/libjpeg-turbo.ts
-@@ -89,6 +89,16 @@ const cmakedefine = (truthy: boolean): [string, string] => 
["#cmakedefine", trut
- export const libjpegTurbo: Dependency = {
-   name: "libjpeg-turbo",
- 
-+  // openSUSE: link the distribution's libturbojpeg instead of building the
-+  // vendored copy - 3.1.4 either side. codec_jpeg.rs uses only the tj3_* API
-+  // and two POD structs of ints, so nothing here depends on the internals the
-+  // vendored build reconfigures. The two patches above are size trims, not
-+  // fixes: 8bit-only.patch and jbun_stubs.c compile out the 12- and 16-bit
-+  // precisions, which the distribution library simply has. Dropping this also
-+  // drops the NASM SIMD kernels, and with them the only reason the spec
-+  // needed nasm on x86_64. See systemLibs() in scripts/build/bun.ts.
-+  enabled: cfg => !cfg.linux || cfg.abi === "android",
-+
-   source: () => ({
-     kind: "github-archive",
-     repo: "libjpeg-turbo/libjpeg-turbo",
 diff --git a/scripts/build/deps/libspng.ts b/scripts/build/deps/libspng.ts
 index 0f66452..00b2372 100644
 --- a/scripts/build/deps/libspng.ts

++++++ bun-uniform-dwarf.patch ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:45.947611847 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:45.952612056 +0100
@@ -1,11 +1,12 @@
 --- a/scripts/build/rust.ts
 +++ b/scripts/build/rust.ts
-@@ -376,6 +376,18 @@
+@@ -325,6 +325,19 @@
    // Keep frame pointers — matches the C++ side's `-fno-omit-frame-pointer`
    // (flags.ts:293-301). Needed so profilers and crash backtraces can walk 
Rust frames.
    rustflags.push("-Cforce-frame-pointers=yes");
-+  // Emit the same DWARF version as everything else linked in. Clang 21 and 
the
-+  // prebuilt standard library are both DWARF 5; rustc still defaults to 4, so
++  // Emit the same DWARF version as everything else linked in. Clang and the
++  // standard library (built from source with these same flags) are both
++  // DWARF 5; rustc still defaults to 4, so
 +  // the binary ends up carrying .debug_ranges and .debug_rnglists at once.
 +  // debugedit cannot read that mixture - it aborts on
 +  // "string_find_entry: Assertion `ret != NULL' failed" - and rpm then cannot
@@ -16,7 +17,7 @@
 +  // the section at all: "Unknown debugging section .debug_names", then the
 +  // same assertion.
 +  rustflags.push("-Cllvm-args=-accel-tables=Disable");
-   // Parallel frontend: rustc's default is single-threaded for parse / macro
-   // expansion / typeck / borrowck, so the critical-path crate (`bun_runtime`)
-   // sits on one core while the rest idle. With this, independent compiler
+   // The one of `hardeningFlags` (flags.ts) rustc has and does not already do:
+   // its stack probes are inline on this target with or without this.
+   if (cfg.hardened) rustflags.push("-Zstack-protector=strong");
 

++++++ bun-unknown-lint.patch ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:45.964612559 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:45.967612684 +0100
@@ -2,7 +2,7 @@
 index 56cff6a2..80c4ea94 100644
 --- a/src/bun_core/Global.rs
 +++ b/src/bun_core/Global.rs
-@@ -680,7 +680,9 @@ fn is_exiting() -> bool {
+@@ -674,7 +674,9 @@
  // args and are `noreturn`/kernel-validated — no memory-safety preconditions,
  // so `safe fn` discharges the link-time proof and the call sites are plain
  // calls. `#[link_name]` avoids colliding with this module's own `pub fn 
exit`.
@@ -11,13 +11,13 @@
 +// is built with, and the workspace denies warnings.
 +#[allow(unknown_lints, suspicious_runtime_symbol_definitions)] // signatures 
are ABI-identical; `safe fn` is intentional (above)
  unsafe extern "C" {
+     #[cfg(windows)]
      #[link_name = "abort"]
-     safe fn libc_abort() -> !;
 diff --git a/src/sys/lib.rs b/src/sys/lib.rs
 index cf908fe8..649c06c2 100644
 --- a/src/sys/lib.rs
 +++ b/src/sys/lib.rs
-@@ -1566,7 +1566,9 @@ mod safe_libc {
+@@ -1535,7 +1535,9 @@
      use core::ffi::c_int;
      // `close` is a libc symbol std relies on; this is an FFI import (not a
      // competing definition) with the canonical signature.

++++++ bun-vendor-1.4.2.tar.zst -> bun-vendor-1.4.4.tar.zst ++++++
/work/SRC/openSUSE:Factory/bun/bun-vendor-1.4.2.tar.zst 
/work/SRC/openSUSE:Factory/.bun.new.2252680/bun-vendor-1.4.4.tar.zst differ: 
char 7, line 1

++++++ bun-webkit-no-type-units.patch ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:45.993613773 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:45.996613898 +0100
@@ -1,6 +1,7 @@
 --- a/scripts/build/deps/webkit.ts
 +++ b/scripts/build/deps/webkit.ts
-@@ -252,5 +252,19 @@
+@@ -260,6 +260,20 @@
+     // PIE-default distros — without it the driver still passes -pie and the
      // -fno-pic probe object fails R_X86_64_32S relocation, killing 
FindThreads.
      if (cfg.unix && cfg.abi !== "android") optFlags.push("-fno-pic", 
"-fno-pie", "-no-pie");
 +    // Do not put types in their own units. WebKit's cmake turns them on for
@@ -17,7 +18,7 @@
 +    // very little. WebKit prepends its own flags to CMAKE_CXX_FLAGS and
 +    // these are appended, so this one wins.
 +    if (cfg.unix && !cfg.darwin) optFlags.push("-fno-debug-types-section");
+     if (cfg.hardened) optFlags.push(...hardeningFlags);
      if (cfg.lto) optFlags.push("-flto=thin");
      if (cfg.pgoGenerate) 
optFlags.push(`-fprofile-generate=${cfg.pgoGenerate}`);
-     if (cfg.pgoUse) {
 

++++++ bun_prefetch ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:46.020614903 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:46.024615070 +0100
@@ -30,7 +30,9 @@
 # Rust crates are vendored here rather than by obs-service-cargo because the
 # workspace has path dependencies on vendor/lolhtml and vendor/rust-argon2,
 # which are downloads above: cargo cannot even read the manifest until they
-# are unpacked, which has to happen between the two steps.
+# are unpacked, which has to happen between the two steps. The vendor tree
+# also carries the standard library's own registry dependencies for
+# -Zbuild-std (step 2b), read from the rust-src next to the rustc at hand.
 #
 # Run after a version bump:
 #     ./bun_prefetch
@@ -172,6 +174,34 @@
 mv "$srcdir/rust-toolchain.toml.orig" "$srcdir/rust-toolchain.toml"
 
 # ---------------------------------------------------------------------------
+# 2b. Rust crates for -Zbuild-std
+#
+# 1.4.3 builds the standard library from source in every profile
+# (scripts/build/rust.ts): the link consumes each crate's rlib as a ninja
+# edge, so there is no prebuilt-std path. std's own registry dependencies
+# (hashbrown, rustc-demangle, a newer libc than the workspace pins, ...)
+# are not part of the workspace resolve above and have to be vendored too.
+# They are pinned by the rust-src component's library/Cargo.lock - the same
+# component the build needs in its build root - so vendor that workspace
+# with the rustc at hand and merge it in. Needs rust-src installed next to
+# the rustc running this (rustc --print sysroot must show library/).
+# ---------------------------------------------------------------------------
+echo "vendoring crates for -Zbuild-std"
+sysroot=$(rustc --print sysroot)
+stdws="$sysroot/lib/rustlib/src/rust/library"
+[ -f "$stdws/Cargo.toml" ] || {
+    echo "$0: $stdws/Cargo.toml missing; install rust-src for this rustc" >&2
+    exit 1
+}
+# RUSTC_BOOTSTRAP: the std manifests use nightly cargo features; the build
+# sets the same for its own metadata resolve (scripts/build/rust/plan.ts).
+(cd "$stdws" && RUSTC_BOOTSTRAP=1 cargo vendor --locked --versioned-dirs 
"$workdir/std-vendor" >/dev/null)
+# The two trees overlap (cfg-if, ...); the workspace copy stays. Different
+# versions of one crate coexist as versioned dirs, which is what the two
+# separate resolves (workspace lock, std lock) need.
+cp -rn "$workdir/std-vendor/"* "$workdir/cargo-vendor/"
+
+# ---------------------------------------------------------------------------
 # 3. npm packages for the code generators
 # ---------------------------------------------------------------------------
 echo "installing npm dependencies"

++++++ bun_webkit ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:46.040615740 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:46.042615824 +0100
@@ -33,11 +33,13 @@
 #
 # Run after a version bump:
 #     ./bun_webkit
-# then commit the regenerated archive alongside the new tarball.
+# then commit the regenerated archive alongside the new tarball. Temporary
+# checkout defaults to /var/tmp; use --tmpdir to choose another filesystem.
 
 set -euo pipefail
 
 outdir="."
+tmpdir="${TMPDIR:-/var/tmp}"
 source_archive=""
 version=""
 repo="https://github.com/oven-sh/WebKit.git";
@@ -47,6 +49,7 @@
         --source)   source_archive="$2"; shift 2 ;;
         --version)  version="$2"; shift 2 ;;
         --outdir)   outdir="$2"; shift 2 ;;
+        --tmpdir)   tmpdir="$2"; shift 2 ;;
         --repo)     repo="$2"; shift 2 ;;
         *) echo "$0: unknown option: $1" >&2; exit 1 ;;
     esac
@@ -64,7 +67,7 @@
     version=${version#bun-}
 fi
 
-workdir=$(mktemp -d)
+workdir=$(mktemp -d "${tmpdir%/}/bun-webkit.XXXXXXXX")
 trap 'rm -rf "$workdir"' EXIT
 
 echo "reading the pinned WebKit revision from $source_archive"

++++++ webkit-1.4.2.tar.zst -> webkit-1.4.4.tar.zst ++++++
/work/SRC/openSUSE:Factory/bun/webkit-1.4.2.tar.zst 
/work/SRC/openSUSE:Factory/.bun.new.2252680/webkit-1.4.4.tar.zst differ: char 
7, line 1

++++++ webkit.revision ++++++
--- /var/tmp/diff_new_pack.oDJTLW/_old  2026-10-28 17:46:46.078617331 +0100
+++ /var/tmp/diff_new_pack.oDJTLW/_new  2026-10-28 17:46:46.081617456 +0100
@@ -1,2 +1,2 @@
-2e2aa2290fac856d6f451ceacb58f7f5b44dd057  webkit-1.4.2.tar.zst
+d6375c72affe0f70222cdcb45012b10f0bf3a9d5  webkit-1.4.4.tar.zst
 

Reply via email to