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 375959643..c243f19c9 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 501ed45c7..b03507c91 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