helloadhavan/github_issues huggingface dataset:
Repository: facebook/react
Pull request: [compiler][be] Cleanup class naming in PromoteUsedTemporaries

Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom):
* #30633
* __->__ #30632

I forgot to clean this up before landing #30573.

Changed files:
filename: compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/PromoteUsedTemporaries.ts
patch: @@ -23,7 +23,10 @@ import {
 } from '../HIR/HIR';
 import {ReactiveFunctionVisitor, visitReactiveFunction} from './visitors';
 
-class Visitor extends ReactiveFunctionVisitor<State> {
+/**
+ * Phase 2: Promote identifiers which are used in a place that requires a named variable.
+ */
+class PromoteTemporaries extends ReactiveFunctionVisitor<State> {
   override visitScope(scopeBlock: ReactiveScopeBlock, state: State): void {
     for (const dep of scopeBlock.scope.dependencies) {
       const {identifier} = dep;
@@ -95,7 +98,11 @@ class Visitor extends ReactiveFunctionVisitor<State> {
   }
 }
 
-class Visitor2 extends ReactiveFunctionVisitor<State> {
+/**
+ * Phase 3: Now that identifiers which need promotion are promoted, find and promote
+ * all other Identifier instances of each promoted DeclarationId.
+ */
+class PromoteAllInstancedOfPromotedTemporaries extends ReactiveFunctionVisitor<State> {
   override visitPlace(_id: InstructionId, place: Place, state: State): void {
     if (
       place.identifier.name === null &&
@@ -168,6 +175,10 @@ type State = {
   >; // true if referenced within another scope, false if only accessed outside of scopes
 };
 
+/**
+ * Phase 1: checks for pruned variables which need to be promoted, as well as
+ * usage of identifiers as jsx tags, which need to be promoted differently
+ */
 class CollectPromotableTemporaries extends ReactiveFunctionVisitor<State> {
   activeScopes: Array<ScopeId> = [];
 
@@ -227,8 +238,12 @@ export function promoteUsedTemporaries(fn: ReactiveFunction): void {
       promoteIdentifier(place.identifier, state);
     }
   }
-  visitReactiveFunction(fn, new Visitor(), state);
-  visitReactiveFunction(fn, new Visitor2(), state);
+  visitReactiveFunction(fn, new PromoteTemporaries(), state);
+  visitReactiveFunction(
+    fn,
+    new PromoteAllInstancedOfPromotedTemporaries(),
+    state,
+  );
 }
 
 function promoteIdentifier(identifier: Identifier, state: State): void {
Repository: nodejs/node
Pull request: doc: update install_tools.bat free disk space

A required free disk space size change in `install_tools.bat` to provide more up-to-date information.

Fixes: https://github.com/nodejs/node/issues/59326

Changed files:
filename: tools/msvs/install_tools/install_tools.bat
patch: @@ -13,7 +13,7 @@ echo This script will install Python and the Visual Studio Build Tools, necessar
 echo to compile Node.js native modules. Note that Chocolatey and required Windows
 echo updates will also be installed.
 echo.
-echo This will require about 3 GiB of free disk space, plus any space necessary to
+echo This will require about 7 GiB of free disk space, plus any space necessary to
 echo install Windows updates. This will take a while to run.
 echo.
 echo Please close all open programs for the duration of the installation. If the
Repository: huggingface/transformers
Pull request: Fixed tiny incorrect imports in `glm4v`

# What does this PR do?

Fixes tiny incorrect imports in `glm4v`. These are the correct classes

https://github.com/huggingface/transformers/blob/34b861abd11074fd32362b9a25c1cc582fa0b941/src/transformers/models/qwen2_vl/processing_qwen2_vl.py#L39

https://github.com/huggingface/transformers/blob/34b861abd11074fd32362b9a25c1cc582fa0b941/src/transformers/models/qwen2_vl/processing_qwen2_vl.py#L48



## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [ ] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?


## Who can review?
cc: @zucchini-nlp @gante @Cyrilvallez (Similar to https://github.com/huggingface/transformers/pull/41354)

Changed files:
filename: src/transformers/models/glm4v/modular_glm4v.py
patch: @@ -54,8 +54,8 @@
     Qwen2_5_VLVisionBlock,
 )
 from ..qwen2_vl.processing_qwen2_vl import (
-    Qwen2_VLProcessor,
-    Qwen2_VLProcessorKwargs,
+    Qwen2VLProcessor,
+    Qwen2VLProcessorKwargs,
 )
 
 
@@ -1526,7 +1526,7 @@ def _get_image_nums_and_video_nums(
         return image_counts, video_counts
 
 
-class Glm4vProcessorKwargs(Qwen2_VLProcessorKwargs):
+class Glm4vProcessorKwargs(Qwen2VLProcessorKwargs):
     _defaults = {
         "text_kwargs": {
             "padding": False,
@@ -1537,7 +1537,7 @@ class Glm4vProcessorKwargs(Qwen2_VLProcessorKwargs):
     }
 
 
-class Glm4vProcessor(Qwen2_VLProcessor):
+class Glm4vProcessor(Qwen2VLProcessor):
     r"""
     Constructs a GLM-4V processor which wraps a GLM-4V image processor and a GLM-4 tokenizer into a single processor.
     [`~Glm4vProcessor.__call__`] and [`~Glm4vProcessor.decode`] for more information.
Repository: nodejs/node
Pull request: test: mark test-inspector-network-fetch as flaky again

https://redirect.github.com/nodejs/node/pull/59104 did not fix it and it's still flaky in the CI.

Refs: https://github.com/nodejs/reliability/blob/main/reports/2025-08-26.md
Refs: https://github.com/nodejs/node/issues/59090

<!--
Before submitting a pull request, please read:

- the CONTRIBUTING guide at https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md
- the commit message formatting guidelines at
  https://github.com/nodejs/node/blob/HEAD/doc/contributing/pull-requests.md#commit-message-guidelines

For code changes:
1. Include tests for any bug fixes or new features.
2. Update documentation if relevant.
3. Ensure that `make -j4 test` (UNIX), or `vcbuild test` (Windows) passes.

If you believe this PR should be highlighted in the Node.js CHANGELOG
please add the `notable-change` label.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.
-->


Changed files:
filename: test/parallel/parallel.status
patch: @@ -20,6 +20,8 @@ test-fs-read-stream-concurrent-reads: PASS, FLAKY
 test-snapshot-incompatible: SKIP
 
 [$system==win32]
+# https://github.com/nodejs/node/issues/59090
+test-inspector-network-fetch: PASS, FLAKY
 # https://github.com/nodejs/node/issues/54808
 test-async-context-frame: PASS, FLAKY
 # https://github.com/nodejs/node/issues/54534
Repository: electron/electron
Pull request: test: fix nan tests on macOS

Backport of #47583

See that PR for details.


Notes: none

Changed files:
filename: script/nan-spec-runner.js
patch: @@ -46,20 +46,23 @@ async function main () {
   const platformFlags = [];
   if (process.platform === 'darwin') {
     const sdkPath = path.resolve(BASE, 'out', outDir, 'sdk', 'xcode_links');
-    const sdks = (await fs.promises.readdir(sdkPath)).filter(fileName => fileName.endsWith('.sdk'));
-    const sdkToUse = sdks[0];
-    if (!sdkToUse) {
+    const sdks = (await fs.promises.readdir(sdkPath)).filter(f => f.endsWith('.sdk'));
+
+    if (!sdks.length) {
       console.error('Could not find an SDK to use for the NAN tests');
       process.exit(1);
     }
 
-    if (sdks.length) {
-      console.warn(`Multiple SDKs found in the xcode_links directory - using ${sdkToUse}`);
+    const sdkToUse = sdks.sort((a, b) => {
+      const getVer = s => s.match(/(\d+)\.?(\d*)/)?.[0] || '0';
+      return getVer(b).localeCompare(getVer(a), undefined, { numeric: true });
+    })[0];
+
+    if (sdks.length > 1) {
+      console.warn(`Multiple SDKs found - using ${sdkToUse}`);
     }
 
-    platformFlags.push(
-      `-isysroot ${path.resolve(sdkPath, sdkToUse)}`
-    );
+    platformFlags.push(`-isysroot ${path.resolve(sdkPath, sdkToUse)}`);
   }
 
   // TODO(ckerr) this is cribbed from read obj/electron/electron_app.ninja.
Repository: facebook/react
Pull request: [ci] fix path in compiler_typescript.yml


The path was incorrect, so the job didn\t run on changes to it.


Changed files:
filename: .github/workflows/compiler_typescript.yml
patch: @@ -6,7 +6,7 @@ on:
   pull_request:
     paths:
       - compiler/**
-      - .github/workflows/compiler-typescript.yml
+      - .github/workflows/compiler_typescript.yml
 
 env:
   TZ: /usr/share/zoneinfo/America/Los_Angeles
Repository: ggml-org/llama.cpp
Pull request: convert : move rope_parameters to TextModel class

Follow up to #18013

Fixes multimodal model configs.

Changed files:
filename: convert_hf_to_gguf.py
patch: @@ -136,19 +136,11 @@ def __init__(self, dir_model: Path, ftype: gguf.LlamaFileType, fname_out: Path,
         self.remote_hf_model_id = remote_hf_model_id
         self.sentence_transformers_dense_modules = sentence_transformers_dense_modules
         self.hparams = ModelBase.load_hparams(self.dir_model, self.is_mistral_format) if hparams is None else hparams
-        self.rope_parameters = self.hparams.get("rope_parameters", self.hparams.get("rope_scaling")) or {}
         self.model_tensors = self.index_tensors(remote_hf_model_id=remote_hf_model_id)
         self.metadata_override = metadata_override
         self.model_name = model_name
         self.dir_model_card = dir_model  # overridden in convert_lora_to_gguf.py
 
-        # Ensure "rope_theta" and "rope_type" is mirrored in rope_parameters
-        if "full_attention" not in self.rope_parameters and "sliding_attention" not in self.rope_parameters:
-            if "rope_theta" not in self.rope_parameters and (rope_theta := self.find_hparam(["rope_theta", "global_rope_theta", "rotary_emb_base"], optional=True)) is not None:
-                self.rope_parameters["rope_theta"] = rope_theta
-            if "rope_type" not in self.rope_parameters and (rope_type := self.rope_parameters.get("type")) is not None:
-                self.rope_parameters["rope_type"] = rope_type
-
         # Apply heuristics to figure out typical tensor encoding based on first layer tensor encoding type
         if self.ftype == gguf.LlamaFileType.GUESSED:
             # NOTE: can't use field "torch_dtype" in config.json, because some finetunes lie.
@@ -765,6 +757,15 @@ def __init__(self, *args, **kwargs):
         self.block_count = self.find_hparam(["n_layers", "num_hidden_layers", "n_layer", "num_layers"])
         self.tensor_map = gguf.get_tensor_name_map(self.model_arch, self.block_count)
 
+        self.rope_parameters = self.hparams.get("rope_parameters", self.hparams.get("rope_scaling")) or {}
+
+        # Ensure "rope_theta" and "rope_type" is mirrored in rope_parameters
+        if "full_attention" not in self.rope_parameters and "sliding_attention" not in self.rope_parameters:
+            if "rope_theta" not in self.rope_parameters and (rope_theta := self.find_hparam(["rope_theta", "global_rope_theta", "rotary_emb_base"], optional=True)) is not None:
+                self.rope_parameters["rope_theta"] = rope_theta
+            if "rope_type" not in self.rope_parameters and (rope_type := self.rope_parameters.get("type")) is not None:
+                self.rope_parameters["rope_type"] = rope_type
+
     @classmethod
     def __init_subclass__(cls):
         # can't use an abstract property, because overriding it without type errors
Repository: facebook/react
Pull request: [compiler][ez] Option to bail out on blocklisted imports

Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom):
* __->__ #30643
* #30642
* #30641



Changed files:
filename: compiler/packages/babel-plugin-react-compiler/src/Entrypoint/Imports.ts
patch: @@ -14,7 +14,7 @@ import {getOrInsertDefault} from '../Utils/utils';
 export function validateRestrictedImports(
   path: NodePath<t.Program>,
   {validateBlocklistedImports}: EnvironmentConfig,
-) {
+): void {
   if (
     validateBlocklistedImports == null ||
     validateBlocklistedImports.length === 0
Repository: facebook/react
Pull request: [compiler][be] Clean up compilation skipping logic in Program

Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom):
* #30643
* __->__ #30642
* #30641
---
Drive-by cleanup when writing #30643


Changed files:
filename: compiler/packages/babel-plugin-react-compiler/src/HIR/Globals.ts
patch: @@ -147,6 +147,46 @@ const TYPED_GLOBALS: Array<[string, BuiltInType]> = [
           returnValueKind: ValueKind.Primitive,
         }),
       ],
+      [
+        'trunc',
+        addFunction(DEFAULT_SHAPES, [], {
+          positionalParams: [],
+          restParam: Effect.Read,
+          returnType: {kind: 'Primitive'},
+          calleeEffect: Effect.Read,
+          returnValueKind: ValueKind.Primitive,
+        }),
+      ],
+      [
+        'ceil',
+        addFunction(DEFAULT_SHAPES, [], {
+          positionalParams: [],
+          restParam: Effect.Read,
+          returnType: {kind: 'Primitive'},
+          calleeEffect: Effect.Read,
+          returnValueKind: ValueKind.Primitive,
+        }),
+      ],
+      [
+        'floor',
+        addFunction(DEFAULT_SHAPES, [], {
+          positionalParams: [],
+          restParam: Effect.Read,
+          returnType: {kind: 'Primitive'},
+          calleeEffect: Effect.Read,
+          returnValueKind: ValueKind.Primitive,
+        }),
+      ],
+      [
+        'pow',
+        addFunction(DEFAULT_SHAPES, [], {
+          positionalParams: [],
+          restParam: Effect.Read,
+          returnType: {kind: 'Primitive'},
+          calleeEffect: Effect.Read,
+          returnValueKind: ValueKind.Primitive,
+        }),
+      ],
     ]),
   ],
   ['Infinity', {kind: 'Primitive'}],
Repository: facebook/react
Pull request: [compiler][ez] Add types for Math.min, recursive global

Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom):
* #30643
* #30642
* __->__ #30641



Changed files:
filename: compiler/packages/babel-plugin-react-compiler/src/HIR/Globals.ts
patch: @@ -147,6 +147,46 @@ const TYPED_GLOBALS: Array<[string, BuiltInType]> = [
           returnValueKind: ValueKind.Primitive,
         }),
       ],
+      [
+        'trunc',
+        addFunction(DEFAULT_SHAPES, [], {
+          positionalParams: [],
+          restParam: Effect.Read,
+          returnType: {kind: 'Primitive'},
+          calleeEffect: Effect.Read,
+          returnValueKind: ValueKind.Primitive,
+        }),
+      ],
+      [
+        'ceil',
+        addFunction(DEFAULT_SHAPES, [], {
+          positionalParams: [],
+          restParam: Effect.Read,
+          returnType: {kind: 'Primitive'},
+          calleeEffect: Effect.Read,
+          returnValueKind: ValueKind.Primitive,
+        }),
+      ],
+      [
+        'floor',
+        addFunction(DEFAULT_SHAPES, [], {
+          positionalParams: [],
+          restParam: Effect.Read,
+          returnType: {kind: 'Primitive'},
+          calleeEffect: Effect.Read,
+          returnValueKind: ValueKind.Primitive,
+        }),
+      ],
+      [
+        'pow',
+        addFunction(DEFAULT_SHAPES, [], {
+          positionalParams: [],
+          restParam: Effect.Read,
+          returnType: {kind: 'Primitive'},
+          calleeEffect: Effect.Read,
+          returnValueKind: ValueKind.Primitive,
+        }),
+      ],
     ]),
   ],
   ['Infinity', {kind: 'Primitive'}],
Repository: denoland/deno
Pull request: fix:dont use jsr api for deploy subcommand


Changed files:
filename: cli/registry.rs
patch: @@ -53,12 +53,6 @@ pub struct PublishingTask {
   pub error: Option<PublishingTaskError>,
 }
 
-#[derive(serde::Deserialize)]
-#[serde(rename_all = "camelCase")]
-pub struct Package {
-  pub latest_version: Option<String>,
-}
-
 #[derive(serde::Deserialize)]
 #[serde(rename_all = "camelCase")]
 pub struct ApiError {

filename: cli/tools/deploy.rs
patch: @@ -5,17 +5,17 @@ use std::sync::Arc;
 use deno_config::deno_json::NewestDependencyDate;
 use deno_config::deno_json::NodeModulesDirMode;
 use deno_core::error::AnyError;
+use deno_core::serde_json;
 use deno_core::url::Url;
+use deno_graph::packages::JsrPackageInfo;
 use deno_path_util::ResolveUrlOrPathError;
 use deno_runtime::WorkerExecutionMode;
 use deno_runtime::deno_permissions::PermissionsContainer;
 
 use crate::args::DeployFlags;
 use crate::args::Flags;
-use crate::args::jsr_api_url;
 use crate::factory::CliFactory;
 use crate::ops;
-use crate::registry;
 
 pub async fn deploy(
   mut flags: Flags,
@@ -33,41 +33,36 @@ pub async fn deploy(
 
   let mut factory = CliFactory::from_flags(Arc::new(flags));
 
-  let maybe_specifier_override =
+  let specifier =
     if let Ok(specifier) = std::env::var("DENO_DEPLOY_CLI_SPECIFIER") {
       let specifier =
         Url::parse(&specifier).map_err(ResolveUrlOrPathError::UrlParse)?;
       if let Ok(path) = specifier.to_file_path() {
         factory.set_initial_cwd(path);
       }
 
-      Some(specifier)
+      specifier
     } else {
-      None
+      let registry_url = crate::args::jsr_url();
+      let file = factory
+        .file_fetcher()?
+        .fetch_bypass_permissions(
+          &registry_url.join("@deploy/deno/meta.json").unwrap(),
+        )
+        .await?;
+      let info = serde_json::from_slice::<JsrPackageInfo>(&file.source)?;
+      let latest_version = info
+        .versions
+        .keys()
+        .max()
+        .expect("expected @deno/deploy to be published");
+      Url::parse(&format!("jsr:@deno/deploy@{latest_version}"))
+        .map_err(ResolveUrlOrPathError::UrlParse)?
     };
 
-  let client = factory.http_client_provider().get_or_create()?;
-  let registry_api_url = jsr_api_url();
-
-  let response =
-    registry::get_package(&client, registry_api_url, "deno", "deploy").await?;
-  let res = registry::parse_response::<registry::Package>(response).await?;
-
   let worker_factory =
     Arc::new(factory.create_cli_main_worker_factory().await?);
 
-  let specifier = if let Some(specifier) = maybe_specifier_override {
-    specifier
-  } else {
-    Url::parse(&format!(
-      "jsr:@deno/deploy@{}",
-      res
-        .latest_version
-        .expect("expected @deno/deploy to be published")
-    ))
-    .map_err(ResolveUrlOrPathError::UrlParse)?
-  };
-
   let mut worker = worker_factory
     .create_custom_worker(
       WorkerExecutionMode::Deploy,
Repository: ollama/ollama
Pull request: fix: mixtral graph


Changed files:
filename: llm/ggml.go
patch: @@ -343,7 +343,15 @@ func (llm GGML) GraphSize(context, batch uint64) (partialOffload, fullOffload ui
 			4*batch*(embedding+vocab)+embedding*vocab*105/128,
 		)
 
-		if ffnGateWeight, ok := layers["0"]["ffn_gate.0.weight"]; ok {
+		if ffnGateExpsWeight, ok := layers["blk.0"]["ffn_gate_exps.weight"]; ok {
+			// mixtral 8x22b
+			ff := uint64(llm.KV()["llama.feed_forward_length"].(uint32))
+			partialOffload = max(
+				3*ffnGateExpsWeight.size()+4*batch*(2*ff+headsKV+embedding+context+embedding/heads*headsKV),
+				4*(context*batch*heads+context*embedding/heads*headsKV+batch*1024+embedding/heads*headsKV*batch),
+			)
+		} else if ffnGateWeight, ok := layers["blk.0"]["ffn_gate.0.weight"]; ok {
+			// mixtral 8x7b
 			ffnGateWeight1 := ffnGateWeight.Shape[1]
 			fullOffload = 4 * batch * (2 + 3*embedding + context*(1+heads) + 2*headsKV + ffnGateWeight1)
 			partialOffload = max(
Repository: ollama/ollama
Pull request: Add podman-ollama to terminal apps

The goal of podman-ollama is to make AI even more boring.

Changed files:
filename: README.md
patch: @@ -299,6 +299,7 @@ See the [API documentation](./docs/api.md) for all endpoints.
 
 ### Terminal
 
+- [podman-ollama](https://github.com/ericcurtin/podman-ollama)
 - [oterm](https://github.com/ggozad/oterm)
 - [Ellama Emacs client](https://github.com/s-kostyaev/ellama)
 - [Emacs client](https://github.com/zweifisch/ollama)
Repository: electron/electron
Pull request: test: fix nan tests on macOS

#### Description of Change

Fixes running Nan tests on macOS. They would fail before this in the case where multiple SDKs existed in `out/Testing/sdk/xcode_links` because the first SDK would be picked and not the most recent, which is the one we'd need. This fixes that.

#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [x] PR description included and stakeholders cc'd
- [x] `npm test` passes
- [x] [PR release notes](https://github.com/electron/clerk/blob/main/README.md) describe the change in a way relevant to app developers, and are [capitalized, punctuated, and past tense](https://github.com/electron/clerk/blob/main/README.md#examples).

#### Release Notes

Notes: none

Changed files:
filename: script/nan-spec-runner.js
patch: @@ -46,20 +46,23 @@ async function main () {
   const platformFlags = [];
   if (process.platform === 'darwin') {
     const sdkPath = path.resolve(BASE, 'out', outDir, 'sdk', 'xcode_links');
-    const sdks = (await fs.promises.readdir(sdkPath)).filter(fileName => fileName.endsWith('.sdk'));
-    const sdkToUse = sdks[0];
-    if (!sdkToUse) {
+    const sdks = (await fs.promises.readdir(sdkPath)).filter(f => f.endsWith('.sdk'));
+
+    if (!sdks.length) {
       console.error('Could not find an SDK to use for the NAN tests');
       process.exit(1);
     }
 
-    if (sdks.length) {
-      console.warn(`Multiple SDKs found in the xcode_links directory - using ${sdkToUse}`);
+    const sdkToUse = sdks.sort((a, b) => {
+      const getVer = s => s.match(/(\d+)\.?(\d*)/)?.[0] || '0';
+      return getVer(b).localeCompare(getVer(a), undefined, { numeric: true });
+    })[0];
+
+    if (sdks.length > 1) {
+      console.warn(`Multiple SDKs found - using ${sdkToUse}`);
     }
 
-    platformFlags.push(
-      `-isysroot ${path.resolve(sdkPath, sdkToUse)}`
-    );
+    platformFlags.push(`-isysroot ${path.resolve(sdkPath, sdkToUse)}`);
   }
 
   // TODO(ckerr) this is cribbed from read obj/electron/electron_app.ninja.