anchor.diff:  { stdenv, fetchurl, perl
   , withCryptodev ? false, cryptodevHeaders }:
   
  +with stdenv.lib;
   let
  -  name = "openssl-1.0.1o";
  -
  -  opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ]
  +  opensslCrossSystem = attrByPath [ "openssl" "system" ]
       (throw "openssl needs its platform name cross building" null)
       stdenv.cross;
  -
  -  patchesCross = isCross: let
  -    isDarwin = stdenv.isDarwin || (isCross && stdenv.cross.libc == "libSystem");
  -  in stdenv.lib.optional isDarwin ./darwin-arch.patch;
  -
  -  extraPatches = stdenv.lib.optional stdenv.isCygwin ./1.0.1-cygwin64.patch;
   in
  -
  -stdenv.mkDerivation {
  -  inherit name;
  +stdenv.mkDerivation rec {
  +  name = "openssl-1.0.1o";
   
     src = fetchurl {
       urls = [
  
positive.code:     sha1 = "b003e3382607ef2c6d85b51e4ed7a4c0a76b8d5a";
    };
  
    patches = (patchesCross false) ++ extraPatches;
  
    buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
  
    nativeBuildInputs = [ perl ];
  
    # On x86_64-darwin, "./config" misdetects the system as
    # "darwin-i386-cc".  So specify the system type explicitly.
  
negative.code:     else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
      else "./config";
  
    configureFlags = [
      "shared"
      "--libdir=lib"
      "--openssldir=etc/ssl"
    ] ++ stdenv.lib.optionals withCryptodev [
      "-DHAVE_CRYPTODEV"
      "-DUSE_CRYPTODEV_DIGESTS"
    ];
  
    makeFlags = [
      "MANDIR=$(out)/share/man"
    ];
  
    # Parallel building is broken in OpenSSL.
    enableParallelBuilding = false;
  
    postInstall = ''
      # If we're building dynamic libraries, then don't install static
      # libraries.
      if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
          rm "$out/lib/"*.a
      fi
  
      # remove dependency on Perl at runtime
      rm -r $out/etc/ssl/misc $out/bin/c_rehash
    '';
  
    postFixup = ''
      # Check to make sure we don't depend on perl
      if grep -r '${perl}' $out; then
        echo "Found an erroneous dependency on perl ^^^" >&2
        exit 1
      fi
    '';
  
    crossAttrs = {
      preConfigure=''
        # It's configure does not like --build or --host
        export configureFlags="${concatStringsSep " " (configureFlags ++ [ opensslCrossSystem ])}"
      '';
  
      configureScript = "./Configure";
    };
  
    meta = {
  