summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-12-29 06:58:26 +0000
committerMike Frysinger <vapier@gentoo.org>2012-12-29 06:58:26 +0000
commita427bb8f3eb3b0c1bc260b9d80ea01d95a92da38 (patch)
tree4d0cf7aa36701ada06db43e69d383312c5970734 /sys-devel
parentenable libffi with gcc-3.0+ (i did not have a local copy at the time to check... (diff)
downloadhistorical-a427bb8f3eb3b0c1bc260b9d80ea01d95a92da38.tar.gz
historical-a427bb8f3eb3b0c1bc260b9d80ea01d95a92da38.tar.bz2
historical-a427bb8f3eb3b0c1bc260b9d80ea01d95a92da38.zip
Get gcc-2 building again on modern systems.
Package-Manager: portage-2.2.0_alpha144/cvs/Linux x86_64 Manifest-Sign-Key: 0xFB7C4156
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/gcc/ChangeLog6
-rw-r--r--sys-devel/gcc/Manifest37
-rw-r--r--sys-devel/gcc/gcc-2.95.3-r10.ebuild9
-rw-r--r--sys-devel/gcc/gcc-2.95.3-r9.ebuild280
4 files changed, 29 insertions, 303 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog
index 3ccf4831475e..8a9663777a88 100644
--- a/sys-devel/gcc/ChangeLog
+++ b/sys-devel/gcc/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-devel/gcc
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.918 2012/12/21 05:20:46 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.919 2012/12/29 06:58:20 vapier Exp $
+
+ 29 Dec 2012; Mike Frysinger <vapier@gentoo.org> -gcc-2.95.3-r9.ebuild,
+ gcc-2.95.3-r10.ebuild:
+ Get gcc-2 building again on modern systems.
21 Dec 2012; Mike Frysinger <vapier@gentoo.org> gcc-4.5.4.ebuild,
gcc-4.6.3.ebuild:
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index c755caf47b62..575e88955d11 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -52,10 +52,8 @@ DIST bounds-checking-gcc-3.3.6-1.00-r2.patch.bz2 829688 SHA256 eacdaecd9c07b6573
DIST bounds-checking-gcc-3.4.4-1.00.1.patch.bz2 815566 SHA256 6568f904eb26ff4bc90e23792b3346aaf98c0ffe38a1abe853d823b3c2157e96 SHA512 da11cb354d5ec95c74081c2cbb29bcb49817a1f9d6875587b4a27f1c9fdea8f07eec8147b739bd18a4fa2365e5da50e4bca7d7531612fbf2514c50516d225ac2 WHIRLPOOL fedeb8ca85af5bcc924243cafde3a96f0ddf69df13a1e2c68a207c0dda3d598af59b49a92c35e104a16f70af86a0027a7630306d23aaf873f48149a64e86347f
DIST ecj-4.3.jar 1377431 SHA256 9de193ea393ed50d868b730bad6916f7a8ef4ba80216f8606d3e1a0dd886e74b SHA512 c4be72186d81747f1adce5a50de303c24bd6ed9f401bfa8871b1b864fe7591392218b1937b10d0e76014de8e0b6a1d5c4280475976218141cd1878c4a35217ff WHIRLPOOL 9137d6aa5b0e34a596e8d3de8843b5478cec8cdd4113303d554120ba8c6d467e802414f861ff0d7ef1d85dbcb09d4ccc10668385460d1a476345e2de86798bce
DIST ecj-4.5.jar 1470676 SHA256 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e WHIRLPOOL db54206cfd5eba935e707b8d36ebac40f3c4ed3c1f06ede794288cbdd9c7da9d90c0898e8c98b383af276ea4c1b40c861ebd9e1fc1dce712946184321339d3ad
-DIST gcc-2.95.3-patches-1.2.tar.bz2 121655 SHA256 c2ee770bcf7cc45e6dbc7f89514b378ca780c7ee0f8d30550eb897e925ee4eca
-DIST gcc-2.95.3-patches-1.3.tar.bz2 116975 SHA256 4e437c8d0e176ad626918963ee2a7976353a2010a08c48498f24c2f85c542c3c
-DIST gcc-2.95.3.tar.bz2 9848842 SHA256 cf91a6b4f41248895f06bcd0570a62d2417ee99d32e6e2c5f70490e0eb6af5e4
-DIST gcc-2.95.3.tar.gz 12911721 SHA256 2a950e220c2f64c4abf781be3bb6d4c472ef8b3685873e77061788df85c6d5da
+DIST gcc-2.95.3-patches-1.4.tar.bz2 125654 SHA256 dbbefc926fb07b17eb18d4c8bfa8b8d1d956f4484c19e8afecb0ecb995232886 SHA512 7cc79439162ddf6f5dea4fd88e172e815684a34ed70e67f33c6acf4e1a687a748a78dee232d462adb5858cc3f9609e34cf1b8a75707947f4fcdf3d33251738e5 WHIRLPOOL d10f43b3081eaac83b6e22cb9aa863380415fe73da9e167b9b961b37419161d385e70b4f0fa9bb03399ecf77ff289b58cafd804a510d7366c21496c82ec416f3
+DIST gcc-2.95.3.tar.bz2 9848842 SHA256 cf91a6b4f41248895f06bcd0570a62d2417ee99d32e6e2c5f70490e0eb6af5e4 SHA512 683eafd1788a0021867797796444868100d244f72749dd8f014eb04495554ca43eba852179554710d516ff4b94527f40ff9c9189e007ef6fd958ec7293f17e4d WHIRLPOOL 7605984ae8bd948f116e319a47b668327d0e83c301e4391abb66a72a58868fc90e5c8d3298d9444d4852a0073f71a9f36389add96bc5b54364d7943b397bd027
DIST gcc-3.1.1.tar.bz2 20515451 SHA256 95399ef09c38cf9bde4a98909623d6a7f93ca0061857f9938af8b1970459672f SHA512 96e9449999c7e0dbb1257d596addb0410abdc9146f6585e525fc490bc37727c29ebd64df2298d7f28aa3ebc9689c34809573ad404e91e94199c45a5826113c02 WHIRLPOOL ace0e7682bc121c1308841e648dc5323132f8108abe14bff45b9d43b42b7b72853bfef6cfb55718a9077c6be0906ac337524d93ee91dcd6dccff4a01b6b3d45b
DIST gcc-3.1.1_final-patches-1.0.tbz2 29791 SHA256 8ed2d7ca951ec195bef6ccdeb0325c673e1991890f11f2f24e4d0277537466d6 SHA512 6fe5a070e5778d7112a27df3ee36a8649b48ff5536c3be1d3c34d21c0f4f1f8623dc3ff539cbec70486c19f9ce723928aa80c8585afd98490ec923d1502bdbac WHIRLPOOL 1eb235ccef2316f13baee9b637eba32ff3f92b64c01c69317916d3a70cec02dd4554330e7ae4eab2b95ab879f5c928c098547279738642d563225886b23092fa
DIST gcc-3.2.2-patches-1.1.tar.bz2 42302 SHA256 c648227c8cad24f8fbeb6febff13168a692f8886ba3770a1278e3d0a3cd80ea6
@@ -168,8 +166,7 @@ DIST gcc-4.7.2-uclibc-patches-1.0.tar.bz2 3022 SHA256 507e2c9b7004122a6cf5409825
DIST gcc-4.7.2.tar.bz2 82884636 SHA256 8a9283d7010fb9fe5ece3ca507e0af5c19412626384f8a5e9434251ae100b084 SHA512 689ce92d0c93e5ca5268d9757acffc6e5a7931fc7ad99ee9beefa6ce02d201ed9dade08240cb5623525e19362f90a245792e95d4e90b067fee61013a03288e32 WHIRLPOOL 730d32f9e9d19683ea169992ee82a3016c806dab16577facbb6e5eab4707706f139cf6b15b8aae44f85c88d71c308ddb1c110dca99dd46692d5bad66e05ad657
DIST gdc-0.24-src.tar.bz2 1012099 SHA256 cc6a97c76c9e6db31e76ff97014d24b3d43e21f018a3c6218e3fb2a4500fc79a
DIST protector-3.2.2-10.tar.gz 24556 SHA256 ad8401650ee0f7162e844cea492aa6151de77e8d0236cacc999aada69d511bab SHA512 185fb165df3829588f159f5d9e0852ca413c3a8ec68628a76fc9aa893714907f975252f2027a7c2e167871c2e655007f278a867ea903b2b40ad5c328ab14a687 WHIRLPOOL e3a50435f7b25ffd71ead552498371a47451b694bed84b4c06bf09bf711ece0689a8c0e817448aac83508e89da6cf2d10fd8ce5df2fb81410c5683d7dda6d74f
-EBUILD gcc-2.95.3-r10.ebuild 880 SHA256 3be1266ff7d136ad330cd3535d1e37cea6f4d02dd4360bbc92d3b095734da9a3 SHA512 5b18a93e4a9c0afbe64964e8015fbef819ecd7f5d0ccc1530383436c8c8e1ab87b5735b4e829cfc8f7dc01a64636e26a56ae2bc4d8ae9059ceab8643e374517f WHIRLPOOL 1a832868cacf36ae4ee59420cdfbd9052e27e9eeeccb5de005bd5f5f604f30d2bae0a954b67db0f667978c9684267bba6abe8af4d3acd292ab3802f3b7058cf8
-EBUILD gcc-2.95.3-r9.ebuild 7880 SHA256 8873bf0b693bc842c5d46608535ac8e133d291ca7317a7934577ae1862d31ef8 SHA512 6c113603e4c68869d32cbb7eef7245b127d264925e8f5c2e7b1427617f89c52dc60ba8c0ca96c03b300225688b9e41e47ccce675a8b397eb8b0c8f005d360da0 WHIRLPOOL b3430fe74f92e6af3ac205de048858609a6a74acf730c540ecc70a34af8ad028baa1556aa4ce53b21849485226ba52d631077cd6415174d994c78384e593a579
+EBUILD gcc-2.95.3-r10.ebuild 936 SHA256 55c4d595847fdd061abf1b244d643a3c375d2ed14bc419e092e2d81774dc0d78 SHA512 d9b4757fc2215f5a35731e0cd3490be539b851a08a4873de404ac26857a48a018a81fa36040aa9fd094f603fcad11f5a8ce49e610a05bec76b18eeecbfa77654 WHIRLPOOL 2a90c8f28228e2b91dd5f16de48a038bbb1e1624c2db7687c88e7f014b220a5b566864c6d3546889b55b1f0db605b12e32bf70a328054d318e5141b6a0247623
EBUILD gcc-3.1.1-r2.ebuild 9315 SHA256 61620bde9f909e759968b6091076f9ae520f81a520ad2d7dd0f61e8bc79e8c3b SHA512 de96363edb94d9f1340d7c024bd53882c103f1fe0dc90759e3efcaa7454745df644d0d13d675bc214eba8fb6f515fd8ba014883852e9d74aed36726eff497ab6 WHIRLPOOL 963538cc202c792f96d20b558914665853c55d6f5787f79533614b9ce5fc9582beddf18c54b837e8c398f502cd743eb1e7c252479e894380d3fe50281eb04133
EBUILD gcc-3.2.2.ebuild 369 SHA256 71a14a490464c6fbe30ab1d196cee7259392508453627c2ce971ec6e0a913d82 SHA512 739f38664304199c8bb3e770e2edc255acf515770e60b2bfb8e800c4a8a1a4e12472df47220b1e37c39a2317cf832a9aa7b03080bdc362ae086a48d498a177fa WHIRLPOOL 1435816dbd975f6286f96732b729d4fdbf7d28a00915f3d5f08fe4517b2f2057132cabe243d963f0b7fed7614a77bbdf1fb40527123f138deb2c98414a868450
EBUILD gcc-3.2.3-r4.ebuild 17770 SHA256 afc9ec06604ca3d1476acc1d08898ebf5a113db8e14336ae3d4bce22e00688ca SHA512 badc10f4127d2c836f88d1c0d7a539567e86e8d06ca8ad02485ad087813f9a8d032c9395ef4afe89bc1f36c05112972ba726c630d7976d81b75aa1adfacf0d40 WHIRLPOOL b192dfaee9d62788e83eccfd941baa003f4f87ae08a514df5a160dc28510809ac2befeb5f717999b10af10ec6ae35c8d0b811e59d0338790ee4cb1bc5e8153e6
@@ -199,23 +196,23 @@ EBUILD gcc-4.6.3.ebuild 1715 SHA256 e861e567fb3acbfb89b60a3d47071667050d032e5d0c
EBUILD gcc-4.7.0.ebuild 1873 SHA256 e6c7ef28e990ab1ce70619e5e0b8a16e3a7b718251abc61cabe4b108211e4a36 SHA512 d6e634833ef2ea2566bb195c9674666b00aabeaae0631a9ae4dd1faa46163c44a8d092d1a4ac3537df65a76b86595f1392525e799ce90e2bc2364b990979f51b WHIRLPOOL f9d69bbec6dc4b5936c7e3e92829014623fddfbb59c8d6ed0be15425cf81b96188266c5b395507d3c7513409d301e051ae90069a0f7d44f566fb8e629ef6ac98
EBUILD gcc-4.7.1.ebuild 1873 SHA256 99888b0c6e09166f3a085fa7fe05ba43f267922e237efd909ea7e76469df9d5d SHA512 b2cd479c0838f4d39e534d80450c9f1975e03a4c36bc601b345c156c083a8aaec67d7cf7e4a7420516c57e3fdf075768b7d857f89a5da813d1cf3fa76b050a49 WHIRLPOOL 1ef8c74558ffe074c35d13b8597c304e90543cfaed765ad58f74f7dfd643275712faf33298ad27218c8759a7a178da83b961b88909517b8204870a6c9462c0c5
EBUILD gcc-4.7.2.ebuild 1874 SHA256 200cb6c6deaa4f28b61a6bde78241eebef58dc65f9fc55297b8a50d285a47f31 SHA512 3ee7f8bae3385fc2f5924d2ac72848a69e024a999160f1ac77349f8132424fb46291e0b2709936ed4f0bec40707a922b05d039da2c2b2624c21bead1a862530e WHIRLPOOL 7bc694cb2a357b3ab81183fcb72873d9a5639c13b67510bf8048babb097e70a97d34a858a9780a3d27e4600bdd422b561d06cb95a23969b53543105cef3b245f
-MISC ChangeLog 46436 SHA256 5ba00441835a530b9131cbf889f1d24b73dbc373b5029b137316a474dd2abbe5 SHA512 3a9e05612329eb76949e43a37cbfcdf49a2a03a742e93c6ea3d69ed32f9e2dd7b37ee74a782fac7d1ef3b285f36bde578d684d1a315d40d6d4bb892ccdc22bd9 WHIRLPOOL 4cf02f82076f77f7a9c35a5d4e54e648de56d6925782ee169f2cce82913e43bdc12b5b701ca5c7dd1847955b6628bbc1c00c6a4b30a9a37dabc4b84630cf9f65
+MISC ChangeLog 46581 SHA256 be50b7e43344e7be8f31f44ccde7b1d7f0d1d96c448f7c2472f292535d4ca7be SHA512 9d8e02a3ec6c5d856ab18bbc819b669f9060137f497eec4c5de6970a388bf147f4a6248e41f3049d64280a0811eaeb043137b14330a0b4da23beaa506a5ddc35 WHIRLPOOL 13fca7c0c768751fdb6f480251bbae723898316247a9ad0c7d2bf788e1ecf3bd4b70a27fd3223575f1cc5b1b2c3eb95211d1bff6effe43467d2cfc97ceac42bd
MISC ChangeLog-2006 112483 SHA256 108a7803efc91b08dd27ca4a83468637222a0685760f63bce724cb486fbc4022 SHA512 2887a66d03f4e1a9c60c743d7aa22147bdd95900b9e759c760a63f1a60c90008585b10b4f46ecc26e0149427bbdb8b83a9de4546d75e9ad935dd8e5377bf8870 WHIRLPOOL a2e1df0a7cead4373b5aeda333d952407049e1945f0a4e7774e1249e9f08ee33faafe0e74adec28b641bf037b8d6a350f45760a25c15e769b23eadb84b7ea48e
MISC metadata.xml 2017 SHA256 b8397e7ce9649b9086d020ee865f1ccd616b338cdae5be3d57494fd15748d132 SHA512 231a34104c4c0fc8f2a2733572236d7638bc9e7241a6d60b90601f24204c2a7ae5d61d351c75179dce05b4e1b7e367b9ef4f8c6d19c58d3695f5e6cb15ab519a WHIRLPOOL 01599d282637b293265f57c05a91447434d8bb33be54d6e89b8739e0f549b2045e4bc9fb6df8c7a6d0e7d6899b818b6f18454906a73edd529fc9ee57f212cce7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQIcBAEBCAAGBQJQ0/G7AAoJELEHsLL7fEFWRsMP/0KiGbUZTn62oy26/MXkb1un
-cDnSjR03MIvoRbNZGITXhlHtz70lsTdk6V+wf6ttZLzmG5QfRjaL705+7lkVKda0
-y8wOi57694mgDYNaNT5gtxzqGz72RovuaoodrLzlaJRH4zl0p82SnEa+Z4CdsSyq
-YO265qQHPcXopzQSy6lh5S9jTtCu6zuRVZeeGBmmaraGsuEJesIVeq1j0zYgC6h2
-i9dwzVgwwOgNn0Wtu/oFPkv+HfqDlx1TaJ1cX7+y2gK931QAJcwTK/Lpo/EVUD5V
-x3rWwn/QGRQIowi288x+dyaEdTcS0vOc0FJZH9jgO8SHsnTqU7loiIlnn1KPBmTi
-2GBVWmqrNk03Q7UvK6Z8JkdvHfNm+1gMJW5ijYFkOSUY7ZihVzv7jf9LTC5bKNSg
-hFMhCG3rPIC67qdrwHQFRznCefvfWTl8CCvBMJVrWZYYK986Ij8wnSEW4wM40v6P
-5smnkD7Cil1WvWt6SQIAR+0FdVu0VxLHtnOxLPAGQLmcp5/n3TFbrPP3U9SkeeJc
-kQWtS+Foz3jw4DYriVvD/imIl0YWwinH0nmVeFRK8XI1f7dmpRBskg4bW4eU0pcL
-J57jt3w7ykAhotlIvGVffJSNeg7ZCjcqe7EkZllpzaYpD2MtlJx97pd+aAjS2lBG
-mrF87at8n+YJG2v7jvlg
-=INiL
+iQIcBAEBCAAGBQJQ3pTTAAoJELEHsLL7fEFWsWYP/1fcGm/fBg5GtSuLGadJZ6HG
+RSz/JZxDqsXT7RmSkD/RMdOigLF+Oq6l9xzOZ76t0+wl7lslZ16+yPVLviyTA+on
+mV7mDa8nO7udfS63oRkgeU9ViuTzpf5ETCoPDRXaQcDzFerwArz0cz80lsMH8s2j
+YI4z6euMDSg8g2kYSmBLTD0M0sarkNooqTkXjtQerT9CpYCQIir5dlr6ahw4lrsg
+VCJ+6Mz7bR5T9w+lJxpsYx8foK0taFL0ocHKiq7sUyZHo0xL1fZWcUOy7qvZtkZ0
+Nd2z/sYS1d8VNqdRvirZsYvIjlT2XxqQjJ6/RlPpWLitVqip20HR2muJUGEV40uB
+O7HDKbz08oL7nxUb2i2L1ptcdf28wyrPgXOmRNRsTChon9lUWVLuoYlnB9IkVbV3
+qsnJPiniY1N6BgleOPquFqGxM8U96N/HWqv9ydoRZQwi7yLe8gu6Tl/VUw62pkSg
+kI2oZwVHmNOzegvNf7suhzCdVmCjojNRY2mZPlq0zkcllGHM2mdUOunHh1ydobuB
+GKY2+8jkOzKp4jlKn83gsa2ary1FMphp9GzjT3WtQpdQygXWc/lKcIecUlQZMb6m
+FQCBOmWBuZFv35HQ/Y1V2Sh1OVxvMYo8wJcagL94D8uH1bJOPp341ZFDAAjxR17W
+BZ00H2hLRnFMTbN+Ud16
+=yYPE
-----END PGP SIGNATURE-----
diff --git a/sys-devel/gcc/gcc-2.95.3-r10.ebuild b/sys-devel/gcc/gcc-2.95.3-r10.ebuild
index addb05774adb..c818977c644e 100644
--- a/sys-devel/gcc/gcc-2.95.3-r10.ebuild
+++ b/sys-devel/gcc/gcc-2.95.3-r10.ebuild
@@ -1,8 +1,8 @@
# 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-2.95.3-r10.ebuild,v 1.9 2012/09/28 03:13:09 zmedico Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.3-r10.ebuild,v 1.10 2012/12/29 06:58:20 vapier Exp $
-PATCH_VER="1.3"
+PATCH_VER="1.4"
inherit toolchain eutils flag-o-matic
@@ -27,6 +27,11 @@ gcc2-flags() {
replace-cpu-flags ev6{7,8} ev6
}
+src_unpack() {
+ toolchain_src_unpack
+ rm -rf texinfo
+}
+
src_compile() {
strip-linguas -u */po
gcc2-flags
diff --git a/sys-devel/gcc/gcc-2.95.3-r9.ebuild b/sys-devel/gcc/gcc-2.95.3-r9.ebuild
deleted file mode 100644
index 3e22244f0846..000000000000
--- a/sys-devel/gcc/gcc-2.95.3-r9.ebuild
+++ /dev/null
@@ -1,280 +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-2.95.3-r9.ebuild,v 1.9 2012/11/24 21:22:29 vapier Exp $
-
-inherit eutils flag-o-matic toolchain-funcs versionator fixheadtails gnuconfig
-
-# The next command strips most flags from CFLAGS/CXXFLAGS. If you do
-# not like it, comment it out, but do not file bugreports if you run into
-# problems.
-do_filter_flags() {
- strip-flags
-
- # In general gcc does not like optimization ... we'll add -O2 where safe
- filter-flags -O?
-
- # Compile problems with these (bug #6641 among others)...
- filter-flags -fno-exceptions -fomit-frame-pointer -ggdb
-
- # Are we trying to compile with gcc3 ? CFLAGS and CXXFLAGS needs to be
- # valid for gcc-2.95.3 ...
- if [[ $(tc-arch) == "x86" || $(tc-arch) == "amd64" ]] ; then
- CFLAGS=${CFLAGS//-mtune=/-mcpu=}
- CXXFLAGS=${CXXFLAGS//-mtune=/-mcpu=}
- fi
-
- replace-cpu-flags k6-{2,3} k6
- replace-cpu-flags athlon{,-{tbird,4,xp,mp}} i686
-
- replace-cpu-flags pentium-mmx i586
- replace-cpu-flags pentium{2,3,4} i686
-
- replace-cpu-flags ev6{7,8} ev6
-
- export CFLAGS CXXFLAGS
-}
-
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} = ${CHOST} ]] ; then
- if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
- export CTARGET=${CATEGORY/cross-}
- fi
-fi
-
-LOC="/usr"
-GCC_BRANCH_VER="$(get_version_component_range 1-2)"
-GCC_RELEASE_VER="$(get_version_component_range 1-3)"
-
-LIBPATH="${LOC}/lib/gcc-lib/${CTARGET}/${GCC_RELEASE_VER}"
-BINPATH="${LOC}/${CTARGET}/gcc-bin/${GCC_BRANCH_VER}"
-DATAPATH="${LOC}/share/gcc-data/${CTARGET}/${GCC_BRANCH_VER}"
-# Dont install in /usr/include/g++/, but in gcc internal directory.
-# We will handle /usr/include/g++/ with gcc-config ...
-STDCXX_INCDIR="${LIBPATH}/include/g++"
-
-PATCH_VER=1.2
-DESCRIPTION="The GNU Compiler Collection"
-HOMEPAGE="http://gcc.gnu.org/"
-SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${P}.tar.gz
- mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2"
-
-LICENSE="GPL-2 LGPL-2.1"
-KEYWORDS="x86 ppc sparc alpha"
-IUSE="static nls build multislot nocxx fortran"
-
-if use multislot ; then
- SLOT="${CTARGET}-${GCC_CONFIG_VER}"
-elif [[ ${CTARGET} != ${CHOST} ]] ; then
- SLOT="${CTARGET}-${GCC_BRANCH_VER}"
-else
- SLOT="${GCC_BRANCH_VER}"
-fi
-
-RDEPEND=">=sys-devel/gcc-config-1.4
- >=sys-libs/zlib-1.1.4
- >=sys-apps/texinfo-4.2-r4
- !build? ( >=sys-libs/ncurses-5.2-r2 )"
-DEPEND="${RDEPEND}
- !build? ( nls? ( sys-devel/gettext ) )"
-
-# Hack used to patch Makefiles to install into the build dir
-FAKE_ROOT=""
-
-src_unpack() {
- unpack ${P}.tar.gz
- unpack ${P}-patches-${PATCH_VER}.tar.bz2
- [[ $(tc-arch ${TARGET}) == "alpha" ]] \
- && rm -f "${EPATCH_SOURCE}"/10_all_new-atexit.patch
-
- cd "${S}"
- epatch
-
- # Fixup libtool to correctly generate .la files with portage
- libtoolize --copy --force
-
- # Fix outdated head/tails format #65668
- ht_fix_file configure gcc/Makefile.in
-
- # Currently if any path is changed via the configure script, it breaks
- # installing into ${D}. We should not patch it in src_install() with
- # absolute paths, as some modules then gets rebuild with the wrong
- # paths. Thus we use $FAKE_ROOT.
- for x in $(find . -name Makefile.in) ; do
- sed -i \
- -e 's:datadir = @datadir@:datadir = $(FAKE_ROOT)@datadir@:' \
- -e 's:bindir = @bindir@:bindir = $(FAKE_ROOT)@bindir@:' \
- -e 's:gxx_include_dir=${includedir}:gxx_include_dir=$(FAKE_ROOT)${includedir}:' \
- ${x} || die "could not sed $x"
- done
-
- gnuconfig_update
-}
-
-src_compile() {
- export LINGUAS=""
-
- # Make sure we have sane CFLAGS
- do_filter_flags
-
- # Build in a separate build tree
- mkdir -p "${WORKDIR}"/build
- cd "${WORKDIR}"/build
-
- local gcclangs="c"
- local myconf=""
- if use build ; then
- myconf="--disable-nls"
- else
- myconf=""
- use !nocxx && gcclangs="${gcclangs},c++"
- use fortran && gcclangs="${gcclangs},f77"
- use nls && myconf="${myconf} --enable-nls --without-included-gettext"
- fi
- [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
- [[ ${CHOST} == ${CTARGET} ]] \
- && myconf="${myconf} --enable-shared --enable-threads=posix" \
- || myconf="${myconf} --disable-shared --disable-threads"
- myconf="--prefix=${LOC}
- --bindir=${BINPATH}
- --datadir=${DATAPATH}
- --mandir=${DATAPATH}/man
- --infodir=${DATAPATH}/info
- --host=${CHOST}
- --target=${CTARGET}
- --with-system-zlib
- --enable-long-long
- --enable-version-specific-runtime-libs
- --with-local-prefix=${LOC}/local
- --enable-languages=${gcclangs}
- ${myconf}
- ${EXTRA_ECONF}"
- echo ./configure "${myconf}"
- addwrite "/dev/zero"
- "${S}"/configure ${myconf} || die "configure failed"
-
- touch "${S}"/gcc/c-gperf.h
-
- if ! use static ; then
- # Fix for our libtool-portage.patch
- S="${WORKDIR}/build" \
- emake bootstrap-lean \
- LIBPATH="${LIBPATH}" STAGE1_CFLAGS="-O" || die "make failed"
- # Above FLAGS optimize and speedup build, thanks
- # to Jeff Garzik <jgarzik@mandrakesoft.com>
- else
- S="${WORKDIR}/build" \
- emake LDFLAGS=-static bootstrap \
- LIBPATH="${LIBPATH}" STAGE1_CFLAGS="-O" || die "make static failed"
- fi
-}
-
-src_install() {
- # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as
- # this can break the build.
- for x in "${WORKDIR}"/build/gcc/include/* ; do
- [[ -L ${x} ]] && rm -f "${x}"
- done
-
- # Do the 'make install' from the build directory
- cd "${WORKDIR}"/build
- S="${WORKDIR}/build" \
- make \
- prefix=${D}${LOC} \
- bindir=${D}${BINPATH} \
- datadir=${D}${DATAPATH} \
- mandir=${D}${DATAPATH}/man \
- infodir=${D}${DATAPATH}/info \
- LIBPATH="${LIBPATH}" \
- FAKE_ROOT="${D}" \
- install || die
-
- [[ -r ${D}${BINPATH}/gcc ]] || die "gcc not found in ${D}"
-
- dodir /lib /usr/bin
- dodir /etc/env.d/gcc
- cat << EOF > "${D}"/etc/env.d/gcc/${CTARGET}-${GCC_RELEASE_VER}
-PATH="${BINPATH}"
-ROOTPATH="${BINPATH}"
-LDPATH="${LIBPATH}"
-MANPATH="${DATAPATH}/man"
-INFOPATH="${DATAPATH}/info"
-STDCXX_INCDIR="${STDCXX_INCDIR##*/}"
-EOF
-
- # Make sure we dont have stuff lying around that
- # can nuke multiple versions of gcc
- if ! use build ; then
- cd "${D}"${LIBPATH}
-
- # Tell libtool files where real libraries are
- for LA in "${D}"${LOC}/lib/*.la "${D}"${LIBPATH}/../*.la ; do
- if [[ -f ${LA} ]] ; then
- sed -i -e "s:/usr/lib:${LIBPATH}:" "${LA}"
- mv "${LA}" "${D}"${LIBPATH}
- fi
- done
-
- # Move all the libraries to version specific libdir.
- for x in "${D}"${LOC}/lib/*.{so,a}* "${D}"${LIBPATH}/../*.{so,a}* ; do
- [[ -f ${x} ]] && mv -f "${x}" "${D}"${LIBPATH}
- done
-
- # These should be symlinks
- cd "${D}"${BINPATH}
- for x in gcc g++ c++ g77 gcj ; do
- # For some reason, g77 gets made instead of ${CTARGET}-g77... this makes it safe
- [[ -f ${x} ]] && mv ${x} ${CTARGET}-${x}
-
- if [[ ${CHOST} == ${CTARGET} ]] && [[ -f ${CTARGET}-${x} ]] ; then
- [[ ! -f ${x} ]] && mv ${CTARGET}-${x} ${x}
- ln -sf ${x} ${CTARGET}-${x}
- fi
- done
- fi
-
- # This one comes with binutils
- rm -f "${D}"${LOC}/lib/libiberty.a
-
- cd "${S}"
- if use build ; then
- rm -r "${D}"/usr/share/{man,info}
- rm -r "${D}"/${DATAPATH}/{man,info}
- elif ! has nodoc ${FEATURES} ; then
- cd "${S}"
- docinto /
- dodoc README* FAQ MAINTAINERS
- docinto html
- dodoc faq.html
- docinto gcc
- cd "${S}"/gcc
- dodoc BUGS ChangeLog* FSFChangeLog* LANGUAGES NEWS PROBLEMS README* SERVICE TESTS.FLUNK
- cd "${S}"/libchill
- docinto libchill
- dodoc ChangeLog
- cd "${S}"/libf2c
- docinto libf2c
- dodoc ChangeLog changes.netlib README TODO
- cd "${S}"/libio
- docinto libio
- dodoc ChangeLog NEWS README
- cd dbz
- docinto libio/dbz
- dodoc README
- cd ../stdio
- docinto libio/stdio
- dodoc ChangeLog*
- cd "${S}"/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
- cd "${S}"/libstdc++
- docinto libstdc++
- dodoc ChangeLog NEWS
- fi
- has noman ${FEATURES} && rm -r "${D}"/${DATAPATH}/man
- has noinfo ${FEATURES} && rm -r "${D}"/${DATAPATH}/info
-}
-
-pkg_postinst() {
- [[ ${ROOT} != "/" ]] && return 0
- gcc-config --use-portage-chost ${CTARGET}-${GCC_RELEASE_VER}
-}