Skip to content

Commit dcb4dd1

Browse files
authored
Merge: evcxr: 0.17.0 -> 0.19.0 (#402167)
2 parents cb1697b + 687ebf4 commit dcb4dd1

File tree

1 file changed

+41
-18
lines changed

1 file changed

+41
-18
lines changed

pkgs/by-name/ev/evcxr/package.nix

Lines changed: 41 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
11
{
2-
cargo,
2+
lib,
3+
stdenv,
4+
rustPlatform,
35
fetchFromGitHub,
46
makeWrapper,
57
pkg-config,
6-
rustPlatform,
7-
lib,
8-
stdenv,
9-
gcc,
108
cmake,
119
libiconv,
10+
cargo,
11+
gcc,
12+
mold,
13+
rustc,
14+
nix-update-script,
1215
}:
1316

14-
rustPlatform.buildRustPackage rec {
17+
rustPlatform.buildRustPackage (finalAttrs: {
1518
pname = "evcxr";
16-
version = "0.17.0";
19+
version = "0.19.0";
1720

1821
src = fetchFromGitHub {
1922
owner = "google";
2023
repo = "evcxr";
21-
rev = "v${version}";
22-
sha256 = "sha256-6gSJJ3ptqpYydjg+xf5Pz3iTk0D+bkC6N79OeiKxPHY=";
24+
rev = "v${finalAttrs.version}";
25+
sha256 = "sha256-8PjZFWUH76QrA8EI9Cx0sBCzocvSmnp84VD7Nv9QMc8=";
2326
};
2427

2528
useFetchCargoVendor = true;
26-
cargoHash = "sha256-U2LBesQNOa/E/NkVeLulb8JUtGsHgMne0MgY0RT9lqI=";
29+
cargoHash = "sha256-hE/O6lHC0o+nrN4vaQ155Nn2gZscpfsZ6o7IDi/IEjI=";
2730

2831
RUST_SRC_PATH = "${rustPlatform.rustLibSrc}";
2932

@@ -37,12 +40,28 @@ rustPlatform.buildRustPackage rec {
3740
];
3841

3942
checkFlags = [
40-
# test broken with rust 1.69:
41-
# * https://github.com/evcxr/evcxr/issues/294
42-
# * https://github.com/NixOS/nixpkgs/issues/229524
43-
"--skip=check_for_errors"
43+
# outdated rust-analyzer (disabled, upstream)
44+
# https://github.com/evcxr/evcxr/blob/fcdac75f49dcab3229524e671d4417d36c12130b/evcxr/tests/integration_tests.rs#L741
45+
# https://github.com/evcxr/evcxr/issues/295
46+
"--skip=partially_inferred_variable_type"
47+
# fail, but can't reproduce in the REPL
48+
"--skip=code_completion"
49+
"--skip=save_and_restore_variables"
4450
];
4551

52+
# Some tests fail when types aren't explicitly specified, but which can't be
53+
# reproduced inside the REPL.
54+
# Likely related to https://github.com/evcxr/evcxr/issues/295
55+
postConfigure = ''
56+
substituteInPlace evcxr/tests/integration_tests.rs \
57+
--replace-fail "let var2 = String" "let var2: String = String" `# code_completion` \
58+
--replace-fail "let a = vec" "let a: Vec<i32> = vec" `# function_panics_{with,without}_variable_preserving` \
59+
--replace-fail "let a = Some(" "let a: Option<String> = Some(" `# moved_value` \
60+
--replace-fail "let a = \"foo\"" "let a: String = \"foo\"" `# statement_and_expression` \
61+
--replace-fail "let owned = \"owned\"" "let owned:String = \"owned\"" `# question_mark_operator` \
62+
--replace-fail "let mut owned_mut =" "let mut owned_mut: String ="
63+
'';
64+
4665
postInstall =
4766
let
4867
wrap = exe: ''
@@ -51,6 +70,8 @@ rustPlatform.buildRustPackage rec {
5170
lib.makeBinPath [
5271
cargo
5372
gcc
73+
mold # fix fatal error: "unknown command line option: -run"
74+
rustc # requires rust edition 2024
5475
]
5576
} \
5677
--set-default RUST_SRC_PATH "$RUST_SRC_PATH"
@@ -62,14 +83,16 @@ rustPlatform.buildRustPackage rec {
6283
rm $out/bin/testing_runtime
6384
'';
6485

65-
meta = with lib; {
86+
passthru.updateScript = nix-update-script { };
87+
88+
meta = {
6689
description = "Evaluation context for Rust";
6790
homepage = "https://github.com/google/evcxr";
68-
license = licenses.asl20;
69-
maintainers = with maintainers; [
91+
license = lib.licenses.asl20;
92+
maintainers = with lib.maintainers; [
7093
protoben
7194
ma27
7295
];
7396
mainProgram = "evcxr";
7497
};
75-
}
98+
})

0 commit comments

Comments
 (0)