aports/testing/rollup/APKBUILD
2026-01-23 00:38:35 +01:00

163 lines
4.8 KiB
Plaintext

# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
pkgname=rollup
pkgver=4.55.2
pkgrel=0
pkgdesc="The new cool ES module bundler"
url="https://rollupjs.org/"
arch="all"
license="MIT AND ISC AND 0BSD"
depends="nodejs"
makedepends="
cargo
esbuild
npm
"
# !check: todo
options="!check"
subpackages="$pkgname-doc"
source="
https://github.com/rollup/rollup/archive/v$pkgver/rollup-$pkgver.tar.gz
rollup.d.ts
stage1.patch.noauto
no-bootstrap.patch.noauto
stage2.patch.noauto
rust-non-nightly.patch.noauto
no-sourcemaps.patch.noauto
nativejs.patch.noauto
no-wasm.patch.noauto
no-mimalloc.patch.noauto
"
builddir="$srcdir"
case "$CARCH" in
# XXX:
s390x|*) _nowasm=1 ;;
*)
_nowasm=0
makedepends="
$makedepends
binaryen
wasm-bindgen
wasm-pack
"
;;
esac
case "$CARCH" in
aarch64) _target=linux-arm64-musl ;;
# armhf is "armv6" in napi.rs but "arm" in process.arch
armhf|armv7) _target=linux-arm-musleabihf ;;
loongarch64) _target=linux-loong64-musl ;;
ppc64le) _target=linux-ppc64-musl ;;
riscv64) _target=linux-riscv64-musl ;;
s390x) _target=linux-s390x-musl ;;
x86) _target=linux-i586-musl ;;
x86_64) _target=linux-x64-musl ;;
esac
prepare() {
mv "rollup-$pkgver" rollup-stage2
cp -r rollup-stage2 rollup-stage1
default_prepare
(
cd rollup-stage1
patch -p1 -i ../stage1.patch.noauto
patch -p1 -i ../no-bootstrap.patch.noauto
patch -p1 -i ../nativejs.patch.noauto
npm ci --ignore-scripts
)
(
cd rollup-stage2
patch -p1 -i ../stage2.patch.noauto
patch -p1 -i ../rust-non-nightly.patch.noauto
patch -p1 -i ../no-sourcemaps.patch.noauto
patch -p1 -i ../nativejs.patch.noauto
patch -p1 -i ../no-mimalloc.patch.noauto
if [ "$_nowasm" = "1" ]; then
patch -p1 -i ../no-wasm.patch.noauto
fi
npm ci --ignore-scripts
)
(
# doesn't matter which one
cd rollup-stage1/rust/
cargo fetch --target="$CTARGET"
)
}
build() {
(
cd rollup-stage2
./node_modules/.bin/napi build \
--cwd rust/bindings_napi \
--platform \
--dts native.d.ts \
--no-js \
--output-dir ../.. \
--package-json-path ../../package.json \
--release \
-- --frozen
if [ "$CARCH" = "armhf" ]; then
# can't tell apart armhf and armv7 in native.js since process.arch=="arm"
mv rollup.linux-armv6-musleabihf.node rollup.$_target.node
fi
cp rollup.$_target.node ../rollup-stage1/
if [ "$_nowasm" = "0" ]; then
unset RUSTFLAGS
wasm-pack build rust/bindings_wasm --out-dir ../../wasm --target web --no-pack --mode=no-install
fi
)
(
cd rollup-stage1
esbuild --bundle cli/cli.ts --outfile=rollup --platform=node --format=cjs
esbuild --bundle src/node-entry.ts --outfile=dist/es/rollup.js --platform=node --packages=external --format=esm
cp "$srcdir"/rollup.d.ts dist/rollup.d.ts
)
(
cd rollup-stage2
node ../rollup-stage1/rollup --config rollup.config.ts --configIsBuildNode --configPlugin typescript --forceExit
)
}
package() {
cd rollup-stage2
_rollup="$pkgdir"/usr/share/node_modules/rollup
install -Dm755 \
native.d.ts \
native.js \
package.json \
rollup.$_target.node \
-t "$_rollup"
cp -r dist "$_rollup"/dist
mkdir -p "$pkgdir"/usr/bin
ln -s ../share/node_modules/rollup/dist/bin/rollup "$pkgdir"/usr/bin/rollup
install -Dm644 LICENSE.md -t "$pkgdir"/usr/share/licenses/rollup/
}
sha512sums="
92a8906a0f9f9cde18eb4d89b17ceab2c99fb58e5d7ebf0c930cce2b564566a4a600f33beec97fb35e9519d9d671d1f2b0e1772f628b1350338f04f029f44a69 rollup-4.55.2.tar.gz
50cf77ae4457ae564f3d5cc705e2e8b6d379d088a02c04e9bcf207b5f4b206212d7b5faf4672e295a2d38f4ee84145d5a784f250cf8760eaf4a759b523d81a7d rollup.d.ts
4c2d08d52391efd7252c855bc24637d6f3b4ac47a28617146107084d21c68225ad43f32380cf4fa915446abdf1562be6cf4ab4bffa79939f9eb115325c9b458d stage1.patch.noauto
a4d774cee0dccd47d288e84edffb14342f25c037db0c9076915928eb0abd58ee23c36b4f98bcb1b954a0a45c12f33b30f8405302488a2e39015a5a6d60069476 no-bootstrap.patch.noauto
e4e51e2c246856cd4ae0e18b44d1869055f03116e466db49658db56fc562a8959cbdbeb21cfc952fd00a8c95e2eb66430db87fe2ae56164f17c5183a6a19a580 stage2.patch.noauto
fe7dfde0c97677708416e1b32e4de34fb576da7adc2f8278c2e0ba366018338e1e23c636a9a9526a8bf0dd18230176fc472534d050539fac1ad5b3ef77b65893 rust-non-nightly.patch.noauto
2fb663afdb19e6a2db1081c00044de348d586afe456faf564bf3965da03b7fd086c6e0958e71bb822ee5cf50a5d780194a185928d7a847361f9009be08fe3819 no-sourcemaps.patch.noauto
bc012bc3665b11f2950206318c548208be483b38a5d52289a09a800b54117a69a5017af043540632673227f519d53364a1088543872637706d24f228ec23ffd8 nativejs.patch.noauto
90da869e73eb116c5755c7a6da9af1d8c743be44821b14ced96c67eef41d85e17bc9d1b5c1dd411741f1b584530ea480b25613f4b11582f475bf8d76d48b146b no-wasm.patch.noauto
261c064bf9a6023a6f6c98b587c11473aeee19ac1d5690f62768d43691dc86e9bcc480ad6f0fca176d085d2085bd5607b1d694f360ec9538ffdcff3702ee9c23 no-mimalloc.patch.noauto
"