anchor.diff:      setupHook = ./setup-hook.sh;
   
       passthru = rec {
  -      interpreter = "${self}/bin/perl";
  +      interpreter = "${perl}/bin/perl";
         libPrefix = "lib/perl5/site_perl";
         pkgs = callPackage ../../../top-level/perl-packages.nix {
  -        perl = self;
  -        inherit buildPerl;
  +        inherit perl buildPerl;
           overrides = config.perlPackageOverrides or (p: {}); # TODO: (self: super: {}) like in python
         };
         buildEnv = callPackage ./wrapper.nix {
  -        perl = self;
  +        inherit perl;
           inherit (pkgs) requiredPerlModules;
         };
         withPackages = f: buildEnv.override { extraLibs = f pkgs; };
  
positive.code:   libcLib = lib.getLib libc;
    crossCompiling = stdenv.buildPlatform != stdenv.hostPlatform;
  
    common = { self, buildPerl, version, sha256 }: stdenv.mkDerivation (rec {
      inherit version;
  
      name = "perl-${version}";
  
negative.code:     # TODO merge setup hooks
      setupHook = ./setup-hook-cross.sh;
    });
  in {
    # the latest Maint version
    perl528 = common {
      perl = pkgs.perl528;
      buildPerl = buildPackages.perl528;
      version = "5.28.2";
      sha256 = "1iynpsxdym4h76kgndmn3ykvwxhqz444xvaz8z2irsxkvmnlb5da";
  