|
| 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=16.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=63e8f9f386022fa0b9bea1113e7649fe250ae4bb85782b1c4286a3fbf0efedea |
| 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 | + echo "${NDK}" |
| 20 | + termux_setup_rust |
| 21 | + termux_setup_capnp |
| 22 | + termux_setup_protobuf |
| 23 | + termux_setup_nodejs |
| 24 | + npm i -g pnpm --verbose |
| 25 | + cd packages/next-swc |
| 26 | + npx pnpm install |
| 27 | + export ANDROID_NDK_LATEST_HOME=${NDK} |
| 28 | + npx pnpm run build-native-release --target "$RUST_TARGET" |
| 29 | +} |
| 30 | + |
| 31 | +termux_step_make_install() { |
| 32 | + local PACKAGE_NAME="@next/swc-android-arm64" |
| 33 | + local INSTALL_DIR="$TERMUX_PREFIX/lib/node_modules/${PACKAGE_NAME}" |
| 34 | + mkdir -p "$INSTALL_DIR" |
| 35 | + local BINARY_NAME="next-swc.android-arm64.node" |
| 36 | + ls -l packages/next-swc/native/ |
| 37 | + install -Dm755 "packages/next-swc/native/${BINARY_NAME}" "$INSTALL_DIR/${BINARY_NAME}" |
| 38 | + cat > "$INSTALL_DIR/package.json" <<EOF |
| 39 | +{ |
| 40 | + "name": "${PACKAGE_NAME}", |
| 41 | + "version": "$TERMUX_PKG_VERSION", |
| 42 | + "os": ["android"], |
| 43 | + "cpu": ["arm64"], |
| 44 | + "main": "${BINARY_NAME}", |
| 45 | + "files": [ |
| 46 | + "${BINARY_NAME}" |
| 47 | + ] |
| 48 | +} |
| 49 | +EOF |
| 50 | +} |
0 commit comments