anchor.diff:    # - ffmpeg: post-processing & transcoding support
     # - rtmpdump: download files over RTMP
     # - atomicparsley: embedding thumbnails
  -  makeWrapperArgs = let
  +  makeWrapperArgs =
  +    let
         packagesToBinPath = [ atomicparsley ]
           ++ lib.optional ffmpegSupport ffmpeg
           ++ lib.optional rtmpSupport rtmpdump
           ++ lib.optional phantomjsSupport phantomjs2;
  -    in [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
  +    in
  +    [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
   
     setupPyBuildFlags = [
       "build_lazy_extractors"
  
positive.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.08.10";
  
    src = fetchPypi {
      inherit pname;
      version = builtins.replaceStrings [ ".0" ] [ "." ] version;
      sha256 = "8da1bf4dc4641d37d137443c4783109ee8393caad5e0d270d9d1d534e8f25240";
    };
  
    # build_lazy_extractors assumes this directory exists but it is not present in
  
negative.code: { lib
  , buildPythonPackage
  , fetchPypi
  , ffmpeg
  , rtmpdump
  , phantomjs2
  , atomicparsley
  , pycryptodome
  , websockets
  , mutagen
  , ffmpegSupport ? true
  , rtmpSupport ? true
  , phantomjsSupport ? false
  