summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shvetsov <alexxy@gentoo.org>2016-03-28 14:11:48 +0300
committerAlexey Shvetsov <alexxy@gentoo.org>2016-03-28 14:11:48 +0300
commite68184019bd01aadc25a63b86a32466f55e17930 (patch)
treeea065ce698c37930f992d4877d066dde0d1ba0ea
parentAdd gcc-4.9.3 for amd64-linux and x86-linux, other targets may not work (diff)
downloadprefix-e6818401.tar.gz
prefix-e6818401.tar.bz2
prefix-e6818401.zip
Add gcc-5.3.0 for amd64-linux and x86-linux targets
Package-Manager: portage-2.2.28-prefix RepoMan-Options: --force
-rw-r--r--sys-devel/gcc/Manifest5
-rw-r--r--sys-devel/gcc/gcc-5.3.0.ebuild223
2 files changed, 228 insertions, 0 deletions
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index d845a1d152..b9e2e504a3 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -171,6 +171,10 @@ DIST gcc-4.9.3-patches-1.5.tar.bz2 25384 SHA256 e1c43125fab5a4db1997a01b362b3611
DIST gcc-4.9.3-piepatches-v0.6.4.tar.bz2 14431 SHA256 012c3025ac2e14781ff25028c0b1d42a07f510b125006116e268bcd90fb6c9db SHA512 3bbeacbca5e8ef6ab0b1d58add42f5e8e82328afe024666f9585b5398c8722e7d012abfd2009a98ad47b1f1b26afaf421402a9e7719a5662516b32dcbe5608be WHIRLPOOL 9e68d981aed42ece2f481f62efc078ad370ac780e96ba39c4273c8675d552b845cd52c588bd41839868f430b0a532789858914f4ef32a1bc187e2983264ebfd3
DIST gcc-4.9.3-uclibc-patches-1.0.tar.bz2 2515 SHA256 dd19904d4ab005ef142056228f326e75b3d4d79b8056189a505129b5940a575c SHA512 825092620a3c554ef06219fd1152c3677f1456315563b9e65282a73096e75600389e93298ed76cad41ce3eeecc6a7009ca722585b93c04095bd2d0a06c4404e6 WHIRLPOOL 0c184a5cc74f80a61f354ee85bc5a0f5b44d93bc9fa2e1892fbfe899958cfa5263b8b72cc4f905bc69bd1cc90cf870a6056c4003ec493b815646a72a0fe2e44e
DIST gcc-4.9.3.tar.bz2 90006707 SHA256 2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e SHA512 9ac57377a6975fc7adac704ec81355262b9f537def6955576753b87715470a20ee6a2a3144a79cc8fcba3443f7b44c7337d79d704b522d053f54f79aa6b442df WHIRLPOOL 085e4cc1825b031652cbe9e098671f761acfeca64c6cc9b8ad2a8961c13fcac9e02b4538b44dc38181a355266f2c55c99ce5a1bff3f2860b870285cf3f0e84a5
+DIST gcc-5.3.0-patches-1.0.tar.bz2 27610 SHA256 ce5347ad0137d7e9d57c38ae99df4e974d935e8d9b1b5900a13ae37ee71a47fd SHA512 f609e02f93c6bcd097ebc20b42eccfda5cc86764ed328ef22b1194823d7452e4ae27e3910eec7dff56c255b40150f27ceb5d9b1b6136c95802df21327ec19531 WHIRLPOOL 9011b575c75914972e7bf5b3b2ec895b81ea638dc004da8120499b4955826fbf1ec3f7b076ca558d3acfa91a10c6e17666c4d300ac3cf0d2239e340c74ae888a
+DIST gcc-5.3.0-piepatches-v0.6.5.tar.bz2 14552 SHA256 01bb0408eee2b97c4605b10b4d0b2b8fd3b1eccbaf9733c7274e281182f4e975 SHA512 9e924665d1dd24081b2f06618c26a5969069d30ec7626ba96166f299e4738918a6df99dc74c8b36cad17b62b778c350b42cf0ec0ad3897cb25c20938846f225c WHIRLPOOL a9464f4b386219f54ad12add39e7467d793fc75777245a4577f50b2bc6e19e6ede5be7849cdf50c11514175782658f7b3917f3fb86ce9beb07694069a6679404
+DIST gcc-5.3.0-uclibc-patches-1.0.tar.bz2 2534 SHA256 4b03623b614b42308420e3036886ab58cf29fe52a238e67013fa82c568f22c82 SHA512 243d063a42ebef0428c43434d5ba3623ee66b1678746ab4c2efd129004614efecb8fe145bf4dc54d6daef03dfd656deb874b0b49213ec1e13490128d91714de2 WHIRLPOOL ba6db27fc0e19b120761b411da33d1925527a3a79cc686300d581ee3de8bbad788fe722c6c3c6b512a96e755c407e220bf509a1ca4f0ca02f1cc5485990bf249
+DIST gcc-5.3.0.tar.bz2 95441837 SHA256 b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db SHA512 d619847383405fd389f5a2d7225f97fedb01f81478dbb8339047ccba7561a5c20045ab500a8744bffd19ea51892ce09fc37f862f2cfcb42de0f0f8cd8f8da37a WHIRLPOOL 63c10c65dcd9eaca7a426113fb593744829b00093eb57eb02603fb5387a81af20f3576c4d61d32c351e46cc79db20b445a5630e54e328c9771c92cff980661f5
DIST gdc-0.24-src.tar.bz2 1012099 SHA256 cc6a97c76c9e6db31e76ff97014d24b3d43e21f018a3c6218e3fb2a4500fc79a SHA512 9aec7e4b102e602dfb61cd09ea4b4a96af637ceb3d726235261d09ebd35dbd416abcbfe0e46918e48474bd241fe9bb29abc145a65aa834669295aaee4fca0686 WHIRLPOOL 22322b0c3e2d67b3b37bd7fa92a29c593688f934d4ffd62b9cc87eb63a44a4f8bbc9d75cadf11209c73bdc9942c9b4430036629d0eefcd04de9055c502b85f12
EBUILD gcc-3.3.6-r1.ebuild 1566 SHA256 082642502bbf553488c3ee03237b3e3e65501d2d6a5a22b257db5deb0577ba84 SHA512 f9a918a7aa71112a915ca34bd828b5d597996fe689286a5944af28f56bc5fd31854b8842b4f8229c9c985b966c9a5701dfb8229eed710d190c6ea5e266de45e1 WHIRLPOOL f8b7e78ceb86c5f72096550d1475d6dec736e4232cc0eba618a7a2a225bbcd02f6471d0ca96f59df14e0f6620d0f1e2be37d2b0bad59114808cec6d43ac10359
EBUILD gcc-3.4.6-r2.ebuild 2859 SHA256 44fb15ae2432f0e9b7dade84f2a62bded9eaa7b8eb66d2ce58f6e018da1da148 SHA512 b46770083d5479f190b24191efe3b921b4d6bf56fd5d536d7fc31a87cf280c08f415b30d0da6aa75592f1fbbe19d59f8dd378c5b9dcca18d94b75450dfaf940f WHIRLPOOL 0809cfec23b5d03e7f4df07d415adeab8dd38f16e6085693478503586814c910211c2e316dd54a8674eb2708c48e25e571910ec03f8c43d22d8ca0ac541fb016
@@ -183,4 +187,5 @@ EBUILD gcc-4.8.3.ebuild 7107 SHA256 5cdf1a0c8ee008d6666e897e3fa64ed5b8d6a009abbf
EBUILD gcc-4.8.4.ebuild 8643 SHA256 b4ccdc37c6b636c146b5b39a2cad2783185aca51301278b85b69d9dc65c3a0e7 SHA512 b8a22cdba511afbee1ecc46b9a1c9c8e66e4f98dbc6dc29dbdccdd89be6de84bf6eb91d63d3189aa3f0249f0a9a38197fa7cdf4d92a5c003139e03eced82c9fb WHIRLPOOL 0b28fd2a6062f4a1f1a835f9030cb9efcf36b7fc1f170547c95b909029f1ff30809e5abb7163fe4250903170ea43a169263d5192e180a5844c0868b938a2996d
EBUILD gcc-4.8.5.ebuild 8535 SHA256 4381d44c25863f5946a734d762d2c7aaa1df08d23e201b86bbd0eb211e6113a5 SHA512 31b616602d7b0d7bdd90fea4cd67af5ae76d85e0df638be358ddbe6f0cdc95e7fdd6b767089b8d6370216ef533773387a561d7beb77b362a38878aba09c51dcb WHIRLPOOL dd8b63dd0054f83030f7ec22f1a1856b27b41d139cd68d089a66a3e8e61519e35098843e4c685c0a55332e0a46c87785e04c4a93ffb7928f3798a0f9c3582b27
EBUILD gcc-4.9.3.ebuild 8543 SHA256 974812789b55baa32fa6488901640296008c8acd5306c5a3f3a6810dcb31a477 SHA512 5be1e108628c3b55a247c9c294ca565820338c62a90415419b14109ed861a62c8890bb575015f0ddaeba72c50c4414fe76a291e34de30b67faa1b0eee1636c15 WHIRLPOOL fb0c95fbfcf21f470f2f3486bd9bde6f2d8d09fda9dd11094df0f9b322902b003feb95f6ec92fa41fec897464f0c625aef289f7db6f96d0875a817386f8859e4
+EBUILD gcc-5.3.0.ebuild 8544 SHA256 d75addf32027eefa329a04e032b6b12cd5670c69bcf104e16431843d5210b46b SHA512 56f0a077b764850501cc677796348ced5723d3fe68c9a9abb94918e9b839df00e1c0473e545452c81d343c7e8da7a30eb11163d4fba30cf779c2ba4712aaa723 WHIRLPOOL 34c9530a1cb750cb988428c6df8ed5b27c15b246942afb86585b1e7fc589468617df8df8340e8b21cc07538fc17de9bbe58ad746e3fdada86ba2e0542b3dd35f
MISC metadata.xml 2104 SHA256 5dcf06d42915f02cbddf322357fe52751f11c662509f092fef4f08d8b62ee907 SHA512 13ce1f8c30004bd8a665b5013c0c9121012ee8761b6b1aff40bdb27497355001df429a1441e27163f5d9e317ad686dc7fedbe96b4ee7b6cfac4bb0b52730e324 WHIRLPOOL bc7414ee329885a6dd525f3ace571b0569e44e7b0c8839f275a2f7898559f833173932f61587f781c13887535c088a259c55e3dac282bd946ce4d2c5f2023111
diff --git a/sys-devel/gcc/gcc-5.3.0.ebuild b/sys-devel/gcc/gcc-5.3.0.ebuild
new file mode 100644
index 0000000000..8b7fcca3bc
--- /dev/null
+++ b/sys-devel/gcc/gcc-5.3.0.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PATCH_VER="1.0"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.5"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+inherit eutils toolchain flag-o-matic
+
+#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"
+KEYWORDS="~amd64-linux ~x86-linux"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.8 ) )
+ kernel_linux? ( >=${CATEGORY}/binutils-2.20 )
+ kernel_Darwin? ( ${CATEGORY}/binutils-apple )
+ kernel_AIX? ( ${CATEGORY}/native-cctools )
+"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.8 ) )"
+fi
+
+src_prepare() {
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+ # Fedora/RedHat ships glibc-2.15+ with some nasty warnings that cause
+ # configure checks for most system headers to fail, resulting in bugs
+ # compiling e.g. gcc itself, bug #433333
+ if [[ -e /usr/include/features.h ]] ; then
+ grep -qF "_FORTIFY_SOURCE requires compiling with optimization" \
+ /usr/include/features.h && \
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+
+ toolchain_src_prepare
+
+ use vanilla && return 0
+
+ # make sure solaris-x64 doesn't misdetect tls support, bug #505446
+ #epatch "${FILESDIR}"/4.7.2/solaris-x64-tls-gnu-as.patch
+
+ # make sure 64-bits native targets don't screw up the linker paths
+ #epatch "${FILESDIR}"/4.7.1/solaris-searchpath.patch
+ epatch "${FILESDIR}"/no-libs-for-startfile.patch
+ if use prefix; then
+ epatch "${FILESDIR}"/4.5.2/prefix-search-dirs.patch
+ # try /usr/lib32 in 32bit profile on x86_64-linux (needs
+ # --enable-multilib), but this does make sense in prefix only
+ epatch "${FILESDIR}"/${PN}-4.8.3-linux-x86-on-amd64.patch
+ fi
+
+ # make it have correct install_names on Darwin
+ epatch "${FILESDIR}"/4.3.3/darwin-libgcc_s-installname.patch
+ # filename based versioning of libgcc_s for AIX
+ #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-libgcc.patch.xz
+ # let --with-specs=-pthread work for libgcc_s on AIX without multilib
+ #epatch "${FILESDIR}"/gcc-4.8.4-aix-pthread-specs.patch
+ # drop -B flag when ./nm encounters -P
+ #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-nm-weak.patch
+ # support --with-aix-soname=aix|both|svr4 for libtool libs
+ #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-libtool.patch.xz
+ #epatch "${FILESDIR}"/gcc-4.8.4-aix-soname-regen.patch.xz
+ #epatch "${FILESDIR}"/gcc-4.8-aix-extref.patch # PR target/65058
+ if [[ ${CHOST} == *-aix* ]]; then
+ # -fPIC breaks stage2/3 comparison, use per-build random seed
+ local myseed=$(echo $(
+ head -c32 /dev/urandom | uuencode - | tr -d -c a-zA-Z0-9_+/.,
+ ))
+ echo "STAGE2_CFLAGS += -frandom-seed=${myseed}" >> config/mh-ppc-aix
+ echo "STAGE3_CFLAGS += -frandom-seed=${myseed}" >> config/mh-ppc-aix
+ is_crosscompile ||
+ echo "CFLAGS_FOR_TARGET += -frandom-seed=${myseed}" >> config/mh-ppc-aix
+ # build large insn-*.o one at a time
+ epatch "${FILESDIR}"/gcc-4.8.4-lowmem-build.patch
+ fi
+
+ if [[ ${CHOST} == *-mint* ]] ; then
+ epatch "${FILESDIR}"/4.3.2/${PN}-4.3.2-mint3.patch
+ epatch "${FILESDIR}"/4.7.2/mint1.patch
+ epatch "${FILESDIR}"/4.4.1/${PN}-4.4.1-mint3.patch
+ epatch "${FILESDIR}"/4.7.2/mint2.patch
+ epatch "${FILESDIR}"/4.7.2/mint3.patch
+ epatch "${FILESDIR}"/4.7.2/pr52391.patch
+ epatch "${FILESDIR}"/4.7.2/mint-unroll.patch
+ epatch "${FILESDIR}"/4.7.2/pr52773.patch
+ epatch "${FILESDIR}"/4.7.2/pr52714.patch
+ fi
+
+ #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
+ #[[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
+}
+
+src_configure() {
+ local myconf=()
+ case ${CTARGET}:" ${USE} " in
+ powerpc*-darwin*)
+ # bug #381179
+ filter-flags "-mcpu=*" "-mtune=*"
+ ;;
+ *-mint*)
+ myconf+=( --enable-multilib )
+ ;;
+ *-solaris*)
+ # todo: some magic for native vs. GNU linking?
+ myconf+=( --with-gnu-ld --with-gnu-as )
+ ;;
+ *-aix*)
+ # AIX doesn't use GNU binutils, because it doesn't produce usable
+ # code
+ myconf+=( --without-gnu-ld --without-gnu-as --disable-lto )
+ append-ldflags -Wl,-bbigtoc,-bmaxdata:0x10000000 # bug#194635
+ # we have backports of the aix-soname upstream patches
+ myconf+=( --with-aix-soname=svr4 )
+ # Always behave on AIX as if:
+ # -fPIC was passed (packages know that "everything on AIX is PIC")
+ # -pthread was passed (#266548)
+ # -Wl,-bsvr4 was passed (runtime linking, hold -L paths off the runpath)
+ # -Wl,-G,-bernotok was passed for shared libraries (runtime linking, --no-undefined)
+ myconf+=( --with-specs="-fPIC -pthread %x{-bsvr4} %{shared:%x{-G} %x{-bernotok}}" )
+ ;;
+ ia64*-*-hpux*)
+ # Always behave as if -pthread were passed on HPUX (#266548)
+ myconf+=( --with-specs=-pthread )
+ ;;
+ *-interix*)
+ # disable usage of poll() on interix, since poll() only
+ # works on the /proc filesystem (.......)
+ export glibcxx_cv_POLL=no
+
+ # if using the old system as, gcc's configure script fails
+ # to detect that as cannot handle .lcomm with alignment.
+ # on interix, it is rather easy to detect the as, since there
+ # is only _one_ build of it with a fixed date in the version
+ # header...
+ if as --version | grep 20021111 > /dev/null 2>&1; then
+ einfo "preventing gcc from detecting .lcomm alignment option in interix system as."
+ export gcc_cv_as_lcomm_with_alignment=no
+ fi
+ ;;
+ i[34567]86-*-linux*:*" prefix "*)
+ # to allow the linux-x86-on-amd64.patch become useful, we need
+ # to enable multilib, even if there is just one multilib option.
+ myconf+=( --enable-multilib )
+ if [[ ${CBUILD:-${CHOST}} == "${CHOST}" ]]; then
+ # we might be on x86_64-linux, but don't do cross-compile, so
+ # tell the host-compiler to really create 32bits (for stage1)
+ # (real x86-linux-gcc also accept -m32).
+ append-flags -m32
+ fi
+ ;;
+ esac
+
+ # Since GCC 4.1.2 some non-posix (?) /bin/sh compatible code is used, at
+ # least on Solaris, and AIX /bin/sh is ways too slow,
+ # so force it to use $BASH (that portage uses) - it can't be EPREFIX
+ # in case that doesn't exist yet
+ export CONFIG_SHELL="${CONFIG_SHELL:-${BASH}}"
+ toolchain_src_configure "${myconf[@]}"
+}
+
+src_install() {
+ toolchain_src_install
+
+ if [[ ${CTARGET} == *-interix* ]] && ! is_crosscompile; then
+ # interix delivers libdl and dlfcn.h with gcc-3.3.
+ # Since those parts are perfectly usable by this gcc (and
+ # required for example by perl), we simply can reuse them.
+ # As libdl is in /usr/lib, we only need to copy dlfcn.h.
+ # When cross compiling for interix once, ensure that sysroot
+ # contains dlfcn.h.
+ cp /opt/gcc.3.3/include/dlfcn.h "${ED}${INCLUDEPATH}" \
+ || die "Cannot gain /opt/gcc.3.3/include/dlfcn.h"
+ fi
+
+ if [[ ${CTARGET} == *-interix3* ]]; then
+ # interix 3.5 has no stdint.h and no inttypes.h. This breaks
+ # so many packages, that i just install interix 5.2's stdint.h
+ # which should be ok.
+ cp "${FILESDIR}"/interix-3.5-stdint.h "${ED}${INCLUDEPATH}/stdint.h" \
+ || die "Cannot install stdint.h for interix3"
+ fi
+
+ # create a small profile.d script, unsetting some of the bad
+ # environment variables that the sustem could set from the outside.
+ # (GCC_SPECS, GCC_EXEC_PREFIX, CPATH, LIBRARY_PATH, LD_LIBRARY_PATH,
+ # C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, LIBPATH, SHLIB_PATH, LIB, INCLUDE,
+ # LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64).
+ # Maybe there is a better location for doing this ...? Feel free to move
+ # it there if you want to.
+
+ cat > "${T}"/00-gcc-paths.sh <<- _EOF
+ #!/bin/env bash
+ # GCC specific variables
+ unset GCC_SPECS GCC_EXEC_PREFIX
+ # include path variables
+ unset CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH INCLUDE
+ # library path variables
+ unset LIBRARY_PATH LD_LIBRARY_PATH LIBPATH SHLIB_PATH LIB LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64
+ _EOF
+
+ insinto /etc/profile.d
+ doins "${T}"/00-gcc-paths.sh
+}