Skip to content

Build from source

You never have to take our word for what's inside. The open build is designed to be rebuilt by anyone.

This page rebuilds the open build — the one on GitHub Releases. The licensed build (Free with GitHub and Pro) includes patches that are not public and can't be rebuilt from this source.

The shape of a build

A Clearcote build is upstream Chromium plus a transparent, ordered patch set:

  • Fetch ungoogled-chromium at the pinned revision (Chromium 151).
  • Prune the source, then apply the ungoogled patch set (de-Googling).
  • Apply the Clearcote patches (engine-level identity controls).
  • Drop in the public config/args.gn (Windows) or config/args.linux.gn (Linux).
  • gn gen out/Default then ninja -C out/Default chrome.
bash
# high-level outline — see docs/BUILDING.md for the exact, pinned steps
git clone https://github.com/clearcotelabs/clearcote-browser
cd clearcote-browser

# fetch upstream, apply the patches, configure, build (gn + ninja) and package
WORK=~/clearcote-build ./build.sh windows   # or: ./build.sh linux
# the archive lands in $WORK/dist

The recommended route is the pinned build container described in BUILDING.md, which carries every toolchain pin. Plan for 16 GB of RAM or more (32 GB recommended), about 120 GB of disk and several hours.

Targets

Windows x64 is cross-built on Linux with clang-cl / lld-link; Linux x64 is a native build. The Windows side is genuinely involved (Windows SDK + CRT staging, toolchain shims), so every step and gotcha is written down to be reproducible.

Canonical guides

Because the open build's patch set and config are public and pinned, a build you produce should match the published artifact's behavior — and you can diff the patches against pristine upstream to see every single change. Builds are not yet bit-for-bit identical, so compare behaviour rather than hashes.