diff options
Diffstat (limited to 'dev-lang')
40 files changed, 52 insertions, 5439 deletions
diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index 5faf5d22ac39..7cf7ef9f0423 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,40 @@ # ChangeLog for dev-lang/ghc -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.272 2014/12/26 23:35:44 slyfox Exp $ +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.273 2015/01/02 23:50:56 slyfox Exp $ + + 02 Jan 2015; Sergei Trofimovich <slyfox@gentoo.org> + -files/ghc-6.10.4-autoconf.patch, -files/ghc-6.10.4-disable-strip.patch, + -files/ghc-6.10.4-ia64-fixed-relax.patch, + -files/ghc-6.10.4-ia64-storage-manager-fix.patch, + -files/ghc-6.10.4-libm-detection.patch, + -files/ghc-6.10.4-ppc64-always-minimal-toc.patch, + -files/ghc-6.10.4-propagate-hc-options-to-all-libraries.patch, + -files/ghc-6.12.1-configure-CHOST.patch, + -files/ghc-6.12.2-configure-CHOST-part2.patch, + -files/ghc-6.12.3-alpha-use-libffi-for-foreign-import-wrapper.patch, + -files/ghc-6.12.3-autoconf-2.66-4252.patch, + -files/ghc-6.12.3-configure-CHOST-freebsd.patch, + -files/ghc-6.12.3-configure-CHOST-prefix.patch, + -files/ghc-6.12.3-darwin8.patch, + -files/ghc-6.12.3-ghciless-haddock-3558.patch, + -files/ghc-6.12.3-ia64-fixed-relax.patch, + -files/ghc-6.12.3-ia64-storage-manager-fix.patch, + -files/ghc-6.12.3-ia64-use-libffi-for-foreign-import-wrapper.patch, + -files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch, + -files/ghc-6.12.3-mach-o-relocation-limit.patch, + -files/ghc-6.12.3-pic-powerpc.patch, + -files/ghc-6.12.3-powerpc-darwin-no-mmap.patch, + -files/ghc-6.12.3-ppc-use-libffi-for-foreign-import-wrapper.patch, + -files/ghc-6.12.3-ticket-2615-linker-script.patch, + -files/ghc-7.0.2-CHOST.patch, -files/ghc-7.0.4-CHOST-softfloat.patch, + -files/ghc-7.0.4-fix-ppc-linker.patch, -files/ghc-7.0.4-nxstack.patch, + -files/ghc-apply-gmp-hack, -ghc-6.12.3-r2.ebuild, -ghc-7.0.4.ebuild, + -ghc-7.4.1-r1.ebuild, -ghc-7.4.1.ebuild, -ghc-7.6.2.ebuild, -ghc-7.6.3.ebuild, + ghc-7.6.3-r1.ebuild, ghc-7.8.3.ebuild, ghc-7.8.4.ebuild: + Drop old. Seek kids: those were Great Folks to deal with. The older 6.12 + brought us The Rise of Arches where we got back long lost lore of having + haskell on alpha, ppc64, ia64 and sparc. While younger one 7.0 was The Herald + of Haskell2010. So far ... Good luck! 26 Dec 2014; Sergei Trofimovich <slyfox@gentoo.org> ghc-7.8.4.ebuild: Added alpha binary. diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest index 1edc6cef09ec..6e9e7608f56f 100644 --- a/dev-lang/ghc/Manifest +++ b/dev-lang/ghc/Manifest @@ -1,36 +1,8 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 -AUX ghc-6.10.4-autoconf.patch 2010 SHA256 125afd89af86b32bcf88dd97860993dc6f7ef9920a3f3dfb577897837fbcf4fe SHA512 c51552c63bba8a13d6ef379c6f1b563aebcacd4fa329d35ae29ca1ebbe99472e8054d12908f5f810494e7c6c9957954f1bddaa3b45696d0fa4712ff76c710df0 WHIRLPOOL deaa24a45ca6b9594a3b06ec0b1cd403c8f774c9b73f6f6433c1fbb03fff538d189da9f40b45ae602ed53edb9b22837915cb7b8ba9c0e1a55d64dffc8779e929 -AUX ghc-6.10.4-disable-strip.patch 782 SHA256 3d61160acc28afed2c2fd0a37c460b57368d81d5a18c8fcd07867cfdc8a190a6 SHA512 0206d9f2143df00ad0461e32a79b24ab89f3eb75f11d65e2885df063127c8e0ca1bdb73b66316abf1ad4b0b44654a7a51e34e3030508f91e701bba3fd336bf97 WHIRLPOOL f1f51c320000bca4299aa66389a19914e8e6bb4ab0bcc775acd92740cd8cd669463036fc649d5585f68277b609851aa4d750e9731b4b879cd5fad848fa630532 -AUX ghc-6.10.4-ia64-fixed-relax.patch 1368 SHA256 f2862403cc89c3f7e83fcc569cf357597d70afd444194178eb2a299f16a938c3 SHA512 7307d9e3e0ae8b806a19629b3c446b796eeebd9cf00b689666ce4e6c66a7676fb6aadd20ee232735e8776a36e26a375b0b2f5360b4bfcb774f8b75aba7996abf WHIRLPOOL 349e3b766eacbbde8bd3369b5a975a602fec0cb3bf7f1ee3e503b43886146c9237b42a87f3949dd34e85f00b3bd3229a83f40099dc3175b1b5057823cb6426ac -AUX ghc-6.10.4-ia64-storage-manager-fix.patch 2978 SHA256 8b650cdfe0ba5657dd0bced3c07f9d3dca7a1e9304ac1d70099cacc0829650e2 SHA512 3d00c79a54b0d657d36a1bf4cce0eb0bfffe2350bd68c48ef33ce8acc12418b04fb7de632618f1036c62925619bc05396b264b23ff78b1f29a39ddd32e0e3f92 WHIRLPOOL 8fb4fe26470eb16560fa531503b93698fb8f784db44a8facc99efaaeafbde7aaaab6eb0594866618dd56805839374d798fc0b8b817926af481b8c3f6f090b308 -AUX ghc-6.10.4-libm-detection.patch 1791 SHA256 05eaaadb68ae16b7569a722008bc9a697c9dae84673b285400c6744cb600a3a9 SHA512 5d6ad82a4e119a37dee9f17c448a8fdc4af4bd182c1479f8839fc20a0a1eeca3b8cc6c07faf0864bdeb433d47589da44551c9a63f4107723d0e5d41e51546abe WHIRLPOOL b31dd65d2e80562502cdc77e33bc7359bfcb642777a5a448be1a21171d045877b3249d7757727a17179c4c81c2337fe9fe0d79a43cb4c97b28d659cbffca4292 -AUX ghc-6.10.4-ppc64-always-minimal-toc.patch 289 SHA256 4d06007ca8a0542e120a189d49c743c1982f5b098504e031327b51f912cd69ad SHA512 e03aeaf39dcc693675ac9cf1c90162f8d5021bdd1323787594eaf2215985ea1e096e23b945a66b5c6f3f5f44c80d62d7f3a52622fff05bd0d2723ffb5fefb78c WHIRLPOOL 049927fad6a535c4d3f430884ffeb0887427c0566df295f9ee516a633f163bdd783ee6ed901b8dba95d227acc120bac80935f3fe85a7907be48f048fa30aeeba -AUX ghc-6.10.4-propagate-hc-options-to-all-libraries.patch 2976 SHA256 d8d191dea237d2492202fbc528deaebe5df7a48201868a2b969a5865758cb4cb SHA512 a8a314dfaa8de223ba59a76adb5eb9d808892948372ce055e7beaa262d5c01010d141bcb621998808adfdd166505bcf200c9440d72c54add8cfcd00788b7210b WHIRLPOOL ea3a9123815e92db207bbf94de0085646f9f795eb6ff20efdee2322c0f0f941b8085a37518455802772a0d70d943b4d795033395bdbf86a68a8705121f1ebc0a -AUX ghc-6.12.1-configure-CHOST.patch 851 SHA256 b4e1ebeea2fdd1e04f14140fe07d991ac583f221bc79f0eb175fb378ed12cd69 SHA512 244324a27103eb939dd701a0a4fcfbe2576e0bd995f5e390d6c8c96eb3b16ac1b9d9ac8197cc9464644ff33a9f4e27cd71f7d5fef86d500274f864832a38ac85 WHIRLPOOL 2c1a4fde08bc2ae7b81d22c5da9ee8b479172b67aa82297c7e2fc4dcc7b9664555eee5b5aa4cde13721adb43b999be9647196d655b1294318c568e29530458a3 -AUX ghc-6.12.2-configure-CHOST-part2.patch 958 SHA256 696cf5693b714b2c19cd3f32d5e96677cf9ad828a3f151f0c16fbc16585227a4 SHA512 3a6c6aa6e05bcc67c08a23b14cc2a17e5337dca5058f0acf558d96b61da9ccadf2dbdd325e72bae64ffd897f52d99d9459d55950c028200f97f5b6b10fe11b8e WHIRLPOOL 0a578314ce3c3f91ee5845d4b88b561704eb5e2e2533cdcb26da004993861442af5edd8428dcc783ac371b9f2a090278bfc81905ab7b29760ab35f5383e0c019 -AUX ghc-6.12.3-alpha-use-libffi-for-foreign-import-wrapper.patch 2575 SHA256 9b9748775ddcafa0171f1594c4f5e0c90269e4fd65837d9167b127238cec3d93 SHA512 786c37c6cd6150b464c68c438e13e7d918d3f0ae5f8c9cd19cac5f24a49f7a3bc4bcce434c1e6ea89b6e51411dfdc3538bbb257d84ac919cfeb642d2d17706e3 WHIRLPOOL f12da2b9754e60a9cb192cb90075842aba970f87359c7a1d8cdfe0df8797f76c58686c2bb9afed02a0c1064509a6dda9ff1a7b89d056e65cc72356786ccd6786 -AUX ghc-6.12.3-autoconf-2.66-4252.patch 950 SHA256 259813eeefebfc9656341dd6939ab6e7a3257336001d794042f1e6a57b3b20c4 SHA512 19dac8cb727ff9566ba06f46788381f31158c0cef021f0c97d9ccd30bd44d844ba728da13d4ad522d980e0cf8912ceb1f27e167f8c8dfbac3d5974bc9091efc3 WHIRLPOOL 65d8ae3cad5f37b01a661f1e16308e4a08adcf28200f82e4e9261a2be80323a45a0b0e1ca6305dec0be3c90e6eac285c17c885456e0d41c7468d215693e03eb5 -AUX ghc-6.12.3-configure-CHOST-freebsd.patch 2375 SHA256 fd4edb1ff5c1f0f08ffad4bae3b2007af948ecdc9c5c285cc6f2953bca25d3cf SHA512 98073edc7342ac58a39e515d525d0fb15120a37a6e5ca05fec2dd62d9a3dccdc889b88870d7c37238c6368c7e01a9388d2a30e8ecaef73b667c8c33a599e7b12 WHIRLPOOL 0054692e7c3cb6867d0dda6970a42ddfdc65f8674280b25740b41355434666c008ed1a06c010861443f9a6f44ab8fb11cec08cad7d76ab25ebe9561c29ea253a -AUX ghc-6.12.3-configure-CHOST-prefix.patch 1438 SHA256 f1a2ff270f308e4146622ef37b0b00f59e42c1251e17748d20f986f79d4fca4b SHA512 6eb0b3c99101ab5694d9ccce7b33349a85902e22bdc6a18f5934b939e61d5565ded1756f5045c3539620d340289a502aaffe18f553e8078b3b424b01d2959c22 WHIRLPOOL 64977b314c2867f627d44a6edb7f39d3557372b72c8cbded41f46c271936ef782eff22c785f5511f6241e5d77b3061ad28f17cedc112908e9a718d3667c8fa8f -AUX ghc-6.12.3-darwin8.patch 483 SHA256 5b3beb68152a3831a1fd3a1f50d1ae768745872b425dba8de0bac35f8ce5bd72 SHA512 6d903fd4c5c9dfe20c8e5b3717ec0aa91864932fa69fa56375f42e30d1792b31ab376d816751c4cb17d97595b4968503356f3f40dc931a0f995968769222a164 WHIRLPOOL fa0529c8f17f891bdad08c1e051b1d905533aa3989873bfa4617e27b8b0a4cadb5a1fcefb0ed9742dc3a9f1975264e18a18cbb94610e8ac99dd5ec608314f6ee -AUX ghc-6.12.3-ghciless-haddock-3558.patch 7222 SHA256 79f9d9931d3e9d5c45247814226372901f1db7a593dc97bff63ae42b767f3917 SHA512 d8b51bea7de2635dbd54c892bb1b13919d4f3e6d05476865388590998062512da227ffd818ee7a8eaa8c65ade36e312af274d0a1c23db51ba3155d2341850b27 WHIRLPOOL 2f0137f86b07f7caaa15c2183c26d38058ce0befb7664b4fafd936e06fb9e2f5250d9c802661a5bd3a2de4e0532c3a11ae41340343eb0fcc2a961f9c8da4de8e -AUX ghc-6.12.3-ia64-fixed-relax.patch 1362 SHA256 db632a48cef7fdce8fd24759af33527d489121ce3e67cbbcd235608aa0247a31 SHA512 f1802f36b92e6f82f373d7f941df6469df5809c7f3246d5e2b6812a614bd518c4fef3d3418dd82dd72605e08e09172f5365bb85eeca37b25c204cb517de58c59 WHIRLPOOL d9614cb7a7e38e1ede0e527a81b8708ab6eb90d1398b8d962a920c6674c36bf15e3947e1757deed3cf3ab154895bdd7d024dde7717b6cf48606c95736a25cdf6 -AUX ghc-6.12.3-ia64-storage-manager-fix.patch 3035 SHA256 9e08ad179c7fdc7de1899f89560ec26215968187956f2853639bbe85650fa2ab SHA512 c6d6fd22b3c0c0fefe567922ee5487cea213f8a9eeba82568ed5e492d81efe1f1f384a34127f6acb7ac54077121e356b80d396c37a4e2f27a9f27e3ce08ba4d8 WHIRLPOOL b1ab7ddf569856aa23e4c5a10ea4ed57d6dd1e26afdb1041a4f5378c968634f8e30880ef78424d29f434ff274ed2e10e926baccc1a4b9994963a58add6d74d22 -AUX ghc-6.12.3-ia64-use-libffi-for-foreign-import-wrapper.patch 683 SHA256 82f48006c95fb9d01c8618f7457cd2744d7a1fada8c70d25544eefa23cbfde2b SHA512 118074b626beb4882f89e4f733e1a6b3fc9d763fc11bf6bb69cc115c126dd5e14da7574983240a9169cb769260ee713e5ef81cc54c69b60f0d37d9bed08b2916 WHIRLPOOL 9d94ed6ce0392f21e5d5f8c88125c5141265d0066948608330eb3b8d310e1f076062b94e6447b32ce1ca28fea3c1b5736cac03aa1242078c374d10f46e4324a5 -AUX ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch 2228 SHA256 97410ae73b0e1cc127d5f07b39c3a6e0a3fdaf36491af17c7b7eb0c9c8d716b1 SHA512 21f6b6c9dee4a69b0fd628e611b99106be3eeb63c9cba9eb52ca646c3cd25f725d9566682ebb3a91630160167818799f75f37f6b050d9a0d9166f2504bc16955 WHIRLPOOL 8112cd7a8060a1da2bf69c537c03c8b7c4fd5a8cab96d17e87007ef4cb58c0e9675d3178c8cb02acd16d07ed925fef2c3c671580c383ee1c58144bed471446e8 -AUX ghc-6.12.3-mach-o-relocation-limit.patch 1660 SHA256 22b280bf837604a063d48acf3576cbd81dbc797dfa6dffb513ac0a1d9e0d6e36 SHA512 4bbd962eb5623c886cb7c2fcccc021709fe23a7342f7ff171508d7b6469d27ab7d08711ace98b2b08fb48a6c55d53149f6b0674bd5582155b878f346ad56a159 WHIRLPOOL de3fc86d6ee4be27374e658173050f6d04ff8f4e30417bb79a41e8059726be895b896bb8474b079276a49f6930fd641cb5939d7e700189f76a347f405804be4a -AUX ghc-6.12.3-pic-powerpc.patch 965 SHA256 90e8ead455df01ce67b757fb5993291f64c755f008fe052453aed0f40d652254 SHA512 8a37e5554e20528df89d5431379142f3cfe08260312a6fd37b6dee506f4fb41d47251c89c9057695eebc55034c4e95ef1ae90c95c5254493b34b4dd8afd344df WHIRLPOOL 1ac2e589fdba1eb4642ede915b0259f0c44a7067ef4a56886722fe4055f5356fc63c4739a23b1c3be8eef81a499cd3a43d6919a192497183aeeba2da39c79604 -AUX ghc-6.12.3-powerpc-darwin-no-mmap.patch 1482 SHA256 2921717b946f030f27fc1edc0f3770f47c52465512add25906747c789bbc0934 SHA512 5122dd0344db2ea5a6b4babb0929f2b2e151e702c0591ba27c96f9651e13a1782f4abe919a7ae280ae9c92f6840bdcd890d00a32911358ef50fe0cec8e1846b0 WHIRLPOOL 33a57c95dcf05773c460ff9a8b5418a2c2eec826008e171e40d53292367583c89d9c6398a1c1ee060adc592f9e63500bcfa8944dc60d34f9b0aa4b26e6ef966b -AUX ghc-6.12.3-ppc-use-libffi-for-foreign-import-wrapper.patch 609 SHA256 537a96473cec66739534da7cc88bbde37d7f5f0ab158a9921e666985c18fc1b5 SHA512 bfce62e39fbf5f722f68976aa800760db2c7399e9434f819f88252e84ead3e4f341c780cd3e7c13817f015a3de38bd6f8c6f668708478467958300eaddcd03df WHIRLPOOL 6fafaa41748dab23e8cbf35f7bbe42182ea68966a811b9566dbf118b10fc22e11c4cd6acfa4f1abffe36786f96b31fb8b44e61d2befe85f3ad5dda9174d38954 -AUX ghc-6.12.3-ticket-2615-linker-script.patch 8956 SHA256 e670eafd89bcbf7842eedb16af6f538e11c9644c56af6eaa8a3f87b8d0c794aa SHA512 4d2eb22787a2ae0745922ca13021cf910011986074b00fa26984e21afb7c0e0ac851b8bd34d25fef68e003615fa54647128a1692d1bc5a7dc7ff1833024d6309 WHIRLPOOL 55fa0dea4077119114c4edef65e0a9ec3ac80f9e9709f504fbbe161e796b8231a5bb8555e20ae9164fc724b3e7c3c2dfe5e3b32902ecb2cbe00e60750397d608 -AUX ghc-7.0.2-CHOST.patch 3027 SHA256 0f7081318e06a4bc013e2e7ac18c56224558d4268cf98fab3f9b3fe5367b9a9b SHA512 08feb2ed29d760e218c57440c5a1b32644b849fdb1ed7bb2ddb86d6f1aceddc1f064bc7dc73ebf326b4f6293eb33f356fee159fea38cdad8376b2f0c1e14dc71 WHIRLPOOL 7698cdbf5bf9ecc8d82392c314e45e99ab08f595d427de864737fae79e12cc81d35e08cf61fb03110fe57fe3e9f9592623eaca721da38d2ab5294fe7d2e36cd4 AUX ghc-7.0.4-CHOST-prefix.patch 272 SHA256 83942dfcbe1968c7f5e0ae09e4d84d77d85778839814fca1689e168cad3a4f66 SHA512 e969478289c9bb99e24ce73acc8da866e2d2944405849fe10308999a386c57c2058037e142ab8c6548f1f4e01b7722efe4af9fa6c375f0988ff5a023bd2a96dc WHIRLPOOL a8ea4c41a895fab20c7db9bddec330d2a9192785d5a0b488dee622a8a739d37c187d5585f57d98c78379a1dea21dea7cf8f0c3a58dd1c44de2fcbdc11f732427 -AUX ghc-7.0.4-CHOST-softfloat.patch 371 SHA256 90e04c7d56612d24920a1801865b8e53f6ac1e291a11a6219f939117613e5976 SHA512 91f1f103d366bf893ce85d27dc5e6fbb4a389ea48322dfdf703b1d40ea21a30fc7f059054bf7de18979b476bec794627d6631e255c9e018c337f2e66bf479840 WHIRLPOOL 99dc171dda0827c5d86b707a22333a8ff5bf58895f47e7de2c2fd1a0d3030678b90f21ecf934c573586c83522ef6e74e1585b7f678020680b4fafff288c21991 AUX ghc-7.0.4-darwin8.patch 486 SHA256 b0857679f29aab3719df5538a2f104924cf5df913927a2748be3f77d2c8ea481 SHA512 9e3b5c36a85fe4dc63d0917639925b9edaa58363ad63e6bfd97adcddc5d5644ed0176bf019ffcbe8acf2487f014c29b9a5e51c8a83d58349a70bcdc3a7be2d07 WHIRLPOOL f2c8938e55fdd4ead4a472ecada906040242ecabeebbfbb8339d9b7d70cd2370f5e0eb057c3f96dfe07d48de42c409071e57f9dd663a5d03d827b465ef1719ad -AUX ghc-7.0.4-fix-ppc-linker.patch 732 SHA256 983689df4b59985ffc2aa116f553d91c9743610e671530350d7b2c55998d1549 SHA512 091db7d8c60824eaacfdd0c260b404ef6ec2c4aa29caf7696a178ab5addd82a2232bd3f93cefa5137a137dd52b40c84f767165133e38d76573098853104a9e10 WHIRLPOOL 775c6e5d529317b2a4521a4cb09a3752261f484b0f601ac3babb138bd14c79ca13357efb3f69545103b1c173429a608389f8c4841b5902d6cbc66188b8e81667 -AUX ghc-7.0.4-nxstack.patch 984 SHA256 325f00f12922edaf54e6df56acc7743e40234c53e2f341b9a28e4fe22fb4569f SHA512 adc03a3d2a2eb666862851d60d17adaeb72585909c5d519907db5691bd031081efaf87dd29ea160ee4fd23e461df0da0530749ec2c29bff9fb23739c2126da4b WHIRLPOOL 7941b9078bbb3c954a7feecc2c3c9ef8642c34623e2ee5afbda3db95c39bdf63fd91de2305e23024b1ac92e9267b1fdf66b305f75661371184597453e4272506 AUX ghc-7.2.1-freebsd-CHOST.patch 472 SHA256 f9538a6d3fc3e9023fa1647ccb05ac3f93cdc285c4e8cd2cb7fd5f53262dbabb SHA512 abb19147a6754c7b926c6f1320df5d623a78b6702a0337d18c1acf20734bd85e3b4116d4ad48f5314f1be1061b3d9f0e20c6714187fc7de7602c39bf5cb6b3ef WHIRLPOOL 68132b52542dc8f46a99e9684946520f7a438f523c947549d26d5f4753b13fac335525cc9cf68aad501c76b08caaea1807235fc25cff1a82d773b5c7ace6827f AUX ghc-7.4-rc2-macos-prefix-respect-gcc.patch 776 SHA256 7ffcbfc1822408cf8ed17f2f35c192e56967fc1e83265764aa414b868b69f463 SHA512 9b1a6dcceb7872138c793d2fafcf47fc3dce02938378172b8c57ef8742b31a0458bcc349e469dab5effa10a66d3f2bf861f92edfa9da582edc2218e129a0d756 WHIRLPOOL 7181704e710f2c1c056a3820aea4bc70f5dd7e137f78d7b1bd22160af058fade843026dd72d70323df7f1c2c74148704f219e6e7dc77ab70f8fda9b43f28bcfd AUX ghc-7.4.1-darwin-CHOST.patch 461 SHA256 0ab369e4f3dd0ffd15e9ea48a3b0e45350cae6831e58a82a1fbe0d745d0f7839 SHA512 ea8381354b703df86e91f73a0767078047876153748ec2a49c28ca102d3aac4ac39ee211c75e7eeffc16f60b31aee618ff6e581fb36a2e5151a179af154d78a1 WHIRLPOOL dbede3f9785947acfd46763f93a6f7672fbae971a23c5c7ae1935ff7e1576ac211399344a5aab442fb183a2c67e454f9c65dce9b0e572f3e57c54edaee0ffaf1 @@ -51,45 +23,12 @@ AUX ghc-7.8.3-pic-sparc.patch 1007 SHA256 71a77d9d43c76a5bb712bbd4bc00892058f519 AUX ghc-7.8.3-ppc32-fPIC.patch 14549 SHA256 413638aeec8e7cf35495f163e584d459870ea001e74360c546419e801eb36b57 SHA512 aa6f13e04a52e7f25db456c02031b63c01b71adf41262361b36ca97aec18965f618ebba73494b4283ad3c0224f15d5c80dbd43076553e604d86a07baf7fa86db WHIRLPOOL 98b008bf28280b878446f3aab83176334c4dc27c759d408eff2a6a52e84d8d7f002f3cb15be8022e6c8ebdb3d364067db0738a9ca96c4159c213eaa925ea63e6 AUX ghc-7.8.3-prim-lm.patch 444 SHA256 c147880c5c9f784cd731749589009a777317bd32b80b63f508730854025fcb7e SHA512 6979e002589a54c870c70eee8357dad4feb55b4e5102350cc09a466145677dacaa1bab5ebe4818cf0d3cd8ab50ee0ec2ab642ab0fb3fd34f4a266e5e90f9f389 WHIRLPOOL e33b43f42fa5e408d7879822c5081c89688cb924fadea32bb3c7ba426661c6b345e2051aac29e5f73ec2c7eafd63ae87413b4d52228e7e345308f5f816e1117a AUX ghc-7.8.3-unreg-lit.patch 3248 SHA256 dd7dc819e0211f936c8bc450adb90c433ca7e37596898c97698c93dae7c4011a SHA512 c16361d3bf04839106221e18f9b1d861cf52da8091276fd4e6347f24e0707093b94e4d384bd452e1d7ef772392b8ce0103e42d68d91ec583f26250bb9af2be9e WHIRLPOOL 94194d10dd6b5ca9d624071bc455a1d76b4323f2cbc229bcb4cc9f41089903d7405cfa2e1000bb24b5828bcd5bdf1a44defe5c95a26e8d470c899906f2be0784 -AUX ghc-apply-gmp-hack 2585 SHA256 0d3c9e52be232734c916e9765fae770225ad6fb04c0948780867450401ff1eed SHA512 54d4a7ccb4a652e36b012bfa37696895755495a698449f77e854822f0be10d33803a7d049101c8835c8bcb587af3b5ab735e578e820feaa6a90bba0e21ad0a63 WHIRLPOOL 76d2d62886a1dcdb1da1ada62e48846f20b91dcdc2d1d7882107fc7662dd127a821f275eb909b93e4a3e0733c70afb70e41ae405da2eb39f57246f3dec01a914 AUX ghc-bash-completion 6496 SHA256 82a862bea2c9248e06fcf74d307de07b05a55f9eb95f412762bd02e53fece822 SHA512 ede79ccf23555f60f48297d29bd98e3ccfd67d2cf27462153e00beb930398cb497e34ba8316e91df44c577ed11fdbe5606f7c6a2777e35d5e783590e49ccfeb5 WHIRLPOOL 271dc4159ac500beb53981259e4b154b1f96e2909bb7cc43b7364f4fd4f86ce65df04611a46043c14079f699226195a002532fbb1e4ec01715e07e8469f9a7a4 AUX terminfo-0.3.2.5-tinfo.patch 1217 SHA256 dfbb8d5c9ca133837e6f6be766fa8e3af2715e39d8994e56a4a84d6cdc15f9b3 SHA512 60552b163295c565d506b1d3c9624d6d0e94e814c37bb38d0cf0911e153c593c2bd13418306b44fbe611b7fd9064307a201860ed1e2ce5f2a7bb16618bd0b615 WHIRLPOOL 2c06869486a8eb08ff63f7bacebfddfdf68cf0c0dd94ef3578c5dbc49b4374b2ba8c0de9ac2ed4731a3ad27466a4169d2bd13d1c208a8d0aa1226770bcb30847 -DIST ghc-6.10.1-i386-apple-darwin.tar.bz2 97910484 SHA256 b806bf9c163314c3aac389df1cf5f30e31d3557baa0eabce9279f6ef58305d51 SHA512 63135f3b2c14bef9d7f4d2428b2fc018adc62bcfad7561ee7003b3e131462ff1c0d21712d8e9523e77c9458671a888de8bd62476eb83bd3b2e05d66282700672 WHIRLPOOL 696acd0c2d8046fe6c3b6d72bd938bc61b2604bea6ba595ab6aa660c476172a3caeb0e72e286f4838e7ddc1d3889dd45de1297209944ab465142e65fd1329b05 -DIST ghc-6.10.1-powerpc-apple-darwin.tar.bz2 110038307 SHA256 06a0712a18d328e408b3057a83e31ee6695b5a203f1e492ca1964a7899834134 SHA512 ec4310bdb531d8db196ad73ac21d70864006004d1d32584f726bb8a9175ecff361c5a09c5c5a6124d9f2bff0e15606043f8558aad4bbfe8effd4e02af38b93cd WHIRLPOOL 1455a31f06ab086a2b0ab1614d8aa6f7814c15f8ba81043046a098d58d5f3df88f8b797bdc22f95d99d0f6fc31ea4d9f102e4647fa090801abf7ce4b42a29924 -DIST ghc-6.10.4-i386-unknown-solaris2.tar.bz2 78409258 SHA256 f53bbffff5b469fb4a6cea6ce3965596240549529306c8a9cfbf0a9cf6296eea SHA512 f1ba4571c9bae6e10794cd48fed56d4226c86f00e72e3a07f42db5858bc80908c2068648422a90850e70221e23305b2eab55d66f1bcfc5db7924c06ecfe74623 WHIRLPOOL 5428812e8e58e0c345b922a28aea0a32dc7dafb0275883956f683f1e12a36f1c32630187581addb231d5eb3cf3bdc5aade03efb4f574beca999d18956697fbf8 -DIST ghc-6.10.4-sparc-sun-solaris2.tar.bz2 87371847 SHA256 bc6fa54fcb66d3d5f14c4bb32bb932a9168040e3e7eb4ef410de7fc18ecd3a38 SHA512 fd6d6c119d4cbc082426c6dbe85b188e30471eb1ab5452238e22f79d941b96c7d5b7c2f951c1bad4ec7692d8f63d5afd97072b1a1e4246bdfa162dce5af92337 WHIRLPOOL aa6067bace184b29550cc9b677c495ca32bb2fbb98106ec347e1b99842580c4a91724d63984c793156f1db7667634c2f40655ce2da9aee105ac9dcee0271ed74 -DIST ghc-6.12.3-src.tar.bz2 26592939 SHA256 6cbdbe415011f2c7d15e4d850758d8d393f70617b88cb3237d2c602bb60e5e68 SHA512 e6f021d92fbdb5ddd041811ffc41750a24bfd625cced89c4e13443d1d749dc5288d342f631713d11f0cccf68ad416957254e89f8c5d839133225af6b4042f791 WHIRLPOOL 364d31e44af60437317ba277e3ce83c00229c2a03d70472133c4cba78ac912b78394755bfca0e9ff184bf319f1ecb38e2ad0184eb930420eb6fec19f51293864 -DIST ghc-7.0.3-i386-unknown-solaris2.tar.bz2 85219039 SHA256 d1e6fb322e8ea2f74b9826686f477a0838c0bf06a6128bfa0d05ff7c7afb1356 -DIST ghc-7.0.4-src.tar.bz2 24205070 SHA256 1a9b78d9d66c9c21de6c0932e36bb87406a4856f1611bf83bd44539bdc6ed0ed SHA512 acc82a1c2f23cfb2841f5f236cf8721091a969ee21e10af63a3d690c341d4d66c6eb0b5419e78a24677e32f16c03253691f89dce6392bfa775af902aa4682085 WHIRLPOOL 1d2dfc68e94012496b84f08b629b47c392150fea43670694a4659fce6f8e9b8b474ea46d4f69fe568fd6cffd1d0b6109e5e832be1251ec100a18db183ab4bdbe -DIST ghc-7.4.1-i386-apple-darwin.tar.bz2 154932146 SHA256 0dc5a8eec085e816c234e3fb5db5b90e0bb014e140e2fcacbcd4de24c753542c -DIST ghc-7.4.1-src.tar.bz2 25272609 SHA256 721c09a49e519b7459b67b451b5103252ba3833906a7a24c3a3679ff94669a79 SHA512 2d92deb2e9373f816b97acafd9239efc35bad1d912dbe57fc2744b35cb0e156b031b2b039d8699ee1554179ace15a94b03b62b1395d0a87703aa524750b818a3 WHIRLPOOL 6bd5aa1e3aa9381ba0bc8689a357971aee79af4e4a40e1c6d061eec4738110d9d5d9b31e0fa57131acb868f319b921134edf953b6dd743c3d6ffa7f56a1fb92b -DIST ghc-7.4.1-x86_64-apple-darwin.tar.bz2 148037332 SHA256 52eb17e513f9eb2e221b2183ebe6e8aa4358275128ea416788d2deb7e0a751bd DIST ghc-7.4.2-src.tar.bz2 25836446 SHA256 f2ee1289a33cc70539287129841acc7eaf16112bb60c59b5a6ee91887bfd836d SHA512 5a3d06a36702fa7e337b482c9de92ce1f84a68f18d8560bcc11f3617d6d46f93167fee27e786de6483a9ef0eab3b1ac6909a71dd53908d36156df4e465075050 WHIRLPOOL 61865eed2bf92728e7c4c4a0c48be44081bf728cfd824760d643e2fad838d96c19e173052d3aac073e0795b5efa3720ba5ddf13cca1ec7952b7524bbe1f204bc -DIST ghc-7.6.2-src.tar.bz2 110778081 SHA256 d5f45184abeacf7e9c6b4f63c7101a5c1d7b4fe9007901159e2287ecf38de533 SHA512 2e6e54f509e564f3713ea15dfefb16a84a467f8044c692ad2647c05b641e1ccb4125b9b63bbf711be1054d7ef56612186d2b9cd88ba4127fe01eec225152e4cf WHIRLPOOL 78724187c0f7579c3f39f257620d3046711f20fe07c540b6b70cf1b0b87bb8476d2382835895b5770865faaac291de05be88e2708fd0c1956ad7bc132d558b9c DIST ghc-7.6.3-src.tar.bz2 110763823 SHA256 bd43823d31f6b5d0b2ca7b74151a8f98336ab0800be85f45bb591c9c26aac998 SHA512 ac86f18b4feeb0bdc9e867261600b210caf62740d73ae657259bbe8149b8c2c4f5a73d09d74d944d4e50f85cc87503485365f0a0ae65befe8d2b6844e5e1253a WHIRLPOOL 0fe1f5f2987699067494559e6a679d28f027eee8fb2a00c683161dbce5443b1faeebfb51572209b75231cee24c7f0c929cabbc82a93f70e16d05e351fdfe2eaf DIST ghc-7.8.3-src.tar.xz 9160092 SHA256 b0cd96a549ba3b5e512847a4a8cd1a3174e4b2b75dadfc41c568fb812887b958 SHA512 2cc8c2aa6f18ba565c1e2aa637045e246f1214c2a77e95c2a97dfb97203b8983e4ad3cc13178b4b51aff70c58d59a1f68f94cd813d043745cb02411bad04bb00 WHIRLPOOL 3a2e8eea0db7a150e4732efed488a3a5eb56da00a9a90a3379afcb4090323925a2a7485fec6676e784139f112d7c825e8d18a576c34c760af4a7f3adb22c021a DIST ghc-7.8.4-src.tar.bz2 10600755 SHA256 59e3bd514a1820cc1c03e1808282205c0b8518369acae12645ceaf839e6f114b SHA512 079a53891d8ebd8d9b88da96170e60981608a619f8282e4b7948f35244e99bd87277649ac7fcebc227a61a4d21960db8d5e5b9e92f2c69c82d8d68d7fd0a41d3 WHIRLPOOL a9be7641adbd237ed6e0f644c312e655e98be9566097aee5e2c0022e8756d5b2236e42dd86d76c638a001b5ca3f67307e89ec0cd003a92cd112a5d6d3e3d8467 -DIST ghc-bin-6.12.3-alpha-haddock.tbz2 106307940 SHA256 22951ccbaa2e77f811c634fa95492451f28f8b79e5cfe0297890ce1dd9d525ab SHA512 47b124cb2b745ffa6471dd75b9b922170cd275d837093f320116a842cc2ed4e6f215128fe7269bbe5f85b34239fe46bac697d7210c2f5df97b67c5629ea30c94 WHIRLPOOL 2f26c8c046e779ed63f86fdfcf2cb4815f5f0ea08b0c6c98668909a7a3bcca3c6fa2dac390d3bd066e197093227086cbe4bd5c35044a23d344e591b5d5a1cfc1 -DIST ghc-bin-6.12.3-amd64.tbz2 82390661 SHA256 6a1c9978c4ad19bb98f70b900afa799f16cfd3e159bb6d51437c264e35f4d6cc SHA512 ae883f94621fcf0ffe8b57954e403db6812769bbeee92e031be49fc9cc2087c7700bb6a36c6fdd170936c2fea9024d2400db04db94c530841ab6662be34227e8 WHIRLPOOL ffbb50018216af9cc84d2cc04a39646dd47f70e1451bbaf700495864edddbbf729c61c3a020dde472e27236b19151b3373fd1b1735da5d3d9f68c63d9e3ea4ed -DIST ghc-bin-6.12.3-ia64-haddock.tbz2 113756002 SHA256 135c60f870badec5e10add87061d0d9c85276e182ae448ab52c6f9f7ebe6eb2e SHA512 0e789ff5af719106e9eac030c477109a928f04facfd9b7da0c55a25465cd5c92c409d08838f75206939943df6c028e302854da368eefe17fd704c88bc5e83fe4 WHIRLPOOL 7e6ad1b44f28724c4cbf8c618aa04202e61dddaf2f50a71de42161d32b78573fc530aeffb1cb4b550e2141690515487fd99e8c5e01d5c79775ffb771ee5cefe9 -DIST ghc-bin-6.12.3-ppc.tbz2 88933294 SHA256 36eb2d458c48c09a2700fb3814700cb91669cde1baf15af8a332b13b5d3e4236 SHA512 7b2d6504d00c1659af9848d4130e299fb825fc81bcba964190ac09b8933ed307116be7164267e6772767adb7c9112c924a2a634118349fde1125efe1300fcdf1 WHIRLPOOL 6242ec777ccdc7c22641ff6262dde09f434e34a20d0b322baa32445b79a43f1dd042a2f98db0606c2227479a53f158b560f707d2e9f2b844cf9920db3f3b7168 -DIST ghc-bin-6.12.3-ppc64.tbz2 95781107 SHA256 62c2424c97381be4e0e5f5bf1312a24ebe97c85a52d62bd9e35f991b6ec568f0 SHA512 fc74f10ffe67e7123dac012ff7748aa0ae6730d50d880af2ee280c0a156ccbfceae4b0aabb19e389a9e334ccbdf58b8f1c849fd1179f3f0350d469cfa61cf6a6 WHIRLPOOL 127e5056a02abbf6f115114d79172c2c2d1f25685cd8e97c4876b121c0d09ef8447bf799679a1cd03b24855c468873e9a2b52c3a3808390afd46959875471987 -DIST ghc-bin-6.12.3-sparc.tbz2 79140624 SHA256 3e3fb498a1fae5cd2285ea9a22d94b4bead500c0aace5ee76d49e1a3919da96f SHA512 5bbb05dfb2a87eebcd84e8010fb7f720c3241600bd1cd7324a4fdfadd8500b6e544a71d2d7b9e6d63cd52c6f5db72c9751406347bc041b014a4ca87dc01ef1e2 WHIRLPOOL 0005056672eb720707f0d46ebfeace4e76a22b5e1bd2d6236afac9333c9f35086ceedbb6652480051fe454bf5c89a39a1ea862180f8b2494e96107807bae2880 -DIST ghc-bin-6.12.3-x86-fbsd.tbz2 78971971 SHA256 8c39359b3dad6216a1b92464468f9c554d5bae546b037f57d7dccb8ecd5f9f7a SHA512 6af0a571cb66089c1d5f796b700c8d0b1db6869c41e6683d878047020d84817fb8b5d395c335a0c4c52e9781ad5b7291c3f88d56e5f97c3780ace1a48aa2cb82 WHIRLPOOL aa5bc6843664f828f10b44e770da9832827c2d0a0c7a76958802ffcbe7f8e7dd483b9c39ca6ee370433fa36734d19b01e082f2ebe19cabe19b9a2f4c40c29a53 -DIST ghc-bin-6.12.3-x86.tbz2 82262946 SHA256 0d74a18473d6303e8818a6bd1de87f6dfd86466e7d967d68707a6c255a96945d SHA512 76df8fa335042e83c14fb447c011c89a0189446ed133b54c1c0c52d3bd615d0f75ceab6f3d43b32297d898c40c66db30eb21420830af6056b8993f272536c4ef WHIRLPOOL 6d6fd4cfe9ac9e1fb278e92aec367e6a67c74f0592fe65508f9a427f13745efff244c5af57400699ed131df6658e4fdc54364c5b51832ae1a41b57747f7f44be -DIST ghc-bin-7.0.4-alpha.tbz2 111174890 SHA256 a83e77b23b49b5d5e47d55019ff7583802b074b5fc48df622572931252391107 SHA512 5ea3fb692e198b15a8bb0721e0c5cc2396c2af280e2c94111e07f1ca8d8e8620510c1f6a490c5f5a66cd5712c6aee74dec3639e70425a36b4559dabc0dc55379 WHIRLPOOL 08cac1cfc5828b4a44215363d621ecbc1aea6fd3a1387fcf646bd2dc369b56787a0afcbc8933f2dda9303f50c950cc493ffa2a6e0dafc359cc6bc6da2244e819 -DIST ghc-bin-7.0.4-amd64.tbz2 82353700 SHA256 7232ee42a99046d084668cb08d5a7b80ee0adeaf4b26fa5b900b9ea2759bd807 SHA512 2eaafe9d09d629c4931e7aa66af78026d68f568d659cc51d81f745c2d0c603edaba1fa1d78505a72dad96481c28d14c8b3bbe71435cc5b597fd930a9996cbd74 WHIRLPOOL 1266ba518f3f2e9733ef577b1fcd99123a399290579e4484a47fe4e4ac526a5a365e1067600fc74cbd179535c8a1c29d91884a4fe7c19addbbff630f6ce44de9 -DIST ghc-bin-7.0.4-arm.tbz2 113773534 SHA256 cad8248628d33f2f02a46fd8c40170f75273f3dbb8e443a427fcad2840911138 SHA512 36c24fee63cf6ba741ba8f624e1f1e73ddd819b83943d4a9fa1340803ef6a541c5073718fcffeca0f3079ba8522735918a340425f063556d75a31e941a43418c WHIRLPOOL 54d3d068d71b1c745bbc8cfa37778bce1900879a1f7dd457c142576daa37b90815d2fba4fab76c164999ae5a9c75627aba11fc706b9eeeb2599ffcb87b467a13 -DIST ghc-bin-7.0.4-ppc.tbz2 95836292 SHA256 7ecb2c963da8ad3190dc923c70485ea9abcb5c1bc5e3458b6b0217da997ef3c7 SHA512 7757b61b43c69fed45c3908b9295f130fee646acd3ae11ec521a9bc351bd78166486faca7711cb7eb99c8826c7607cccdc78708bbf9d6e5b62825402364b57d6 WHIRLPOOL 96714eaf351857b89ab648d01a4fe07e0e3db84ca0ff4eea0a8bc87fd7bbcef061bf9ba6a28846d486296fe1a1ac8c0aa2c69c4a6467486ed933eb54d0ae4805 -DIST ghc-bin-7.0.4-ppc64.tbz2 84686556 SHA256 91789cdb5bac716f04f63a60a52d2185e5b09aa09a345b6e9339fa922778ee93 SHA512 95783430300d49b0659fea2748595137b8b1d78f01bea469b5174e64c627c1248867c0c0120e8889a66961fb87f5f7911a3d0fa39d5ff1b3a82c284d569487cc WHIRLPOOL a758b101fb8787ea94511b11cc8639d951617ab4eebb7f5484d3bb12ef00a6184179d9b46033cc40787ac9110532cdef078e9fb6fde09e080965d20fc27713ce -DIST ghc-bin-7.0.4-sparc.tbz2 82859870 SHA256 72e067091fa2108c9b5c42bce833e2ac853a9c3bb3406ae23d1d25b5c71168e2 SHA512 dac79942ffe26fcd9209786fbd0988ea587a4a411eab57dbac35143c3e3127a75b6d3786d39e51b16b96b382925e1baf6e5eaeb5e5dcf14cd6e245ed32e5951e WHIRLPOOL a7dbcad7c193a6300e8d3a0b3dcdc5eac4559f13fb55a40ec8e7d447f3ce78f997133f8c48b65881bfdcf53611d5916e98a9a2aae07ba6a5f1537a84d2fd00e8 -DIST ghc-bin-7.0.4-x86.tbz2 81814964 SHA256 45450fea47fb8b6cea50bcd7b6c78d121ba6444a5e70f8a53b81009cedcc5838 SHA512 d134b6045a993470e9380eac16a59fd5e03bcc0f252a6a55e62f103a6c16ed854c3384c8575c579dc8fe0130ce42d37aac49eadb5ff0f10230f7507bda452612 WHIRLPOOL ee93b8008d878955ef38954dfb06e691437081714a7b8d6e35bf6eaf428126705889f03661ae87a4aff46d41be9b5cd1ae0d2747eee7915e954e7ddd992de686 -DIST ghc-bin-7.4.1-alpha.tbz2 120687236 SHA256 0d0dca79efeed686d7eced85967613ecb905bf379f200c79897c4a1692e7de91 SHA512 ebb63cde20d7acca5472a6c4ac2b1ffd392a25c65d91c340a3d0c9e2621d13ac5d1a6d877f37dded3e9bf60c37eabad6d976829908123bb60a3bc10df084b6c0 WHIRLPOOL ecf535a2e2071b1027990f6cecef80efe42712a06a66d0fe45f77099d89c17e58e415deef0bbcac35b4863c15994b31152ab1ce2ae7d0fd6e19f96afe16adb45 -DIST ghc-bin-7.4.1-amd64.tbz2 91883701 SHA256 d8579f840068f204ef87959920b3ec797dfa64f7de421d9d0eb82b0b1a950f0d SHA512 97c2804d19ef63fb2366a7b5d6df55488c144dab344266347e8e959b6cf887c62047418194ea163c840a4aed5828636d83fa5fcfb2d3e88906e2511e9aefdc7f WHIRLPOOL a1eb116ce49b80df60f9c2b36a3c6cab8cef0376ad8432cfeefaf74b5b9ad1ef8b56ca91c8bd5ea809b364dbe3b8004cef8c906b2a931d7d7ce51996c5895e57 -DIST ghc-bin-7.4.1-ppc.tbz2 89826596 SHA256 8641113d157c9462aec360a6e17841051eee83f231c2c557fa9222d223dea4cc SHA512 9f63cc28ccf742efac5979db7f7b2ba28c102a490bfb53f1ebce3a61c1012d1369634a485b3f8233b164489ab87e1b186bb7fed0710a67881d057894d667d624 WHIRLPOOL 356887f32b0c2786cada528156d0f42403620f08b31dbffa71b1e9d78d109a55272a8451cf3ed45ef2ee11e2c2f762ec3c13d48be44c2e5c4dfddd07f87f644d -DIST ghc-bin-7.4.1-ppc64.tbz2 101724506 SHA256 6aef001a91281cf9a45a6a00f8aeacefa1b04a67c05a77eaff245290ded6fb5b SHA512 5bcdfb8ff84cdd8fb2d7b718a2359127aac56c335284679775ace2080621215f0cd31fcdea500aa8e425ee373b479e8c437a4c84537e4dde63512af831181d39 WHIRLPOOL 9410a828ce368f0457f32a8d73c7a5909383d92704eb434e5292bbd209a46fd9a9aa529df11a268db67e40152919d97bd02e923033f80e3d7b806a474112b77d -DIST ghc-bin-7.4.1-sparc.tbz2 117317699 SHA256 c318674f5ffe5fae91becaf5747a1fb27f90fea50893766468bb729ce45ccf3f SHA512 2a78e50932a8f0f137969c891bb3f85f130e111dcd26a6995b83430105ec2f04d62d181b5f08e37436715c6febb2552dd62f74e686c4ac020877a792555af569 WHIRLPOOL 24c220d30e831740c658168b0924e49c36d63e6f4d1b90f1c38b1ef0004e41c61ea9549df8bf2b6a2936f2ef2cdaffa5e1d34db226ae2e7d126468081d37dde7 -DIST ghc-bin-7.4.1-x86.tbz2 91033605 SHA256 e5ff322b0496519b8bb879c9c87a25cd2d89921c89850b8fd21247cfd281e942 SHA512 83e8e56eede602ca93cae15f859337386bd532465356ce3e18f3fdd4bd0c0734e25b90fa7ba2e3d39717228377ac0ec4373e4a35e445ee80a2bf233144db3acc WHIRLPOOL d838ec64e51a17ff28294b45d193900b132f0960454a9b03b1aad2b96fc2c080b2d6f060f059cfae7992d47f8da22bcc3ff0d2fd534135208ad7ce0941dbb0e2 DIST ghc-bin-7.4.2-alpha.tbz2 130483507 SHA256 cd8e72e569574f137bf10fcdb4337bb0dc320deb2a2c4d72529a821735c53ae6 SHA512 6fb99dea706965afa60f4aeb68da3da1c69dda477f5fcfb4e67b73d75b78583193148ce9f623a356679a57f1a740f8010f28a22f08e56ace50f3fcd42142f83f WHIRLPOOL e5ec69ab24dc963ac709f13928c0e35931d5d50ca6b21dfb0aa79f9088c0ce1196b64bb4d9668e35d73dcdf9e2df9c3da59c95eaf3db8b793a6bb65b1f4ba6c0 DIST ghc-bin-7.4.2-amd64-stable-glibc.tbz2 93139900 SHA256 f06dff00585cc1a8ecc8ac29aeca7fdc601d272eed29d7613f7a2f2924cad585 SHA512 9b725f2613dd9013851a16eaea4000ea424c51cbafa97d3860f120fdb9936247f8c65208775a80a2f49b74946ddda2e843a54dec00b78c521197374aa3dd2d50 WHIRLPOOL 9e2630b1de40a059c324be38a1fe68b16ea484bc7afc2a397ea05192263d1964aed1d29fde543622ceab12ed2df111204576fdc72b7e35b2bbf9c6b9519901d1 DIST ghc-bin-7.4.2-ia64.tbz2 155787636 SHA256 a1d89221645832cc5d11cde4937cce75d564e6a79eba334b92a4c465eb3f161f SHA512 c7138ed8eaf40ee7e7559b6063096351b64fc35cbd1adb4c734b2f2c6b77fb98368b1296fcb67c1a0b21b0faf053a82f8f98c3656b89c593e677ce78165d0c74 WHIRLPOOL 7ff2db2932a6d56961dcca386c9ec8f8eb1ee12e1b84230fbb089ff137eeb216117eecaa37b33b4c037ebee0063a07cd380077b754e64ef0219759b54a4f7fe2 @@ -97,12 +36,7 @@ DIST ghc-bin-7.4.2-ppc.tbz2 89396808 SHA256 ebf6083a1f3256a978a9408cffa2562e837b DIST ghc-bin-7.4.2-ppc64.tbz2 105431655 SHA256 d0aecf47749a9862085aec6403f25197465d99a02a3c721dffd5314bf81d74eb SHA512 f220fb91b1856da37f72166fe050d4908049845eec03626d09c5b6e88701b0002835c3343c3584baf9f9d9efb5c7cbc210eb64c6eb711a58764d0fea92e8ac9f WHIRLPOOL e27022a72c254fd189995fd1b39629d5328927b83237ae4e61e97ab5efb5c451c92fe77f944c724bf9d14130d5a6cd2e0896a7cd6052de1ef7091531aa39fa0f DIST ghc-bin-7.4.2-sparc.tbz2 121224130 SHA256 e5eaf1f31ddc4790e0226f0075236af340ec9674d98701452d5c51455ca1cb52 SHA512 a3647d82bbb36fe0ca55185ebc9479a264e785eb5a8a33be6c37b8a6cbcf8c55373374801c685eef004de78db5aa1c96760b2bedb2ca0ac9097d39fe286984e9 WHIRLPOOL d2d5f8c5abb001fb5425e68d3d26d941569b832c373e40b5a96aaa11f589db9e2b72eb1cbcf8df7b8d4473e2cc1c61498b284d8b006cc20822c3a203fd0fe2cd DIST ghc-bin-7.4.2-x86-stable-glibc.tbz2 92394017 SHA256 2c42257a60aec03ae622c1a600cd210a6094f26ac310fbd307006e7f2260e2a4 SHA512 9e8ef72d2aeb5681e6bb71e2eb875587ddd51089cfc3443c33c69f93274a29e5680de4bf4884af05cd84f0e9cea13d66d20f1e89994460137910cbc987b64359 WHIRLPOOL 5722824af91f1191e6a38a8eb4696e765468e3bf54ad411b1d387ae4bcc7cd4cb772bdf2054d7013a3cff41feaaf5607f051b3c0d9f609ca19f1a1f92dd02586 -DIST ghc-bin-7.6.2-amd64.tbz2 94464851 SHA256 82ba625dc5ff58db6e085155b2c1d708c490ac6ac84dba85763b74ec1cabda13 SHA512 b6ef3ed764a3a325dc2cbcfb5fa2f416d240ca70f33791bc6535b2d3416cfa281ad6c343b72c8ffd59be92cfcc3c5dcddb1a7c6d57128ab16b89d341880b022f WHIRLPOOL a5412e0df5105e1c1de0af71a5bb0671d27c869bd74a271b07bf4a8985c30f8e6aff69aa89e7801b2c49623f4cb0b9ec34ad3eb96af5d9bc2de106652b7bf4a0 -DIST ghc-bin-7.6.2-ia64.tbz2 158914515 SHA256 fac170050bfeb7c20ac62525bf169ad252d0598f2790db2027b04c4c70df58f1 SHA512 a79fa35aadf65ca60d1b0ae98bdd9151c3cce13eac1fa6c525cd29c5ea2359da8ff78549a138db876bceaa4ffcdbb621d87cde053be0fa282f8891251eb78e21 WHIRLPOOL 7753255c9f4a7b5fb7434157df7821bce3c3c2a36e8a781e5e6939aeb0c5721ce62d4710ebd4c377393dea3c51ed8300a3f8c8adb4d0c16ca8c7a8ce86f8e853 -DIST ghc-bin-7.6.2-x86.tbz2 93746314 SHA256 d5d50ae425cfa2cb7e476e0829fae61623fc6d728413ffa27cb7ecfc925633f1 SHA512 cd56331b8855539671e1b9463960413c84665da3aa7d6e7fcd1cf4425f003582f524d3385c97e7fe9707989712bf487cd7cc75a1096918abd057cc6021badde5 WHIRLPOOL d5dffb0e970c16f168d5d6b5057b42afa8704a156a5521eca01aa522248cd9cdb8fa29e0ae5c368e11fbd87c39b89569c4ccbde7d8ba1660801cf593f328266c -DIST ghc-bin-7.6.3-alpha.tbz2 132175518 SHA256 c0a16219d1e270cb73e68d6d0b0fae08264fa308acceb876d2c4e7dea302e13d SHA512 944f8dfea78e54068bfeb8773e9b15d7e5e307c5cdef5d928e011ceaef3a9449950afc2b033508c496497e4f97d6acafc005ba097ed9fd18b978eae601cce6a7 WHIRLPOOL 16dfdc97b310038daced86f7ea93632e9f6e1879cfabd7e8a4f662358fe17074c060df1c864dca944a79d60c98f134cc31b335bfce3d89b8537001783803e7a9 DIST ghc-bin-7.6.3-amd64.tbz2 94441516 SHA256 3ef747e96a40c9d5021e88b8afee0a97838c27b00619d9187783d95279c31779 SHA512 89f6c693d83d6309a0e44fcc68e30279c858adb0a0ea9317dd168b2e632c22a8507da78ed953523f5d7156db98e06c6df56d6edc19c0c50b3941ea578263dc64 WHIRLPOOL 891dfbfc9d88fa579b6a837651f7cc6d9aecef8b8752ec7bcebbdfef2a6d8929d0edaceff27ec61d6160d36d1b0e8406b7829a04a858ed64210b5c57b9c98940 -DIST ghc-bin-7.6.3-ia64.tbz2 158762376 SHA256 07234585032a319d769bdf2c748904e2a1ce170413f6f24e2a62b4ef9be6a05c SHA512 86b439432f446034a54af6e177a5dcbf32a523b004d41c22243be2acb412f5df2645f0adff6aa80ca3efffb905ffd4e70e6753c4735bc74ca8545ea00791699a WHIRLPOOL bddcf1ab380bdfcf4cccd2afe6248503199abfba127a2c97ca148d71a6a558607f7e3324d1ac3f2b7aeb812468bc76cef870e201642fb8298f2da15d3ebe200e DIST ghc-bin-7.6.3-r1-alpha.tbz2 123486983 SHA256 fb6828d9dff7b90563cc7b3277ed38801907930aebd6042a7e5ba61e5f50db73 SHA512 7821bdf7490283dc062be090d224138dd34641e014cc6742edaa51dcc9cb1de9724d575955b596c9273b878dfe79023daf172b132b124f67567132649cf9a30d WHIRLPOOL 4e51a7e7f54fcb4aeb7a4ade4140533413348f9aacf04f683fe7cc5e20843dc6a95bdd6d79a995e5e1085747be9e584df6ada61430662f06eb600abae0c7eabd DIST ghc-bin-7.6.3-r1-ia64.tbz2 154480728 SHA256 9a176312f796a189c0354deab9a7c446db274f75f40554963c2f86597a5951fb SHA512 2aa945cebcd3d0c26af5ddb53cf2002ec6d263d071173495905dd52898bd2ab6605370b0025554c1f6afbd28e276abc708708e4add9a9b8cb08b4bb39f8f50a1 WHIRLPOOL 6371531141e707618577e924c01102481a12d91e2c85e24694ba64f9b2545869c248999138146f63ca379a4243ccd0dfa322ea01a23d222b9757584787c5a899 DIST ghc-bin-7.6.3-r1-ppc.tbz2 91800558 SHA256 c9b2262957585c9f02136014aa05423e1b7674c8eb0731a6d991e400e053e33a SHA512 2a101a30a4324780f1a614e044ba614f9094cd57d026c56f2b3ba514ae049c26ce8e4acbc89e93229da451b6fbe05ba0980b500cdd785bb2bce968a60434403a WHIRLPOOL 3a3b7e1eb945be01ab195880c7709514d2d11d25bab12fc15c2257207da48a37e6d6d7699c9ed5c1cc32d01057240a4d795e43cdf9d9d2748a1d94b93fb283ed @@ -117,22 +51,16 @@ DIST ghc-bin-7.8.4-ppc.tbz2 112803496 SHA256 a47e0fb17137878af1e7b5a166046bee20d DIST ghc-bin-7.8.4-ppc64.tbz2 129284515 SHA256 1e8a350af39d1db1e58a74c9bc4a4c57765eceb33e5b32751fb31340b9ff02ff SHA512 53974e15c26cf6b62d8f838607abd209ec57cf0f45fcc48b90ad62736f5e4e7ff263dcd326ae03d8d5557a22eb9730e5eb8ae4eda55e52dd3d973bc73c84935e WHIRLPOOL adaaa92323d319f6576423ac41678f7d263f36e0e30d89fc14ee89104b006772c26d7b408be7f85225d1bddaf5f15ebdcbb7136f5c8bf7bda4bb0938eefbe6c2 DIST ghc-bin-7.8.4-sparc.tbz2 147340595 SHA256 1cde749ce3c47016c5c7a7179423d0aa2b174ddae4af0392ae3b7f57b098ec0c SHA512 ee5f0b2f1cf2693a0f2be9df71ef61b52bc2327225d40b8be955c1584b9901ffc6aaab63c1e46bf9bb352633b605c98378f8fd3e6cd71aef1c089007e4110217 WHIRLPOOL 27d55a016ffb49852553f920c29929c3bdf383e28b4b806ceb9ffc8b46a59b438801101402e498b069aa6eb56870b70a00ba7b1f4098f3fd8d8ddf1b20caa626 DIST ghc-bin-7.8.4-x86.tbz2 102312459 SHA256 4c53148836e5a1ba55b8db5bb7c3eb915103e0955fb503b2facdc5a72f12a974 SHA512 cabc5bd6d8760ce4120e7053f6c1dffca7d161ba454b6201087760096c037c932e3ff8c82e53346c8278855bf0cff1c2f5fb8046242ca4d8307355b060a9556e WHIRLPOOL 0171d67dc1b63381a491e1577a783eb0e8f53cb579ba96a9b4fdf6685d494d78eb2be780f77ff33422d3b7c320ed102d9b48f6e954f8fee5532982575001a4a5 -EBUILD ghc-6.12.3-r2.ebuild 20796 SHA256 527f54ef419549e18778e2b3be5ecbe3026fcd7a91c6e52e373c7214ac1a826a SHA512 028a823d9e1da226580c28405e8d8d555dcac4a605731de1066ff695428fe2b26efe7d0345a32b037952bc48b35968e2a427f89000ebbb89e5ec32d7dba0c60a WHIRLPOOL c32681c78b7f78b93c42fd161c057ce414ce397a893cb2301ee14e0871326923dfc18b9b81e1a6444dca5a5432a34514e373137d4f6fffd680e17e0686a74c26 -EBUILD ghc-7.0.4.ebuild 20256 SHA256 d9525a3cec1a9f0ba46eb8ac0fb4fe4e136bef03f6c7dfd6bfe82c82e2ff6552 SHA512 35989124a714ac7297af8043653fd34844effe545c7775b37a1b98a7f4d58d7478de1300bd85cce9a0a34ed24cc27f7ffa1a250f167e6632c6ca75e499b43a02 WHIRLPOOL d7e349c59deaa0ef7a1293e4742d667cd4e537633725f6a611c6ea03f2a6b0e3960fb82ceca2bb0e301cff41940c883f2b08679b25cb53d330abfa2c9b5a52e8 -EBUILD ghc-7.4.1-r1.ebuild 21359 SHA256 58c914920bddc3dc9ef84509fd58ec2d3cb86ca8f61f316b85aac75cc8985206 SHA512 8aeeded46d1ab2baeb14837d7b58a7cac4b2c3b8960bd85b9885dae616e44594b831dd336469f2f2f168393fce76215809640d1d1ed84c44c5ceb321ca67b14d WHIRLPOOL 102d072ffb5bfbfbc1e70fa8b6b94c8308587d9669edf56b47505b62039aa2ef02e1c6f6c8d859d3189f2a983b420e0410cfd6303ef6950684810760a1c3711b -EBUILD ghc-7.4.1.ebuild 20555 SHA256 24af5f5cac7746f627708fc5e74fc72f528409f2912032a5ed8bf0595d3d88a3 SHA512 040180430cacfb19816dbbb7deed54ea08424d5ceae275a61b25bde38f68419fa6a65e1dc7dddc887f967eeb47ae81f430a2dbc4cc750c542254e91101734d47 WHIRLPOOL b344b1465f05555da6b22be4351820c557cc575e61661dab79dea92ae98530fa57c8174a108cf80b5cfccc6572a4b5b14a23393719e307fca16bf91781c2951e EBUILD ghc-7.4.2.ebuild 22109 SHA256 c061678ca7fb3e578856ed5e5ccd72b9e1cf86000889d41b64bf51dcfcdaad3c SHA512 9fa1ac3968cb2e9cc231d2fdaf0fee54b1070c925a86f5fc257858a3bab9eb1b684893a405d4f7fbbc0a6771fa06b7d572e790368f8093e23abed176cefaa43a WHIRLPOOL 813f4113c4dd73bfd0591d48f426a6451b1662458e75ea6b3f748a8d64fec354273cc15f8db218e03965338e87e0b00ffc424dd7defc77a5424ef8651fa29038 -EBUILD ghc-7.6.2.ebuild 25352 SHA256 1986bda9cf2dcc52b90b3dd18d8241bb9d93b5f7b7eac5bf5db99dc2bb0503af SHA512 64ebb74a3132a6a162c30fc588592dbfe72328da0d3fa2435942165e470df0ffbcbb640361d1f0a6a9efaf25a5648149c4e8a5e0a16fc39f4bcaa07907e38038 WHIRLPOOL 68d57561fa4dc29ba9c104c85cf9b0df624860ff2b24438659861c76e3472847fd34de8f619eaf0e010e115a712ab7837c3a39153d663c4a429a3c7ba035de10 -EBUILD ghc-7.6.3-r1.ebuild 29017 SHA256 898e3fe4d3561f75a46d65a3e3bb978895e63c0ae2b77075e899fdaebd6328ad SHA512 1b5e5bc934059bc6c761477ed3746ff2eac15f5d71be3b786d84c8f900a23fa1064938dfa72b411dc60ff4185b3c4d18b0bf4f0a3a392cdcb1df1081552ebb55 WHIRLPOOL 03ea67ec40a951dd4e5dc6dafe56c147ab0f16605bc32c6f9ca55c3e9ed74adeb14c8a2c952a3160453bcb827d175ce93cc3514aa607bf76e77660d21eb387d6 -EBUILD ghc-7.6.3.ebuild 26240 SHA256 517f567d0241deee7c473edcc999c7255f7a8cb14e6cc36f13850021e7802310 SHA512 26c8aa9894e1bcc194b2f62dd1741d03e90ea0b8607e760027117c391ab0ff036e66fe76ce8b07d5cc1acf372e3ed4316d9b866d818e5299285cfbfcb13c19eb WHIRLPOOL 429c9f83b45b153145a999655c6a9f17518f70e48ecbfe91cb8d682eacc3ea9d7818b0de23a7507aa454b3885dbcff3a8393f5f4eb734402f1dd0688535500bc -EBUILD ghc-7.8.3.ebuild 20718 SHA256 36f3de9ed9f5f72e742a0109e02b3c305d4a7e7fa40790990f66bec2e37ef9d0 SHA512 09caadef7b208ad4c89bbf70c1897f01a0cb5f3a15c4005c606651c1424d0c920a8dce7a45a3abaa77a2516c55a71ea2745175f248dd90d8044fc2df5763ef7f WHIRLPOOL 40815fd6c952826a4b299dc26ce1dd3431026e8a7075f495273f66fc57f841bad8f0fc20a4f3b21eb1b08adc036edff75330e2810d68a23dfe4f03f02abf6605 -EBUILD ghc-7.8.4.ebuild 20539 SHA256 f297a7f01749bf0f19169357abfc26e168ddaf0bf31f564d3ad9a1ad30eaa420 SHA512 c247a618dd043776c41ce41dad7585f63be827759fdb886ae35828d382cfdda69f5521b66ac2ac98f3aa7097d974787ac15f753f021ac818b539770b49be94ff WHIRLPOOL a9603ef87d0210f86c57f6f033dcc329775be8147fb3b582dbfe9eda406642926a61430510c7f6b19f4a5f1c30cb86a2467de9480c65d6ee86b15392e66ae76a -MISC ChangeLog 49553 SHA256 5ecc026c3acd66fc0ea240ef39ba92bd1ab9cd33695df8de2f8b6ff252e5b694 SHA512 0df80a4ff56805e0f95fc4f5736f354a501f7ef439a876d200f6d3b87b69793df81f43bd511c09d7f0b0eeecf8dc9ed5da273d5bb8077d11440022ddec9a03a3 WHIRLPOOL e3d08c79617620c761c369cfcbc70d49ccdb4d7603bfb29d693617410d537cfc3fce2ec4cd357193ddf2f0b729df75930dfbccdf6e5a28789f143e1ecba0e425 +EBUILD ghc-7.6.3-r1.ebuild 29019 SHA256 343248f0572b248bf68911c17c0be7b191831a32372c3fb8790d4058a0069ecd SHA512 185f14b1bbe37caf75544784dbea9859b5d539202b31a2f1c48775be7ee7ddd6dd5af0f6a647ff22dfac95c4d590243f4a3b66f5153438e31f472f7db3041759 WHIRLPOOL bca4e0dd6122a6e05973153119ce3d1db6a97ada0b8d0718638d6446eca7dec322bf954d86605b34ab76b5e0496bdae98ff88694e789476e7de6b78ef2def205 +EBUILD ghc-7.8.3.ebuild 20720 SHA256 9887614b5a6bc0df0bb5a3899344caf7c5555673cb6c080fe58749afe9c65985 SHA512 267750389414cd573a876d2fd6af57c2deea63d05d004bfe1d42cd98af73fc69cbd660e4ceb726b1eba223c99ad784aa2c9b1bb4ab9407f3f9640e36fd5ff7f5 WHIRLPOOL 4c24a143522443adb7c664671ee7d65b92dd28e9aedc444422eb1e23598b167c4b0ebd8ac8f6e4cd3b7cb130a6dab271838be1cc311e5ff95c3164d8a691af6e +EBUILD ghc-7.8.4.ebuild 20541 SHA256 aad46eef94f8ca43b6bae52178af9e7b4eda7c8afc75722bbc2c42f31cb9eb2a SHA512 270a05e22919a8aebb465150d1f74f55dbe1a27c2c4359fef9c0980d2afe216d13ca7362793f83fa1616d0437c53ff45b79ba09b0d968a8f89dba4999464fd7e WHIRLPOOL 0bde2f1cc622b9038233d47b24647fb6d6564e4f410301b84af4bc4200db770e16940023cdeab8cf0eae609ecc34118009740d66817672d2e364608189dffce4 +MISC ChangeLog 51453 SHA256 35a16c2f72cb209ad918508f47612015cd360c7dc32ee33444b58881af959caf SHA512 fabd8e0ed8785b475449d60bb06e6b2b93269ebcbc3683674f304f5698b03207698afb2b76dcae324b76d6609064903bc5a7891e3f87d3b99424fb19c3c8e483 WHIRLPOOL d1900a137cdb5032ed38fed5aca53cc7964fc6ba1806cbb768c03729508069f557009dcb207bc5e2205340fc0e3822f20fa9c1a0fb211c72ef6ce2ac207f0eb4 MISC metadata.xml 561 SHA256 f964cd5b31b8a5e1979c03ced645f9e28b61528b456340e36cacef4b25104735 SHA512 50ef5db553f7ae99de80ef2f45d2c6c9c3b85bc4ef70ef7f79797a3c47f33a8ca9c9caf14752f38b81f0abd17df594820bc2161a10c7d177c126fcb101b24c31 WHIRLPOOL 1d4e744e284d0053a8cff1547dd25c4f0f2dcb8da35dee4523dbadcc9e29a92beb6ce7e63044c09995ffb255d39c5f02d901b330c481763b608ba4ed6e243faf -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iEYEAREIAAYFAlSd8NMACgkQcaHudmEf86oP3gCeO8tLMUvSHC684Cc3VmI9PwyG -G+sAmwX9bU1EOSkSBZjJ2AlW6DATfURF -=vMQq +iEYEAREIAAYFAlSnLuEACgkQcaHudmEf86pldQCeKkAnNmmNw12/qkgN7wszlJyS +UkUAmgNEM1B++cujwctRqkEe4I+mO2eT +=fUgg -----END PGP SIGNATURE----- diff --git a/dev-lang/ghc/files/ghc-6.10.4-autoconf.patch b/dev-lang/ghc/files/ghc-6.10.4-autoconf.patch deleted file mode 100644 index 57d0de55e4d0..000000000000 --- a/dev-lang/ghc/files/ghc-6.10.4-autoconf.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/aclocal.m4 b/aclocal.m4 -index 4678774..7f947f0 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -212,7 +212,7 @@ fi - changequote([, ])dnl - ]) - FP_COMPARE_VERSIONS([$fptools_cv_greencard_version],[-lt],[$1], -- [AC_MSG_ERROR([greencard version $1 or later is required (found '$fptools_cv_greencard_version')])])[]dnl -+ [AC_MSG_ERROR([greencard version $1 or later is required (found '$fptools_cv_greencard_version')])])[] - GreenCardVersion=$fptools_cv_greencard_version - AC_SUBST(GreenCardVersion) - ]) -@@ -247,7 +247,7 @@ changequote([, ])dnl - if test ! -f compiler/parser/Parser.hs || test ! -f compiler/main/ParsePkgConf.hs || test ! -f compiler/cmm/CmmParse.hs || test ! -f compiler/parser/ParserCore.hs - then - FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-lt],[1.15], -- [AC_MSG_ERROR([Happy version 1.15 or later is required to compile GHC.])])[]dnl -+ [AC_MSG_ERROR([Happy version 1.15 or later is required to compile GHC.])])[] - fi - HappyVersion=$fptools_cv_happy_version; - AC_SUBST(HappyVersion) -@@ -282,7 +282,7 @@ changequote([, ])dnl - if test ! -f compiler/cmm/CmmLex.hs || test ! -f compiler/parser/Lexer.hs - then - FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[2.1.0], -- [AC_MSG_ERROR([Alex version 2.1.0 or later is required to compile GHC.])])[]dnl -+ [AC_MSG_ERROR([Alex version 2.1.0 or later is required to compile GHC.])])[] - fi - AlexVersion=$fptools_cv_alex_version; - AC_SUBST(AlexVersion) -diff --git a/configure.ac b/configure.ac -index 4d39e74..e3573c9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -795,7 +795,7 @@ if test "$BootingFromHc" = "NO" -a -d "$srcdir/compiler"; then - AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.]) - fi - FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[6.4], -- [AC_MSG_ERROR([GHC version 6.4 or later is required to compile GHC.])])dnl -+ [AC_MSG_ERROR([GHC version 6.4 or later is required to compile GHC.])]) - fi; - - # This uses GHC, so put it after the "GHC is required" check above: diff --git a/dev-lang/ghc/files/ghc-6.10.4-disable-strip.patch b/dev-lang/ghc/files/ghc-6.10.4-disable-strip.patch deleted file mode 100644 index 1b67a3cb0f00..000000000000 --- a/dev-lang/ghc/files/ghc-6.10.4-disable-strip.patch +++ /dev/null @@ -1,15 +0,0 @@ -Unconditionally disable stripping of binaries. -Address https://bugs.gentoo.org/show_bug.cgi?id=299492 -diff --git a/utils/installPackage/installPackage.hs b/utils/installPackage/installPackage.hs -index 9ec7282..0174652 100644 ---- a/utils/installPackage/installPackage.hs -+++ b/utils/installPackage/installPackage.hs -@@ -38,7 +38,7 @@ parseArgs :: [String] - FilePath, -- dist prefix - Bool, -- enable shell wrappers? - Bool) -- strip exe? --parseArgs = f normal defaultDistPref False True -+parseArgs = f normal defaultDistPref False False - where f _ dp esw strip (('-':'v':val):args) - = f (readEOrFail flagToVerbosity val) dp esw strip args - f v _ esw strip ("--distpref":dp:args) = f v dp esw strip args diff --git a/dev-lang/ghc/files/ghc-6.10.4-ia64-fixed-relax.patch b/dev-lang/ghc/files/ghc-6.10.4-ia64-fixed-relax.patch deleted file mode 100644 index b9fa2925bb69..000000000000 --- a/dev-lang/ghc/files/ghc-6.10.4-ia64-fixed-relax.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit dcdb5df8bc0e973b856e88a7b78f88f947453feb -Author: Sergei Trofimovich <slyfox@gentoo.org> -Date: Tue Jul 6 11:38:47 2010 +0300 - - Fixing link failure of compiler on ia64 ('-Wl,' prefixed value passed directly to ld) - - /usr/bin/ld -Wl,--relax -r -o dist-stage1/build/HSghc-6.10.4.o \ - dist-stage1/build/BasicTypes.o dist-stage1/build/DataCon.o ... - /usr/bin/ld: unrecognized option '-Wl,--relax' - - If we just drop '-Wl,' part it will not help as '-r' and '--relax' are incompatible. - - Looks like '-Wl,--relax' was skipped by earlier binutils' ld as unknown option. - Removing ia64 specific path. - - Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - -diff --git a/compiler/Makefile b/compiler/Makefile -index 0e7457b..17deab2 100644 ---- a/compiler/Makefile -+++ b/compiler/Makefile -@@ -130,13 +130,6 @@ ifeq "$(TargetOS_CPP)" "openbsd" - COMMON_CONFIGURE_FLAGS += --ld-options=-E - endif - --ifeq "$(GhcUnregisterised)" "NO" --ifeq "$(HOSTPLATFORM)" "ia64-unknown-linux" --# needed for generating proper relocation in large binaries: trac #856 --COMMON_CONFIGURE_FLAGS += --ld-option=-Wl,--relax --endif --endif -- - # We need to turn on profiling either if we have been asked to - # (GhcLibProfiled = YES) or if we want GHC itself to be compiled with - # profiling enabled (GhcProfiled = YES). diff --git a/dev-lang/ghc/files/ghc-6.10.4-ia64-storage-manager-fix.patch b/dev-lang/ghc/files/ghc-6.10.4-ia64-storage-manager-fix.patch deleted file mode 100644 index 37daea5d55ca..000000000000 --- a/dev-lang/ghc/files/ghc-6.10.4-ia64-storage-manager-fix.patch +++ /dev/null @@ -1,63 +0,0 @@ -storage manager: preserve upper address bits on 64bit machines (thanks to zygoloid) - -the issue: durin ia64 ghc bootstrap (both 6.10.4 and 6.12.3) I -got the failure on stage2 phase: - "inplace/bin/ghc-stage2" -H32m -O -H64m -O0 -w ... - ghc-stage2: internal error: evacuate: strange closure type 15 - (GHC version 6.12.3 for ia64_unknown_linux) - Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug - make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted - -I attached gdb and got backtrace: - -Breakpoint 1 at 0x400000000469ec31: file rts/RtsMessages.c, line 39. -(gdb) run -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info -Starting program: /var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/lib/ghc-stage2 -B/var/tmp/portage/dev-lang/ -ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info -[Thread debugging using libthread_db enabled] - -Breakpoint 1, barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39 -39 va_start(ap,s); -(gdb) bt -#0 barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39 -#1 0x400000000474a1e0 in evacuate (p=0x6000000000147958) at rts/sm/Evac.c:756 -#2 0x40000000046d68c0 in scavenge_srt (srt=0x6000000000147958, srt_bitmap=7) at rts/sm/Scav.c:348 -... - -> 16:52:53 < zygoloid> slyfox: i'm no ghc expert but it looks like HEAP_ALLOCED_GC(q) -> is returning true for a FUN_STATIC closure -> 17:18:43 < zygoloid> try: p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p) -> 17:19:12 < slyfox> (gdb) p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p) -> 17:19:12 < slyfox> $1 = 0 -> 17:19:40 < zygoloid> i /think/ that means the mblock_cache is broken -> 17:22:45 < zygoloid> i can't help further. however i am suspicious that you seem to have pointers with similar-looking low 33 -> bits and different high 4 bits, and it looks like such pointers get put into the same bucket in -> mblock_cache. -... -> 17:36:16 < zygoloid> slyfox: try changing the definition of MbcCacheLine to StgWord64, see if that helps -> 17:36:31 < zygoloid> that's in includes/rts/storage/MBlock.h -And it helped! - -diff --git a/rts/sm/MBlock.h b/rts/sm/MBlock.h -index 516fb7f..725d32f 100644 ---- a/rts/sm/MBlock.h -+++ b/rts/sm/MBlock.h -@@ -117,7 +117,17 @@ extern StgWord8 mblock_map[]; - - #define MBC_LINE_BITS 0 - #define MBC_TAG_BITS 15 --typedef StgWord32 MbcCacheLine; // could use 16, but 32 was faster -+ -+#if x86_64_HOST_ARCH -+// 32bits are enough for 'entry' as modern amd64 boxes have -+// only 48bit sized virtual addres. -+typedef StgWord32 MbcCacheLine; -+#else -+// 32bits is not enough here as some arches (like ia64) use -+// upper address bits to distinct memory areas. -+typedef StgWord64 MbcCacheLine; -+#endif -+ - typedef StgWord8 MBlockMapLine; - - #define MBLOCK_MAP_LINE(p) (((StgWord)p & 0xffffffff) >> (MBLOCK_SHIFT + MBC_LINE_BITS)) diff --git a/dev-lang/ghc/files/ghc-6.10.4-libm-detection.patch b/dev-lang/ghc/files/ghc-6.10.4-libm-detection.patch deleted file mode 100644 index 0e90deb507f1..000000000000 --- a/dev-lang/ghc/files/ghc-6.10.4-libm-detection.patch +++ /dev/null @@ -1,43 +0,0 @@ -Fri Dec 4 23:40:12 EET 2009 Sergei Trofimovich <slyfox@inbox.ru> - * configure.ac: fix libm checks (Trac #3730) - - libbfd pulled libm as dependency and broke LIBM= detection. - - Patch moves libm in library tests as early as possible. - Thanks to asuffield for suggesting such a simple fix. - Thanks to Roie Kerstein and Renato Gallo for finding - and tracking down the issue. - -http://bugs.gentoo.org/show_bug.cgi?id=293208 -http://hackage.haskell.org/trac/ghc/ticket/3730 -diff -rN -u old-ghc/configure.ac new-ghc/configure.ac ---- old-ghc/configure.ac 2009-12-04 23:51:06.135605014 +0200 -+++ new-ghc/configure.ac 2009-12-04 23:51:06.344604339 +0200 -@@ -713,18 +713,22 @@ - AC_DEFINE([HAVE_MINGWEX], [1], [Define to 1 if you have the mingwex library.]) - fi - --dnl ** check whether this machine has BFD and liberty installed (used for debugging) --dnl the order of these tests matters: bfd needs liberty --AC_CHECK_LIB(iberty, xmalloc) --AC_CHECK_LIB(bfd, bfd_init) -- - dnl ** check for math library -+dnl Keep that check as early as possible. -+dnl as we need to know whether we need libm -+dnl for math functions or not -+dnl (see http://hackage.haskell.org/trac/ghc/ticket/3730) - AC_CHECK_FUNC(atan,[fp_libm_not_needed=yes;LIBM=],[fp_libm_not_needed=dunno]) - if test x"$fp_libm_not_needed" = xdunno; then - AC_CHECK_LIB([m], [atan], [LIBS="-lm $LIBS"; LIBM="-lm"],[LIBM=]) - fi - AC_SUBST([LIBM]) - -+dnl ** check whether this machine has BFD and liberty installed (used for debugging) -+dnl the order of these tests matters: bfd needs liberty -+AC_CHECK_LIB(iberty, xmalloc) -+AC_CHECK_LIB(bfd, bfd_init) -+ - dnl ################################################################ - dnl Check for libraries - dnl ################################################################ diff --git a/dev-lang/ghc/files/ghc-6.10.4-ppc64-always-minimal-toc.patch b/dev-lang/ghc/files/ghc-6.10.4-ppc64-always-minimal-toc.patch deleted file mode 100644 index 8aaf594ee0f9..000000000000 --- a/dev-lang/ghc/files/ghc-6.10.4-ppc64-always-minimal-toc.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff --git a/ghc/ghc.wrapper b/ghc/ghc.wrapper -index 71eae84..b02421d 100644 ---- a/ghc/ghc.wrapper -+++ b/ghc/ghc.wrapper -@@ -1,3 +1,3 @@ - #!/bin/sh - --exec $executablename -B$datadir -dynload wrapped ${1+"$@"} -+exec $executablename -B$datadir -optc-mminimal-toc -dynload wrapped ${1+"$@"} diff --git a/dev-lang/ghc/files/ghc-6.10.4-propagate-hc-options-to-all-libraries.patch b/dev-lang/ghc/files/ghc-6.10.4-propagate-hc-options-to-all-libraries.patch deleted file mode 100644 index 396c07974d1f..000000000000 --- a/dev-lang/ghc/files/ghc-6.10.4-propagate-hc-options-to-all-libraries.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/libraries/Makefile b/libraries/Makefile -index bf59e9a..c85df45 100644 ---- a/libraries/Makefile -+++ b/libraries/Makefile -@@ -128,7 +128,7 @@ ifeq "$(ghc_ge_605)" "NO" - CABAL_GHC_FLAGS += -cpp - endif - --BOOTSTRAPPING_FLAGS = $(CABAL_GHC_FLAGS) -DCABAL_VERSION=$(CABAL_VERSION) -odir $(HERE_ABS)/bootstrapping -hidir $(HERE_ABS)/bootstrapping -i$(HERE_ABS)/Cabal -i$(HERE_ABS)/filepath -i$(HERE_ABS)/hpc -+BOOTSTRAPPING_FLAGS = $(SRC_HC_OPTS) $(CABAL_GHC_FLAGS) -DCABAL_VERSION=$(CABAL_VERSION) -odir $(HERE_ABS)/bootstrapping -hidir $(HERE_ABS)/bootstrapping -i$(HERE_ABS)/Cabal -i$(HERE_ABS)/filepath -i$(HERE_ABS)/hpc - - .PHONY: boot - -@@ -141,19 +141,19 @@ cabal-bin: cabal-bin.hs - bootstrapping.conf: cabal-bin - echo "[]" > $@.tmp - -cd extensible-exceptions && $(CABAL) clean --distpref=dist-bootstrapping -- cd extensible-exceptions && $(CABAL) configure --distpref=dist-bootstrapping --with-compiler=$(GHC) --with-hc-pkg=$(GHC_PKG) --package-db=$(HERE_ABS)/$@.tmp -+ cd extensible-exceptions && $(CABAL) configure --distpref=dist-bootstrapping --with-compiler=$(GHC) --ghc-options="$(BOOTSTRAPPING_FLAGS)" --with-hc-pkg=$(GHC_PKG) --package-db=$(HERE_ABS)/$@.tmp - cd extensible-exceptions && $(CABAL) build --distpref=dist-bootstrapping - cd extensible-exceptions && $(CABAL) install --distpref=dist-bootstrapping --inplace - -cd filepath && $(CABAL) clean --distpref=dist-bootstrapping -- cd filepath && $(CABAL) configure --distpref=dist-bootstrapping --with-compiler=$(GHC) --with-hc-pkg=$(GHC_PKG) --package-db=$(HERE_ABS)/$@.tmp -+ cd filepath && $(CABAL) configure --distpref=dist-bootstrapping --with-compiler=$(GHC) --ghc-options="$(BOOTSTRAPPING_FLAGS)" --with-hc-pkg=$(GHC_PKG) --package-db=$(HERE_ABS)/$@.tmp - cd filepath && $(CABAL) build --distpref=dist-bootstrapping - cd filepath && $(CABAL) install --distpref=dist-bootstrapping --inplace - -cd Cabal && $(CABAL) clean --distpref=dist-bootstrapping -- cd Cabal && $(CABAL) configure --distpref=dist-bootstrapping --with-compiler=$(GHC) --with-hc-pkg=$(GHC_PKG) --package-db=$(HERE_ABS)/$@.tmp -+ cd Cabal && $(CABAL) configure --distpref=dist-bootstrapping --with-compiler=$(GHC) --ghc-options="$(BOOTSTRAPPING_FLAGS)" --with-hc-pkg=$(GHC_PKG) --package-db=$(HERE_ABS)/$@.tmp - cd Cabal && $(CABAL) build --distpref=dist-bootstrapping - cd Cabal && $(CABAL) install --distpref=dist-bootstrapping --inplace - -cd hpc && $(CABAL) clean --distpref=dist-bootstrapping -- cd hpc && $(CABAL) configure --distpref=dist-bootstrapping --with-compiler=$(GHC) --with-hc-pkg=$(GHC_PKG) --package-db=$(HERE_ABS)/$@.tmp -+ cd hpc && $(CABAL) configure --distpref=dist-bootstrapping --with-compiler=$(GHC) --ghc-options="$(BOOTSTRAPPING_FLAGS)" --with-hc-pkg=$(GHC_PKG) --package-db=$(HERE_ABS)/$@.tmp - cd hpc && $(CABAL) build --distpref=dist-bootstrapping - cd hpc && $(CABAL) install --distpref=dist-bootstrapping --inplace - mv $@.tmp $@ diff --git a/dev-lang/ghc/files/ghc-6.12.1-configure-CHOST.patch b/dev-lang/ghc/files/ghc-6.12.1-configure-CHOST.patch deleted file mode 100644 index 3369d703889d..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.1-configure-CHOST.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- old-ghc-6.12.0.20091010/configure.ac 2009-11-07 14:11:31.747192438 +0100 -+++ new-ghc-6.12.0.20091010/configure.ac 2009-11-07 14:11:31.752194402 +0100 -@@ -219,6 +219,8 @@ - exit 1 - fi - fi -+build=`echo "$build" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/'` -+[build=`echo "$build" | sed -e 's/i[4-6]86/i386/'`] # escaping square bracket - - if test "$host" = "" - then -@@ -231,6 +233,8 @@ - exit 1 - fi - fi -+host=`echo "$host" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/'` -+[host=`echo "$host" | sed -e 's/i[4-6]86/i386/'`] # escaping square bracket - - if test "$target" = "" - then -@@ -243,6 +247,8 @@ - exit 1 - fi - fi -+target=`echo "$target" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/'` -+[target=`echo "$target" | sed -e 's/i[4-6]86/i386/'`] # escaping square bracket - - exeext='' - soext='.so' diff --git a/dev-lang/ghc/files/ghc-6.12.2-configure-CHOST-part2.patch b/dev-lang/ghc/files/ghc-6.12.2-configure-CHOST-part2.patch deleted file mode 100644 index e444ccfb94e6..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.2-configure-CHOST-part2.patch +++ /dev/null @@ -1,42 +0,0 @@ -From b1b23479f676259230cc31e40cc94b60df90487e Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich <slyfox@inbox.ru> -Date: Thu, 22 Apr 2010 22:44:56 +0300 -Subject: [PATCH] aclocal.m4: mangle 'pc' to 'unknown', mangle i[3-6]86 to i386 - -Signed-off-by: Sergei Trofimovich <slyfox@community.haskell.org> ---- - aclocal.m4 | 11 +++++++++-- - 1 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/aclocal.m4 b/aclocal.m4 -index 031145d..f401860 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -1279,7 +1279,7 @@ case "$1" in - hppa*) - $2="hppa" - ;; -- i386) -+[ i[3-6]86) ] #m4 bracket escape - $2="i386" - ;; - ia64) -@@ -1332,7 +1332,14 @@ case "$1" in - # -------------------------------- - # converts vendor from gnu to ghc naming, and assigns the result to $target_var - AC_DEFUN([GHC_CONVERT_VENDOR],[ --$2="$1" -+case "$1" in -+ pc) -+ $2="unknown" -+ ;; -+ *) -+ $2="$1" -+ ;; -+ esac - ]) - - # GHC_CONVERT_OS(os, target_var) --- -1.6.4.4 - diff --git a/dev-lang/ghc/files/ghc-6.12.3-alpha-use-libffi-for-foreign-import-wrapper.patch b/dev-lang/ghc/files/ghc-6.12.3-alpha-use-libffi-for-foreign-import-wrapper.patch deleted file mode 100644 index 4df29fdaee61..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-alpha-use-libffi-for-foreign-import-wrapper.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/compiler/typecheck/TcForeign.lhs b/compiler/typecheck/TcForeign.lhs -index 073ca25..75e42ef 100644 ---- a/compiler/typecheck/TcForeign.lhs -+++ b/compiler/typecheck/TcForeign.lhs -@@ -30,10 +30,6 @@ import TcEnv - import ForeignCall - import ErrUtils - import Id --#if alpha_TARGET_ARCH --import Type --import SMRep --#endif - import Name - import TcType - import DynFlags -@@ -113,7 +109,6 @@ tcCheckFIType sig_ty arg_tys res_ty idecl@(CImport cconv safety _ CWrapper) = do - [arg1_ty] -> do checkForeignArgs isFFIExternalTy arg1_tys - checkForeignRes nonIOok isFFIExportResultTy res1_ty - checkForeignRes mustBeIO isFFIDynResultTy res_ty -- checkFEDArgs arg1_tys - where - (arg1_tys, res1_ty) = tcSplitFunTys arg1_ty - _ -> addErrTc (illegalForeignTyErr empty sig_ty) -@@ -175,31 +170,6 @@ checkMissingAmpersand dflags arg_tys res_ty - = return () - \end{code} - --On an Alpha, with foreign export dynamic, due to a giant hack when --building adjustor thunks, we only allow 4 integer arguments with --foreign export dynamic (i.e., 32 bytes of arguments after padding each --argument to a quadword, excluding floating-point arguments). -- --The check is needed for both via-C and native-code routes -- --\begin{code} --#include "nativeGen/NCG.h" -- --checkFEDArgs :: [Type] -> TcM () --#if alpha_TARGET_ARCH --checkFEDArgs arg_tys -- = check (integral_args <= 32) err -- where -- integral_args = sum [ (widthInBytes . argMachRep . primRepToCgRep) prim_rep -- | prim_rep <- map typePrimRep arg_tys, -- primRepHint prim_rep /= FloatHint ] -- err = ptext (sLit "On Alpha, I can only handle 32 bytes of non-floating-point arguments to foreign export dynamic") --#else --checkFEDArgs _ = return () --#endif --\end{code} -- -- - %************************************************************************ - %* * - \subsection{Exports} -diff --git a/mk/config.mk.in b/mk/config.mk.in -index 7399de0..a9e875c 100644 ---- a/mk/config.mk.in -+++ b/mk/config.mk.in -@@ -176,7 +176,7 @@ endif - # Whether to use libffi for adjustors (foreign import "wrapper") or - # not. If we have built-in support (rts/Adjustor.c) then we use that, - # otherwise we fall back on libffi, which is slightly slower. --ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64 alpha powerpc ia64,),YES,NO)) -+ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64 powerpc ia64,),YES,NO)) - ifeq "$(ArchHasAdjustorSupport)" "YES" - UseLibFFIForAdjustors=NO - else diff --git a/dev-lang/ghc/files/ghc-6.12.3-autoconf-2.66-4252.patch b/dev-lang/ghc/files/ghc-6.12.3-autoconf-2.66-4252.patch deleted file mode 100644 index 7341ca35c97a..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-autoconf-2.66-4252.patch +++ /dev/null @@ -1,20 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=337025 -http://hackage.haskell.org/trac/ghc/ticket/4252 -Mon Aug 16 17:24:42 EEST 2010 Ross Paterson <ross@soi.city.ac.uk> - * fix FP_CHECK_ALIGNMENT for autoconf 2.66 (fixes #4252) - - Recent versions of AS_LITERAL_IF don't like *'s. Fix from - - http://blog.gmane.org/gmane.comp.sysutils.autoconf.general/month=20100701 -diff -rN -u old-ghc/aclocal.m4 new-ghc/aclocal.m4 ---- old-ghc/aclocal.m4 2010-09-13 21:00:36.288338228 +0300 -+++ new-ghc/aclocal.m4 2010-09-13 21:00:37.209338228 +0300 -@@ -141,7 +141,7 @@ - # A variation of AC_CHECK_SIZEOF for computing the alignment restrictions of a - # given type. Defines ALIGNMENT_TYPE. - AC_DEFUN([FP_CHECK_ALIGNMENT], --[AS_LITERAL_IF([$1], [], -+[AS_LITERAL_IF(m4_translit([[$1]], [*], [p]), [], - [AC_FATAL([$0: requires literal arguments])])[]dnl - AC_CHECK_TYPE([$1], [], [], [$3])[]dnl - m4_pushdef([fp_Cache], [AS_TR_SH([fp_cv_alignment_$1])])[]dnl diff --git a/dev-lang/ghc/files/ghc-6.12.3-configure-CHOST-freebsd.patch b/dev-lang/ghc/files/ghc-6.12.3-configure-CHOST-freebsd.patch deleted file mode 100644 index 3600a5833de4..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-configure-CHOST-freebsd.patch +++ /dev/null @@ -1,58 +0,0 @@ -gcc on FreeBSD/Gentoo/x86 has 'i686-gentoo-freebsd7.2' triplet, but ghc likes 'i386-unknown-freebsd' -Mangle -gentoo- to -unknown-, mangle '-freebsd7.2' (and other numerics) to '-freebsd' -Thanks to naota for the report and testing. -diff --git a/aclocal.m4 b/aclocal.m4 -index f401860..7f93ebf 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -1333,7 +1333,7 @@ case "$1" in - # converts vendor from gnu to ghc naming, and assigns the result to $target_var - AC_DEFUN([GHC_CONVERT_VENDOR],[ - case "$1" in -- pc) -+ pc|gentoo) - $2="unknown" - ;; - *) -@@ -1354,6 +1354,10 @@ case "$1" in - freebsd|netbsd|openbsd|dragonfly|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix|haiku) - $2="$1" - ;; -+ # for things like freebsd7.2 -+ freebsd*) -+ $2="freebsd" -+ ;; - *) - echo "Unknown OS $1" - exit 1 -diff --git a/configure.ac b/configure.ac -index 0360fa5..0a1ce25 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -225,7 +225,7 @@ then - echo "Bootstrapping GHC is a cross compiler. This probably isn't going to work" - fi - fi --build=`echo "$build" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/'` -+build=`echo "$build" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/' -e 's/-gentoo-/-unknown-/' -e 's/freebsd.*$/freebsd/'` - [build=`echo "$build" | sed -e 's/i[4-6]86/i386/'`] # escaping square bracket - - # We have to run these unconditionally, but we may discard their -@@ -260,7 +260,7 @@ else - GHC_CONVERT_VENDOR([$build_vendor], [BuildVendor]) - GHC_CONVERT_OS([$build_os], [BuildOS]) - fi --host=`echo "$host" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/'` -+host=`echo "$host" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/' -e 's/-gentoo-/-unknown-/' -e 's/freebsd.*$/freebsd/'` - [host=`echo "$host" | sed -e 's/i[4-6]86/i386/'`] # escaping square bracket - - if test "$host_alias" = "" -@@ -282,7 +282,7 @@ else - GHC_CONVERT_VENDOR([$host_vendor], [HostVendor]) - GHC_CONVERT_OS([$host_os], [HostOS]) - fi --target=`echo "$target" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/'` -+target=`echo "$target" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/' -e 's/-gentoo-/-unknown-/' -e 's/freebsd.*$/freebsd/'` - [target=`echo "$target" | sed -e 's/i[4-6]86/i386/'`] # escaping square bracket - - if test "$target_alias" = "" diff --git a/dev-lang/ghc/files/ghc-6.12.3-configure-CHOST-prefix.patch b/dev-lang/ghc/files/ghc-6.12.3-configure-CHOST-prefix.patch deleted file mode 100644 index 926237ba8064..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-configure-CHOST-prefix.patch +++ /dev/null @@ -1,43 +0,0 @@ -Strip versioning components from *HOST for Darwin and Solaris - ---- aclocal.m4 -+++ aclocal.m4 -@@ -1358,6 +1358,12 @@ - freebsd*) - $2="freebsd" - ;; -+ darwin*) -+ $2="darwin" -+ ;; -+ solaris2.*) -+ $2="solaris2" -+ ;; - *) - echo "Unknown OS $1" - exit 1 ---- configure.ac -+++ configure.ac -@@ -227,6 +227,7 @@ - fi - build=`echo "$build" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/' -e 's/-gentoo-/-unknown-/' -e 's/freebsd.*$/freebsd/'` - [build=`echo "$build" | sed -e 's/i[4-6]86/i386/'`] # escaping square bracket -+build=`echo "$build" | sed -e 's/-darwin.*$/-darwin/' -e 's/-solaris2.*$/-solaris/'` - - # We have to run these unconditionally, but we may discard their - # results in the following code -@@ -262,6 +263,7 @@ - fi - host=`echo "$host" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/' -e 's/-gentoo-/-unknown-/' -e 's/freebsd.*$/freebsd/'` - [host=`echo "$host" | sed -e 's/i[4-6]86/i386/'`] # escaping square bracket -+host=`echo "$host" | sed -e 's/-darwin.*$/-darwin/' -e 's/-solaris2.*$/-solaris/'` - - if test "$host_alias" = "" - then -@@ -284,6 +286,7 @@ - fi - target=`echo "$target" | sed -e 's/linux-gnu/linux/' -e 's/-pc-/-unknown-/' -e 's/-gentoo-/-unknown-/' -e 's/freebsd.*$/freebsd/'` - [target=`echo "$target" | sed -e 's/i[4-6]86/i386/'`] # escaping square bracket -+target=`echo "$target" | sed -e 's/-darwin.*$/-darwin/' -e 's/-solaris2.*$/-solaris/'` - - if test "$target_alias" = "" - then diff --git a/dev-lang/ghc/files/ghc-6.12.3-darwin8.patch b/dev-lang/ghc/files/ghc-6.12.3-darwin8.patch deleted file mode 100644 index c971eb25eed6..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-darwin8.patch +++ /dev/null @@ -1,18 +0,0 @@ -Workaround headers problem in Darwin 8 as well. - ---- rts/PosixSource.h -+++ rts/PosixSource.h -@@ -11,6 +11,13 @@ - - #include <ghcplatform.h> - -+#if defined(darwin_HOST_OS) -+/* unfortunately the hack below only works for Darwin 9 and -+ * above, so as hack include sys/types early (before setting -+ * _POSIX_C_SOURCE) (this obviously obsoletes the hack below) */ -+#include <sys/types.h> -+#endif -+ - #define _POSIX_SOURCE 1 - #define _POSIX_C_SOURCE 199506L - #define _XOPEN_SOURCE 500 diff --git a/dev-lang/ghc/files/ghc-6.12.3-ghciless-haddock-3558.patch b/dev-lang/ghc/files/ghc-6.12.3-ghciless-haddock-3558.patch deleted file mode 100644 index 0a25d72b5ad0..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-ghciless-haddock-3558.patch +++ /dev/null @@ -1,224 +0,0 @@ -commit c7d5e1322f54b5387767c15788d8372705b8981b -Author: Sergei Trofimovich <slyfox@gentoo.org> -Date: Sun Oct 3 22:32:12 2010 +0300 - - Sat Jul 31 14:55:06 EEST 2010 Ian Lynagh <igloo@earth.li> - * Expose the functions haddock needs even when haddock is disabled; #3558 ---- - compiler/main/GHC.hs | 13 +++++++++++-- - compiler/main/InteractiveEval.hs | 9 --------- - compiler/typecheck/TcRnDriver.lhs | 24 +++++++++++++++--------- - 3 files changed, 26 insertions(+), 20 deletions(-) - -diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs -index be7d574..2f25cbe 100644 ---- a/compiler/main/GHC.hs -+++ b/compiler/main/GHC.hs -@@ -111,13 +111,13 @@ module GHC ( - showModule, - isModuleInterpreted, - InteractiveEval.compileExpr, HValue, dynCompileExpr, -- lookupName, - GHC.obtainTermFromId, GHC.obtainTermFromVal, reconstructType, - modInfoModBreaks, - ModBreaks(..), BreakIndex, - BreakInfo(breakInfo_number, breakInfo_module), - BreakArray, setBreakOn, setBreakOff, getBreak, - #endif -+ lookupName, - - -- * Abstract syntax elements - -@@ -243,9 +243,9 @@ import Linker ( HValue ) - import ByteCodeInstr - import BreakArray - import InteractiveEval --import TcRnDriver - #endif - -+import TcRnDriver - import TcIface - import TcRnTypes hiding (LIE) - import TcRnMonad ( initIfaceCheck ) -@@ -2711,3 +2711,12 @@ obtainTermFromId bound force id = - liftIO $ InteractiveEval.obtainTermFromId hsc_env bound force id - - #endif -+ -+-- | Returns the 'TyThing' for a 'Name'. The 'Name' may refer to any -+-- entity known to GHC, including 'Name's defined using 'runStmt'. -+lookupName :: GhcMonad m => Name -> m (Maybe TyThing) -+lookupName name = withSession $ \hsc_env -> do -+ mb_tything <- ioMsg $ tcRnLookupName hsc_env name -+ return mb_tything -+ -- XXX: calls panic in some circumstances; is that ok? -+ -diff --git a/compiler/main/InteractiveEval.hs b/compiler/main/InteractiveEval.hs -index 352fbf0..3339313 100644 ---- a/compiler/main/InteractiveEval.hs -+++ b/compiler/main/InteractiveEval.hs -@@ -29,7 +29,6 @@ module InteractiveEval ( - showModule, - isModuleInterpreted, - compileExpr, dynCompileExpr, -- lookupName, - Term(..), obtainTermFromId, obtainTermFromVal, reconstructType, - skolemiseSubst, skolemiseTy - #endif -@@ -922,14 +921,6 @@ parseName str = withSession $ \hsc_env -> do - (L _ rdr_name) <- hscParseIdentifier (hsc_dflags hsc_env) str - ioMsgMaybe $ tcRnLookupRdrName hsc_env rdr_name - ---- | Returns the 'TyThing' for a 'Name'. The 'Name' may refer to any ---- entity known to GHC, including 'Name's defined using 'runStmt'. --lookupName :: GhcMonad m => Name -> m (Maybe TyThing) --lookupName name = withSession $ \hsc_env -> do -- mb_tything <- ioMsg $ tcRnLookupName hsc_env name -- return mb_tything -- -- XXX: calls panic in some circumstances; is that ok? -- - -- ----------------------------------------------------------------------------- - -- Getting the type of an expression - -diff --git a/compiler/typecheck/TcRnDriver.lhs b/compiler/typecheck/TcRnDriver.lhs -index 323a167..342763d 100644 ---- a/compiler/typecheck/TcRnDriver.lhs -+++ b/compiler/typecheck/TcRnDriver.lhs -@@ -9,10 +9,10 @@ module TcRnDriver ( - #ifdef GHCI - tcRnStmt, tcRnExpr, tcRnType, - tcRnLookupRdrName, -- tcRnLookupName, -- tcRnGetInfo, - getModuleExports, - #endif -+ tcRnLookupName, -+ tcRnGetInfo, - tcRnModule, - tcTopSrcDecls, - tcRnExtCore -@@ -71,6 +71,7 @@ import Outputable - import DataCon - import Type - import Class -+import TcType - import Data.List ( sortBy ) - - #ifdef GHCI -@@ -83,7 +84,6 @@ import IfaceEnv - import MkId - import BasicTypes - import TidyPgm ( globaliseAndTidyId ) --import TcType ( isUnitTy, isTauTy, tyClsNamesOfDFunHead ) - import TysWiredIn ( unitTy, mkListTy ) - #endif - -@@ -1015,7 +1015,6 @@ get two defns for 'main' in the interface file! - %********************************************************* - - \begin{code} --#ifdef GHCI - setInteractiveContext :: HscEnv -> InteractiveContext -> TcRn a -> TcRn a - setInteractiveContext hsc_env icxt thing_inside - = let -- Initialise the tcg_inst_env with instances from all home modules. -@@ -1046,6 +1045,7 @@ setInteractiveContext hsc_env icxt thing_inside - - - \begin{code} -+#ifdef GHCI - tcRnStmt :: HscEnv - -> InteractiveContext - -> LStmt RdrName -@@ -1401,6 +1401,7 @@ lookup_rdr_name rdr_name = do { - - return good_names - } -+#endif - - tcRnLookupName :: HscEnv -> Name -> IO (Messages, Maybe TyThing) - tcRnLookupName hsc_env name -@@ -1421,8 +1422,8 @@ tcRnLookupName' name = do - _ -> panic "tcRnLookupName'" - - tcRnGetInfo :: HscEnv -- -> Name -- -> IO (Messages, Maybe (TyThing, Fixity, [Instance])) -+ -> Name -+ -> IO (Messages, Maybe (TyThing, Fixity, [Instance])) - - -- Used to implement :info in GHCi - -- -@@ -1432,8 +1433,14 @@ tcRnGetInfo :: HscEnv - -- *and* as a type or class constructor; - -- hence the call to dataTcOccs, and we return up to two results - tcRnGetInfo hsc_env name -- = initTcPrintErrors hsc_env iNTERACTIVE $ -- let ictxt = hsc_IC hsc_env in -+ = initTcPrintErrors hsc_env iNTERACTIVE $ -+ tcRnGetInfo' hsc_env name -+ -+tcRnGetInfo' :: HscEnv -+ -> Name -+ -> TcRn (TyThing, Fixity, [Instance]) -+tcRnGetInfo' hsc_env name -+ = let ictxt = hsc_IC hsc_env in - setInteractiveContext hsc_env ictxt $ do - - -- Load the interface for all unqualified types and classes -@@ -1482,7 +1489,6 @@ loadUnqualIfaces ictxt - isTcOcc (nameOccName name), -- Types and classes only - unQualOK gre ] -- In scope unqualified - doc = ptext (sLit "Need interface for module whose export(s) are in scope unqualified") --#endif /* GHCI */ - \end{code} - - %************************************************************************ - -commit 83d056a7e15e3253c446d896707d0b012f9cf8b3 -Author: Sergei Trofimovich <slyfox@gentoo.org> -Date: Sun Oct 3 22:30:53 2010 +0300 - - Sat Jul 31 02:50:01 EEST 2010 Ian Lynagh <igloo@earth.li> - - * Always haddock by default - Revert this patch: - Matthias Kilian <kili@outback.escape.de>**20090920181319 - Don't build haddock if HADDOC_DOCS = NO, and disable HADDOC_DOCS - if GhcWithInterpreter = NO - Haddock uses TcRnDriver.tcRnGetInfo, which is only available if - GHCI is built. Set HADDOC_DOCS to NO if GhcWithInterpreter is NO, - and disable the haddock build if HADDOC_DOCS = NO. ---- - ghc.mk | 2 -- - mk/config.mk.in | 2 +- - 2 files changed, 1 insertions(+), 3 deletions(-) - -diff --git a/ghc.mk b/ghc.mk -index 9193f46..1b5d1f9 100644 ---- a/ghc.mk -+++ b/ghc.mk -@@ -529,11 +529,9 @@ BUILD_DIRS += \ - $(GHC_GENAPPLY_DIR) - endif - --ifneq "$(HADDOCK_DOCS)" "NO" - BUILD_DIRS += \ - utils/haddock \ - utils/haddock/doc --endif - - ifneq "$(CLEANING)" "YES" - BUILD_DIRS += \ -diff --git a/mk/config.mk.in b/mk/config.mk.in -index 7399de0..55a9f19 100644 ---- a/mk/config.mk.in -+++ b/mk/config.mk.in -@@ -736,7 +736,7 @@ SRC_ALEX_OPTS = -g - HSTAGS = @HstagsCmd@ - - # Should we build haddock docs? --HADDOCK_DOCS = $(GhcWithInterpreter) -+HADDOCK_DOCS = YES - # And HsColour the sources? - ifeq "$(HSCOLOUR)" "" - HSCOLOUR_SRCS = NO diff --git a/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch b/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch deleted file mode 100644 index 37bfab110fd0..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit 7b45030b81fb0588b858400c051f9f7c10ef2760 -Author: Sergei Trofimovich <slyfox@gentoo.org> -Date: Tue Jul 6 11:39:18 2010 +0300 - - Fixing link failure of compiler on ia64 ('-Wl,' prefixed value passed directly to ld) - - /usr/bin/ld -Wl,--relax -r -o dist-stage1/build/HSghc-6.10.4.o \ - dist-stage1/build/BasicTypes.o dist-stage1/build/DataCon.o ... - /usr/bin/ld: unrecognized option '-Wl,--relax' - - If we just drop '-Wl,' part it will not help as '-r' and '--relax' are incompatible. - - Looks like '-Wl,--relax' was skipped by earlier binutils' ld as unknown option. - Removing ia64 specific path. - - Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - -diff --git a/compiler/ghc.mk b/compiler/ghc.mk -index 6b25efa..29d3ade 100644 ---- a/compiler/ghc.mk -+++ b/compiler/ghc.mk -@@ -337,13 +337,6 @@ ifeq "$(TargetOS_CPP)" "openbsd" - compiler_CONFIGURE_OPTS += --ld-options=-E - endif - --ifeq "$(GhcUnregisterised)" "NO" --ifeq "$(HOSTPLATFORM)" "ia64-unknown-linux" --# needed for generating proper relocation in large binaries: trac #856 --compiler_CONFIGURE_OPTS += --ld-option=-Wl,--relax --endif --endif -- - # We need to turn on profiling either if we have been asked to - # (GhcLibProfiled = YES) or if we want GHC itself to be compiled with - # profiling enabled (GhcProfiled = YES). diff --git a/dev-lang/ghc/files/ghc-6.12.3-ia64-storage-manager-fix.patch b/dev-lang/ghc/files/ghc-6.12.3-ia64-storage-manager-fix.patch deleted file mode 100644 index 1458dcc7d8b6..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-ia64-storage-manager-fix.patch +++ /dev/null @@ -1,62 +0,0 @@ -storage manager: preserve upper address bits on 64bit machines (thanks to zygoloid) - -the issue: durin ia64 ghc bootstrap (both 6.10.4 and 6.12.3) I -got the failure on stage2 phase: - "inplace/bin/ghc-stage2" -H32m -O -H64m -O0 -w ... - ghc-stage2: internal error: evacuate: strange closure type 15 - (GHC version 6.12.3 for ia64_unknown_linux) - Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug - make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted - -I attached gdb and got backtrace: - -Breakpoint 1 at 0x400000000469ec31: file rts/RtsMessages.c, line 39. -(gdb) run -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info -Starting program: /var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/lib/ghc-stage2 -B/var/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/inplace/bin --info -[Thread debugging using libthread_db enabled] - -Breakpoint 1, barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39 -39 va_start(ap,s); -(gdb) bt -#0 barf (s=0x40000000047915b0 "evacuate: strange closure type %d") at rts/RtsMessages.c:39 -#1 0x400000000474a1e0 in evacuate (p=0x6000000000147958) at rts/sm/Evac.c:756 -#2 0x40000000046d68c0 in scavenge_srt (srt=0x6000000000147958, srt_bitmap=7) at rts/sm/Scav.c:348 -... - -> 16:52:53 < zygoloid> slyfox: i'm no ghc expert but it looks like HEAP_ALLOCED_GC(q) -> is returning true for a FUN_STATIC closure -> 17:18:43 < zygoloid> try: p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p) -> 17:19:12 < slyfox> (gdb) p HEAP_ALLOCED_miss((unsigned long)(*p) >> 20, *p) -> 17:19:12 < slyfox> $1 = 0 -> 17:19:40 < zygoloid> i /think/ that means the mblock_cache is broken -> 17:22:45 < zygoloid> i can't help further. however i am suspicious that you seem to have pointers with similar-looking low 33 -> bits and different high 4 bits, and it looks like such pointers get put into the same bucket in -> mblock_cache. -... -> 17:36:16 < zygoloid> slyfox: try changing the definition of MbcCacheLine to StgWord64, see if that helps -> 17:36:31 < zygoloid> that's in includes/rts/storage/MBlock.h -And it helped! - -diff --git a/includes/rts/storage/MBlock.h b/includes/rts/storage/MBlock.h -index 0943d4c..a113498 100644 ---- a/includes/rts/storage/MBlock.h -+++ b/includes/rts/storage/MBlock.h -@@ -126,7 +126,17 @@ extern StgWord8 mblock_map[]; - - #define MBC_LINE_BITS 0 - #define MBC_TAG_BITS 15 --typedef StgWord32 MbcCacheLine; // could use 16, but 32 was faster -+ -+#if x86_64_HOST_ARCH -+// 32bits are enough for 'entry' as modern amd64 boxes have -+// only 48bit sized virtual addres. -+typedef StgWord32 MbcCacheLine; -+#else -+// 32bits is not enough here as some arches (like ia64) use -+// upper address bits to distinct memory areas. -+typedef StgWord64 MbcCacheLine; -+#endif -+ - typedef StgWord8 MBlockMapLine; - - #define MBLOCK_MAP_LINE(p) (((StgWord)p & 0xffffffff) >> (MBLOCK_SHIFT + MBC_LINE_BITS)) diff --git a/dev-lang/ghc/files/ghc-6.12.3-ia64-use-libffi-for-foreign-import-wrapper.patch b/dev-lang/ghc/files/ghc-6.12.3-ia64-use-libffi-for-foreign-import-wrapper.patch deleted file mode 100644 index 5eb68348b07b..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-ia64-use-libffi-for-foreign-import-wrapper.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rN -u old-ghc/mk/config.mk.in new-ghc/mk/config.mk.in ---- old-ghc/mk/config.mk.in 2010-07-10 00:22:07.583742895 +0300 -+++ new-ghc/mk/config.mk.in 2010-07-10 00:22:08.049743314 +0300 -@@ -177,7 +177,7 @@ - # Whether to use libffi for adjustors (foreign import "wrapper") or - # not. If we have built-in support (rts/Adjustor.c) then we use that, - # otherwise we fall back on libffi, which is slightly slower. --ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64 powerpc ia64,),YES,NO)) -+ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64 powerpc,),YES,NO)) - ifeq "$(ArchHasAdjustorSupport)" "YES" - UseLibFFIForAdjustors=NO - else diff --git a/dev-lang/ghc/files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch b/dev-lang/ghc/files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch deleted file mode 100644 index 9d839fc7b3e3..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 6d011f0865dc99d9306b5768ccd1eaa0355d994e Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich <slyfox@gentoo.org> -Date: Sat, 5 Feb 2011 11:53:33 +0200 -Subject: [PATCH] libffi: backport incorrect detection of selinux - -This patch unbreaks ghci on GRSEC kernels hardened with -TPE (Trusted Path Execution) protection. - -TPE forbids mmap('rwx') files opened for writes: - fd = open (a_file_in_tmp, O_RDWR); - mmap (..., PROT_READ | PROT_WRITE | PROT_EXEC, fd); - -while allows anonymous RWX mappings: - mmap (...MAP_ANONYMOUS , PROT_READ | PROT_WRITE | PROT_EXEC, -1); - -Thanks to klondike for finding it out. - -Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> ---- - libffi/ghc.mk | 2 ++ - libffi/libffi.selinux-detection-3.0.8.patch | 15 +++++++++++++++ - 2 files changed, 17 insertions(+), 0 deletions(-) - create mode 100644 libffi/libffi.selinux-detection-3.0.8.patch - -diff --git a/libffi/ghc.mk b/libffi/ghc.mk -index 1b1b118..a40f23c 100644 ---- a/libffi/ghc.mk -+++ b/libffi/ghc.mk -@@ -117,6 +117,8 @@ $(libffi_STAMP_CONFIGURE): - # This patch is just the resulting delta from running - # automake && autoreconf && libtoolize --force --copy - cd libffi/build && "$(PATCH)" -p1 < ../libffi.autotools-update-3.0.8.patch -+ # don't report nonselinux systems as selinux -+ cd libffi/build && "$(PATCH)" -p0 < ../libffi.selinux-detection-3.0.8.patch - - # Because -Werror may be in SRC_CC_OPTS/SRC_LD_OPTS, we need to turn - # warnings off or the compilation of libffi might fail due to warnings -diff --git a/libffi/libffi.selinux-detection-3.0.8.patch b/libffi/libffi.selinux-detection-3.0.8.patch -new file mode 100644 -index 0000000..a919f28 ---- /dev/null -+++ b/libffi/libffi.selinux-detection-3.0.8.patch -@@ -0,0 +1,15 @@ -+src/closures.c (selinux_enabled_check): Fix strncmp usage bug. -+ -+http://github.com/atgreen/libffi/commit/eaf444eabc4c78703c0f98ac0197b1619c1b1bef -+ -+--- src/closures.c -++++ src/closures.c -+@@ -146,7 +146,7 @@ -+ p = strchr (p + 1, ' '); -+ if (p == NULL) -+ break; -+- if (strncmp (p + 1, "selinuxfs ", 10) != 0) -++ if (strncmp (p + 1, "selinuxfs ", 10) == 0) -+ { -+ free (buf); -+ fclose (f); --- -1.7.3.4 - diff --git a/dev-lang/ghc/files/ghc-6.12.3-mach-o-relocation-limit.patch b/dev-lang/ghc/files/ghc-6.12.3-mach-o-relocation-limit.patch deleted file mode 100644 index 93752ea76f7e..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-mach-o-relocation-limit.patch +++ /dev/null @@ -1,34 +0,0 @@ -http://hackage.haskell.org/trac/ghc/attachment/ticket/3260/mach-o-relocation-limit.patch - -Sat May 8 23:24:11 JST 2010 pho@cielonegro.org - * Work around for Mach-O relocation limit - - Mach-O has a limitation on the length of relocation addresses. No - segments can be larger than 2^24 - 1 bytes (approx 16 MiB; See - /usr/include/mach-o/reloc.h). Static GHCi libraries are merged large - objects so they tend to exceed this limit. - ---- rules/build-package-way.mk -+++ rules/build-package-way.mk -@@ -83,8 +83,21 @@ - ifneq "$4" "0" - BINDIST_LIBS += $$($1_$2_GHCI_LIB) - endif -+ -+ifeq "$$(darwin_HOST_OS)" "1" -+# Mach-O has a limitation on the length of relocation addresses. No -+# segments can be larger than 2^24 - 1 bytes (approx 16 MiB; See -+# /usr/include/mach-o/reloc.h). Static GHCi libraries are merged large -+# objects so they tend to exceed this limit. -+$$($1_$2_GHCI_LIB) : $$($1_$2_$3_HS_OBJS) $$($1_$2_$3_CMM_OBJS) $$($1_$2_$3_C_OBJS) $$($1_$2_$3_S_OBJS) $$($1_$2_EXTRA_OBJS) -+ "$$(LD)" -r -o $$@ $$(EXTRA_LD_OPTS) $$($1_$2_$3_HS_OBJS) $$($1_$2_$3_CMM_OBJS) $$($1_$2_$3_C_OBJS) $$($1_$2_$3_S_OBJS) `$$($1_$2_$3_MKSTUBOBJS)` $$($1_$2_EXTRA_OBJS) \ -+ || ( echo "Warning: creating dummy $$@" && \ -+ touch empty.c && \ -+ "$(CC)" $(SRC_CC_OPTS) $(CONF_CC_OPTS) -c empty.c -o $$@ ) -+else - $$($1_$2_GHCI_LIB) : $$($1_$2_$3_HS_OBJS) $$($1_$2_$3_CMM_OBJS) $$($1_$2_$3_C_OBJS) $$($1_$2_$3_S_OBJS) $$($1_$2_EXTRA_OBJS) - "$$(LD)" -r -o $$@ $$(EXTRA_LD_OPTS) $$($1_$2_$3_HS_OBJS) $$($1_$2_$3_CMM_OBJS) $$($1_$2_$3_C_OBJS) $$($1_$2_$3_S_OBJS) `$$($1_$2_$3_MKSTUBOBJS)` $$($1_$2_EXTRA_OBJS) -+endif - - $(call all-target,$1_$2,$$($1_$2_GHCI_LIB)) - endif diff --git a/dev-lang/ghc/files/ghc-6.12.3-pic-powerpc.patch b/dev-lang/ghc/files/ghc-6.12.3-pic-powerpc.patch deleted file mode 100644 index e71109920820..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-pic-powerpc.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 1414e10a1470061e850b7ce2aa6350a428ade2e9 Mon Sep 17 00:00:00 2001 -From: pho@cielonegro.org <unknown> -Date: Sat, 8 May 2010 14:39:00 +0000 -Subject: [PATCH] PIC support for PowerPC - -PPC.CodeGen.getRegister was not properly handling PicBaseReg. -It seems working with this patch, but I'm not sure this change is correct. ---- - compiler/nativeGen/PPC/CodeGen.hs | 5 +++++ - 1 files changed, 5 insertions(+), 0 deletions(-) - -diff --git a/compiler/nativeGen/PPC/CodeGen.hs b/compiler/nativeGen/PPC/CodeGen.hs -index 1215b2e..a1b55ce 100644 ---- a/compiler/nativeGen/PPC/CodeGen.hs -+++ b/compiler/nativeGen/PPC/CodeGen.hs -@@ -377,6 +377,11 @@ iselExpr64 expr - - getRegister :: CmmExpr -> NatM Register - -+getRegister (CmmReg (CmmGlobal PicBaseReg)) -+ = do -+ reg <- getPicBaseNat archWordSize -+ return (Fixed archWordSize reg nilOL) -+ - getRegister (CmmReg reg) - = return (Fixed (cmmTypeSize (cmmRegType reg)) - (getRegisterReg reg) nilOL) --- -1.7.4.1 - diff --git a/dev-lang/ghc/files/ghc-6.12.3-powerpc-darwin-no-mmap.patch b/dev-lang/ghc/files/ghc-6.12.3-powerpc-darwin-no-mmap.patch deleted file mode 100644 index a438c0d57b90..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-powerpc-darwin-no-mmap.patch +++ /dev/null @@ -1,37 +0,0 @@ -Tue Nov 30 06:30:14 PST 2010 pho@cielonegro.org - * FIX #1845 (unconditional relative branch out of range) - - Don't use mmap on powerpc-apple-darwin as mmap doesn't support - reallocating but we need to allocate jump islands just after each - object images. Otherwise relative branches to jump islands can fail - due to 24-bits displacement overflow. -diff -rN -u old-ghc/rts/Linker.c new-ghc/rts/Linker.c ---- old-ghc/rts/Linker.c 2011-04-19 01:37:03.000000000 -0700 -+++ new-ghc/rts/Linker.c 2011-04-19 01:37:04.000000000 -0700 -@@ -69,7 +69,15 @@ - #include <sys/wait.h> - #endif - --#if defined(linux_HOST_OS) || defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS) || defined(darwin_HOST_OS) -+#if defined(linux_HOST_OS ) || defined(freebsd_HOST_OS) || \ -+ defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS ) || \ -+ defined(openbsd_HOST_OS ) || \ -+ ( defined(darwin_HOST_OS ) && !defined(powerpc_HOST_ARCH) ) -+/* Don't use mmap on powerpc-apple-darwin as mmap doesn't support -+ * reallocating but we need to allocate jump islands just after each -+ * object images. Otherwise relative branches to jump islands can fail -+ * due to 24-bits displacement overflow. -+ */ - #define USE_MMAP - #include <fcntl.h> - #include <sys/mman.h> -@@ -1841,6 +1849,9 @@ - int fd; - #else - FILE *f; -+# if defined(darwin_HOST_OS) -+ int misalignment; -+# endif - #endif - IF_DEBUG(linker, debugBelch("loadObj %s\n", path)); - diff --git a/dev-lang/ghc/files/ghc-6.12.3-ppc-use-libffi-for-foreign-import-wrapper.patch b/dev-lang/ghc/files/ghc-6.12.3-ppc-use-libffi-for-foreign-import-wrapper.patch deleted file mode 100644 index bd712e3b5563..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-ppc-use-libffi-for-foreign-import-wrapper.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/mk/config.mk.in b/mk/config.mk.in -index 3fcc0f0..496a6f7 100644 ---- a/mk/config.mk.in -+++ b/mk/config.mk.in -@@ -176,7 +176,7 @@ endif - # Whether to use libffi for adjustors (foreign import "wrapper") or - # not. If we have built-in support (rts/Adjustor.c) then we use that, - # otherwise we fall back on libffi, which is slightly slower. --ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64 powerpc,),YES,NO)) -+ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64,),YES,NO)) - ifeq "$(ArchHasAdjustorSupport)" "YES" - UseLibFFIForAdjustors=NO - else diff --git a/dev-lang/ghc/files/ghc-6.12.3-ticket-2615-linker-script.patch b/dev-lang/ghc/files/ghc-6.12.3-ticket-2615-linker-script.patch deleted file mode 100644 index 96fdcb6a8091..000000000000 --- a/dev-lang/ghc/files/ghc-6.12.3-ticket-2615-linker-script.patch +++ /dev/null @@ -1,278 +0,0 @@ -Wed Dec 16 19:51:55 CET 2009 howard_b_golden@yahoo.com - * FIX #2615 (linker scripts in .so files) - This patch does not apply to Windows. It only applies to systems with - ELF binaries. - - This is a patch to rts/Linker.c to recognize linker scripts in .so - files and find the real target .so shared library for loading. -diff -rN -u old-ghc/rts/Linker.c new-ghc/rts/Linker.c ---- old-ghc/rts/Linker.c 2010-07-28 22:59:33.532759118 +0200 -+++ new-ghc/rts/Linker.c 2010-07-28 22:59:34.853759052 +0200 -@@ -39,6 +39,8 @@ - - #include <stdlib.h> - #include <string.h> -+#include <stdio.h> -+#include <assert.h> - - #ifdef HAVE_SYS_STAT_H - #include <sys/stat.h> -@@ -79,6 +81,8 @@ - - #if defined(linux_HOST_OS) || defined(solaris2_HOST_OS) || defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS) - # define OBJFORMAT_ELF -+# include <regex.h> // regex is already used by dlopen() so this is OK -+ // to use here without requiring an additional lib - #elif defined(cygwin32_HOST_OS) || defined (mingw32_HOST_OS) - # define OBJFORMAT_PEi386 - # include <windows.h> -@@ -1095,12 +1099,19 @@ - - #if defined(OBJFORMAT_ELF) || defined(OBJFORMAT_MACHO) - static void *dl_prog_handle; -+static regex_t re_invalid; -+static regex_t re_realso; -+static void initLinkerCleanup( void ); -+#ifdef THREADED_RTS -+static Mutex dl_mutex; // mutex to protect dlopen/dlerror critical section -+#endif - #endif - - void - initLinker( void ) - { - RtsSymbolVal *sym; -+ int compileResult; - - /* Make initLinker idempotent, so we can call it - before evey relevant operation; that means we -@@ -1109,6 +1120,9 @@ - linker_init_done = 1; - } - -+#ifdef THREADED_RTS -+ initMutex(&dl_mutex); -+#endif - stablehash = allocStrHashTable(); - symhash = allocStrHashTable(); - -@@ -1127,6 +1141,15 @@ - # else - dl_prog_handle = dlopen(NULL, RTLD_LAZY); - # endif /* RTLD_DEFAULT */ -+ -+ compileResult = regcomp(&re_invalid, -+ "(([^ \t()])+\\.so([^ \t:()])*):([ \t])*invalid ELF header", -+ REG_EXTENDED); -+ ASSERT( compileResult == 0 ); -+ compileResult = regcomp(&re_realso, -+ "GROUP *\\( *(([^ )])+)", -+ REG_EXTENDED); -+ ASSERT( compileResult == 0 ); - # endif - - #if defined(x86_64_HOST_ARCH) -@@ -1147,6 +1170,19 @@ - #endif - } - -+void -+exitLinker( void ) { -+#if defined(OBJFORMAT_ELF) || defined(OBJFORMAT_MACHO) -+ if (linker_init_done == 1) { -+ regfree(&re_invalid); -+ regfree(&re_realso); -+#ifdef THREADED_RTS -+ closeMutex(&dl_mutex); -+#endif -+ } -+#endif -+} -+ - /* ----------------------------------------------------------------------------- - * Loading DLL or .so dynamic libraries - * ----------------------------------------------------------------------------- -@@ -1182,29 +1218,112 @@ - static OpenedDLL* opened_dlls = NULL; - #endif - --const char * --addDLL( char *dll_name ) --{ - # if defined(OBJFORMAT_ELF) || defined(OBJFORMAT_MACHO) -- /* ------------------- ELF DLL loader ------------------- */ -- void *hdl; -- const char *errmsg; - -- initLinker(); -+static char * -+internal_dlopen(const char *dll_name) -+{ -+ void *hdl; -+ char *errmsg, *errmsg_copy; - - // omitted: RTLD_NOW - // see http://www.haskell.org/pipermail/cvs-ghc/2007-September/038570.html -- hdl= dlopen(dll_name, RTLD_LAZY | RTLD_GLOBAL); -+ IF_DEBUG(linker, -+ debugBelch("internal_dlopen: dll_name = '%s'\n", dll_name)); - -+ //-------------- Begin critical section ------------------ -+ // This critical section is necessary because dlerror() is not -+ // required to be reentrant (see POSIX -- IEEE Std 1003.1-2008) -+ // Also, the error message returned must be copied to preserve it -+ // (see POSIX also) -+ -+ ACQUIRE_LOCK(&dl_mutex); -+ hdl = dlopen(dll_name, RTLD_LAZY | RTLD_GLOBAL); -+ -+ errmsg = NULL; - if (hdl == NULL) { - /* dlopen failed; return a ptr to the error msg. */ - errmsg = dlerror(); - if (errmsg == NULL) errmsg = "addDLL: unknown error"; -- return errmsg; -- } else { -+ errmsg_copy = stgMallocBytes(strlen(errmsg)+1, "addDLL"); -+ strcpy(errmsg_copy, errmsg); -+ errmsg = errmsg_copy; -+ } -+ RELEASE_LOCK(&dl_mutex); -+ //--------------- End critical section ------------------- -+ -+ return errmsg; -+} -+# endif -+ -+const char * -+addDLL( char *dll_name ) -+{ -+# if defined(OBJFORMAT_ELF) || defined(OBJFORMAT_MACHO) -+ /* ------------------- ELF DLL loader ------------------- */ -+ -+#define NMATCH 5 -+ regmatch_t match[NMATCH]; -+ char *errmsg; -+ FILE* fp; -+ size_t match_length; -+#define MAXLINE 1000 -+ char line[MAXLINE]; -+ int result; -+ -+ initLinker(); -+ -+ IF_DEBUG(linker, debugBelch("addDLL: dll_name = '%s'\n", dll_name)); -+ errmsg = internal_dlopen(dll_name); -+ -+ if (errmsg == NULL) { - return NULL; - } -- /*NOTREACHED*/ -+ -+ // GHC Trac ticket #2615 -+ // On some systems (e.g., Gentoo Linux) dynamic files (e.g. libc.so) -+ // contain linker scripts rather than ELF-format object code. This -+ // code handles the situation by recognizing the real object code -+ // file name given in the linker script. -+ // -+ // If an "invalid ELF header" error occurs, it is assumed that the -+ // .so file contains a linker script instead of ELF object code. -+ // In this case, the code looks for the GROUP ( ... ) linker -+ // directive. If one is found, the first file name inside the -+ // parentheses is treated as the name of a dynamic library and the -+ // code attempts to dlopen that file. If this is also unsuccessful, -+ // an error message is returned. -+ -+ // see if the error message is due to an invalid ELF header -+ IF_DEBUG(linker, debugBelch("errmsg = '%s'\n", errmsg)); -+ result = regexec(&re_invalid, errmsg, (size_t) NMATCH, match, 0); -+ IF_DEBUG(linker, debugBelch("result = %i\n", result)); -+ if (result == 0) { -+ // success -- try to read the named file as a linker script -+ match_length = (size_t) stg_min((match[1].rm_eo - match[1].rm_so), -+ MAXLINE-1); -+ strncpy(line, (errmsg+(match[1].rm_so)),match_length); -+ line[match_length] = '\0'; // make sure string is null-terminated -+ IF_DEBUG(linker, debugBelch ("file name = '%s'\n", line)); -+ if ((fp = fopen(line, "r")) == NULL) { -+ return errmsg; // return original error if open fails -+ } -+ // try to find a GROUP ( ... ) command -+ while (fgets(line, MAXLINE, fp) != NULL) { -+ IF_DEBUG(linker, debugBelch("input line = %s", line)); -+ if (regexec(&re_realso, line, (size_t) NMATCH, match, 0) == 0) { -+ // success -- try to dlopen the first named file -+ IF_DEBUG(linker, debugBelch("match%s\n","")); -+ line[match[1].rm_eo] = '\0'; -+ errmsg = internal_dlopen(line+match[1].rm_so); -+ break; -+ } -+ // if control reaches here, no GROUP ( ... ) directive was found -+ // and the original error message is returned to the caller -+ } -+ fclose(fp); -+ } -+ return errmsg; - - # elif defined(OBJFORMAT_PEi386) - /* ------------------- Win32 DLL loader ------------------- */ -@@ -4195,7 +4314,7 @@ - i++; - } - #endif -- else -+ else - { - barf ("Don't know how to handle this Mach-O " - "scattered relocation entry: " -@@ -4204,7 +4323,7 @@ - oc->fileName, scat->r_type, scat->r_address); - return 0; - } -- -+ - #ifdef powerpc_HOST_ARCH - if(scat->r_type == GENERIC_RELOC_VANILLA - || scat->r_type == PPC_RELOC_SECTDIFF) -@@ -4250,8 +4369,8 @@ - "object file %s; entry type %ld; address %#lx\n", - oc->fileName, scat->r_type, scat->r_address); - return 0; -- } -- -+ } -+ - } - else /* !(relocs[i].r_address & R_SCATTERED) */ - { -diff -rN -u old-ghc/rts/LinkerInternals.h new-ghc/rts/LinkerInternals.h ---- old-ghc/rts/LinkerInternals.h 2010-07-28 22:59:33.532759118 +0200 -+++ new-ghc/rts/LinkerInternals.h 2010-07-28 22:59:34.854758341 +0200 -@@ -109,4 +109,6 @@ - - extern ObjectCode *objects; - -+void exitLinker( void ); -+ - #endif /* LINKERINTERNALS_H */ -diff -rN -u old-ghc/rts/RtsStartup.c new-ghc/rts/RtsStartup.c ---- old-ghc/rts/RtsStartup.c 2010-07-28 22:59:33.537758009 +0200 -+++ new-ghc/rts/RtsStartup.c 2010-07-28 22:59:34.859758558 +0200 -@@ -34,6 +34,7 @@ - #include "Profiling.h" - #include "Timer.h" - #include "Globals.h" -+void exitLinker( void ); // there is no Linker.h file to include - - #if defined(RTS_GTK_FRONTPANEL) - #include "FrontPanel.h" -@@ -388,6 +389,9 @@ - /* free shared Typeable store */ - exitGlobalStore(); - -+ /* free linker data */ -+ exitLinker(); -+ - /* free file locking tables, if necessary */ - #if !defined(mingw32_HOST_OS) - freeFileLocking(); diff --git a/dev-lang/ghc/files/ghc-7.0.2-CHOST.patch b/dev-lang/ghc/files/ghc-7.0.2-CHOST.patch deleted file mode 100644 index 7479149a9efa..000000000000 --- a/dev-lang/ghc/files/ghc-7.0.2-CHOST.patch +++ /dev/null @@ -1,89 +0,0 @@ -Tue Mar 1 08:41:08 EET 2011 Sergei Trofimovich <slyfox@community.haskell.org> - * configure: triplet: accept i486 CPU (and more), more vendors and OSes - - Gentoo has interesting ports: - - - freebsd with following triplet: - ./configure --build=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8 - should be recognized as 'i386-unknown-freebsd' - - 'pc' vendor along with non-'i386' is very common: - ./configure --build=i486-pc-linux-gnu --i486-pc-linux-gnu --host=i486-pc-linux-gnu - ./configure --build=i686-pc-linux-gnu --i686-pc-linux-gnu --host=i686-pc-linux-gnu - should be recognized as 'i386-unknown-linux' - - Patch adds: - - - 'pc' vendor (maps to 'unknown') - - 'gentoo' vendor (maps to 'unknown') - - 'i486', 'i586', 'i686' CPUs (maps to 'i386') - - 'freebsd8' OS (maps to 'freebsd') -diff -rN -u old-ghc/aclocal.m4 new-ghc/aclocal.m4 ---- old-ghc/aclocal.m4 2011-03-04 13:26:18.512776569 +0200 -+++ new-ghc/aclocal.m4 2011-03-04 13:26:18.606776569 +0200 -@@ -1458,7 +1458,7 @@ - hppa*) - $2="hppa" - ;; -- i386) -+ i386|i486|i586|i686) - $2="i386" - ;; - ia64) -@@ -1511,7 +1511,15 @@ - # -------------------------------- - # converts vendor from gnu to ghc naming, and assigns the result to $target_var - AC_DEFUN([GHC_CONVERT_VENDOR],[ --$2="$1" -+ case "$1" in -+ pc|gentoo) # like i686-pc-linux-gnu and i686-gentoo-freebsd8 -+ $2="unknown" -+ ;; -+ *) -+ #pass thru by default -+ $2="$1" -+ ;; -+ esac - ]) - - # GHC_CONVERT_OS(os, target_var) -@@ -1526,6 +1534,9 @@ - freebsd|netbsd|openbsd|dragonfly|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix|haiku) - $2="$1" - ;; -+ freebsd8) # like i686-gentoo-freebsd8 -+ $2="freebsd" -+ ;; - *) - echo "Unknown OS $1" - exit 1 -Tue Mar 1 21:40:18 EET 2011 Sergei Trofimovich <slyfox@community.haskell.org> - * configure: amend sanity check - - As we perform some mangling of original --build/--host/--target - params we should check the result of mangling against desired triplet, - not originally passed by user. - - Patch also adds mangled triplets to the output. -diff -rN -u old-ghc/configure.ac new-ghc/configure.ac ---- old-ghc/configure.ac 2011-03-04 13:26:20.005776569 +0200 -+++ new-ghc/configure.ac 2011-03-04 13:26:20.319776569 +0200 -@@ -288,7 +288,7 @@ - - # Verify that the installed (bootstrap) GHC is capable of generating - # code for the requested build platform. --if test "$build" != "$bootstrap_target" -+if test "$BuildPlatform" != "$bootstrap_target" - then - echo "This GHC (${WithGhc}) does not generate code for the build platform" - echo " GHC target platform : $bootstrap_target" -@@ -296,6 +296,10 @@ - exit 1 - fi - -+echo "GHC build : $BuildPlatform" -+echo "GHC host : $HostPlatform" -+echo "GHC target : $TargetPlatform" -+ - AC_SUBST(BuildPlatform) - AC_SUBST(HostPlatform) - AC_SUBST(TargetPlatform) diff --git a/dev-lang/ghc/files/ghc-7.0.4-CHOST-softfloat.patch b/dev-lang/ghc/files/ghc-7.0.4-CHOST-softfloat.patch deleted file mode 100644 index 7b726d2f2116..000000000000 --- a/dev-lang/ghc/files/ghc-7.0.4-CHOST-softfloat.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/aclocal.m4 b/aclocal.m4 -index b10eeec..13988fe 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -1487,6 +1487,9 @@ AC_DEFUN([GHC_CONVERT_VENDOR],[ - pc|gentoo) # like i686-pc-linux-gnu and i686-gentoo-freebsd8 - $2="unknown" - ;; -+ softfloat) # like armv5tel-softfloat-linux-gnueabi -+ $2="unknown" -+ ;; - *) - #pass thru by default - $2="$1" diff --git a/dev-lang/ghc/files/ghc-7.0.4-fix-ppc-linker.patch b/dev-lang/ghc/files/ghc-7.0.4-fix-ppc-linker.patch deleted file mode 100644 index 42caa7f7db88..000000000000 --- a/dev-lang/ghc/files/ghc-7.0.4-fix-ppc-linker.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 243c304273a1254418aeacf4d81cadb2d59945ad -Author: Erik de Castro Lopo <erikd@mega-nerd.com> -Date: Mon Apr 4 22:40:15 2011 +1000 - - Fix compiling on linux-powerpc. - -diff --git a/rts/Linker.c b/rts/Linker.c -index 5285ec6..c840857 100644 ---- a/rts/Linker.c -+++ b/rts/Linker.c -@@ -2572,7 +2572,11 @@ static void - ocFlushInstructionCache( ObjectCode *oc ) - { - /* The main object code */ -- ocFlushInstructionCacheFrom(oc->image + oc->misalignment, oc->fileSize); -+ ocFlushInstructionCacheFrom(oc->image -+#ifdef darwin_HOST_OS -+ + oc->misalignment -+#endif -+ , oc->fileSize); - - /* Jump Islands */ - ocFlushInstructionCacheFrom(oc->symbol_extras, sizeof(SymbolExtra) * oc->n_symbol_extras); diff --git a/dev-lang/ghc/files/ghc-7.0.4-nxstack.patch b/dev-lang/ghc/files/ghc-7.0.4-nxstack.patch deleted file mode 100644 index 791e8defb90a..000000000000 --- a/dev-lang/ghc/files/ghc-7.0.4-nxstack.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 25bf3687361501e711d50a8038f0f8de4a2d2aa3 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich <slyfox@gentoo.org> -Date: Wed, 10 Aug 2011 11:01:26 +0300 -Subject: [PATCH] Mark stack of 'rts/AdjustorAsm.S' as nonexecutable on linux - -Gentoo's scanelf program found executable stack in many resulting binaries: -* RWX --- --- home/prefix/gentoo/usr/lib/ghc-7.2.1/ghc -* !WX --- --- home/prefix/gentoo/usr/lib/ghc-7.2.1/libHSrts.a:AdjustorAsm.o - -More info can be found here: http://www.gentoo.org/proj/en/hardened/gnu-stack.xml - -Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> ---- - rts/AdjustorAsm.S | 4 ++++ - 1 files changed, 4 insertions(+), 0 deletions(-) - -diff --git a/rts/AdjustorAsm.S b/rts/AdjustorAsm.S -index 75b83f6..8045bfe 100644 ---- a/rts/AdjustorAsm.S -+++ b/rts/AdjustorAsm.S -@@ -192,3 +192,7 @@ adjustorCode: - ret - #endif - -+/* mark stack as nonexecutable */ -+#if defined(__linux__) && defined(__ELF__) -+.section .note.GNU-stack,"",@progbits -+#endif --- -1.7.3.4 - diff --git a/dev-lang/ghc/files/ghc-apply-gmp-hack b/dev-lang/ghc/files/ghc-apply-gmp-hack deleted file mode 100644 index 32a3a8f1f7cf..000000000000 --- a/dev-lang/ghc/files/ghc-apply-gmp-hack +++ /dev/null @@ -1,60 +0,0 @@ -# This script is expected to be sourced by ghc ebuilds built against libgmp.so.3 library -# -# What it does and why it works: -# > GMP 5.0 is upwardly source and binary compatible with 4.x, and 3.x versions, -# > except for applications that use the semi-documented mpn_bdivmod function. -# -# > The solib numbers now reflect the removal of the documented but preliminary -# > mpn_bdivmod function; we correctly flag incompatibility with GMP 4.3. -# > GMP 5.0.0 has this wrong, and should perhaps be uninstalled to avoid confusion. -# -# taken from http://gmplib.org/gmp5.0.html -# -# Luckily, ghc does not use the 'mpn_bdivmod' function, so we can easily use -# libgmp.so.10 for binaries which require libgmp.so.3 -# -# So, this script checks whether this system has libgmp.so.10 and if has -# shows it to bootstrapper-compiler via populating LD_LIBRARY_PATH -# (it actually exports function doing this) -# -# After bootstrapping resulting compiler will not depend on old libgmp -# Newer ghc binaries must be built against newer gmp -# -# Blames should be directed to Sergei Trofimovich <slyfox@gentoo.org> - -# should be used as: -# > inherit multilib -# > ... -# > # somewhere in src_unpack() { # as early as possible, right after unpacking source/binary -# > source "${FILESDIR}/ghc-apply-gmp-hack" "$(get_libdir)" - -local libdir_name=$1 -# let's see if we are in affected system -if has_version '>=dev-libs/gmp-5.0.1'; then - has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}" - local libgmpso3=${EROOT}/usr/$libdir_name/libgmp.so.3 - local libgmpso10=${EROOT}/usr/$libdir_name/libgmp.so.10 - - # bother user only if things won't work for him - if [[ ! -e "$libgmpso3" ]]; then - if use binary; then - eerror "You have requested precompiled binary installation, which is" - eerror "built against 'libgmp.so.3'. You can create compatibility symlink" - eerror "if you have '$libgmpso10' and wish to use installed binary:" - eerror " # ln -s libgmp.so.10 '$libgmpso3'" - die "libgmp.so.3 not found" - else - if [[ -e "$libgmpso10" ]]; then - local fake_solib_dir=${S}/fake_solibs - mkdir "$fake_solib_dir" || die "failed to make fake lib dir" - elog "Enabling libgmp hack:" - elog "| Making symlink: '$fake_solib_dir/libgmp.so.3' -> '$libgmpso10'" - ln -s "$libgmpso10" "$fake_solib_dir/libgmp.so.3" || die "failed to make fake symlink" - export LD_LIBRARY_PATH=$fake_solib_dir${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH - elog "| setting new LD_LIBRARY_PATH='$LD_LIBRARY_PATH'" - else - eerror "'$libgmpso3' and '$libgmpso10' are not found. Please, report the breakage." - fi - fi - fi -fi diff --git a/dev-lang/ghc/ghc-6.12.3-r2.ebuild b/dev-lang/ghc/ghc-6.12.3-r2.ebuild deleted file mode 100644 index cf09071523d0..000000000000 --- a/dev-lang/ghc/ghc-6.12.3-r2.ebuild +++ /dev/null @@ -1,579 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-6.12.3-r2.ebuild,v 1.11 2014/09/07 06:29:23 slyfox Exp $ - -# Brief explanation of the bootstrap logic: -# -# Previous ghc ebuilds have been split into two: ghc and ghc-bin, -# where ghc-bin was primarily used for bootstrapping purposes. -# From now on, these two ebuilds have been combined, with the -# binary USE flag used to determine whether or not the pre-built -# binary package should be emerged or whether ghc should be compiled -# from source. If the latter, then the relevant ghc-bin for the -# arch in question will be used in the working directory to compile -# ghc from source. -# -# This solution has the advantage of allowing us to retain the one -# ebuild for both packages, and thus phase out virtual/ghc. - -# Note to users of hardened gcc-3.x: -# -# If you emerge ghc with hardened gcc it should work fine (because we -# turn off the hardened features that would otherwise break ghc). -# However, emerging ghc while using a vanilla gcc and then switching to -# hardened gcc (using gcc-config) will leave you with a broken ghc. To -# fix it you would need to either switch back to vanilla gcc or re-emerge -# ghc (or ghc-bin). Note that also if you are using hardened gcc-3.x and -# you switch to gcc-4.x that this will also break ghc and you'll need to -# re-emerge ghc (or ghc-bin). People using vanilla gcc can switch between -# gcc-3.x and 4.x with no problems. - -EAPI="3" - -inherit base autotools bash-completion eutils flag-o-matic multilib toolchain-funcs ghc-package versionator pax-utils - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -arch_binaries="" - -arch_binaries="$arch_binaries alpha? ( http://code.haskell.org/~slyfox/ghc-alpha/ghc-bin-${PV}-alpha-haddock.tbz2 )" -arch_binaries="$arch_binaries x86? ( mirror://gentoo/ghc-bin-${PV}-x86.tbz2 )" -arch_binaries="$arch_binaries amd64? ( mirror://gentoo/ghc-bin-${PV}-amd64.tbz2 )" -arch_binaries="$arch_binaries ia64? ( http://code.haskell.org/~slyfox/ghc-ia64/ghc-bin-${PV}-ia64-haddock.tbz2 )" -arch_binaries="$arch_binaries sparc? ( http://code.haskell.org/~slyfox/ghc-sparc/ghc-bin-${PV}-sparc.tbz2 )" -arch_binaries="$arch_binaries ppc64? ( mirror://gentoo/ghc-bin-${PV}-ppc64.tbz2 )" -arch_binaries="$arch_binaries ppc? ( mirror://gentoo/ghc-bin-${PV}-ppc.tbz2 )" - -# various ports: -arch_binaries="$arch_binaries x86-fbsd? ( http://code.haskell.org/~slyfox/ghc-x86-fbsd/ghc-bin-${PV}-x86-fbsd.tbz2 )" - -# prefix ports: -arch_binaries="$arch_binaries x86-macos? ( http://www.haskell.org/ghc/dist/6.10.1/maeder/ghc-6.10.1-i386-apple-darwin.tar.bz2 )" -arch_binaries="$arch_binaries ppc-macos? ( http://www.haskell.org/ghc/dist/6.10.1/maeder/ghc-6.10.1-powerpc-apple-darwin.tar.bz2 )" -arch_binaries="$arch_binaries x86-solaris? ( http://www.haskell.org/ghc/dist/6.10.4/maeder/ghc-6.10.4-i386-unknown-solaris2.tar.bz2 )" -arch_binaries="$arch_binaries sparc-solaris? ( http://www.haskell.org/ghc/dist/6.10.4/maeder/ghc-6.10.4-sparc-sun-solaris2.tar.bz2 )" - -SRC_URI="!binary? ( http://darcs.haskell.org/download/dist/${PV}/${P}-src.tar.bz2 ) - !ghcbootstrap? ( $arch_binaries )" -LICENSE="BSD" -SLOT="0" -KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" -IUSE="binary doc ghcbootstrap" - -RDEPEND=" - !dev-lang/ghc-bin - !kernel_Darwin? ( >=sys-devel/gcc-2.95.3 ) - kernel_linux? ( >=sys-devel/binutils-2.17 ) - kernel_SunOS? ( >=sys-devel/binutils-2.17 ) - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-4.1 - !<dev-haskell/haddock-2.4.2 - sys-libs/ncurses[unicode]" -# earlier versions than 2.4.2 of haddock only works with older ghc releases - -DEPEND="${RDEPEND} - ghcbootstrap? ( doc? ( ~app-text/docbook-xml-dtd-4.2 - app-text/docbook-xsl-stylesheets - >=dev-libs/libxslt-1.1.2 ) )" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -PDEPEND="!ghcbootstrap? ( || ( =app-admin/haskell-updater-1.2* =app-admin/haskell-updater-1.1* ) )" - -# use undocumented feature STRIP_MASK to fix this issue: -# http://hackage.haskell.org/trac/ghc/ticket/3580 -STRIP_MASK="*/HSffi.o" - -use binary && QA_PREBUILT="*" - -append-ghc-cflags() { - local flag compile assemble link - for flag in $*; do - case ${flag} in - compile) compile="yes";; - assemble) assemble="yes";; - link) link="yes";; - *) - [[ ${compile} ]] && GHC_CFLAGS="${GHC_CFLAGS} -optc${flag}" - [[ ${assemble} ]] && GHC_CFLAGS="${GHC_CFLAGS} -opta${flag}" - [[ ${link} ]] && GHC_CFLAGS="${GHC_CFLAGS} -optl${flag}";; - esac - done -} - -ghc_setup_cflags() { - # We need to be very careful with the CFLAGS we ask ghc to pass through to - # gcc. There are plenty of flags which will make gcc produce output that - # breaks ghc in various ways. The main ones we want to pass through are - # -mcpu / -march flags. These are important for arches like alpha & sparc. - # We also use these CFLAGS for building the C parts of ghc, ie the rts. - strip-flags - strip-unsupported-flags - - # Cmm can't parse line numbers #482086 - replace-flags -ggdb[3-9] -ggdb2 - - GHC_CFLAGS="" - for flag in ${CFLAGS}; do - case ${flag} in - - # Ignore extra optimisation (ghc passes -O to gcc anyway) - # -O2 and above break on too many systems - -O*) ;; - - # Arch and ABI flags are what we're really after - -m*) append-ghc-cflags compile assemble ${flag};; - - # Debugging flags don't help either. You can't debug Haskell code - # at the C source level and the mangler discards the debug info. - -g*) ;; - - # Ignore all other flags, including all -f* flags - esac - done - - # hardened-gcc needs to be disabled, because the mangler doesn't accept - # its output. - gcc-specs-pie && append-ghc-cflags compile link -nopie - gcc-specs-ssp && append-ghc-cflags compile -fno-stack-protector - - # prevent from failind building unregisterised ghc: - # http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html - use ppc64 && append-ghc-cflags compile -mminimal-toc - # fix the similar issue as ppc64 TOC on ia64. ia64 has limited size of small data - # currently ghc fails to build haddock - # http://osdir.com/ml/gnu.binutils.bugs/2004-10/msg00050.html - use ia64 && append-ghc-cflags compile -G0 -} - -# substitutes string $1 to $2 in files $3 $4 ... -relocate_path() { - local from=$1 - local to=$2 - shift 2 - local file= - for file in "$@" - do - sed -i -e "s|$from|$to|g" \ - "$file" || die "path relocation failed for '$file'" - done -} - -# changes hardcoded ghc paths and updates package index -# $1 - new absolute root path -relocate_ghc() { - local to=$1 - - # backup original script to use it later after relocation - local gp_back="${T}/ghc-pkg-${PV}-orig" - cp "${WORKDIR}/usr/bin/ghc-pkg-${PV}" "$gp_back" || die "unable to backup ghc-pkg wrapper" - - # Relocate from /usr to ${EPREFIX}/usr - relocate_path "/usr" "${to}/usr" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - "${WORKDIR}/usr/$(get_libdir)/${P}/package.conf.d/"* - - # this one we will use to regenerate cache - # so it shoult point to current tree location - relocate_path "/usr" "${WORKDIR}/usr" "$gp_back" - - if use prefix; then - # and insert LD_LIBRARY_PATH entry to EPREFIX dir tree - # TODO: add the same for darwin's CHOST and it's DYLD_ - local new_ldpath='LD_LIBRARY_PATH="'${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)'${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"\nexport LD_LIBRARY_PATH' - sed -i -e '2i'"$new_ldpath" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "$gp_back" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - || die "Adding LD_LIBRARY_PATH for wrappers failed" - fi - - # regenerate the binary package cache - "$gp_back" recache || die "failed to update cache after relocation" - rm "$gp_back" -} - -pkg_setup() { - if use ghcbootstrap; then - ewarn "You requested ghc bootstrapping, this is usually only used" - ewarn "by Gentoo developers to make binary .tbz2 packages for" - ewarn "use with the ghc ebuild's USE=\"binary\" feature." - use binary && \ - die "USE=\"ghcbootstrap binary\" is not a valid combination." - [[ -z $(type -P ghc) ]] && \ - die "Could not find a ghc to bootstrap with." - fi -} - -src_unpack() { - # Create the ${S} dir if we're using the binary version - use binary && mkdir "${S}" - - # the Solaris and Darwin binaries from ghc (maeder) need to be - # unpacked separately, so prevent them from being unpacked - local ONLYA=${A} - case ${CHOST} in - *-darwin* | *-solaris*) ONLYA=${P}-src.tar.bz2 ;; - esac - unpack ${ONLYA} -} - -src_prepare() { - [[ ${CHOST} != *-darwin* ]] && \ - source "${FILESDIR}/ghc-apply-gmp-hack" "$(get_libdir)" - - ghc_setup_cflags - - if ! use ghcbootstrap && [[ ${CHOST} != *-darwin* && ${CHOST} != *-solaris* ]]; then - # Modify the wrapper script from the binary tarball to use GHC_CFLAGS. - # See bug #313635. - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_CFLAGS}|" \ - "${WORKDIR}/usr/bin/ghc-${PV}" - - # allow hardened users use vanilla binary to bootstrap ghc - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${P}/ghc" - fi - - if use binary; then - if use prefix; then - relocate_ghc "${EPREFIX}" - fi - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - else - if ! use ghcbootstrap; then - case ${CHOST} in - *-darwin* | *-solaris*) - mkdir "${WORKDIR}"/ghc-bin-installer || die - pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die - use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2 - use x86-solaris && unpack ghc-6.10.4-i386-unknown-solaris2.tar.bz2 - use ppc-macos && unpack ghc-6.10.1-powerpc-apple-darwin.tar.bz2 - use x86-macos && unpack ghc-6.10.1-i386-apple-darwin.tar.bz2 - popd > /dev/null - - pushd "${WORKDIR}"/ghc-bin-installer/ghc-6.10.? > /dev/null || die - # fix the binaries so they run, on Solaris we need an - # LD_LIBRARY_PATH which has our prefix libdirs, on - # Darwin we need to replace the frameworks with our libs - # from the prefix fix before installation, because some - # of the tools are actually used during configure/make - if [[ ${CHOST} == *-solaris* ]] ; then - export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" - elif [[ ${CHOST} == *-darwin* ]] ; then - # http://hackage.haskell.org/trac/ghc/ticket/2942 - pushd utils/haddock/dist-install/build > /dev/null - ln -s Haddock haddock >& /dev/null # fails on IN-sensitive - popd > /dev/null - - local readline_framework=GNUreadline.framework/GNUreadline - local gmp_framework=/opt/local/lib/libgmp.3.dylib - local ncurses_file=/opt/local/lib/libncurses.5.dylib - for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do - install_name_tool -change \ - ${readline_framework} \ - "${EPREFIX}"/lib/libreadline.dylib \ - ${binary} || die - install_name_tool -change \ - ${gmp_framework} \ - "${EPREFIX}"/usr/lib/libgmp.dylib \ - ${binary} || die - install_name_tool -change \ - ${ncurses_file} \ - "${EPREFIX}"/usr/lib/libncurses.dylib \ - ${binary} || die - done - # we don't do frameworks! - sed -i \ - -e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \ - -e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \ - rts/package.conf.in || die - fi - - # it is autoconf, but we really don't want to give it too - # much arguments, in fact we do the make in-place anyway - ./configure --prefix="${WORKDIR}"/usr || die - make install || die - popd > /dev/null - ;; - *) - relocate_ghc "${WORKDIR}" - ;; - esac - fi - - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_CFLAGS}|" \ - "${S}/ghc/ghc.wrapper" - - # Since GHC 6.12.2 the GHC wrappers store which GCC version GHC was - # compiled with, by saving the path to it. The purpose is to make sure - # that GHC will use the very same gcc version when it compiles haskell - # sources, as the extra-gcc-opts files contains extra gcc options which - # match only this GCC version. - # However, this is not required in Gentoo, as only modern GCCs are used - # (>4). - # Instead, this causes trouble when for example ccache is used during - # compilation, but we don't want the wrappers to point to ccache. - # Due to the above, we simply remove GCC from the wrappers, which forces - # GHC to use GCC from the users path, like previous GHC versions did. - - # Remove path to gcc - sed -i -e '/pgmgcc/d' \ - "${S}/rules/shell-wrapper.mk" - - # Remove usage of the path to gcc - sed -i -e 's/-pgmc "$pgmgcc"//' \ - "${S}/ghc/ghc.wrapper" - - cd "${S}" # otherwise epatch will break - - epatch "${FILESDIR}/ghc-6.12.1-configure-CHOST.patch" - epatch "${FILESDIR}/ghc-6.12.2-configure-CHOST-part2.patch" - epatch "${FILESDIR}/ghc-6.12.3-configure-CHOST-freebsd.patch" - epatch "${FILESDIR}/ghc-6.12.3-configure-CHOST-prefix.patch" - - # -r and --relax are incompatible - epatch "${FILESDIR}/ghc-6.12.3-ia64-fixed-relax.patch" - - # prevent from wiping upper address bits used in cache lookup - epatch "${FILESDIR}/ghc-6.12.3-ia64-storage-manager-fix.patch" - - # fixes build failure of adjustor code - epatch "${FILESDIR}/ghc-6.12.3-alpha-use-libffi-for-foreign-import-wrapper.patch" - - # native adjustor (NA) code is broken: interactive darcs-2.4 coredumps on NA - epatch "${FILESDIR}/ghc-6.12.3-ia64-use-libffi-for-foreign-import-wrapper.patch" - - # same with NA on ppc - epatch "${FILESDIR}/ghc-6.12.3-ppc-use-libffi-for-foreign-import-wrapper.patch" - - # substitute outdated macros - epatch "${FILESDIR}/ghc-6.12.3-autoconf-2.66-4252.patch" - - # ticket 2615, linker scripts - # breaks Darwin - [[ ${CHOST} != *-darwin* ]] && \ - epatch "${FILESDIR}/ghc-6.12.3-ticket-2615-linker-script.patch" - - # export typechecker internals even if ghci is disabled - # http://hackage.haskell.org/trac/ghc/ticket/3558 - epatch "${FILESDIR}/ghc-6.12.3-ghciless-haddock-3558.patch" - - # This patch unbreaks ghci on GRSEC kernels hardened with - # TPE (Trusted Path Execution) protection. - epatch "${FILESDIR}/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch" - - epatch "${FILESDIR}"/${P}-pic-powerpc.patch - epatch "${FILESDIR}"/${P}-darwin8.patch - epatch "${FILESDIR}"/${P}-mach-o-relocation-limit.patch - epatch "${FILESDIR}"/${P}-powerpc-darwin-no-mmap.patch - - if use prefix; then - # Make configure find docbook-xsl-stylesheets from Prefix - sed -i -e '/^FP_DIR_DOCBOOK_XSL/s:\[.*\]:['"${EPREFIX}"'/usr/share/sgml/docbook/xsl-stylesheets/]:' configure.ac || die - fi - - # disable bitrot bfd support, bug #522268 - sed -i -e 's/^AC_CHECK_LIB(bfd, bfd_init)$/dnl &/' configure.ac || die - - # as we have changed the build system - eautoreconf - fi -} - -src_configure() { - if ! use binary; then - - # initialize build.mk - echo '# Gentoo changes' > mk/build.mk - - # Put docs into the right place, ie /usr/share/doc/ghc-${PV} - echo "docdir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - echo "htmldir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - - # We also need to use the GHC_CFLAGS flags when building ghc itself - echo "SRC_HC_OPTS+=${GHC_CFLAGS}" >> mk/build.mk - case $($(tc-getAS) -v 2>&1 </dev/null) in - *"GNU Binutils"*) # GNU ld - echo "SRC_CC_OPTS+=${CFLAGS} -Wa,--noexecstack" >> mk/build.mk - ;; - esac - - # We can't depend on haddock except when bootstrapping when we - # must build docs and include them into the binary .tbz2 package - if use ghcbootstrap && use doc; then - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = YES" >> mk/build.mk - echo "HADDOCK_DOCS = YES" >> mk/build.mk - else - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = NO" >> mk/build.mk - echo "HADDOCK_DOCS = NO" >> mk/build.mk - fi - - sed -e "s|utils/haddock_dist_INSTALL_SHELL_WRAPPER = YES|utils/haddock_dist_INSTALL_SHELL_WRAPPER = NO|" \ - -i utils/haddock/ghc.mk - - # circumvent a very strange bug that seems related with ghc producing - # too much output while being filtered through tee (e.g. due to - # portage logging) reported as bug #111183 - echo "SRC_HC_OPTS+=-w" >> mk/build.mk - - # some arches do not support ELF parsing for ghci module loading - # PPC64: never worked (should be easy to implement) - # alpha: never worked - if use alpha || use ppc64; then - echo "GhcWithInterpreter=NO" >> mk/build.mk - fi - - # we have to tell it to build unregisterised on some arches - # ppc64: EvilMangler currently does not understand some TOCs - # ia64: EvilMangler bitrot - if use alpha || use ia64 || use ppc64; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - echo "SplitObjs=NO" >> mk/build.mk - echo "GhcRTSWays := debug" >> mk/build.mk - echo "GhcNotThreaded=YES" >> mk/build.mk - fi - - # Have "ld -r --relax" problem with split-objs on sparc: - if use sparc; then - echo "SplitObjs=NO" >> mk/build.mk - fi - - # Get ghc from the unpacked binary .tbz2 - # except when bootstrapping we just pick ghc up off the path - if ! use ghcbootstrap; then - export PATH="${WORKDIR}/usr/bin:${PATH}" - fi - - econf || die "econf failed" - fi # ! use binary -} - -src_compile() { - if ! use binary; then - # LC_ALL needs to workaround ghc's ParseCmm failure on some (es) locales - # bug #202212 / http://hackage.haskell.org/trac/ghc/ticket/4207 - LC_ALL=C emake -j1 all || die "make failed" - fi # ! use binary -} - -src_install() { - if use binary; then - mv "${S}/usr" "${ED}" - - # Remove the docs if not requested - if ! use doc; then - rm -rf "${ED}/usr/share/doc/${P}/*/" \ - "${ED}/usr/share/doc/${P}/*.html" \ - || die "could not remove docs (P vs PF revision mismatch?)" - fi - else - local insttarget="install" - - # We only built docs if we were bootstrapping, otherwise - # we copy them out of the unpacked binary .tbz2 - if use doc; then - if ! use ghcbootstrap; then - mkdir -p "${ED}/usr/share/doc" - mv "${WORKDIR}/usr/share/doc/${P}" "${ED}/usr/share/doc" \ - || die "failed to copy docs" - fi - fi - - emake -j1 ${insttarget} \ - DESTDIR="${D}" \ - || die "make ${insttarget} failed" - - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - # so mark resulting binary - pax-mark -m "${ED}/usr/$(get_libdir)/${P}/ghc" - - dodoc "${S}/README" "${S}/ANNOUNCE" "${S}/LICENSE" "${S}/VERSION" - - dobashcompletion "${FILESDIR}/ghc-bash-completion" - - fi - - # path to the package.cache - PKGCACHE="${ED}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # copy the package.conf, including timestamp, save it so we later can put it - # back before uninstalling, or when upgrading. - cp -p "${PKGCACHE}"{,.shipped} \ - || die "failed to copy package.conf.d/package.cache" -} - -pkg_preinst() { - # have we got an earlier version of ghc installed? - if has_version "<${CATEGORY}/${PF}"; then - haskell_updater_warn="1" - fi -} - -pkg_postinst() { - ghc-reregister - - # path to the package.cache - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # give the cache a new timestamp, it must be as recent as - # the package.conf.d directory. - touch "${PKGCACHE}" - - if [[ "${haskell_updater_warn}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of GHC." - ewarn "You may have to run" - ewarn " 'haskell-updater --upgrade'" - ewarn "to rebuild all ghc-based Haskell libraries." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - fi - - bash-completion_pkg_postinst -} - -pkg_prerm() { - # Be very careful here... Call order when upgrading is (according to PMS): - # * src_install for new package - # * pkg_preinst for new package - # * pkg_postinst for new package - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # so you'll actually be touching the new packages files, not the one you - # uninstall, due to that or installation directory ${P} will be the same for - # both packages. - - # Call order for reinstalling is (according to PMS): - # * src_install - # * pkg_preinst - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # * pkg_postinst - - # Overwrite the modified package.cache with a copy of the - # original one, so that it will be removed during uninstall. - - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - rm -rf "${PKGCACHE}" - - cp -p "${PKGCACHE}"{.shipped,} -} diff --git a/dev-lang/ghc/ghc-7.0.4.ebuild b/dev-lang/ghc/ghc-7.0.4.ebuild deleted file mode 100644 index 4e61efedd17a..000000000000 --- a/dev-lang/ghc/ghc-7.0.4.ebuild +++ /dev/null @@ -1,600 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.0.4.ebuild,v 1.10 2014/09/07 06:29:23 slyfox Exp $ - -# Brief explanation of the bootstrap logic: -# -# Previous ghc ebuilds have been split into two: ghc and ghc-bin, -# where ghc-bin was primarily used for bootstrapping purposes. -# From now on, these two ebuilds have been combined, with the -# binary USE flag used to determine whether or not the pre-built -# binary package should be emerged or whether ghc should be compiled -# from source. If the latter, then the relevant ghc-bin for the -# arch in question will be used in the working directory to compile -# ghc from source. -# -# This solution has the advantage of allowing us to retain the one -# ebuild for both packages, and thus phase out virtual/ghc. - -# Note to users of hardened gcc-3.x: -# -# If you emerge ghc with hardened gcc it should work fine (because we -# turn off the hardened features that would otherwise break ghc). -# However, emerging ghc while using a vanilla gcc and then switching to -# hardened gcc (using gcc-config) will leave you with a broken ghc. To -# fix it you would need to either switch back to vanilla gcc or re-emerge -# ghc (or ghc-bin). Note that also if you are using hardened gcc-3.x and -# you switch to gcc-4.x that this will also break ghc and you'll need to -# re-emerge ghc (or ghc-bin). People using vanilla gcc can switch between -# gcc-3.x and 4.x with no problems. - -EAPI="3" - -inherit base autotools bash-completion eutils flag-o-matic multilib toolchain-funcs ghc-package versionator pax-utils - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# we don't have any binaries yet -arch_binaries="" - -# sorted! -arch_binaries="$arch_binaries alpha? ( http://code.haskell.org/~slyfox/ghc-alpha/ghc-bin-${PV}-alpha.tbz2 )" -arch_binaries="$arch_binaries arm? ( http://code.haskell.org/~slyfox/ghc-arm/ghc-bin-${PV}-arm.tbz2 )" -arch_binaries="$arch_binaries amd64? ( http://code.haskell.org/~slyfox/ghc-amd64/ghc-bin-${PV}-amd64.tbz2 )" -#arch_binaries="$arch_binaries ia64? ( http://code.haskell.org/~slyfox/ghc-ia64/ghc-bin-${PV}-ia64-fixed-fiw.tbz2 )" -arch_binaries="$arch_binaries ppc? ( mirror://gentoo/ghc-bin-${PV}-ppc.tbz2 )" -arch_binaries="$arch_binaries ppc64? ( http://code.haskell.org/~slyfox/ghc-ppc64/ghc-bin-${PV}-ppc64.tbz2 )" -arch_binaries="$arch_binaries sparc? ( http://code.haskell.org/~slyfox/ghc-sparc/ghc-bin-${PV}-sparc.tbz2 )" -arch_binaries="$arch_binaries x86? ( http://code.haskell.org/~slyfox/ghc-x86/ghc-bin-${PV}-x86.tbz2 )" - -# various ports: -#arch_binaries="$arch_binaries x86-fbsd? ( http://code.haskell.org/~slyfox/ghc-x86-fbsd/ghc-bin-${PV}-x86-fbsd.tbz2 )" - -# 0 - yet -yet_binary() { - case "${ARCH}" in - alpha) - return 0 - ;; - arm) - ewarn "ARM binary is built on armv5tel-eabi toolchain. Use with caution." - return 0 - ;; - amd64) - return 0 - ;; - ppc64) - return 0 - ;; - sparc) - return 0 - ;; - x86) - return 0 - ;; - ppc) - return 0 - ;; - *) - return 1 - ;; - esac -} - -SRC_URI="!binary? ( http://www.haskell.org/ghc/dist/${PV}/${P}-src.tar.bz2 )" -[[ -n $arch_binaries ]] && SRC_URI+=" !ghcbootstrap? ( $arch_binaries )" -LICENSE="BSD" -SLOT="0" -# ghc on ia64 needs gcc to support -mcmodel=medium (or some dark hackery) to avoid TOC overflow -KEYWORDS="~alpha ~amd64 -ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" -IUSE="doc ghcbootstrap llvm" -IUSE+=" binary" # don't forget about me later! - -RDEPEND=" - !kernel_Darwin? ( >=sys-devel/gcc-2.95.3 ) - kernel_linux? ( >=sys-devel/binutils-2.17 ) - kernel_SunOS? ( >=sys-devel/binutils-2.17 ) - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-5 - !<dev-haskell/haddock-2.4.2 - sys-libs/ncurses[unicode]" -# earlier versions than 2.4.2 of haddock only works with older ghc releases - -# force dependency on >=gmp-5, even if >=gmp-4.1 would be enough. this is due to -# that we want the binaries to use the latest versioun available, and not to be -# built against gmp-4 - -DEPEND="${RDEPEND} - ghcbootstrap? ( doc? ( app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-stylesheets - >=dev-libs/libxslt-1.1.2 ) )" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -PDEPEND="!ghcbootstrap? ( =app-admin/haskell-updater-1.2* )" -PDEPEND=" - ${PDEPEND} - dev-haskell/syb - llvm? ( sys-devel/llvm )" - -use binary && QA_PREBUILT="*" - -append-ghc-cflags() { - local flag compile assemble link - for flag in $*; do - case ${flag} in - compile) compile="yes";; - assemble) assemble="yes";; - link) link="yes";; - *) - [[ ${compile} ]] && GHC_FLAGS="${GHC_FLAGS} -optc${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${assemble} ]] && GHC_FLAGS="${GHC_FLAGS} -opta${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${link} ]] && GHC_FLAGS="${GHC_FLAGS} -optl${flag}" FILTERED_LDFLAGS="${FILTERED_LDFLAGS} ${flag}";; - esac - done -} - -ghc_setup_cflags() { - # We need to be very careful with the CFLAGS we ask ghc to pass through to - # gcc. There are plenty of flags which will make gcc produce output that - # breaks ghc in various ways. The main ones we want to pass through are - # -mcpu / -march flags. These are important for arches like alpha & sparc. - # We also use these CFLAGS for building the C parts of ghc, ie the rts. - strip-flags - strip-unsupported-flags - - # Cmm can't parse line numbers #482086 - replace-flags -ggdb[3-9] -ggdb2 - - GHC_FLAGS="" - for flag in ${CFLAGS}; do - case ${flag} in - - # Ignore extra optimisation (ghc passes -O to gcc anyway) - # -O2 and above break on too many systems - -O*) ;; - - # Arch and ABI flags are what we're really after - -m*) append-ghc-cflags compile assemble ${flag};; - - # Debugging flags don't help either. You can't debug Haskell code - # at the C source level and the mangler discards the debug info. - -g*) ;; - - # Ignore all other flags, including all -f* flags - esac - done - - FILTERED_LDFLAGS="" - for flag in ${LDFLAGS}; do - case ${flag} in - # Pass the canary. we don't quite respect LDFLAGS, but we have an excuse! - "-Wl,--hash-style="*) append-ghc-cflags link ${flag};; - - # Ignore all other flags - esac - done - - # hardened-gcc needs to be disabled, because the mangler doesn't accept - # its output. - gcc-specs-pie && append-ghc-cflags compile link -nopie - gcc-specs-ssp && append-ghc-cflags compile -fno-stack-protector - - # prevent from failind building unregisterised ghc: - # http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html - use ppc64 && append-ghc-cflags compile -mminimal-toc - # fix the similar issue as ppc64 TOC on ia64. ia64 has limited size of small data - # currently ghc fails to build haddock - # http://osdir.com/ml/gnu.binutils.bugs/2004-10/msg00050.html - use ia64 && append-ghc-cflags compile -G0 -} - -# substitutes string $1 to $2 in files $3 $4 ... -relocate_path() { - local from=$1 - local to=$2 - shift 2 - local file= - for file in "$@" - do - sed -i -e "s|$from|$to|g" \ - "$file" || die "path relocation failed for '$file'" - done -} - -# changes hardcoded ghc paths and updates package index -# $1 - new absolute root path -relocate_ghc() { - local to=$1 - - # backup original script to use it later after relocation - local gp_back="${T}/ghc-pkg-${PV}-orig" - cp "${WORKDIR}/usr/bin/ghc-pkg-${PV}" "$gp_back" || die "unable to backup ghc-pkg wrapper" - - # Relocate from /usr to ${EPREFIX}/usr - relocate_path "/usr" "${to}/usr" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - "${WORKDIR}/usr/$(get_libdir)/${P}/package.conf.d/"* - - # this one we will use to regenerate cache - # so it shoult point to current tree location - relocate_path "/usr" "${WORKDIR}/usr" "$gp_back" - - if use prefix; then - # and insert LD_LIBRARY_PATH entry to EPREFIX dir tree - # TODO: add the same for darwin's CHOST and it's DYLD_ - local new_ldpath='LD_LIBRARY_PATH="'${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)'${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"\nexport LD_LIBRARY_PATH' - sed -i -e '2i'"$new_ldpath" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "$gp_back" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - || die "Adding LD_LIBRARY_PATH for wrappers failed" - fi - - # regenerate the binary package cache - "$gp_back" recache || die "failed to update cache after relocation" - rm "$gp_back" -} - -pkg_setup() { - if use ghcbootstrap; then - ewarn "You requested ghc bootstrapping, this is usually only used" - ewarn "by Gentoo developers to make binary .tbz2 packages for" - ewarn "use with the ghc ebuild's USE=\"binary\" feature." - use binary && \ - die "USE=\"ghcbootstrap binary\" is not a valid combination." - [[ -z $(type -P ghc) ]] && \ - die "Could not find a ghc to bootstrap with." - else - if ! yet_binary; then - eerror "Please try emerging with USE=ghcbootstrap and report build" - eerror "sucess or failure to the haskell team (haskell@gentoo.org)" - die "No binary available for '${ARCH}' arch yet, USE=ghcbootstrap" - fi - fi -} - -src_unpack() { - # Create the ${S} dir if we're using the binary version - use binary && mkdir "${S}" - - # the Solaris and Darwin binaries from ghc (maeder) need to be - # unpacked separately, so prevent them from being unpacked - local ONLYA=${A} - case ${CHOST} in - *-darwin* | *-solaris*) ONLYA=${P}-src.tar.bz2 ;; - esac - unpack ${ONLYA} -} - -src_prepare() { - [[ ${CHOST} != *-darwin* ]] && \ - source "${FILESDIR}/ghc-apply-gmp-hack" "$(get_libdir)" - - ghc_setup_cflags - - if ! use ghcbootstrap; then - # Modify the wrapper script from the binary tarball to use GHC_FLAGS. - # See bug #313635. - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${WORKDIR}/usr/bin/ghc-${PV}" - - # allow hardened users use vanilla binary to bootstrap ghc - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${P}/ghc" - fi - - if use binary; then - if use prefix; then - relocate_ghc "${EPREFIX}" - fi - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - else - if ! use ghcbootstrap; then - case ${CHOST} in - *-darwin* | *-solaris*) - # UPDATE ME for ghc-7 - mkdir "${WORKDIR}"/ghc-bin-installer || die - pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die - use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2 - use x86-solaris && unpack ghc-6.10.4-i386-unknown-solaris2.tar.bz2 - use ppc-macos && unpack ghc-6.10.1-powerpc-apple-darwin.tar.bz2 - use x86-macos && unpack ghc-6.10.1-i386-apple-darwin.tar.bz2 - popd > /dev/null - - pushd "${WORKDIR}"/ghc-bin-installer/ghc-6.10.? > /dev/null || die - # fix the binaries so they run, on Solaris we need an - # LD_LIBRARY_PATH which has our prefix libdirs, on - # Darwin we need to replace the frameworks with our libs - # from the prefix fix before installation, because some - # of the tools are actually used during configure/make - if [[ ${CHOST} == *-solaris* ]] ; then - export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" - elif [[ ${CHOST} == *-darwin* ]] ; then - # http://hackage.haskell.org/trac/ghc/ticket/2942 - pushd utils/haddock/dist-install/build > /dev/null - ln -s Haddock haddock >& /dev/null # fails on IN-sensitive - popd > /dev/null - - local readline_framework=GNUreadline.framework/GNUreadline - local gmp_framework=/opt/local/lib/libgmp.3.dylib - local ncurses_file=/opt/local/lib/libncurses.5.dylib - for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do - install_name_tool -change \ - ${readline_framework} \ - "${EPREFIX}"/lib/libreadline.dylib \ - ${binary} || die - install_name_tool -change \ - ${gmp_framework} \ - "${EPREFIX}"/usr/lib/libgmp.dylib \ - ${binary} || die - install_name_tool -change \ - ${ncurses_file} \ - "${EPREFIX}"/usr/lib/libncurses.dylib \ - ${binary} || die - done - # we don't do frameworks! - sed -i \ - -e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \ - -e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \ - rts/package.conf.in || die - fi - - # it is autoconf, but we really don't want to give it too - # much arguments, in fact we do the make in-place anyway - ./configure --prefix="${WORKDIR}"/usr || die - make install || die - popd > /dev/null - ;; - *) - relocate_ghc "${WORKDIR}" - ;; - esac - fi - - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${S}/ghc/ghc.wrapper" - - cd "${S}" # otherwise epatch will break - - epatch "${FILESDIR}/ghc-7.0.2-CHOST.patch" - epatch "${FILESDIR}/ghc-7.0.4-CHOST-prefix.patch" - epatch "${FILESDIR}/ghc-7.0.4-CHOST-softfloat.patch" - - epatch "${FILESDIR}"/${PN}-7.0.4-darwin8.patch - epatch "${FILESDIR}"/${PN}-6.12.3-mach-o-relocation-limit.patch - epatch "${FILESDIR}"/${PN}-7.0.4-nxstack.patch - epatch "${FILESDIR}/ghc-7.0.4-fix-ppc-linker.patch" - - if use prefix; then - # Make configure find docbook-xsl-stylesheets from Prefix - sed -i -e '/^FP_DIR_DOCBOOK_XSL/s:\[.*\]:['"${EPREFIX}"'/usr/share/sgml/docbook/xsl-stylesheets/]:' configure.ac || die - fi - - # disable bitrot bfd support, bug #522268 - sed -i -e 's/^AC_CHECK_LIB(bfd, bfd_init)$/dnl &/' configure.ac || die - - # as we have changed the build system - eautoreconf - fi -} - -src_configure() { - if ! use binary; then - - # initialize build.mk - echo '# Gentoo changes' > mk/build.mk - - # Put docs into the right place, ie /usr/share/doc/ghc-${PV} - echo "docdir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - echo "htmldir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - - # We also need to use the GHC_FLAGS flags when building ghc itself - echo "SRC_HC_OPTS+=${GHC_FLAGS}" >> mk/build.mk - echo "SRC_CC_OPTS+=${CFLAGS}" >> mk/build.mk - echo "SRC_LD_OPTS+=${FILTERED_LDFLAGS}" >> mk/build.mk - - # We can't depend on haddock except when bootstrapping when we - # must build docs and include them into the binary .tbz2 package - if use ghcbootstrap && use doc; then - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = YES" >> mk/build.mk - echo "HADDOCK_DOCS = YES" >> mk/build.mk - else - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = NO" >> mk/build.mk - echo "HADDOCK_DOCS = NO" >> mk/build.mk - fi - - # circumvent a very strange bug that seems related with ghc producing - # too much output while being filtered through tee (e.g. due to - # portage logging) reported as bug #111183 - echo "SRC_HC_OPTS+=-w" >> mk/build.mk - - # some arches do not support ELF parsing for ghci module loading - # PPC64: never worked (should be easy to implement) - # alpha: never worked - # arm: unimplemented or never worked - if use alpha || use ppc64 || use arm; then - echo "GhcWithInterpreter=NO" >> mk/build.mk - fi - - # we have to tell it to build unregisterised on some arches - # ppc64: EvilMangler currently does not understand some TOCs - # ia64: EvilMangler bitrot - if use alpha || use ia64 || use ppc64; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - echo "SplitObjs=NO" >> mk/build.mk - echo "GhcRTSWays := debug" >> mk/build.mk - echo "GhcNotThreaded=YES" >> mk/build.mk - fi - - # arm: no EvilMangler support, no NCG support - if use arm; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - fi - - # Have "ld -r --relax" problem with split-objs on sparc: - if use sparc; then - echo "SplitObjs=NO" >> mk/build.mk - fi - - if ! use llvm; then - echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk - fi - - # Get ghc from the unpacked binary .tbz2 - # except when bootstrapping we just pick ghc up off the path - if ! use ghcbootstrap; then - export PATH="${WORKDIR}/usr/bin:${PATH}" - fi - - # Since GHC 6.12.2 the GHC wrappers store which GCC version GHC was - # compiled with, by saving the path to it. The purpose is to make sure - # that GHC will use the very same gcc version when it compiles haskell - # sources, as the extra-gcc-opts files contains extra gcc options which - # match only this GCC version. - # However, this is not required in Gentoo, as only modern GCCs are used - # (>4). - # Instead, this causes trouble when for example ccache is used during - # compilation, but we don't want the wrappers to point to ccache. - # Due to the above, we simply set GCC to be "gcc". When compiling ghc it - # might point to ccache, once installed it will point to the users - # regular gcc. - - econf --with-gcc=gcc || die "econf failed" - fi # ! use binary -} - -src_compile() { - if ! use binary; then - # unfortunately ghc-7.0 still fails under parallel load: - # bug #326347 (and i think bug #373947) - emake -j1 all || die "make failed" - fi # ! use binary -} - -src_install() { - if use binary; then - use prefix && mkdir -p "${ED}" - mv "${S}/usr" "${ED}" - - # Remove the docs if not requested - if ! use doc; then - rm -rf "${ED}/usr/share/doc/${P}/*/" \ - "${ED}/usr/share/doc/${P}/*.html" \ - || die "could not remove docs (P vs PF revision mismatch?)" - fi - else - local insttarget="install" - - # We only built docs if we were bootstrapping, otherwise - # we copy them out of the unpacked binary .tbz2 - if use doc; then - if ! use ghcbootstrap; then - mkdir -p "${ED}/usr/share/doc" - mv "${WORKDIR}/usr/share/doc/${P}" "${ED}/usr/share/doc" \ - || die "failed to copy docs" - fi - fi - - emake -j1 ${insttarget} \ - DESTDIR="${D}" \ - || die "make ${insttarget} failed" - - # remove wrapper and linker - rm -f "${ED}"/usr/bin/haddock* - - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - # so mark resulting binary - pax-mark -m "${ED}/usr/$(get_libdir)/${P}/ghc" - - dodoc "${S}/README" "${S}/ANNOUNCE" "${S}/LICENSE" "${S}/VERSION" - - dobashcompletion "${FILESDIR}/ghc-bash-completion" - - fi - - # path to the package.cache - PKGCACHE="${ED}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # copy the package.conf, including timestamp, save it so we later can put it - # back before uninstalling, or when upgrading. - cp -p "${PKGCACHE}"{,.shipped} \ - || die "failed to copy package.conf.d/package.cache" -} - -pkg_preinst() { - # have we got an earlier version of ghc installed? - if has_version "<${CATEGORY}/${PF}"; then - haskell_updater_warn="1" - fi -} - -pkg_postinst() { - ghc-reregister - - # path to the package.cache - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # give the cache a new timestamp, it must be as recent as - # the package.conf.d directory. - touch "${PKGCACHE}" - - if [[ "${haskell_updater_warn}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of GHC." - ewarn "You may have to run" - ewarn " 'haskell-updater --upgrade'" - ewarn "to rebuild all ghc-based Haskell libraries." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - fi - - bash-completion_pkg_postinst -} - -pkg_prerm() { - # Be very careful here... Call order when upgrading is (according to PMS): - # * src_install for new package - # * pkg_preinst for new package - # * pkg_postinst for new package - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # so you'll actually be touching the new packages files, not the one you - # uninstall, due to that or installation directory ${P} will be the same for - # both packages. - - # Call order for reinstalling is (according to PMS): - # * src_install - # * pkg_preinst - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # * pkg_postinst - - # Overwrite the modified package.cache with a copy of the - # original one, so that it will be removed during uninstall. - - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - rm -rf "${PKGCACHE}" - - cp -p "${PKGCACHE}"{.shipped,} -} diff --git a/dev-lang/ghc/ghc-7.4.1-r1.ebuild b/dev-lang/ghc/ghc-7.4.1-r1.ebuild deleted file mode 100644 index 3c513599377c..000000000000 --- a/dev-lang/ghc/ghc-7.4.1-r1.ebuild +++ /dev/null @@ -1,603 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.4.1-r1.ebuild,v 1.5 2014/02/15 08:52:36 slyfox Exp $ - -# Brief explanation of the bootstrap logic: -# -# Previous ghc ebuilds have been split into two: ghc and ghc-bin, -# where ghc-bin was primarily used for bootstrapping purposes. -# From now on, these two ebuilds have been combined, with the -# binary USE flag used to determine whether or not the pre-built -# binary package should be emerged or whether ghc should be compiled -# from source. If the latter, then the relevant ghc-bin for the -# arch in question will be used in the working directory to compile -# ghc from source. -# -# This solution has the advantage of allowing us to retain the one -# ebuild for both packages, and thus phase out virtual/ghc. - -# Note to users of hardened gcc-3.x: -# -# If you emerge ghc with hardened gcc it should work fine (because we -# turn off the hardened features that would otherwise break ghc). -# However, emerging ghc while using a vanilla gcc and then switching to -# hardened gcc (using gcc-config) will leave you with a broken ghc. To -# fix it you would need to either switch back to vanilla gcc or re-emerge -# ghc (or ghc-bin). Note that also if you are using hardened gcc-3.x and -# you switch to gcc-4.x that this will also break ghc and you'll need to -# re-emerge ghc (or ghc-bin). People using vanilla gcc can switch between -# gcc-3.x and 4.x with no problems. - -EAPI="4" - -inherit base autotools bash-completion-r1 eutils flag-o-matic multilib toolchain-funcs ghc-package versionator pax-utils - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# we don't have any binaries yet -arch_binaries="" - -# sorted! -arch_binaries="$arch_binaries alpha? ( http://code.haskell.org/~slyfox/ghc-alpha/ghc-bin-${PV}-alpha.tbz2 )" -#arch_binaries="$arch_binaries arm? ( http://code.haskell.org/~slyfox/ghc-arm/ghc-bin-${PV}-arm.tbz2 )" -arch_binaries="$arch_binaries amd64? ( http://code.haskell.org/~slyfox/ghc-amd64/ghc-bin-${PV}-amd64.tbz2 )" -#arch_binaries="$arch_binaries ia64? ( http://code.haskell.org/~slyfox/ghc-ia64/ghc-bin-${PV}-ia64-fixed-fiw.tbz2 )" -arch_binaries="$arch_binaries ppc? ( http://code.haskell.org/~slyfox/ghc-ppc/ghc-bin-${PV}-ppc.tbz2 )" -arch_binaries="$arch_binaries ppc64? ( http://code.haskell.org/~slyfox/ghc-ppc64/ghc-bin-${PV}-ppc64.tbz2 )" -arch_binaries="$arch_binaries sparc? ( http://code.haskell.org/~slyfox/ghc-sparc/ghc-bin-${PV}-sparc.tbz2 )" -arch_binaries="$arch_binaries x86? ( http://code.haskell.org/~slyfox/ghc-x86/ghc-bin-${PV}-x86.tbz2 )" - -# various ports: -#arch_binaries="$arch_binaries x86-fbsd? ( http://code.haskell.org/~slyfox/ghc-x86-fbsd/ghc-bin-${PV}-x86-fbsd.tbz2 )" - -# prefix ports: -arch_binaries="$arch_binaries x86-macos? ( http://www.haskell.org/ghc/dist/7.4.1/ghc-7.4.1-i386-apple-darwin.tar.bz2 )" -arch_binaries="$arch_binaries x64-macos? ( http://www.haskell.org/ghc/dist/7.4.1/ghc-7.4.1-x86_64-apple-darwin.tar.bz2 )" -arch_binaries="$arch_binaries x86-solaris? ( http://www.haskell.org/ghc/dist/7.0.3/maeder/ghc-7.0.3-i386-unknown-solaris2.tar.bz2 )" -# need 6.12.3 to bootstrap this -#arch_binaries="$arch_binaries sparc-solaris? ( http://www.haskell.org/ghc/dist/6.10.4/maeder/ghc-6.10.4-sparc-sun-solaris2.tar.bz2 )" - -# 0 - yet -yet_binary() { - case "${ARCH}" in - alpha) return 0 ;; - #arm) - # ewarn "ARM binary is built on armv5tel-eabi toolchain. Use with caution." - # return 0 - #;; - amd64) return 0 ;; - ppc) return 0 ;; - ppc64) return 0 ;; - sparc) return 0 ;; - x86) return 0 ;; - x86-macos) return 0 ;; - x64-macos) return 0 ;; - x86-solaris) return 0 ;; - *) return 1 ;; - esac -} - -SRC_URI="!binary? ( http://www.haskell.org/ghc/dist/${PV}/${P}-src.tar.bz2 )" -[[ -n $arch_binaries ]] && SRC_URI+=" !ghcbootstrap? ( $arch_binaries )" -LICENSE="BSD" -SLOT="0" -# ghc on ia64 needs gcc to support -mcmodel=medium (or some dark hackery) to avoid TOC overflow -KEYWORDS="~alpha ~amd64 -ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris" -IUSE="doc ghcbootstrap llvm" -IUSE+=" binary" # don't forget about me later! - -RDEPEND=" - !kernel_Darwin? ( >=sys-devel/gcc-2.95.3 ) - kernel_linux? ( >=sys-devel/binutils-2.17 ) - kernel_SunOS? ( >=sys-devel/binutils-2.17 ) - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-5 - virtual/libffi - !<dev-haskell/haddock-2.4.2 - sys-libs/ncurses[unicode]" -# earlier versions than 2.4.2 of haddock only works with older ghc releases - -# force dependency on >=gmp-5, even if >=gmp-4.1 would be enough. this is due to -# that we want the binaries to use the latest versioun available, and not to be -# built against gmp-4 - -DEPEND="${RDEPEND} - ghcbootstrap? ( >=dev-haskell/alex-2.3 - >=dev-haskell/happy-1.18 - doc? ( app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-stylesheets - >=dev-libs/libxslt-1.1.2 ) )" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -PDEPEND="!ghcbootstrap? ( =app-admin/haskell-updater-1.2* )" -PDEPEND=" - ${PDEPEND} - llvm? ( sys-devel/llvm )" - -use binary && QA_PREBUILT="*" - -append-ghc-cflags() { - local flag compile assemble link - for flag in $*; do - case ${flag} in - compile) compile="yes";; - assemble) assemble="yes";; - link) link="yes";; - *) - [[ ${compile} ]] && GHC_FLAGS="${GHC_FLAGS} -optc${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${assemble} ]] && GHC_FLAGS="${GHC_FLAGS} -opta${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${link} ]] && GHC_FLAGS="${GHC_FLAGS} -optl${flag}" FILTERED_LDFLAGS="${FILTERED_LDFLAGS} ${flag}";; - esac - done -} - -ghc_setup_cflags() { - # We need to be very careful with the CFLAGS we ask ghc to pass through to - # gcc. There are plenty of flags which will make gcc produce output that - # breaks ghc in various ways. The main ones we want to pass through are - # -mcpu / -march flags. These are important for arches like alpha & sparc. - # We also use these CFLAGS for building the C parts of ghc, ie the rts. - strip-flags - strip-unsupported-flags - - # Cmm can't parse line numbers #482086 - replace-flags -ggdb[3-9] -ggdb2 - - GHC_FLAGS="" - for flag in ${CFLAGS}; do - case ${flag} in - - # Ignore extra optimisation (ghc passes -O to gcc anyway) - # -O2 and above break on too many systems - -O*) ;; - - # Arch and ABI flags are what we're really after - -m*) append-ghc-cflags compile assemble ${flag};; - - # Debugging flags don't help either. You can't debug Haskell code - # at the C source level and the mangler discards the debug info. - -g*) ;; - - # Ignore all other flags, including all -f* flags - esac - done - - FILTERED_LDFLAGS="" - for flag in ${LDFLAGS}; do - case ${flag} in - # Pass the canary. we don't quite respect LDFLAGS, but we have an excuse! - "-Wl,--hash-style="*) append-ghc-cflags link ${flag};; - - # Ignore all other flags - esac - done - - # hardened-gcc needs to be disabled, because the mangler doesn't accept - # its output. - gcc-specs-pie && append-ghc-cflags compile link -nopie - gcc-specs-ssp && append-ghc-cflags compile -fno-stack-protector - - # prevent from failind building unregisterised ghc: - # http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html - use ppc64 && append-ghc-cflags compile -mminimal-toc - # fix the similar issue as ppc64 TOC on ia64. ia64 has limited size of small data - # currently ghc fails to build haddock - # http://osdir.com/ml/gnu.binutils.bugs/2004-10/msg00050.html - use ia64 && append-ghc-cflags compile -G0 - - # Unfortunately driver/split/ghc-split.lprl is dumb - # enough to preserve stack marking for each split object - # and it flags stack marking violation: - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__1.o - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__2.o - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__3.o - case $($(tc-getAS) -v 2>&1 </dev/null) in - *"GNU Binutils"*) # GNU ld - append-ghc-cflags compile assemble -Wa,--noexecstack - ;; - esac -} - -# substitutes string $1 to $2 in files $3 $4 ... -relocate_path() { - local from=$1 - local to=$2 - shift 2 - local file= - for file in "$@" - do - sed -i -e "s|$from|$to|g" \ - "$file" || die "path relocation failed for '$file'" - done -} - -# changes hardcoded ghc paths and updates package index -# $1 - new absolute root path -relocate_ghc() { - local to=$1 - - # backup original script to use it later after relocation - local gp_back="${T}/ghc-pkg-${PV}-orig" - cp "${WORKDIR}/usr/bin/ghc-pkg-${PV}" "$gp_back" || die "unable to backup ghc-pkg wrapper" - - # Relocate from /usr to ${EPREFIX}/usr - relocate_path "/usr" "${to}/usr" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - "${WORKDIR}/usr/$(get_libdir)/${P}/package.conf.d/"* - - # this one we will use to regenerate cache - # so it shoult point to current tree location - relocate_path "/usr" "${WORKDIR}/usr" "$gp_back" - - if use prefix; then - # and insert LD_LIBRARY_PATH entry to EPREFIX dir tree - # TODO: add the same for darwin's CHOST and it's DYLD_ - local new_ldpath='LD_LIBRARY_PATH="'${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)'${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"\nexport LD_LIBRARY_PATH' - sed -i -e '2i'"$new_ldpath" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "$gp_back" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - || die "Adding LD_LIBRARY_PATH for wrappers failed" - fi - - # regenerate the binary package cache - "$gp_back" recache || die "failed to update cache after relocation" - rm "$gp_back" -} - -pkg_setup() { - if use ghcbootstrap; then - ewarn "You requested ghc bootstrapping, this is usually only used" - ewarn "by Gentoo developers to make binary .tbz2 packages for" - ewarn "use with the ghc ebuild's USE=\"binary\" feature." - use binary && \ - die "USE=\"ghcbootstrap binary\" is not a valid combination." - [[ -z $(type -P ghc) ]] && \ - die "Could not find a ghc to bootstrap with." - else - if ! yet_binary; then - eerror "Please try emerging with USE=ghcbootstrap and report build" - eerror "sucess or failure to the haskell team (haskell@gentoo.org)" - die "No binary available for '${ARCH}' arch yet, USE=ghcbootstrap" - fi - fi -} - -src_unpack() { - # Create the ${S} dir if we're using the binary version - use binary && mkdir "${S}" - - # the Solaris and Darwin binaries from ghc (maeder) need to be - # unpacked separately, so prevent them from being unpacked - local ONLYA=${A} - case ${CHOST} in - *-darwin* | *-solaris*) ONLYA=${P}-src.tar.bz2 ;; - esac - unpack ${ONLYA} -} - -src_prepare() { - ghc_setup_cflags - - if ! use ghcbootstrap && [[ ${CHOST} != *-darwin* && ${CHOST} != *-solaris* ]]; then - # Modify the wrapper script from the binary tarball to use GHC_FLAGS. - # See bug #313635. - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${WORKDIR}/usr/bin/ghc-${PV}" - - # allow hardened users use vanilla binary to bootstrap ghc - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${P}/ghc" - fi - - if use binary; then - if use prefix; then - relocate_ghc "${EPREFIX}" - fi - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - else - if ! use ghcbootstrap; then - case ${CHOST} in - *-darwin* | *-solaris*) - mkdir "${WORKDIR}"/ghc-bin-installer || die - pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die - use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2 - use x86-solaris && unpack ghc-7.0.3-i386-unknown-solaris2.tar.bz2 - use x86-macos && unpack ghc-7.4.1-i386-apple-darwin.tar.bz2 - use x64-macos && unpack ghc-7.4.1-x86_64-apple-darwin.tar.bz2 - popd > /dev/null - - pushd "${WORKDIR}"/ghc-bin-installer/ghc-[67].?*.? > /dev/null || die - # fix the binaries so they run, on Solaris we need an - # LD_LIBRARY_PATH which has our prefix libdirs, on - # Darwin we need to replace the frameworks with our libs - # from the prefix fix before installation, because some - # of the tools are actually used during configure/make - if [[ ${CHOST} == *-solaris* ]] ; then - export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" - elif [[ ${CHOST} == *-darwin* ]] ; then - local readline_framework=GNUreadline.framework/GNUreadline - local gmp_framework=/opt/local/lib/libgmp.10.dylib - local ncurses_file=/opt/local/lib/libncurses.5.dylib - for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do - install_name_tool -change \ - ${readline_framework} \ - "${EPREFIX}"/lib/libreadline.dylib \ - ${binary} || die - install_name_tool -change \ - ${gmp_framework} \ - "${EPREFIX}"/usr/lib/libgmp.dylib \ - ${binary} || die - install_name_tool -change \ - ${ncurses_file} \ - "${EPREFIX}"/usr/lib/libncurses.dylib \ - ${binary} || die - done - # we don't do frameworks! - sed -i \ - -e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \ - -e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \ - rts/package.conf.in || die - fi - - # it is autoconf, but we really don't want to give it too - # much arguments, in fact we do the make in-place anyway - ./configure --prefix="${WORKDIR}"/usr || die - make install || die - popd > /dev/null - ;; - *) - relocate_ghc "${WORKDIR}" - ;; - esac - fi - - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${S}/ghc/ghc.wrapper" - - cd "${S}" # otherwise epatch will break - - epatch "${FILESDIR}"/${PN}-7.0.4-CHOST-prefix.patch - epatch "${FILESDIR}"/${PN}-7.4-rc2-macos-prefix-respect-gcc.patch - epatch "${FILESDIR}"/${PN}-7.4.1-darwin-CHOST.patch - epatch "${FILESDIR}"/${PN}-7.2.1-freebsd-CHOST.patch - - # one mode external depend with unstable ABI be careful to stash it - epatch "${FILESDIR}"/${PN}-7.4.2-system-libffi.patch - - if use prefix; then - # Make configure find docbook-xsl-stylesheets from Prefix - sed -i -e '/^FP_DIR_DOCBOOK_XSL/s:\[.*\]:['"${EPREFIX}"'/usr/share/sgml/docbook/xsl-stylesheets/]:' utils/haddock/doc/configure.ac || die - fi - - # as we have changed the build system - eautoreconf - fi -} - -src_configure() { - if ! use binary; then - - # initialize build.mk - echo '# Gentoo changes' > mk/build.mk - - # Put docs into the right place, ie /usr/share/doc/ghc-${PV} - echo "docdir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - echo "htmldir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - - # We also need to use the GHC_FLAGS flags when building ghc itself - echo "SRC_HC_OPTS+=${GHC_FLAGS}" >> mk/build.mk - echo "SRC_CC_OPTS+=${CFLAGS}" >> mk/build.mk - echo "SRC_LD_OPTS+=${FILTERED_LDFLAGS}" >> mk/build.mk - - # We can't depend on haddock except when bootstrapping when we - # must build docs and include them into the binary .tbz2 package - if use ghcbootstrap && use doc; then - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = YES" >> mk/build.mk - echo "HADDOCK_DOCS = YES" >> mk/build.mk - else - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = NO" >> mk/build.mk - echo "HADDOCK_DOCS = NO" >> mk/build.mk - fi - - # circumvent a very strange bug that seems related with ghc producing - # too much output while being filtered through tee (e.g. due to - # portage logging) reported as bug #111183 - echo "SRC_HC_OPTS+=-w" >> mk/build.mk - - # some arches do not support ELF parsing for ghci module loading - # PPC64: never worked (should be easy to implement) - # alpha: never worked - # arm: unimplemented or never worked - if use alpha || use ppc64 || use arm; then - echo "GhcWithInterpreter=NO" >> mk/build.mk - fi - - # we have to tell it to build unregisterised on some arches - # ppc64: EvilMangler currently does not understand some TOCs - # ia64: EvilMangler bitrot - if use alpha || use ia64 || use ppc64; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - echo "SplitObjs=NO" >> mk/build.mk - echo "GhcRTSWays := debug" >> mk/build.mk - echo "GhcNotThreaded=YES" >> mk/build.mk - fi - - # arm: no EvilMangler support, no NCG support - if use arm; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - fi - - # Have "ld -r --relax" problem with split-objs on sparc: - if use sparc; then - echo "SplitObjs=NO" >> mk/build.mk - fi - - if ! use llvm; then - echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk - fi - - # Get ghc from the unpacked binary .tbz2 - # except when bootstrapping we just pick ghc up off the path - if ! use ghcbootstrap; then - export PATH="${WORKDIR}/usr/bin:${PATH}" - fi - - # Since GHC 6.12.2 the GHC wrappers store which GCC version GHC was - # compiled with, by saving the path to it. The purpose is to make sure - # that GHC will use the very same gcc version when it compiles haskell - # sources, as the extra-gcc-opts files contains extra gcc options which - # match only this GCC version. - # However, this is not required in Gentoo, as only modern GCCs are used - # (>4). - # Instead, this causes trouble when for example ccache is used during - # compilation, but we don't want the wrappers to point to ccache. - # Due to the above, we simply set GCC to be "gcc". When compiling ghc it - # might point to ccache, once installed it will point to the users - # regular gcc. - - econf --with-gcc=gcc || die "econf failed" - fi # ! use binary -} - -src_compile() { - if ! use binary; then - limit_jobs() { - if [[ -n ${I_DEMAND_MY_CORES_LOADED} ]]; then - ewarn "You have requested parallel build which is known to break." - ewarn "Please report all breakages upstream." - return - fi - echo $@ - } - # ghc massively parallel make: #409631, #409873 - # but let users screw it by setting 'I_DEMAND_MY_CORES_LOADED' - emake $(limit_jobs -j1) all - fi # ! use binary -} - -src_install() { - if use binary; then - use prefix && mkdir -p "${ED}" - mv "${S}/usr" "${ED}" - - # Remove the docs if not requested - if ! use doc; then - rm -rf "${ED}/usr/share/doc/${P}/*/" \ - "${ED}/usr/share/doc/${P}/*.html" \ - || die "could not remove docs (P vs PF revision mismatch?)" - fi - else - local insttarget="install" - - # We only built docs if we were bootstrapping, otherwise - # we copy them out of the unpacked binary .tbz2 - if use doc; then - if ! use ghcbootstrap; then - mkdir -p "${ED}/usr/share/doc" - mv "${WORKDIR}/usr/share/doc/${P}" "${ED}/usr/share/doc" \ - || die "failed to copy docs" - fi - fi - - emake -j1 ${insttarget} \ - DESTDIR="${D}" \ - || die "make ${insttarget} failed" - - # remove wrapper and linker - rm -f "${ED}"/usr/bin/haddock* - - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - # so mark resulting binary - pax-mark -m "${ED}/usr/$(get_libdir)/${P}/ghc" - - dodoc "${S}/README" "${S}/ANNOUNCE" "${S}/LICENSE" "${S}/VERSION" - - dobashcomp "${FILESDIR}/ghc-bash-completion" - - fi - - # path to the package.cache - PKGCACHE="${ED}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # copy the package.conf, including timestamp, save it so we later can put it - # back before uninstalling, or when upgrading. - cp -p "${PKGCACHE}"{,.shipped} \ - || die "failed to copy package.conf.d/package.cache" -} - -pkg_preinst() { - # have we got an earlier version of ghc installed? - if has_version "<${CATEGORY}/${PF}"; then - haskell_updater_warn="1" - fi -} - -pkg_postinst() { - ghc-reregister - - # path to the package.cache - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # give the cache a new timestamp, it must be as recent as - # the package.conf.d directory. - touch "${PKGCACHE}" - - if [[ "${haskell_updater_warn}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of GHC." - ewarn "You may have to run" - ewarn " 'haskell-updater --upgrade'" - ewarn "to rebuild all ghc-based Haskell libraries." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - fi -} - -pkg_prerm() { - # Be very careful here... Call order when upgrading is (according to PMS): - # * src_install for new package - # * pkg_preinst for new package - # * pkg_postinst for new package - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # so you'll actually be touching the new packages files, not the one you - # uninstall, due to that or installation directory ${P} will be the same for - # both packages. - - # Call order for reinstalling is (according to PMS): - # * src_install - # * pkg_preinst - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # * pkg_postinst - - # Overwrite the modified package.cache with a copy of the - # original one, so that it will be removed during uninstall. - - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - rm -rf "${PKGCACHE}" - - cp -p "${PKGCACHE}"{.shipped,} -} diff --git a/dev-lang/ghc/ghc-7.4.1.ebuild b/dev-lang/ghc/ghc-7.4.1.ebuild deleted file mode 100644 index b0ad6ec2a6c6..000000000000 --- a/dev-lang/ghc/ghc-7.4.1.ebuild +++ /dev/null @@ -1,590 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.4.1.ebuild,v 1.6 2014/02/15 08:52:36 slyfox Exp $ - -# Brief explanation of the bootstrap logic: -# -# Previous ghc ebuilds have been split into two: ghc and ghc-bin, -# where ghc-bin was primarily used for bootstrapping purposes. -# From now on, these two ebuilds have been combined, with the -# binary USE flag used to determine whether or not the pre-built -# binary package should be emerged or whether ghc should be compiled -# from source. If the latter, then the relevant ghc-bin for the -# arch in question will be used in the working directory to compile -# ghc from source. -# -# This solution has the advantage of allowing us to retain the one -# ebuild for both packages, and thus phase out virtual/ghc. - -# Note to users of hardened gcc-3.x: -# -# If you emerge ghc with hardened gcc it should work fine (because we -# turn off the hardened features that would otherwise break ghc). -# However, emerging ghc while using a vanilla gcc and then switching to -# hardened gcc (using gcc-config) will leave you with a broken ghc. To -# fix it you would need to either switch back to vanilla gcc or re-emerge -# ghc (or ghc-bin). Note that also if you are using hardened gcc-3.x and -# you switch to gcc-4.x that this will also break ghc and you'll need to -# re-emerge ghc (or ghc-bin). People using vanilla gcc can switch between -# gcc-3.x and 4.x with no problems. - -EAPI="4" - -inherit base autotools bash-completion-r1 eutils flag-o-matic multilib toolchain-funcs ghc-package versionator pax-utils - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# we don't have any binaries yet -arch_binaries="" - -# sorted! -arch_binaries="$arch_binaries alpha? ( http://code.haskell.org/~slyfox/ghc-alpha/ghc-bin-${PV}-alpha.tbz2 )" -#arch_binaries="$arch_binaries arm? ( http://code.haskell.org/~slyfox/ghc-arm/ghc-bin-${PV}-arm.tbz2 )" -arch_binaries="$arch_binaries amd64? ( http://code.haskell.org/~slyfox/ghc-amd64/ghc-bin-${PV}-amd64.tbz2 )" -#arch_binaries="$arch_binaries ia64? ( http://code.haskell.org/~slyfox/ghc-ia64/ghc-bin-${PV}-ia64-fixed-fiw.tbz2 )" -arch_binaries="$arch_binaries ppc? ( http://code.haskell.org/~slyfox/ghc-ppc/ghc-bin-${PV}-ppc.tbz2 )" -arch_binaries="$arch_binaries ppc64? ( http://code.haskell.org/~slyfox/ghc-ppc64/ghc-bin-${PV}-ppc64.tbz2 )" -arch_binaries="$arch_binaries sparc? ( http://code.haskell.org/~slyfox/ghc-sparc/ghc-bin-${PV}-sparc.tbz2 )" -arch_binaries="$arch_binaries x86? ( http://code.haskell.org/~slyfox/ghc-x86/ghc-bin-${PV}-x86.tbz2 )" - -# various ports: -#arch_binaries="$arch_binaries x86-fbsd? ( http://code.haskell.org/~slyfox/ghc-x86-fbsd/ghc-bin-${PV}-x86-fbsd.tbz2 )" - -# 0 - yet -yet_binary() { - case "${ARCH}" in - alpha) return 0 ;; - #arm) - # ewarn "ARM binary is built on armv5tel-eabi toolchain. Use with caution." - # return 0 - #;; - amd64) return 0 ;; - ppc) return 0 ;; - ppc64) return 0 ;; - sparc) return 0 ;; - x86) return 0 ;; - *) return 1 ;; - esac -} - -SRC_URI="!binary? ( http://www.haskell.org/ghc/dist/${PV}/${P}-src.tar.bz2 )" -[[ -n $arch_binaries ]] && SRC_URI+=" !ghcbootstrap? ( $arch_binaries )" -LICENSE="BSD" -SLOT="0" -# ghc on ia64 needs gcc to support -mcmodel=medium (or some dark hackery) to avoid TOC overflow -KEYWORDS="~alpha ~amd64 -ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" -IUSE="doc ghcbootstrap llvm" -IUSE+=" binary" # don't forget about me later! - -RDEPEND=" - !kernel_Darwin? ( >=sys-devel/gcc-2.95.3 ) - kernel_linux? ( >=sys-devel/binutils-2.17 ) - kernel_SunOS? ( >=sys-devel/binutils-2.17 ) - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-5 - !<dev-haskell/haddock-2.4.2 - sys-libs/ncurses[unicode]" -# earlier versions than 2.4.2 of haddock only works with older ghc releases - -# force dependency on >=gmp-5, even if >=gmp-4.1 would be enough. this is due to -# that we want the binaries to use the latest versioun available, and not to be -# built against gmp-4 - -DEPEND="${RDEPEND} - ghcbootstrap? ( >=dev-haskell/alex-2.3 - >=dev-haskell/happy-1.18 - doc? ( app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-stylesheets - >=dev-libs/libxslt-1.1.2 ) )" -# In the ghcbootstrap case we rely on the developer having -# >=ghc-5.04.3 on their $PATH already - -PDEPEND="!ghcbootstrap? ( =app-admin/haskell-updater-1.2* )" -PDEPEND=" - ${PDEPEND} - llvm? ( sys-devel/llvm )" - -use binary && QA_PREBUILT="*" - -append-ghc-cflags() { - local flag compile assemble link - for flag in $*; do - case ${flag} in - compile) compile="yes";; - assemble) assemble="yes";; - link) link="yes";; - *) - [[ ${compile} ]] && GHC_FLAGS="${GHC_FLAGS} -optc${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${assemble} ]] && GHC_FLAGS="${GHC_FLAGS} -opta${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${link} ]] && GHC_FLAGS="${GHC_FLAGS} -optl${flag}" FILTERED_LDFLAGS="${FILTERED_LDFLAGS} ${flag}";; - esac - done -} - -ghc_setup_cflags() { - # We need to be very careful with the CFLAGS we ask ghc to pass through to - # gcc. There are plenty of flags which will make gcc produce output that - # breaks ghc in various ways. The main ones we want to pass through are - # -mcpu / -march flags. These are important for arches like alpha & sparc. - # We also use these CFLAGS for building the C parts of ghc, ie the rts. - strip-flags - strip-unsupported-flags - - # Cmm can't parse line numbers #482086 - replace-flags -ggdb[3-9] -ggdb2 - - GHC_FLAGS="" - for flag in ${CFLAGS}; do - case ${flag} in - - # Ignore extra optimisation (ghc passes -O to gcc anyway) - # -O2 and above break on too many systems - -O*) ;; - - # Arch and ABI flags are what we're really after - -m*) append-ghc-cflags compile assemble ${flag};; - - # Debugging flags don't help either. You can't debug Haskell code - # at the C source level and the mangler discards the debug info. - -g*) ;; - - # Ignore all other flags, including all -f* flags - esac - done - - FILTERED_LDFLAGS="" - for flag in ${LDFLAGS}; do - case ${flag} in - # Pass the canary. we don't quite respect LDFLAGS, but we have an excuse! - "-Wl,--hash-style="*) append-ghc-cflags link ${flag};; - - # Ignore all other flags - esac - done - - # hardened-gcc needs to be disabled, because the mangler doesn't accept - # its output. - gcc-specs-pie && append-ghc-cflags compile link -nopie - gcc-specs-ssp && append-ghc-cflags compile -fno-stack-protector - - # prevent from failind building unregisterised ghc: - # http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html - use ppc64 && append-ghc-cflags compile -mminimal-toc - # fix the similar issue as ppc64 TOC on ia64. ia64 has limited size of small data - # currently ghc fails to build haddock - # http://osdir.com/ml/gnu.binutils.bugs/2004-10/msg00050.html - use ia64 && append-ghc-cflags compile -G0 - - # Unfortunately driver/split/ghc-split.lprl is dumb - # enough to preserve stack marking for each split object - # and it flags stack marking violation: - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__1.o - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__2.o - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__3.o - case $($(tc-getAS) -v 2>&1 </dev/null) in - *"GNU Binutils"*) # GNU ld - append-ghc-cflags compile assemble -Wa,--noexecstack - ;; - esac -} - -# substitutes string $1 to $2 in files $3 $4 ... -relocate_path() { - local from=$1 - local to=$2 - shift 2 - local file= - for file in "$@" - do - sed -i -e "s|$from|$to|g" \ - "$file" || die "path relocation failed for '$file'" - done -} - -# changes hardcoded ghc paths and updates package index -# $1 - new absolute root path -relocate_ghc() { - local to=$1 - - # backup original script to use it later after relocation - local gp_back="${T}/ghc-pkg-${PV}-orig" - cp "${WORKDIR}/usr/bin/ghc-pkg-${PV}" "$gp_back" || die "unable to backup ghc-pkg wrapper" - - # Relocate from /usr to ${EPREFIX}/usr - relocate_path "/usr" "${to}/usr" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - "${WORKDIR}/usr/$(get_libdir)/${P}/package.conf.d/"* - - # this one we will use to regenerate cache - # so it shoult point to current tree location - relocate_path "/usr" "${WORKDIR}/usr" "$gp_back" - - if use prefix; then - # and insert LD_LIBRARY_PATH entry to EPREFIX dir tree - # TODO: add the same for darwin's CHOST and it's DYLD_ - local new_ldpath='LD_LIBRARY_PATH="'${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)'${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"\nexport LD_LIBRARY_PATH' - sed -i -e '2i'"$new_ldpath" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "$gp_back" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - || die "Adding LD_LIBRARY_PATH for wrappers failed" - fi - - # regenerate the binary package cache - "$gp_back" recache || die "failed to update cache after relocation" - rm "$gp_back" -} - -pkg_setup() { - if use ghcbootstrap; then - ewarn "You requested ghc bootstrapping, this is usually only used" - ewarn "by Gentoo developers to make binary .tbz2 packages for" - ewarn "use with the ghc ebuild's USE=\"binary\" feature." - use binary && \ - die "USE=\"ghcbootstrap binary\" is not a valid combination." - [[ -z $(type -P ghc) ]] && \ - die "Could not find a ghc to bootstrap with." - else - if ! yet_binary; then - eerror "Please try emerging with USE=ghcbootstrap and report build" - eerror "sucess or failure to the haskell team (haskell@gentoo.org)" - die "No binary available for '${ARCH}' arch yet, USE=ghcbootstrap" - fi - fi -} - -src_unpack() { - # Create the ${S} dir if we're using the binary version - use binary && mkdir "${S}" - - # the Solaris and Darwin binaries from ghc (maeder) need to be - # unpacked separately, so prevent them from being unpacked - local ONLYA=${A} - case ${CHOST} in - *-darwin* | *-solaris*) ONLYA=${P}-src.tar.bz2 ;; - esac - unpack ${ONLYA} -} - -src_prepare() { - ghc_setup_cflags - - if ! use ghcbootstrap; then - # Modify the wrapper script from the binary tarball to use GHC_FLAGS. - # See bug #313635. - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${WORKDIR}/usr/bin/ghc-${PV}" - - # allow hardened users use vanilla binary to bootstrap ghc - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${P}/ghc" - fi - - if use binary; then - if use prefix; then - relocate_ghc "${EPREFIX}" - fi - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - else - if ! use ghcbootstrap; then - case ${CHOST} in - *-darwin* | *-solaris*) - # UPDATE ME for ghc-7 - mkdir "${WORKDIR}"/ghc-bin-installer || die - pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die - use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2 - use x86-solaris && unpack ghc-6.10.4-i386-unknown-solaris2.tar.bz2 - use ppc-macos && unpack ghc-6.10.1-powerpc-apple-darwin.tar.bz2 - use x86-macos && unpack ghc-6.10.1-i386-apple-darwin.tar.bz2 - popd > /dev/null - - pushd "${WORKDIR}"/ghc-bin-installer/ghc-6.10.? > /dev/null || die - # fix the binaries so they run, on Solaris we need an - # LD_LIBRARY_PATH which has our prefix libdirs, on - # Darwin we need to replace the frameworks with our libs - # from the prefix fix before installation, because some - # of the tools are actually used during configure/make - if [[ ${CHOST} == *-solaris* ]] ; then - export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" - elif [[ ${CHOST} == *-darwin* ]] ; then - # http://hackage.haskell.org/trac/ghc/ticket/2942 - pushd utils/haddock/dist-install/build > /dev/null - ln -s Haddock haddock >& /dev/null # fails on IN-sensitive - popd > /dev/null - - local readline_framework=GNUreadline.framework/GNUreadline - local gmp_framework=/opt/local/lib/libgmp.3.dylib - local ncurses_file=/opt/local/lib/libncurses.5.dylib - for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do - install_name_tool -change \ - ${readline_framework} \ - "${EPREFIX}"/lib/libreadline.dylib \ - ${binary} || die - install_name_tool -change \ - ${gmp_framework} \ - "${EPREFIX}"/usr/lib/libgmp.dylib \ - ${binary} || die - install_name_tool -change \ - ${ncurses_file} \ - "${EPREFIX}"/usr/lib/libncurses.dylib \ - ${binary} || die - done - # we don't do frameworks! - sed -i \ - -e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \ - -e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \ - rts/package.conf.in || die - fi - - # it is autoconf, but we really don't want to give it too - # much arguments, in fact we do the make in-place anyway - ./configure --prefix="${WORKDIR}"/usr || die - make install || die - popd > /dev/null - ;; - *) - relocate_ghc "${WORKDIR}" - ;; - esac - fi - - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${S}/ghc/ghc.wrapper" - - cd "${S}" # otherwise epatch will break - - epatch "${FILESDIR}/ghc-7.0.4-CHOST-prefix.patch" - - epatch "${FILESDIR}"/${PN}-7.0.4-darwin8.patch - # failed to apply. FIXME - #epatch "${FILESDIR}"/${PN}-6.12.3-mach-o-relocation-limit.patch - - epatch "${FILESDIR}"/${PN}-7.4-rc2-macos-prefix-respect-gcc.patch - epatch "${FILESDIR}"/${PN}-7.2.1-freebsd-CHOST.patch - - if use prefix; then - # Make configure find docbook-xsl-stylesheets from Prefix - sed -i -e '/^FP_DIR_DOCBOOK_XSL/s:\[.*\]:['"${EPREFIX}"'/usr/share/sgml/docbook/xsl-stylesheets/]:' utils/haddock/doc/configure.ac || die - fi - - # as we have changed the build system - eautoreconf - fi -} - -src_configure() { - if ! use binary; then - - # initialize build.mk - echo '# Gentoo changes' > mk/build.mk - - # Put docs into the right place, ie /usr/share/doc/ghc-${PV} - echo "docdir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - echo "htmldir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - - # We also need to use the GHC_FLAGS flags when building ghc itself - echo "SRC_HC_OPTS+=${GHC_FLAGS}" >> mk/build.mk - echo "SRC_CC_OPTS+=${CFLAGS}" >> mk/build.mk - echo "SRC_LD_OPTS+=${FILTERED_LDFLAGS}" >> mk/build.mk - - # We can't depend on haddock except when bootstrapping when we - # must build docs and include them into the binary .tbz2 package - if use ghcbootstrap && use doc; then - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = YES" >> mk/build.mk - echo "HADDOCK_DOCS = YES" >> mk/build.mk - else - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = NO" >> mk/build.mk - echo "HADDOCK_DOCS = NO" >> mk/build.mk - fi - - # circumvent a very strange bug that seems related with ghc producing - # too much output while being filtered through tee (e.g. due to - # portage logging) reported as bug #111183 - echo "SRC_HC_OPTS+=-w" >> mk/build.mk - - # some arches do not support ELF parsing for ghci module loading - # PPC64: never worked (should be easy to implement) - # alpha: never worked - # arm: unimplemented or never worked - if use alpha || use ppc64 || use arm; then - echo "GhcWithInterpreter=NO" >> mk/build.mk - fi - - # we have to tell it to build unregisterised on some arches - # ppc64: EvilMangler currently does not understand some TOCs - # ia64: EvilMangler bitrot - if use alpha || use ia64 || use ppc64; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - echo "SplitObjs=NO" >> mk/build.mk - echo "GhcRTSWays := debug" >> mk/build.mk - echo "GhcNotThreaded=YES" >> mk/build.mk - fi - - # arm: no EvilMangler support, no NCG support - if use arm; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - fi - - # Have "ld -r --relax" problem with split-objs on sparc: - if use sparc; then - echo "SplitObjs=NO" >> mk/build.mk - fi - - if ! use llvm; then - echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk - fi - - # Get ghc from the unpacked binary .tbz2 - # except when bootstrapping we just pick ghc up off the path - if ! use ghcbootstrap; then - export PATH="${WORKDIR}/usr/bin:${PATH}" - fi - - # Since GHC 6.12.2 the GHC wrappers store which GCC version GHC was - # compiled with, by saving the path to it. The purpose is to make sure - # that GHC will use the very same gcc version when it compiles haskell - # sources, as the extra-gcc-opts files contains extra gcc options which - # match only this GCC version. - # However, this is not required in Gentoo, as only modern GCCs are used - # (>4). - # Instead, this causes trouble when for example ccache is used during - # compilation, but we don't want the wrappers to point to ccache. - # Due to the above, we simply set GCC to be "gcc". When compiling ghc it - # might point to ccache, once installed it will point to the users - # regular gcc. - - econf --with-gcc=gcc || die "econf failed" - fi # ! use binary -} - -src_compile() { - if ! use binary; then - # ghc massively parallel make: #409631, #409873 - emake -j1 all || die "make failed" - fi # ! use binary -} - -src_install() { - if use binary; then - use prefix && mkdir -p "${ED}" - mv "${S}/usr" "${ED}" - - # Remove the docs if not requested - if ! use doc; then - rm -rf "${ED}/usr/share/doc/${P}/*/" \ - "${ED}/usr/share/doc/${P}/*.html" \ - || die "could not remove docs (P vs PF revision mismatch?)" - fi - else - local insttarget="install" - - # We only built docs if we were bootstrapping, otherwise - # we copy them out of the unpacked binary .tbz2 - if use doc; then - if ! use ghcbootstrap; then - mkdir -p "${ED}/usr/share/doc" - mv "${WORKDIR}/usr/share/doc/${P}" "${ED}/usr/share/doc" \ - || die "failed to copy docs" - fi - fi - - emake -j1 ${insttarget} \ - DESTDIR="${D}" \ - || die "make ${insttarget} failed" - - # remove wrapper and linker - rm -f "${ED}"/usr/bin/haddock* - - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - # so mark resulting binary - pax-mark -m "${ED}/usr/$(get_libdir)/${P}/ghc" - - dodoc "${S}/README" "${S}/ANNOUNCE" "${S}/LICENSE" "${S}/VERSION" - - dobashcomp "${FILESDIR}/ghc-bash-completion" - - fi - - # path to the package.cache - PKGCACHE="${ED}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # copy the package.conf, including timestamp, save it so we later can put it - # back before uninstalling, or when upgrading. - cp -p "${PKGCACHE}"{,.shipped} \ - || die "failed to copy package.conf.d/package.cache" -} - -pkg_preinst() { - # have we got an earlier version of ghc installed? - if has_version "<${CATEGORY}/${PF}"; then - haskell_updater_warn="1" - fi -} - -pkg_postinst() { - ghc-reregister - - # path to the package.cache - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # give the cache a new timestamp, it must be as recent as - # the package.conf.d directory. - touch "${PKGCACHE}" - - if [[ "${haskell_updater_warn}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of GHC." - ewarn "You may have to run" - ewarn " 'haskell-updater --upgrade'" - ewarn "to rebuild all ghc-based Haskell libraries." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - fi -} - -pkg_prerm() { - # Be very careful here... Call order when upgrading is (according to PMS): - # * src_install for new package - # * pkg_preinst for new package - # * pkg_postinst for new package - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # so you'll actually be touching the new packages files, not the one you - # uninstall, due to that or installation directory ${P} will be the same for - # both packages. - - # Call order for reinstalling is (according to PMS): - # * src_install - # * pkg_preinst - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # * pkg_postinst - - # Overwrite the modified package.cache with a copy of the - # original one, so that it will be removed during uninstall. - - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - rm -rf "${PKGCACHE}" - - cp -p "${PKGCACHE}"{.shipped,} -} diff --git a/dev-lang/ghc/ghc-7.6.2.ebuild b/dev-lang/ghc/ghc-7.6.2.ebuild deleted file mode 100644 index 2eb594a74dd2..000000000000 --- a/dev-lang/ghc/ghc-7.6.2.ebuild +++ /dev/null @@ -1,713 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.6.2.ebuild,v 1.4 2014/02/15 08:52:36 slyfox Exp $ - -# Brief explanation of the bootstrap logic: -# -# Previous ghc ebuilds have been split into two: ghc and ghc-bin, -# where ghc-bin was primarily used for bootstrapping purposes. -# From now on, these two ebuilds have been combined, with the -# binary USE flag used to determine whether or not the pre-built -# binary package should be emerged or whether ghc should be compiled -# from source. If the latter, then the relevant ghc-bin for the -# arch in question will be used in the working directory to compile -# ghc from source. -# -# This solution has the advantage of allowing us to retain the one -# ebuild for both packages, and thus phase out virtual/ghc. - -# Note to users of hardened gcc-3.x: -# -# If you emerge ghc with hardened gcc it should work fine (because we -# turn off the hardened features that would otherwise break ghc). -# However, emerging ghc while using a vanilla gcc and then switching to -# hardened gcc (using gcc-config) will leave you with a broken ghc. To -# fix it you would need to either switch back to vanilla gcc or re-emerge -# ghc (or ghc-bin). Note that also if you are using hardened gcc-3.x and -# you switch to gcc-4.x that this will also break ghc and you'll need to -# re-emerge ghc (or ghc-bin). People using vanilla gcc can switch between -# gcc-3.x and 4.x with no problems. - -EAPI="5" - -# to make make a crosscompiler use crossdev and symlink ghc tree into -# cross overlay. result would look like 'cross-sparc-unknown-linux-gnu/ghc' -# -# 'CTARGET' definition and 'is_crosscompile' are taken from 'toolchain.eclass' -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} = ${CHOST} ]] ; then - if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then - export CTARGET=${CATEGORY/cross-} - fi -fi - -inherit base autotools bash-completion-r1 eutils flag-o-matic multilib toolchain-funcs ghc-package versionator pax-utils - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# we don't have any binaries yet -arch_binaries="" - -# sorted! -#arch_binaries="$arch_binaries alpha? ( http://code.haskell.org/~slyfox/ghc-alpha/ghc-bin-${PV}-alpha.tbz2 )" -#arch_binaries="$arch_binaries arm? ( http://code.haskell.org/~slyfox/ghc-arm/ghc-bin-${PV}-arm.tbz2 )" -arch_binaries="$arch_binaries amd64? ( http://code.haskell.org/~slyfox/ghc-amd64/ghc-bin-${PV}-amd64.tbz2 )" -arch_binaries="$arch_binaries ia64? ( http://code.haskell.org/~slyfox/ghc-ia64/ghc-bin-${PV}-ia64.tbz2 )" -#arch_binaries="$arch_binaries ppc? ( http://code.haskell.org/~slyfox/ghc-ppc/ghc-bin-${PV}-ppc.tbz2 )" -#arch_binaries="$arch_binaries ppc64? ( http://code.haskell.org/~slyfox/ghc-ppc64/ghc-bin-${PV}-ppc64.tbz2 )" -#arch_binaries="$arch_binaries sparc? ( http://code.haskell.org/~slyfox/ghc-sparc/ghc-bin-${PV}-sparc.tbz2 )" -arch_binaries="$arch_binaries x86? ( http://code.haskell.org/~slyfox/ghc-x86/ghc-bin-${PV}-x86.tbz2 )" - -# various ports: -#arch_binaries="$arch_binaries x86-fbsd? ( http://code.haskell.org/~slyfox/ghc-x86-fbsd/ghc-bin-${PV}-x86-fbsd.tbz2 )" - -# 0 - yet -yet_binary() { - case "${ARCH}" in - #alpha) return 0 ;; - #arm) - # ewarn "ARM binary is built on armv5tel-eabi toolchain. Use with caution." - # return 0 - #;; - amd64) return 0 ;; - ia64) return 0 ;; - #ppc) return 0 ;; - #ppc64) return 0 ;; - #sparc) return 0 ;; - x86) return 0 ;; - *) return 1 ;; - esac -} - -SRC_URI="!binary? ( http://www.haskell.org/ghc/dist/${PV}/${P}-src.tar.bz2 )" -[[ -n $arch_binaries ]] && SRC_URI+=" !ghcbootstrap? ( $arch_binaries )" -LICENSE="BSD" -SLOT="0/${PV}" -# ghc on ia64 needs gcc to support -mcmodel=medium (or some dark hackery) to avoid TOC overflow -KEYWORDS="~amd64 ~ia64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" -IUSE="doc ghcbootstrap ghcmakebinary +gmp llvm" -IUSE+=" binary" # don't forget about me later! -IUSE+=" elibc_glibc" # system stuff - -RDEPEND=" - !kernel_Darwin? ( >=sys-devel/gcc-2.95.3 ) - kernel_linux? ( >=sys-devel/binutils-2.17 ) - kernel_SunOS? ( >=sys-devel/binutils-2.17 ) - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-5 - virtual/libffi - !<dev-haskell/haddock-2.4.2 - sys-libs/ncurses[unicode]" -# earlier versions than 2.4.2 of haddock only works with older ghc releases - -# force dependency on >=gmp-5, even if >=gmp-4.1 would be enough. this is due to -# that we want the binaries to use the latest versioun available, and not to be -# built against gmp-4 - -# similar for glibc. we have bootstrapped binaries against glibc-2.14 -DEPEND="${RDEPEND} - ghcbootstrap? ( >=dev-haskell/alex-2.3 - >=dev-haskell/happy-1.18 - doc? ( app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-stylesheets - >=dev-libs/libxslt-1.1.2 ) ) - !ghcbootstrap? ( !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.15 ) ) )" - -PDEPEND="!ghcbootstrap? ( =app-admin/haskell-updater-1.2* )" -PDEPEND=" - ${PDEPEND} - llvm? ( sys-devel/llvm )" - -# ia64 fails to return from STG GMP primitives (stage2 always SIGSEGVs) -REQUIRED_USE="ia64? ( !gmp )" - -use binary && QA_PREBUILT="*" - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -append-ghc-cflags() { - local flag compile assemble link - for flag in $*; do - case ${flag} in - compile) compile="yes";; - assemble) assemble="yes";; - link) link="yes";; - *) - [[ ${compile} ]] && GHC_FLAGS="${GHC_FLAGS} -optc${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${assemble} ]] && GHC_FLAGS="${GHC_FLAGS} -opta${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${link} ]] && GHC_FLAGS="${GHC_FLAGS} -optl${flag}" FILTERED_LDFLAGS="${FILTERED_LDFLAGS} ${flag}";; - esac - done -} - -ghc_setup_cflags() { - if is_crosscompile; then - export CFLAGS=${GHC_CFLAGS-"-O2 -pipe"} - export LDFLAGS=${GHC_LDFLAGS-"-Wl,-O1"} - einfo "Crosscompiling mode:" - einfo " CHOST: ${CHOST}" - einfo " CTARGET: ${CTARGET}" - einfo " CFLAGS: ${CFLAGS}" - einfo " LDFLAGS: ${LDFLAGS}" - return - fi - # We need to be very careful with the CFLAGS we ask ghc to pass through to - # gcc. There are plenty of flags which will make gcc produce output that - # breaks ghc in various ways. The main ones we want to pass through are - # -mcpu / -march flags. These are important for arches like alpha & sparc. - # We also use these CFLAGS for building the C parts of ghc, ie the rts. - strip-flags - strip-unsupported-flags - - # Cmm can't parse line numbers #482086 - replace-flags -ggdb[3-9] -ggdb2 - - GHC_FLAGS="" - for flag in ${CFLAGS}; do - case ${flag} in - - # Ignore extra optimisation (ghc passes -O to gcc anyway) - # -O2 and above break on too many systems - -O*) ;; - - # Arch and ABI flags are what we're really after - -m*) append-ghc-cflags compile assemble ${flag};; - - # Sometimes it's handy to see backtrace of RTS - # to get an idea what happens there - -g*) append-ghc-cflags compile ${flag};; - - # Ignore all other flags, including all -f* flags - esac - done - - FILTERED_LDFLAGS="" - for flag in ${LDFLAGS}; do - case ${flag} in - # Pass the canary. we don't quite respect LDFLAGS, but we have an excuse! - "-Wl,--hash-style="*) append-ghc-cflags link ${flag};; - - # Ignore all other flags - esac - done - - # hardened-gcc needs to be disabled, because the mangler doesn't accept - # its output. - gcc-specs-pie && append-ghc-cflags compile link -nopie - gcc-specs-ssp && append-ghc-cflags compile -fno-stack-protector - - # prevent from failind building unregisterised ghc: - # http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html - use ppc64 && append-ghc-cflags compile -mminimal-toc - # fix the similar issue as ppc64 TOC on ia64. ia64 has limited size of small data - # currently ghc fails to build haddock - # http://osdir.com/ml/gnu.binutils.bugs/2004-10/msg00050.html - use ia64 && append-ghc-cflags compile -G0 -Os - - # Unfortunately driver/split/ghc-split.lprl is dumb - # enough to preserve stack marking for each split object - # and it flags stack marking violation: - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__1.o - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__2.o - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__3.o - case $($(tc-getAS) -v 2>&1 </dev/null) in - *"GNU Binutils"*) # GNU ld - append-ghc-cflags compile assemble -Wa,--noexecstack - ;; - esac -} - -# substitutes string $1 to $2 in files $3 $4 ... -relocate_path() { - local from=$1 - local to=$2 - shift 2 - local file= - for file in "$@" - do - sed -i -e "s|$from|$to|g" \ - "$file" || die "path relocation failed for '$file'" - done -} - -# changes hardcoded ghc paths and updates package index -# $1 - new absolute root path -relocate_ghc() { - local to=$1 - - # backup original script to use it later after relocation - local gp_back="${T}/ghc-pkg-${PV}-orig" - cp "${WORKDIR}/usr/bin/ghc-pkg-${PV}" "$gp_back" || die "unable to backup ghc-pkg wrapper" - - # Relocate from /usr to ${EPREFIX}/usr - relocate_path "/usr" "${to}/usr" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - "${WORKDIR}/usr/$(get_libdir)/${P}/package.conf.d/"* - - # this one we will use to regenerate cache - # so it shoult point to current tree location - relocate_path "/usr" "${WORKDIR}/usr" "$gp_back" - - if use prefix; then - # and insert LD_LIBRARY_PATH entry to EPREFIX dir tree - # TODO: add the same for darwin's CHOST and it's DYLD_ - local new_ldpath='LD_LIBRARY_PATH="'${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)'${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"\nexport LD_LIBRARY_PATH' - sed -i -e '2i'"$new_ldpath" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "$gp_back" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - || die "Adding LD_LIBRARY_PATH for wrappers failed" - fi - - # regenerate the binary package cache - "$gp_back" recache || die "failed to update cache after relocation" - rm "$gp_back" -} - -pkg_setup() { - if use ghcbootstrap; then - ewarn "You requested ghc bootstrapping, this is usually only used" - ewarn "by Gentoo developers to make binary .tbz2 packages for" - ewarn "use with the ghc ebuild's USE=\"binary\" feature." - use binary && \ - die "USE=\"ghcbootstrap binary\" is not a valid combination." - [[ -z $(type -P ghc) ]] && \ - die "Could not find a ghc to bootstrap with." - else - if ! yet_binary; then - eerror "Please try emerging with USE=ghcbootstrap and report build" - eerror "sucess or failure to the haskell team (haskell@gentoo.org)" - die "No binary available for '${ARCH}' arch yet, USE=ghcbootstrap" - fi - fi -} - -src_unpack() { - # Create the ${S} dir if we're using the binary version - use binary && mkdir "${S}" - - # the Solaris and Darwin binaries from ghc (maeder) need to be - # unpacked separately, so prevent them from being unpacked - local ONLYA=${A} - case ${CHOST} in - *-darwin* | *-solaris*) ONLYA=${P}-src.tar.bz2 ;; - esac - unpack ${ONLYA} -} - -src_prepare() { - ghc_setup_cflags - - if ! use ghcbootstrap && [[ ${CHOST} != *-darwin* && ${CHOST} != *-solaris* ]]; then - # Modify the wrapper script from the binary tarball to use GHC_FLAGS. - # See bug #313635. - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${WORKDIR}/usr/bin/ghc-${PV}" - - # allow hardened users use vanilla binary to bootstrap ghc - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${P}/ghc" - fi - - if use binary; then - if use prefix; then - relocate_ghc "${EPREFIX}" - fi - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - else - if ! use ghcbootstrap; then - case ${CHOST} in - *-darwin* | *-solaris*) - # UPDATE ME for ghc-7 - mkdir "${WORKDIR}"/ghc-bin-installer || die - pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die - use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2 - use x86-solaris && unpack ghc-7.0.3-i386-unknown-solaris2.tar.bz2 - use x86-macos && unpack ghc-7.4.1-i386-apple-darwin.tar.bz2 - use x64-macos && unpack ghc-7.4.1-x86_64-apple-darwin.tar.bz2 - popd > /dev/null - - pushd "${WORKDIR}"/ghc-bin-installer/ghc-[67].?*.? > /dev/null || die - # fix the binaries so they run, on Solaris we need an - # LD_LIBRARY_PATH which has our prefix libdirs, on - # Darwin we need to replace the frameworks with our libs - # from the prefix fix before installation, because some - # of the tools are actually used during configure/make - if [[ ${CHOST} == *-solaris* ]] ; then - export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" - elif [[ ${CHOST} == *-darwin* ]] ; then - local readline_framework=GNUreadline.framework/GNUreadline - local gmp_framework=/opt/local/lib/libgmp.10.dylib - local ncurses_file=/opt/local/lib/libncurses.5.dylib - for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do - install_name_tool -change \ - ${readline_framework} \ - "${EPREFIX}"/lib/libreadline.dylib \ - ${binary} || die - install_name_tool -change \ - ${gmp_framework} \ - "${EPREFIX}"/usr/lib/libgmp.dylib \ - ${binary} || die - install_name_tool -change \ - ${ncurses_file} \ - "${EPREFIX}"/usr/lib/libncurses.dylib \ - ${binary} || die - done - # we don't do frameworks! - sed -i \ - -e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \ - -e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \ - rts/package.conf.in || die - fi - - # it is autoconf, but we really don't want to give it too - # much arguments, in fact we do the make in-place anyway - ./configure --prefix="${WORKDIR}"/usr || die - make install || die - popd > /dev/null - ;; - *) - relocate_ghc "${WORKDIR}" - ;; - esac - fi - - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${S}/ghc/ghc.wrapper" - - cd "${S}" # otherwise epatch will break - - epatch "${FILESDIR}/ghc-7.0.4-CHOST-prefix.patch" - - # epatch "${FILESDIR}"/${PN}-7.0.4-darwin8.patch - # failed to apply. FIXME - #epatch "${FILESDIR}"/${PN}-6.12.3-mach-o-relocation-limit.patch - - # epatch "${FILESDIR}"/${PN}-7.4-rc2-macos-prefix-respect-gcc.patch - # epatch "${FILESDIR}"/${PN}-7.2.1-freebsd-CHOST.patch - - we_want_libffi_workaround() { - use ghcmakebinary && return 1 - - # pick only registerised arches - # http://bugs.gentoo.org/463814 - use amd64 && return 0 - use x86 && return 0 - return 1 - } - # one mode external depend with unstable ABI be careful to stash it - # avoid external libffi runtime when we build binaries - we_want_libffi_workaround && epatch "${FILESDIR}"/${PN}-7.5.20120505-system-libffi.patch - - epatch "${FILESDIR}"/${PN}-7.4.1-ticket-7339-fix-unaligned-unreg.patch - epatch "${FILESDIR}"/${PN}-7.6.2-integer-simple-div-mod.patch - - if use prefix; then - # Make configure find docbook-xsl-stylesheets from Prefix - sed -e '/^FP_DIR_DOCBOOK_XSL/s:\[.*\]:['"${EPREFIX}"'/usr/share/sgml/docbook/xsl-stylesheets/]:' \ - -i utils/haddock/doc/configure.ac || die - fi - - # as we have changed the build system - eautoreconf - fi -} - -src_configure() { - GHC_PV=${PV} # overrided in live ebuilds - - if ! use binary; then - # initialize build.mk - echo '# Gentoo changes' > mk/build.mk - - # Put docs into the right place, ie /usr/share/doc/ghc-${PV} - echo "docdir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - echo "htmldir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - - # We also need to use the GHC_FLAGS flags when building ghc itself - echo "SRC_HC_OPTS+=${GHC_FLAGS}" >> mk/build.mk - echo "SRC_CC_OPTS+=${CFLAGS}" >> mk/build.mk - echo "SRC_LD_OPTS+=${FILTERED_LDFLAGS}" >> mk/build.mk - - # We can't depend on haddock except when bootstrapping when we - # must build docs and include them into the binary .tbz2 package - # app-text/dblatex is not in portage, can not build PDF or PS - if use ghcbootstrap && use doc; then - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = YES" >> mk/build.mk - if is_crosscompile; then - # TODO this is a workaround for this build error with the live ebuild with haddock: - # make[1]: *** No rule to make target `compiler/stage2/build/Module.hi', - # needed by `utils/haddock/dist/build/Main.o'. Stop. - echo "HADDOCK_DOCS = NO" >> mk/build.mk - else - echo "HADDOCK_DOCS = YES" >> mk/build.mk - fi - else - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = NO" >> mk/build.mk - echo "HADDOCK_DOCS = NO" >> mk/build.mk - fi - - # circumvent a very strange bug that seems related with ghc producing - # too much output while being filtered through tee (e.g. due to - # portage logging) reported as bug #111183 - echo "SRC_HC_OPTS+=-w" >> mk/build.mk - - # some arches do not support ELF parsing for ghci module loading - # PPC64: never worked (should be easy to implement) - # alpha: never worked - # arm: http://hackage.haskell.org/trac/ghc/changeset/27302c9094909e04eb73f200d52d5e9370c34a8a - if use alpha || use ppc64; then - echo "GhcWithInterpreter=NO" >> mk/build.mk - fi - - # we have to tell it to build unregisterised on some arches - # ppc64: EvilMangler currently does not understand some TOCs - # ia64: EvilMangler bitrot - # set GHC_IS_UNREG if you like to build slow unregisterised - # host compiler. Handy if you plan to user resulting - # host compiler as a booting compiler for crosscompiler - # which can work only in unregisterised mode. - if use alpha || use ia64 || use ppc64 || [[ -n ${GHC_IS_UNREG} ]]; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - echo "SplitObjs=NO" >> mk/build.mk - echo "GhcRTSWays := debug" >> mk/build.mk - echo "GhcNotThreaded=YES" >> mk/build.mk - fi - - # arm: no EvilMangler support, no NCG support - if use arm; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - fi - - # Have "ld -r --relax" problem with split-objs on sparc: - if use sparc; then - echo "SplitObjs=NO" >> mk/build.mk - fi - - if ! use llvm; then - echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk - fi - - # allows overriding build flavours for libraries: - # v - vanilla (static libs) - # p - profiled - # dyn - shared libraries - # example: GHC_LIBRARY_WAYS="v dyn" - if [[ -n ${GHC_LIBRARY_WAYS} ]]; then - echo "GhcLibWays=${GHC_LIBRARY_WAYS}" >> mk/build.mk - fi - - # Get ghc from the unpacked binary .tbz2 - # except when bootstrapping we just pick ghc up off the path - if ! use ghcbootstrap; then - export PATH="${WORKDIR}/usr/bin:${PATH}" - fi - - if use gmp; then - echo "INTEGER_LIBRARY=integer-gmp" >> mk/build.mk - else - echo "INTEGER_LIBRARY=integer-simple" >> mk/build.mk - fi - - # Since GHC 6.12.2 the GHC wrappers store which GCC version GHC was - # compiled with, by saving the path to it. The purpose is to make sure - # that GHC will use the very same gcc version when it compiles haskell - # sources, as the extra-gcc-opts files contains extra gcc options which - # match only this GCC version. - # However, this is not required in Gentoo, as only modern GCCs are used - # (>4). - # Instead, this causes trouble when for example ccache is used during - # compilation, but we don't want the wrappers to point to ccache. - # Due to the above, we simply set GCC to be "gcc". When compiling ghc it - # might point to ccache, once installed it will point to the users - # regular gcc. - - local econf_args=() - - is_crosscompile || econf_args+=--with-gcc=${CHOST}-gcc - - econf ${econf_args[@]} --enable-bootstrap-with-devel-snapshot \ - || die "econf failed" - - [[ ${PV} == *9999* ]] && GHC_PV="$(grep 'S\[\"PACKAGE_VERSION\"\]' config.status | sed -e 's@^.*=\"\(.*\)\"@\1@')" - GHC_TPF="$(grep 'S\[\"TargetPlatformFull\"\]' config.status | sed -e 's@^.*=\"\(.*\)\"@\1@')" - fi # ! use binary -} - -src_compile() { - if ! use binary; then - #limit_jobs() { - # if [[ -n ${I_DEMAND_MY_CORES_LOADED} ]]; then - # ewarn "You have requested parallel build which is known to break." - # ewarn "Please report all breakages upstream." - # return - # fi - # echo $@ - #} - # ghc massively parallel make: #409631, #409873 - # but let users screw it by setting 'I_DEMAND_MY_CORES_LOADED' - #emake $(limit_jobs -j1) all - # ^ above seems to be fixed. - emake all - - if is_crosscompile; then - # runghc does not work for a stage1 compiler, we can build it anyway - # so it will print the error message: not built for interactive use - pushd "${S}/utils/runghc" || die "Could not cd to utils/runghc" - if [ ! -f Setup.hs ]; then - echo 'import Distribution.Simple; main = defaultMainWithHooks defaultUserHooks' \ - > Setup.hs || die "failed to create default Setup.hs" - fi - ghc -o setup --make Setup.hs || die "setup build failed" - ./setup configure || die "runghc configure failed" - sed -e "s@VERSION@\"${GHC_PV}\"@" -i runghc.hs - ./setup build || die "runghc build failed" - popd - fi - fi # ! use binary -} - -src_install() { - if use binary; then - use prefix && mkdir -p "${ED}" - mv "${S}/usr" "${ED}" - - # Remove the docs if not requested - if ! use doc; then - rm -rf "${ED}/usr/share/doc/${P}/*/" \ - "${ED}/usr/share/doc/${P}/*.html" \ - || die "could not remove docs (P vs PF revision mismatch?)" - fi - else - local insttarget="install" - - # We only built docs if we were bootstrapping, otherwise - # we copy them out of the unpacked binary .tbz2 - if use doc && ! use ghcbootstrap; then - mkdir -p "${ED}/usr/share/doc" - mv "${WORKDIR}/usr/share/doc/${P}" "${ED}/usr/share/doc" \ - || die "failed to copy docs" - else - dodoc "${S}/README" "${S}/ANNOUNCE" "${S}/LICENSE" "${S}/VERSION" - fi - - emake -j1 ${insttarget} \ - DESTDIR="${D}" \ - || die "make ${insttarget} failed" - - # remove wrapper and linker - rm -f "${ED}"/usr/bin/haddock* - - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - # so mark resulting binary - pax-mark -m "${ED}/usr/$(get_libdir)/${P}/ghc" - - if [[ ! -f "${S}/VERSION" ]]; then - echo "${GHC_PV}" > "${S}/VERSION" \ - || die "Could not create file ${S}/VERSION" - fi - dobashcomp "${FILESDIR}/ghc-bash-completion" - - fi - - # path to the package.cache - local package_confdir="${ED}/usr/$(get_libdir)/${PN}-${GHC_PV}/package.conf.d" - PKGCACHE="${package_confdir}"/package.cache - # copy the package.conf.d, including timestamp, save it so we can help - # users that have a broken package.conf.d - cp -pR "${package_confdir}"{,.initial} || die "failed to backup intial package.conf.d" - - # copy the package.conf, including timestamp, save it so we later can put it - # back before uninstalling, or when upgrading. - cp -p "${PKGCACHE}"{,.shipped} \ - || die "failed to copy package.conf.d/package.cache" -} - -pkg_preinst() { - # have we got an earlier version of ghc installed? - if has_version "<${CATEGORY}/${PF}"; then - haskell_updater_warn="1" - fi -} - -pkg_postinst() { - ghc-reregister - - # path to the package.cache - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # give the cache a new timestamp, it must be as recent as - # the package.conf.d directory. - touch "${PKGCACHE}" - - if [[ "${haskell_updater_warn}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of GHC." - ewarn "You may have to run" - ewarn " 'haskell-updater --upgrade'" - ewarn "to rebuild all ghc-based Haskell libraries." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - fi - if is_crosscompile; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "GHC built as a cross compiler. The interpreter, ghci and runghc, do" - ewarn "not work for a cross compiler." - ewarn "For the ghci error: \"<command line>: not built for interactive use\" see:" - ewarn "http://www.haskell.org/haskellwiki/GHC:FAQ#When_I_try_to_start_ghci_.28probably_one_I_compiled_myself.29_it_says_ghc-5.02:_not_built_for_interactive_use" - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - fi -} - -pkg_prerm() { - # Be very careful here... Call order when upgrading is (according to PMS): - # * src_install for new package - # * pkg_preinst for new package - # * pkg_postinst for new package - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # so you'll actually be touching the new packages files, not the one you - # uninstall, due to that or installation directory ${P} will be the same for - # both packages. - - # Call order for reinstalling is (according to PMS): - # * src_install - # * pkg_preinst - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # * pkg_postinst - - # Overwrite the modified package.cache with a copy of the - # original one, so that it will be removed during uninstall. - - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - rm -rf "${PKGCACHE}" - - cp -p "${PKGCACHE}"{.shipped,} -} diff --git a/dev-lang/ghc/ghc-7.6.3-r1.ebuild b/dev-lang/ghc/ghc-7.6.3-r1.ebuild index bb6db572da32..58bdc7a60680 100644 --- a/dev-lang/ghc/ghc-7.6.3-r1.ebuild +++ b/dev-lang/ghc/ghc-7.6.3-r1.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/dev-lang/ghc/ghc-7.6.3-r1.ebuild,v 1.14 2014/08/01 20:33:54 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.6.3-r1.ebuild,v 1.15 2015/01/02 23:50:56 slyfox Exp $ # Brief explanation of the bootstrap logic: # @@ -417,7 +417,7 @@ src_prepare() { cd "${S}" # otherwise epatch will break - epatch "${FILESDIR}/ghc-7.0.4-CHOST-prefix.patch" + epatch "${FILESDIR}"/${PN}-7.0.4-CHOST-prefix.patch # epatch "${FILESDIR}"/${PN}-7.0.4-darwin8.patch # failed to apply. FIXME diff --git a/dev-lang/ghc/ghc-7.6.3.ebuild b/dev-lang/ghc/ghc-7.6.3.ebuild deleted file mode 100644 index c753567d095e..000000000000 --- a/dev-lang/ghc/ghc-7.6.3.ebuild +++ /dev/null @@ -1,737 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.6.3.ebuild,v 1.4 2014/02/15 08:52:36 slyfox Exp $ - -# Brief explanation of the bootstrap logic: -# -# Previous ghc ebuilds have been split into two: ghc and ghc-bin, -# where ghc-bin was primarily used for bootstrapping purposes. -# From now on, these two ebuilds have been combined, with the -# binary USE flag used to determine whether or not the pre-built -# binary package should be emerged or whether ghc should be compiled -# from source. If the latter, then the relevant ghc-bin for the -# arch in question will be used in the working directory to compile -# ghc from source. -# -# This solution has the advantage of allowing us to retain the one -# ebuild for both packages, and thus phase out virtual/ghc. - -# Note to users of hardened gcc-3.x: -# -# If you emerge ghc with hardened gcc it should work fine (because we -# turn off the hardened features that would otherwise break ghc). -# However, emerging ghc while using a vanilla gcc and then switching to -# hardened gcc (using gcc-config) will leave you with a broken ghc. To -# fix it you would need to either switch back to vanilla gcc or re-emerge -# ghc (or ghc-bin). Note that also if you are using hardened gcc-3.x and -# you switch to gcc-4.x that this will also break ghc and you'll need to -# re-emerge ghc (or ghc-bin). People using vanilla gcc can switch between -# gcc-3.x and 4.x with no problems. - -EAPI="5" - -# to make make a crosscompiler use crossdev and symlink ghc tree into -# cross overlay. result would look like 'cross-sparc-unknown-linux-gnu/ghc' -# -# 'CTARGET' definition and 'is_crosscompile' are taken from 'toolchain.eclass' -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} = ${CHOST} ]] ; then - if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then - export CTARGET=${CATEGORY/cross-} - fi -fi - -inherit base autotools bash-completion-r1 eutils flag-o-matic multilib toolchain-funcs ghc-package versionator pax-utils - -DESCRIPTION="The Glasgow Haskell Compiler" -HOMEPAGE="http://www.haskell.org/ghc/" - -# we don't have any binaries yet -arch_binaries="" - -# sorted! -arch_binaries="$arch_binaries alpha? ( http://code.haskell.org/~slyfox/ghc-alpha/ghc-bin-${PV}-alpha.tbz2 )" -#arch_binaries="$arch_binaries arm? ( http://code.haskell.org/~slyfox/ghc-arm/ghc-bin-${PV}-arm.tbz2 )" -arch_binaries="$arch_binaries amd64? ( http://code.haskell.org/~slyfox/ghc-amd64/ghc-bin-${PV}-amd64.tbz2 )" -arch_binaries="$arch_binaries ia64? ( http://code.haskell.org/~slyfox/ghc-ia64/ghc-bin-${PV}-ia64.tbz2 )" -#arch_binaries="$arch_binaries ppc? ( http://code.haskell.org/~slyfox/ghc-ppc/ghc-bin-${PV}-ppc.tbz2 )" -#arch_binaries="$arch_binaries ppc64? ( http://code.haskell.org/~slyfox/ghc-ppc64/ghc-bin-${PV}-ppc64.tbz2 )" -#arch_binaries="$arch_binaries sparc? ( http://code.haskell.org/~slyfox/ghc-sparc/ghc-bin-${PV}-sparc.tbz2 )" -arch_binaries="$arch_binaries x86? ( http://code.haskell.org/~slyfox/ghc-x86/ghc-bin-${PV}-x86.tbz2 )" - -# various ports: -#arch_binaries="$arch_binaries x86-fbsd? ( http://code.haskell.org/~slyfox/ghc-x86-fbsd/ghc-bin-${PV}-x86-fbsd.tbz2 )" - -# 0 - yet -yet_binary() { - case "${ARCH}" in - alpha) return 0 ;; - #arm) - # ewarn "ARM binary is built on armv5tel-eabi toolchain. Use with caution." - # return 0 - #;; - amd64) return 0 ;; - ia64) return 0 ;; - #ppc) return 0 ;; - #ppc64) return 0 ;; - #sparc) return 0 ;; - x86) return 0 ;; - *) return 1 ;; - esac -} - -SRC_URI="!binary? ( http://www.haskell.org/ghc/dist/${PV}/${P}-src.tar.bz2 )" -[[ -n $arch_binaries ]] && SRC_URI+=" !ghcbootstrap? ( $arch_binaries )" -LICENSE="BSD" -SLOT="0/${PV}" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" -IUSE="doc ghcbootstrap ghcmakebinary +gmp llvm" -IUSE+=" binary" # don't forget about me later! -IUSE+=" elibc_glibc" # system stuff - -RDEPEND=" - !kernel_Darwin? ( >=sys-devel/gcc-2.95.3 ) - kernel_linux? ( >=sys-devel/binutils-2.17 ) - kernel_SunOS? ( >=sys-devel/binutils-2.17 ) - >=dev-lang/perl-5.6.1 - >=dev-libs/gmp-5 - virtual/libffi - !<dev-haskell/haddock-2.4.2 - sys-libs/ncurses[unicode]" -# earlier versions than 2.4.2 of haddock only works with older ghc releases - -# force dependency on >=gmp-5, even if >=gmp-4.1 would be enough. this is due to -# that we want the binaries to use the latest versioun available, and not to be -# built against gmp-4 - -# similar for glibc. we have bootstrapped binaries against glibc-2.14 -DEPEND="${RDEPEND} - ghcbootstrap? ( >=dev-haskell/alex-2.3 - >=dev-haskell/happy-1.18 - doc? ( app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-stylesheets - >=dev-libs/libxslt-1.1.2 ) ) - !ghcbootstrap? ( !prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.15 ) ) )" - -PDEPEND="!ghcbootstrap? ( =app-admin/haskell-updater-1.2* )" -PDEPEND=" - ${PDEPEND} - llvm? ( sys-devel/llvm )" - -# ia64 fails to return from STG GMP primitives (stage2 always SIGSEGVs) -REQUIRED_USE="ia64? ( !gmp )" - -use binary && QA_PREBUILT="*" - -is_crosscompile() { - [[ ${CHOST} != ${CTARGET} ]] -} - -append-ghc-cflags() { - local flag compile assemble link - for flag in $*; do - case ${flag} in - compile) compile="yes";; - assemble) assemble="yes";; - link) link="yes";; - *) - [[ ${compile} ]] && GHC_FLAGS="${GHC_FLAGS} -optc${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${assemble} ]] && GHC_FLAGS="${GHC_FLAGS} -opta${flag}" CFLAGS="${CFLAGS} ${flag}" - [[ ${link} ]] && GHC_FLAGS="${GHC_FLAGS} -optl${flag}" FILTERED_LDFLAGS="${FILTERED_LDFLAGS} ${flag}";; - esac - done -} - -ghc_setup_cflags() { - if is_crosscompile; then - export CFLAGS=${GHC_CFLAGS-"-O2 -pipe"} - export LDFLAGS=${GHC_LDFLAGS-"-Wl,-O1"} - einfo "Crosscompiling mode:" - einfo " CHOST: ${CHOST}" - einfo " CTARGET: ${CTARGET}" - einfo " CFLAGS: ${CFLAGS}" - einfo " LDFLAGS: ${LDFLAGS}" - return - fi - # We need to be very careful with the CFLAGS we ask ghc to pass through to - # gcc. There are plenty of flags which will make gcc produce output that - # breaks ghc in various ways. The main ones we want to pass through are - # -mcpu / -march flags. These are important for arches like alpha & sparc. - # We also use these CFLAGS for building the C parts of ghc, ie the rts. - strip-flags - strip-unsupported-flags - - # Cmm can't parse line numbers #482086 - replace-flags -ggdb[3-9] -ggdb2 - - GHC_FLAGS="" - for flag in ${CFLAGS}; do - case ${flag} in - - # Ignore extra optimisation (ghc passes -O to gcc anyway) - # -O2 and above break on too many systems - -O*) ;; - - # Arch and ABI flags are what we're really after - -m*) append-ghc-cflags compile assemble ${flag};; - - # Sometimes it's handy to see backtrace of RTS - # to get an idea what happens there - -g*) append-ghc-cflags compile ${flag};; - - # Ignore all other flags, including all -f* flags - esac - done - - FILTERED_LDFLAGS="" - for flag in ${LDFLAGS}; do - case ${flag} in - # Pass the canary. we don't quite respect LDFLAGS, but we have an excuse! - "-Wl,--hash-style="*) append-ghc-cflags link ${flag};; - - # Ignore all other flags - esac - done - - # hardened-gcc needs to be disabled, because the mangler doesn't accept - # its output. - gcc-specs-pie && append-ghc-cflags compile link -nopie - gcc-specs-ssp && append-ghc-cflags compile -fno-stack-protector - - # prevent from failind building unregisterised ghc: - # http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html - use ppc64 && append-ghc-cflags compile -mminimal-toc - # fix the similar issue as ppc64 TOC on ia64. ia64 has limited size of small data - # currently ghc fails to build haddock - # http://osdir.com/ml/gnu.binutils.bugs/2004-10/msg00050.html - use ia64 && append-ghc-cflags compile -G0 -Os - - # Unfortunately driver/split/ghc-split.lprl is dumb - # enough to preserve stack marking for each split object - # and it flags stack marking violation: - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__1.o - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__2.o - # * !WX --- --- usr/lib64/ghc-7.4.1/base-4.5.0.0/libHSbase-4.5.0.0.a:Fingerprint__3.o - case $($(tc-getAS) -v 2>&1 </dev/null) in - *"GNU Binutils"*) # GNU ld - append-ghc-cflags compile assemble -Wa,--noexecstack - ;; - esac -} - -# substitutes string $1 to $2 in files $3 $4 ... -relocate_path() { - local from=$1 - local to=$2 - shift 2 - local file= - for file in "$@" - do - sed -i -e "s|$from|$to|g" \ - "$file" || die "path relocation failed for '$file'" - done -} - -# changes hardcoded ghc paths and updates package index -# $1 - new absolute root path -relocate_ghc() { - local to=$1 - - # libdir for prebuilt binary and for current system may mismatch - # It does for prefix installation for example: bug #476998 - local bin_ghc_prefix=${WORKDIR}/usr - local bin_libpath=$(echo "${bin_ghc_prefix}"/lib*) - local bin_libdir=${bin_libpath#${bin_ghc_prefix}/} - - # backup original script to use it later after relocation - local gp_back="${T}/ghc-pkg-${PV}-orig" - cp "${WORKDIR}/usr/bin/ghc-pkg-${PV}" "$gp_back" || die "unable to backup ghc-pkg wrapper" - - if [[ ${bin_libdir} != $(get_libdir) ]]; then - einfo "Relocating '${bin_libdir}' to '$(get_libdir)' (bug #476998)" - # moving the dir itself is not strictly needed - # but then USE=binary would result in installing - # in '${bin_libdir}' - mv "${bin_ghc_prefix}/${bin_libdir}" "${bin_ghc_prefix}/$(get_libdir)" || die - - relocate_path "/usr/${bin_libdir}" "/usr/$(get_libdir)" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - "${WORKDIR}/usr/bin/runghc-${PV}" \ - "$gp_back" \ - "${WORKDIR}/usr/$(get_libdir)/${P}/package.conf.d/"* - fi - - # Relocate from /usr to ${EPREFIX}/usr - relocate_path "/usr" "${to}/usr" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - "${WORKDIR}/usr/bin/runghc-${PV}" \ - "${WORKDIR}/usr/$(get_libdir)/${P}/package.conf.d/"* - - # this one we will use to regenerate cache - # so it should point to current tree location - relocate_path "/usr" "${WORKDIR}/usr" "$gp_back" - - if use prefix; then - # and insert LD_LIBRARY_PATH entry to EPREFIX dir tree - # TODO: add the same for darwin's CHOST and it's DYLD_ - local new_ldpath='LD_LIBRARY_PATH="'${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)'${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"\nexport LD_LIBRARY_PATH' - sed -i -e '2i'"$new_ldpath" \ - "${WORKDIR}/usr/bin/ghc-${PV}" \ - "${WORKDIR}/usr/bin/ghci-${PV}" \ - "${WORKDIR}/usr/bin/ghc-pkg-${PV}" \ - "${WORKDIR}/usr/bin/hsc2hs" \ - "${WORKDIR}/usr/bin/runghc-${PV}" \ - "$gp_back" \ - || die "Adding LD_LIBRARY_PATH for wrappers failed" - fi - - # regenerate the binary package cache - "$gp_back" recache || die "failed to update cache after relocation" - rm "$gp_back" -} - -pkg_setup() { - if use ghcbootstrap; then - ewarn "You requested ghc bootstrapping, this is usually only used" - ewarn "by Gentoo developers to make binary .tbz2 packages for" - ewarn "use with the ghc ebuild's USE=\"binary\" feature." - use binary && \ - die "USE=\"ghcbootstrap binary\" is not a valid combination." - [[ -z $(type -P ghc) ]] && \ - die "Could not find a ghc to bootstrap with." - else - if ! yet_binary; then - eerror "Please try emerging with USE=ghcbootstrap and report build" - eerror "sucess or failure to the haskell team (haskell@gentoo.org)" - die "No binary available for '${ARCH}' arch yet, USE=ghcbootstrap" - fi - fi -} - -src_unpack() { - # Create the ${S} dir if we're using the binary version - use binary && mkdir "${S}" - - # the Solaris and Darwin binaries from ghc (maeder) need to be - # unpacked separately, so prevent them from being unpacked - local ONLYA=${A} - case ${CHOST} in - *-darwin* | *-solaris*) ONLYA=${P}-src.tar.bz2 ;; - esac - unpack ${ONLYA} -} - -src_prepare() { - ghc_setup_cflags - - if ! use ghcbootstrap && [[ ${CHOST} != *-darwin* && ${CHOST} != *-solaris* ]]; then - # Modify the wrapper script from the binary tarball to use GHC_FLAGS. - # See bug #313635. - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${WORKDIR}/usr/bin/ghc-${PV}" - - # allow hardened users use vanilla binary to bootstrap ghc - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${P}/ghc" - fi - - if use binary; then - if use prefix; then - relocate_ghc "${EPREFIX}" - fi - - # Move unpacked files to the expected place - mv "${WORKDIR}/usr" "${S}" - else - if ! use ghcbootstrap; then - case ${CHOST} in - *-darwin* | *-solaris*) - # UPDATE ME for ghc-7 - mkdir "${WORKDIR}"/ghc-bin-installer || die - pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die - use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2 - use x86-solaris && unpack ghc-7.0.3-i386-unknown-solaris2.tar.bz2 - use x86-macos && unpack ghc-7.4.1-i386-apple-darwin.tar.bz2 - use x64-macos && unpack ghc-7.4.1-x86_64-apple-darwin.tar.bz2 - popd > /dev/null - - pushd "${WORKDIR}"/ghc-bin-installer/ghc-[67].?*.? > /dev/null || die - # fix the binaries so they run, on Solaris we need an - # LD_LIBRARY_PATH which has our prefix libdirs, on - # Darwin we need to replace the frameworks with our libs - # from the prefix fix before installation, because some - # of the tools are actually used during configure/make - if [[ ${CHOST} == *-solaris* ]] ; then - export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" - elif [[ ${CHOST} == *-darwin* ]] ; then - local readline_framework=GNUreadline.framework/GNUreadline - local gmp_framework=/opt/local/lib/libgmp.10.dylib - local ncurses_file=/opt/local/lib/libncurses.5.dylib - for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do - install_name_tool -change \ - ${readline_framework} \ - "${EPREFIX}"/lib/libreadline.dylib \ - ${binary} || die - install_name_tool -change \ - ${gmp_framework} \ - "${EPREFIX}"/usr/lib/libgmp.dylib \ - ${binary} || die - install_name_tool -change \ - ${ncurses_file} \ - "${EPREFIX}"/usr/lib/libncurses.dylib \ - ${binary} || die - done - # we don't do frameworks! - sed -i \ - -e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \ - -e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \ - rts/package.conf.in || die - fi - - # it is autoconf, but we really don't want to give it too - # much arguments, in fact we do the make in-place anyway - ./configure --prefix="${WORKDIR}"/usr || die - make install || die - popd > /dev/null - ;; - *) - relocate_ghc "${WORKDIR}" - ;; - esac - fi - - sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_FLAGS}|" \ - "${S}/ghc/ghc.wrapper" - - cd "${S}" # otherwise epatch will break - - epatch "${FILESDIR}/ghc-7.0.4-CHOST-prefix.patch" - - # epatch "${FILESDIR}"/${PN}-7.0.4-darwin8.patch - # failed to apply. FIXME - #epatch "${FILESDIR}"/${PN}-6.12.3-mach-o-relocation-limit.patch - - # epatch "${FILESDIR}"/${PN}-7.4-rc2-macos-prefix-respect-gcc.patch - # epatch "${FILESDIR}"/${PN}-7.2.1-freebsd-CHOST.patch - - we_want_libffi_workaround() { - use ghcmakebinary && return 1 - - # pick only registerised arches - # http://bugs.gentoo.org/463814 - use amd64 && return 0 - use x86 && return 0 - return 1 - } - # one mode external depend with unstable ABI be careful to stash it - # avoid external libffi runtime when we build binaries - we_want_libffi_workaround && epatch "${FILESDIR}"/${PN}-7.5.20120505-system-libffi.patch - - epatch "${FILESDIR}"/${PN}-7.4.1-ticket-7339-fix-unaligned-unreg.patch - epatch "${FILESDIR}"/${PN}-7.6.2-integer-simple-div-mod.patch - - if use prefix; then - # Make configure find docbook-xsl-stylesheets from Prefix - sed -e '/^FP_DIR_DOCBOOK_XSL/s:\[.*\]:['"${EPREFIX}"'/usr/share/sgml/docbook/xsl-stylesheets/]:' \ - -i utils/haddock/doc/configure.ac || die - fi - - # as we have changed the build system - eautoreconf - fi -} - -src_configure() { - GHC_PV=${PV} # overrided in live ebuilds - - if ! use binary; then - # initialize build.mk - echo '# Gentoo changes' > mk/build.mk - - # Put docs into the right place, ie /usr/share/doc/ghc-${PV} - echo "docdir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - echo "htmldir = ${EPREFIX}/usr/share/doc/${P}" >> mk/build.mk - - # We also need to use the GHC_FLAGS flags when building ghc itself - echo "SRC_HC_OPTS+=${GHC_FLAGS}" >> mk/build.mk - echo "SRC_CC_OPTS+=${CFLAGS}" >> mk/build.mk - echo "SRC_LD_OPTS+=${FILTERED_LDFLAGS}" >> mk/build.mk - - # We can't depend on haddock except when bootstrapping when we - # must build docs and include them into the binary .tbz2 package - # app-text/dblatex is not in portage, can not build PDF or PS - if use ghcbootstrap && use doc; then - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = YES" >> mk/build.mk - if is_crosscompile; then - # TODO this is a workaround for this build error with the live ebuild with haddock: - # make[1]: *** No rule to make target `compiler/stage2/build/Module.hi', - # needed by `utils/haddock/dist/build/Main.o'. Stop. - echo "HADDOCK_DOCS = NO" >> mk/build.mk - else - echo "HADDOCK_DOCS = YES" >> mk/build.mk - fi - else - echo "BUILD_DOCBOOK_PDF = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_PS = NO" >> mk/build.mk - echo "BUILD_DOCBOOK_HTML = NO" >> mk/build.mk - echo "HADDOCK_DOCS = NO" >> mk/build.mk - fi - - # circumvent a very strange bug that seems related with ghc producing - # too much output while being filtered through tee (e.g. due to - # portage logging) reported as bug #111183 - echo "SRC_HC_OPTS+=-w" >> mk/build.mk - - # some arches do not support ELF parsing for ghci module loading - # PPC64: never worked (should be easy to implement) - # alpha: never worked - # arm: http://hackage.haskell.org/trac/ghc/changeset/27302c9094909e04eb73f200d52d5e9370c34a8a - if use alpha || use ppc64; then - echo "GhcWithInterpreter=NO" >> mk/build.mk - fi - - # we have to tell it to build unregisterised on some arches - # ppc64: EvilMangler currently does not understand some TOCs - # ia64: EvilMangler bitrot - # set GHC_IS_UNREG if you like to build slow unregisterised - # host compiler. Handy if you plan to user resulting - # host compiler as a booting compiler for crosscompiler - # which can work only in unregisterised mode. - if use alpha || use ia64 || use ppc64 || [[ -n ${GHC_IS_UNREG} ]]; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - echo "SplitObjs=NO" >> mk/build.mk - echo "GhcRTSWays := debug" >> mk/build.mk - echo "GhcNotThreaded=YES" >> mk/build.mk - fi - - # arm: no EvilMangler support, no NCG support - if use arm; then - echo "GhcUnregisterised=YES" >> mk/build.mk - echo "GhcWithNativeCodeGen=NO" >> mk/build.mk - fi - - # Have "ld -r --relax" problem with split-objs on sparc: - if use sparc; then - echo "SplitObjs=NO" >> mk/build.mk - fi - - if ! use llvm; then - echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk - fi - - # allows overriding build flavours for libraries: - # v - vanilla (static libs) - # p - profiled - # dyn - shared libraries - # example: GHC_LIBRARY_WAYS="v dyn" - if [[ -n ${GHC_LIBRARY_WAYS} ]]; then - echo "GhcLibWays=${GHC_LIBRARY_WAYS}" >> mk/build.mk - fi - - # Get ghc from the unpacked binary .tbz2 - # except when bootstrapping we just pick ghc up off the path - if ! use ghcbootstrap; then - export PATH="${WORKDIR}/usr/bin:${PATH}" - fi - - if use gmp; then - echo "INTEGER_LIBRARY=integer-gmp" >> mk/build.mk - else - echo "INTEGER_LIBRARY=integer-simple" >> mk/build.mk - fi - - # Since GHC 6.12.2 the GHC wrappers store which GCC version GHC was - # compiled with, by saving the path to it. The purpose is to make sure - # that GHC will use the very same gcc version when it compiles haskell - # sources, as the extra-gcc-opts files contains extra gcc options which - # match only this GCC version. - # However, this is not required in Gentoo, as only modern GCCs are used - # (>4). - # Instead, this causes trouble when for example ccache is used during - # compilation, but we don't want the wrappers to point to ccache. - # Due to the above, we simply set GCC to be "gcc". When compiling ghc it - # might point to ccache, once installed it will point to the users - # regular gcc. - - local econf_args=() - - is_crosscompile || econf_args+=--with-gcc=${CHOST}-gcc - - econf ${econf_args[@]} --enable-bootstrap-with-devel-snapshot \ - || die "econf failed" - - [[ ${PV} == *9999* ]] && GHC_PV="$(grep 'S\[\"PACKAGE_VERSION\"\]' config.status | sed -e 's@^.*=\"\(.*\)\"@\1@')" - GHC_TPF="$(grep 'S\[\"TargetPlatformFull\"\]' config.status | sed -e 's@^.*=\"\(.*\)\"@\1@')" - fi # ! use binary -} - -src_compile() { - if ! use binary; then - #limit_jobs() { - # if [[ -n ${I_DEMAND_MY_CORES_LOADED} ]]; then - # ewarn "You have requested parallel build which is known to break." - # ewarn "Please report all breakages upstream." - # return - # fi - # echo $@ - #} - # ghc massively parallel make: #409631, #409873 - # but let users screw it by setting 'I_DEMAND_MY_CORES_LOADED' - #emake $(limit_jobs -j1) all - # ^ above seems to be fixed. - emake all V=1 - - if is_crosscompile; then - # runghc does not work for a stage1 compiler, we can build it anyway - # so it will print the error message: not built for interactive use - pushd "${S}/utils/runghc" || die "Could not cd to utils/runghc" - if [ ! -f Setup.hs ]; then - echo 'import Distribution.Simple; main = defaultMainWithHooks defaultUserHooks' \ - > Setup.hs || die "failed to create default Setup.hs" - fi - ghc -o setup --make Setup.hs || die "setup build failed" - ./setup configure || die "runghc configure failed" - sed -e "s@VERSION@\"${GHC_PV}\"@" -i runghc.hs - ./setup build || die "runghc build failed" - popd - fi - fi # ! use binary -} - -src_install() { - if use binary; then - use prefix && mkdir -p "${ED}" - mv "${S}/usr" "${ED}" - - # Remove the docs if not requested - if ! use doc; then - rm -rf "${ED}/usr/share/doc/${P}/*/" \ - "${ED}/usr/share/doc/${P}/*.html" \ - || die "could not remove docs (P vs PF revision mismatch?)" - fi - else - local insttarget="install" - - # We only built docs if we were bootstrapping, otherwise - # we copy them out of the unpacked binary .tbz2 - if use doc && ! use ghcbootstrap; then - mkdir -p "${ED}/usr/share/doc" - mv "${WORKDIR}/usr/share/doc/${P}" "${ED}/usr/share/doc" \ - || die "failed to copy docs" - else - dodoc "${S}/README" "${S}/ANNOUNCE" "${S}/LICENSE" "${S}/VERSION" - fi - - emake -j1 ${insttarget} \ - DESTDIR="${D}" \ - || die "make ${insttarget} failed" - - # remove wrapper and linker - rm -f "${ED}"/usr/bin/haddock* - - # ghci uses mmap with rwx protection at it implements dynamic - # linking on it's own (bug #299709) - # so mark resulting binary - pax-mark -m "${ED}/usr/$(get_libdir)/${P}/ghc" - - if [[ ! -f "${S}/VERSION" ]]; then - echo "${GHC_PV}" > "${S}/VERSION" \ - || die "Could not create file ${S}/VERSION" - fi - dobashcomp "${FILESDIR}/ghc-bash-completion" - - fi - - # path to the package.cache - local package_confdir="${ED}/usr/$(get_libdir)/${PN}-${GHC_PV}/package.conf.d" - PKGCACHE="${package_confdir}"/package.cache - # copy the package.conf.d, including timestamp, save it so we can help - # users that have a broken package.conf.d - cp -pR "${package_confdir}"{,.initial} || die "failed to backup intial package.conf.d" - - # copy the package.conf, including timestamp, save it so we later can put it - # back before uninstalling, or when upgrading. - cp -p "${PKGCACHE}"{,.shipped} \ - || die "failed to copy package.conf.d/package.cache" -} - -pkg_preinst() { - # have we got an earlier version of ghc installed? - if has_version "<${CATEGORY}/${PF}"; then - haskell_updater_warn="1" - fi -} - -pkg_postinst() { - ghc-reregister - - # path to the package.cache - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - - # give the cache a new timestamp, it must be as recent as - # the package.conf.d directory. - touch "${PKGCACHE}" - - if [[ "${haskell_updater_warn}" == "1" ]]; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "You have just upgraded from an older version of GHC." - ewarn "You may have to run" - ewarn " 'haskell-updater --upgrade'" - ewarn "to rebuild all ghc-based Haskell libraries." - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - fi - if is_crosscompile; then - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - ewarn "GHC built as a cross compiler. The interpreter, ghci and runghc, do" - ewarn "not work for a cross compiler." - ewarn "For the ghci error: \"<command line>: not built for interactive use\" see:" - ewarn "http://www.haskell.org/haskellwiki/GHC:FAQ#When_I_try_to_start_ghci_.28probably_one_I_compiled_myself.29_it_says_ghc-5.02:_not_built_for_interactive_use" - ewarn - ewarn "\e[1;31m************************************************************************\e[0m" - ewarn - fi -} - -pkg_prerm() { - # Be very careful here... Call order when upgrading is (according to PMS): - # * src_install for new package - # * pkg_preinst for new package - # * pkg_postinst for new package - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # so you'll actually be touching the new packages files, not the one you - # uninstall, due to that or installation directory ${P} will be the same for - # both packages. - - # Call order for reinstalling is (according to PMS): - # * src_install - # * pkg_preinst - # * pkg_prerm for the package being replaced - # * pkg_postrm for the package being replaced - # * pkg_postinst - - # Overwrite the modified package.cache with a copy of the - # original one, so that it will be removed during uninstall. - - PKGCACHE="${EROOT}/usr/$(get_libdir)/${P}/package.conf.d/package.cache" - rm -rf "${PKGCACHE}" - - cp -p "${PKGCACHE}"{.shipped,} -} diff --git a/dev-lang/ghc/ghc-7.8.3.ebuild b/dev-lang/ghc/ghc-7.8.3.ebuild index 4166a885ffef..11fb5b94efd8 100644 --- a/dev-lang/ghc/ghc-7.8.3.ebuild +++ b/dev-lang/ghc/ghc-7.8.3.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/dev-lang/ghc/ghc-7.8.3.ebuild,v 1.10 2014/09/05 10:40:45 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.8.3.ebuild,v 1.11 2015/01/02 23:50:56 slyfox Exp $ EAPI=5 @@ -390,7 +390,7 @@ src_prepare() { cd "${S}" # otherwise epatch will break - epatch "${FILESDIR}/ghc-7.0.4-CHOST-prefix.patch" + epatch "${FILESDIR}"/${PN}-7.0.4-CHOST-prefix.patch epatch "${FILESDIR}"/${PN}-7.8.1_rc1-libbfd.patch diff --git a/dev-lang/ghc/ghc-7.8.4.ebuild b/dev-lang/ghc/ghc-7.8.4.ebuild index b681da74a2ff..181762b617e6 100644 --- a/dev-lang/ghc/ghc-7.8.4.ebuild +++ b/dev-lang/ghc/ghc-7.8.4.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/dev-lang/ghc/ghc-7.8.4.ebuild,v 1.3 2014/12/26 23:35:44 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-7.8.4.ebuild,v 1.4 2015/01/02 23:50:56 slyfox Exp $ EAPI=5 @@ -390,7 +390,7 @@ src_prepare() { cd "${S}" # otherwise epatch will break - epatch "${FILESDIR}/ghc-7.0.4-CHOST-prefix.patch" + epatch "${FILESDIR}"/${PN}-7.0.4-CHOST-prefix.patch epatch "${FILESDIR}"/${PN}-7.8.1_rc1-libbfd.patch |