Gentoo Archives: gentoo-commits

From: Jory Pratt <anarchy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: eclass/, sys-devel/gcc/
Date: Sat, 06 Apr 2019 20:23:52
Message-Id: 1554582217.1fa4138518bb8f46774b8a1bb77dbe7f78215faa.anarchy@gentoo
1 commit: 1fa4138518bb8f46774b8a1bb77dbe7f78215faa
2 Author: Jory Pratt <anarchy <AT> gentoo <DOT> org>
3 AuthorDate: Sat Apr 6 20:22:54 2019 +0000
4 Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org>
5 CommitDate: Sat Apr 6 20:23:37 2019 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=1fa41385
7
8 sys-devel/gcc: 8.3.0-r1 update along with toolchain.eclass updates
9
10 Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>
11
12 eclass/toolchain.eclass | 56 ++++++++++++++++++++++-----------------
13 sys-devel/gcc/Manifest | 1 +
14 sys-devel/gcc/gcc-8.3.0-r1.ebuild | 28 ++++++++++++++++++++
15 3 files changed, 61 insertions(+), 24 deletions(-)
16
17 diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
18 index 5411381..be94db8 100644
19 --- a/eclass/toolchain.eclass
20 +++ b/eclass/toolchain.eclass
21 @@ -2,7 +2,7 @@
22 # Distributed under the terms of the GNU General Public License v2
23
24 # Maintainer: Toolchain Ninjas <toolchain@g.o>
25 -# @SUPPORTED_EAPIS: 5
26 +# @SUPPORTED_EAPIS: 5 6
27
28 DESCRIPTION="The GNU Compiler Collection"
29 HOMEPAGE="https://gcc.gnu.org/"
30 @@ -26,7 +26,7 @@ FEATURES=${FEATURES/multilib-strict/}
31
32 case ${EAPI:-0} in
33 0|1|2|3|4*) die "Need to upgrade to at least EAPI=5" ;;
34 - 5*) inherit eapi7-ver ;;
35 + 5*|6) inherit eapi7-ver ;;
36 *) die "I don't speak EAPI ${EAPI}." ;;
37 esac
38 EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure \
39 @@ -138,16 +138,23 @@ else
40 fi
41 IUSE="${GCC_EBUILD_TEST_FLAG} vanilla +nls +nptl"
42
43 +TC_FEATURES=()
44 +
45 +tc_has_feature() {
46 + has "$1" "${TC_FEATURES[@]}"
47 +}
48 +
49 if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
50 - IUSE+=" altivec debug +cxx +fortran"
51 + IUSE+=" altivec debug +cxx +fortran" TC_FEATURES+=(fortran)
52 [[ -n ${PIE_VER} ]] && IUSE+=" nopie"
53 [[ -n ${HTB_VER} ]] && IUSE+=" boundschecking"
54 [[ -n ${D_VER} ]] && IUSE+=" d"
55 [[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
56 tc_version_is_at_least 3 && IUSE+=" doc hardened multilib objc"
57 - tc_version_is_between 3 7 && IUSE+=" awt gcj"
58 + tc_version_is_between 3 7 && IUSE+=" awt gcj" TC_FEATURES+=(gcj)
59 tc_version_is_at_least 3.3 && IUSE+=" pgo"
60 - tc_version_is_at_least 4.0 && IUSE+=" objc-gc"
61 + tc_version_is_at_least 4.0 &&
62 + IUSE+=" objc-gc" TC_FEATURES+=(objc-gc)
63 tc_version_is_between 4.0 4.9 && IUSE+=" mudflap"
64 tc_version_is_at_least 4.1 && IUSE+=" libssp objc++"
65 tc_version_is_at_least 4.2 && IUSE+=" +openmp"
66 @@ -156,13 +163,15 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
67 # Note: while <=gcc-4.7 also supported graphite, it required forked ppl
68 # versions which we dropped. Since graphite was also experimental in
69 # the older versions, we don't want to bother supporting it. #448024
70 - tc_version_is_at_least 4.8 && IUSE+=" graphite +sanitize"
71 + tc_version_is_at_least 4.8 &&
72 + IUSE+=" graphite +sanitize" TC_FEATURES+=(graphite)
73 tc_version_is_between 4.9 8 && IUSE+=" cilk"
74 tc_version_is_at_least 4.9 && IUSE+=" +vtv"
75 tc_version_is_at_least 5.0 && IUSE+=" jit mpx"
76 tc_version_is_at_least 6.0 && IUSE+=" +pie +ssp +pch"
77 # systemtap is a gentoo-specific switch: bug #654748
78 - tc_version_is_at_least 8.0 && IUSE+=" systemtap"
79 + tc_version_is_at_least 8.0 &&
80 + IUSE+=" systemtap" TC_FEATURES+=(systemtap)
81 fi
82
83 SLOT="${GCC_CONFIG_VER}"
84 @@ -178,20 +187,20 @@ if tc_version_is_at_least 4 ; then
85 GMP_MPFR_DEPS=">=dev-libs/gmp-4.3.2:0= >=dev-libs/mpfr-2.4.2:0="
86 if tc_version_is_at_least 4.3 ; then
87 RDEPEND+=" ${GMP_MPFR_DEPS}"
88 - elif in_iuse fortran ; then
89 + elif tc_has_feature fortran ; then
90 RDEPEND+=" fortran? ( ${GMP_MPFR_DEPS} )"
91 fi
92 fi
93
94 tc_version_is_at_least 4.5 && RDEPEND+=" >=dev-libs/mpc-0.8.1:0="
95
96 -if in_iuse objc-gc ; then
97 +if tc_has_feature objc-gc ; then
98 if tc_version_is_at_least 7 ; then
99 RDEPEND+=" objc-gc? ( >=dev-libs/boehm-gc-7.4.2 )"
100 fi
101 fi
102
103 -if in_iuse graphite ; then
104 +if tc_has_feature graphite ; then
105 if tc_version_is_at_least 5.0 ; then
106 RDEPEND+=" graphite? ( >=dev-libs/isl-0.14:0= )"
107 elif tc_version_is_at_least 4.8 ; then
108 @@ -212,7 +221,7 @@ DEPEND="${RDEPEND}
109 >=sys-devel/autogen-5.5.4
110 )"
111
112 -if in_iuse gcj ; then
113 +if tc_has_feature gcj ; then
114 GCJ_DEPS=">=media-libs/libart_lgpl-2.1"
115 GCJ_GTK_DEPS="
116 x11-base/xorg-proto
117 @@ -227,7 +236,7 @@ if in_iuse gcj ; then
118 DEPEND+=" gcj? ( awt? ( ${GCJ_GTK_DEPS} ) ${GCJ_DEPS} )"
119 fi
120
121 -if in_iuse systemtap ; then
122 +if tc_has_feature systemtap ; then
123 # gcc needs sys/sdt.h headers on target
124 DEPEND+=" systemtap? ( dev-util/systemtap )"
125 fi
126 @@ -380,7 +389,7 @@ get_gcc_src_uri() {
127 [[ -n ${D_VER} ]] && \
128 GCC_SRC_URI+=" d? ( mirror://sourceforge/dgcc/gdc-${D_VER}-src.tar.bz2 )"
129
130 - if in_iuse gcj ; then
131 + if tc_has_feature gcj ; then
132 if tc_version_is_at_least 4.5 ; then
133 GCC_SRC_URI+=" gcj? ( ftp://sourceware.org/pub/java/ecj-4.5.jar )"
134 elif tc_version_is_at_least 4.3 ; then
135 @@ -526,7 +535,12 @@ toolchain_src_prepare() {
136 do_gcc_HTB_patches
137 do_gcc_PIE_patches
138 do_gcc_CYGWINPORTS_patches
139 - epatch_user
140 +
141 + case ${EAPI:-0} in
142 + 5*) epatch_user;;
143 + 6) eapply_user ;;
144 + *) die "Update toolchain_src_prepare() for ${EAPI}." ;;
145 + esac
146
147 if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened ) && ! use vanilla ; then
148 make_gcc_hard
149 @@ -1090,9 +1104,6 @@ toolchain_src_configure() {
150 *-elf|*-eabi)
151 confgcc+=( --with-newlib )
152 ;;
153 - *-musl*)
154 - confgcc+=( --enable-__cxa_atexit )
155 - ;;
156 *-gnu*)
157 confgcc+=(
158 --enable-__cxa_atexit
159 @@ -1734,7 +1745,8 @@ gcc_do_make() {
160 toolchain_src_test() {
161 if use ${GCC_EBUILD_TEST_FLAG} ; then
162 cd "${WORKDIR}"/build
163 - emake -k check
164 + # enable verbose test run and result logging
165 + emake -k check RUNTESTFLAGS='-a -v'
166 fi
167 }
168
169 @@ -2443,17 +2455,13 @@ hardened_gcc_is_stable() {
170 if [[ $1 == "pie" ]] ; then
171 if [[ ${CTARGET} == *-uclibc* ]] ; then
172 tocheck=${PIE_UCLIBC_STABLE}
173 - elif [[ ${CTARGET} == *-musl* ]] ; then
174 - tocheck=${PIE_MUSL_STABLE}
175 - elif [[ ${CTARGET} == *-gnu* ]] ; then
176 + else
177 tocheck=${PIE_GLIBC_STABLE}
178 fi
179 elif [[ $1 == "ssp" ]] ; then
180 if [[ ${CTARGET} == *-uclibc* ]] ; then
181 tocheck=${SSP_UCLIBC_STABLE}
182 - elif [[ ${CTARGET} == *-musl* ]] ; then
183 - tocheck=${SSP_MUSL_STABLE}
184 - elif [[ ${CTARGET} == *-gnu* ]] ; then
185 + elif [[ ${CTARGET} == *-gnu* ]] ; then
186 tocheck=${SSP_STABLE}
187 fi
188 else
189
190 diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
191 index 506226f..66937be 100644
192 --- a/sys-devel/gcc/Manifest
193 +++ b/sys-devel/gcc/Manifest
194 @@ -11,4 +11,5 @@ DIST gcc-8.2.0-patches-1.6.tar.bz2 17138 BLAKE2B edbeba9c41972836de072955c0db514
195 DIST gcc-8.2.0-patches-1.7.tar.bz2 18166 BLAKE2B 2aff918d253d76c9b7d76b2d82e85c42f2ab8717e73831965b3a0fcc92b1ceacd7aa0b433dd0c180ad16906cfe059c020b256d01271ef95a6e56b08d41f4acfe SHA512 5110b610a4c9116ecd91490f66e570c09217c6b4d18bf46af5e1a51ed043df188ce313bdae6ba670b8800842387c98c1b83b7e1e0c396cbce71e6726d81f589c
196 DIST gcc-8.2.0.tar.xz 63460876 BLAKE2B c5372b0bdfcd2729577dca287b294623b78c583491998404eb307768c573618bdaaedb7d9ae0e39ba41a62a14b9525dff0e3083285754b7f5bb9987ecf635185 SHA512 64898a165f67e136d802a92e7633bf1b06c85266027e52127ea025bf5fc2291b5e858288aac0bdba246e6cdf7c6ec88bc8e0e7f3f6f1985f4297710cafde56ed
197 DIST gcc-8.3.0-patches-1.0.tar.bz2 12278 BLAKE2B 793465c5de0af850c7f3017b3011e68f3bd1664e6ce3500a3dc3003d37c03fe81857698957770a135eadd395a7767fa804d354ecdcdeb1d83623280ca569d4ec SHA512 0efadd2481713992807fed2683666f1094b3757674754601c079569f3ef70cd7aed3cefc9f815f4e59a21d37e4e940c122df714e16f3878a5f966450c4273669
198 +DIST gcc-8.3.0-patches-1.1.tar.bz2 14430 BLAKE2B c702fbdb18c3c952cdb9adead3a193c948d78a4cb4b041beaa51a06b907fd357bb10a2f8d47d55978ebb08590fd7c9a6ec3df8e7a007173e20a55d251d947c72 SHA512 9e2284f597bab6f78ca24ead358b1f50495aefc9e0a416ace24c94723db7b2fb82d48426876138d00c82bcaf9c2f8b4674885988448dcf16dee1b764face9af4
199 DIST gcc-8.3.0.tar.xz 63694700 BLAKE2B 71df2ff5bd6874d57519c2e9af6b22152c8c4d7fab906a5f427b41bc4e8e742127592a8684120d9d3c9ce6241439531850be08ec0a4f29dbfdee95435655fdca SHA512 1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8dfe7e10be2276b4f62c357659ce2902f239f60a8648548231b4b5802
200
201 diff --git a/sys-devel/gcc/gcc-8.3.0-r1.ebuild b/sys-devel/gcc/gcc-8.3.0-r1.ebuild
202 new file mode 100644
203 index 0000000..115bd4f
204 --- /dev/null
205 +++ b/sys-devel/gcc/gcc-8.3.0-r1.ebuild
206 @@ -0,0 +1,28 @@
207 +# Copyright 1999-2019 Gentoo Authors
208 +# Distributed under the terms of the GNU General Public License v2
209 +
210 +EAPI="5"
211 +
212 +PATCH_VER="1.1"
213 +
214 +inherit toolchain
215 +
216 +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~x86"
217 +
218 +RDEPEND=""
219 +DEPEND="${RDEPEND}
220 + elibc_glibc? ( >=sys-libs/glibc-2.13 )
221 + >=${CATEGORY}/binutils-2.20"
222 +
223 +if [[ ${CATEGORY} != cross-* ]] ; then
224 + PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
225 +fi
226 +
227 +src_prepare() {
228 + toolchain_src_prepare
229 +
230 + if use elibc_musl || [[ ${CATEGORY} = cross-*-musl* ]]; then
231 + epatch "${FILESDIR}"/6.3.0/cpu_indicator.patch
232 + epatch "${FILESDIR}"/7.1.0/posix_memalign.patch
233 + fi
234 +}