|
|
|
@ -1,9 +1,10 @@
|
|
|
|
|
{ flake, pkgs }:
|
|
|
|
|
{ final, prev }:
|
|
|
|
|
|
|
|
|
|
let
|
|
|
|
|
inherit (pkgs) lib buildPackages;
|
|
|
|
|
inherit (final) lib;
|
|
|
|
|
inherit (prev.buildPackages) buildPackages;
|
|
|
|
|
|
|
|
|
|
platform = pkgs.targetPlatform;
|
|
|
|
|
platform = final.targetPlatform;
|
|
|
|
|
|
|
|
|
|
arch = with platform;
|
|
|
|
|
if isx86_64 then
|
|
|
|
@ -16,7 +17,7 @@ let
|
|
|
|
|
upstreamSources =
|
|
|
|
|
# This is where the Genode source tree is defined.
|
|
|
|
|
# Must be updated with ./patches/sources.patch.
|
|
|
|
|
pkgs.fetchFromGitHub {
|
|
|
|
|
buildPackages.fetchFromGitHub {
|
|
|
|
|
owner = "genodelabs";
|
|
|
|
|
repo = "genode";
|
|
|
|
|
rev = "sculpt-21.03";
|
|
|
|
@ -137,9 +138,8 @@ let
|
|
|
|
|
# The "ports" mechanism is hardly deterministic, so prepare with
|
|
|
|
|
# a pinned nixpkgs revision for a pinned platform for consistency.
|
|
|
|
|
lib.mapAttrs preparePort (import ./ports.nix {
|
|
|
|
|
pkgs = flake.inputs.nixpkgs.legacyPackages.x86_64-linux // {
|
|
|
|
|
inherit (pkgs) genodePackages;
|
|
|
|
|
};
|
|
|
|
|
pkgs = buildPackages;
|
|
|
|
|
inherit (final.genodePackages) worldSources;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
toolchain =
|
|
|
|
@ -149,7 +149,7 @@ let
|
|
|
|
|
stdenv' =
|
|
|
|
|
# Special stdenv for use within the upstream sources.
|
|
|
|
|
# TODO: build with Clang.
|
|
|
|
|
pkgs.stdenvAdapters.overrideCC pkgs.stdenv toolchain;
|
|
|
|
|
final.stdenvAdapters.overrideCC final.stdenv toolchain;
|
|
|
|
|
|
|
|
|
|
buildUpstream =
|
|
|
|
|
# Build from the Genode sources using the least recursive make.
|
|
|
|
@ -297,8 +297,8 @@ let
|
|
|
|
|
# Build everything in ./make-targets.nix.
|
|
|
|
|
let
|
|
|
|
|
overrides = import ./make-targets.nix {
|
|
|
|
|
inherit (pkgs) buildPackages genodePackages;
|
|
|
|
|
inherit ports;
|
|
|
|
|
inherit (final) genodePackages;
|
|
|
|
|
inherit buildPackages ports;
|
|
|
|
|
};
|
|
|
|
|
in lib.attrsets.mapAttrs
|
|
|
|
|
(name: value: (buildUpstream ({ inherit name; } // value))) overrides;
|
|
|
|
@ -307,9 +307,8 @@ let
|
|
|
|
|
# Build everything in ./depot-targets.nix.
|
|
|
|
|
(name: value: (buildDepot ({ inherit name; } // value)))
|
|
|
|
|
(import ./depot-targets.nix {
|
|
|
|
|
inherit (pkgs) genodePackages;
|
|
|
|
|
inherit ports;
|
|
|
|
|
buildPackages = buildPackages.buildPackages;
|
|
|
|
|
inherit (final) genodePackages;
|
|
|
|
|
inherit buildPackages ports;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
specs = with platform;
|
|
|
|
|