profiles: restructure amd64, arm and x86 musl profiles
authorAnthony G. Basile <blueness@gentoo.org>
Sat, 27 Jan 2018 20:39:00 +0000 (15:39 -0500)
committerAnthony G. Basile <blueness@gentoo.org>
Sun, 28 Jan 2018 16:34:43 +0000 (11:34 -0500)
This restructuring brings the musl profiles into conformity
with the glibc profiles for amd64, arm and x86. Yet to be
done are the profiles for ppc and mips.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
28 files changed:
profiles/default/linux/amd64/17.0/musl/eapi [new file with mode: 0644]
profiles/default/linux/amd64/17.0/musl/hardened/eapi [new file with mode: 0644]
profiles/default/linux/amd64/17.0/musl/hardened/parent [new file with mode: 0644]
profiles/default/linux/amd64/17.0/musl/make.defaults [new file with mode: 0644]
profiles/default/linux/amd64/17.0/musl/parent [new file with mode: 0644]
profiles/default/linux/arm/17.0/musl/armv7a/eapi [new file with mode: 0644]
profiles/default/linux/arm/17.0/musl/armv7a/hardened/eapi [new file with mode: 0644]
profiles/default/linux/arm/17.0/musl/armv7a/hardened/parent [new file with mode: 0644]
profiles/default/linux/arm/17.0/musl/armv7a/make.defaults [new file with mode: 0644]
profiles/default/linux/arm/17.0/musl/armv7a/parent [new file with mode: 0644]
profiles/default/linux/arm/17.0/musl/eapi [new file with mode: 0644]
profiles/default/linux/arm/17.0/musl/make.defaults [new file with mode: 0644]
profiles/default/linux/arm/17.0/musl/parent [new file with mode: 0644]
profiles/default/linux/x86/17.0/musl/eapi [new file with mode: 0644]
profiles/default/linux/x86/17.0/musl/make.defaults [new file with mode: 0644]
profiles/default/linux/x86/17.0/musl/parent [new file with mode: 0644]
profiles/default/linux/x86/17.0/musl/use.mask [new file with mode: 0644]
profiles/features/musl/eapi [new file with mode: 0644]
profiles/features/musl/make.defaults [new file with mode: 0644]
profiles/features/musl/package.mask [new file with mode: 0644]
profiles/features/musl/package.use [new file with mode: 0644]
profiles/features/musl/package.use.force [new file with mode: 0644]
profiles/features/musl/package.use.mask [new file with mode: 0644]
profiles/features/musl/packages [new file with mode: 0644]
profiles/features/musl/packages.build [new file with mode: 0644]
profiles/features/musl/use.force [new file with mode: 0644]
profiles/features/musl/use.mask [new file with mode: 0644]
profiles/profiles.desc

diff --git a/profiles/default/linux/amd64/17.0/musl/eapi b/profiles/default/linux/amd64/17.0/musl/eapi
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/amd64/17.0/musl/hardened/eapi b/profiles/default/linux/amd64/17.0/musl/hardened/eapi
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/amd64/17.0/musl/hardened/parent b/profiles/default/linux/amd64/17.0/musl/hardened/parent
new file mode 100644 (file)
index 0000000..45a355b
--- /dev/null
@@ -0,0 +1,2 @@
+..
+../../../../../../features/hardened/amd64
diff --git a/profiles/default/linux/amd64/17.0/musl/make.defaults b/profiles/default/linux/amd64/17.0/musl/make.defaults
new file mode 100644 (file)
index 0000000..d09a4c2
--- /dev/null
@@ -0,0 +1,10 @@
+# Copyright 1999-2018 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+CHOST="x86_64-gentoo-linux-musl"
+
+# Anthony G. Basile <blueness@gentoo.org> (01 Jul 2014)
+# Multilib-related setup, bug #515130
+MULTILIB_ABIS="amd64"
+CHOST_amd64="${CHOST}"
+LIBDIR_amd64="lib"
diff --git a/profiles/default/linux/amd64/17.0/musl/parent b/profiles/default/linux/amd64/17.0/musl/parent
new file mode 100644 (file)
index 0000000..8b660ec
--- /dev/null
@@ -0,0 +1,3 @@
+..
+../../../../../arch/amd64/no-multilib
+../../../../../features/musl/
diff --git a/profiles/default/linux/arm/17.0/musl/armv7a/eapi b/profiles/default/linux/arm/17.0/musl/armv7a/eapi
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/arm/17.0/musl/armv7a/hardened/eapi b/profiles/default/linux/arm/17.0/musl/armv7a/hardened/eapi
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/arm/17.0/musl/armv7a/hardened/parent b/profiles/default/linux/arm/17.0/musl/armv7a/hardened/parent
new file mode 100644 (file)
index 0000000..3e3d778
--- /dev/null
@@ -0,0 +1,2 @@
+..
+../../../../../../../features/hardened
diff --git a/profiles/default/linux/arm/17.0/musl/armv7a/make.defaults b/profiles/default/linux/arm/17.0/musl/armv7a/make.defaults
new file mode 100644 (file)
index 0000000..c0cb6c1
--- /dev/null
@@ -0,0 +1,8 @@
+# Copyright 1999-2018 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/arm/17.0/musl/armv7a/parent b/profiles/default/linux/arm/17.0/musl/armv7a/parent
new file mode 100644 (file)
index 0000000..f3229c5
--- /dev/null
@@ -0,0 +1 @@
+..
diff --git a/profiles/default/linux/arm/17.0/musl/eapi b/profiles/default/linux/arm/17.0/musl/eapi
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/arm/17.0/musl/make.defaults b/profiles/default/linux/arm/17.0/musl/make.defaults
new file mode 100644 (file)
index 0000000..52e98be
--- /dev/null
@@ -0,0 +1,5 @@
+# Copyright 1999-2018 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+CHOST="arm-unknown-linux-musleabi"
+CHOST_arm="${CHOST}"
diff --git a/profiles/default/linux/arm/17.0/musl/parent b/profiles/default/linux/arm/17.0/musl/parent
new file mode 100644 (file)
index 0000000..f381f17
--- /dev/null
@@ -0,0 +1,3 @@
+..
+../../../../../arch/arm
+../../../../../features/musl/
diff --git a/profiles/default/linux/x86/17.0/musl/eapi b/profiles/default/linux/x86/17.0/musl/eapi
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/x86/17.0/musl/make.defaults b/profiles/default/linux/x86/17.0/musl/make.defaults
new file mode 100644 (file)
index 0000000..80515e7
--- /dev/null
@@ -0,0 +1,5 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+CHOST="i686-gentoo-linux-musl"
+CHOST_x86="${CHOST}"
diff --git a/profiles/default/linux/x86/17.0/musl/parent b/profiles/default/linux/x86/17.0/musl/parent
new file mode 100644 (file)
index 0000000..8b660ec
--- /dev/null
@@ -0,0 +1,3 @@
+..
+../../../../../arch/amd64/no-multilib
+../../../../../features/musl/
diff --git a/profiles/default/linux/x86/17.0/musl/use.mask b/profiles/default/linux/x86/17.0/musl/use.mask
new file mode 100644 (file)
index 0000000..057f0d4
--- /dev/null
@@ -0,0 +1,5 @@
+# Copyright 1999-2018 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License, v2
+
+# ssp is broken on x86 musl.  This is critical for gcc-6.
+ssp
diff --git a/profiles/features/musl/eapi b/profiles/features/musl/eapi
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/profiles/features/musl/make.defaults b/profiles/features/musl/make.defaults
new file mode 100644 (file)
index 0000000..e2dbf5d
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright 1999-2018 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 -gdbm"
+BOOTSTRAP_USE="${BOOTSTRAP_USE} nptl -berkdb -gdbm"
+
+# All libraries are in /lib or /usr/lib
+SYMLINK_LIB="no"
+FEATURES="-multilib-strict"
+
+# 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/features/musl/package.mask b/profiles/features/musl/package.mask
new file mode 100644 (file)
index 0000000..cb795fa
--- /dev/null
@@ -0,0 +1,26 @@
+# Copyright 1999-2018 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
+>virtual/libelf-2
+
+# packages that unconditionally depend on dev-libs/elfutils
+<net-firewall/fwbuilder-5.3.7
+
+# 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/features/musl/package.use b/profiles/features/musl/package.use
new file mode 100644 (file)
index 0000000..87d13ce
--- /dev/null
@@ -0,0 +1,7 @@
+# Copyright 1999-2018 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/features/musl/package.use.force b/profiles/features/musl/package.use.force
new file mode 100644 (file)
index 0000000..c26a7ba
--- /dev/null
@@ -0,0 +1,9 @@
+# Copyright 1999-2018 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/features/musl/package.use.mask b/profiles/features/musl/package.use.mask
new file mode 100644 (file)
index 0000000..2c0a91e
--- /dev/null
@@ -0,0 +1,19 @@
+# Copyright 1999-2018 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# See bug #604542
+net-misc/iputils idn
+
+# See bug #504200
+sys-devel/gcc sanitize vtv
+
+# 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
+
+# See bug #576928
+media-libs/mesa nptl
diff --git a/profiles/features/musl/packages b/profiles/features/musl/packages
new file mode 100644 (file)
index 0000000..4bbf9c3
--- /dev/null
@@ -0,0 +1,6 @@
+# Copyright 1999-2018 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/features/musl/packages.build b/profiles/features/musl/packages.build
new file mode 100644 (file)
index 0000000..38ed7d2
--- /dev/null
@@ -0,0 +1,10 @@
+# Copyright 1999-2018 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/features/musl/use.force b/profiles/features/musl/use.force
new file mode 100644 (file)
index 0000000..bfe77a5
--- /dev/null
@@ -0,0 +1,6 @@
+# Copyright 1999-2018 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Select the correct ELIBC
+elibc_musl
+
diff --git a/profiles/features/musl/use.mask b/profiles/features/musl/use.mask
new file mode 100644 (file)
index 0000000..46c0333
--- /dev/null
@@ -0,0 +1,7 @@
+# Copyright 1999-2018 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Select the correct ELIBC
+-elibc_musl
+elibc_uclibc
+elibc_glibc
index d323534ffc426195d9da91e9f5c627ab6df49660..e6fe238b8a6b7de12cee2da311eed320bc03b282 100644 (file)
@@ -295,8 +295,12 @@ 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
+amd64          default/linux/amd64/17.0/musl                           exp
+amd64          default/linux/amd64/17.0/musl/hardened                  exp
 arm            default/linux/musl/arm/armv7a                           exp
 arm            hardened/linux/musl/arm/armv7a                          exp
+arm            default/linux/arm/17.0/musl/armv7a                      exp
+arm            default/linux/arm/17.0/musl/armv7a/hardened             exp
 arm64          default/linux/musl/arm64                                exp
 arm64          hardened/linux/musl/arm64                               exp
 mips           default/linux/musl/mips                                 exp
@@ -307,6 +311,7 @@ ppc         default/linux/musl/ppc                                  exp
 ppc            hardened/linux/musl/ppc                                 exp
 x86            default/linux/musl/x86                                  exp
 x86            hardened/linux/musl/x86                                 exp
+x86            default/linux/x86/17.0/musl                             exp
 
 # Non-embedded uclibc profiles
 # @MAINTAINER: uclibc@gentoo.org