diff --git a/pkgs/os-specific/bsd/freebsd/lib/default.nix b/pkgs/os-specific/bsd/freebsd/lib/default.nix index 3fea3bc3e7f2..d8d975ef71ad 100644 --- a/pkgs/os-specific/bsd/freebsd/lib/default.nix +++ b/pkgs/os-specific/bsd/freebsd/lib/default.nix @@ -8,6 +8,40 @@ inherit version; mkBsdArch = + stdenv': + { + x86_64 = "amd64"; + aarch64 = "aarch64"; + i486 = "i386"; + i586 = "i386"; + i686 = "i386"; + armv6l = "armv6"; + armv7l = "armv7"; + powerpc = "powerpc"; + powerpc64 = "powerpc64"; + powerpc64le = "powerpc64le"; + riscv64 = "riscv64"; + } + .${stdenv'.hostPlatform.parsed.cpu.name} or stdenv'.hostPlatform.parsed.cpu.name; + + mkBsdCpuArch = + stdenv': + { + x86_64 = "amd64"; + aarch64 = "aarch64"; + i486 = "i386"; + i586 = "i386"; + i686 = "i386"; + armv6l = "arm"; + armv7l = "arm"; + powerpc = "powerpc"; + powerpc64 = "powerpc"; + powerpc64le = "powerpc"; + riscv64 = "riscv"; + } + .${stdenv'.hostPlatform.parsed.cpu.name} or stdenv'.hostPlatform.parsed.cpu.name; + + mkBsdMachine = stdenv': { x86_64 = "amd64"; @@ -15,6 +49,12 @@ i486 = "i386"; i586 = "i386"; i686 = "i386"; + armv6l = "arm"; + armv7l = "arm"; + powerpc = "powerpc"; + powerpc64 = "powerpc"; + powerpc64le = "powerpc"; + riscv64 = "riscv"; } .${stdenv'.hostPlatform.parsed.cpu.name} or stdenv'.hostPlatform.parsed.cpu.name; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix index 5865f93674e1..920c1effdc78 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix @@ -14,7 +14,7 @@ }: let - inherit (freebsd-lib) mkBsdArch; + inherit (freebsd-lib) mkBsdMachine; in mkDerivation { @@ -81,7 +81,7 @@ mkDerivation { "sys/sys/elf64.h" "sys/sys/elf_common.h" "sys/sys/elf_generic.h" - "sys/${mkBsdArch stdenv}/include" + "sys/${mkBsdMachine stdenv}/include" ] ++ lib.optionals stdenv.hostPlatform.isx86 [ "sys/x86/include" ] ++ [ @@ -121,8 +121,8 @@ mkDerivation { '' NIX_CFLAGS_COMPILE+=' -I../../include -I../../sys' - cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys - cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys/${mkBsdArch stdenv} + cp ../../sys/${mkBsdMachine stdenv}/include/elf.h ../../sys/sys + cp ../../sys/${mkBsdMachine stdenv}/include/elf.h ../../sys/sys/${mkBsdMachine stdenv} '' + lib.optionalString stdenv.hostPlatform.isx86 '' cp ../../sys/x86/include/elf.h ../../sys/x86 diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix index 19b4b1720304..aae852c48798 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix @@ -65,9 +65,9 @@ lib.makeOverridable ( # amd64 not x86_64 for this on unlike NetBSD MACHINE_ARCH = freebsd-lib.mkBsdArch stdenv'; - MACHINE = freebsd-lib.mkBsdArch stdenv'; + MACHINE = freebsd-lib.mkBsdMachine stdenv'; - MACHINE_CPUARCH = MACHINE_ARCH; + MACHINE_CPUARCH = freebsd-lib.mkBsdCpuArch stdenv'; COMPONENT_PATH = attrs.path or null;