about summary refs log tree commit diff
diff options
context:
space:
mode:
authoredef <edef@edef.eu>2023-11-19T05·23+0000
committeredef <edef@edef.eu>2023-11-19T08·35+0000
commit9ad7cc629e20e4cdb5420e20addae8909e83d610 (patch)
treecb32166c7b2201eedea5d9c8109860d7788070a0
parent479f26f46cf8a5301c6ad541ceee73fe95239c8d (diff)
fix(tvix): patch futures::AsyncBufReadExt::fill_buf r/7032
This fixes EOF handling for buffered readers.

Link: https://github.com/rust-lang/futures-rs/pull/2801
Change-Id: Ie98ca6a3e1de38500b0195e9b62511501acb1d2c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10086
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
-rw-r--r--tvix/Cargo.lock24
-rw-r--r--tvix/Cargo.nix56
-rw-r--r--tvix/Cargo.toml11
-rw-r--r--tvix/crate-hashes.json8
-rw-r--r--tvix/default.nix9
5 files changed, 84 insertions, 24 deletions
diff --git a/tvix/Cargo.lock b/tvix/Cargo.lock
index d949c954b2..72da960746 100644
--- a/tvix/Cargo.lock
+++ b/tvix/Cargo.lock
@@ -819,8 +819,7 @@ dependencies = [
 [[package]]
 name = "futures-channel"
 version = "0.3.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -829,14 +828,12 @@ dependencies = [
 [[package]]
 name = "futures-core"
 version = "0.3.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
 
 [[package]]
 name = "futures-executor"
 version = "0.3.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
+source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -846,14 +843,12 @@ dependencies = [
 [[package]]
 name = "futures-io"
 version = "0.3.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
+source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
 
 [[package]]
 name = "futures-macro"
 version = "0.3.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
+source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
 dependencies = [
  "proc-macro2 1.0.67",
  "quote 1.0.26",
@@ -863,20 +858,17 @@ dependencies = [
 [[package]]
 name = "futures-sink"
 version = "0.3.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
+source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
 
 [[package]]
 name = "futures-task"
 version = "0.3.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
 
 [[package]]
 name = "futures-util"
 version = "0.3.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
+source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
 dependencies = [
  "futures-channel",
  "futures-core",
diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix
index 53a1e96422..261ff74c99 100644
--- a/tvix/Cargo.nix
+++ b/tvix/Cargo.nix
@@ -2407,7 +2407,12 @@ rec {
         crateName = "futures-channel";
         version = "0.3.29";
         edition = "2018";
-        sha256 = "1jxsifvrbqzdadk0svbax71cba5d3qg3wgjq8i160mxmd1kdckgz";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/edef1c/futures-rs";
+          rev = "23e25061f2261794d6d611675a6372c96b70fa85";
+          sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
+        };
         dependencies = [
           {
             name = "futures-core";
@@ -2434,7 +2439,12 @@ rec {
         crateName = "futures-core";
         version = "0.3.29";
         edition = "2018";
-        sha256 = "1308bpj0g36nhx2y6bl4mm6f1gnh9xyvvw2q2wpdgnb6dv3247gb";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/edef1c/futures-rs";
+          rev = "23e25061f2261794d6d611675a6372c96b70fa85";
+          sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
+        };
         features = {
           "default" = [ "std" ];
           "portable-atomic" = [ "dep:portable-atomic" ];
@@ -2446,7 +2456,12 @@ rec {
         crateName = "futures-executor";
         version = "0.3.29";
         edition = "2018";
-        sha256 = "1g4pjni0sw28djx6mlcfz584abm2lpifz86cmng0kkxh7mlvhkqg";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/edef1c/futures-rs";
+          rev = "23e25061f2261794d6d611675a6372c96b70fa85";
+          sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
+        };
         dependencies = [
           {
             name = "futures-core";
@@ -2476,7 +2491,12 @@ rec {
         crateName = "futures-io";
         version = "0.3.29";
         edition = "2018";
-        sha256 = "1ajsljgny3zfxwahba9byjzclrgvm1ypakca8z854k2w7cb4mwwb";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/edef1c/futures-rs";
+          rev = "23e25061f2261794d6d611675a6372c96b70fa85";
+          sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
+        };
         features = {
           "default" = [ "std" ];
         };
@@ -2486,7 +2506,12 @@ rec {
         crateName = "futures-macro";
         version = "0.3.29";
         edition = "2018";
-        sha256 = "1nwd18i8kvpkdfwm045hddjli0n96zi7pn6f99zi9c74j7ym7cak";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/edef1c/futures-rs";
+          rev = "23e25061f2261794d6d611675a6372c96b70fa85";
+          sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
+        };
         procMacro = true;
         dependencies = [
           {
@@ -2509,7 +2534,12 @@ rec {
         crateName = "futures-sink";
         version = "0.3.29";
         edition = "2018";
-        sha256 = "05q8jykqddxzp8nwf00wjk5m5mqi546d7i8hsxma7hiqxrw36vg3";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/edef1c/futures-rs";
+          rev = "23e25061f2261794d6d611675a6372c96b70fa85";
+          sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
+        };
         features = {
           "default" = [ "std" ];
           "std" = [ "alloc" ];
@@ -2520,7 +2550,12 @@ rec {
         crateName = "futures-task";
         version = "0.3.29";
         edition = "2018";
-        sha256 = "1qmsss8rb5ppql4qvd4r70h9gpfcpd0bg2b3qilxrnhdkc397lgg";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/edef1c/futures-rs";
+          rev = "23e25061f2261794d6d611675a6372c96b70fa85";
+          sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
+        };
         features = {
           "default" = [ "std" ];
           "std" = [ "alloc" ];
@@ -2531,7 +2566,12 @@ rec {
         crateName = "futures-util";
         version = "0.3.29";
         edition = "2018";
-        sha256 = "0141rkqh0psj4h8x8lgsl1p29dhqr7z2wcixkcbs60z74kb2d5d1";
+        workspace_member = null;
+        src = pkgs.fetchgit {
+          url = "https://github.com/edef1c/futures-rs";
+          rev = "23e25061f2261794d6d611675a6372c96b70fa85";
+          sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
+        };
         dependencies = [
           {
             name = "futures-channel";
diff --git a/tvix/Cargo.toml b/tvix/Cargo.toml
index 23486a921b..167e0aa2e2 100644
--- a/tvix/Cargo.toml
+++ b/tvix/Cargo.toml
@@ -36,3 +36,14 @@ members = [
 [profile.release-with-debug]
 inherits = "release"
 debug = true
+
+[patch.crates-io]
+# https://github.com/rust-lang/futures-rs/pull/2801
+futures-channel = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
+futures-core = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
+futures-executor = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
+futures-io = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
+futures-macro = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
+futures-sink = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
+futures-task = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
+futures-util = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
diff --git a/tvix/crate-hashes.json b/tvix/crate-hashes.json
index 0681bfda7a..02203fac7c 100644
--- a/tvix/crate-hashes.json
+++ b/tvix/crate-hashes.json
@@ -1,5 +1,13 @@
 {
   "fuse-backend-rs 0.10.5 (git+https://github.com/griff/fuse-backend-rs?branch=macfuse-fix#70b835cada7e1f18e5cbb13f6c4b698ba203c820)": "107iaw8zqsz888xh9nkq3vvki1c1rqqqg0mncdplradhhn7wp3kp",
+  "futures-channel 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
+  "futures-core 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
+  "futures-executor 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
+  "futures-io 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
+  "futures-macro 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
+  "futures-sink 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
+  "futures-task 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
+  "futures-util 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
   "test-generator 0.3.0 (git+https://github.com/JamesGuthrie/test-generator.git?rev=82e799979980962aec1aa324ec6e0e4cad781f41#82e799979980962aec1aa324ec6e0e4cad781f41)": "08brp3qqa55hijc7xby3lam2cc84hvx1zzfqv6lj7smlczh8k32y",
   "wu-manber 0.1.0 (git+https://github.com/tvlfyi/wu-manber.git#0d5b22bea136659f7de60b102a7030e0daaa503d)": "1zhk83lbq99xzyjwphv2qrb8f8qgfqwa5bbbvyzm0z0bljsjv0pd"
 }
\ No newline at end of file
diff --git a/tvix/default.nix b/tvix/default.nix
index 339a657efd..30235b4389 100644
--- a/tvix/default.nix
+++ b/tvix/default.nix
@@ -74,6 +74,15 @@ let
         "fuse-backend-rs"
         "test-generator"
         "wu-manber"
+
+        "futures-channel"
+        "futures-core"
+        "futures-executor"
+        "futures-io"
+        "futures-macro"
+        "futures-sink"
+        "futures-task"
+        "futures-util"
       ]);
   };
 in