aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2013-09-13 17:17:39 -0400
committerAnthony G. Basile <blueness@gentoo.org>2013-09-13 17:17:39 -0400
commiteb88ab3c6dc9d9efd64b9a9067ce87229db58efd (patch)
treecea5917644e03934ce7a1204081c914c765d1bcf
parentprofiles/repo_name: added for portage 2.2 (diff)
downloadhardened-dev-eb88ab3c6dc9d9efd64b9a9067ce87229db58efd.tar.gz
hardened-dev-eb88ab3c6dc9d9efd64b9a9067ce87229db58efd.tar.bz2
hardened-dev-eb88ab3c6dc9d9efd64b9a9067ce87229db58efd.zip
profiles/repo_name: the name really should be hardened-dev
Package-Manager: portage-2.2.1 Manifest-Sign-Key: 0xF52D4BBA
-rw-r--r--profiles/repo_name2
-rw-r--r--sys-devel/gcc/Manifest15
-rw-r--r--sys-devel/gcc/files/awk/fixlafiles.awk314
-rw-r--r--sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la335
-rwxr-xr-xsys-devel/gcc/files/c8920
-rwxr-xr-xsys-devel/gcc/files/c9921
-rw-r--r--sys-devel/gcc/files/fix_libtool_files.sh68
-rw-r--r--sys-devel/gcc/files/gcc-configure-texinfo.patch16
-rw-r--r--sys-devel/gcc/files/gcc-spec-env.patch42
-rw-r--r--sys-devel/gcc/gcc-4.6.3-r99.ebuild62
-rw-r--r--sys-devel/gcc/metadata.xml25
11 files changed, 1 insertions, 919 deletions
diff --git a/profiles/repo_name b/profiles/repo_name
index c320dd8b..e8748ede 100644
--- a/profiles/repo_name
+++ b/profiles/repo_name
@@ -1 +1 @@
-hardened-development
+hardened-dev
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
deleted file mode 100644
index 72fda4f5..00000000
--- a/sys-devel/gcc/Manifest
+++ /dev/null
@@ -1,15 +0,0 @@
-AUX awk/fixlafiles.awk 7807 SHA256 3cae4890a295adef50c6cf8a7e14d1be4e7a2356479c073e5c29433c3cdf9c5c SHA512 a39e09db4f34d1358de9e929b4c1e10b677d7e8aeffd6afb36d42543b18f1dfa77e3e26331e3fa1b556bae3d8c75ab4bd5796c7ccf2dda4eb365edb307828bed WHIRLPOOL 0cb6e5e96460514c17f3242d8fe936dc2545c07ca08c03ceb34730935435fde24d197300da54d4a19de86067f9e4bbc14178da2f7c03f4be57c89c81307f5d82
-AUX awk/fixlafiles.awk-no_gcc_la 8596 SHA256 91e36c29133b6ff854bc84acd6cd2e9d07be6eaa73ef9b23e4f7bc6371107fab SHA512 a970ade3e0b57b3280dd01036a95338c4a7f0c7ec45e7aeb7255197df43e13a5fad8c565b4b345e3a0c8326f71ae7ab598b804eaeaa9d59eda8683195bccfe45 WHIRLPOOL e3da866b8902fbf639af545b43c3b6ccaca0f5d543647007f02e0b8bfc16a675463b8681e9fad11d6ce29517e099636f43708f880ef7a433e4578ee408c3b099
-AUX c89 412 SHA256 29ad5dd697135c2892067e780447894dc1cd071708157e46d21773ab99c5022c SHA512 71d33a147339d8d70a62aa22a95d3e70e445d8435d6ac05893f7da19ae851b89bea851f6ce213fbd22470f13572ae13b83cf02f0621333f07d7b0c68a79b7924 WHIRLPOOL d9707a2be8da7a709b54fcb1154cfa05e479f8c3bdd6173822ee1f1bc265b2a0d04741c0685bfb0db68e1e4297fb032d2f8ff94da88014575d947054474d8295
-AUX c99 446 SHA256 057b348cf5be9b4fb9db99a4549f6433c89d21e5f91dc5e46b0b4dc6b70432f5 SHA512 bf3b0eb1125d5e89b433954fcbf805cd86dec5a6eeb23df685ebf3ff83a610573f2ffcec65d893244c845936a73918387cba026710c65c854b2c94a78b007989 WHIRLPOOL b888038b96615c7a0363555b407a3de2c1f17e34428fa16dfbf56fcf68875d6bcdecbc61b545d7f71842ff1909a3ffeff17165fa7f56b48f95adae22f5f8bff1
-AUX fix_libtool_files.sh 1679 SHA256 0037e3f1303560f1ffadc61c7ed6bca13a41d6f2f70f196276938cda9dd158f0 SHA512 834beeb04f1057a0b1f79025fc9bbe0193ea8457055cc10b5b4c528a60e37ead7614a686aa6e7285e040161a91d4b5ff394539a33fc2f4b44be5c2514d0bb283 WHIRLPOOL c7e2f517e0c5c9a8930cd615f68222b44a6f227518ea71b5eb9b6436e1642be748d9cb4c0732f27df6c2ded2eb2c758d67ee9cb58e409f30814f988523dc649b
-AUX gcc-configure-texinfo.patch 337 SHA256 74b73a7ecec2d88889876b4db480cd173632f49d5396bb8e5b3c93673f9b5b98 SHA512 a15fba8bf2ff02bdeca54d6f186bfa08c1079c6a8ba0a3beef154483ce5c1b8c497e7ffeec32371968f0037e0ff8384609eb0c367d0155a4e5a7eef8aad084d5 WHIRLPOOL 39d008aad06f7621e4e5db15f5e85a59e583b43f8d247029bd4944466bb60a9795bda157d185c45c329294078e282703a243aad5c468d90c77665dd6336870d4
-AUX gcc-spec-env.patch 1544 SHA256 64b01f29fb853fee5ecda998b66eeaa7ec86ff1fc3b21432bfd69eb543c93e6a SHA512 ce9c1f923e2c6d17347ec2d3d8482351a9644194b2753627389294d43bb4f11b9c2ef41eda1b46ad83d09901a0bedebd5b6b8a57a198646030ab61e8d2d8cb48 WHIRLPOOL b88c9c18e20868b3ff535c3390408ebe8f1304bcec6e70b6472781f684671265860dff4335f2301d3b4d3b73395283b29673f0f5da62414e1094cfcb8130e8d8
-DIST ecj-4.5.jar 1470676 SHA256 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e WHIRLPOOL db54206cfd5eba935e707b8d36ebac40f3c4ed3c1f06ede794288cbdd9c7da9d90c0898e8c98b383af276ea4c1b40c861ebd9e1fc1dce712946184321339d3ad
-DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 SHA256 f6c7cb99beead66dd4d06f7004c5731a9360330cbe878ce79792c618e008eed2 SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517 WHIRLPOOL 8a1e45aad9d306cb19de93c63b5854a97e629d90852feb6861dcfca042b6257705304fc13ad65655a4cb227d36b83fc6063648c94f270821574ee0e85307094e
-DIST gcc-4.6.3-patches-1.3.tar.bz2 83071 SHA256 0acc8494932259dbadc118587626bb2505fc565e1a862bb792116e08961c141a
-DIST gcc-4.6.3-piepatches-v0.5.4.tar.bz2 15710 SHA256 7390e85730cb38b03b89901b75c52ea9aa1cf1de6c192177045b75ab3853194d
-DIST gcc-4.6.3-uclibc-patches-1.0.tar.bz2 3023 SHA256 4219a3582c5f98bf8437bfc3feb8c264f8aabd8078caaddef46dd38be33f089f SHA512 e0763dc7f3f94cb9ba6e34233d1a2fa6913918a5100dd029ae76b3b086529b8fafae3086dc22f3294f7d378e5548294264cb2faa80866e8a1ecc666bf60fe010 WHIRLPOOL 1744810d5928b1869929ebd608e1d817e4bcb4f666647bc873e9bdb41c65833a40745e58de5ef4beb98ef4ac539c8560733100a3bbee280c76525ee518ae88c8
-DIST gcc-4.6.3.tar.bz2 71999439 SHA256 e8f5853d4eec2f5ebaf8a72ae4d53c436aacf98153b2499f8635b48c4718a093 SHA512 efedecc1a6d1c36eb91cbecfae9a4414d01051e99965de8a284d1164df3cad13fa99a6dd5a4ceaa03ef63a66884eaf729b49d602ac82088f788bab045ce1eb26 WHIRLPOOL a50059cc5ec5bcf7c7d7108e38087c2168ff0c6817d06b709be901a87007f84cd231ebae0752cdc94fa99c93ecd30ba810d3213aba9f3639292b1e831818ec0c
-EBUILD gcc-4.6.3-r99.ebuild 1789 SHA256 48e5bd6e283959588f9203c75561342df5365a156972b7c749a31320a284471f SHA512 d54e616a69ae201d5f665d99c3ea2cfc140237dfa98e3abf4569bae3b8dfce8c30ffbc14e82df76a549e7b6dfe2156a8ea942c9b0aae942bf5f6a53abe4ddd5c WHIRLPOOL e64b2dc37fc37cd0f8215a29a748b15062db95de02a00f23f53302823d7d0b6365585ca5e5698b9ee5ebf0682e757d5cef8a3a5bb03bb239a8b59c89862b0d82
-MISC metadata.xml 1446 SHA256 3943d24d769c3632a5f1b13e00e323337ddc3115b16e49bc1b0751532f8455a8 SHA512 6e709a4abb1e1dc31f73ce353dc3c6b32bce0447a34f5c2764f40ad4f81b4faee3059bf3924c537f8964d8c6772a5e9aa05114ceb272e1f531d9e9a1604e164a WHIRLPOOL d06a4022611e9e0bb88df8333bc7e0ee099d18ab6c455efa298d8791a4b9d091cefb5160949ce93bb8769a1a00b7144238b86500f1a8d16ff84c24c72d513428
diff --git a/sys-devel/gcc/files/awk/fixlafiles.awk b/sys-devel/gcc/files/awk/fixlafiles.awk
deleted file mode 100644
index ffade966..00000000
--- a/sys-devel/gcc/files/awk/fixlafiles.awk
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/awk/fixlafiles.awk,v 1.15 2008/02/19 05:47:29 vapier Exp $
-
-#
-# Helper functions
-#
-function printn(string) {
- printf("%s", string)
-}
-function einfo(string) {
- printf(" \033[32;01m*\033[0m %s\n", string)
-}
-function einfon(string) {
- printf(" \033[32;01m*\033[0m %s", string)
-}
-function ewarn(string) {
- printf(" \033[33;01m*\033[0m %s\n", string)
-}
-function ewarnn(string) {
- printf(" \033[33;01m*\033[0m %s", string)
-}
-function eerror(string) {
- printf(" \033[31;01m*\033[0m %s\n", string)
-}
-
-#
-# assert(condition, errmsg)
-# assert that a condition is true. Otherwise exit.
-#
-function assert(condition, string) {
- if (! condition) {
- printf("%s:%d: assertion failed: %s\n",
- FILENAME, FNR, string) > "/dev/stderr"
- _assert_exit = 1
- exit 1
- }
-}
-
-#
-# system(command, return)
-# wrapper that normalizes return codes ...
-#
-function dosystem(command, ret) {
- ret = 0
- ret = system(command)
- if (ret == 0)
- return 1
- else
- return 0
-}
-
-BEGIN {
- #
- # Get our variables from environment
- #
- OLDVER = ENVIRON["OLDVER"]
- OLDCHOST = ENVIRON["OLDCHOST"]
-
- if (OLDVER == "") {
- eerror("Could not get OLDVER!");
- exit 1
- }
-
- # Setup some sane defaults
- LIBCOUNT = 2
- HAVE_GCC34 = 0
- DIRLIST[1] = "/lib"
- DIRLIST[2] = "/usr/lib"
-
- #
- # Walk /etc/ld.so.conf to discover all our library paths
- #
- pipe = "cat /etc/ld.so.conf | sort 2>/dev/null"
- while(((pipe) | getline ldsoconf_data) > 0) {
- if (ldsoconf_data !~ /^[[:space:]]*#/) {
- if (ldsoconf_data == "") continue
-
- # Remove any trailing comments
- sub(/#.*$/, "", ldsoconf_data)
- # Remove any trailing spaces
- sub(/[[:space:]]+$/, "", ldsoconf_data)
-
- # If there's more than one path per line, split
- # it up as if they were sep lines
- split(ldsoconf_data, nodes, /[:,[:space:]]/)
-
- # Now add the rest from ld.so.conf
- for (x in nodes) {
- # wtf does this line do ?
- sub(/=.*/, "", nodes[x])
- # Prune trailing /
- sub(/\/$/, "", nodes[x])
-
- if (nodes[x] == "") continue
-
- #
- # Drop the directory if its a child directory of
- # one that was already added ...
- # For example, if we have:
- # /usr/lib /usr/libexec /usr/lib/mozilla /usr/lib/nss
- # We really just want to save /usr/lib /usr/libexec
- #
- CHILD = 0
- for (y in DIRLIST) {
- if (nodes[x] ~ "^" DIRLIST[y] "(/|$)") {
- CHILD = 1
- break
- }
- }
- if (CHILD) continue
-
- DIRLIST[++LIBCOUNT] = nodes[x]
- }
- }
- }
- close(pipe)
-
- #
- # Get line from gcc's output containing CHOST
- #
- pipe = "gcc -print-file-name=libgcc.a 2>/dev/null"
- if ((!((pipe) | getline TMP_CHOST)) || (TMP_CHOST == "")) {
- close(pipe)
-
- # If we fail to get the CHOST, see if we can get the CHOST
- # portage thinks we are using ...
- pipe = "/usr/bin/portageq envvar 'CHOST'"
- assert(((pipe) | getline CHOST), "(" pipe ") | getline CHOST")
- } else {
- # Check pre gcc-3.4.x versions
- CHOST = gensub("^.+lib/gcc-lib/([^/]+)/[0-9]+.+$", "\\1", 1, TMP_CHOST)
-
- if (CHOST == TMP_CHOST || CHOST == "") {
- # Check gcc-3.4.x or later
- CHOST = gensub("^.+lib/gcc/([^/]+)/[0-9]+.+$", "\\1", 1, TMP_CHOST);
-
- if (CHOST == TMP_CHOST || CHOST == "")
- CHOST = ""
- else
- HAVE_GCC34 = 1
- }
- }
- close(pipe)
-
- if (CHOST == "") {
- eerror("Could not get gcc's CHOST!")
- exit 1
- }
-
- if (OLDCHOST != "")
- if (OLDCHOST == CHOST)
- OLDCHOST = ""
-
- GCCLIBPREFIX_OLD = "/usr/lib/gcc-lib/"
- GCCLIBPREFIX_NEW = "/usr/lib/gcc/"
-
- if (HAVE_GCC34)
- GCCLIBPREFIX = GCCLIBPREFIX_NEW
- else
- GCCLIBPREFIX = GCCLIBPREFIX_OLD
-
- GCCLIB = GCCLIBPREFIX CHOST
-
- if (OLDCHOST != "") {
- OLDGCCLIB1 = GCCLIBPREFIX_OLD OLDCHOST
- OLDGCCLIB2 = GCCLIBPREFIX_NEW OLDCHOST
- }
-
- # Get current gcc's version
- pipe = "gcc -dumpversion"
- assert(((pipe) | getline NEWVER), "(" pipe ") | getline NEWVER)")
- close(pipe)
-
- if (NEWVER == "") {
- eerror("Could not get gcc's version!")
- exit 1
- }
-
- # Nothing to do ?
- if ((OLDVER == NEWVER) && (OLDCHOST == ""))
- exit 0
-
- #
- # Ok, now let's scan for the .la files and actually fix them up
- #
- for (x = 1; x <= LIBCOUNT; x++) {
- # Do nothing if the target dir is gcc's internal library path
- if (DIRLIST[x] ~ GCCLIBPREFIX_OLD ||
- DIRLIST[x] ~ GCCLIBPREFIX_NEW)
- continue
-
- einfo(" [" x "/" LIBCOUNT "] Scanning " DIRLIST[x] " ...")
-
- pipe = "find " DIRLIST[x] "/ -name '*.la' 2>/dev/null"
- while (((pipe) | getline la_files) > 0) {
-
- # Do nothing if the .la file is located in gcc's internal lib path
- if (la_files ~ GCCLIBPREFIX_OLD ||
- la_files ~ GCCLIBPREFIX_NEW)
- continue
-
- CHANGED = 0
- CHOST_CHANGED = 0
-
- # See if we need to fix the .la file
- while ((getline la_data < (la_files)) > 0) {
- if (OLDCHOST != "") {
- if ((gsub(OLDGCCLIB1 "[/[:space:]]+",
- GCCLIB, la_data) > 0) ||
- (gsub(OLDGCCLIB2 "[/[:space:]]+",
- GCCLIB, la_data) > 0)) {
- CHANGED = 1
- CHOST_CHANGED = 1
- }
- }
- if (OLDVER != NEWVER) {
- if ((gsub(GCCLIBPREFIX_OLD CHOST "/" OLDVER "[/[:space:]]*",
- GCCLIB "/" NEWVER, la_data) > 0) ||
- (gsub(GCCLIBPREFIX_NEW CHOST "/" OLDVER "[/[:space:]]*",
- GCCLIB "/" NEWVER, la_data) > 0))
- CHANGED = 1
- }
- }
- close(la_files)
-
- # Do the actual changes in a second loop, as we can then
- # verify that CHOST_CHANGED among things is correct ...
- if (CHANGED) {
- ewarnn(" FIXING: " la_files " ...")
-
- if (CHANGED)
- printn("[")
-
- # Clear the temp file (removing rather than '>foo' is better
- # out of a security point of view?)
- dosystem("rm -f " la_files ".new")
-
- while ((getline la_data < (la_files)) > 0) {
- if (OLDCHOST != "") {
- tmpstr = gensub(OLDGCCLIB1 "([/[:space:]]+)",
- GCCLIB "\\1", "g", la_data)
- tmpstr = gensub(OLDGCCLIB2 "([/[:space:]]+)",
- GCCLIB "\\1", "g", tmpstr)
-
- if (la_data != tmpstr) {
- printn("c")
- la_data = tmpstr
- }
-
- if (CHOST_CHANGED > 0) {
- # We try to be careful about CHOST changes outside
- # the gcc library path (meaning we cannot match it
- # via /GCCLIBPREFIX CHOST/) ...
-
- # Catch:
- #
- # dependency_libs=' -L/usr/CHOST/{bin,lib}'
- #
- gsub("-L/usr/" OLDCHOST "/",
- "-L/usr/" CHOST "/", la_data)
- # Catch:
- #
- # dependency_libs=' -L/usr/lib/gcc-lib/CHOST/VER/../../../../CHOST/lib'
- #
- la_data = gensub("(" GCCLIB "/[^[:space:]]+)/" OLDCHOST "/",
- "\\1/" CHOST "/", "g", la_data)
- }
- }
-
- if (OLDVER != NEWVER) {
- # Catch:
- #
- # dependency_libs=' -L/usr/lib/gcc/CHOST/VER'
- #
- tmpstr = gensub(GCCLIBPREFIX_OLD CHOST "/" OLDVER "([/[:space:]]+)",
- GCCLIB "/" NEWVER "\\1", "g", la_data)
- tmpstr = gensub(GCCLIBPREFIX_NEW CHOST "/" OLDVER "([/[:space:]]+)",
- GCCLIB "/" NEWVER "\\1", "g", tmpstr)
-
- if (la_data != tmpstr) {
- # Catch:
- #
- # dependency_libs=' -L/usr/lib/gcc-lib/../../CHOST/lib'
- #
- # in cases where we have gcc34
- tmpstr = gensub(GCCLIBPREFIX_OLD "(../../" CHOST "/lib)",
- GCCLIBPREFIX "\\1", "g", tmpstr)
- tmpstr = gensub(GCCLIBPREFIX_NEW "(../../" CHOST "/lib)",
- GCCLIBPREFIX "\\1", "g", tmpstr)
- printn("v")
- la_data = tmpstr
- }
- }
-
- print la_data >> (la_files ".new")
- }
-
- if (CHANGED)
- print "]"
-
- close(la_files)
- close(la_files ".new")
-
- assert(dosystem("mv -f " la_files ".new " la_files),
- "dosystem(\"mv -f " la_files ".new " la_files "\")")
- }
- }
-
- close(pipe)
- }
-}
-
-# vim:ts=4
diff --git a/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la b/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la
deleted file mode 100644
index 346bd16f..00000000
--- a/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la
+++ /dev/null
@@ -1,335 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la,v 1.4 2010/03/19 23:53:07 vapier Exp $
-
-#
-# Helper functions
-#
-function printn(string) {
- printf("%s", string)
-}
-function einfo(string) {
- printf(" \033[32;01m*\033[0m %s\n", string)
-}
-function einfon(string) {
- printf(" \033[32;01m*\033[0m %s", string)
-}
-function ewarn(string) {
- printf(" \033[33;01m*\033[0m %s\n", string)
-}
-function ewarnn(string) {
- printf(" \033[33;01m*\033[0m %s", string)
-}
-function eerror(string) {
- printf(" \033[31;01m*\033[0m %s\n", string)
-}
-
-#
-# assert(condition, errmsg)
-# assert that a condition is true. Otherwise exit.
-#
-function assert(condition, string) {
- if (! condition) {
- printf("%s:%d: assertion failed: %s\n",
- FILENAME, FNR, string) > "/dev/stderr"
- _assert_exit = 1
- exit 1
- }
-}
-
-#
-# system(command, return)
-# wrapper that normalizes return codes ...
-#
-function dosystem(command, ret) {
- ret = 0
- ret = system(command)
- if (ret == 0)
- return 1
- else
- return 0
-}
-
-#
-# parse_ld_conf(config_file)
-#
-function parse_ld_conf(conf, pipe, ldsoconf_data, CHILD, y) {
- pipe = "cd /etc; cat " conf " | sort 2>/dev/null"
- while(((pipe) | getline ldsoconf_data) > 0) {
- if (ldsoconf_data ~ /^[[:space:]]*#/)
- continue
- if (ldsoconf_data == "")
- continue
-
- # Handle the "include" keyword
- if (ldsoconf_data ~ /^include /) {
- sub(/^include /, "", ldsoconf_data)
- parse_ld_conf(ldsoconf_data)
- continue
- }
-
- # Remove any trailing comments
- sub(/#.*$/, "", ldsoconf_data)
- # Remove any trailing spaces
- sub(/[[:space:]]+$/, "", ldsoconf_data)
- # Eat duplicate slashes
- sub(/\/\//, "/", ldsoconf_data)
- # Prune trailing /
- sub(/\/$/, "", ldsoconf_data)
-
- #
- # Drop the directory if its a child directory of
- # one that was already added ...
- # For example, if we have:
- # /usr/lib /usr/libexec /usr/lib/mozilla /usr/lib/nss
- # We really just want to save /usr/lib /usr/libexec
- #
- CHILD = 0
- for (y in DIRLIST) {
- if (ldsoconf_data ~ "^" DIRLIST[y] "(/|$)") {
- CHILD = 1
- break
- }
- }
- if (CHILD) continue
-
- DIRLIST[++LIBCOUNT] = ldsoconf_data
- }
- close(pipe)
-}
-
-BEGIN {
- #
- # Get our variables from environment
- #
- OLDVER = ENVIRON["OLDVER"]
- OLDCHOST = ENVIRON["OLDCHOST"]
-
- if (OLDVER == "") {
- eerror("Could not get OLDVER!");
- exit 1
- }
-
- # Setup some sane defaults
- LIBCOUNT = 2
- HAVE_GCC34 = 0
- DIRLIST[1] = "/lib"
- DIRLIST[2] = "/usr/lib"
-
- #
- # Walk /etc/ld.so.conf to discover all our library paths
- #
- parse_ld_conf("/etc/ld.so.conf")
-
- #
- # Get line from gcc's output containing CHOST
- #
- pipe = "gcc -print-file-name=libgcc.a 2>/dev/null"
- if ((!((pipe) | getline TMP_CHOST)) || (TMP_CHOST == "")) {
- close(pipe)
-
- # If we fail to get the CHOST, see if we can get the CHOST
- # portage thinks we are using ...
- pipe = "/usr/bin/portageq envvar 'CHOST'"
- assert(((pipe) | getline CHOST), "(" pipe ") | getline CHOST")
- } else {
- # Check pre gcc-3.4.x versions
- CHOST = gensub("^.+lib/gcc-lib/([^/]+)/[0-9]+.+$", "\\1", 1, TMP_CHOST)
-
- if (CHOST == TMP_CHOST || CHOST == "") {
- # Check gcc-3.4.x or later
- CHOST = gensub("^.+lib/gcc/([^/]+)/[0-9]+.+$", "\\1", 1, TMP_CHOST);
-
- if (CHOST == TMP_CHOST || CHOST == "")
- CHOST = ""
- else
- HAVE_GCC34 = 1
- }
- }
- close(pipe)
-
- if (CHOST == "") {
- eerror("Could not get gcc's CHOST!")
- exit 1
- }
-
- if (OLDCHOST != "")
- if (OLDCHOST == CHOST)
- OLDCHOST = ""
-
- GCCLIBPREFIX_OLD = "/usr/lib/gcc-lib/"
- GCCLIBPREFIX_NEW = "/usr/lib/gcc/"
-
- if (HAVE_GCC34)
- GCCLIBPREFIX = GCCLIBPREFIX_NEW
- else
- GCCLIBPREFIX = GCCLIBPREFIX_OLD
-
- GCCLIB = GCCLIBPREFIX CHOST
-
- if (OLDCHOST != "") {
- OLDGCCLIB1 = GCCLIBPREFIX_OLD OLDCHOST
- OLDGCCLIB2 = GCCLIBPREFIX_NEW OLDCHOST
- }
-
- # Get current gcc's version
- pipe = "gcc -dumpversion"
- assert(((pipe) | getline NEWVER), "(" pipe ") | getline NEWVER)")
- close(pipe)
-
- if (NEWVER == "") {
- eerror("Could not get gcc's version!")
- exit 1
- }
-
- # Nothing to do ?
- # NB: Do not check for (OLDVER == NEWVER) anymore, as we might need to
- # replace libstdc++.la ....
- if ((OLDVER == "") && (OLDCHOST == ""))
- exit 0
-
- #
- # Ok, now let's scan for the .la files and actually fix them up
- #
- for (x = 1; x <= LIBCOUNT; x++) {
- # Do nothing if the target dir is gcc's internal library path
- if (DIRLIST[x] ~ GCCLIBPREFIX_OLD ||
- DIRLIST[x] ~ GCCLIBPREFIX_NEW)
- continue
-
- einfo(" [" x "/" LIBCOUNT "] Scanning " DIRLIST[x] " ...")
-
- pipe = "find " DIRLIST[x] "/ -name '*.la' 2>/dev/null"
- while (((pipe) | getline la_files) > 0) {
-
- # Do nothing if the .la file is located in gcc's internal lib path
- if (la_files ~ GCCLIBPREFIX_OLD ||
- la_files ~ GCCLIBPREFIX_NEW)
- continue
-
- CHANGED = 0
- CHOST_CHANGED = 0
-
- # See if we need to fix the .la file
- while ((getline la_data < (la_files)) > 0) {
- if (OLDCHOST != "") {
- if ((gsub(OLDGCCLIB1 "[/[:space:]]+",
- GCCLIB, la_data) > 0) ||
- (gsub(OLDGCCLIB2 "[/[:space:]]+",
- GCCLIB, la_data) > 0)) {
- CHANGED = 1
- CHOST_CHANGED = 1
- }
- }
- if (OLDVER != NEWVER) {
- if ((gsub(GCCLIBPREFIX_OLD CHOST "/" OLDVER "[/[:space:]]*",
- GCCLIB "/" NEWVER, la_data) > 0) ||
- (gsub(GCCLIBPREFIX_NEW CHOST "/" OLDVER "[/[:space:]]*",
- GCCLIB "/" NEWVER, la_data) > 0))
- CHANGED = 1
- }
- # We now check if we have libstdc++.la, as we remove the
- # libtool linker scripts for gcc ...
- # We do this last, as we only match the new paths
- if (gsub(GCCLIB "/" NEWVER "/libstdc\\+\\+\\.la",
- "-lstdc++", la_data) > 0)
- CHANGED = 1
- }
- close(la_files)
-
- # Do the actual changes in a second loop, as we can then
- # verify that CHOST_CHANGED among things is correct ...
- if (CHANGED) {
- ewarnn(" FIXING: " la_files " ...[")
-
- # Clear the temp file (removing rather than '>foo' is better
- # out of a security point of view?)
- dosystem("rm -f " la_files ".new")
-
- while ((getline la_data < (la_files)) > 0) {
- if (OLDCHOST != "") {
- tmpstr = gensub(OLDGCCLIB1 "([/[:space:]]+)",
- GCCLIB "\\1", "g", la_data)
- tmpstr = gensub(OLDGCCLIB2 "([/[:space:]]+)",
- GCCLIB "\\1", "g", tmpstr)
-
- if (la_data != tmpstr) {
- printn("c")
- la_data = tmpstr
- }
-
- if (CHOST_CHANGED > 0) {
- # We try to be careful about CHOST changes outside
- # the gcc library path (meaning we cannot match it
- # via /GCCLIBPREFIX CHOST/) ...
-
- # Catch:
- #
- # dependency_libs=' -L/usr/CHOST/{bin,lib}'
- #
- gsub("-L/usr/" OLDCHOST "/",
- "-L/usr/" CHOST "/", la_data)
- # Catch:
- #
- # dependency_libs=' -L/usr/lib/gcc-lib/CHOST/VER/../../../../CHOST/lib'
- #
- la_data = gensub("(" GCCLIB "/[^[:space:]]+)/" OLDCHOST "/",
- "\\1/" CHOST "/", "g", la_data)
- }
- }
-
- if (OLDVER != NEWVER) {
- # Catch:
- #
- # dependency_libs=' -L/usr/lib/gcc/CHOST/VER'
- #
- tmpstr = gensub(GCCLIBPREFIX_OLD CHOST "/" OLDVER "([/[:space:]]+)",
- GCCLIB "/" NEWVER "\\1", "g", la_data)
- tmpstr = gensub(GCCLIBPREFIX_NEW CHOST "/" OLDVER "([/[:space:]]+)",
- GCCLIB "/" NEWVER "\\1", "g", tmpstr)
-
- if (la_data != tmpstr) {
- # Catch:
- #
- # dependency_libs=' -L/usr/lib/gcc-lib/../../CHOST/lib'
- #
- # in cases where we have gcc34
- tmpstr = gensub(GCCLIBPREFIX_OLD "(../../" CHOST "/lib)",
- GCCLIBPREFIX "\\1", "g", tmpstr)
- tmpstr = gensub(GCCLIBPREFIX_NEW "(../../" CHOST "/lib)",
- GCCLIBPREFIX "\\1", "g", tmpstr)
- printn("v")
- la_data = tmpstr
- }
- }
-
- # We now check if we have libstdc++.la, as we remove the
- # libtool linker scripts for gcc and any referencese in any
- # libtool linker scripts.
- # We do this last, as we only match the new paths
- tmpstr = gensub(GCCLIB "/" NEWVER "/libstdc\\+\\+\\.la",
- "-lstdc++", "g", la_data);
- if (la_data != tmpstr) {
- printn("l")
- la_data = tmpstr
- }
-
- print la_data >> (la_files ".new")
- }
-
- if (CHANGED)
- print "]"
-
- close(la_files)
- close(la_files ".new")
-
- assert(dosystem("mv -f " la_files ".new " la_files),
- "dosystem(\"mv -f " la_files ".new " la_files "\")")
- }
- }
-
- close(pipe)
- }
-}
-
-# vim:ts=4
diff --git a/sys-devel/gcc/files/c89 b/sys-devel/gcc/files/c89
deleted file mode 100755
index cee0325f..00000000
--- a/sys-devel/gcc/files/c89
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /bin/sh
-
-# Call the appropriate C compiler with options to accept ANSI/ISO C
-# The following options are the same (as of gcc-2.95):
-# -ansi
-# -std=c89
-# -std=iso9899:1990
-
-for i; do
- case "$i" in
- -ansi|-std=c89|-std=iso9899:1990)
- ;;
- -std=*)
- echo >&2 "`basename $0` called with non ANSI/ISO C90 option $i"
- exit 1
- ;;
- esac
-done
-
-exec gcc -std=c89 -pedantic -U_FORTIFY_SOURCE "$@"
diff --git a/sys-devel/gcc/files/c99 b/sys-devel/gcc/files/c99
deleted file mode 100755
index c9542095..00000000
--- a/sys-devel/gcc/files/c99
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/sh
-
-# Call the appropriate C compiler with options to accept ANSI/ISO C
-# The following options are the same (as of gcc-3.3):
-# -std=c99
-# -std=c9x
-# -std=iso9899:1999
-# -std=iso9899:199x
-
-for i; do
- case "$i" in
- -std=c9[9x]|-std=iso9899:199[9x])
- ;;
- -ansi|-std=*)
- echo >&2 "`basename $0` called with non ANSI/ISO C99 option $i"
- exit 1
- ;;
- esac
-done
-
-exec gcc -std=c99 -pedantic -U_FORTIFY_SOURCE ${1+"$@"}
diff --git a/sys-devel/gcc/files/fix_libtool_files.sh b/sys-devel/gcc/files/fix_libtool_files.sh
deleted file mode 100644
index c55250b6..00000000
--- a/sys-devel/gcc/files/fix_libtool_files.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/fix_libtool_files.sh,v 1.16 2012/05/18 21:28:56 vapier Exp $
-
-usage() {
-cat << "USAGE_END"
-Usage: fix_libtool_files.sh <old-gcc-version> [--oldarch <old-CHOST>]
-
- Where <old-gcc-version> is the version number of the
- previous gcc version. For example, if you updated to
- gcc-3.2.1, and you had gcc-3.2 installed, run:
-
- # fix_libtool_files.sh 3.2
-
- If you updated to gcc-3.2.3, and the old CHOST was i586-pc-linux-gnu
- but you now have CHOST as i686-pc-linux-gnu, run:
-
- # fix_libtool_files.sh 3.2 --oldarch i586-pc-linux-gnu
-
- Note that if only the CHOST and not the version changed, you can run
- it with the current version and the '--oldarch <old-CHOST>' arguments,
- and it will do the expected:
-
- # fix_libtool_files.sh `gcc -dumpversion` --oldarch i586-pc-linux-gnu
-
-USAGE_END
- exit 1
-}
-
-case $2 in
---oldarch) [ $# -ne 3 ] && usage ;;
-*) [ $# -ne 1 ] && usage ;;
-esac
-
-ARGV1=$1
-ARGV2=$2
-ARGV3=$3
-
-. /etc/profile || exit 1
-. /etc/init.d/functions.sh || exit 1
-
-if [ ${EUID:-0} -ne 0 ] ; then
- eerror "${0##*/}: Must be root."
- exit 1
-fi
-
-# make sure the files come out sane
-umask 0022
-
-OLDCHOST=
-[ "${ARGV2}" = "--oldarch" ] && OLDCHOST=${ARGV3}
-
-AWKDIR="/usr/share/gcc-data"
-
-if [ ! -r "${AWKDIR}/fixlafiles.awk" ] ; then
- eerror "${0##*/}: ${AWKDIR}/fixlafiles.awk does not exist!"
- exit 1
-fi
-
-OLDVER=${ARGV1}
-
-export OLDVER OLDCHOST
-
-einfo "Scanning libtool files for hardcoded gcc library paths..."
-exec gawk -f "${AWKDIR}/fixlafiles.awk"
-
-# vim:ts=4
diff --git a/sys-devel/gcc/files/gcc-configure-texinfo.patch b/sys-devel/gcc/files/gcc-configure-texinfo.patch
deleted file mode 100644
index ddc098dd..00000000
--- a/sys-devel/gcc/files/gcc-configure-texinfo.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Chances are quite good that the installed makeinfo is sufficient.
-So ignore false positives where the makeinfo installed is so new
-that it violates the cheesy version grep.
-
-http://bugs.gentoo.org/198182
-
---- configure
-+++ configure
-@@ -3573,6 +3573,6 @@
- :
- else
-- MAKEINFO="$MISSING makeinfo"
-+ :
- fi
- ;;
-
diff --git a/sys-devel/gcc/files/gcc-spec-env.patch b/sys-devel/gcc/files/gcc-spec-env.patch
deleted file mode 100644
index 57e7567e..00000000
--- a/sys-devel/gcc/files/gcc-spec-env.patch
+++ /dev/null
@@ -1,42 +0,0 @@
- Add support for external spec file via the GCC_SPECS env var. This
- allows us to easily control pie/ssp defaults with gcc-config profiles.
-
- Original patch by Rob Holland
- Extended to support multiple entries separated by ':' by Kevin F. Quinn
- Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
-
---- gcc-4/gcc/gcc.c
-+++ gcc-4/gcc/gcc.c
-@@ -6482,6 +6482,32 @@
-
- /* Process any user specified specs in the order given on the command
- line. */
-+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
-+ /* Add specs listed in GCC_SPECS. Note; in the process of separating
-+ * each spec listed, the string is overwritten at token boundaries
-+ * (':') with '\0', an effect of strtok_r().
-+ */
-+ specs_file = getenv ("GCC_SPECS");
-+ if (specs_file && (strlen(specs_file) > 0))
-+ {
-+ char *spec, *saveptr;
-+ for (spec=strtok_r(specs_file,":",&saveptr);
-+ spec!=NULL;
-+ spec=strtok_r(NULL,":",&saveptr))
-+ {
-+ struct user_specs *user = (struct user_specs *)
-+ xmalloc (sizeof (struct user_specs));
-+
-+ user->next = (struct user_specs *) 0;
-+ user->filename = spec;
-+ if (user_specs_tail)
-+ user_specs_tail->next = user;
-+ else
-+ user_specs_head = user;
-+ user_specs_tail = user;
-+ }
-+ }
-+#endif
- for (uptr = user_specs_head; uptr; uptr = uptr->next)
- {
- char *filename = find_a_file (&startfile_prefixes, uptr->filename,
diff --git a/sys-devel/gcc/gcc-4.6.3-r99.ebuild b/sys-devel/gcc/gcc-4.6.3-r99.ebuild
deleted file mode 100644
index ed606aee..00000000
--- a/sys-devel/gcc/gcc-4.6.3-r99.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.6.3.ebuild,v 1.8 2012/06/04 22:48:18 zorry Exp $
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.5.4"
-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="mips x86 amd64 ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="mips x86 arm amd64 ppc ppc64"
-SSP_STABLE="mips amd64 x86 ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.32
-SSP_UCLIBC_STABLE="mips x86 amd64 ppc ppc64 arm"
-#end Hardened stuff
-
-inherit toolchain
-
-DESCRIPTION="The GNU Compiler Collection"
-
-LICENSE="GPL-3 LGPL-3 || ( GPL-3 libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2"
-KEYWORDS="~mips"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- amd64? ( multilib? ( gcj? ( app-emulation/emul-linux-x86-xlibs ) ) )
- >=${CATEGORY}/binutils-2.18"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_unpack() {
- 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
-
- # drop the x32 stuff once 4.7 goes stable
- EPATCH_EXCLUDE+=" 80_all_gcc-4.6-x32.patch"
-
- toolchain_src_unpack
-
- use vanilla && return 0
-
- [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch
-}
-
-pkg_setup() {
- toolchain_pkg_setup
-
- ewarn
- ewarn "LTO support is still experimental and unstable."
- ewarn "Any bugs resulting from the use of LTO will not be fixed."
- ewarn
-}
diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
deleted file mode 100644
index 733d99bc..00000000
--- a/sys-devel/gcc/metadata.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <herd>toolchain</herd>
- <use>
- <flag name="fixed-point">Enable fixed-point arithmetic support for MIPS targets
- in gcc (Warning: significantly increases compile time!)</flag>
- <flag name="go">Build the GCC Go language frontend.</flag>
- <flag name="graphite">Add support for the framework for loop
- optimizations based on a polyhedral intermediate representation</flag>
- <flag name="gtk">Useful only when building GCJ, this enables Abstract Window Toolkit
- (AWT) peer support on top of GTK+</flag>
- <flag name="libssp">Build SSP support into a dedicated library rather than use the
- code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT DOES)</flag>
- <flag name="mudflap">Add support for mudflap, a pointer use checking library</flag>
- <flag name="multislot">Allow for SLOTs to include minor version (3.3.4
- instead of just 3.3)</flag>
- <flag name="nopie">Disable PIE support (NOT FOR GENERAL USE)</flag>
- <flag name="nossp">Disable SSP support (NOT FOR GENERAL USE)</flag>
- <flag name="objc">Build support for the Objective C code language</flag>
- <flag name="objc++">Build support for the Objective C++ language</flag>
- <flag name="objc-gc">Build support for the Objective C code language Garbage
- Collector</flag>
- </use>
-</pkgmetadata>