anchor.diff: -{ lib, stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null, xz
  -, pkgconfig, boehmgc, perlPackages, libsodium
  +{ lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz
  +, pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp
  +, autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl
   , storeDir ? "/nix/store"
   , stateDir ? "/nix/var"
   }:
   
   let
   
  -  common = { name, src }: stdenv.mkDerivation rec {
  +  common = { name, suffix ? "", src, fromGit ? false }: stdenv.mkDerivation rec {
       inherit name src;
  +    version = lib.getVersion name;
  +
  +    VERSION_SUFFIX = lib.optionalString fromGit suffix;
   
       outputs = [ "out" "dev" "man" "doc" ];
   
  -    nativeBuildInputs = [ perl pkgconfig ];
  +    nativeBuildInputs =
  +      [ perl pkgconfig ]
  +      ++ lib.optionals fromGit [ autoreconfHook autoconf-archive bison flex libxml2 libxslt docbook5 docbook5_xsl ];
   
       buildInputs = [ curl openssl sqlite xz ]
  -      ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium;
  +      ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
  +      ++ lib.optional (stdenv.isLinux && lib.versionAtLeast version "1.12pre")
  +          (aws-sdk-cpp.override {
  +            apis = ["s3"];
  +            customMemoryManagement = false;
  +          });
   
       propagatedBuildInputs = [ boehmgc ];
   
  
positive.code:       '';
  
      configureFlags =
        ''
          --with-store-dir=${storeDir} --localstatedir=${stateDir} --sysconfdir=/etc
          --with-dbi=${perlPackages.DBI}/${perl.libPrefix}
          --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
          --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
          --disable-init-state
          --enable-gc
        '';
  
      makeFlags = "profiledir=$(out)/etc/profile.d";
  
  
negative.code:   };
  
    nixUnstable = lib.lowPrio (common rec {
      name = "nix-1.12${suffix}";
      suffix = "pre4911_b30d1e7";
      src = fetchFromGitHub {
        owner = "NixOS";
        repo = "nix";
        rev = "b30d1e7ada0a8fbaacc25e24e5e788d18bfe8d3c";
        sha256 = "04j6aw2bi3k7m5jyqwn1vrf78br5kdfpjsj15b5r5lvxdqhlknvm";
      };
      fromGit = true;
    });
  
  }
  