{ nixpkgs ? import , system ? { config = "x86_64-unknown-genode"; } }: with builtins; let nixpkgs' = nixpkgs { config.allowUnsupportedSystem = true; crossSystem = { isx86_64 = true; isGenode = true; imports = [ ./platform.nix ]; }; overlays = [ (import ./overlay) ]; }; 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; }; 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; }; }; }