Gentoo Archives: gentoo-commits

From: Alexey Shvetsov <alexxy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc/
Date: Mon, 28 Mar 2016 11:12:05
Message-Id: 1459163508.e68184019bd01aadc25a63b86a32466f55e17930.alexxy@gentoo
1 commit: e68184019bd01aadc25a63b86a32466f55e17930
2 Author: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
3 AuthorDate: Mon Mar 28 11:11:48 2016 +0000
4 Commit: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
5 CommitDate: Mon Mar 28 11:11:48 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=e6818401
7
8 Add gcc-5.3.0 for amd64-linux and x86-linux targets
9
10 Package-Manager: portage-2.2.28-prefix
11 RepoMan-Options: --force
12
13 sys-devel/gcc/Manifest | 5 +
14 sys-devel/gcc/gcc-5.3.0.ebuild | 223 +++++++++++++++++++++++++++++++++++++++++
15 2 files changed, 228 insertions(+)
16
17 diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
18 index d845a1d..b9e2e50 100644
19 --- a/sys-devel/gcc/Manifest
20 +++ b/sys-devel/gcc/Manifest
21 @@ -171,6 +171,10 @@ DIST gcc-4.9.3-patches-1.5.tar.bz2 25384 SHA256 e1c43125fab5a4db1997a01b362b3611
22 DIST gcc-4.9.3-piepatches-v0.6.4.tar.bz2 14431 SHA256 012c3025ac2e14781ff25028c0b1d42a07f510b125006116e268bcd90fb6c9db SHA512 3bbeacbca5e8ef6ab0b1d58add42f5e8e82328afe024666f9585b5398c8722e7d012abfd2009a98ad47b1f1b26afaf421402a9e7719a5662516b32dcbe5608be WHIRLPOOL 9e68d981aed42ece2f481f62efc078ad370ac780e96ba39c4273c8675d552b845cd52c588bd41839868f430b0a532789858914f4ef32a1bc187e2983264ebfd3
23 DIST gcc-4.9.3-uclibc-patches-1.0.tar.bz2 2515 SHA256 dd19904d4ab005ef142056228f326e75b3d4d79b8056189a505129b5940a575c SHA512 825092620a3c554ef06219fd1152c3677f1456315563b9e65282a73096e75600389e93298ed76cad41ce3eeecc6a7009ca722585b93c04095bd2d0a06c4404e6 WHIRLPOOL 0c184a5cc74f80a61f354ee85bc5a0f5b44d93bc9fa2e1892fbfe899958cfa5263b8b72cc4f905bc69bd1cc90cf870a6056c4003ec493b815646a72a0fe2e44e
24 DIST gcc-4.9.3.tar.bz2 90006707 SHA256 2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e SHA512 9ac57377a6975fc7adac704ec81355262b9f537def6955576753b87715470a20ee6a2a3144a79cc8fcba3443f7b44c7337d79d704b522d053f54f79aa6b442df WHIRLPOOL 085e4cc1825b031652cbe9e098671f761acfeca64c6cc9b8ad2a8961c13fcac9e02b4538b44dc38181a355266f2c55c99ce5a1bff3f2860b870285cf3f0e84a5
25 +DIST gcc-5.3.0-patches-1.0.tar.bz2 27610 SHA256 ce5347ad0137d7e9d57c38ae99df4e974d935e8d9b1b5900a13ae37ee71a47fd SHA512 f609e02f93c6bcd097ebc20b42eccfda5cc86764ed328ef22b1194823d7452e4ae27e3910eec7dff56c255b40150f27ceb5d9b1b6136c95802df21327ec19531 WHIRLPOOL 9011b575c75914972e7bf5b3b2ec895b81ea638dc004da8120499b4955826fbf1ec3f7b076ca558d3acfa91a10c6e17666c4d300ac3cf0d2239e340c74ae888a
26 +DIST gcc-5.3.0-piepatches-v0.6.5.tar.bz2 14552 SHA256 01bb0408eee2b97c4605b10b4d0b2b8fd3b1eccbaf9733c7274e281182f4e975 SHA512 9e924665d1dd24081b2f06618c26a5969069d30ec7626ba96166f299e4738918a6df99dc74c8b36cad17b62b778c350b42cf0ec0ad3897cb25c20938846f225c WHIRLPOOL a9464f4b386219f54ad12add39e7467d793fc75777245a4577f50b2bc6e19e6ede5be7849cdf50c11514175782658f7b3917f3fb86ce9beb07694069a6679404
27 +DIST gcc-5.3.0-uclibc-patches-1.0.tar.bz2 2534 SHA256 4b03623b614b42308420e3036886ab58cf29fe52a238e67013fa82c568f22c82 SHA512 243d063a42ebef0428c43434d5ba3623ee66b1678746ab4c2efd129004614efecb8fe145bf4dc54d6daef03dfd656deb874b0b49213ec1e13490128d91714de2 WHIRLPOOL ba6db27fc0e19b120761b411da33d1925527a3a79cc686300d581ee3de8bbad788fe722c6c3c6b512a96e755c407e220bf509a1ca4f0ca02f1cc5485990bf249
28 +DIST gcc-5.3.0.tar.bz2 95441837 SHA256 b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db SHA512 d619847383405fd389f5a2d7225f97fedb01f81478dbb8339047ccba7561a5c20045ab500a8744bffd19ea51892ce09fc37f862f2cfcb42de0f0f8cd8f8da37a WHIRLPOOL 63c10c65dcd9eaca7a426113fb593744829b00093eb57eb02603fb5387a81af20f3576c4d61d32c351e46cc79db20b445a5630e54e328c9771c92cff980661f5
29 DIST gdc-0.24-src.tar.bz2 1012099 SHA256 cc6a97c76c9e6db31e76ff97014d24b3d43e21f018a3c6218e3fb2a4500fc79a SHA512 9aec7e4b102e602dfb61cd09ea4b4a96af637ceb3d726235261d09ebd35dbd416abcbfe0e46918e48474bd241fe9bb29abc145a65aa834669295aaee4fca0686 WHIRLPOOL 22322b0c3e2d67b3b37bd7fa92a29c593688f934d4ffd62b9cc87eb63a44a4f8bbc9d75cadf11209c73bdc9942c9b4430036629d0eefcd04de9055c502b85f12
30 EBUILD gcc-3.3.6-r1.ebuild 1566 SHA256 082642502bbf553488c3ee03237b3e3e65501d2d6a5a22b257db5deb0577ba84 SHA512 f9a918a7aa71112a915ca34bd828b5d597996fe689286a5944af28f56bc5fd31854b8842b4f8229c9c985b966c9a5701dfb8229eed710d190c6ea5e266de45e1 WHIRLPOOL f8b7e78ceb86c5f72096550d1475d6dec736e4232cc0eba618a7a2a225bbcd02f6471d0ca96f59df14e0f6620d0f1e2be37d2b0bad59114808cec6d43ac10359
31 EBUILD gcc-3.4.6-r2.ebuild 2859 SHA256 44fb15ae2432f0e9b7dade84f2a62bded9eaa7b8eb66d2ce58f6e018da1da148 SHA512 b46770083d5479f190b24191efe3b921b4d6bf56fd5d536d7fc31a87cf280c08f415b30d0da6aa75592f1fbbe19d59f8dd378c5b9dcca18d94b75450dfaf940f WHIRLPOOL 0809cfec23b5d03e7f4df07d415adeab8dd38f16e6085693478503586814c910211c2e316dd54a8674eb2708c48e25e571910ec03f8c43d22d8ca0ac541fb016
32 @@ -183,4 +187,5 @@ EBUILD gcc-4.8.3.ebuild 7107 SHA256 5cdf1a0c8ee008d6666e897e3fa64ed5b8d6a009abbf
33 EBUILD gcc-4.8.4.ebuild 8643 SHA256 b4ccdc37c6b636c146b5b39a2cad2783185aca51301278b85b69d9dc65c3a0e7 SHA512 b8a22cdba511afbee1ecc46b9a1c9c8e66e4f98dbc6dc29dbdccdd89be6de84bf6eb91d63d3189aa3f0249f0a9a38197fa7cdf4d92a5c003139e03eced82c9fb WHIRLPOOL 0b28fd2a6062f4a1f1a835f9030cb9efcf36b7fc1f170547c95b909029f1ff30809e5abb7163fe4250903170ea43a169263d5192e180a5844c0868b938a2996d
34 EBUILD gcc-4.8.5.ebuild 8535 SHA256 4381d44c25863f5946a734d762d2c7aaa1df08d23e201b86bbd0eb211e6113a5 SHA512 31b616602d7b0d7bdd90fea4cd67af5ae76d85e0df638be358ddbe6f0cdc95e7fdd6b767089b8d6370216ef533773387a561d7beb77b362a38878aba09c51dcb WHIRLPOOL dd8b63dd0054f83030f7ec22f1a1856b27b41d139cd68d089a66a3e8e61519e35098843e4c685c0a55332e0a46c87785e04c4a93ffb7928f3798a0f9c3582b27
35 EBUILD gcc-4.9.3.ebuild 8543 SHA256 974812789b55baa32fa6488901640296008c8acd5306c5a3f3a6810dcb31a477 SHA512 5be1e108628c3b55a247c9c294ca565820338c62a90415419b14109ed861a62c8890bb575015f0ddaeba72c50c4414fe76a291e34de30b67faa1b0eee1636c15 WHIRLPOOL fb0c95fbfcf21f470f2f3486bd9bde6f2d8d09fda9dd11094df0f9b322902b003feb95f6ec92fa41fec897464f0c625aef289f7db6f96d0875a817386f8859e4
36 +EBUILD gcc-5.3.0.ebuild 8544 SHA256 d75addf32027eefa329a04e032b6b12cd5670c69bcf104e16431843d5210b46b SHA512 56f0a077b764850501cc677796348ced5723d3fe68c9a9abb94918e9b839df00e1c0473e545452c81d343c7e8da7a30eb11163d4fba30cf779c2ba4712aaa723 WHIRLPOOL 34c9530a1cb750cb988428c6df8ed5b27c15b246942afb86585b1e7fc589468617df8df8340e8b21cc07538fc17de9bbe58ad746e3fdada86ba2e0542b3dd35f
37 MISC metadata.xml 2104 SHA256 5dcf06d42915f02cbddf322357fe52751f11c662509f092fef4f08d8b62ee907 SHA512 13ce1f8c30004bd8a665b5013c0c9121012ee8761b6b1aff40bdb27497355001df429a1441e27163f5d9e317ad686dc7fedbe96b4ee7b6cfac4bb0b52730e324 WHIRLPOOL bc7414ee329885a6dd525f3ace571b0569e44e7b0c8839f275a2f7898559f833173932f61587f781c13887535c088a259c55e3dac282bd946ce4d2c5f2023111
38
39 diff --git a/sys-devel/gcc/gcc-5.3.0.ebuild b/sys-devel/gcc/gcc-5.3.0.ebuild
40 new file mode 100644
41 index 0000000..8b7fcca
42 --- /dev/null
43 +++ b/sys-devel/gcc/gcc-5.3.0.ebuild
44 @@ -0,0 +1,223 @@
45 +# Copyright 1999-2016 Gentoo Foundation
46 +# Distributed under the terms of the GNU General Public License v2
47 +# $Id$
48 +
49 +EAPI="4"
50 +
51 +PATCH_VER="1.0"
52 +UCLIBC_VER="1.0"
53 +
54 +# Hardened gcc 4 stuff
55 +PIE_VER="0.6.5"
56 +SPECS_VER="0.2.0"
57 +SPECS_GCC_VER="4.4.3"
58 +# arch/libc configurations known to be stable with {PIE,SSP}-by-default
59 +PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
60 +PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
61 +SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
62 +# uclibc need tls and nptl support for SSP support
63 +# uclibc need to be >= 0.9.33
64 +SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
65 +#end Hardened stuff
66 +
67 +inherit eutils toolchain flag-o-matic
68 +
69 +#KEYWORDS="~ppc-aix ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
70 +KEYWORDS="~amd64-linux ~x86-linux"
71 +
72 +RDEPEND=""
73 +DEPEND="${RDEPEND}
74 + !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.8 ) )
75 + kernel_linux? ( >=${CATEGORY}/binutils-2.20 )
76 + kernel_Darwin? ( ${CATEGORY}/binutils-apple )
77 + kernel_AIX? ( ${CATEGORY}/native-cctools )
78 +"
79 +
80 +if [[ ${CATEGORY} != cross-* ]] ; then
81 + PDEPEND="${PDEPEND} !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.8 ) )"
82 +fi
83 +
84 +src_prepare() {
85 + if has_version '<sys-libs/glibc-2.12' ; then
86 + ewarn "Your host glibc is too old; disabling automatic fortify."
87 + ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
88 + EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
89 + fi
90 + # Fedora/RedHat ships glibc-2.15+ with some nasty warnings that cause
91 + # configure checks for most system headers to fail, resulting in bugs
92 + # compiling e.g. gcc itself, bug #433333
93 + if [[ -e /usr/include/features.h ]] ; then
94 + grep -qF "_FORTIFY_SOURCE requires compiling with optimization" \
95 + /usr/include/features.h && \
96 + EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
97 + fi
98 +
99 + toolchain_src_prepare
100 +
101 + use vanilla && return 0
102 +
103 + # make sure solaris-x64 doesn't misdetect tls support, bug #505446
104 + #epatch "${FILESDIR}"/4.7.2/solaris-x64-tls-gnu-as.patch
105 +
106 + # make sure 64-bits native targets don't screw up the linker paths
107 + #epatch "${FILESDIR}"/4.7.1/solaris-searchpath.patch
108 + epatch "${FILESDIR}"/no-libs-for-startfile.patch
109 + if use prefix; then
110 + epatch "${FILESDIR}"/4.5.2/prefix-search-dirs.patch
111 + # try /usr/lib32 in 32bit profile on x86_64-linux (needs
112 + # --enable-multilib), but this does make sense in prefix only
113 + epatch "${FILESDIR}"/${PN}-4.8.3-linux-x86-on-amd64.patch
114 + fi
115 +
116 + # make it have correct install_names on Darwin
117 + epatch "${FILESDIR}"/4.3.3/darwin-libgcc_s-installname.patch
118 + # filename based versioning of libgcc_s for AIX
119 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-libgcc.patch.xz
120 + # let --with-specs=-pthread work for libgcc_s on AIX without multilib
121 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-pthread-specs.patch
122 + # drop -B flag when ./nm encounters -P
123 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-nm-weak.patch
124 + # support --with-aix-soname=aix|both|svr4 for libtool libs
125 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-libtool.patch.xz
126 + #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-regen.patch.xz
127 + #epatch "${FILESDIR}"/gcc-4.8-aix-extref.patch # PR target/65058
128 + if [[ ${CHOST} == *-aix* ]]; then
129 + # -fPIC breaks stage2/3 comparison, use per-build random seed
130 + local myseed=$(echo $(
131 + head -c32 /dev/urandom | uuencode - | tr -d -c a-zA-Z0-9_+/.,
132 + ))
133 + echo "STAGE2_CFLAGS += -frandom-seed=${myseed}" >> config/mh-ppc-aix
134 + echo "STAGE3_CFLAGS += -frandom-seed=${myseed}" >> config/mh-ppc-aix
135 + is_crosscompile ||
136 + echo "CFLAGS_FOR_TARGET += -frandom-seed=${myseed}" >> config/mh-ppc-aix
137 + # build large insn-*.o one at a time
138 + epatch "${FILESDIR}"/gcc-4.8.4-lowmem-build.patch
139 + fi
140 +
141 + if [[ ${CHOST} == *-mint* ]] ; then
142 + epatch "${FILESDIR}"/4.3.2/${PN}-4.3.2-mint3.patch
143 + epatch "${FILESDIR}"/4.7.2/mint1.patch
144 + epatch "${FILESDIR}"/4.4.1/${PN}-4.4.1-mint3.patch
145 + epatch "${FILESDIR}"/4.7.2/mint2.patch
146 + epatch "${FILESDIR}"/4.7.2/mint3.patch
147 + epatch "${FILESDIR}"/4.7.2/pr52391.patch
148 + epatch "${FILESDIR}"/4.7.2/mint-unroll.patch
149 + epatch "${FILESDIR}"/4.7.2/pr52773.patch
150 + epatch "${FILESDIR}"/4.7.2/pr52714.patch
151 + fi
152 +
153 + #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
154 + #[[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
155 +}
156 +
157 +src_configure() {
158 + local myconf=()
159 + case ${CTARGET}:" ${USE} " in
160 + powerpc*-darwin*)
161 + # bug #381179
162 + filter-flags "-mcpu=*" "-mtune=*"
163 + ;;
164 + *-mint*)
165 + myconf+=( --enable-multilib )
166 + ;;
167 + *-solaris*)
168 + # todo: some magic for native vs. GNU linking?
169 + myconf+=( --with-gnu-ld --with-gnu-as )
170 + ;;
171 + *-aix*)
172 + # AIX doesn't use GNU binutils, because it doesn't produce usable
173 + # code
174 + myconf+=( --without-gnu-ld --without-gnu-as --disable-lto )
175 + append-ldflags -Wl,-bbigtoc,-bmaxdata:0x10000000 # bug#194635
176 + # we have backports of the aix-soname upstream patches
177 + myconf+=( --with-aix-soname=svr4 )
178 + # Always behave on AIX as if:
179 + # -fPIC was passed (packages know that "everything on AIX is PIC")
180 + # -pthread was passed (#266548)
181 + # -Wl,-bsvr4 was passed (runtime linking, hold -L paths off the runpath)
182 + # -Wl,-G,-bernotok was passed for shared libraries (runtime linking, --no-undefined)
183 + myconf+=( --with-specs="-fPIC -pthread %x{-bsvr4} %{shared:%x{-G} %x{-bernotok}}" )
184 + ;;
185 + ia64*-*-hpux*)
186 + # Always behave as if -pthread were passed on HPUX (#266548)
187 + myconf+=( --with-specs=-pthread )
188 + ;;
189 + *-interix*)
190 + # disable usage of poll() on interix, since poll() only
191 + # works on the /proc filesystem (.......)
192 + export glibcxx_cv_POLL=no
193 +
194 + # if using the old system as, gcc's configure script fails
195 + # to detect that as cannot handle .lcomm with alignment.
196 + # on interix, it is rather easy to detect the as, since there
197 + # is only _one_ build of it with a fixed date in the version
198 + # header...
199 + if as --version | grep 20021111 > /dev/null 2>&1; then
200 + einfo "preventing gcc from detecting .lcomm alignment option in interix system as."
201 + export gcc_cv_as_lcomm_with_alignment=no
202 + fi
203 + ;;
204 + i[34567]86-*-linux*:*" prefix "*)
205 + # to allow the linux-x86-on-amd64.patch become useful, we need
206 + # to enable multilib, even if there is just one multilib option.
207 + myconf+=( --enable-multilib )
208 + if [[ ${CBUILD:-${CHOST}} == "${CHOST}" ]]; then
209 + # we might be on x86_64-linux, but don't do cross-compile, so
210 + # tell the host-compiler to really create 32bits (for stage1)
211 + # (real x86-linux-gcc also accept -m32).
212 + append-flags -m32
213 + fi
214 + ;;
215 + esac
216 +
217 + # Since GCC 4.1.2 some non-posix (?) /bin/sh compatible code is used, at
218 + # least on Solaris, and AIX /bin/sh is ways too slow,
219 + # so force it to use $BASH (that portage uses) - it can't be EPREFIX
220 + # in case that doesn't exist yet
221 + export CONFIG_SHELL="${CONFIG_SHELL:-${BASH}}"
222 + toolchain_src_configure "${myconf[@]}"
223 +}
224 +
225 +src_install() {
226 + toolchain_src_install
227 +
228 + if [[ ${CTARGET} == *-interix* ]] && ! is_crosscompile; then
229 + # interix delivers libdl and dlfcn.h with gcc-3.3.
230 + # Since those parts are perfectly usable by this gcc (and
231 + # required for example by perl), we simply can reuse them.
232 + # As libdl is in /usr/lib, we only need to copy dlfcn.h.
233 + # When cross compiling for interix once, ensure that sysroot
234 + # contains dlfcn.h.
235 + cp /opt/gcc.3.3/include/dlfcn.h "${ED}${INCLUDEPATH}" \
236 + || die "Cannot gain /opt/gcc.3.3/include/dlfcn.h"
237 + fi
238 +
239 + if [[ ${CTARGET} == *-interix3* ]]; then
240 + # interix 3.5 has no stdint.h and no inttypes.h. This breaks
241 + # so many packages, that i just install interix 5.2's stdint.h
242 + # which should be ok.
243 + cp "${FILESDIR}"/interix-3.5-stdint.h "${ED}${INCLUDEPATH}/stdint.h" \
244 + || die "Cannot install stdint.h for interix3"
245 + fi
246 +
247 + # create a small profile.d script, unsetting some of the bad
248 + # environment variables that the sustem could set from the outside.
249 + # (GCC_SPECS, GCC_EXEC_PREFIX, CPATH, LIBRARY_PATH, LD_LIBRARY_PATH,
250 + # C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, LIBPATH, SHLIB_PATH, LIB, INCLUDE,
251 + # LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64).
252 + # Maybe there is a better location for doing this ...? Feel free to move
253 + # it there if you want to.
254 +
255 + cat > "${T}"/00-gcc-paths.sh <<- _EOF
256 + #!/bin/env bash
257 + # GCC specific variables
258 + unset GCC_SPECS GCC_EXEC_PREFIX
259 + # include path variables
260 + unset CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH INCLUDE
261 + # library path variables
262 + unset LIBRARY_PATH LD_LIBRARY_PATH LIBPATH SHLIB_PATH LIB LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64
263 + _EOF
264 +
265 + insinto /etc/profile.d
266 + doins "${T}"/00-gcc-paths.sh
267 +}