Skip to content

Commit 7ffe3e4

Browse files
addpkg(main/turbopack): 16.1.6
1 parent 61c7575 commit 7ffe3e4

2 files changed

Lines changed: 102 additions & 0 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
From 8e67ab456d44c99f390d51df7a07352fc466fc53 Mon Sep 17 00:00:00 2001
2+
From: xingguangcuican6666 <xingguangcuican666@foxmail.com>
3+
Date: Wed, 4 Mar 2026 23:30:01 +0800
4+
Subject: [PATCH] Fixed_arch
5+
6+
---
7+
packages/next-swc/package.json | 4 ++++
8+
1 file changed, 4 insertions(+)
9+
10+
diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json
11+
index da9a29f0..b0687f66 100644
12+
--- a/packages/next-swc/package.json
13+
+++ b/packages/next-swc/package.json
14+
@@ -27,6 +27,10 @@
15+
"defaults": true,
16+
"additional": [
17+
"i686-pc-windows-msvc",
18+
+ "aarch64-linux-android",
19+
+ "armv7-linux-androideabi",
20+
+ "i686-linux-android",
21+
+ "x86_64-linux-android",
22+
"aarch64-unknown-linux-gnu",
23+
"aarch64-apple-darwin",
24+
"x86_64-unknown-linux-musl",
25+
--
26+
2.53.0
27+

packages/turbopack/build.sh

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
TERMUX_PKG_HOMEPAGE=https://turbo.build/
2+
TERMUX_PKG_DESCRIPTION="Rust-based incremental compilation engine and bundler for Next.js"
3+
TERMUX_PKG_MAINTAINER="@xingguangcuican6666"
4+
TERMUX_PKG_LICENSE="MIT"
5+
TERMUX_PKG_VERSION=15.1.6
6+
TERMUX_PKG_SRCURL=https://github.com/vercel/next.js/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
7+
TERMUX_PKG_SHA256=50badae2e656fff06a1f23d28e9d151b9ee582f40620d9a43ad75eff35a7f6ba
8+
TERMUX_PKG_BUILD_IN_SRC=true
9+
TERMUX_RUST_VERSION="nightly"
10+
11+
termux_step_make() {
12+
local RUST_TARGET
13+
case "$TERMUX_ARCH" in
14+
aarch64) RUST_TARGET="aarch64-linux-android" ;;
15+
arm) RUST_TARGET="armv7-linux-androideabi" ;;
16+
i686) RUST_TARGET="i686-linux-android" ;;
17+
x86_64) RUST_TARGET="x86_64-linux-android" ;;
18+
esac
19+
20+
# 1. 环境准备
21+
termux_setup_rust
22+
termux_setup_nodejs
23+
export ANDROID_NDK_LATEST_HOME="${NDK}"
24+
25+
# 2. 核心:开启 Tokio 不稳定特性,解决 disable_lifo_slot 报错
26+
export RUSTFLAGS="--cfg tokio_unstable"
27+
28+
# 3. 核心:动态绑定 Linker,解决 x86_64 误用 aarch64 编译器的问题
29+
# $CC 是 Termux 提供的指向当前架构正确编译器的变量
30+
local ENV_PREFIX=$(echo "$RUST_TARGET" | tr '[:lower:]-' '[:upper:]_')
31+
export "CARGO_TARGET_${ENV_PREFIX}_LINKER"="$CC"
32+
export "CC_${RUST_TARGET//-/_}"="$CC"
33+
34+
# 4. 安装依赖
35+
npx pnpm install
36+
37+
# 5. 进入子包目录并运行你指定的脚本
38+
# 因为你已经 patch 了该目录下的 package.json,所以这里会识别新的 triples
39+
cd packages/next-swc
40+
npx pnpm run build-native-release --target "$RUST_TARGET"
41+
}
42+
43+
termux_step_make_install() {
44+
local NAPI_ARCH
45+
case "$TERMUX_ARCH" in
46+
aarch64) NAPI_ARCH="arm64" ;;
47+
arm) NAPI_ARCH="arm-eabi" ;;
48+
i686) NAPI_ARCH="ia32" ;;
49+
x86_64) NAPI_ARCH="x64" ;;
50+
esac
51+
52+
local PACKAGE_NAME="@next/swc-android-${NAPI_ARCH}"
53+
local INSTALL_DIR="$TERMUX_PREFIX/lib/node_modules/${PACKAGE_NAME}"
54+
local BINARY_NAME="next-swc.android-${NAPI_ARCH}.node"
55+
56+
mkdir -p "$INSTALL_DIR"
57+
58+
# 拷贝产物 (napi build 默认会把产物放在目录根部或 native/ 下)
59+
# 如果你在 package.json 里指定了输出到 native,路径如下:
60+
install -Dm755 "native/${BINARY_NAME}" "$INSTALL_DIR/${BINARY_NAME}"
61+
62+
# 瘦身:剥离调试符号
63+
${STRIP} --strip-unneeded "$INSTALL_DIR/${BINARY_NAME}"
64+
65+
# 生成符合 Termux Linter 要求的 package.json
66+
cat > "$INSTALL_DIR/package.json" <<EOF
67+
{
68+
"name": "${PACKAGE_NAME}",
69+
"version": "$TERMUX_PKG_VERSION",
70+
"os": ["android"],
71+
"cpu": ["${NAPI_ARCH}"],
72+
"main": "${BINARY_NAME}"
73+
}
74+
EOF
75+
}

0 commit comments

Comments
 (0)