ubuntu 24.04编译CEF(Chromium Embedded Framework)

前置条件

1. 已经通过 GitLab的替代者-轻量级Gitea安装与配置-Windows 11 配置过镜像服务

基础知识

CIPD 全称 Chrome Infrastructure Package Deployment (https://chromium.googlesource.com/infra/luci/luci-go/+/main/cipd/README.md),主要用于管理 Google 项目构建中用到的二进制文件(例如编译器之类的),你可以简单的认为是针对大文件的git系统。

CIPD管理的所有文件可以在(https://chrome-infra-packages.appspot.com)上查看。

手动下载( version 参数从 depot_tools/cipd_client_version 读取)

linux-x86-64:
https://chrome-infra-packages.appspot.com/client?platform=linux-amd64&version=git_revision:b1f414539ac10cc67a0250890a38712cc06cf102

windows-x86-64:
https://chrome-infra-packages.appspot.com/client?platform=windows-amd64&version=git_revision:b1f414539ac10cc67a0250890a38712cc06cf102

动手实践

外网构建

国内镜像构建
1. 使用镜像地址替换 Git 仓库

命令执行后的 .gitconfig 文件:

2. 配置HTTP代理服务器

由于 Chromium 项目不仅依赖了一系列的第三方 Git 项目,还依赖了一系列已经编译后的二进制文件,这些文件被托管在 CIPD (Chrome Infrastructure Package Deployment) / GCS(Google Cloud Storage) 服务器上,这部分服务器也是没办法正常访问下载文件的,因此我们把这些二进制文件依旧托管在刚刚搭建的 Gitea 服务器上面,作为一个独立的 Git 项目来维护,减少非必要的服务器。

但是如何更改这部分的下载地址呢?我们可以通过设置 http_proxy 的方式,使用 Python 脚本,在脚本中完成下载数据的重定向。

代理脚本如下:

参考配置文件如下:

3. 执行编译

参考链接