{ nixpkgs ? import , system ? { config = "x86_64-unknown-genode"; } }: with builtins; let nixpkgs' = nixpkgs { crossSystem = system; config.allowUnsupportedSystem = true; }; portIncludes = ports: listToAttrs ( map ( name: let port = getAttr name ports; in { name = name + "_include"; value = getAttr "include" port; } ) (attrNames ports) ); toolchain = import ./tool/toolchain.nix; in rec { inherit toolchain; nixpkgs = nixpkgs'; dhall = import ./dhall { inherit nixpkgs; }; upstream = import ./upstream { inherit nixpkgs toolchain; }; ports = import ./ports { inherit nixpkgs toolchain upstream; }; libretro = import ./libretro { inherit nixpkgs upstream toolchain; inherit (ports) stdcxx libc; }; shell = import ./shell.nix { inherit nixpkgs toolchain; dhallPackages = dhall; pkgs = { inherit upstream ports; }; }; }