mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-09-24 23:10:56 +08:00
feat: 添加 Linux ARM64 平台支持
## 新增功能 添加 Linux ARM64 (aarch64) 平台的构建支持,满足树莓派、ARM 服务器等设备需求。 ## 技术实现 ### 1. 构建矩阵扩展 - 添加 `aarch64-unknown-linux-gnu` target - 使用 Ubuntu 22.04 进行交叉编译 ### 2. 交叉编译工具链 - 安装 `gcc-aarch64-linux-gnu` 和 `g++-aarch64-linux-gnu` - 配置 ARM64 系统库: - libwebkit2gtk-4.1-dev:arm64 - libappindicator3-dev:arm64 - librsvg2-dev:arm64 - libssl-dev:arm64 - libgtk-3-dev:arm64 ### 3. 环境配置 - `PKG_CONFIG_ALLOW_CROSS=1`: 允许交叉编译 - `PKG_CONFIG_PATH`: 指向 ARM64 库路径 - `CARGO_TARGET_*_LINKER`: 配置链接器 - `CC_*` / `CXX_*`: 配置 C/C++ 编译器 ## 发布产物 新增以下文件: - `proxycast_*_arm64.deb` - Debian/Ubuntu ARM64 安装包 - `proxycast_*_arm64.AppImage` - 通用 Linux ARM64 可执行文件 ## 支持设备 - 树莓派 (Raspberry Pi 3/4/5) - ARM 服务器 (AWS Graviton, 华为鲲鹏等) - ARM 笔记本 (如 ARM Chromebook) - Apple Silicon Mac 运行 Linux (通过虚拟机或双系统) ## 测试建议 发布后建议在以下设备测试: 1. 树莓派 4 (Raspberry Pi OS) 2. Ubuntu 22.04 ARM64 虚拟机 3. AWS Graviton 实例 Closes #54 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,9 @@ jobs:
|
||||
- platform: ubuntu-22.04
|
||||
target: x86_64-unknown-linux-gnu
|
||||
name: Linux-x64
|
||||
- platform: ubuntu-22.04
|
||||
target: aarch64-unknown-linux-gnu
|
||||
name: Linux-arm64
|
||||
|
||||
runs-on: ${{ matrix.platform }}
|
||||
|
||||
@@ -45,12 +48,39 @@ jobs:
|
||||
node-version: '20'
|
||||
cache: 'npm'
|
||||
|
||||
- name: Install Linux dependencies
|
||||
if: matrix.platform == 'ubuntu-22.04'
|
||||
- name: Install Linux dependencies (x64)
|
||||
if: matrix.platform == 'ubuntu-22.04' && matrix.target == 'x86_64-unknown-linux-gnu'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
|
||||
|
||||
- name: Install Linux ARM64 cross-compilation dependencies
|
||||
if: matrix.platform == 'ubuntu-22.04' && matrix.target == 'aarch64-unknown-linux-gnu'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
|
||||
|
||||
# 添加 ARM64 架构支持
|
||||
sudo dpkg --add-architecture arm64
|
||||
sudo apt-get update
|
||||
|
||||
# 安装 ARM64 系统库
|
||||
sudo apt-get install -y \
|
||||
libwebkit2gtk-4.1-dev:arm64 \
|
||||
libappindicator3-dev:arm64 \
|
||||
librsvg2-dev:arm64 \
|
||||
libssl-dev:arm64 \
|
||||
libgtk-3-dev:arm64
|
||||
|
||||
# 设置 PKG_CONFIG 环境变量
|
||||
echo "PKG_CONFIG_ALLOW_CROSS=1" >> $GITHUB_ENV
|
||||
echo "PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig" >> $GITHUB_ENV
|
||||
|
||||
# 设置 Cargo 环境变量
|
||||
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
|
||||
echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
|
||||
echo "CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++" >> $GITHUB_ENV
|
||||
|
||||
- name: Setup Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
@@ -87,7 +117,8 @@ jobs:
|
||||
- **macOS (Apple Silicon)**: `proxycast_*_aarch64.dmg`
|
||||
- **macOS (Intel)**: `proxycast_*_x64.dmg`
|
||||
- **Windows (64-bit)**: `proxycast_*_x64-setup.exe`
|
||||
- **Linux (64-bit)**: `proxycast_*_amd64.deb` / `proxycast_*_amd64.AppImage`
|
||||
- **Linux x64**: `proxycast_*_amd64.deb` / `proxycast_*_amd64.AppImage`
|
||||
- **Linux ARM64**: `proxycast_*_arm64.deb` / `proxycast_*_arm64.AppImage`
|
||||
|
||||
### macOS 首次安装
|
||||
|
||||
|
||||
Reference in New Issue
Block a user