From eae60a6dfe1c240c5045193759f01da683f542f5 Mon Sep 17 00:00:00 2001 From: Viorel Date: Sun, 28 Jun 2026 10:42:32 +0300 Subject: [PATCH] profiles: add arm and arm64 profiles Add arm and arm64 minimal profiles similar to amd64. The arm profile is for armv7 only. --- profiles/linux/arch/arm/busybox/eapi | 1 + profiles/linux/arch/arm/busybox/musl/eapi | 1 + profiles/linux/arch/arm/busybox/musl/parent | 2 ++ profiles/linux/arch/arm/busybox/parent | 2 ++ profiles/linux/arch/arm/features/musl/eapi | 1 + .../arch/arm/features/musl/make.defaults | 10 ++++++++ .../arch/arm/features/musl/package.use.mask | 6 +++++ .../arm/features/musl/package.use.stable.mask | 11 +++++++++ profiles/linux/arch/arm/features/musl/parent | 3 +++ profiles/linux/arch/arm/gnu/eapi | 1 + profiles/linux/arch/arm/gnu/musl/eapi | 1 + profiles/linux/arch/arm/gnu/musl/parent | 2 ++ profiles/linux/arch/arm/gnu/parent | 2 ++ profiles/linux/arch/arm/parent | 6 +++++ profiles/linux/arch/arm64/busybox/eapi | 1 + profiles/linux/arch/arm64/busybox/musl/eapi | 1 + profiles/linux/arch/arm64/busybox/musl/parent | 2 ++ profiles/linux/arch/arm64/busybox/parent | 2 ++ profiles/linux/arch/arm64/features/musl/eapi | 1 + .../arch/arm64/features/musl/make.defaults | 23 +++++++++++++++++++ .../arch/arm64/features/musl/package.mask | 6 +++++ .../arm64/features/musl/package.use.force | 8 +++++++ .../linux/arch/arm64/features/musl/parent | 2 ++ .../linux/arch/arm64/features/musl/use.mask | 5 ++++ profiles/linux/arch/arm64/gnu/eapi | 1 + profiles/linux/arch/arm64/gnu/musl/eapi | 1 + profiles/linux/arch/arm64/gnu/musl/parent | 2 ++ profiles/linux/arch/arm64/gnu/parent | 2 ++ profiles/linux/arch/arm64/parent | 6 +++++ profiles/profiles.desc | 9 ++++++++ 30 files changed, 121 insertions(+) create mode 100644 profiles/linux/arch/arm/busybox/eapi create mode 100644 profiles/linux/arch/arm/busybox/musl/eapi create mode 100644 profiles/linux/arch/arm/busybox/musl/parent create mode 100644 profiles/linux/arch/arm/busybox/parent create mode 100644 profiles/linux/arch/arm/features/musl/eapi create mode 100644 profiles/linux/arch/arm/features/musl/make.defaults create mode 100644 profiles/linux/arch/arm/features/musl/package.use.mask create mode 100644 profiles/linux/arch/arm/features/musl/package.use.stable.mask create mode 100644 profiles/linux/arch/arm/features/musl/parent create mode 100644 profiles/linux/arch/arm/gnu/eapi create mode 100644 profiles/linux/arch/arm/gnu/musl/eapi create mode 100644 profiles/linux/arch/arm/gnu/musl/parent create mode 100644 profiles/linux/arch/arm/gnu/parent create mode 100644 profiles/linux/arch/arm/parent create mode 100644 profiles/linux/arch/arm64/busybox/eapi create mode 100644 profiles/linux/arch/arm64/busybox/musl/eapi create mode 100644 profiles/linux/arch/arm64/busybox/musl/parent create mode 100644 profiles/linux/arch/arm64/busybox/parent create mode 100644 profiles/linux/arch/arm64/features/musl/eapi create mode 100644 profiles/linux/arch/arm64/features/musl/make.defaults create mode 100644 profiles/linux/arch/arm64/features/musl/package.mask create mode 100644 profiles/linux/arch/arm64/features/musl/package.use.force create mode 100644 profiles/linux/arch/arm64/features/musl/parent create mode 100644 profiles/linux/arch/arm64/features/musl/use.mask create mode 100644 profiles/linux/arch/arm64/gnu/eapi create mode 100644 profiles/linux/arch/arm64/gnu/musl/eapi create mode 100644 profiles/linux/arch/arm64/gnu/musl/parent create mode 100644 profiles/linux/arch/arm64/gnu/parent create mode 100644 profiles/linux/arch/arm64/parent diff --git a/profiles/linux/arch/arm/busybox/eapi b/profiles/linux/arch/arm/busybox/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm/busybox/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm/busybox/musl/eapi b/profiles/linux/arch/arm/busybox/musl/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm/busybox/musl/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm/busybox/musl/parent b/profiles/linux/arch/arm/busybox/musl/parent new file mode 100644 index 0000000..657af94 --- /dev/null +++ b/profiles/linux/arch/arm/busybox/musl/parent @@ -0,0 +1,2 @@ +.. +../../features/musl diff --git a/profiles/linux/arch/arm/busybox/parent b/profiles/linux/arch/arm/busybox/parent new file mode 100644 index 0000000..ca7b13a --- /dev/null +++ b/profiles/linux/arch/arm/busybox/parent @@ -0,0 +1,2 @@ +.. +../../../features/busybox diff --git a/profiles/linux/arch/arm/features/musl/eapi b/profiles/linux/arch/arm/features/musl/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm/features/musl/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm/features/musl/make.defaults b/profiles/linux/arch/arm/features/musl/make.defaults new file mode 100644 index 0000000..608aa10 --- /dev/null +++ b/profiles/linux/arch/arm/features/musl/make.defaults @@ -0,0 +1,10 @@ +# Copyright 1999-2018 Gentoo Foundation. +# Distributed under the terms of the GNU General Public License v2 + +CHOST="armv7a-unknown-linux-musleabihf" +CHOST_arm="${CHOST}" + +CFLAGS="-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard" +CXXFLAGS="${CFLAGS}" +FFLAGS="${CFLAGS}" +FCFLAGS="${CFLAGS}" diff --git a/profiles/linux/arch/arm/features/musl/package.use.mask b/profiles/linux/arch/arm/features/musl/package.use.mask new file mode 100644 index 0000000..8f31a68 --- /dev/null +++ b/profiles/linux/arch/arm/features/musl/package.use.mask @@ -0,0 +1,6 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Andreas K. Hüttel (2024-03-20) +# Does not compile with musl-1.2.4 +sys-devel/gcc sanitize diff --git a/profiles/linux/arch/arm/features/musl/package.use.stable.mask b/profiles/linux/arch/arm/features/musl/package.use.stable.mask new file mode 100644 index 0000000..7e0519f --- /dev/null +++ b/profiles/linux/arch/arm/features/musl/package.use.stable.mask @@ -0,0 +1,11 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Sam James (2024-06-16) +# Avoid pulling in llvm-runtimes/compiler-rt-sanitizers which fails to build +# See bug #928936. +llvm-runtimes/clang-runtime sanitize + +# Andreas K. Hüttel (2024-03-20) +# Does not compile with musl-1.2.4 +sys-devel/gcc sanitize diff --git a/profiles/linux/arch/arm/features/musl/parent b/profiles/linux/arch/arm/features/musl/parent new file mode 100644 index 0000000..dad30ea --- /dev/null +++ b/profiles/linux/arch/arm/features/musl/parent @@ -0,0 +1,3 @@ +../../../../features/musl +../../../../features/installmask +gentoo:features/wd40 diff --git a/profiles/linux/arch/arm/gnu/eapi b/profiles/linux/arch/arm/gnu/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm/gnu/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm/gnu/musl/eapi b/profiles/linux/arch/arm/gnu/musl/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm/gnu/musl/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm/gnu/musl/parent b/profiles/linux/arch/arm/gnu/musl/parent new file mode 100644 index 0000000..657af94 --- /dev/null +++ b/profiles/linux/arch/arm/gnu/musl/parent @@ -0,0 +1,2 @@ +.. +../../features/musl diff --git a/profiles/linux/arch/arm/gnu/parent b/profiles/linux/arch/arm/gnu/parent new file mode 100644 index 0000000..77d76e8 --- /dev/null +++ b/profiles/linux/arch/arm/gnu/parent @@ -0,0 +1,2 @@ +.. +../../../features/gnu diff --git a/profiles/linux/arch/arm/parent b/profiles/linux/arch/arm/parent new file mode 100644 index 0000000..13232aa --- /dev/null +++ b/profiles/linux/arch/arm/parent @@ -0,0 +1,6 @@ +../../gentoo/base +../../gentoo/default +gentoo:arch/arm/armv7a +gentoo:features/merged-usr +../../features/minimal +../../features/installmask diff --git a/profiles/linux/arch/arm64/busybox/eapi b/profiles/linux/arch/arm64/busybox/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm64/busybox/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm64/busybox/musl/eapi b/profiles/linux/arch/arm64/busybox/musl/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm64/busybox/musl/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm64/busybox/musl/parent b/profiles/linux/arch/arm64/busybox/musl/parent new file mode 100644 index 0000000..657af94 --- /dev/null +++ b/profiles/linux/arch/arm64/busybox/musl/parent @@ -0,0 +1,2 @@ +.. +../../features/musl diff --git a/profiles/linux/arch/arm64/busybox/parent b/profiles/linux/arch/arm64/busybox/parent new file mode 100644 index 0000000..ca7b13a --- /dev/null +++ b/profiles/linux/arch/arm64/busybox/parent @@ -0,0 +1,2 @@ +.. +../../../features/busybox diff --git a/profiles/linux/arch/arm64/features/musl/eapi b/profiles/linux/arch/arm64/features/musl/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm64/features/musl/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm64/features/musl/make.defaults b/profiles/linux/arch/arm64/features/musl/make.defaults new file mode 100644 index 0000000..7b575c3 --- /dev/null +++ b/profiles/linux/arch/arm64/features/musl/make.defaults @@ -0,0 +1,23 @@ +# Copyright 1999-2016 Gentoo Foundation. +# Distributed under the terms of the GNU General Public License v2 + +ARCH="arm64" +ACCEPT_KEYWORDS="${ARCH}" + +CHOST="aarch64-unknown-linux-musl" +CFLAGS="-O2" +CXXFLAGS="${CFLAGS}" +FFLAGS="${CFLAGS}" +FCFLAGS="${CFLAGS}" + +# Anthony G. Basile (2015-10-25) +# Multilib-related setup, bug #515130 +ABI="arm64" +DEFAULT_ABI="arm64" +MULTILIB_ABIS="arm64" +CHOST_arm64="${CHOST}" +LIBDIR_arm64="lib" + +# Michał Górny (2017-03-14) +# Unhide the ARM-specific USE_EXPANDs. +USE_EXPAND_HIDDEN="-CPU_FLAGS_ARM" diff --git a/profiles/linux/arch/arm64/features/musl/package.mask b/profiles/linux/arch/arm64/features/musl/package.mask new file mode 100644 index 0000000..581e1a1 --- /dev/null +++ b/profiles/linux/arch/arm64/features/musl/package.mask @@ -0,0 +1,6 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Georgy Yakovlev (2021-04-27) +# rust-bin is awailable on arm64 musl +-dev-lang/rust-bin diff --git a/profiles/linux/arch/arm64/features/musl/package.use.force b/profiles/linux/arch/arm64/features/musl/package.use.force new file mode 100644 index 0000000..f94101d --- /dev/null +++ b/profiles/linux/arch/arm64/features/musl/package.use.force @@ -0,0 +1,8 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Arthur Zamarin (2022-01-21) +# Bootstrapping is possible using our build snapshot, so don't force +# system bootstrap +dev-java/openjdk:17 -system-bootstrap +dev-java/openjdk:21 -system-bootstrap diff --git a/profiles/linux/arch/arm64/features/musl/parent b/profiles/linux/arch/arm64/features/musl/parent new file mode 100644 index 0000000..ecdd3eb --- /dev/null +++ b/profiles/linux/arch/arm64/features/musl/parent @@ -0,0 +1,2 @@ +../../../../features/musl +../../../../features/installmask diff --git a/profiles/linux/arch/arm64/features/musl/use.mask b/profiles/linux/arch/arm64/features/musl/use.mask new file mode 100644 index 0000000..a6ffd34 --- /dev/null +++ b/profiles/linux/arch/arm64/features/musl/use.mask @@ -0,0 +1,5 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Mask multilib, since we cannot use it. +multilib diff --git a/profiles/linux/arch/arm64/gnu/eapi b/profiles/linux/arch/arm64/gnu/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm64/gnu/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm64/gnu/musl/eapi b/profiles/linux/arch/arm64/gnu/musl/eapi new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/profiles/linux/arch/arm64/gnu/musl/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/linux/arch/arm64/gnu/musl/parent b/profiles/linux/arch/arm64/gnu/musl/parent new file mode 100644 index 0000000..657af94 --- /dev/null +++ b/profiles/linux/arch/arm64/gnu/musl/parent @@ -0,0 +1,2 @@ +.. +../../features/musl diff --git a/profiles/linux/arch/arm64/gnu/parent b/profiles/linux/arch/arm64/gnu/parent new file mode 100644 index 0000000..77d76e8 --- /dev/null +++ b/profiles/linux/arch/arm64/gnu/parent @@ -0,0 +1,2 @@ +.. +../../../features/gnu diff --git a/profiles/linux/arch/arm64/parent b/profiles/linux/arch/arm64/parent new file mode 100644 index 0000000..0ba193d --- /dev/null +++ b/profiles/linux/arch/arm64/parent @@ -0,0 +1,6 @@ +../../gentoo/base +../../gentoo/default +gentoo:arch/arm64/little-endian +gentoo:features/merged-usr +../../features/minimal +../../features/installmask diff --git a/profiles/profiles.desc b/profiles/profiles.desc index 0d868dc..e6e4aa4 100644 --- a/profiles/profiles.desc +++ b/profiles/profiles.desc @@ -4,7 +4,16 @@ # Minimal profiles amd64 linux/arch/amd64/gnu exp amd64 linux/arch/amd64/busybox exp +arm64 linux/arch/arm64/gnu exp +arm64 linux/arch/arm64/busybox exp +arm linux/arch/arm/gnu exp +arm linux/arch/arm/busybox exp # Minimal musl profiles amd64 linux/arch/amd64/gnu/musl exp amd64 linux/arch/amd64/busybox/musl exp +arm64 linux/arch/arm64/gnu/musl exp +arm64 linux/arch/arm64/busybox/musl exp +arm linux/arch/arm/gnu/musl exp +arm linux/arch/arm/busybox/musl exp +