Skip to content

Support building on Intel Macs (darwin-x64) #614

Description

@abhirama

Whiteboard only packages for Apple Silicon today. I built and ran it on an Intel Mac (macOS 15.6, x86_64) with a small patch and would like to upstream it. Opening this first, as CONTRIBUTING.md asks, to check you want it before I send PRs.

Result: SKIP_NOTARIZE=1 pnpm --filter @dev.fast/review-desktop app:package:macos produces an unsigned VSCode-darwin-x64/Whiteboard.app, and scripts/smoke-launch-packaged.mjs passes on it (renderer and Review server up in 7.1s).

What it took (against c25f592):

  1. package-macos.sh, notarize-macos.sh, smoke-launch-packaged.mjs: derive the arch from uname -m instead of requiring arm64. The Code OSS gulp tasks already have vscode-darwin-x64-min.
  2. curated-extensions.manifest.mjs: add darwin-x64 targets for rust-analyzer, C#, ty and ruff (same versions, Open VSX VSIXes, sha256 and size computed locally) and add darwin-x64 to supportedTargets.
  3. diffr has no x86_64-apple-darwin release. I built 0.1.3 from source (cargo build --release works as is) and skipped the diffr-fetch --check step on darwin-x64. That skip is a local workaround, not something to merge. The clean fix is for devdotfast/diffr to publish an x86_64-apple-darwin asset and pin it in @dev.fast/diffr's targets and pins.json, and then Whiteboard needs no special case.

One build gotcha: getProductionDependencies reads npm ls output, and npm redacts UUID-looking path segments as ***. A checkout under a path with a UUID in it then makes the dependency globs resolve to the Code OSS root, and packaging dies in build/lib/asar.ts with Cannot read properties of undefined (reading 'files'). It's unrelated to x64, but it cost me a rebuild.

Proposal: if you want Intel support, I'd send (a) a diffr PR adding the x86_64-apple-darwin release target, then (b) a Whiteboard PR with items 1 and 2 plus the pin. Whether to ship a signed x64 build or a universal binary on your release channel is your call. The PRs would only make local x64 packaging work. Happy to share the working patch here if useful.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions