anchor.diff:      for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do
         make -C "''${d}" index.html
       done
  +  '' + optionalString withDevdoc ''
  +    make dox
     '';
   
     postInstall = ''
       mkdir -p $doc/share/doc/openafs/{AdminGuide,QuickStartUnix,UserGuide}
  -    cp -r doc/{pdf,protocol,txt} README LICENSE $doc/share/doc/openafs
  +    cp -r doc/txt README LICENSE $doc/share/doc/openafs
       for d in AdminGuide QuickStartUnix UserGuide ; do
         cp "doc/xml/''${d}"/*.html "$doc/share/doc/openafs/''${d}"
       done
   
       rm -r $out/lib/openafs
  +  '' + optionalString withDevdoc ''
  +    mkdir -p $devdoc/share/devhelp/openafs/doxygen
  +    cp -r doc/{pdf,protocol} $devdoc/share/devhelp/openafs
  +    cp -r doc/doxygen/output/html $devdoc/share/devhelp/openafs/doxygen
     '';
   
     # Avoid references to $TMPDIR by removing it and let patchelf cleanup the
  
positive.code: { stdenv, buildPackages, fetchurl, which, autoconf, automake, flex
  , yacc , glibc, perl, kerberos, libxslt, docbook_xsl, file
  , docbook_xml_dtd_43, libtool_2
  , ncurses # Extra ncurses utilities. Needed for debugging and monitoring.
  , tsmbac ? null # Tivoli Storage Manager Backup Client from IBM
  }:
  
negative.code: 
    depsBuildBuild = [ buildPackages.stdenv.cc ];
    nativeBuildInputs = [ autoconf automake flex libxslt libtool_2 perl
      which yacc ] ++ optionals withDevdoc [ doxygen dblatex ];
  
    buildInputs = [ kerberos ncurses ];
  
    patches = [ ./bosserver.patch ./cross-build.patch ] ++ optional (tsmbac != null) ./tsmbac.patch;
  
    outputs = [ "out" "dev" "man" "doc" ] ++ optional withDevdoc "devdoc";
  
    enableParallelBuilding = false;
  
  