From 2a1c32825a2de06ae89c5ed7d45f48ea101581a7 Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Sat, 31 Jan 2015 16:15:27 +0000 Subject: [PATCH] Update darwin14 patch with much better approach by Michael Weisner, not revbumping because darwin14 bootstrapping should be broken anyway Package-Manager: portage-2.2.14-prefix/cvs/SunOS i386 Manifest-Sign-Key: 0x5F75F607C5C74E89 --- sys-devel/gcc-apple/ChangeLog | 9 +- sys-devel/gcc-apple/Manifest | 22 +-- .../gcc-apple-4.2.1_p5666-darwin14.patch | 167 ++++++++++++++---- .../gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 9 +- 4 files changed, 146 insertions(+), 61 deletions(-) diff --git a/sys-devel/gcc-apple/ChangeLog b/sys-devel/gcc-apple/ChangeLog index 3bbafdf7e050..c61e480da7e1 100644 --- a/sys-devel/gcc-apple/ChangeLog +++ b/sys-devel/gcc-apple/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-devel/gcc-apple -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-apple/ChangeLog,v 1.30 2014/11/23 15:37:36 redlizard Exp $ +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-apple/ChangeLog,v 1.31 2015/01/31 16:15:23 grobian Exp $ + + 31 Jan 2015; Fabian Groffen + files/gcc-apple-4.2.1_p5666-darwin14.patch, gcc-apple-4.2.1_p5666-r2.ebuild: + Update darwin14 patch with much better approach by Michael Weisner, not + revbumping because darwin14 bootstrapping should be broken anyway 23 Nov 2014; redlizard gcc-apple-4.2.1_p5666-r2.ebuild: Change the portage-2.2.14 dependency to a blocker, as the upgrade needs to diff --git a/sys-devel/gcc-apple/Manifest b/sys-devel/gcc-apple/Manifest index 75f86c7dd329..e3e001589cac 100644 --- a/sys-devel/gcc-apple/Manifest +++ b/sys-devel/gcc-apple/Manifest @@ -9,7 +9,7 @@ AUX gcc-apple-4.2.1-prefix-search-dirs-r1.patch 1587 SHA256 87cc753a3e125a04e2a3 AUX gcc-apple-4.2.1-prefix-search-dirs.patch 1053 SHA256 8f71661b144df92cd9a924b54cbd11a28de0b7ddc258a489bd1e1913e7d4a208 SHA512 0efdedb7a69b21732f254567f0593319f06ed25c12641d6df0219c5b1c90768494286affd98c02a726c82ffe0e27aa4548c9701981dc6a2eb8a0c3455b78a364 WHIRLPOOL 0df7f9cb80d692f93e88f073562d51658d251956ea53b1eb1a5d364fe961c22521436ea0429f711c9424ef6da47b945fafc64ffa42aa70d89c244c8442a75344 AUX gcc-apple-4.2.1-texinfo.patch 1110 SHA256 1efd6ac46557feb01b7c28b214209ed3eab4714d91b6cbdf8701801ff53d545d SHA512 1b27fa076dffc80d4ea9cc2e209f4ef2cd31ba4f585b977c20a15432cb7a86f3bc76aa734cb328e5702309585e1c440ed33fd605b863e41c91d96268d1b6bf36 WHIRLPOOL 7b4a80716e02d212893291b69465aeab83dde2ff326497929fce040736f6fd8cd8efe3ce1272e039fc36b9a3780665653b7477ea8ab76595d349d84af26a19f6 AUX gcc-apple-4.2.1_p5646-gfortran.patch 38284 SHA256 c909a792b4e3ea76cbba6d8aefd712ef98506bd4e3dd275a144e5ed272c2ae22 SHA512 94b1c7d343b780e52bbbbc213987feda7d8f7e083d7c338ab244e89e69ba5c2fc74a9695c5f38f273e4e50683ef67b4de85abd4aa0c5c2fe3a28f7bf275dbf3a WHIRLPOOL 12da437da136b1d581b075b86d7a1ae8687e56fd811e0fc4b650faf2831746466358d63d34309bee9ab4254dff4f861685ecb0f5a20697ad7e77afc7cd0d7ef4 -AUX gcc-apple-4.2.1_p5666-darwin14.patch 1615 SHA256 e5db53a1da107d1dc621823f45526fe9662af1d1151b378aa58e66b609236faa SHA512 0b074fe56a332c0180e474e5c55c0e09d201173a2cc95d3bd8411a18be3d165f2073c2d169f40875378cc2e3386417ea75c4505cbe9bbabb802adec0969bf048 WHIRLPOOL 6742858760fbba68a4e5b50a46fe505ce46220f13a0f73ebb8306923b75ca79027aee87f83f4070205ae74416764b9bf4d34b8b01f02522fba1e9566f538bd32 +AUX gcc-apple-4.2.1_p5666-darwin14.patch 4870 SHA256 3e97bf7788f0a16fb93baa34ab5053f89cc503486123ba23ee809956d4fbaf9a SHA512 4569f6ae976760074629f5526a45793e10ca56508f13642c4da173c387f4ccf1ffc62b595e3fbc8694fd0d673f5a19eb5a9002b211ed149ad4492044d26bbba7 WHIRLPOOL 387000a9adb9875e728069d93bd90862e16fab847d1d71ee0ca72ff61b4155ef170221b2d17ccf354c1d2a808b297c7783f041bf0f09cc534be3da388266cc8e AUX gcc-apple-4.2.1_p5666-perl-5.18.patch 286 SHA256 7364a7a2c8fc79d5698bc96572e15269e04a619d6cc30d7a640d14c2ec0711c6 SHA512 bdbb2e1d6146ff461c762d3efff59f272762121b033eb24bb1a016ab946268ec77dc22d01997870c406ac09d55e668eead61865a696a490482e69befb84cfdba WHIRLPOOL a531698dfc39cc1073d85a0063b2ce729461135979dd06a78dc2efc73c02989a4c123cbe3623609dad7f8c08ba2a25f43e0586083ce99ae85904b4f1f2913903 AUX libstdc++-16.patch 253 SHA256 f037576ba363256c61979eb68a2c1dff24445e8c5f403a729bead2c7db1f0314 SHA512 aefc96161aba55ee77620e440cab3674f069331a6947e26acf56562e286e64f0888b247b9e67b02f68b16f4522e7e6ab4b145190508ed9222ad2dc98cc625716 WHIRLPOOL 87eb1017709dacc552861aa1a85fa81c53ef4a89017dbab18cdc62ddcd0f9aca13ac3aac51268644cf8a812bc23023f4ee2ed09e1684c6f61865400d8a7d5e21 DIST gcc-5493.tar.gz 40601890 SHA256 acdb2cc0abf049bfda433806fc82e235c6b6c5f86a0e8fd54f62ed3a8606452f SHA512 a874134e9fb11131d958c475a8d9ffeb659b30509e11b47d80b2d1bf6d1f9ec0dbbd338ff5754dc8dece7af8b486d554860469d240eb37dd480ede9fd6afc8fc WHIRLPOOL 327c554ebdd8b23392264fc4d5b00ad5eec4b4888c952051ef84d11f18bee463ff4b87711ddd8ce14708aa0fcb57209043d6d27973dda4f8dcb7ba14590b70a3 @@ -21,23 +21,13 @@ DIST libstdcxx-39.tar.gz 117081330 SHA256 aad6c0b7aa80b8117af1868d502f7aa4d042e5 EBUILD gcc-apple-4.0.1_p5493.ebuild 8517 SHA256 9f17bcf4111fe9902d1625ba8193280900bbcb1858a3c278f6291999d83e1fb1 SHA512 a9061fce5774c510eacafbe0b5e455e97739a033028466fca2d5d31e9440b817816dba7df0f77d814169320ebd63127acb8f07575e3d50399758f77251951c9a WHIRLPOOL 08aa902370b077273ad92797a10a8082abf115b0c0ecc332beaeb101349975e6d1eda7aa57b4e252e210218a2c9a294985be4f3ad621bb6af40965d359d98457 EBUILD gcc-apple-4.2.1_p5664.ebuild 11425 SHA256 68c7ab815bd8a1bbce1868fb62e026e6efd0bf1be4b5c8225e668ca0841af9dd SHA512 a661f92a526bf05883b84e417274536a577a56e7afddc8da91dbcf742479db0ad7ad28b4ce77d74fc6306f49b2ae1cf6acf011434c52c87b07c6e44704bd19a6 WHIRLPOOL 75404be35a5330e733822e58a51b8c5b26e54404b34f320dd1ff48a568ed898d6b33379dc104345288190d9b3c4c2350976488627b2a31cc2340dd71d3623dd5 EBUILD gcc-apple-4.2.1_p5666-r1.ebuild 11832 SHA256 ded4d20283fd311db89e1b39ce8af5451366a2970225e9f83a751d21d444a999 SHA512 7ec067a697f7884152d798278c5079dfd19b1450895e9e9cf37eac00cc0b629a6ade3a9f0684ffca7f48dff73901b5b3111e4d35007906bc0e999f28dafbc956 WHIRLPOOL ef6b4a04c97adfe4cb2b28ca21ce13d787160376c18e1c0adba0b12ec11b49e972b09e0333d88dedce5d43ba65731d3fe4d158c1c6ad70cd2c4ce382412a28bb -EBUILD gcc-apple-4.2.1_p5666-r2.ebuild 13092 SHA256 ff6d23d1c97716472d649ec15d0d6ded0db98837ab1b87bb18ebfb5d18f9ada9 SHA512 2584a436fffb4add0c3b72b8dd536b97bb27d71166ddb2adec0c82d101fc20bb60cc0c40b1327569190e3450a500161a41e278ae68396e100c8b57c74c03873b WHIRLPOOL ac557684c310d14922c1a915177402cf70e6237bdfc8b8406aa5a46d48751099bfa61a8c7aa4a50196ff77d5119697d8f96baf62e34cbfc4547885e0cf39973a -MISC ChangeLog 15086 SHA256 37d10e10186f285e6c502e53a7af7d328ea5cbc9e643b963656e2fa5cb35e8c4 SHA512 c82021af4b734b7dd2fee289c835f7d13aa9f2b891f3145ef741602727f251ecc711c020986c6d31901856e20ab649647b57ab82291d682f7a4221ba3712c2c7 WHIRLPOOL e40ae8e93453c87a6c9a8bd2e054271c9bb88497668c979b6341b5616f2c15302f5b636f1d08d2bc07ab68c76fc1c5182a1fd761e358a2d20eae4857b1442a9f +EBUILD gcc-apple-4.2.1_p5666-r2.ebuild 13047 SHA256 4e9d89417e0e5a15a1020f2d775329d2ee8e3850ec2373526a5c93bac0aff48a SHA512 481acb8c6607bcedf73ea933f7f5cbbc54906c0f62f4e3087f98dd7be996a897f3eb492b8c411148d0020c5b54882e332ee883348fb778af5e82f3312839ed51 WHIRLPOOL c291bbc7e6962aff1d8a19100be2617a1eac2b2658fa303365fa74cb0babc2594ab6c3fd21b2a8e57e915836b0a64140f9ee10ce92e7b071c8e510fb0b04f496 +MISC ChangeLog 15357 SHA256 6e2e08f391d298732348f05fb8fddad8c60f230ba69c3e33fc7dfffd5f0147cf SHA512 064619dabea75762d1c0ca0bb513a21d3da59ed2d3a0aab5ae1a8742d7a00912305d4d43eff9f11326531fbf591e1e671396a3067ad374dc8a63416ea7a882a3 WHIRLPOOL 787900a2a52b092392bd5e329a447da2c3db816990359fd87b8fb22a59286d19dc0283c2174130e3a2fe7c3c81a52e336340d62c325f57e00a53bd6958986f6b MISC metadata.xml 440 SHA256 fe55903cd5820f6651e134125cfc4eeadb1322a6a06e286a246ef0f70c55c517 SHA512 de8914eff3416b04021370098faa2df5d7c204119c6ba848ed89182549b200767b54ae45e9d4155cdcead8a9535a09e9d090f30c64554952f3de99885daab161 WHIRLPOOL e5120c4e39ad83dcaeab7fd820669e9be727cc9c4aafa05a7fc7f2541a7e3485f49ffc04b66092c355300f42a5cc9179187cd72806053be128abe20284dbd3ac -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQIcBAEBCAAGBQJUcf9GAAoJEMcu9QQQ+wFrGAMP/RDiowOctykIy4QrEnhv0g3n -R/sTwDSaBhg1MR5fDg7OP9TrRpLG39v2v2WPUKAH8erecRWLYRn+5GEeElEcprnA -r0rDLDuzGYreZYaGhNMnjUztkJ9sCwubwf7ITe7WxT7oYIIhqmBudDHIbFRTINTg -019MU6NorHlOkuH1g8Esy7Uqrbl6OeNJm28tV/k1LSUMxyebtWbt1Up3JNCNVKQi -1qYpzB8iP73jjTo704gkc41EwHbOANec9v9mUneoPCqjMIN1Q6McV7rAQ6sjsYUc -Mx7F1HFtPVB4t37lORl/ZAxdRcPkd2ryql518hPeEzIHh3HONblOhTJ/MHufe5T/ -scP1mMpTNqWW+nmaKk/HQHIURNp5ZUoJEP2GTurMhN6OexHVSmP3ZBzzJcbl6Ic0 -RFn0DzZLm16xiMMD10ZFWi/KH8fiic9jBpnVxwYNqzNyxRbh0Hs3srkQenqsdbwi -ITLCKpPzCxGeW1MVNKlZF1RYnrhGefiY5/j37nBi8QEU2IYUpDMWjzWxKetBDbgJ -O/sF0MEt9966KRY0vJEX7LoKFNx+pUDdsx+GfE77TBoe/0ZJk1s4LwLOkUA6mSd3 -mQh6akNgd0YbPS6u0QVk1hM60tLxJPd6elkATKWwjZQV+9yuMJq3QU8slwJiviTz -5XDtm+gJVh40up9aeGmr -=odGP +iEYEAREIAAYFAlTM/50ACgkQX3X2B8XHTol04QCeMFMsQjF4zC8xzEmzo6NZ07cv +/cgAn3oXu1ark9IPl2vs9FzLKKt6KsSA +=LsEk -----END PGP SIGNATURE----- diff --git a/sys-devel/gcc-apple/files/gcc-apple-4.2.1_p5666-darwin14.patch b/sys-devel/gcc-apple/files/gcc-apple-4.2.1_p5666-darwin14.patch index a06c78365578..fb785b0ad9c4 100644 --- a/sys-devel/gcc-apple/files/gcc-apple-4.2.1_p5666-darwin14.patch +++ b/sys-devel/gcc-apple/files/gcc-apple-4.2.1_p5666-darwin14.patch @@ -1,43 +1,16 @@ -Darwin 14 is 10.10, but the encoding scheme doesn't allow this, so -encode everything from Darwin 14 and up as 10.9. +https://537826.bugs.gentoo.org/attachment.cgi?id=394896 +https://bugs.gentoo.org/show_bug.cgi?id=537826 +Michael Weiser -Darwin 14 has some newer preprocessor stuff in its headers, work around -that. +Backport of https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=218873 (as +per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407) to correctly encode Mac +OS X versions >10.9 into __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__. +Extended to also encode patch level the way clang and Apple GCC 4.2.1 do. + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63810 has a much more generic +patch. But it's not yet in-tree pending legal paperwork. Once that's done, we +can backport that. ---- gcc/config/darwin-c.c -+++ gcc/config/darwin-c.c -@@ -945,6 +945,11 @@ - result[2] = darwin_macosx_version_min[3]; - if (darwin_macosx_version_min[4] != '\0') - { -+ if (ISDIGIT(darwin_macosx_version_min[4])) -+ { -+ result[2] = '9'; /* latest version we can encode */ -+ result[3] = '0'; -+ } else { - if (darwin_macosx_version_min[4] != '.') - goto fail; - if (! ISDIGIT (darwin_macosx_version_min[5])) -@@ -952,6 +956,7 @@ - if (darwin_macosx_version_min[6] != '\0') - goto fail; - result[3] = darwin_macosx_version_min[5]; -+ } - } - else - result[3] = '0'; ---- gcc/config/darwin-driver.c -+++ gcc/config/darwin-driver.c -@@ -174,8 +174,8 @@ - version_p = osversion + 1; - if (ISDIGIT (*version_p)) - major_vers = major_vers * 10 + (*version_p++ - '0'); - if (major_vers > 4 + 9) -- goto parse_failed; -+ major_vers = 4 + 9; - if (*version_p++ != '.') - goto parse_failed; - version_pend = strchr(version_p, '.'); --- gcc/libgcov.c +++ gcc/libgcov.c @@ -34,6 +34,14 @@ @@ -55,3 +28,121 @@ that. /* APPLE LOCAL begin instant off 6414141 */ #if defined(__APPLE__) && !defined(__STATIC__) && !defined(__ppc__) && !defined(__ppc64__) && !defined(__arm__) #include +--- gcc/config/darwin-driver.c.orig 2010-10-14 22:27:53.000000000 +0200 ++++ gcc/config/darwin-driver.c 2015-01-25 21:15:09.000000000 +0100 +@@ -174,8 +174,6 @@ + version_p = osversion + 1; + if (ISDIGIT (*version_p)) + major_vers = major_vers * 10 + (*version_p++ - '0'); +- if (major_vers > 4 + 9) +- goto parse_failed; + if (*version_p++ != '.') + goto parse_failed; + version_pend = strchr(version_p, '.'); +--- gcc/config/darwin-c.c.orig 2015-01-25 19:44:40.000000000 +0100 ++++ gcc/config/darwin-c.c 2015-01-25 21:05:47.000000000 +0100 +@@ -930,31 +930,91 @@ + + /* Return the value of darwin_macosx_version_min suitable for the + __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro, +- so '10.4.2' becomes 1042. ++ so '10.4.2' becomes 1042 and '10.10.2' becomes 101002. ++ Cap patch level to 9 in the old format. + Print a warning if the version number is not known. */ + static const char * + /* APPLE LOCAL ARM 5683689 */ + macosx_version_as_macro (void) + { +- static char result[] = "1000"; ++ static char result[7] = "1000"; ++ int inputindex = 3, outputindex = 2; + ++ /* make sure version starts with "10." - makes sure we can safely start ++ * parsing at inputindex == 3 */ + if (strncmp (darwin_macosx_version_min, "10.", 3) != 0) + goto fail; ++ ++ /* first character of minor version needs to be digit */ + if (! ISDIGIT (darwin_macosx_version_min[3])) + goto fail; +- result[2] = darwin_macosx_version_min[3]; +- if (darwin_macosx_version_min[4] != '\0') ++ ++ result[outputindex++] = darwin_macosx_version_min[inputindex++]; ++ ++ if (ISDIGIT (darwin_macosx_version_min[inputindex])) { ++ /* Starting with OS X 10.10, the macro ends '00' rather than '0', ++ i.e. 10.10.x becomes 101000 rather than 10100. */ ++ result[outputindex++] = darwin_macosx_version_min[inputindex++]; ++ result[4] = '0'; ++ result[5] = '0'; ++ result[6] = '\0'; ++ } ++ ++ /* if we're out of input, leave patch level at 0 or 00 and finish */ ++ if (darwin_macosx_version_min[inputindex] == '\0') ++ return result; ++ ++ /* a dot *must* follow now */ ++ if (darwin_macosx_version_min[inputindex++] != '.') ++ goto fail; ++ ++ /* a digit must follow after the dot */ ++ if (! ISDIGIT (darwin_macosx_version_min[inputindex])) ++ goto fail; ++ ++ /* old-style macro */ ++ if (outputindex == 3) ++ { ++ /* one-digit patch level */ ++ if (darwin_macosx_version_min[inputindex + 1] == '\0') + { +- if (darwin_macosx_version_min[4] != '.') +- goto fail; +- if (! ISDIGIT (darwin_macosx_version_min[5])) +- goto fail; +- if (darwin_macosx_version_min[6] != '\0') +- goto fail; +- result[3] = darwin_macosx_version_min[5]; ++ result[outputindex] = darwin_macosx_version_min[inputindex]; ++ return result; + } +- else +- result[3] = '0'; ++ ++ inputindex++; ++ if (! ISDIGIT (darwin_macosx_version_min[inputindex++])) ++ goto fail; ++ ++ /* three digits? */ ++ if (darwin_macosx_version_min[inputindex] != '\0') ++ goto fail; ++ ++ /* no room for another digit. Traditional Apple GCC 4.2.1 doesn't accept ++ * it but current clang caps it to 9. We choose to be in line with clang. */ ++ result[outputindex] = '9'; ++ return result; ++ } ++ ++ /* new-style macro */ ++ ++ /* leave a leading zero if only one digit is following */ ++ if (darwin_macosx_version_min[inputindex + 1] == '\0') { ++ result[outputindex + 1] = darwin_macosx_version_min[inputindex]; ++ return result; ++ } ++ ++ result[outputindex++] = darwin_macosx_version_min[inputindex++]; ++ ++ /* a digit must follow now */ ++ if (! ISDIGIT (darwin_macosx_version_min[inputindex])) ++ goto fail; ++ ++ result[outputindex] = darwin_macosx_version_min[inputindex++]; ++ ++ /* no more input allowed */ ++ if (darwin_macosx_version_min[inputindex] != '\0') ++ goto fail; + + return result; + diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild index 50c104a9a85d..17f18efe1de9 100644 --- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild +++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild,v 1.2 2014/11/23 15:37:36 redlizard Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild,v 1.3 2015/01/31 16:15:23 grobian Exp $ EAPI="3" @@ -119,9 +119,8 @@ src_prepare() { [[ ${CHOST} == *86*-apple-darwin8 ]] && \ epatch "${FILESDIR}"/${PN}-${GCC_VERS}-dsymutil.patch - # Pseudo-support OS X 10.10 - [[ ${CHOST} == *-darwin14 ]] && \ - epatch "${FILESDIR}"/${P}-darwin14.patch + # support OS X 10.10 + epatch "${FILESDIR}"/${P}-darwin14.patch # bootstrapping might fail with host provided gcc on 10.4/x86 if ! is_crosscompile && ! echo "int main(){return 0;}" | gcc -o "${T}"/foo \ -- 2.26.2