summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2017-12-12 22:01:51 -0500
committerAnthony G. Basile <blueness@gentoo.org>2017-12-12 22:01:51 -0500
commitbdc92b59a479497adbfff80c3d4fb7f2e4b09ba8 (patch)
treec4f3e6f5665f89b6379f8cea87494b649480d7ec /profiles
parentprofiles: force pie, ssp and -pch on hardened/linux/{uclibc,musl} (diff)
downloadgentoo-bdc92b59a479497adbfff80c3d4fb7f2e4b09ba8.tar.gz
gentoo-bdc92b59a479497adbfff80c3d4fb7f2e4b09ba8.tar.bz2
gentoo-bdc92b59a479497adbfff80c3d4fb7f2e4b09ba8.zip
profiles: add default/linux/musl profiles
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'profiles')
-rw-r--r--profiles/default/linux/musl/amd64/eapi1
-rw-r--r--profiles/default/linux/musl/amd64/make.defaults28
-rw-r--r--profiles/default/linux/musl/amd64/package.mask7
-rw-r--r--profiles/default/linux/musl/amd64/package.use.force7
-rw-r--r--profiles/default/linux/musl/amd64/package.use.mask2
-rw-r--r--profiles/default/linux/musl/amd64/parent1
-rw-r--r--profiles/default/linux/musl/amd64/use.force6
-rw-r--r--profiles/default/linux/musl/amd64/use.mask35
-rw-r--r--profiles/default/linux/musl/amd64/x32/eapi1
-rw-r--r--profiles/default/linux/musl/amd64/x32/make.defaults13
-rw-r--r--profiles/default/linux/musl/amd64/x32/parent1
-rw-r--r--profiles/default/linux/musl/amd64/x32/use.force6
-rw-r--r--profiles/default/linux/musl/amd64/x32/use.mask6
-rw-r--r--profiles/default/linux/musl/arm/armv7a/eapi1
-rw-r--r--profiles/default/linux/musl/arm/armv7a/make.defaults8
-rw-r--r--profiles/default/linux/musl/arm/armv7a/parent1
-rw-r--r--profiles/default/linux/musl/arm/eapi1
-rw-r--r--profiles/default/linux/musl/arm/make.defaults23
-rw-r--r--profiles/default/linux/musl/arm/package.use.force7
-rw-r--r--profiles/default/linux/musl/arm/parent1
-rw-r--r--profiles/default/linux/musl/arm/use.force5
-rw-r--r--profiles/default/linux/musl/arm/use.mask5
-rw-r--r--profiles/default/linux/musl/arm64/eapi1
-rw-r--r--profiles/default/linux/musl/arm64/make.defaults23
-rw-r--r--profiles/default/linux/musl/arm64/package.use.force7
-rw-r--r--profiles/default/linux/musl/arm64/parent1
-rw-r--r--profiles/default/linux/musl/arm64/use.force5
-rw-r--r--profiles/default/linux/musl/arm64/use.mask5
-rw-r--r--profiles/default/linux/musl/eapi1
-rw-r--r--profiles/default/linux/musl/make.defaults16
-rw-r--r--profiles/default/linux/musl/mips/eapi1
-rw-r--r--profiles/default/linux/musl/mips/make.defaults20
-rw-r--r--profiles/default/linux/musl/mips/mipsel/eapi1
-rw-r--r--profiles/default/linux/musl/mips/mipsel/make.defaults9
-rw-r--r--profiles/default/linux/musl/mips/mipsel/parent1
-rw-r--r--profiles/default/linux/musl/mips/package.mask5
-rw-r--r--profiles/default/linux/musl/mips/package.use.force7
-rw-r--r--profiles/default/linux/musl/mips/parent1
-rw-r--r--profiles/default/linux/musl/mips/use.force6
-rw-r--r--profiles/default/linux/musl/mips/use.mask6
-rw-r--r--profiles/default/linux/musl/package.mask113
-rw-r--r--profiles/default/linux/musl/package.use7
-rw-r--r--profiles/default/linux/musl/package.use.force9
-rw-r--r--profiles/default/linux/musl/package.use.mask24
-rw-r--r--profiles/default/linux/musl/packages6
-rw-r--r--profiles/default/linux/musl/packages.build10
-rw-r--r--profiles/default/linux/musl/parent3
-rw-r--r--profiles/default/linux/musl/ppc/eapi1
-rw-r--r--profiles/default/linux/musl/ppc/make.defaults18
-rw-r--r--profiles/default/linux/musl/ppc/package.mask2
-rw-r--r--profiles/default/linux/musl/ppc/package.use.force7
-rw-r--r--profiles/default/linux/musl/ppc/parent1
-rw-r--r--profiles/default/linux/musl/ppc/use.force8
-rw-r--r--profiles/default/linux/musl/ppc/use.mask8
-rw-r--r--profiles/default/linux/musl/use.force5
-rw-r--r--profiles/default/linux/musl/use.mask6
-rw-r--r--profiles/default/linux/musl/x86/eapi1
-rw-r--r--profiles/default/linux/musl/x86/make.defaults24
-rw-r--r--profiles/default/linux/musl/x86/package.use.force7
-rw-r--r--profiles/default/linux/musl/x86/parent1
-rw-r--r--profiles/default/linux/musl/x86/use.force6
-rw-r--r--profiles/default/linux/musl/x86/use.mask33
-rw-r--r--profiles/profiles.desc24
63 files changed, 599 insertions, 7 deletions
diff --git a/profiles/default/linux/musl/amd64/eapi b/profiles/default/linux/musl/amd64/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/amd64/make.defaults b/profiles/default/linux/musl/amd64/make.defaults
new file mode 100644
index 000000000000..496becbfe820
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/make.defaults
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+ARCH="amd64"
+ACCEPT_KEYWORDS="${ARCH}"
+
+CHOST="x86_64-gentoo-linux-musl"
+CFLAGS="-O2 -pipe"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
+
+# Anthony G. Basile <blueness@gentoo.org> (01 Jul 2014)
+# Multilib-related setup, bug #515130
+ABI="amd64"
+DEFAULT_ABI="amd64"
+MULTILIB_ABIS="amd64"
+CHOST_amd64="${CHOST}"
+LIBDIR_amd64="lib"
+IUSE_IMPLICIT="abi_x86_64"
+
+# Anthony G. Basile <blueness@gentoo.org> (31 Aug 2015)
+# Relect these flags from arch/amd64 which we don't inherit
+CPU_FLAGS_X86="mmx mmxext sse sse2"
+
+# Anthony G. Basile <blueness@gentoo.org> (26 Jan 2013)
+# Unhide the CPU_FLAGS_X86 USE_EXPANDs.
+USE_EXPAND_HIDDEN="-CPU_FLAGS_X86"
diff --git a/profiles/default/linux/musl/amd64/package.mask b/profiles/default/linux/musl/amd64/package.mask
new file mode 100644
index 000000000000..2d46a562aced
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/package.mask
@@ -0,0 +1,7 @@
+# Copyright 1999-2015 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Ulrich Müller <ulm@gentoo.org> (18 Mar 2013)
+# Packages that rely on multilib
+=app-editors/emacs-18*
+net-misc/icaclient
diff --git a/profiles/default/linux/musl/amd64/package.use.force b/profiles/default/linux/musl/amd64/package.use.force
new file mode 100644
index 000000000000..ca264fedc8ce
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/package.use.force
@@ -0,0 +1,7 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Michał Górny <mgorny@gentoo.org> (24 Sep 2016)
+# Force the host target to avoid dependency hell
+sys-devel/clang llvm_targets_X86
+sys-devel/llvm llvm_targets_X86
diff --git a/profiles/default/linux/musl/amd64/package.use.mask b/profiles/default/linux/musl/amd64/package.use.mask
new file mode 100644
index 000000000000..49830f81047d
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/package.use.mask
@@ -0,0 +1,2 @@
+# Copyright 1999-2017 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
diff --git a/profiles/default/linux/musl/amd64/parent b/profiles/default/linux/musl/amd64/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/musl/amd64/use.force b/profiles/default/linux/musl/amd64/use.force
new file mode 100644
index 000000000000..181cb39654fc
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/use.force
@@ -0,0 +1,6 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag which corresponds to arch/abi, bug #515130
+amd64
+abi_x86_64
diff --git a/profiles/default/linux/musl/amd64/use.mask b/profiles/default/linux/musl/amd64/use.mask
new file mode 100644
index 000000000000..cc3b7ca5f0e3
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/use.mask
@@ -0,0 +1,35 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag which corresponds to arch/abi, bug #515130
+-amd64
+-abi_x86_64
+
+# unmask all SIMD assembler flags
+-cpu_flags_x86_3dnow
+-cpu_flags_x86_3dnowext
+-cpu_flags_x86_aes
+-cpu_flags_x86_avx
+-cpu_flags_x86_avx2
+-cpu_flags_x86_fma3
+-cpu_flags_x86_fma4
+-cpu_flags_x86_mmx
+-cpu_flags_x86_mmxext
+-cpu_flags_x86_padlock
+-cpu_flags_x86_popcnt
+-cpu_flags_x86_sse
+-cpu_flags_x86_sse2
+-cpu_flags_x86_sse3
+-cpu_flags_x86_sse4_1
+-cpu_flags_x86_sse4_2
+-cpu_flags_x86_sse4a
+-cpu_flags_x86_ssse3
+-cpu_flags_x86_xop
+
+# Lilo works on amd64
+-lilo
+
+# These work
+-input_devices_synaptics
+-input_devices_wacom
+-video_cards_qxl
diff --git a/profiles/default/linux/musl/amd64/x32/eapi b/profiles/default/linux/musl/amd64/x32/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/x32/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/amd64/x32/make.defaults b/profiles/default/linux/musl/amd64/x32/make.defaults
new file mode 100644
index 000000000000..88509a6717c0
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/x32/make.defaults
@@ -0,0 +1,13 @@
+# Copyright 1999-2015 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+CHOST="x86_64-gentoo-linux-muslx32"
+
+# Anthony G. Basile <blueness@gentoo.org> (31 Aug 2015)
+# Multilib-related setup, bug #515130
+ABI="x32"
+DEFAULT_ABI="x32"
+MULTILIB_ABIS="x32"
+CHOST_x32="${CHOST}"
+LIBDIR_x32="lib"
+IUSE_IMPLICIT="abi_x86_x32"
diff --git a/profiles/default/linux/musl/amd64/x32/parent b/profiles/default/linux/musl/amd64/x32/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/x32/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/musl/amd64/x32/use.force b/profiles/default/linux/musl/amd64/x32/use.force
new file mode 100644
index 000000000000..a837531f8a4a
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/x32/use.force
@@ -0,0 +1,6 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag which corresponds to arch/abi, bug #515130
+-abi_x86_64
+abi_x86_x32
diff --git a/profiles/default/linux/musl/amd64/x32/use.mask b/profiles/default/linux/musl/amd64/x32/use.mask
new file mode 100644
index 000000000000..fb16cbe71565
--- /dev/null
+++ b/profiles/default/linux/musl/amd64/x32/use.mask
@@ -0,0 +1,6 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag which corresponds to arch/abi, bug #515130
+-abi_x86_x32
+abi_x86_64
diff --git a/profiles/default/linux/musl/arm/armv7a/eapi b/profiles/default/linux/musl/arm/armv7a/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/arm/armv7a/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/arm/armv7a/make.defaults b/profiles/default/linux/musl/arm/armv7a/make.defaults
new file mode 100644
index 000000000000..c680f6aa2e5a
--- /dev/null
+++ b/profiles/default/linux/musl/arm/armv7a/make.defaults
@@ -0,0 +1,8 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+CHOST="armv7a-hardfloat-linux-musleabi"
+CFLAGS="-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
diff --git a/profiles/default/linux/musl/arm/armv7a/parent b/profiles/default/linux/musl/arm/armv7a/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/default/linux/musl/arm/armv7a/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/musl/arm/eapi b/profiles/default/linux/musl/arm/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/arm/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/arm/make.defaults b/profiles/default/linux/musl/arm/make.defaults
new file mode 100644
index 000000000000..e0e4051efde6
--- /dev/null
+++ b/profiles/default/linux/musl/arm/make.defaults
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+ARCH="arm"
+ACCEPT_KEYWORDS="${ARCH}"
+
+CHOST="arm-unknown-linux-musleabi"
+CFLAGS="-O2"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
+
+# Anthony G. Basile <blueness@gentoo.org> (25 Oct 2015)
+# Multilib-related setup, bug #515130
+ABI="arm"
+DEFAULT_ABI="arm"
+MULTILIB_ABIS="arm"
+CHOST_arm="${CHOST}"
+LIBDIR_arm="lib"
+
+# Michał Górny <mgorny@gentoo.org> (14 Mar 2017)
+# Unhide the ARM-specific USE_EXPANDs.
+USE_EXPAND_HIDDEN="-CPU_FLAGS_ARM"
diff --git a/profiles/default/linux/musl/arm/package.use.force b/profiles/default/linux/musl/arm/package.use.force
new file mode 100644
index 000000000000..b92b1029f52a
--- /dev/null
+++ b/profiles/default/linux/musl/arm/package.use.force
@@ -0,0 +1,7 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Michał Górny <mgorny@gentoo.org> (24 Sep 2016)
+# Force the host target to avoid dependency hell
+sys-devel/clang llvm_targets_ARM
+sys-devel/llvm llvm_targets_ARM
diff --git a/profiles/default/linux/musl/arm/parent b/profiles/default/linux/musl/arm/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/default/linux/musl/arm/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/musl/arm/use.force b/profiles/default/linux/musl/arm/use.force
new file mode 100644
index 000000000000..11e95dae7631
--- /dev/null
+++ b/profiles/default/linux/musl/arm/use.force
@@ -0,0 +1,5 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag which corresponds to ARCH.
+arm
diff --git a/profiles/default/linux/musl/arm/use.mask b/profiles/default/linux/musl/arm/use.mask
new file mode 100644
index 000000000000..8dffd62b8e39
--- /dev/null
+++ b/profiles/default/linux/musl/arm/use.mask
@@ -0,0 +1,5 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Unmask the flag which corresponds to ARCH.
+-arm
diff --git a/profiles/default/linux/musl/arm64/eapi b/profiles/default/linux/musl/arm64/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/arm64/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/arm64/make.defaults b/profiles/default/linux/musl/arm64/make.defaults
new file mode 100644
index 000000000000..d9ba618fa184
--- /dev/null
+++ b/profiles/default/linux/musl/arm64/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-gentoo-linux-musl"
+CFLAGS="-O2"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
+
+# Anthony G. Basile <blueness@gentoo.org> (25 Oct 2015)
+# Multilib-related setup, bug #515130
+ABI="arm64"
+DEFAULT_ABI="arm64"
+MULTILIB_ABIS="arm64"
+CHOST_arm64="${CHOST}"
+LIBDIR_arm64="lib"
+
+# Michał Górny <mgorny@gentoo.org> (14 Mar 2017)
+# Unhide the ARM-specific USE_EXPANDs.
+USE_EXPAND_HIDDEN="-CPU_FLAGS_ARM"
diff --git a/profiles/default/linux/musl/arm64/package.use.force b/profiles/default/linux/musl/arm64/package.use.force
new file mode 100644
index 000000000000..d90dd06eaf22
--- /dev/null
+++ b/profiles/default/linux/musl/arm64/package.use.force
@@ -0,0 +1,7 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Michał Górny <mgorny@gentoo.org> (24 Sep 2016)
+# Force the host target to avoid dependency hell
+sys-devel/clang llvm_targets_AArch64
+sys-devel/llvm llvm_targets_AArch64
diff --git a/profiles/default/linux/musl/arm64/parent b/profiles/default/linux/musl/arm64/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/default/linux/musl/arm64/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/musl/arm64/use.force b/profiles/default/linux/musl/arm64/use.force
new file mode 100644
index 000000000000..1fa2eca30677
--- /dev/null
+++ b/profiles/default/linux/musl/arm64/use.force
@@ -0,0 +1,5 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag which corresponds to ARCH.
+arm64
diff --git a/profiles/default/linux/musl/arm64/use.mask b/profiles/default/linux/musl/arm64/use.mask
new file mode 100644
index 000000000000..04a2bed3cacf
--- /dev/null
+++ b/profiles/default/linux/musl/arm64/use.mask
@@ -0,0 +1,5 @@
+# Copyright 1999-2016 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Unmask the flag which corresponds to ARCH.
+-arm64
diff --git a/profiles/default/linux/musl/eapi b/profiles/default/linux/musl/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/make.defaults b/profiles/default/linux/musl/make.defaults
new file mode 100644
index 000000000000..f0116539f6b1
--- /dev/null
+++ b/profiles/default/linux/musl/make.defaults
@@ -0,0 +1,16 @@
+# Copyright 1999-2017 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+PORTAGE_LIBC="musl"
+ELIBC="musl"
+
+FEATURES="sandbox sfperms strict"
+
+USE="nptl unicode -berkdb"
+BOOTSTRAP_USE="${BOOTSTRAP_USE} nptl -berkdb"
+
+SYMLINK_LIB="no"
+
+# TODO: fix so musl doesn't generate this for all packages
+# that use a charset, it causes package collisons.
+INSTALL_MASK="charset.alias"
diff --git a/profiles/default/linux/musl/mips/eapi b/profiles/default/linux/musl/mips/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/mips/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/mips/make.defaults b/profiles/default/linux/musl/mips/make.defaults
new file mode 100644
index 000000000000..06fe764dc9f5
--- /dev/null
+++ b/profiles/default/linux/musl/mips/make.defaults
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+ARCH="mips"
+ACCEPT_KEYWORDS="${ARCH} ~${ARCH}"
+
+CHOST="mips-gentoo-linux-musl"
+CFLAGS="-O2 -pipe"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
+
+# Anthony G. Basile <blueness@gentoo.org> (01 Jul 2014)
+# Multilib-related setup, bug #515130
+ABI="o32"
+DEFAULT_ABI="o32"
+MULTILIB_ABIS="o32"
+CHOST_o32="${CHOST}"
+LIBDIR_o32="lib"
+IUSE_IMPLICIT="abi_mips_o32"
diff --git a/profiles/default/linux/musl/mips/mipsel/eapi b/profiles/default/linux/musl/mips/mipsel/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/mips/mipsel/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/mips/mipsel/make.defaults b/profiles/default/linux/musl/mips/mipsel/make.defaults
new file mode 100644
index 000000000000..dce419912712
--- /dev/null
+++ b/profiles/default/linux/musl/mips/mipsel/make.defaults
@@ -0,0 +1,9 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+CHOST="mipsel-gentoo-linux-musl"
+CHOST_o32="${CHOST}"
+
+# Disable sandbox because its currently broken on mipsel-musl
+FEATURES="-sandbox"
+
diff --git a/profiles/default/linux/musl/mips/mipsel/parent b/profiles/default/linux/musl/mips/mipsel/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/default/linux/musl/mips/mipsel/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/musl/mips/package.mask b/profiles/default/linux/musl/mips/package.mask
new file mode 100644
index 000000000000..8b52dc4d8d35
--- /dev/null
+++ b/profiles/default/linux/musl/mips/package.mask
@@ -0,0 +1,5 @@
+# Copyright 1999-2015 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+dev-util/pkgconfig
+>sys-apps/kbd-1.15.5-r99
diff --git a/profiles/default/linux/musl/mips/package.use.force b/profiles/default/linux/musl/mips/package.use.force
new file mode 100644
index 000000000000..c184bfa93060
--- /dev/null
+++ b/profiles/default/linux/musl/mips/package.use.force
@@ -0,0 +1,7 @@
+# Michał Górny <mgorny@gentoo.org> (24 Sep 2016)
+# Force the host target to avoid dependency hell
+sys-devel/clang llvm_targets_Mips
+sys-devel/llvm llvm_targets_Mips
+
+# The only working option
+dev-util/pkgconf pkg-config
diff --git a/profiles/default/linux/musl/mips/parent b/profiles/default/linux/musl/mips/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/default/linux/musl/mips/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/musl/mips/use.force b/profiles/default/linux/musl/mips/use.force
new file mode 100644
index 000000000000..e94d30137368
--- /dev/null
+++ b/profiles/default/linux/musl/mips/use.force
@@ -0,0 +1,6 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag which corresponds to arch/abi, bug #515130
+mips
+abi_mips_o32
diff --git a/profiles/default/linux/musl/mips/use.mask b/profiles/default/linux/musl/mips/use.mask
new file mode 100644
index 000000000000..b285b3b4746e
--- /dev/null
+++ b/profiles/default/linux/musl/mips/use.mask
@@ -0,0 +1,6 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Unmask the flag which corresponds to arch/abi, bug #515130
+-mips
+-abi_mips_o32
diff --git a/profiles/default/linux/musl/package.mask b/profiles/default/linux/musl/package.mask
new file mode 100644
index 000000000000..c4367eb84875
--- /dev/null
+++ b/profiles/default/linux/musl/package.mask
@@ -0,0 +1,113 @@
+# Copyright 1999-2017 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+sys-libs/uclibc
+sys-libs/uclibc-ng
+sys-libs/glibc
+
+# Older versions of net-mail/mailutils fail on musl, bug #604212
+<net-mail/mailutils-3.2
+
+# We use eudev which is tested on both uclibc and musl
+sys-apps/systemd
+sys-fs/udev
+
+# dev-libs/elfutils needs a port to musl, bug #602126
+dev-libs/elfutils
+
+# packages that unconditionally depend on dev-libs/elfutils
+<net-firewall/fwbuilder-5.3.7
+
+# packages that need masked packages or multilib
+dev-games/gtkradiant
+dev-games/ps2-packer
+games-action/beathazardultra
+games-action/brutal-legend
+games-action/descent3
+games-action/descent3-demo
+games-action/heretic2-demo
+games-action/hotline-miami
+games-action/intrusion2
+games-action/rune
+games-action/shadowgrounds-bin
+games-action/shadowgrounds-survivor-bin
+games-action/solar2
+games-action/spacetripper-demo
+games-action/swordandsworcery
+games-action/trine-bin
+games-action/trine2
+games-arcade/aquaria
+games-arcade/barbarian-bin
+games-arcade/dynamitejack
+games-arcade/jardinains
+games-arcade/marbleblastgold-demo
+games-arcade/thinktanks-demo
+games-emulation/nestra
+games-emulation/zinc
+games-emulation/zsnes
+games-fps/enemy-territory
+games-fps/enemy-territory-etpro
+games-fps/enemy-territory-truecombat
+games-fps/etqw-demo
+games-fps/glxquake-bin
+games-fps/legends
+games-fps/postal2mp-demo
+games-fps/quake3-bin
+games-fps/quake3-demo
+games-fps/rtcwmp-demo
+games-fps/rtcwsp-demo
+games-fps/soldieroffortune
+games-fps/soldieroffortune-demo
+games-fps/transfusion-bin
+games-fps/tribes2
+games-fps/ut2003
+games-fps/ut2003-bonuspack-cm
+games-fps/ut2003-bonuspack-de
+games-fps/ut2003-bonuspack-epic
+games-fps/ut2003-demo
+games-fps/ut2004
+games-fps/ut2004-action
+games-fps/ut2004-airbuccaneers
+games-fps/ut2004-bonuspack-cbp1
+games-fps/ut2004-bonuspack-cbp2
+games-fps/ut2004-bonuspack-ece
+games-fps/ut2004-bonuspack-mega
+games-fps/ut2004-cor
+games-fps/ut2004-crossfire
+games-fps/ut2004-data
+games-fps/ut2004-deathball
+games-fps/ut2004-demo
+games-fps/ut2004-fragops
+games-fps/ut2004-hamsterbash
+games-fps/ut2004-muralis
+games-fps/ut2004-strikeforce
+games-fps/ut2004-troopers
+games-fps/ut2004-unwheel
+games-kids/crayon-physics
+games-misc/little-inferno
+games-misc/papers-please
+games-puzzle/hoh-bin
+games-puzzle/world-of-goo
+games-puzzle/world-of-goo-demo
+games-roguelike/adom
+games-rpg/dear-esther
+games-rpg/dungeon-defenders
+games-rpg/eschalon-book-1-demo
+games-rpg/penumbra-collection
+games-rpg/wasteland2
+games-server/etqw-ded
+games-server/ut2004-ded
+games-simulation/bcs-demo
+games-strategy/darwinia
+games-strategy/darwinia-demo
+games-strategy/defcon-demo
+games-strategy/dominions2
+games-strategy/knights-demo
+games-strategy/majesty-demo
+media-video/binkplayer
+
+# Ian Stakenvicius, 2017-06-14
+# on behalf of mozilla@gentoo.org
+# Mask firefox-54 and above as it requires rust
+# now, and rust reportedly will not build yet.
+>=www-client/firefox-54.0
diff --git a/profiles/default/linux/musl/package.use b/profiles/default/linux/musl/package.use
new file mode 100644
index 000000000000..2d99b60f76b4
--- /dev/null
+++ b/profiles/default/linux/musl/package.use
@@ -0,0 +1,7 @@
+# Copyright 1999-2016 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Anthony G. Basile <blueness@gentoo.org> (14 Jul 2016)
+# We need this to break a circular dependency with
+# 'sys-libs/libcap pam' in stage3 catalyst builds
+sys-libs/pam -filecaps
diff --git a/profiles/default/linux/musl/package.use.force b/profiles/default/linux/musl/package.use.force
new file mode 100644
index 000000000000..8122d90a6c88
--- /dev/null
+++ b/profiles/default/linux/musl/package.use.force
@@ -0,0 +1,9 @@
+# Copyright 1999-2015 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Force system-libevent use flag on mozilla packages, since the building of
+# bundled libevent cannot accomodate a system without sysctl.h
+# See bug 574830 for more info.
+>=www-client/firefox-45.0 system-libevent
+>=www-client/seamonkey-2.40 system-libevent
+>=mail-client/thunderbird-45.0 system-libevent
diff --git a/profiles/default/linux/musl/package.use.mask b/profiles/default/linux/musl/package.use.mask
new file mode 100644
index 000000000000..d66f247717f5
--- /dev/null
+++ b/profiles/default/linux/musl/package.use.mask
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Matthias Maier <tamiko@genoto.org> (11 May 2017)
+# masked in base, unmask for hardened/musl/
+sys-devel/gcc -pie
+
+# See bug #504200
+sys-devel/gcc sanitize
+
+# llvm's sanitizers are also incompatible with musl
+sys-devel/llvm sanitize
+
+# These cause collisions with <libintl.h>
+# even with --without-included-gettext
+sys-devel/gettext nls
+sys-fs/e2fsprogs nls
+
+# Broken
+dev-vcs/git gpg
+
+# See bug #576928
+media-libs/mesa nptl
+x11-base/xorg-server nptl
diff --git a/profiles/default/linux/musl/packages b/profiles/default/linux/musl/packages
new file mode 100644
index 000000000000..8e9700f13e8f
--- /dev/null
+++ b/profiles/default/linux/musl/packages
@@ -0,0 +1,6 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+*app-misc/pax-utils
+*sys-apps/sandbox
+-*sys-apps/man-pages
diff --git a/profiles/default/linux/musl/packages.build b/profiles/default/linux/musl/packages.build
new file mode 100644
index 000000000000..c07961aa76f7
--- /dev/null
+++ b/profiles/default/linux/musl/packages.build
@@ -0,0 +1,10 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# This file lists extra packages needed to build for
+# a stage 1 based on this profile.
+
+dev-util/pkgconf
+sys-apps/attr
+sys-apps/sandbox
+dev-python/pyxattr
diff --git a/profiles/default/linux/musl/parent b/profiles/default/linux/musl/parent
new file mode 100644
index 000000000000..2348d8d17b95
--- /dev/null
+++ b/profiles/default/linux/musl/parent
@@ -0,0 +1,3 @@
+../../../arch/base
+../../../base
+..
diff --git a/profiles/default/linux/musl/ppc/eapi b/profiles/default/linux/musl/ppc/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/ppc/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/ppc/make.defaults b/profiles/default/linux/musl/ppc/make.defaults
new file mode 100644
index 000000000000..2022413f04a2
--- /dev/null
+++ b/profiles/default/linux/musl/ppc/make.defaults
@@ -0,0 +1,18 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+ARCH="ppc"
+ACCEPT_KEYWORDS="${ARCH}"
+
+CHOST="powerpc-gentoo-linux-musl"
+CFLAGS="-O2 -pipe"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
+
+ABI="ppc"
+DEFAULT_ABI="ppc"
+MULTILIB_ABIS="ppc"
+CHOST_ppc="${CHOST}"
+LIBDIR_ppc="lib"
+IUSE_IMPLICIT="abi_ppc_32"
diff --git a/profiles/default/linux/musl/ppc/package.mask b/profiles/default/linux/musl/ppc/package.mask
new file mode 100644
index 000000000000..56345622fa74
--- /dev/null
+++ b/profiles/default/linux/musl/ppc/package.mask
@@ -0,0 +1,2 @@
+# gcc-4.8 still doesn't work on ppc musl
+>sys-devel/gcc-4.8
diff --git a/profiles/default/linux/musl/ppc/package.use.force b/profiles/default/linux/musl/ppc/package.use.force
new file mode 100644
index 000000000000..e18275fe8cd6
--- /dev/null
+++ b/profiles/default/linux/musl/ppc/package.use.force
@@ -0,0 +1,7 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Michał Górny <mgorny@gentoo.org> (24 Sep 2016)
+# Force the host target to avoid dependency hell
+sys-devel/clang llvm_targets_PowerPC
+sys-devel/llvm llvm_targets_PowerPC
diff --git a/profiles/default/linux/musl/ppc/parent b/profiles/default/linux/musl/ppc/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/default/linux/musl/ppc/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/musl/ppc/use.force b/profiles/default/linux/musl/ppc/use.force
new file mode 100644
index 000000000000..f4c29429b272
--- /dev/null
+++ b/profiles/default/linux/musl/ppc/use.force
@@ -0,0 +1,8 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag which corresponds to ARCH.
+ppc
+
+# Force the flag corresponding to the only ABI.
+abi_ppc_32
diff --git a/profiles/default/linux/musl/ppc/use.mask b/profiles/default/linux/musl/ppc/use.mask
new file mode 100644
index 000000000000..e1f5512c8bb0
--- /dev/null
+++ b/profiles/default/linux/musl/ppc/use.mask
@@ -0,0 +1,8 @@
+# Copyright 1999-2014 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License, v2
+
+# Unmask the flag which corresponds to ARCH.
+-ppc
+
+# Unmask the flag corresponding to the only ABI.
+-abi_ppc_32
diff --git a/profiles/default/linux/musl/use.force b/profiles/default/linux/musl/use.force
new file mode 100644
index 000000000000..cf1d9c0d3ca4
--- /dev/null
+++ b/profiles/default/linux/musl/use.force
@@ -0,0 +1,5 @@
+# Copyright 1999-2013 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+elibc_musl
+
diff --git a/profiles/default/linux/musl/use.mask b/profiles/default/linux/musl/use.mask
new file mode 100644
index 000000000000..4e935628268a
--- /dev/null
+++ b/profiles/default/linux/musl/use.mask
@@ -0,0 +1,6 @@
+# Copyright 1999-2017 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+-elibc_musl
+elibc_uclibc
+elibc_glibc
diff --git a/profiles/default/linux/musl/x86/eapi b/profiles/default/linux/musl/x86/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/musl/x86/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/musl/x86/make.defaults b/profiles/default/linux/musl/x86/make.defaults
new file mode 100644
index 000000000000..73fedb030e1d
--- /dev/null
+++ b/profiles/default/linux/musl/x86/make.defaults
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+ARCH="x86"
+ACCEPT_KEYWORDS="${ARCH}"
+
+CHOST="i686-gentoo-linux-musl"
+CFLAGS="-O2 -pipe"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
+
+# Anthony G. Basile <blueness@gentoo.org> (01 Jul 2014)
+# Multilib-related setup, bug #515130
+ABI="x86"
+DEFAULT_ABI="x86"
+MULTILIB_ABIS="x86"
+CHOST_x86="${CHOST}"
+LIBDIR_x86="lib"
+IUSE_IMPLICIT="abi_x86_32"
+
+# Anthony G. Basile <blueness@gentoo.org> (26 Jan 2013)
+# Unhide the CPU_FLAGS_X86 USE_EXPANDs.
+USE_EXPAND_HIDDEN="-CPU_FLAGS_X86"
diff --git a/profiles/default/linux/musl/x86/package.use.force b/profiles/default/linux/musl/x86/package.use.force
new file mode 100644
index 000000000000..ca264fedc8ce
--- /dev/null
+++ b/profiles/default/linux/musl/x86/package.use.force
@@ -0,0 +1,7 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Michał Górny <mgorny@gentoo.org> (24 Sep 2016)
+# Force the host target to avoid dependency hell
+sys-devel/clang llvm_targets_X86
+sys-devel/llvm llvm_targets_X86
diff --git a/profiles/default/linux/musl/x86/parent b/profiles/default/linux/musl/x86/parent
new file mode 100644
index 000000000000..f3229c5b9876
--- /dev/null
+++ b/profiles/default/linux/musl/x86/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/musl/x86/use.force b/profiles/default/linux/musl/x86/use.force
new file mode 100644
index 000000000000..eb8c5dfc7f70
--- /dev/null
+++ b/profiles/default/linux/musl/x86/use.force
@@ -0,0 +1,6 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag which corresponds to arch/abi, bug #515130
+x86
+abi_x86_32
diff --git a/profiles/default/linux/musl/x86/use.mask b/profiles/default/linux/musl/x86/use.mask
new file mode 100644
index 000000000000..61e5564be9fc
--- /dev/null
+++ b/profiles/default/linux/musl/x86/use.mask
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License, v2
+
+# Force the flag which corresponds to arch/abi, bug #515130
+-x86
+-abi_x86_32
+
+# ssp is broken on x86 musl. This is critical for gcc-6.
+ssp
+
+# unmask all SIMD assembler flags
+-cpu_flags_x86_3dnow
+-cpu_flags_x86_3dnowext
+-cpu_flags_x86_aes
+-cpu_flags_x86_avx
+-cpu_flags_x86_avx2
+-cpu_flags_x86_fma3
+-cpu_flags_x86_fma4
+-cpu_flags_x86_mmx
+-cpu_flags_x86_mmxext
+-cpu_flags_x86_padlock
+-cpu_flags_x86_popcnt
+-cpu_flags_x86_sse
+-cpu_flags_x86_sse2
+-cpu_flags_x86_sse3
+-cpu_flags_x86_sse4_1
+-cpu_flags_x86_sse4_2
+-cpu_flags_x86_sse4a
+-cpu_flags_x86_ssse3
+-cpu_flags_x86_xop
+
+# Masked on all profiles but x86, bug #458354
+-video_cards_geode
diff --git a/profiles/profiles.desc b/profiles/profiles.desc
index bb3babe2b098..4f3aed27c5be 100644
--- a/profiles/profiles.desc
+++ b/profiles/profiles.desc
@@ -260,15 +260,9 @@ amd64 hardened/linux/amd64/selinux stable
amd64 hardened/linux/amd64/no-multilib stable
amd64 hardened/linux/amd64/no-multilib/selinux stable
amd64 hardened/linux/amd64/x32 dev
-amd64 hardened/linux/musl/amd64 exp
-amd64 hardened/linux/musl/amd64/x32 exp
arm hardened/linux/arm/armv7a dev
arm hardened/linux/arm/armv6j dev
-arm hardened/linux/musl/arm/armv7a exp
-arm64 hardened/linux/musl/arm64 exp
ia64 hardened/linux/ia64 dev
-mips hardened/linux/musl/mips exp
-mips hardened/linux/musl/mips/mipsel exp
mips hardened/linux/mips/mipsel/multilib/n32 exp
mips hardened/linux/mips/mipsel/multilib/n64 exp
mips hardened/linux/mips/mipsel/n32 exp
@@ -279,10 +273,26 @@ mips hardened/linux/mips/n32 exp
mips hardened/linux/mips/n64 exp
ppc hardened/linux/powerpc/ppc32 dev
ppc hardened/linux/powerpc/ppc64/32bit-userland dev
-ppc hardened/linux/musl/ppc exp
ppc64 hardened/linux/powerpc/ppc64/64bit-userland dev
x86 hardened/linux/x86 stable
x86 hardened/linux/x86/selinux stable
+
+# musl profiles
+amd64 default/linux/musl/amd64 exp
+amd64 hardened/linux/musl/amd64 exp
+amd64 default/linux/musl/amd64/x32 exp
+amd64 hardened/linux/musl/amd64/x32 exp
+arm default/linux/musl/arm/armv7a exp
+arm hardened/linux/musl/arm/armv7a exp
+arm64 default/linux/musl/arm64 exp
+arm64 hardened/linux/musl/arm64 exp
+mips default/linux/musl/mips exp
+mips hardened/linux/musl/mips exp
+mips default/linux/musl/mips/mipsel exp
+mips hardened/linux/musl/mips/mipsel exp
+ppc default/linux/musl/ppc exp
+ppc hardened/linux/musl/ppc exp
+x86 default/linux/musl/x86 exp
x86 hardened/linux/musl/x86 exp
# Non-embedded uclibc profiles