anchor.diff: -{ lib, buildPythonPackage, fetchPypi
  -, ffmpeg, rtmpdump, phantomjs2, atomicparsley, pycryptodome
  -, websockets, mutagen
  +{ lib
  +, buildPythonPackage
  +, fetchPypi
  +, ffmpeg
  +, rtmpdump
  +, phantomjs2
  +, atomicparsley
  +, pycryptodome
  +, websockets
  +, mutagen
   , ffmpegSupport ? true
   , rtmpSupport ? true
   , phantomjsSupport ? false
  
positive.code:   # - ffmpeg: post-processing & transcoding support
    # - rtmpdump: download files over RTMP
    # - atomicparsley: embedding thumbnails
    makeWrapperArgs = let
        packagesToBinPath = [ atomicparsley ]
          ++ lib.optional ffmpegSupport ffmpeg
          ++ lib.optional rtmpSupport rtmpdump
          ++ lib.optional phantomjsSupport phantomjs2;
      in [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
  
    setupPyBuildFlags = [
      "build_lazy_extractors"
  
negative.code:   # The websites yt-dlp deals with are a very moving target. That means that
    # downloads break constantly. Because of that, updates should always be backported
    # to the latest stable release.
    version = "2021.9.2";
  
    src = fetchPypi {
      inherit pname;
      version = builtins.replaceStrings [ ".0" ] [ "." ] version;
      sha256 = "sha256-yn53zbBVuiaD31sIB6qxweEgy+AsjzXZ0yk9lNva6mM=";
    };
  
    # build_lazy_extractors assumes this directory exists but it is not present in
  