anchor.diff:        ]
         ++ optional stdenv.isSunOS ./ld-shared.patch
         ++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ]
  -      ++ optional crossCompiling ./MakeMaker-cross.patch;
  +      ++ optionals crossCompiling [
  +        ./MakeMaker-cross.patch
  +        # https://github.com/arsv/perl-cross/pull/120
  +        (fetchpatch {
  +          url = "https://github.com/arsv/perl-cross/commit/3c318ae6572f8b36cb077c8b49c851e2f5fe181e.patch";
  +          sha256 = "0cmcy8bams3c68f6xadl52z2w378wcpdjzi3qi4pcyvcfs011l6g";
  +        })
  +      ];
   
       # This is not done for native builds because pwd may need to come from
       # bootstrap tools when building bootstrap perl.
  
positive.code:       ++ [
          "-Uinstallusrbinperl"
          "-Dinstallstyle=lib/perl5"
          "-Duseshrplib"
          "-Dlocincpth=${libcInc}/include"
          "-Dloclibpth=${libcLib}/lib"
        ]
        ++ optionals ((builtins.match ''5\.[0-9]*[13579]\..+'' version) != null) [ "-Dusedevel" "-Uversiononly" ]
        ++ optional stdenv.isSunOS "-Dcc=gcc"
        ++ optional enableThreading "-Dusethreads"
        ++ optionals (!crossCompiling) [
          "-Dprefix=${placeholder "out"}"
          "-Dman1dir=${placeholder "out"}/share/man/man1"
  
negative.code: { config, lib, stdenv, fetchurl, fetchpatch, fetchFromGitHub, pkgs, buildPackages
  , callPackage
  , enableThreading ? true, coreutils, makeWrapper
  }:
  