Pular para o conteúdo

Compilar a partir do código-fonte

Você nunca precisa acreditar na nossa palavra sobre o que tem dentro. O build aberto foi feito para ser recompilado por qualquer pessoa.

Esta página recompila o build aberto — o que está no GitHub Releases. O build licenciado (Grátis com GitHub e Pro) inclui patches que não são públicos e não pode ser recompilado a partir deste código-fonte.

Como é um build

Um build do Clearcote é o Chromium upstream mais um conjunto de patches transparente e ordenado:

  • Baixe o ungoogled-chromium na revisão fixada (Chromium 149).
  • Faça o prune do código-fonte e depois aplique o conjunto de patches do ungoogled (a remoção dos serviços do Google).
  • Aplique os patches do Clearcote (controles de identidade no nível do motor).
  • Adicione o config/args.gn público (Windows) ou o config/args.linux.gn (Linux).
  • gn gen out/Default e depois 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

O caminho recomendado é o contêiner de build fixado descrito no BUILDING.md, que já traz todas as versões fixadas da toolchain. Conte com 16 GB de RAM ou mais (32 GB recomendados), cerca de 120 GB de disco e várias horas.

Alvos

O Windows x64 é compilado de forma cruzada no Linux com clang-cl / lld-link; o Linux x64 é um build nativo. O lado Windows dá bastante trabalho (Windows SDK + staging do CRT, shims de toolchain), por isso cada passo e cada pegadinha estão documentados, para que tudo seja reproduzível.

Guias canônicos

Como o conjunto de patches e a configuração do build aberto são públicos e fixados, um build que você gerar deve se comportar como o artefato publicado — e você pode fazer o diff dos patches contra o upstream original para ver cada mudança, uma por uma. Os builds ainda não são idênticos bit a bit, então compare o comportamento, não os hashes.