mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-07 11:45:36 +02:00
102 lines
2.5 KiB
Text
102 lines
2.5 KiB
Text
# Contributor: nibon7 <nibon7@163.com>
|
|
# Maintainer: nibon7 <nibon7@163.com>
|
|
pkgname=nushell
|
|
pkgver=0.104.1
|
|
pkgrel=0
|
|
pkgdesc="A new type of shell"
|
|
url="https://www.nushell.sh"
|
|
# s390x: nix crate
|
|
# riscv64: segfault when compiling syn
|
|
# loongarch64: mysterious SIGSEGV in a test
|
|
arch="all !s390x !riscv64 !loongarch64"
|
|
license="MIT"
|
|
makedepends="
|
|
cargo
|
|
cargo-auditable
|
|
libgit2-dev
|
|
libssh2-dev
|
|
mimalloc2-dev
|
|
openssl-dev
|
|
sqlite-dev
|
|
"
|
|
checkdepends="
|
|
coreutils
|
|
docs
|
|
procps-ng
|
|
"
|
|
options="net"
|
|
subpackages="$pkgname-doc $pkgname-plugins:_plugins"
|
|
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall"
|
|
source="$pkgname-$pkgver.tar.gz::https://github.com/nushell/nushell/archive/$pkgver.tar.gz
|
|
system-deps.patch
|
|
"
|
|
|
|
export LIBSSH2_SYS_USE_PKG_CONFIG=1 # use system libssh2
|
|
|
|
# the polars plugin takes too much memory to build on some platforms
|
|
case "$CARCH" in
|
|
aarch64|armhf|armv7|ppc64le|riscv64|x86) _exclude_opts="--exclude nu_plugin_polars" ;;
|
|
esac
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
# Rust target triple.
|
|
local target=$(rustc -vV | sed -n 's/host: //p')
|
|
|
|
# Build against system-provided libs
|
|
mkdir -p .cargo
|
|
cat >> .cargo/config.toml <<-EOF
|
|
|
|
[target.$target]
|
|
git2 = { rustc-link-lib = ["git2"] }
|
|
mimalloc = { rustc-link-lib = ["mimalloc"] }
|
|
rusqlite = { rustc-link-lib = ["sqlite3"] }
|
|
EOF
|
|
|
|
cargo fetch --target="$CTARGET" --locked
|
|
}
|
|
|
|
build() {
|
|
cargo auditable build --workspace --release --frozen $_exclude_opts
|
|
}
|
|
|
|
check() {
|
|
case "$CARCH" in
|
|
a*|ppc64le|x86)
|
|
cargo test --workspace --frozen $_exclude_opts -- \
|
|
--skip plugin_persistence::plugin_process_exits_when_nushell_exits \
|
|
--skip plugins::stream::echo_interactivity_on_slow_pipelines \
|
|
--skip plugin_persistence::plugin_process_exits_when_nushell_exits \
|
|
--skip plugin_persistence::plugin_process_exits_after_stop \
|
|
--skip commands::job::killing_job_kills_pids
|
|
;;
|
|
*)
|
|
cargo test --workspace --frozen $_exclude_opts
|
|
;;
|
|
esac
|
|
}
|
|
|
|
package() {
|
|
find target/release \
|
|
-maxdepth 1 \
|
|
-executable \
|
|
-type f \
|
|
-name "nu*" \
|
|
-exec install -Dm755 '{}' -t "$pkgdir"/usr/bin/ \;
|
|
|
|
install -Dm644 LICENSE \
|
|
-t "$pkgdir"/usr/share/licenses/$pkgname/
|
|
}
|
|
|
|
_plugins() {
|
|
pkgdesc="Nushell plugins"
|
|
depends="nushell=$pkgver-r$pkgrel"
|
|
|
|
amove usr/bin/nu_plugin_*
|
|
}
|
|
|
|
sha512sums="
|
|
963efb959385d28839a1505111a3841c08cad7c1941c7c5a3dfc941d34cbd0d2a46d1602cd72f8b5920d86a03b2c157da9893f8ea2b25bbab81c12651a2e91c9 nushell-0.104.1.tar.gz
|
|
d97ae8f62d50b164f4049f7e13edfd08e5e0a53cf07369d389785cf9a2a5a1d6e024dd1fb5883b5e95d7deb3ddc9740ebe2786b159481e5aed35c996a3c3081c system-deps.patch
|
|
"
|