anchor.diff:  assert elem stdenv.system [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
   
   let
  -  common = { pname, versions, untarDir ? "${pname}-${version}", hash, jdk, openssl ? null, nativeLibs ? [ ], libPatches ? "", tests }:
  +  common = { pname, platformAttrs, untarDir ? "${pname}-${version}", jdk, openssl ? null, nativeLibs ? [ ], libPatches ? "", tests }:
       stdenv.mkDerivation rec {
         inherit pname jdk libPatches untarDir openssl;
  -      version = versions.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
  +      version = platformAttrs.${stdenv.system}.version or (throw "Unsupported system: ${stdenv.system}");
         src = fetchurl {
           url = "mirror://apache/hadoop/common/hadoop-${version}/hadoop-${version}" + optionalString stdenv.isAarch64 "-aarch64" + ".tar.gz";
  -        hash = hash.${stdenv.system};
  +        inherit (platformAttrs.${stdenv.system}) hash;
         };
         doCheck = true;
   
  
positive.code:   # https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions
    hadoop_3_3 = common rec {
      pname = "hadoop";
      versions = rec {
        x86_64-linux = "3.3.3";
        x86_64-darwin = x86_64-linux;
        aarch64-linux = "3.3.1";
        aarch64-darwin = aarch64-linux;
      };
      untarDir = "${pname}-${version}";
      hash = rec {
        x86_64-linux = "sha256-+nHGG7qkJxKa7wn+wCizTdVCxlrZD9zOxefvk9g7h2Q=";
        x86_64-darwin = x86_64-linux;
        aarch64-linux = "sha256-v1Om2pk0wsgKBghRD2wgTSHJoKd3jkm1wPKAeDcKlgI=";
        aarch64-darwin = aarch64-linux;
      };
      jdk = jdk11_headless;
      inherit openssl;
      # TODO: Package and add Intel Storage Acceleration Library
  
negative.code:           computers, each of which may be prone to failures.
          '';
          maintainers = with maintainers; [ illustris ];
          platforms = attrNames platformAttrs;
        } (attrByPath [ stdenv.system "meta" ] {} platformAttrs);
      };
  in
  {
  