anchor.diff:        urls =
           let
             version' = if source ? baseSha256 then unpatchedVersion else version;
  -        in source.baseUrls or (source.urls or (map (n: "${n}/linux-${version'}.tar.xz") directoryUrls));
  +        in source.baseUrls or (source.urls or (map (n: "${n}/linux-${version'}.tar.xz") (directoryUrls version')));
         hashOutput = false;
         sha256 = source.baseSha256 or source.sha256;
       };
   
     patch = if source ? patchSha256 && source.patchSha256 != null then
       fetchurl {
  -      urls = source.patchUrls or (map (n: "${n}/patch-${version}.xz") directoryUrls);
  +      urls = source.patchUrls or (map (n: "${n}/patch-${version}.xz") (directoryUrls version));
         hashOutput = false;
         sha256 = source.patchSha256;
       }
  
positive.code:   inherit (source)
      version;
  
    unpatchedVersion =
      let
        rclist = splitString "-" version;
        isRC = [ ] != tail rclist;
        vlist = splitString "." (head rclist);
        minorInt = toInt (elemAt vlist 1);
        correctMinor = if isRC then minorInt - 1 else minorInt;
      in "${elemAt vlist 0}.${toString correctMinor}";
  
    directoryUrls = [
      "mirror://kernel/linux/kernel/v4.x"
      "mirror://kernel/linux/kernel/v4.x/testing"
    ];
  
    src = if source ? rev then
  
negative.code:   srcsVerification = [
      (fetchurl {
        failEarly = true;
        fullOpts = let v = if source ? baseSha256 then unpatchedVersion else version; in {
          pgpDecompress = true;
          pgpsigUrls = map (n: "${n}/linux-${v}.tar.sign") (directoryUrls v);
          inherit pgpKeyFingerprints;
        };
        inherit (src) urls outputHash outputHashAlgo;
  