summary refs log tree commit diff
path: root/pkgs/shells/nushell/default.nix
diff options
context:
space:
mode:
authorSimon Chatterjee <code@chatts.net>2021-08-06 22:34:58 +0100
committerSimon Chatterjee <code@chatts.net>2021-08-07 13:52:17 +0100
commit7e1bfa7ac78560fb9df8b06bc402a62c05d2cfea (patch)
tree0408093d81fad0bc1d2fe2fce9f4b351fb972dd0 /pkgs/shells/nushell/default.nix
parentc0e1f01e435e69be409a98d92934a51495ceb2c4 (diff)
nushell: 0.33 -> 0.35
Diffstat (limited to 'pkgs/shells/nushell/default.nix')
-rw-r--r--pkgs/shells/nushell/default.nix22
1 files changed, 18 insertions, 4 deletions
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index b7fa5453d87a1..eb3d61dc66514 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -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