summaryrefslogtreecommitdiff
path: root/app-shells/nushell/nushell-0.102.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'app-shells/nushell/nushell-0.102.0.ebuild')
-rw-r--r--app-shells/nushell/nushell-0.102.0.ebuild104
1 files changed, 104 insertions, 0 deletions
diff --git a/app-shells/nushell/nushell-0.102.0.ebuild b/app-shells/nushell/nushell-0.102.0.ebuild
new file mode 100644
index 000000000000..dc2f5f2eb639
--- /dev/null
+++ b/app-shells/nushell/nushell-0.102.0.ebuild
@@ -0,0 +1,104 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=""
+
+RUST_MIN_VER="1.82.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
+"
+DEPS_URI="https://github.com/freijon/${PN}/releases/download/${PV}/${P}-crates.tar.xz"
+SRC_URI+=" ${DEPS_URI}"
+
+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="plugins system-clipboard X"
+
+DEPEND="
+ >=dev-libs/libgit2-0.99:=
+ dev-libs/oniguruma:=
+ dev-libs/openssl:0=
+ net-libs/libssh2:=
+ net-libs/nghttp2:=
+ net-misc/curl
+ 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.patch}"
+ default
+}
+
+src_configure() {
+ # high magic to allow system-libs
+ export OPENSSL_NO_VENDOR=true
+ export RUSTONIG_SYSTEM_LIBONIG=1
+ export LIBGIT2_SYS_USE_PKG_CONFIG=1
+ export LIBSSH2_SYS_USE_PKG_CONFIG=1
+ export PKG_CONFIG_ALLOW_CROSS=1
+
+ local myfeatures=(
+ $(usev system-clipboard)
+ )
+
+ cargo_src_configure
+}
+
+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
+}