refactor: eval performant target
This commit is contained in:
parent
a5b66548d3
commit
c4c94f40e4
25 changed files with 92 additions and 136 deletions
|
|
@ -78,12 +78,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,14 @@ in
|
|||
default.value = false;
|
||||
};
|
||||
};
|
||||
target = lib.options.create {
|
||||
type = lib.types.raw;
|
||||
default.value = lib.attrs.generate lib.systems.doubles.all (
|
||||
target:
|
||||
(config.extend { settings.target = target; })
|
||||
.packages.${config.platform.build}.${config.platform.host}
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
|
|
|
|||
|
|
@ -62,6 +62,14 @@ in
|
|||
default.value = false;
|
||||
};
|
||||
};
|
||||
target = lib.options.create {
|
||||
type = lib.types.raw;
|
||||
default.value = lib.attrs.generate lib.systems.doubles.all (
|
||||
target:
|
||||
(config.extend { settings.target = target; })
|
||||
.packages.${config.platform.build}.${config.platform.host}
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
|
|
@ -87,10 +95,12 @@ in
|
|||
|
||||
builder = builders.foundation.basic;
|
||||
|
||||
src = lib.fetchurl {
|
||||
url = "${mirrors.gnu}/binutils/binutils-${version}.tar.xz";
|
||||
hash = "sha256-rppXieI0WeWWBuZxRyPy0//DHAMXQZHvDQFb3wYAdFA=";
|
||||
};
|
||||
src = (
|
||||
lib.fetchurl {
|
||||
url = "${mirrors.gnu}/binutils/binutils-${version}.tar.xz";
|
||||
hash = "sha256-rppXieI0WeWWBuZxRyPy0//DHAMXQZHvDQFb3wYAdFA=";
|
||||
}
|
||||
);
|
||||
|
||||
deps = {
|
||||
build =
|
||||
|
|
@ -129,12 +139,8 @@ in
|
|||
}
|
||||
)
|
||||
// (lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -77,12 +77,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -68,12 +68,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -84,12 +84,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -79,12 +79,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -79,12 +79,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -79,12 +79,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,14 @@ in
|
|||
default.value = config.platform.host;
|
||||
description = "Target of the compiler";
|
||||
};
|
||||
target = lib.options.create {
|
||||
type = lib.types.raw;
|
||||
default.value = lib.attrs.generate lib.systems.doubles.all (
|
||||
target:
|
||||
(config.extend { settings.target = target; })
|
||||
.packages.${config.platform.build}.${config.platform.host}
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
|
|
|
|||
|
|
@ -79,6 +79,14 @@ in
|
|||
default.value = "x86_64-linux";
|
||||
description = "Target of the compiler";
|
||||
};
|
||||
target = lib.options.create {
|
||||
type = lib.types.raw;
|
||||
default.value = lib.attrs.generate lib.systems.doubles.all (
|
||||
target:
|
||||
(config.extend { settings.target = target; })
|
||||
.packages.${config.platform.build}.${config.platform.host}
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
|
|
@ -168,9 +176,8 @@ in
|
|||
}
|
||||
)
|
||||
// {
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.settings.target;
|
||||
};
|
||||
binutils-cross =
|
||||
packages.foundation.binutils.versions."2.41-stage1".target.${config.settings.target};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -82,6 +82,14 @@ in
|
|||
default.value = "x86_64-linux";
|
||||
description = "Target of the compiler";
|
||||
};
|
||||
target = lib.options.create {
|
||||
type = lib.types.raw;
|
||||
default.value = lib.attrs.generate lib.systems.doubles.all (
|
||||
target:
|
||||
(config.extend { settings.target = target; })
|
||||
.packages.${config.platform.build}.${config.platform.host}
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
|
|
@ -171,9 +179,8 @@ in
|
|||
}
|
||||
)
|
||||
// {
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.settings.target;
|
||||
};
|
||||
binutils-cross =
|
||||
packages.foundation.binutils.versions."2.41-stage1".target.${config.settings.target};
|
||||
};
|
||||
|
||||
host = {
|
||||
|
|
|
|||
|
|
@ -163,12 +163,8 @@ in
|
|||
}
|
||||
)
|
||||
// {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
|
||||
host = {
|
||||
|
|
|
|||
|
|
@ -99,12 +99,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage1".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
host = {
|
||||
linux-headers = packages.foundation.linux-headers.versions."6.5.6-stage1";
|
||||
|
|
|
|||
|
|
@ -79,12 +79,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -79,12 +79,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -85,12 +85,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -79,12 +79,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -79,12 +79,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -79,12 +79,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -79,12 +79,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc-cross = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils-cross = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -67,12 +67,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
# target = lib.attrs.when (config.platform.host != config.platform.target) {
|
||||
# gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
|
|
|
|||
|
|
@ -81,12 +81,8 @@ in
|
|||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
python = packages.foundation.python.versions."3.12.0-stage1";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
|
||||
host = {
|
||||
|
|
|
|||
|
|
@ -75,12 +75,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -68,12 +68,8 @@ in
|
|||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
settings.target = config.platform.host;
|
||||
};
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2".target.${config.platform.host};
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1".target.${config.platform.host};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue