summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2015-01-02 23:50:58 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2015-01-02 23:50:58 +0000
commit01a9cd5b4556bf66689ece677b8d7fe2dc496ccd (patch)
tree12bc27fee974e45e5da9a062724d5e7004ce796c /dev-lang/ghc
parentRemoving myself from maintainers (diff)
downloadhistorical-01a9cd5b4556bf66689ece677b8d7fe2dc496ccd.tar.gz
historical-01a9cd5b4556bf66689ece677b8d7fe2dc496ccd.tar.bz2
historical-01a9cd5b4556bf66689ece677b8d7fe2dc496ccd.zip
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! Package-Manager: portage-2.2.14/cvs/Linux x86_64 Manifest-Sign-Key: 0x611FF3AA
Diffstat (limited to 'dev-lang/ghc')
-rw-r--r--dev-lang/ghc/ChangeLog38
-rw-r--r--dev-lang/ghc/Manifest86
-rw-r--r--dev-lang/ghc/files/ghc-6.10.4-autoconf.patch44
-rw-r--r--dev-lang/ghc/files/ghc-6.10.4-disable-strip.patch15
-rw-r--r--dev-lang/ghc/files/ghc-6.10.4-ia64-fixed-relax.patch35
-rw-r--r--dev-lang/ghc/files/ghc-6.10.4-ia64-storage-manager-fix.patch63
-rw-r--r--dev-lang/ghc/files/ghc-6.10.4-libm-detection.patch43
-rw-r--r--dev-lang/ghc/files/ghc-6.10.4-ppc64-always-minimal-toc.patch9
-rw-r--r--dev-lang/ghc/files/ghc-6.10.4-propagate-hc-options-to-all-libraries.patch37
-rw-r--r--dev-lang/ghc/files/ghc-6.12.1-configure-CHOST.patch29
-rw-r--r--dev-lang/ghc/files/ghc-6.12.2-configure-CHOST-part2.patch42
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-alpha-use-libffi-for-foreign-import-wrapper.patch68
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-autoconf-2.66-4252.patch20
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-configure-CHOST-freebsd.patch58
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-configure-CHOST-prefix.patch43
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-darwin8.patch18
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-ghciless-haddock-3558.patch224
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch35
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-ia64-storage-manager-fix.patch62
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-ia64-use-libffi-for-foreign-import-wrapper.patch12
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-libffi-incorrect-detection-of-selinux.patch61
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-mach-o-relocation-limit.patch34
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-pic-powerpc.patch30
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-powerpc-darwin-no-mmap.patch37
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-ppc-use-libffi-for-foreign-import-wrapper.patch13
-rw-r--r--dev-lang/ghc/files/ghc-6.12.3-ticket-2615-linker-script.patch278
-rw-r--r--dev-lang/ghc/files/ghc-7.0.2-CHOST.patch89
-rw-r--r--dev-lang/ghc/files/ghc-7.0.4-CHOST-softfloat.patch14
-rw-r--r--dev-lang/ghc/files/ghc-7.0.4-fix-ppc-linker.patch23
-rw-r--r--dev-lang/ghc/files/ghc-7.0.4-nxstack.patch31
-rw-r--r--dev-lang/ghc/files/ghc-apply-gmp-hack60
-rw-r--r--dev-lang/ghc/ghc-6.12.3-r2.ebuild579
-rw-r--r--dev-lang/ghc/ghc-7.0.4.ebuild600
-rw-r--r--dev-lang/ghc/ghc-7.4.1-r1.ebuild603
-rw-r--r--dev-lang/ghc/ghc-7.4.1.ebuild590
-rw-r--r--dev-lang/ghc/ghc-7.6.2.ebuild713
-rw-r--r--dev-lang/ghc/ghc-7.6.3-r1.ebuild6
-rw-r--r--dev-lang/ghc/ghc-7.6.3.ebuild737
-rw-r--r--dev-lang/ghc/ghc-7.8.3.ebuild6
-rw-r--r--dev-lang/ghc/ghc-7.8.4.ebuild6
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