Merge pull request #62178 from samueldr/fix/meson-systemd-cross
Enables systemd-boot for ARM + fixes meson cpu families
This commit is contained in:
commit
9bc34e38ae
@ -1,5 +1,15 @@
|
|||||||
{ lib, python3Packages, stdenv, writeTextDir, substituteAll, targetPackages }:
|
{ lib, python3Packages, stdenv, writeTextDir, substituteAll, targetPackages }:
|
||||||
|
|
||||||
|
let
|
||||||
|
# See https://mesonbuild.com/Reference-tables.html#cpu-families
|
||||||
|
cpuFamilies = {
|
||||||
|
"aarch64" = "aarch64";
|
||||||
|
"armv6l" = "arm";
|
||||||
|
"armv7l" = "arm";
|
||||||
|
"i686" = "x86";
|
||||||
|
"x86_64" = "x86_64";
|
||||||
|
};
|
||||||
|
in
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
version = "0.49.2";
|
version = "0.49.2";
|
||||||
pname = "meson";
|
pname = "meson";
|
||||||
@ -62,13 +72,15 @@ python3Packages.buildPythonApplication rec {
|
|||||||
ar = '${targetPackages.stdenv.cc.bintools.targetPrefix}ar'
|
ar = '${targetPackages.stdenv.cc.bintools.targetPrefix}ar'
|
||||||
strip = '${targetPackages.stdenv.cc.bintools.targetPrefix}strip'
|
strip = '${targetPackages.stdenv.cc.bintools.targetPrefix}strip'
|
||||||
pkgconfig = 'pkg-config'
|
pkgconfig = 'pkg-config'
|
||||||
|
ld = '${targetPackages.stdenv.cc.targetPrefix}ld'
|
||||||
|
objcopy = '${targetPackages.stdenv.cc.targetPrefix}objcopy'
|
||||||
|
|
||||||
[properties]
|
[properties]
|
||||||
needs_exe_wrapper = true
|
needs_exe_wrapper = true
|
||||||
|
|
||||||
[host_machine]
|
[host_machine]
|
||||||
system = '${targetPackages.stdenv.targetPlatform.parsed.kernel.name}'
|
system = '${targetPackages.stdenv.targetPlatform.parsed.kernel.name}'
|
||||||
cpu_family = '${targetPackages.stdenv.targetPlatform.parsed.cpu.family}'
|
cpu_family = '${cpuFamilies.${targetPackages.stdenv.targetPlatform.parsed.cpu.name}}'
|
||||||
cpu = '${targetPackages.stdenv.targetPlatform.parsed.cpu.name}'
|
cpu = '${targetPackages.stdenv.targetPlatform.parsed.cpu.name}'
|
||||||
endian = ${if targetPackages.stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"}
|
endian = ${if targetPackages.stdenv.targetPlatform.isLittleEndian then "'little'" else "'big'"}
|
||||||
'';
|
'';
|
||||||
|
@ -96,7 +96,7 @@ in stdenv.mkDerivation rec {
|
|||||||
"-Dsystem-gid-max=499"
|
"-Dsystem-gid-max=499"
|
||||||
# "-Dtime-epoch=1"
|
# "-Dtime-epoch=1"
|
||||||
|
|
||||||
(if stdenv.isAarch32 || stdenv.isAarch64 || !stdenv.hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true")
|
(if !stdenv.hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true")
|
||||||
"-Defi-libdir=${toString gnu-efi}/lib"
|
"-Defi-libdir=${toString gnu-efi}/lib"
|
||||||
"-Defi-includedir=${toString gnu-efi}/include/efi"
|
"-Defi-includedir=${toString gnu-efi}/include/efi"
|
||||||
"-Defi-ldsdir=${toString gnu-efi}/lib"
|
"-Defi-ldsdir=${toString gnu-efi}/lib"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user