app-shells/nushell: add 0.108.0

Added new USE flag "mcp" which builds the MCP server (new optional
feature). Upstream has it disabled by default, and so should we IMO.

Signed-off-by: Jonas Frei <freijon@pm.me>
Closes: https://github.com/gentoo/gentoo/pull/44206
Signed-off-by: Zac Medico <zmedico@gentoo.org>
This commit is contained in:
Jonas Frei
2025-10-16 17:57:01 +02:00
committed by Zac Medico
parent 7de5c1ec55
commit 8062a89cec
3 changed files with 98 additions and 0 deletions

View File

@@ -2,3 +2,5 @@ DIST nushell-0.106.1-crates.tar.xz 65545620 BLAKE2B eac1413af9183e7cdeddf4981f04
DIST nushell-0.106.1.tar.gz 3554709 BLAKE2B add4c1baaf9965e45832852ddf9764d2002f896a0e4a2746da75170cf49238433481f7e258e04d141ef968082605745022ad4ee4882eae1be70b06818495d6b7 SHA512 8ef9d2d1a18a627d15973cd5e73c96ee905c3534e818414d0cf42ddb3027571078de3857fd6898b5ff70ac38af732f14eba1af17ad541c1d6352eec21c9a6190
DIST nushell-0.107.0-crates.tar.xz 66575964 BLAKE2B 744bbaa91e99640e4276dfec6453aa46bcd0675fe4ce28ac3a6b3df0a9429aa4d0dad6175046c974e6ff265ce1aa9640b9941e0bc37b262ef30d7541778adca1 SHA512 2277bf7b9b9af7483f3af6e6c9f9b1ad17e1c214a48bfa21cafb800809e65f18629d30d4e9f962bda4f8046411419f12222062c335ffa5e0742452b67fec03d2
DIST nushell-0.107.0.tar.gz 3582761 BLAKE2B 19b8e11980aa4e26ae9694bdb1e15a638dd7dd5e6df545eceab458e42b9a607c75e1d18dcd4a4464beeda5b809296642100e3e6d374793b3fa5f97b3761bb4a9 SHA512 ec54aeb4eff74b858bd87528ff0ea99f60a3b327a48de504d04b5956a79972ba6109db56b0e49e89895baa55dfdba61ade34b2b4af5a1178be1f6c0a5db899c0
DIST nushell-0.108.0-crates.tar.xz 74196744 BLAKE2B 563ab1d8cebb210f30b7e21fb9ce6fe371a98fce9e222864473ab6189a417faab47742b0be16acbba7dd41da6c47fdb31d2951b13f9c397e29459e375fef85bc SHA512 538bac24ed47e8d02c9fa7f6f749b4fafbf38c2bcdb63dfe81aecc46f137f4f5fb54f28d1bb64a6b414910f1e0b3463f68eabd750f4b38338654e9e5a8758e43
DIST nushell-0.108.0.tar.gz 3632436 BLAKE2B 0af8dcd1a9f5bd6cfc243efcbe17fa6611d6eebbc4defea1b0269e758e03756ca66f6f91ab6786d7b03091417c25792af937dca0280c30c543f36cfa820f1f03 SHA512 9b411b521f06ee5391ec7a7462e03cd4b85d815dff10879214c4fcc11625662143466d76efb6a9cb7fad6f5b46e2d5fdef31bdd28ab8befd42065b95bf795cc3

View File

@@ -20,6 +20,7 @@
<remote-id type="github">nushell/nushell</remote-id>
</upstream>
<use>
<flag name="mcp">Build MCP server</flag>
<flag name="plugins">Build official plugins</flag>
<flag name="system-clipboard">System clipboard support in `reedline`</flag>
</use>

View File

@@ -0,0 +1,95 @@
# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
RUST_MIN_VER="1.88.0"
inherit cargo
DESCRIPTION="A new type of shell, written in Rust"
HOMEPAGE="https://www.nushell.sh"
SRC_URI="https://github.com/nushell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://github.com/gentoo-crate-dist/nushell/releases/download/${PV}/${P}-crates.tar.xz"
LICENSE="MIT"
# Dependent crate licenses
LICENSE+="
0BSD Apache-2.0 BSD Boost-1.0 CC-PD CC0-1.0 ISC MIT MPL-2.0 MPL-2.0
Unicode-DFS-2016 ZLIB
"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
IUSE="mcp plugins system-clipboard X"
DEPEND="
dev-libs/openssl:0=
dev-db/sqlite:3=
system-clipboard? (
X? (
x11-libs/libX11
x11-libs/libxcb
)
)
"
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
RESTRICT+=" test"
QA_FLAGS_IGNORED="usr/bin/nu.*"
src_prepare() {
use plugins || eapply "${FILESDIR}/${PN}-dont-build-plugins-from-106.patch"
default
}
src_configure() {
# high magic to allow system-libs
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
export OPENSSL_NO_VENDOR=true
export PKG_CONFIG_ALLOW_CROSS=1
local myfeatures=(
$(usev mcp)
plugin
native-tls
sqlite
$(usev system-clipboard)
trash-support
)
cargo_src_configure --no-default-features
}
src_compile() {
cargo_src_compile --workspace
}
src_install() {
cargo_src_install
if use plugins ; then
# Clear features to compile plugins
local myfeatures=()
cargo_src_configure
cargo_src_install --path crates/nu_plugin_custom_values
cargo_src_install --path crates/nu_plugin_example
cargo_src_install --path crates/nu_plugin_formats
cargo_src_install --path crates/nu_plugin_gstat
cargo_src_install --path crates/nu_plugin_inc
cargo_src_install --path crates/nu_plugin_polars
cargo_src_install --path crates/nu_plugin_query
cargo_src_install --path crates/nu_plugin_stress_internals
fi
local DOCS=( README.md )
einstalldocs
}
pkg_postinst() {
if use plugins ; then
einfo "The plugins are installed alongside the main 'nu' binary."
einfo "Visit https://www.nushell.sh/book/plugins.html#adding-a-plugin"
einfo "for more information on how to use plugins."
fi
}