本文へスキップ

ソースからビルドする

中身について私たちの言葉をうのみにする必要はありません。オープンビルドは、誰でも再ビルドできるように設計されています。

このページで再ビルドするのはオープンビルド、つまり GitHub Releases で配布しているものです。ライセンスビルド(「GitHub で無料」と Pro)には非公開のパッチが含まれており、このソースから再ビルドすることはできません。

ビルドの全体像

Clearcote のビルドは、上流の Chromium に、順序の決まった透明なパッチセットを加えたものです:

  • 固定されたリビジョン(Chromium 149)の ungoogled-chromium を取得します。
  • ソースを prune してから、ungoogled のパッチセットを適用します(Google 依存の除去)。
  • Clearcote のパッチ(エンジンレベルのアイデンティティ制御)を適用します。
  • 公開されている config/args.gn(Windows)または config/args.linux.gn(Linux)を配置します。
  • gn gen out/Default を実行し、続いて 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

推奨は、BUILDING.md に記載されている固定済みのビルドコンテナを使う方法で、ツールチェーンの固定バージョンがすべて含まれています。RAM は 16 GB 以上(32 GB を推奨)、ディスクは約 120 GB、所要時間は数時間を見込んでください。

ターゲット

Windows x64 は Linux 上で clang-cl / lld-link を使ってクロスビルドし、Linux x64 はネイティブでビルドします。Windows 側は実際にかなり手間がかかる(Windows SDK と CRT のステージング、ツールチェーンの shim)ため、再現できるように手順と落とし穴をすべて書き残しています。

正式なガイド

オープンビルドのパッチセットと設定は公開・固定されているため、自分でビルドしたものは公開されている成果物と同じ挙動になるはずです。また、手を加えていない上流とパッチの diff を取れば、変更点を 1 つ残らず確認できます。ビルドはまだビット単位で同一にはならないため、ハッシュではなく挙動を比較してください。