nushell: 0.33 -> 0.35

This commit is contained in:
Simon Chatterjee 2021-08-06 22:34:58 +01:00
parent c0e1f01e43
commit 7e1bfa7ac7
2 changed files with 50 additions and 4 deletions

View File

@ -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

View 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]