anchor.diff: -{ stdenv, fetchurl, pam ? null, glibcCross ? null }:
  +{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, libxslt, libxml2
  +, docbook_xml_dtd_412, docbook_xsl, gnome_doc_utils, flex, bison
  +, pam ? null, glibcCross ? null }:
   
   let
   
  
positive.code:   preConfigure = ''
      export ac_cv_func_setpgrp_void=yes
      export shadow_cv_logdir=/var/log
    '';
  
    preBuild = assert glibc != null;
      ''
  
negative.code: in
  
  stdenv.mkDerivation rec {
    name = "shadow-${version}";
    version = "4.4";
  
    src = fetchFromGitHub {
      owner = "shadow-maint";
      repo = "shadow";
      rev = "${version}";
      sha256 = "005qk3n86chc8mlg86qhrns2kpl52n5f3las3m5s6266xij3qwka";
    };
  
    buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
    nativeBuildInputs = [autoreconfHook libxslt libxml2 
      docbook_xml_dtd_412 docbook_xsl gnome_doc_utils flex bison
      ];
  
    patches = [ ./keep-path.patch dots_in_usernames ];
  
  