forked from auxolotl/labs
fix: cross-platform deps
This commit is contained in:
parent
27a0e3d59f
commit
193a52cbc8
|
@ -83,6 +83,7 @@ in {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
|
(builtins.trace "${package.name}: ${system}")
|
||||||
built
|
built
|
||||||
// {
|
// {
|
||||||
inherit (package) meta;
|
inherit (package) meta;
|
||||||
|
|
|
@ -28,7 +28,8 @@ in {
|
||||||
# platform.host = lib.modules.overrides.force "x86_64-linux";
|
# platform.host = lib.modules.overrides.force "x86_64-linux";
|
||||||
# };
|
# };
|
||||||
# example-x = config.packages.example.x;
|
# example-x = config.packages.example.x;
|
||||||
# cross-example-x-x86_64-linux = config.packages.cross.x86_64-linux.example.x;
|
cross-aux-a-x86_64-linux = config.packages.cross.x86_64-linux.aux.a;
|
||||||
|
cross-foundation-gcc-x86_64-linux = config.packages.cross.x86_64-linux.foundation.gcc;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,31 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
resolved = result.config;
|
# Not all platform information can be effectively handled via submodules. To handle
|
||||||
|
# the case where a user copies the resolved config over we need to ensure that
|
||||||
|
# dependencies are appropriately updated.
|
||||||
|
resolved =
|
||||||
|
result.config
|
||||||
|
// {
|
||||||
|
deps = {
|
||||||
|
build = {
|
||||||
|
only = buildDependencies build build build package.deps.build.only;
|
||||||
|
build = buildDependencies build build target package.deps.build.build;
|
||||||
|
host = buildDependencies build host target package.deps.build.host;
|
||||||
|
target = buildDependencies build target target package.deps.build.target;
|
||||||
|
};
|
||||||
|
host = {
|
||||||
|
only = buildDependencies host host host package.deps.host.only;
|
||||||
|
host = buildDependencies host host target package.deps.host.host;
|
||||||
|
target = buildDependencies host target target package.deps.host.target;
|
||||||
|
};
|
||||||
|
target = {
|
||||||
|
only = buildDependencies target target target package.deps.target.only;
|
||||||
|
target = buildDependencies target target target package.deps.target.target;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
resolved
|
resolved
|
||||||
// {
|
// {
|
||||||
|
|
|
@ -80,6 +80,7 @@ in {
|
||||||
transform = value: let
|
transform = value: let
|
||||||
package = lib'.packages.resolve value;
|
package = lib'.packages.resolve value;
|
||||||
in
|
in
|
||||||
|
(builtins.trace "building dependency ${package.name}: build=${build.triple} host=${host.triple} target=${target.triple}")
|
||||||
lib'.packages.build package build host target;
|
lib'.packages.build package build host target;
|
||||||
in
|
in
|
||||||
lib.types.attrs.of (lib.types.coerce initial transform lib'.types.package);
|
lib.types.attrs.of (lib.types.coerce initial transform lib'.types.package);
|
||||||
|
|
|
@ -47,7 +47,16 @@ in {
|
||||||
builtins.mapAttrs (
|
builtins.mapAttrs (
|
||||||
name: alias: let
|
name: alias: let
|
||||||
setHost = package:
|
setHost = package:
|
||||||
package;
|
package // {
|
||||||
|
__modules__ = package.__modules__ ++ [
|
||||||
|
{
|
||||||
|
config.platform = {
|
||||||
|
host = lib.modules.override 5 system;
|
||||||
|
target = lib.modules.override 5 system;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
# if package != {}
|
# if package != {}
|
||||||
# then
|
# then
|
||||||
# (package.extend (
|
# (package.extend (
|
||||||
|
|
Loading…
Reference in a new issue