mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-18 07:46:09 +01:00
Merge pull request #133018 from simonchatts/nushell-35
nushell: 0.33 -> 0.35
This commit is contained in:
commit
0bf9443549
2 changed files with 50 additions and 4 deletions
|
@ -4,6 +4,7 @@
|
|||
, rustPlatform
|
||||
, openssl
|
||||
, zlib
|
||||
, zstd
|
||||
, pkg-config
|
||||
, python3
|
||||
, xorg
|
||||
|
@ -17,27 +18,40 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nushell";
|
||||
version = "0.33.0";
|
||||
version = "0.35.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Asjm3IoAfzphITLQuNh6r/i/pjEM/A+wpCsAB83bu2U=";
|
||||
sha256 = "0p5whwx6wk9k7mrxhr7azrppbj9mv53hd4bl1cgygxz231aq8337";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-Ly59mdUzSI2pIPbckWn1WBz/o2zVzpAzaCDROLdjG7Y=";
|
||||
cargoSha256 = "0xs0s02zf78pgd94ifh465mg14rrwjfg7qbzmmq8jha758gfwdi3";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ]
|
||||
++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ python3 ];
|
||||
|
||||
buildInputs = [ openssl ]
|
||||
buildInputs = [ openssl zstd ]
|
||||
++ lib.optionals stdenv.isDarwin [ zlib libiconv Security ]
|
||||
++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ xorg.libX11 ]
|
||||
++ lib.optionals (withExtraFeatures && stdenv.isDarwin) [ AppKit nghttp2 libgit2 ];
|
||||
|
||||
cargoBuildFlags = lib.optional withExtraFeatures "--features=extra";
|
||||
|
||||
# Since 0.34, nu has an indirect dependency on `zstd-sys` (via `polars` and
|
||||
# `parquet`, for dataframe support), which by default has an impure build
|
||||
# (git submodule for the `zstd` C library). The `pkg-config` feature flag
|
||||
# fixes this, but it's hard to invoke this in the right place, because of
|
||||
# the indirect dependencies. So add a direct dependency on `zstd-sys` here
|
||||
# at the top level, along with this feature flag, to ensure that when
|
||||
# `zstd-sys` is transitively invoked, it triggers a pure build using the
|
||||
# system `zstd` library provided above.
|
||||
#
|
||||
# (If this patch needs updating, in a nushell repo add the zstd-sys line to
|
||||
# Cargo.toml, then `cargo update --package zstd-sys` to update Cargo.lock.)
|
||||
cargoPatches = [ ./use-system-zstd-lib.diff ];
|
||||
|
||||
# TODO investigate why tests are broken on darwin
|
||||
# failures show that tests try to write to paths
|
||||
# outside of TMPDIR
|
||||
|
|
32
pkgs/shells/nushell/use-system-zstd-lib.diff
Normal file
32
pkgs/shells/nushell/use-system-zstd-lib.diff
Normal file
|
@ -0,0 +1,32 @@
|
|||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 8833c3e5..0c90d2fe 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -3188,6 +3188,7 @@ dependencies = [
|
||||
"nu_plugin_xpath",
|
||||
"rstest",
|
||||
"serial_test",
|
||||
+ "zstd-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -6954,4 +6955,5 @@ checksum = "615120c7a2431d16cf1cf979e7fc31ba7a5b5e5707b29c8a99e5dbf8a8392a33"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
+ "pkg-config",
|
||||
]
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
index 89e8a311..4cc2331a 100644
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -63,6 +63,9 @@ serial_test = "0.5.1"
|
||||
hamcrest2 = "0.3.0"
|
||||
rstest = "0.10.0"
|
||||
|
||||
+# Specify that the indirect dependency ztsd-sys should pick up the system zstd C library
|
||||
+zstd-sys = { version = "1", features = [ "pkg-config" ] }
|
||||
+
|
||||
[build-dependencies]
|
||||
|
||||
[features]
|
Loading…
Reference in a new issue