198de9
--- rustc-beta-src/Cargo.lock.orig	2022-06-22 14:03:26.309745526 -0700
198de9
+++ rustc-beta-src/Cargo.lock	2022-06-22 14:03:26.310745506 -0700
198de9
@@ -990,7 +990,6 @@
f7bb61
 dependencies = [
f7bb61
  "cc",
f7bb61
  "libc",
f7bb61
- "libnghttp2-sys",
f7bb61
  "libz-sys",
f7bb61
  "openssl-sys",
f7bb61
  "pkg-config",
198de9
@@ -2101,16 +2100,6 @@
4ac2b7
 checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
f7bb61
 
f7bb61
 [[package]]
f7bb61
-name = "libnghttp2-sys"
f7bb61
-version = "0.1.4+1.41.0"
f7bb61
-source = "registry+https://github.com/rust-lang/crates.io-index"
f7bb61
-checksum = "03624ec6df166e79e139a2310ca213283d6b3c30810c54844f307086d4488df1"
f7bb61
-dependencies = [
f7bb61
- "cc",
f7bb61
- "libc",
f7bb61
-]
f7bb61
-
f7bb61
-[[package]]
f7bb61
 name = "libz-sys"
d07ae9
 version = "1.1.3"
f7bb61
 source = "registry+https://github.com/rust-lang/crates.io-index"
198de9
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig	2022-06-22 14:03:26.310745506 -0700
198de9
+++ rustc-beta-src/src/tools/cargo/Cargo.toml	2022-06-22 14:04:22.058596881 -0700
d07ae9
@@ -22,7 +22,7 @@
198de9
 cargo-util = { path = "crates/cargo-util", version = "0.1.3" }
198de9
 crates-io = { path = "crates/crates-io", version = "0.34.0" }
905bf8
 crossbeam-utils = "0.8"
d07ae9
-curl = { version = "0.4.41", features = ["http2"] }
d07ae9
+curl = { version = "0.4.41", features = [] }
d07ae9
 curl-sys = "0.4.50"
d07ae9
 env_logger = "0.9.0"
f7bb61
 pretty_env_logger = { version = "0.4", optional = true }
198de9
--- rustc-beta-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs.orig	2022-06-13 07:34:54.000000000 -0700
198de9
+++ rustc-beta-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs	2022-06-22 14:03:26.311745485 -0700
198de9
@@ -183,16 +183,8 @@
198de9
         }
198de9
         self.fetch_started = true;
198de9
 
198de9
-        // We've enabled the `http2` feature of `curl` in Cargo, so treat
198de9
-        // failures here as fatal as it would indicate a build-time problem.
198de9
-        self.multiplexing = self.config.http_config()?.multiplexing.unwrap_or(true);
198de9
-
198de9
-        self.multi
198de9
-            .pipelining(false, self.multiplexing)
198de9
-            .with_context(|| "failed to enable multiplexing/pipelining in curl")?;
198de9
-
198de9
-        // let's not flood the server with connections
198de9
-        self.multi.set_max_host_connections(2)?;
198de9
+        // Multiplexing is disabled because the system libcurl doesn't support it.
198de9
+        self.multiplexing = false;
198de9
 
198de9
         self.config
198de9
             .shell()
198de9
--- rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs.orig	2022-06-13 07:34:54.000000000 -0700
198de9
+++ rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs	2022-06-22 14:03:26.311745485 -0700
198de9
@@ -403,16 +403,9 @@
198de9
         sources: SourceMap<'cfg>,
198de9
         config: &'cfg Config,
198de9
     ) -> CargoResult<PackageSet<'cfg>> {
198de9
-        // We've enabled the `http2` feature of `curl` in Cargo, so treat
198de9
-        // failures here as fatal as it would indicate a build-time problem.
f7bb61
-        let mut multi = Multi::new();
f7bb61
-        let multiplexing = config.http_config()?.multiplexing.unwrap_or(true);
f7bb61
-        multi
f7bb61
-            .pipelining(false, multiplexing)
4ac2b7
-            .with_context(|| "failed to enable multiplexing/pipelining in curl")?;
f7bb61
-
f7bb61
-        // let's not flood crates.io with connections
f7bb61
-        multi.set_max_host_connections(2)?;
198de9
+        // Multiplexing is disabled because the system libcurl doesn't support it.
f7bb61
+        let multi = Multi::new();
f7bb61
+        let multiplexing = false;
f7bb61
 
f7bb61
         Ok(PackageSet {
f7bb61
             packages: package_ids
198de9
@@ -658,7 +651,7 @@
f7bb61
 macro_rules! try_old_curl {
f7bb61
     ($e:expr, $msg:expr) => {
f7bb61
         let result = $e;
f7bb61
-        if cfg!(target_os = "macos") {
f7bb61
+        if cfg!(any(target_os = "linux", target_os = "macos")) {
f7bb61
             if let Err(e) = result {
f7bb61
                 warn!("ignoring libcurl {} error: {}", $msg, e);
f7bb61
             }