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]
