commit:     deb72d3a8b4e6f37c9191a229bbe19affa597492
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 27 20:39:00 2018 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jan 28 16:34:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=deb72d3a

profiles: restructure amd64, arm and x86 musl profiles

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 <AT> gentoo.org>

 profiles/default/linux/amd64/17.0/musl/eapi        |  1 +
 .../default/linux/amd64/17.0/musl/hardened/eapi    |  1 +
 .../default/linux/amd64/17.0/musl/hardened/parent  |  2 ++
 .../default/linux/amd64/17.0/musl/make.defaults    | 10 +++++++++
 profiles/default/linux/amd64/17.0/musl/parent      |  3 +++
 profiles/default/linux/arm/17.0/musl/armv7a/eapi   |  1 +
 .../linux/arm/17.0/musl/armv7a/hardened/eapi       |  1 +
 .../linux/arm/17.0/musl/armv7a/hardened/parent     |  2 ++
 .../linux/arm/17.0/musl/armv7a/make.defaults       |  8 +++++++
 profiles/default/linux/arm/17.0/musl/armv7a/parent |  1 +
 profiles/default/linux/arm/17.0/musl/eapi          |  1 +
 profiles/default/linux/arm/17.0/musl/make.defaults |  5 +++++
 profiles/default/linux/arm/17.0/musl/parent        |  3 +++
 profiles/default/linux/x86/17.0/musl/eapi          |  1 +
 profiles/default/linux/x86/17.0/musl/make.defaults |  5 +++++
 profiles/default/linux/x86/17.0/musl/parent        |  3 +++
 profiles/default/linux/x86/17.0/musl/use.mask      |  5 +++++
 profiles/features/musl/eapi                        |  1 +
 profiles/features/musl/make.defaults               | 18 +++++++++++++++
 profiles/features/musl/package.mask                | 26 ++++++++++++++++++++++
 profiles/features/musl/package.use                 |  7 ++++++
 profiles/features/musl/package.use.force           |  9 ++++++++
 profiles/features/musl/package.use.mask            | 19 ++++++++++++++++
 profiles/features/musl/packages                    |  6 +++++
 profiles/features/musl/packages.build              | 10 +++++++++
 profiles/features/musl/use.force                   |  6 +++++
 profiles/features/musl/use.mask                    |  7 ++++++
 profiles/profiles.desc                             |  5 +++++
 28 files changed, 167 insertions(+)

diff --git a/profiles/default/linux/amd64/17.0/musl/eapi 
b/profiles/default/linux/amd64/17.0/musl/eapi
new file mode 100644
index 00000000000..7ed6ff82de6
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/musl/eapi
@@ -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
index 00000000000..7ed6ff82de6
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/musl/hardened/eapi
@@ -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
index 00000000000..45a355b0beb
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/musl/hardened/parent
@@ -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
index 00000000000..d09a4c21803
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/musl/make.defaults
@@ -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 <[email protected]> (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
index 00000000000..8b660ec6dca
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/musl/parent
@@ -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
index 00000000000..7ed6ff82de6
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv7a/eapi
@@ -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
index 00000000000..7ed6ff82de6
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv7a/hardened/eapi
@@ -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
index 00000000000..3e3d7782bae
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv7a/hardened/parent
@@ -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
index 00000000000..c0cb6c11748
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv7a/make.defaults
@@ -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
index 00000000000..f3229c5b987
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv7a/parent
@@ -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
index 00000000000..7ed6ff82de6
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/eapi
@@ -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
index 00000000000..52e98be4833
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/make.defaults
@@ -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
index 00000000000..f381f1758c6
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/parent
@@ -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
index 00000000000..7ed6ff82de6
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/musl/eapi
@@ -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
index 00000000000..80515e7c892
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/musl/make.defaults
@@ -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
index 00000000000..8b660ec6dca
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/musl/parent
@@ -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
index 00000000000..057f0d454f0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/musl/use.mask
@@ -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
index 00000000000..7ed6ff82de6
--- /dev/null
+++ b/profiles/features/musl/eapi
@@ -0,0 +1 @@
+5

diff --git a/profiles/features/musl/make.defaults 
b/profiles/features/musl/make.defaults
new file mode 100644
index 00000000000..e2dbf5d8a4b
--- /dev/null
+++ b/profiles/features/musl/make.defaults
@@ -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
index 00000000000..cb795facd55
--- /dev/null
+++ b/profiles/features/musl/package.mask
@@ -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 [email protected]
+# 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
index 00000000000..87d13cec246
--- /dev/null
+++ b/profiles/features/musl/package.use
@@ -0,0 +1,7 @@
+# Copyright 1999-2018 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+
+# Anthony G. Basile <[email protected]> (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
index 00000000000..c26a7ba83f2
--- /dev/null
+++ b/profiles/features/musl/package.use.force
@@ -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
index 00000000000..2c0a91e428e
--- /dev/null
+++ b/profiles/features/musl/package.use.mask
@@ -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
index 00000000000..4bbf9c32099
--- /dev/null
+++ b/profiles/features/musl/packages
@@ -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
index 00000000000..38ed7d27420
--- /dev/null
+++ b/profiles/features/musl/packages.build
@@ -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
index 00000000000..bfe77a581d7
--- /dev/null
+++ b/profiles/features/musl/use.force
@@ -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
index 00000000000..46c03330afb
--- /dev/null
+++ b/profiles/features/musl/use.mask
@@ -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

diff --git a/profiles/profiles.desc b/profiles/profiles.desc
index d323534ffc4..e6fe238b8a6 100644
--- a/profiles/profiles.desc
+++ b/profiles/profiles.desc
@@ -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: [email protected]

Reply via email to