diff --git a/srcpkgs/chromium/patches/chromium-146-001-no-esbuild.patch b/srcpkgs/chromium/patches/chromium-146-001-no-esbuild.patch deleted file mode 100644 index bf29ea83e871d3..00000000000000 --- a/srcpkgs/chromium/patches/chromium-146-001-no-esbuild.patch +++ /dev/null @@ -1,348 +0,0 @@ -From b3b48609825fdae8ef48ac4574e36691577f29da Mon Sep 17 00:00:00 2001 -From: LN Liberda -Date: Thu, 5 Feb 2026 05:26:48 +0100 -Subject: [PATCH] Revert "[M144][build] Minify release builds with esbuild - instead of rollup" - -This reverts commit f130475580017f9f87502343dbcfc0c76dccefe8. ---- - DEPS | 2 +- - front_end/models/ai_assistance/injected.ts | 29 ++++-- - front_end/panels/application/BUILD.gn | 1 - - .../InterestGroupStorageView.test.ts | 13 ++- - .../SharedStorageEventsView.test.ts | 9 +- - scripts/build/esbuild.js | 5 +- - scripts/build/ninja/bundle.gni | 92 +++++++++++++------ - 7 files changed, 97 insertions(+), 54 deletions(-) - -diff --git a/third_party/devtools-frontend/src/DEPS b/third_party/devtools-frontend/src/DEPS -index 7afe2393a2..ac7cf6ddb3 100644 ---- a/third_party/devtools-frontend/src/DEPS -+++ b/third_party/devtools-frontend/src/DEPS -@@ -148,7 +148,7 @@ deps = { - 'url': Var('build_url') + '@' + Var('build_revision'), - 'condition': 'build_with_chromium == False', - }, -- 'third_party/siso/cipd': { -+ 'third_party/siso': { - 'packages': [ - { - 'package': 'build/siso/${{platform}}', -diff --git a/third_party/devtools-frontend/src/front_end/models/ai_assistance/injected.ts b/third_party/devtools-frontend/src/front_end/models/ai_assistance/injected.ts -index cff188cbba..af9c3c14e6 100644 ---- a/third_party/devtools-frontend/src/front_end/models/ai_assistance/injected.ts -+++ b/third_party/devtools-frontend/src/front_end/models/ai_assistance/injected.ts -@@ -9,6 +9,10 @@ - * They need remain isolated for importing other function so - * bundling them for production does not create issues. - */ -+/* eslint-disable @devtools/no-adopted-style-sheets -- -+ * The scripts in this file aren't executed as part of DevTools front-end, -+ * but are injected into the page. -+ **/ - - export const AI_ASSISTANCE_CSS_CLASS_NAME = 'ai-style-change'; - export const FREESTYLER_WORLD_NAME = 'DevTools AI Assistance'; -@@ -96,9 +100,19 @@ export const PAGE_EXPOSED_FUNCTIONS = ['setElementStyles']; - /** - * Please see fileoverview - */ --const setupSetElementStyles = `function setupSetElementStyles(prefix) { -- const global = globalThis; -- async function setElementStyles(el, styles) { -+function setupSetElementStyles(prefix: typeof AI_ASSISTANCE_CSS_CLASS_NAME): void { -+ // Executed in another world -+ const global = globalThis as unknown as { -+ freestyler: FreestylerBinding, -+ setElementStyles: unknown, -+ }; -+ async function setElementStyles( -+ el: HTMLElement&{ -+ // eslint-disable-next-line -+ __freestylerClassName?: `${typeof AI_ASSISTANCE_CSS_CLASS_NAME}-${number}`, -+ }, -+ styles: Record, -+ ): Promise { - let selector = el.tagName.toLowerCase(); - if (el.id) { - selector = '#' + el.id; -@@ -117,7 +131,7 @@ const setupSetElementStyles = `function setupSetElementStyles(prefix) { - - // __freestylerClassName is not exposed to the page due to this being - // run in the isolated world. -- const className = el.__freestylerClassName ?? \`\${prefix}-\${global.freestyler.id}\`; -+ const className = el.__freestylerClassName ?? `${prefix}-${global.freestyler.id}`; - el.__freestylerClassName = className; - el.classList.add(className); - -@@ -126,6 +140,7 @@ const setupSetElementStyles = `function setupSetElementStyles(prefix) { - // if it's kebab case. - el.style.removeProperty(key); - // If it's camel case. -+ // @ts-expect-error this won't throw if wrong - el.style[key] = ''; - } - -@@ -153,7 +168,7 @@ const setupSetElementStyles = `function setupSetElementStyles(prefix) { - continue; - } - -- hasAiStyleChange = rule.selectorText.startsWith(\`.\${prefix}\`); -+ hasAiStyleChange = rule.selectorText.startsWith(`.${prefix}`); - if (hasAiStyleChange) { - stylesheet = sheet; - break; -@@ -168,6 +183,6 @@ const setupSetElementStyles = `function setupSetElementStyles(prefix) { - } - - global.setElementStyles = setElementStyles; --}`; -+} - --export const injectedFunctions = `(${setupSetElementStyles})('${AI_ASSISTANCE_CSS_CLASS_NAME}')`; -+export const injectedFunctions = `(${String(setupSetElementStyles)})('${AI_ASSISTANCE_CSS_CLASS_NAME}')`; -diff --git a/third_party/devtools-frontend/src/front_end/panels/application/BUILD.gn b/third_party/devtools-frontend/src/front_end/panels/application/BUILD.gn -index 1f7acb779f..4a59d29cdf 100644 ---- a/third_party/devtools-frontend/src/front_end/panels/application/BUILD.gn -+++ b/third_party/devtools-frontend/src/front_end/panels/application/BUILD.gn -@@ -196,7 +196,6 @@ devtools_ui_module("unittests") { - "../../core/sdk:bundle", - "../../testing", - "../../ui/components/render_coordinator:bundle", -- "../../ui/legacy:bundle", - "./components", - "./preloading/components", - ] -diff --git a/third_party/devtools-frontend/src/front_end/panels/application/InterestGroupStorageView.test.ts b/third_party/devtools-frontend/src/front_end/panels/application/InterestGroupStorageView.test.ts -index f2e31be0f0..70e1011ee4 100644 ---- a/third_party/devtools-frontend/src/front_end/panels/application/InterestGroupStorageView.test.ts -+++ b/third_party/devtools-frontend/src/front_end/panels/application/InterestGroupStorageView.test.ts -@@ -6,7 +6,6 @@ import * as Protocol from '../../generated/protocol.js'; - import {raf} from '../../testing/DOMHelpers.js'; - import {expectCall} from '../../testing/ExpectStubCall.js'; - import {describeWithMockConnection} from '../../testing/MockConnection.js'; --import * as UI from '../../ui/legacy/legacy.js'; - - import * as Resources from './application.js'; - -@@ -67,7 +66,7 @@ describeWithMockConnection('InterestGroupStorageView', () => { - - it('initially has placeholder sidebar', () => { - const view = new View.InterestGroupStorageView(new InterestGroupDetailsGetter()); -- assert.notInstanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.notDeepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - - const placeholder = view.sidebarWidget()?.contentElement; - assert.deepEqual( -@@ -87,7 +86,7 @@ describeWithMockConnection('InterestGroupStorageView', () => { - grid.dispatchEvent(new CustomEvent('select', {detail: events[0]})); - await raf(); - sinon.assert.calledOnce(spy); -- assert.instanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.deepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - }); - - it('Clears sidebarWidget upon receiving cellFocusedEvent on an additionalBid-type events', async function() { -@@ -110,7 +109,7 @@ describeWithMockConnection('InterestGroupStorageView', () => { - grid.dispatchEvent(new CustomEvent('select', {detail: {...events[0], type: eventType}})); - await sideBarUpdateDone; - sinon.assert.calledOnce(spy); -- assert.notInstanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.notDeepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - assert.isTrue(view.sidebarWidget()?.contentElement.firstChild?.textContent?.includes('No details')); - } - }); -@@ -131,7 +130,7 @@ describeWithMockConnection('InterestGroupStorageView', () => { - grid.dispatchEvent(new CustomEvent('select', {detail: events[0]})); - await raf(); - sinon.assert.calledOnce(spy); -- assert.notInstanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.notDeepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - assert.isTrue(view.sidebarWidget()?.contentElement.firstChild?.textContent?.includes('No details')); - }); - -@@ -146,10 +145,10 @@ describeWithMockConnection('InterestGroupStorageView', () => { - grid.dispatchEvent(new CustomEvent('select', {detail: events[0]})); - await raf(); - sinon.assert.calledOnce(spy); -- assert.instanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.deepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - view.clearEvents(); - sinon.assert.calledTwice(spy); -- assert.notInstanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.notDeepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - assert.isTrue(view.sidebarWidget()?.contentElement.textContent?.includes( - 'No interest group selectedSelect any interest group event to display the group\'s current state')); - }); -diff --git a/third_party/devtools-frontend/src/front_end/panels/application/SharedStorageEventsView.test.ts b/third_party/devtools-frontend/src/front_end/panels/application/SharedStorageEventsView.test.ts -index d06dfa17f8..7c7b95ad16 100644 ---- a/third_party/devtools-frontend/src/front_end/panels/application/SharedStorageEventsView.test.ts -+++ b/third_party/devtools-frontend/src/front_end/panels/application/SharedStorageEventsView.test.ts -@@ -5,7 +5,6 @@ - import * as Protocol from '../../generated/protocol.js'; - import {raf} from '../../testing/DOMHelpers.js'; - import {describeWithMockConnection} from '../../testing/MockConnection.js'; --import * as UI from '../../ui/legacy/legacy.js'; - - import * as Resources from './application.js'; - -@@ -179,7 +178,7 @@ describeWithMockConnection('SharedStorageEventsView', () => { - - it('initially has placeholder sidebar', () => { - const view = new View.SharedStorageEventsView(); -- assert.notInstanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.notDeepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - assert.deepEqual(view.sidebarWidget()?.contentElement.firstChild?.textContent, 'No shared storage event selected'); - }); - -@@ -197,7 +196,7 @@ describeWithMockConnection('SharedStorageEventsView', () => { - grid.onSelect(EVENTS[0]); - await raf(); - sinon.assert.calledOnce(spy); -- assert.instanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.deepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - }); - - it('clears sidebarWidget upon clearEvents', async () => { -@@ -214,10 +213,10 @@ describeWithMockConnection('SharedStorageEventsView', () => { - grid.onSelect(EVENTS[0]); - await raf(); - sinon.assert.calledOnce(spy); -- assert.instanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.deepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - view.clearEvents(); - sinon.assert.calledTwice(spy); -- assert.notInstanceOf(view.sidebarWidget(), UI.SearchableView.SearchableView); -+ assert.notDeepEqual(view.sidebarWidget()?.constructor.name, 'SearchableView'); - assert.deepEqual(view.sidebarWidget()?.contentElement.firstChild?.textContent, 'No shared storage event selected'); - }); - -diff --git a/third_party/devtools-frontend/src/scripts/build/esbuild.js b/third_party/devtools-frontend/src/scripts/build/esbuild.js -index 970613f0ac..7305a5519a 100644 ---- a/third_party/devtools-frontend/src/scripts/build/esbuild.js -+++ b/third_party/devtools-frontend/src/scripts/build/esbuild.js -@@ -25,9 +25,7 @@ const esbuild = await import('esbuild'); - - const entryPoints = [process.argv[2]]; - const outfile = process.argv[3]; --const additionalArgs = process.argv.slice(4); --const useSourceMaps = additionalArgs.includes('--configSourcemaps'); --const minify = additionalArgs.includes('--minify'); -+const useSourceMaps = process.argv.slice(4).includes('--configSourcemaps'); - - const outdir = path.dirname(outfile); - -@@ -48,7 +46,6 @@ try { - platform: 'browser', - plugins: [plugin], - sourcemap: useSourceMaps, -- minify, - }); - } catch (err) { - console.error('Failed to run esbuild:', err); -diff --git a/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni b/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni -index 7d8fee3433..9b44b1f1b5 100644 ---- a/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni -+++ b/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni -@@ -10,38 +10,72 @@ template("bundle") { - assert(defined(invoker.entrypoint), - "You must define the 'entrypoint' for a bundle target") - -- node_action(target_name) { -- script = "scripts/build/esbuild.js" -- forward_variables_from(invoker, -- [ -- "visibility", -- "deps", -- "public_deps", -- ]) -- -- inputs = [ -- invoker.entrypoint, -- devtools_location_prepend + "scripts/build/devtools_plugin.js", -- devtools_location_prepend + "scripts/devtools_paths.js", -- ] -- -- _esbuild = devtools_location_prepend + "third_party/esbuild/esbuild" -- if (host_os == "win") { -- inputs += [ _esbuild + ".exe" ] -- } else { -- inputs += [ _esbuild ] -- } -+ _fast_bundle = is_debug || devtools_skip_typecheck -+ assert(!is_official_build || !_fast_bundle, -+ "Fast bundling is disallowed for official builds.") -+ -+ if (_fast_bundle) { -+ node_action(target_name) { -+ script = "scripts/build/esbuild.js" -+ forward_variables_from(invoker, -+ [ -+ "visibility", -+ "deps", -+ "public_deps", -+ ]) -+ -+ inputs = [ -+ invoker.entrypoint, -+ devtools_location_prepend + "scripts/build/devtools_plugin.js", -+ devtools_location_prepend + "scripts/devtools_paths.js", -+ ] -+ -+ _esbuild = devtools_location_prepend + "third_party/esbuild/esbuild" -+ if (host_os == "win") { -+ inputs += [ _esbuild + ".exe" ] -+ } else { -+ inputs += [ _esbuild ] -+ } - -- args = [ -- rebase_path(invoker.entrypoint, root_build_dir), -- rebase_path(invoker.output_file_location, root_build_dir), -- "--configSourcemaps", -- ] -+ args = [ -+ rebase_path(invoker.entrypoint, root_build_dir), -+ rebase_path(invoker.output_file_location, root_build_dir), -+ "--configSourcemaps", -+ ] - -- if (!is_debug) { -- args += [ "--minify" ] -+ outputs = [ invoker.output_file_location ] - } -+ } else { -+ node_action(target_name) { -+ script = "node_modules/@rollup/wasm-node/dist/bin/rollup" - -- outputs = [ invoker.output_file_location ] -+ forward_variables_from(invoker, -+ [ -+ "visibility", -+ "deps", -+ "public_deps", -+ ]) -+ -+ inputs = [ -+ invoker.entrypoint, -+ devtools_location_prepend + "scripts/build/rollup.config.mjs", -+ devtools_location_prepend + "scripts/build/devtools_plugin.js", -+ devtools_location_prepend + "scripts/devtools_paths.js", -+ ] -+ -+ args = [ -+ "--config", -+ rebase_path( -+ devtools_location_prepend + "scripts/build/rollup.config.mjs", -+ root_build_dir), -+ "--input", -+ rebase_path(invoker.entrypoint, root_build_dir), -+ "--file", -+ rebase_path(invoker.output_file_location, root_build_dir), -+ "--configSourcemaps", -+ ] -+ -+ outputs = [ invoker.output_file_location ] -+ } - } - } diff --git a/srcpkgs/chromium/patches/chromium-146-002-rollup-as-rollup.patch b/srcpkgs/chromium/patches/chromium-146-002-rollup-as-rollup.patch deleted file mode 100644 index 0066ff0bfe4c76..00000000000000 --- a/srcpkgs/chromium/patches/chromium-146-002-rollup-as-rollup.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 354850338d29df5f9b538de29aae182c7298ce43 Mon Sep 17 00:00:00 2001 -From: LN Liberda -Date: Mon, 9 Feb 2026 05:08:49 +0100 -Subject: [PATCH] Use rollup from rollup instead of @rollup/wasm-node - -cr145-rollup-wasm.patch installs it as rollup and it's annoying to change -that, as either something has to be installed as rollup to satisfy peer -dependencies, or legacy-peer-deps=true has to be used. Both make diff -even bigger than already is. ---- - scripts/build/ninja/bundle.gni | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni b/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni -index 9b44b1f1b5..b11164a3e0 100644 ---- a/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni -+++ b/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni -@@ -47,7 +47,7 @@ template("bundle") { - } - } else { - node_action(target_name) { -- script = "node_modules/@rollup/wasm-node/dist/bin/rollup" -+ script = "node_modules/rollup/dist/bin/rollup" - - forward_variables_from(invoker, - [ diff --git a/srcpkgs/chromium/patches/chromium-148-rust-toolchain-var.patch b/srcpkgs/chromium/patches/chromium-148-rust-toolchain-var.patch new file mode 100644 index 00000000000000..916b8a849a6c3a --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-148-rust-toolchain-var.patch @@ -0,0 +1,75 @@ +From ab0e02d9fd67527217acec9f1cd9a6bd48b3e4a3 Mon Sep 17 00:00:00 2001 +From: LN Liberda +Date: Sat, 4 Apr 2026 20:49:57 +0200 +Subject: [PATCH] Use rust_sysroot instead of hardcoding + //third_party/rust-toolchain + +Bug: 491242305 +--- + build/rust/cargo_crate.gni | 4 ++-- + build/rust/std/BUILD.gn | 4 ++-- + build/toolchain/gcc_toolchain.gni | 2 +- + build/toolchain/win/toolchain.gni | 4 ++-- + 4 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/build/rust/cargo_crate.gni b/build/rust/cargo_crate.gni +index 8981cac7e190f..a245f336f21f6 100644 +--- a/build/rust/cargo_crate.gni ++++ b/build/rust/cargo_crate.gni +@@ -457,9 +457,9 @@ template("cargo_crate") { + ] + + if (host_os == "win") { +- inputs += [ "//third_party/rust-toolchain/bin/rustc.exe" ] ++ inputs += [ "$rust_sysroot/bin/rustc.exe" ] + } else { +- inputs += [ "//third_party/rust-toolchain/bin/rustc" ] ++ inputs += [ "$rust_sysroot/bin/rustc" ] + } + + build_script_target = ":${_build_script_name}($rust_macro_toolchain)" +diff --git a/build/rust/std/BUILD.gn b/build/rust/std/BUILD.gn +index 6c8022bcb0cb8..2ad609153e8ad 100644 +--- a/build/rust/std/BUILD.gn ++++ b/build/rust/std/BUILD.gn +@@ -268,9 +268,9 @@ if (toolchain_has_rust) { + out_depfile = rebase_path(depfile, root_build_dir) + + if (host_os == "win") { +- inputs = [ "//third_party/rust-toolchain/bin/rustc.exe" ] ++ inputs = [ "$rust_sysroot/bin/rustc.exe" ] + } else { +- inputs = [ "//third_party/rust-toolchain/bin/rustc" ] ++ inputs = [ "$rust_sysroot/bin/rustc" ] + } + + # For the rustc sysroot we must include even the rlibs we don't pass to +diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni +index 6c3298cbebd92..699bec606d852 100644 +--- a/build/toolchain/gcc_toolchain.gni ++++ b/build/toolchain/gcc_toolchain.gni +@@ -681,7 +681,7 @@ template("single_gcc_toolchain") { + "//build/action_helpers.py", + "//build/gn_helpers.py", + "//build/rust/gni_impl/rustc_wrapper.py", +- "//third_party/rust-toolchain/bin/rustc", ++ "$rust_sysroot/bin/rustc", + ] + + # RSP manipulation due to https://bugs.chromium.org/p/gn/issues/detail?id=249 +diff --git a/build/toolchain/win/toolchain.gni b/build/toolchain/win/toolchain.gni +index a8e65d09341ed..15556748c6473 100644 +--- a/build/toolchain/win/toolchain.gni ++++ b/build/toolchain/win/toolchain.gni +@@ -363,9 +363,9 @@ template("msvc_toolchain") { + ] + + if (host_os == "win") { +- rustc_wrapper_inputs += [ "//third_party/rust-toolchain/bin/rustc.exe" ] ++ rustc_wrapper_inputs += [ "$rust_sysroot/bin/rustc.exe" ] + } else { +- rustc_wrapper_inputs += [ "//third_party/rust-toolchain/bin/rustc" ] ++ rustc_wrapper_inputs += [ "$rust_sysroot/bin/rustc" ] + } + + tool("rust_staticlib") { diff --git a/srcpkgs/chromium/patches/chromium-148-sanitize-ignore-for-ubsan-feature.patch b/srcpkgs/chromium/patches/chromium-148-sanitize-ignore-for-ubsan-feature.patch new file mode 100644 index 00000000000000..3f3f7477f385da --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-148-sanitize-ignore-for-ubsan-feature.patch @@ -0,0 +1,11 @@ +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -1944,7 +1944,7 @@ + # sanitizer) is enabled, they then do expensive debug like operations. We + # want to suppress this behaviour since we want to keep performance costs + # as low as possible while having these checks. +- "-fsanitize-ignore-for-ubsan-feature=return", ++ # "-fsanitize-ignore-for-ubsan-feature=return", + ] + } + } diff --git a/srcpkgs/chromium/patches/chromium-148-v8-no-san-trap.patch b/srcpkgs/chromium/patches/chromium-148-v8-no-san-trap.patch new file mode 100644 index 00000000000000..f90258a9798e50 --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-148-v8-no-san-trap.patch @@ -0,0 +1,44 @@ +From c2a290c80bcf93d506c377f44e426ebbb5f16e36 Mon Sep 17 00:00:00 2001 +From: LN Liberda +Date: Sat, 4 Apr 2026 23:23:29 +0200 +Subject: [PATCH] Not sanitizing. + +I think partial sanitizers are causing this to trigger. Fails to link. +--- + src/sandbox/testing.cc | 16 ---------------- + 1 file changed, 16 deletions(-) + +diff --git a/v8/src/sandbox/testing.cc b/v8/src/sandbox/testing.cc +index 99346c55..ffb86e7e 100644 +--- a/v8/src/sandbox/testing.cc ++++ b/v8/src/sandbox/testing.cc +@@ -850,13 +850,6 @@ void UninstallCrashFilter() { + for (int signal : kSignalsToHandle) { + sigaction(signal, &g_old_handlers[signal], nullptr); + } +- +- // We should also uninstall the sanitizer death callback as our crash filter +- // may hand a crash over to sanitizers, which should then not enter our crash +- // filtering logic a second time. +-#ifdef V8_USE_ANY_SANITIZER +- __sanitizer_set_death_callback(nullptr); +-#endif // V8_USE_ANY_SANITIZER + } + + void ForwardToOldHandler(int signal, siginfo_t* info, void* context) { +@@ -1133,15 +1126,6 @@ void InstallCrashFilter() { + success &= (sigaction(signal, &action, &g_old_handlers[signal]) == 0); + } + CHECK(success); +- +-#ifdef V8_USE_ANY_SANITIZER +- // We install sanitizer specific crash handlers. These can only check for +- // in-sandbox crashes on certain configurations. +- // +- // The crash handler also resets the signal handler as sanitizer may use +- // `abort()` via `abort_on_error=1` option to signal problems. +- __sanitizer_set_death_callback(&SanitizerFaultHandler); +-#endif // V8_USE_ANY_SANITIZER + } + + #endif // V8_OS_LINUX diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index c3b1db828ef9cb..b1925ee8ae153d 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,7 +1,7 @@ # Template file for 'chromium' pkgname=chromium # See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version -version=147.0.7727.101 +version=148.0.7778.96 revision=1 _rollup=4.22.4 archs="i686* x86_64* aarch64* armv7l*" @@ -9,7 +9,7 @@ _llvmver=22 hostmakedepends=" $(vopt_if clang "clang${_llvmver} lld${_llvmver} llvm${_llvmver} compiler-rt${_llvmver}") bison git gperf hwids ninja nodejs perl pkg-config python3 - libepoxy-devel libglib-devel rust rust-bindgen + libepoxy-devel libglib-devel rust rust-bindgen esbuild gn $(vopt_if qt6 qt6-base)" makedepends=" alsa-lib-devel libdav1d-devel brotli-devel cups-devel elfutils-devel @@ -36,7 +36,7 @@ homepage="https://www.chromium.org/" # distfiles="https://chromium.googlesource.com/chromium/src.git/+archive/refs/tags/${version}.tar.gz" distfiles="https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${version}/chromium-${version}-linux.tar.xz https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-${_rollup}.tgz" -checksum="362b6b21748dc6983157d80ceb601c070c0324073c3b311ba67f32cb36b17532 +checksum="2bf85abe7341333b5347413beebb80f8e9dd02220fa690929e25816eeab8e78f ee49bf67bd9bee869405af78162d028e2af0fcfca80497404f56b1b99f272717" skip_extraction="wasm-node-${_rollup}.tgz" @@ -87,12 +87,6 @@ if [ "$build_option_qt6" ]; then subpackages+=" chromium-qt6" fi -post_extract() { - rm -rv third_party/devtools-frontend/src/node_modules/rollup - mkdir third_party/devtools-frontend/src/node_modules/rollup - vsrcextract -C third_party/devtools-frontend/src/node_modules/rollup --strip-components=1 "wasm-node-${_rollup}.tgz" -} - post_patch() { if [ "$XBPS_TARGET_LIBC" = "musl" ]; then for f in "${FILESDIR}"/musl-patches/*.patch; do @@ -112,6 +106,18 @@ post_patch() { mkdir -p third_party/node/linux/node-linux-x64/bin rm -f third_party/node/linux/node-linux-x64/bin/node ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/ + + rm -rv third_party/devtools-frontend/src/node_modules/rollup + mkdir third_party/devtools-frontend/src/node_modules/rollup + vsrcextract -C third_party/devtools-frontend/src/node_modules/rollup --strip-components=1 "wasm-node-${_rollup}.tgz" + + rm -vf third_party/devtools-frontend/src/third_party/esbuild/esbuild + ln -sv /usr/bin/esbuild third_party/devtools-frontend/src/third_party/esbuild/esbuild + rm -rfv third_party/devtools-frontend/src/node_modules/esbuild + ln -sv /usr/lib/node_modules/esbuild third_party/devtools-frontend/src/node_modules/esbuild + + rm -vf third_party/gperf/cipd/bin/gperf + ln -sv /usr/bin/gperf third_party/gperf/cipd/bin/gperf } _setup_clang() { diff --git a/srcpkgs/esbuild/template b/srcpkgs/esbuild/template index 7c847e851c8ddd..4ab4dbbce1fed6 100644 --- a/srcpkgs/esbuild/template +++ b/srcpkgs/esbuild/template @@ -1,18 +1,34 @@ # Template file for 'esbuild' pkgname=esbuild -version=0.27.3 -revision=2 +version=0.28.0 +revision=1 build_style=go go_import_path=github.com/evanw/esbuild go_package="./cmd/esbuild" -checkdepends="nodejs pnpm yarn" +hostmakedepends="nodejs" +checkdepends="pnpm yarn" short_desc="Extremely fast bundler for the web" maintainer="Luca Matei Pintilie " license="MIT" homepage="https://esbuild.github.io/" changelog="https://github.com/evanw/esbuild/releases" distfiles="https://github.com/evanw/esbuild/archive/refs/tags/v${version}.tar.gz" -checksum=05d56070104b46d24c8921bfc4c83209d71cf583eb0396c13d0f359705bb5b61 +checksum=7aae83b197db3fd695e6f378d30fd6cbddeb93e4b1057b2c41d36ecb1dfebbc2 + +if [ "$CROSS_BUILD" ]; then + hostmakedepends+=" esbuild" +fi + +post_build() { + node scripts/esbuild.js npm/esbuild/package.json --version + if [ "$CROSS_BUILD" ]; then + node scripts/esbuild.js /usr/bin/esbuild --neutral + else + node scripts/esbuild.js "$GOPATH/bin/esbuild" --neutral + fi + vsed -e '1s#^#var ESBUILD_BINARY_PATH = "/usr/bin/esbuild";\n#' \ + -i npm/esbuild/lib/main.js +} do_check() { # Skip test-deno (deno not packaged) and decorator-tests (not in a git @@ -23,4 +39,10 @@ do_check() { post_install() { vlicense LICENSE.md + + vinstall npm/esbuild/package.json 644 usr/lib/node_modules/esbuild + vmkdir usr/lib/node_modules/esbuild/lib + vcopy "npm/esbuild/lib/*" usr/lib/node_modules/esbuild/lib + vmkdir usr/lib/node_modules/esbuild/bin + ln -s /usr/bin/esbuild "${DESTDIR}"/usr/lib/node_modules/esbuild/bin/esbuild }