anchor.diff: -{ lib, stdenv, fetchFromGitHub, fetchpatch, python3, buildDocs ? true, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }:
  +{ lib
  +, stdenv
  +, fetchFromGitHub
  +, fetchpatch
  +, asciidoc
  +, docbook_xml_dtd_45
  +, docbook_xsl
  +, libxslt
  +, python3
  +, re2c
  +, buildDocs ? true
  +}:
   
  -with lib;
  -
  -stdenv.mkDerivation rec {
  +stdenv.mkDerivation (finalAttrs: {
     pname = "ninja";
     version = "1.11.1";
   
     src = fetchFromGitHub {
       owner = "ninja-build";
       repo = "ninja";
  -    rev = "v${version}";
  -    sha256 = "sha256-LvV/Fi2ARXBkfyA1paCRmLUwCh/rTyz+tGMg2/qEepI=";
  +    rev = "v${finalAttrs.version}";
  +    hash = "sha256-LvV/Fi2ARXBkfyA1paCRmLUwCh/rTyz+tGMg2/qEepI=";
     };
   
  -  nativeBuildInputs = [ python3 re2c ] ++ optionals buildDocs [ asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin ];
  +  nativeBuildInputs = [
  +    python3
  +    re2c
  +  ]
  +  ++ lib.optionals buildDocs [
  +    asciidoc
  +    docbook_xml_dtd_45
  +    docbook_xsl
  +    libxslt.bin
  +  ];
   
     buildPhase = ''
       python configure.py --bootstrap
  -  '' + optionalString buildDocs ''
  +  '' + lib.optionalString buildDocs ''
       # "./ninja -vn manual" output copied here to support cross compilation.
       asciidoc -b docbook -d book -o build/manual.xml doc/manual.asciidoc
       xsltproc --nonet doc/docbook.xsl build/manual.xml > doc/manual.html
  
positive.code:     install -Dm555 -t $out/bin ninja
      install -Dm444 misc/bash-completion $out/share/bash-completion/completions/ninja
      install -Dm444 misc/zsh-completion $out/share/zsh/site-functions/_ninja
    '' + optionalString buildDocs ''
      install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html
    '';
  
    setupHook = ./setup-hook.sh;
  
    meta = {
      description = "Small build system with a focus on speed";
      longDescription = ''
        Ninja is a small build system with a focus on speed. It differs from
  
negative.code:     platforms = platforms.unix;
      maintainers = with maintainers; [ thoughtpolice bjornfor orivej ];
    };
  })
  