summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Helgesson <robert@rycee.net>2021-11-10 22:34:03 +0100
committerRobert Helgesson <robert@rycee.net>2021-11-11 15:41:37 +0100
commitf21e29d83b4bad7ec3a2a4d683548ec5935f7828 (patch)
tree629a31fd63c20cd644ec37f918cef71e2d908300
parentd3f2137f5c771c3ed164e032aef6c6e5b0de7aa6 (diff)
downloadnixpkgs-f21e29d83b4bad7ec3a2a4d683548ec5935f7828.tar
nixpkgs-f21e29d83b4bad7ec3a2a4d683548ec5935f7828.tar.gz
nixpkgs-f21e29d83b4bad7ec3a2a4d683548ec5935f7828.tar.bz2
nixpkgs-f21e29d83b4bad7ec3a2a4d683548ec5935f7828.tar.lz
nixpkgs-f21e29d83b4bad7ec3a2a4d683548ec5935f7828.tar.xz
nixpkgs-f21e29d83b4bad7ec3a2a4d683548ec5935f7828.tar.zst
nixpkgs-f21e29d83b4bad7ec3a2a4d683548ec5935f7828.zip
youtube-dl: fix youtube.com download throttling
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix16
1 files changed, 15 insertions, 1 deletions
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 680000b3371..20869ac4d79 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildPythonPackage
+{ lib, fetchurl, fetchpatch, buildPythonPackage
 , zip, ffmpeg, rtmpdump, phantomjs2, atomicparsley, pycryptodome, pandoc
 # Pandoc is required to build the package's man page. Release tarballs contain a
 # formatted man page already, though, it will still be installed. We keep the
@@ -25,6 +25,20 @@ buildPythonPackage rec {
     sha256 = "1hqan9h55x9gfdakw554vic68w9gpvhblchwxlw265zxp56hxjrw";
   };
 
+  patches = [
+    # Fixes throttling on youtube.com. Without the patch downloads are capped at
+    # about 80KiB/s. See, e.g.,
+    #
+    #   https://github.com/ytdl-org/youtube-dl/issues/29326
+    #
+    # The patch comes from PR https://github.com/ytdl-org/youtube-dl/pull/30188
+    (fetchpatch {
+      name = "fix-youtube-dl-speed.patch";
+      url = "https://github.com/ytdl-org/youtube-dl/pull/30188.patch";
+      sha256 = "15liban37ina2y4bnykfdywdy4rbkfff2r6vd0kqn2k7rfkcczyz";
+    })
+  ];
+
   nativeBuildInputs = [ installShellFiles makeWrapper ];
   buildInputs = [ zip ] ++ lib.optional generateManPage pandoc;
   propagatedBuildInputs = lib.optional hlsEncryptedSupport pycryptodome;