anchor.diff:  # This will cause c_rehash to refer to perl via the environment, but otherwise
   # will produce a perfectly functional openssl binary and library.
   , withPerl ? stdenv.hostPlatform == stdenv.buildPlatform
  +, removeReferencesTo
   }:
   
   stdenv.mkDerivation rec {
  
positive.code:     !(stdenv.hostPlatform.useLLVM or false) &&
      stdenv.cc.isGNU;
  
    nativeBuildInputs = [ perl ];
    buildInputs = lib.optional withCryptodev cryptodev
      # perl is included to allow the interpreter path fixup hook to set the
      # correct interpreter in c_rehash.
  
negative.code: 
    enableParallelBuilding = true;
  
    postInstall = (if static then ''
      # OPENSSLDIR has a reference to self
      ${removeReferencesTo}/bin/remove-references-to -t $out $out/lib/*.a
    '' else ''
      # 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
    '') + lib.optionalString (!stdenv.hostPlatform.isWindows)
      # Fix bin/c_rehash's perl interpreter line
      #
      # - openssl 1_0_2: embeds a reference to buildPackages.perl
  