From e2f6de0b1173386bfb35edc17d9a57261ee290d0 Mon Sep 17 00:00:00 2001 From: Victor Fuentes Date: Wed, 15 Oct 2025 03:23:25 +0000 Subject: [PATCH] refactor: eval performant target (#40) Using `.extend` function causes nix to not cache the evaluation of a package (`a.extend {} != a.extend {}` ). In effect this meant that every time we used ``` 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; }; ``` we were performing full re-evaluations of binutils and gcc. To make this worse, since binutils and gcc depend on other binutils and gcc (sometimes with this `.extend`), the amount of evaluations would start to blow up. Before this patch evaluating `packages.foundation.gcc.latest.packages.x86_64-linux.x86_64-linux.package` would evaluate `binutils` stage1 139 times, after this patch (and before target patch) it's 4. Reviewed-on: https://git.auxolotl.org/auxolotl/labs/pulls/40 Co-authored-by: Victor Fuentes Co-committed-by: Victor Fuentes --- .../foundation/bash/versions/5.2.15-stage1.nix | 8 ++------ .../versions/2.41-stage1-passthrough.nix | 8 ++++++++ .../foundation/binutils/versions/2.41-stage1.nix | 16 ++++++++++------ .../foundation/bison/versions/3.8.2-stage1.nix | 8 ++------ .../foundation/bzip2/versions/1.0.8-stage1.nix | 8 ++------ .../foundation/coreutils/versions/9.4-stage1.nix | 8 ++------ .../diffutils/versions/3.10-stage1.nix | 8 ++------ .../findutils/versions/4.9.0-stage1.nix | 8 ++------ .../foundation/gawk/versions/5.2.2-stage1.nix | 8 ++------ .../gcc/versions/13.2.0-passthrough.nix | 8 ++++++++ .../foundation/gcc/versions/13.2.0-stage1.nix | 13 ++++++++++--- .../foundation/gcc/versions/13.2.0-stage2.nix | 13 ++++++++++--- .../foundation/gcc/versions/13.2.0-stage3.nix | 8 ++------ .../foundation/glibc/versions/2.38-stage1.nix | 8 ++------ .../foundation/gnugrep/versions/3.11-stage1.nix | 8 ++------ .../foundation/gnum4/versions/1.4.19-stage1.nix | 8 ++------ .../foundation/gnumake/versions/4.4.1-stage1.nix | 8 ++------ .../foundation/gnupatch/versions/2.7-stage1.nix | 8 ++------ .../foundation/gnused/versions/4.9-stage1.nix | 8 ++------ .../foundation/gnutar/versions/1.35-stage1.nix | 8 ++------ .../foundation/gzip/versions/1.13-stage1.nix | 8 ++------ .../foundation/musl/versions/1.2.4-stage1.nix | 8 ++------ .../foundation/python/versions/3.12.0-stage1.nix | 8 ++------ .../foundation/xz/versions/5.4.3-stage1.nix | 8 ++------ .../foundation/zlib/versions/1.3-stage1.nix | 8 ++------ 25 files changed, 86 insertions(+), 132 deletions(-) diff --git a/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1.nix b/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1.nix index 8beac37..8035efc 100644 --- a/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1.nix +++ b/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/binutils/versions/2.41-stage1-passthrough.nix b/tidepool/src/packages/foundation/binutils/versions/2.41-stage1-passthrough.nix index 561bed8..aecad03 100644 --- a/tidepool/src/packages/foundation/binutils/versions/2.41-stage1-passthrough.nix +++ b/tidepool/src/packages/foundation/binutils/versions/2.41-stage1-passthrough.nix @@ -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 = { diff --git a/tidepool/src/packages/foundation/binutils/versions/2.41-stage1.nix b/tidepool/src/packages/foundation/binutils/versions/2.41-stage1.nix index 335ac81..05b9567 100644 --- a/tidepool/src/packages/foundation/binutils/versions/2.41-stage1.nix +++ b/tidepool/src/packages/foundation/binutils/versions/2.41-stage1.nix @@ -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 = { @@ -129,12 +137,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}; }); }; diff --git a/tidepool/src/packages/foundation/bison/versions/3.8.2-stage1.nix b/tidepool/src/packages/foundation/bison/versions/3.8.2-stage1.nix index 59c4ccf..f807f82 100644 --- a/tidepool/src/packages/foundation/bison/versions/3.8.2-stage1.nix +++ b/tidepool/src/packages/foundation/bison/versions/3.8.2-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/bzip2/versions/1.0.8-stage1.nix b/tidepool/src/packages/foundation/bzip2/versions/1.0.8-stage1.nix index 74d2b11..4024b02 100644 --- a/tidepool/src/packages/foundation/bzip2/versions/1.0.8-stage1.nix +++ b/tidepool/src/packages/foundation/bzip2/versions/1.0.8-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/coreutils/versions/9.4-stage1.nix b/tidepool/src/packages/foundation/coreutils/versions/9.4-stage1.nix index cce47ac..6765b10 100644 --- a/tidepool/src/packages/foundation/coreutils/versions/9.4-stage1.nix +++ b/tidepool/src/packages/foundation/coreutils/versions/9.4-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/diffutils/versions/3.10-stage1.nix b/tidepool/src/packages/foundation/diffutils/versions/3.10-stage1.nix index d7bc1c6..5060041 100644 --- a/tidepool/src/packages/foundation/diffutils/versions/3.10-stage1.nix +++ b/tidepool/src/packages/foundation/diffutils/versions/3.10-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/findutils/versions/4.9.0-stage1.nix b/tidepool/src/packages/foundation/findutils/versions/4.9.0-stage1.nix index b9d4330..a776792 100644 --- a/tidepool/src/packages/foundation/findutils/versions/4.9.0-stage1.nix +++ b/tidepool/src/packages/foundation/findutils/versions/4.9.0-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/gawk/versions/5.2.2-stage1.nix b/tidepool/src/packages/foundation/gawk/versions/5.2.2-stage1.nix index 215f73c..1cfc18f 100644 --- a/tidepool/src/packages/foundation/gawk/versions/5.2.2-stage1.nix +++ b/tidepool/src/packages/foundation/gawk/versions/5.2.2-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/gcc/versions/13.2.0-passthrough.nix b/tidepool/src/packages/foundation/gcc/versions/13.2.0-passthrough.nix index 29b8d39..0394fe9 100644 --- a/tidepool/src/packages/foundation/gcc/versions/13.2.0-passthrough.nix +++ b/tidepool/src/packages/foundation/gcc/versions/13.2.0-passthrough.nix @@ -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 = { diff --git a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage1.nix b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage1.nix index 361611c..d2dfeaf 100644 --- a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage1.nix +++ b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage2.nix b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage2.nix index 69993d8..8c923e3 100644 --- a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage2.nix +++ b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage2.nix @@ -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 = { diff --git a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage3.nix b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage3.nix index 2425cdd..47963fc 100644 --- a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage3.nix +++ b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage3.nix @@ -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 = { diff --git a/tidepool/src/packages/foundation/glibc/versions/2.38-stage1.nix b/tidepool/src/packages/foundation/glibc/versions/2.38-stage1.nix index a0b0873..46597bb 100644 --- a/tidepool/src/packages/foundation/glibc/versions/2.38-stage1.nix +++ b/tidepool/src/packages/foundation/glibc/versions/2.38-stage1.nix @@ -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"; diff --git a/tidepool/src/packages/foundation/gnugrep/versions/3.11-stage1.nix b/tidepool/src/packages/foundation/gnugrep/versions/3.11-stage1.nix index 3218973..acfb747 100644 --- a/tidepool/src/packages/foundation/gnugrep/versions/3.11-stage1.nix +++ b/tidepool/src/packages/foundation/gnugrep/versions/3.11-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/gnum4/versions/1.4.19-stage1.nix b/tidepool/src/packages/foundation/gnum4/versions/1.4.19-stage1.nix index 9324a05..030fdc6 100644 --- a/tidepool/src/packages/foundation/gnum4/versions/1.4.19-stage1.nix +++ b/tidepool/src/packages/foundation/gnum4/versions/1.4.19-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/gnumake/versions/4.4.1-stage1.nix b/tidepool/src/packages/foundation/gnumake/versions/4.4.1-stage1.nix index a908ca1..889970f 100644 --- a/tidepool/src/packages/foundation/gnumake/versions/4.4.1-stage1.nix +++ b/tidepool/src/packages/foundation/gnumake/versions/4.4.1-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/gnupatch/versions/2.7-stage1.nix b/tidepool/src/packages/foundation/gnupatch/versions/2.7-stage1.nix index 4b4ca81..4760a43 100644 --- a/tidepool/src/packages/foundation/gnupatch/versions/2.7-stage1.nix +++ b/tidepool/src/packages/foundation/gnupatch/versions/2.7-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/gnused/versions/4.9-stage1.nix b/tidepool/src/packages/foundation/gnused/versions/4.9-stage1.nix index 572adcf..98051f0 100644 --- a/tidepool/src/packages/foundation/gnused/versions/4.9-stage1.nix +++ b/tidepool/src/packages/foundation/gnused/versions/4.9-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/gnutar/versions/1.35-stage1.nix b/tidepool/src/packages/foundation/gnutar/versions/1.35-stage1.nix index 42530ae..87ca526 100644 --- a/tidepool/src/packages/foundation/gnutar/versions/1.35-stage1.nix +++ b/tidepool/src/packages/foundation/gnutar/versions/1.35-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/gzip/versions/1.13-stage1.nix b/tidepool/src/packages/foundation/gzip/versions/1.13-stage1.nix index 9101ef8..c473ef6 100644 --- a/tidepool/src/packages/foundation/gzip/versions/1.13-stage1.nix +++ b/tidepool/src/packages/foundation/gzip/versions/1.13-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/musl/versions/1.2.4-stage1.nix b/tidepool/src/packages/foundation/musl/versions/1.2.4-stage1.nix index 04a7fca..0d45941 100644 --- a/tidepool/src/packages/foundation/musl/versions/1.2.4-stage1.nix +++ b/tidepool/src/packages/foundation/musl/versions/1.2.4-stage1.nix @@ -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"; diff --git a/tidepool/src/packages/foundation/python/versions/3.12.0-stage1.nix b/tidepool/src/packages/foundation/python/versions/3.12.0-stage1.nix index b9f9e27..015ea48 100644 --- a/tidepool/src/packages/foundation/python/versions/3.12.0-stage1.nix +++ b/tidepool/src/packages/foundation/python/versions/3.12.0-stage1.nix @@ -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 = { diff --git a/tidepool/src/packages/foundation/xz/versions/5.4.3-stage1.nix b/tidepool/src/packages/foundation/xz/versions/5.4.3-stage1.nix index 2d57bb7..7b10f72 100644 --- a/tidepool/src/packages/foundation/xz/versions/5.4.3-stage1.nix +++ b/tidepool/src/packages/foundation/xz/versions/5.4.3-stage1.nix @@ -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}; }; }; diff --git a/tidepool/src/packages/foundation/zlib/versions/1.3-stage1.nix b/tidepool/src/packages/foundation/zlib/versions/1.3-stage1.nix index c447215..d23933b 100644 --- a/tidepool/src/packages/foundation/zlib/versions/1.3-stage1.nix +++ b/tidepool/src/packages/foundation/zlib/versions/1.3-stage1.nix @@ -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}; }; };