From 281e3b0247894dc5f529c1f1e9ab493bfab5df87 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Mon, 21 Jul 2025 19:03:49 +0200 Subject: [PATCH] treewide: Fix Meson CPU names for powerpc CPUs (cherry picked from commit 6db61900028ec641f12b1d36fe4ece5a9bdaa66f) --- nix-meson-build-support/default-system-cpu/meson.build | 9 +++++++++ src/libstore/meson.build | 4 +++- tests/functional/meson.build | 4 +++- tests/functional/nix-meson-build-support | 1 + tests/functional/package.nix | 1 + 5 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 nix-meson-build-support/default-system-cpu/meson.build create mode 120000 tests/functional/nix-meson-build-support diff --git a/nix-meson-build-support/default-system-cpu/meson.build b/nix-meson-build-support/default-system-cpu/meson.build new file mode 100644 index 000000000..fd447aa01 --- /dev/null +++ b/nix-meson-build-support/default-system-cpu/meson.build @@ -0,0 +1,9 @@ +nix_system_cpu = { + 'ppc64' : 'powerpc64', + 'ppc64le' : 'powerpc64le', + 'ppc' : 'powerpc', + 'ppcle' : 'powerpcle', +}.get( + host_machine.cpu_family(), + host_machine.cpu_family(), +) diff --git a/src/libstore/meson.build b/src/libstore/meson.build index 672993bf0..700a3b769 100644 --- a/src/libstore/meson.build +++ b/src/libstore/meson.build @@ -21,10 +21,12 @@ configdata_priv = configuration_data() # TODO rename, because it will conflict with downstream projects configdata_priv.set_quoted('PACKAGE_VERSION', meson.project_version()) +subdir('nix-meson-build-support/default-system-cpu') + # Used in public header. configdata_pub.set_quoted( 'NIX_LOCAL_SYSTEM', - host_machine.cpu_family() + '-' + host_machine.system(), + nix_system_cpu + '-' + host_machine.system(), description : 'This is the system name Nix expects for local running instance of Nix.\n\n' + 'See the "system" setting for additional details', diff --git a/tests/functional/meson.build b/tests/functional/meson.build index b2005d9d9..696a423ea 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -23,6 +23,8 @@ dot = find_program('dot', native : true, required : false) nix_bin_dir = fs.parent(nix.full_path()) +subdir('nix-meson-build-support/default-system-cpu') + test_confdata = { 'bindir': nix_bin_dir, 'coreutils': fs.parent(coreutils.full_path()), @@ -30,7 +32,7 @@ test_confdata = { 'bash': bash.full_path(), 'sandbox_shell': busybox.found() ? busybox.full_path() : '', 'PACKAGE_VERSION': meson.project_version(), - 'system': host_machine.cpu_family() + '-' + host_machine.system(), + 'system': nix_system_cpu + '-' + host_machine.system(), } # Just configures `common/vars-and-functions.sh.in`. diff --git a/tests/functional/nix-meson-build-support b/tests/functional/nix-meson-build-support new file mode 120000 index 000000000..0b140f56b --- /dev/null +++ b/tests/functional/nix-meson-build-support @@ -0,0 +1 @@ +../../nix-meson-build-support \ No newline at end of file diff --git a/tests/functional/package.nix b/tests/functional/package.nix index 43f2f25a2..716e21fe4 100644 --- a/tests/functional/package.nix +++ b/tests/functional/package.nix @@ -39,6 +39,7 @@ mkMesonDerivation ( workDir = ./.; fileset = fileset.unions [ + ../../nix-meson-build-support ../../scripts/nix-profile.sh.in ../../.version ../../tests/functional