anchor.diff:      separateDebugInfo = !(stdenv.hostPlatform.useLLVM or false) && stdenv.cc.isGNU;
   
       nativeBuildInputs = [ perl ];
  -    buildInputs = lib.optional withCryptodev cryptodev;
  +    buildInputs = lib.optional withCryptodev cryptodev
  +      # perl is included to allow the interpreter path fixup hook to set the
  +      # correct interpreter in c_rehash.
  +      ++ lib.optional withPerl perl;
   
       # TODO(@Ericson2314): Improve with mass rebuild
       configurePlatforms = [];
  
positive.code:           rm "$out/lib/"*.a
        fi
  
      '' +
      ''
        mkdir -p $bin
      '' + lib.optionalString (!stdenv.hostPlatform.isWindows)
      ''
        substituteInPlace $out/bin/c_rehash --replace ${buildPackages.perl} ${perl}
      '' +
      ''
        mv $out/bin $bin/
  
negative.code: , enableSSL2 ? false
  , enableSSL3 ? false
  , static ? stdenv.hostPlatform.isStatic
  # Used to avoid cross compiling perl, for example, in darwin bootstrap tools.
  # This will cause c_rehash to refer to perl via the environment, but otherwise
  # will produce a perfectly functional openssl binary and library.
  , withPerl ? true
  }:
  
  assert (
    lib.assertMsg (!withPerl -> stdenv.hostPlatform != stdenv.buildPlatform)
    "withPerl should not be disabled unless cross compiling"
  );
  
  # Note: this package is used for bootstrapping fetchurl, and thus
  # cannot use fetchpatch! All mutable patches (generated by GitHub or
  