|
|
|
@ -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; |
|
|
|
|